@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root {
  --shell8f255-ink: #f7f1ff;
  --shell8f255-muted: #b9accb;
  --shell8f255-night: #1a1a2e;
  --shell8f255-night-deep: #10101f;
  --shell8f255-panel: #24213d;
  --shell8f255-panel-light: #302b4d;
  --shell8f255-magenta: #8b008b;
  --shell8f255-magenta-bright: #c82ac4;
  --shell8f255-lilac: #e4b8ff;
  --shell8f255-gold: #ffc857;
  --shell8f255-green: #70e0ad;
  --shell8f255-line: rgba(228, 184, 255, .17);
  --shell8f255-shadow: 0 18px 42px rgba(4, 3, 15, .36);
  --shell8f255-radius: 17px;
  --shell8f255-tight: 9px;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--shell8f255-night-deep); scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--shell8f255-ink);
  background:
    radial-gradient(circle at 10% -5%, rgba(139, 0, 139, .32), transparent 32rem),
    radial-gradient(circle at 100% 20%, rgba(84, 36, 140, .2), transparent 30rem),
    var(--shell8f255-night);
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  line-height: 1.62;
  overflow-x: hidden;
}
a { color: var(--shell8f255-lilac); text-decoration: none; }
a:hover, a:focus-visible { color: #fff; text-decoration: underline; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
img { display: block; max-width: 100%; }

.shell8f255-page { width: min(100%, 430px); min-height: 100vh; margin: 0 auto; padding-bottom: 90px; }
.shell8f255-skip { position: fixed; left: 8px; top: -80px; z-index: 80; padding: 10px 14px; border-radius: 8px; background: var(--shell8f255-gold); color: #171225; font-weight: 700; }
.shell8f255-skip:focus { top: 8px; }
.shell8f255-topline { height: 4px; background: linear-gradient(90deg, var(--shell8f255-magenta), var(--shell8f255-magenta-bright), var(--shell8f255-gold)); }
.shell8f255-header { position: sticky; top: 0; z-index: 50; background: rgba(26, 26, 46, .94); border-bottom: 1px solid var(--shell8f255-line); backdrop-filter: blur(18px); }
.shell8f255-brandbar { min-height: 64px; display: flex; align-items: center; gap: 10px; padding: 9px 13px; }
.shell8f255-logo { width: 41px; height: 41px; border-radius: 12px; object-fit: cover; border: 1px solid rgba(255,255,255,.22); box-shadow: 0 0 0 3px rgba(139,0,139,.25); }
.shell8f255-brandcopy { min-width: 0; flex: 1; }
.shell8f255-brandname { display: block; color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 17px; font-weight: 700; letter-spacing: -.03em; line-height: 1.15; }
.shell8f255-tagline { display: none; }
.shell8f255-actions { display: flex; align-items: center; gap: 6px; }
.shell8f255-action { min-height: 42px; border: 1px solid var(--shell8f255-line); border-radius: 11px; padding: 7px 9px; background: transparent; color: var(--shell8f255-ink); cursor: pointer; font-size: 11px; font-weight: 700; }
.shell8f255-action:hover, .shell8f255-action:focus-visible { border-color: var(--shell8f255-magenta-bright); background: rgba(139,0,139,.22); outline: none; }
.shell8f255-action-primary { border-color: var(--shell8f255-magenta-bright); background: var(--shell8f255-magenta); }
.shell8f255-menu-button { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid var(--shell8f255-line); border-radius: 11px; background: var(--shell8f255-panel); color: #fff; cursor: pointer; font-size: 20px; }
.shell8f255-menu-button:focus-visible { outline: 2px solid var(--shell8f255-gold); outline-offset: 2px; }
.shell8f255-menu-button span { display: block; font-size: 18px; line-height: 1; }
.shell8f255-menu { display: none; max-height: calc(100vh - 68px); overflow-y: auto; padding: 8px 13px 18px; border-top: 1px solid var(--shell8f255-line); background: #19182d; }
.shell8f255-menu.shell8f255-is-open { display: block; }
.shell8f255-menu-intro { margin: 5px 0 10px; color: var(--shell8f255-muted); font-size: 12px; }
.shell8f255-menu-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
.shell8f255-menu-link { display: flex; min-height: 44px; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid var(--shell8f255-line); border-radius: 10px; color: var(--shell8f255-ink); font-size: 12px; font-weight: 600; }
.shell8f255-menu-link:hover, .shell8f255-menu-link:focus-visible { border-color: var(--shell8f255-magenta-bright); background: rgba(139,0,139,.24); text-decoration: none; }
.shell8f255-menu-symbol { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 8px; background: rgba(200,42,196,.2); color: var(--shell8f255-lilac); font-size: 12px; }

.shell8f255-main { padding: 15px 13px 28px; }
.shell8f255-hero { position: relative; overflow: hidden; padding: 21px 17px 18px; border: 1px solid rgba(228,184,255,.2); border-radius: 24px; background: linear-gradient(140deg, rgba(139,0,139,.66), rgba(34,29,62,.95) 62%); box-shadow: var(--shell8f255-shadow); }
.shell8f255-hero:after { position: absolute; width: 130px; height: 130px; right: -55px; top: -55px; border: 1px solid rgba(255,200,87,.55); border-radius: 50%; content: ''; box-shadow: 0 0 0 18px rgba(255,200,87,.06), 0 0 0 38px rgba(255,200,87,.04); }
.shell8f255-kicker { margin: 0 0 8px; color: var(--shell8f255-gold); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.shell8f255-title { max-width: 330px; margin: 0; color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: clamp(30px, 9vw, 41px); letter-spacing: -.055em; line-height: 1.01; }
.shell8f255-hero-text { margin: 14px 0 0; color: #eadff1; font-size: 14px; }
.shell8f255-hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 17px; }
.shell8f255-cta { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 10px; padding: 10px 11px; cursor: pointer; font-size: 12px; font-weight: 700; text-align: center; }
.shell8f255-cta-primary { background: var(--shell8f255-gold); color: #24152c; }
.shell8f255-cta-primary:hover, .shell8f255-cta-primary:focus-visible { background: #ffe09a; color: #24152c; }
.shell8f255-cta-quiet { border-color: rgba(255,255,255,.35); background: rgba(26,26,46,.38); color: #fff; }
.shell8f255-cta-quiet:hover, .shell8f255-cta-quiet:focus-visible { border-color: #fff; color: #fff; text-decoration: none; }

.shell8f255-rail { display: flex; gap: 8px; overflow-x: auto; margin: 16px 0 4px; padding-bottom: 3px; scrollbar-width: thin; }
.shell8f255-rail::-webkit-scrollbar { height: 4px; }
.shell8f255-rail::-webkit-scrollbar-thumb { background: var(--shell8f255-magenta-bright); border-radius: 8px; }
.shell8f255-chip { flex: 0 0 auto; display: inline-flex; min-height: 40px; align-items: center; gap: 6px; padding: 8px 11px; border: 1px solid var(--shell8f255-line); border-radius: 10px; background: rgba(48,43,77,.62); color: var(--shell8f255-muted); font-size: 11px; font-weight: 700; }
.shell8f255-chip strong { color: var(--shell8f255-gold); font-size: 15px; }

.shell8f255-carousel { position: relative; margin: 17px 0 27px; }
.shell8f255-slides { position: relative; min-height: 164px; overflow: hidden; border-radius: 18px; background: var(--shell8f255-panel); }
.shell8f255-slide { display: none; position: relative; min-height: 164px; }
.shell8f255-slide.shell8f255-is-current { display: block; }
.shell8f255-slide img { width: 100%; height: 164px; object-fit: cover; opacity: .72; }
.shell8f255-slide:after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16,16,31,.94), rgba(16,16,31,.08)); content: ''; }
.shell8f255-slide-copy { position: absolute; z-index: 1; left: 16px; right: 44px; bottom: 17px; }
.shell8f255-slide-copy strong { display: block; color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 20px; line-height: 1.1; }
.shell8f255-slide-copy span { display: block; margin-top: 5px; color: #e8d9eb; font-size: 11px; }
.shell8f255-slide-button { position: absolute; z-index: 2; inset: 0; width: 100%; border: 0; background: transparent; cursor: pointer; }
.shell8f255-dots { display: flex; justify-content: center; gap: 6px; margin-top: 9px; }
.shell8f255-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: #625873; cursor: pointer; }
.shell8f255-dot.shell8f255-is-current { width: 22px; border-radius: 5px; background: var(--shell8f255-gold); }

.shell8f255-section { margin-top: 29px; }
.shell8f255-section-head { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.shell8f255-section-label { margin: 0 0 4px; color: var(--shell8f255-magenta-bright); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.shell8f255-heading { margin: 0; color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 23px; letter-spacing: -.04em; line-height: 1.12; }
.shell8f255-heading-link { flex: 0 0 auto; color: var(--shell8f255-gold); font-size: 11px; font-weight: 700; }
.shell8f255-section-intro { margin: -3px 0 14px; color: var(--shell8f255-muted); font-size: 13px; }
.shell8f255-game-group { margin: 25px 0 0; }
.shell8f255-group-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.shell8f255-group-title { margin: 0; color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 17px; letter-spacing: -.02em; }
.shell8f255-group-mark { display: inline-flex; align-items: center; gap: 5px; color: var(--shell8f255-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.shell8f255-group-mark:before { width: 6px; height: 6px; border-radius: 50%; background: var(--shell8f255-green); content: ''; }
.shell8f255-category-links { display: flex; gap: 7px; margin: -3px 0 10px; }
.shell8f255-category-links a { padding: 5px 8px; border-left: 2px solid var(--shell8f255-magenta-bright); color: var(--shell8f255-lilac); font-size: 10px; }
.shell8f255-game-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.shell8f255-game { min-width: 0; overflow: hidden; border: 1px solid rgba(228,184,255,.12); border-radius: 12px; background: linear-gradient(160deg, rgba(48,43,77,.94), rgba(29,27,53,.96)); }
.shell8f255-game:hover, .shell8f255-game:focus-within { border-color: rgba(200,42,196,.78); box-shadow: 0 7px 18px rgba(139,0,139,.2); }
.shell8f255-game-link { display: block; color: var(--shell8f255-ink); }
.shell8f255-game-link:hover { color: #fff; text-decoration: none; }
.shell8f255-game img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.shell8f255-game-name { display: block; min-height: 34px; padding: 5px 5px 7px; overflow-wrap: anywhere; color: #f7effc; font-size: 10px; font-weight: 600; line-height: 1.18; text-align: center; }

.shell8f255-story { display: grid; gap: 10px; }
.shell8f255-story-panel { padding: 15px; border: 1px solid var(--shell8f255-line); border-radius: var(--shell8f255-radius); background: rgba(36,33,61,.78); }
.shell8f255-story-panel h3 { margin: 0 0 7px; color: var(--shell8f255-gold); font-family: 'Space Grotesk', sans-serif; font-size: 17px; line-height: 1.2; }
.shell8f255-story-panel p { margin: 0; color: #d8cde0; font-size: 13px; }
.shell8f255-story-panel p + p { margin-top: 9px; }
.shell8f255-split { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.shell8f255-mini { padding: 12px; border-top: 3px solid var(--shell8f255-magenta-bright); border-radius: 12px; background: rgba(48,43,77,.75); }
.shell8f255-mini strong { display: block; color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 14px; }
.shell8f255-mini span { display: block; margin-top: 4px; color: var(--shell8f255-muted); font-size: 11px; line-height: 1.4; }
.shell8f255-steps { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: shell8f255-step; }
.shell8f255-steps li { position: relative; min-height: 46px; padding: 10px 10px 10px 42px; border: 1px solid var(--shell8f255-line); border-radius: 10px; color: #ddd0e5; font-size: 13px; }
.shell8f255-steps li:before { position: absolute; left: 11px; top: 10px; display: grid; width: 22px; height: 22px; place-items: center; border-radius: 7px; background: var(--shell8f255-magenta); color: #fff; content: counter(shell8f255-step); counter-increment: shell8f255-step; font-size: 11px; font-weight: 700; }
.shell8f255-callout { padding: 14px 15px; border-left: 4px solid var(--shell8f255-gold); border-radius: 0 13px 13px 0; background: rgba(255,200,87,.1); color: #f1dfba; font-size: 13px; }
.shell8f255-callout strong { color: var(--shell8f255-gold); }
.shell8f255-linkbox { display: flex; flex-wrap: wrap; gap: 7px; }
.shell8f255-linkbox a { display: inline-flex; min-height: 40px; align-items: center; padding: 8px 10px; border: 1px solid var(--shell8f255-line); border-radius: 9px; background: rgba(48,43,77,.7); font-size: 11px; font-weight: 700; }
.shell8f255-linkbox a:hover, .shell8f255-linkbox a:focus-visible { border-color: var(--shell8f255-gold); text-decoration: none; }
.shell8f255-faq { border-top: 1px solid var(--shell8f255-line); }
.shell8f255-faq details { border-bottom: 1px solid var(--shell8f255-line); }
.shell8f255-faq summary { min-height: 49px; padding: 13px 4px; cursor: pointer; color: #fff; font-weight: 700; font-size: 13px; list-style-position: inside; }
.shell8f255-faq p { margin: 0 5px 14px 22px; color: var(--shell8f255-muted); font-size: 13px; }
.shell8f255-note { margin-top: 12px; color: var(--shell8f255-muted); font-size: 11px; }

.shell8f255-footer { padding: 24px 15px 100px; border-top: 1px solid var(--shell8f255-line); background: rgba(16,16,31,.64); }
.shell8f255-footer-brand { color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 17px; font-weight: 700; }
.shell8f255-footer p { margin: 7px 0; color: var(--shell8f255-muted); font-size: 11px; }
.shell8f255-footer-links { display: flex; flex-wrap: wrap; gap: 7px 12px; margin: 13px 0; }
.shell8f255-footer-links a { font-size: 11px; }
.shell8f255-bottom { position: fixed; z-index: 45; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; padding: 7px 8px calc(7px + env(safe-area-inset-bottom)); background: rgba(13,13,28,.94); border-top: 1px solid rgba(228,184,255,.2); backdrop-filter: blur(16px); }
.shell8f255-bottom-inner { display: grid; width: min(100%, 430px); grid-template-columns: repeat(5, 1fr); gap: 4px; }
.shell8f255-bottom-link { display: flex; min-height: 54px; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border-radius: 10px; color: var(--shell8f255-muted); font-size: 9px; font-weight: 700; line-height: 1.1; text-align: center; }
.shell8f255-bottom-link:hover, .shell8f255-bottom-link:focus-visible { color: #fff; background: rgba(139,0,139,.24); text-decoration: none; outline: none; }
.shell8f255-bottom-link.shell8f255-is-active { color: var(--shell8f255-gold); background: rgba(139,0,139,.34); box-shadow: inset 0 2px 0 var(--shell8f255-magenta-bright); }
.shell8f255-bottom-icon { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid currentColor; border-radius: 8px; font-size: 12px; }
.shell8f255-reveal { opacity: 0; transform: translateY(5px); }
.shell8f255-reveal.shell8f255-is-visible { opacity: 1; transform: none; transition: opacity .35s ease, transform .35s ease; }
.shell8f255-hidden { display: none !important; }
.shell8f255-live-region { position: fixed; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.shell8f255-is-busy .shell8f255-cta-primary, .shell8f255-is-busy .shell8f255-action-primary { filter: brightness(1.12); }
.shell8f255-menu-link.shell8f255-is-current { border-color: var(--shell8f255-gold); background: rgba(255,200,87,.12); color: #fff; box-shadow: inset 3px 0 0 var(--shell8f255-gold); }
.shell8f255-carousel:focus-within { outline: 1px solid rgba(255,200,87,.55); outline-offset: 4px; }
.shell8f255-game-link:focus-visible, .shell8f255-slide-button:focus-visible { outline: 2px solid var(--shell8f255-gold); outline-offset: -2px; }
.shell8f255-bottom-link:active, .shell8f255-action:active, .shell8f255-cta:active { transform: translateY(1px); }
@media (max-width: 359px) {
  .shell8f255-brandbar { gap: 6px; padding-right: 8px; padding-left: 8px; }
  .shell8f255-brandname { font-size: 15px; }
  .shell8f255-action { padding-right: 7px; padding-left: 7px; font-size: 10px; }
  .shell8f255-menu-button { width: 38px; height: 38px; }
  .shell8f255-main { padding-right: 9px; padding-left: 9px; }
}

@media (min-width: 390px) {
  .shell8f255-main { padding-right: 15px; padding-left: 15px; }
  .shell8f255-game-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
  .shell8f255-game-name { font-size: 10px; }
}
@media (min-width: 431px) {
  body { padding: 18px 0; }
  .shell8f255-page { border: 1px solid rgba(228,184,255,.13); border-radius: 20px; overflow: hidden; box-shadow: 0 24px 70px rgba(0,0,0,.42); }
  .shell8f255-header { position: sticky; }
  .shell8f255-bottom { bottom: 18px; }
  .shell8f255-bottom-inner { border-radius: 14px; overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .shell8f255-reveal.shell8f255-is-visible { transition: none; }
}
