@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/sora-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --night:#0a0f22; --night-2:#0f1730; --plum:#141d3a; --plum-2:#1b2648; --dusk:#2a3a64;
  --amber:#ffb15a; --amber-soft:#ffc98c; --pink:#ff6aa8; --peach:#ff9548; --teal:#45e0d2; --snow:#cfe2ff;
  --text:#e5ebf6; --muted:#99a6c1; --faint:#808ca9; --line:rgba(207,226,255,.1);
  --card:rgba(207,226,255,.04); --radius:26px;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{
  font-family:Inter,system-ui,sans-serif;color:var(--text);line-height:1.65;font-size:17px;
  background:var(--night);
  background-image:radial-gradient(1200px 600px at 85% -10%,rgba(255,177,90,.14),transparent 60%),radial-gradient(900px 700px at -10% 30%,rgba(107,79,122,.35),transparent 60%),linear-gradient(180deg,var(--night) 0%,var(--night-2) 55%,var(--night) 100%);
  background-attachment:fixed;
}
/* soft film grain, one static layer */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;background:repeating-linear-gradient(180deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:6px}
.btn:focus-visible,nav a:focus-visible,footer .social a:focus-visible{border-radius:999px}
.skip{position:absolute;left:12px;top:-60px;z-index:200;padding:10px 16px;border-radius:999px;background:var(--amber);color:#2a1d22;font-family:Sora,sans-serif;text-decoration:none}
.skip:focus{top:12px}
h1,h2,h3{font-family:Sora,Inter,sans-serif;font-weight:500;color:#fff;line-height:1.1;letter-spacing:-.01em}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}
.tag{display:inline-flex;align-items:center;gap:8px;font-family:Sora,sans-serif;font-size:14px;color:var(--amber);letter-spacing:.02em}
.tag::before{content:"";width:18px;height:2px;border-radius:2px;background:currentColor;opacity:.7}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;font-family:Sora,sans-serif;font-weight:500;font-size:16px;text-decoration:none;border:none;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-lamp{background:var(--amber);color:#2a1d22;box-shadow:0 8px 28px -10px rgba(255,177,90,.7)}
.btn-lamp:hover{background:var(--amber-soft);box-shadow:0 12px 34px -10px rgba(255,177,90,.85)}
.btn-soft{background:rgba(255,255,255,.07);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}
.btn-soft:hover{background:rgba(255,255,255,.13)}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(10,15,34,.74);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
header .wrap{height:70px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Sora,sans-serif;font-weight:500;font-size:20px;color:#fff}
.brand svg{width:40px;height:40px}
nav{display:flex;align-items:center;gap:4px}
nav a{text-decoration:none;font-family:Sora,sans-serif;font-size:16px;color:var(--muted);padding:8px 14px;border-radius:999px;transition:color .2s,background .2s}
nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.menu-btn{display:none;width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.05);cursor:pointer;align-items:center;justify-content:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:18px;height:2px;background:var(--text);border-radius:2px;position:relative;transition:transform .2s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-open .menu-btn span{background:transparent}
.menu-open .menu-btn span::before{transform:translateY(6px) rotate(45deg)}
.menu-open .menu-btn span::after{transform:translateY(-6px) rotate(-45deg)}

/* hero */
.hero{padding:80px 0 8px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,860px);gap:48px;align-items:center}
.hero h1{font-size:clamp(42px,6.2vw,74px);margin:18px 0 20px;font-weight:600;letter-spacing:-.025em}
.hero h1 span{color:#ffe3f0;text-shadow:0 0 6px rgba(255,106,168,.9),0 0 18px rgba(255,106,168,.55),0 0 40px rgba(255,106,168,.3);animation:neon 9s ease-in-out infinite}
.hero p.lead{color:var(--muted);font-size:19px;max-width:34em;margin-bottom:30px}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap}
.now{display:inline-flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;color:var(--muted)}
.now .disc{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,var(--pink) 0 18%,#0f1730 19% 30%,#1f2b52 31% 100%);animation:spin 9s linear infinite;flex:none}
.now b{color:var(--text);font-weight:600}
.bars{display:flex;gap:2px;align-items:flex-end;height:14px}
.bars i{width:3px;border-radius:2px;background:var(--teal);height:5px;animation:bar 2.4s ease-in-out infinite}
.bars i:nth-child(2){animation-delay:-.6s}.bars i:nth-child(3){animation-delay:-1.2s}.bars i:nth-child(4){animation-delay:-1.8s}
#games{padding-top:56px}

/* animations: slow, CSS only */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bar{0%,100%{height:4px}50%{height:14px}}
@keyframes neon{0%,100%{opacity:1}46%{opacity:1}48%{opacity:.72}50%{opacity:1}52%{opacity:.85}56%{opacity:1}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

section{padding:96px 0}
.head{max-width:620px;margin-bottom:44px}
.head h2{font-size:clamp(34px,4.6vw,54px);margin-top:12px}
.head p{color:var(--muted);margin-top:12px;font-size:18px}

/* games */
.game{display:grid;grid-template-columns:1fr 1.1fr;gap:20px;border-radius:34px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.game + .game{margin-top:28px}
.game .info{padding:48px}
.game .top{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.game .icon{width:74px;height:74px;border-radius:22px;box-shadow:0 10px 30px -10px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08);transition:transform .3s ease}
.game:hover .icon{transform:rotate(-5deg)}
.game h3{font-size:clamp(36px,4.2vw,50px)}
.game .kind{color:var(--muted);font-family:Sora,sans-serif}
.status{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:16px;line-height:1.45;font-size:14px;font-family:Sora,sans-serif;margin-bottom:18px}
.status i{width:8px;height:8px;border-radius:50%;flex:none}
.live{background:rgba(69,224,210,.12);color:var(--teal)}.live i{background:var(--teal);box-shadow:0 0 10px var(--teal)}
.soon{background:rgba(240,160,122,.14);color:var(--peach)}.soon i{background:var(--peach);box-shadow:0 0 10px var(--peach)}
.game p{color:var(--muted);margin-bottom:22px}
.game ul{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:8px}
.game li{display:flex;gap:10px;align-items:center;font-size:16px}
.game li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pink);flex:none}
.game .actions{display:flex;gap:12px;flex-wrap:wrap}
.hl{background:linear-gradient(135deg,rgba(255,106,168,.08),rgba(255,255,255,.03))}
.rf{background:linear-gradient(135deg,rgba(255,149,72,.09),rgba(255,255,255,.03))}

.media{min-width:0;padding:36px 0;display:flex;flex-direction:column;justify-content:center}
.track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 36px 8px 8px;scrollbar-width:none}
.track::-webkit-scrollbar{display:none}
.slide{flex:none;scroll-snap-align:start;border-radius:22px;overflow:hidden;box-shadow:0 20px 50px -22px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.07);transition:transform .25s ease}
.js .slide{cursor:zoom-in}
.slide:hover{transform:translateY(-4px)}
.slide img{height:420px;width:auto;max-width:none}
.slide.clip{cursor:default}
.phone{height:420px;aspect-ratio:1080/2260;background:#0b0b12;border:6px solid #1c1c26;border-radius:26px;overflow:hidden;box-sizing:content-box}
.phone video{display:block;width:100%;height:100%;object-fit:cover;cursor:pointer}
.car-nav{display:flex;gap:10px;margin:18px 0 0 8px}
.car-nav button{width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;font-size:22px;background:rgba(255,255,255,.08);color:var(--text);transition:background .2s}
.car-nav button:hover{background:rgba(255,255,255,.16)}

/* about */
.about .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.about h2{font-size:clamp(32px,4vw,48px);margin:12px 0 18px}
.about p{color:var(--muted);margin-bottom:14px}
.notes{display:grid;gap:14px}
.note{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border-radius:22px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:transform .25s}
.note:hover{transform:translateX(4px)}
.note .ic{width:42px;height:42px;border-radius:14px;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(255,177,90,.14)}
.note:nth-child(2) .ic{background:rgba(255,106,168,.14)}
.note:nth-child(3) .ic{background:rgba(69,224,210,.12)}
.note h3{font-size:20px;margin-bottom:2px}
.note p{margin:0;font-size:15px}

/* support + press */
#support{padding-top:24px}
.duo{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}
.card{border-radius:30px;padding:40px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.card h2{font-size:36px;margin:12px 0 20px}
.faq button{width:100%;text-align:left;background:none;border:none;border-top:1px solid var(--line);padding:18px 0;font:inherit;font-weight:700;color:var(--text);display:flex;justify-content:space-between;gap:16px;cursor:pointer}
.faq button:hover{color:var(--amber)}
.faq .pm{flex:none;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;transition:transform .25s,background .25s;font-family:Sora,sans-serif}
.faq button[aria-expanded="true"] .pm{transform:rotate(45deg);background:var(--amber);color:#2a1d22}
.faq .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.faq .ans > div{overflow:hidden}
.faq .ans p{color:var(--muted);padding:0 0 18px;font-size:16px}
.faq .open{grid-template-rows:1fr}
.mail{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 20px;border-radius:20px;background:rgba(255,177,90,.08);box-shadow:inset 0 0 0 1px rgba(255,177,90,.2)}
.mail span{display:block;font-size:14px;color:var(--muted)}
.mail a:not(.btn){font-weight:700;color:var(--amber-soft);text-decoration:none;word-break:break-all}
.press{background:linear-gradient(160deg,var(--plum-2),var(--night));display:flex;flex-direction:column}
.press p{color:var(--muted);margin-bottom:18px}
.press ul{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}
.press li{display:flex;align-items:center;gap:10px;font-size:15px}
.press .pi{width:30px;height:30px;border-radius:10px;background:rgba(255,177,90,.14);display:flex;align-items:center;justify-content:center;flex:none}
.press .pi svg{width:17px;height:17px;fill:none;stroke:var(--amber);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.press .btn{margin-top:auto}
.press .more{margin:14px 0 0;font-size:14px;text-align:center}
.press .more a{color:var(--amber-soft)}

footer{border-top:1px solid var(--line);padding:40px 0 48px}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
footer .links{display:flex;gap:6px 22px;flex-wrap:wrap}
footer a{color:var(--faint);text-decoration:none;font-size:14px}
footer a:hover{color:var(--amber)}
footer small{color:var(--faint);font-size:14px}
footer .social{flex-basis:100%;display:flex;flex-wrap:wrap;gap:10px;padding-bottom:24px;margin-bottom:4px;border-bottom:1px solid var(--line)}
footer .social a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);font-family:Sora,sans-serif;color:var(--muted);transition:color .2s,border-color .2s,background .2s}
footer .social a:hover{color:var(--amber);border-color:rgba(255,177,90,.35);background:rgba(255,177,90,.06)}
footer .social svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
footer .social svg .f{fill:currentColor;stroke:none}

/* image viewer */
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(6,9,20,.93);display:none;align-items:center;justify-content:center;padding:24px}
.lightbox.on{display:flex}
.lightbox figure{max-width:min(1000px,100%);display:flex;flex-direction:column;align-items:center;gap:12px}
.lightbox img{max-height:80vh;width:auto;border-radius:18px}
.lightbox figcaption{color:var(--text);font-size:15px;text-align:center}
.lb-count{color:var(--faint);font-size:13px}
.lb-btn{position:absolute;width:48px;height:48px;border-radius:50%;border:none;background:rgba(255,255,255,.1);color:#fff;font-size:26px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-btn:hover{background:rgba(255,255,255,.2)}
.lb-prev{left:16px;top:50%;transform:translateY(-50%)}.lb-next{right:16px;top:50%;transform:translateY(-50%)}
.lb-close{right:16px;top:16px;font-size:20px}

/* text pages: privacy, terms, press, 404 */
.page{padding:72px 0 96px}
.page .wrap{max-width:780px}
.page h1{font-size:clamp(38px,5.4vw,60px);font-weight:600;letter-spacing:-.025em;margin:14px 0 18px}
.page .lead{color:var(--muted);font-size:19px;margin-bottom:36px}
.page h2{font-size:26px;margin:40px 0 12px}
.page p,.page li{color:var(--muted)}
.page p + p{margin-top:12px}
.page ul{padding-left:1.2em;display:grid;gap:6px;margin:12px 0}
.page a:not(.btn){color:var(--amber-soft)}
.page .updated{color:var(--faint);font-size:14px;margin-top:44px}
.page .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.page .card{margin-top:28px}
.page .card h2{margin-top:8px}
.kit-files{list-style:none;padding:0!important}
.kit-files li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line)}
.kit-files li span:first-child{flex:none;color:var(--text)}
.kit-files li span:last-child{color:var(--faint);text-align:right}

/* without scripts: menu links stay visible, answers stay open */
html:not(.js) .faq .ans{grid-template-rows:1fr}
html:not(.js) .faq .pm,html:not(.js) .car-nav{display:none}
html:not(.js) .faq button{cursor:default}

@media (max-width:940px){
  .js .menu-btn{display:inline-flex}
  .js nav{position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(10,15,34,.97);border-bottom:1px solid var(--line);padding:8px 16px 16px;display:none}
  .js.menu-open nav,.menu-open nav{display:flex}
  .js nav a{padding:14px 6px;border-bottom:1px solid var(--line);border-radius:0;font-size:18px}
  .js nav a:last-child{border-bottom:none}
  html:not(.js) header .wrap{height:auto;flex-wrap:wrap;gap:4px;padding-top:12px;padding-bottom:10px}
  html:not(.js) nav{flex-wrap:wrap;margin-left:-10px}
  html:not(.js) nav a{padding:6px 10px}
  .hero .wrap,.game,.about .grid,.duo{grid-template-columns:1fr}
  .hero .wrap{gap:32px}
  .game .info{padding:36px 28px 0}
  .media{padding:12px 0 32px 20px}
  section{padding:72px 0}
}
@media (max-width:560px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .hero{padding:36px 0 24px}
  .hero p.lead{font-size:17px}
  .hero .actions .btn,.game .actions .btn,.page .actions .btn{flex:1 1 100%}
  .game{border-radius:26px}
  .game .info{padding:28px 20px 0}
  .game .icon{width:60px;height:60px;border-radius:18px}
  .media{padding:8px 0 26px 12px}
  .slide img{height:360px}
  .phone{height:360px}
  .card{padding:26px 20px;border-radius:24px}
  section{padding:60px 0}
  .page{padding:44px 0 64px}
}
