/* Swaggsplash - stylesheet. Midnight-indigo app layout with a left rail, pink / cyan / yellow accents. Self-hosted fonts. */
@font-face{font-family:"Sora";src:url("../fonts/sora-latin-wght-normal.woff2") format("woff2");font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --bg:#0a0e22; --bg2:#0e1330; --panel:#131a3a; --panel2:#1b2350;
  --text:#eef1ff; --muted:#a9b0d6; --dim:#7a82ad;
  --line:rgba(160,175,255,.16); --line2:rgba(160,175,255,.32);
  --pink:#ff3d8b; --cyan:#19d3ff; --yellow:#ffd23f; --violet:#7c4dff;
  --grad:linear-gradient(120deg,#ff3d8b,#7c4dff 55%,#19d3ff);
  --danger:#ff7d7d; --ok:#4ee3a0;
  --r:22px; --r-sm:14px; --rail:250px;
  --display:"Sora","Trebuchet MS",system-ui,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 1rem/1.65 var(--body);min-height:100vh;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(700px 500px at 90% -5%,rgba(255,61,139,.2),transparent 60%),radial-gradient(700px 600px at 10% 105%,rgba(25,211,255,.14),transparent 60%)}
img,svg{max-width:100%;display:block}
a{color:var(--cyan);text-underline-offset:3px}
a:hover{color:#7de6ff}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;background:var(--yellow);color:#1b1500;padding:10px 16px;border-radius:10px;z-index:300;font-weight:800}
.skip:focus{left:8px}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5.2vw,4.2rem);font-weight:800}
h2{font-size:clamp(1.6rem,3vw,2.4rem)}
h3{font-size:1.2rem}
em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
p{margin:0 0 1em}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 .72rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--yellow);margin-bottom:16px}
.eyebrow::before{content:"";width:22px;height:3px;border-radius:3px;background:var(--grad)}
.lead{font-size:1.12rem;color:var(--muted);max-width:62ch}
.muted{color:var(--muted)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
[hidden]{display:none!important}

/* shell: left rail + main column */
.shell{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:100vh}
.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;padding:24px 18px;background:rgba(10,14,34,.9);border-right:1px solid var(--line);overflow-y:auto}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);flex:none}
.brand:hover{color:var(--text)}
.brand svg{width:42px;height:42px}
.brand b{font:800 1.3rem/1 var(--display);letter-spacing:-.03em}
.brand small{display:block;font:700 .58rem/1 var(--body);letter-spacing:.18em;color:var(--cyan);margin-top:5px}
.vnav{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.vnav a{display:flex;align-items:center;gap:12px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.96rem;padding:11px 14px;border-radius:14px}
.vnav a i{font-style:normal;width:22px;text-align:center;font-size:1.05rem}
.vnav a:hover{color:var(--text);background:rgba(160,175,255,.1)}
.vnav a[aria-current="page"]{color:#fff;background:var(--grad);box-shadow:0 10px 24px -10px rgba(255,61,139,.7)}
.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.age-pill{display:flex;gap:10px;align-items:center;font-size:.78rem;color:var(--muted);border:1px solid var(--line2);border-radius:14px;padding:10px 12px}
.age-pill b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--pink);color:#fff;font-size:.78rem;flex:none}
.user-chip{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--text);font-weight:700;font-size:.9rem;padding:6px 14px 6px 6px;border:1px solid var(--line2);border-radius:999px;background:var(--panel)}
.user-chip:hover{color:var(--text);border-color:var(--cyan)}
.user-chip .av{width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.78rem}
.main-col{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.topbar{display:none}
.mobile-nav{display:none}
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 28px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 .95rem/1 var(--body);padding:14px 22px;border-radius:999px;border:1.5px solid var(--line2);cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s;min-height:48px;background:transparent;color:var(--text)}
.btn:hover{transform:translateY(-2px);border-color:var(--cyan);color:var(--text)}
.btn-primary,.btn-amber{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 12px 28px -10px rgba(255,61,139,.75)}
.btn-primary:hover,.btn-amber:hover{color:#fff;border-color:transparent;box-shadow:0 16px 34px -10px rgba(255,61,139,.9)}
.btn-line{background:transparent}
.btn-teal{background:var(--yellow);border-color:var(--yellow);color:#1b1500}
.btn-teal:hover{color:#1b1500;border-color:var(--yellow)}
.btn-sm{padding:9px 15px;font-size:.86rem;min-height:40px}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* home: hero banner */
.hero{padding:26px 0 8px}
.hero-card{position:relative;overflow:hidden;border-radius:30px;padding:clamp(28px,5vw,64px);background:linear-gradient(130deg,#2a1466 0%,#a3195b 52%,#ff7a45 100%);isolation:isolate}
.hero-card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 85% 20%,rgba(25,211,255,.55),transparent 42%),radial-gradient(circle at 10% 100%,rgba(124,77,255,.5),transparent 50%)}
.hero-card::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;border:34px solid rgba(255,255,255,.1);z-index:-1}
.hero h1{max-width:14ch;margin-bottom:.35em}
.hero h1 em{background:linear-gradient(90deg,#ffe066,#fff);-webkit-background-clip:text;background-clip:text}
.hero .lead{color:#ffe9f1;max-width:54ch}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.hero .btn-line{border-color:rgba(255,255,255,.6);color:#fff}
.hero .btn-line:hover{background:rgba(255,255,255,.14);color:#fff}
.hero .btn-primary{background:#fff;color:#2a1466;box-shadow:0 12px 28px -10px rgba(0,0,0,.5)}
.hero .btn-primary:hover{color:#2a1466}
.hero .eyebrow{color:#fff}
.hero .eyebrow::before{background:#fff}
.reel{overflow:hidden;margin-top:24px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.reel-track{display:flex;gap:14px;width:max-content;animation:reel 60s linear infinite}
.reel:hover .reel-track{animation-play-state:paused}
.reel-i{position:relative;flex:none;width:150px;border-radius:18px;overflow:hidden;border:2px solid var(--line2);background:var(--panel);text-decoration:none;color:#fff}
.reel-i img{width:100%;aspect-ratio:5/4;object-fit:cover}
.reel-i span{display:block;padding:8px 10px;font:600 .74rem/1.25 var(--body);color:var(--text);white-space:normal}
@keyframes reel{to{transform:translateX(-50%)}}

/* stats row */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.stat b{display:block;font:800 clamp(1.7rem,3vw,2.3rem)/1 var(--display);margin-bottom:6px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-size:.88rem;color:var(--muted)}

.section{padding:clamp(40px,6vw,76px) 0}
.section.alt{background:rgba(160,175,255,.05);border-block:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.section-head h2{margin:0}

/* theme tiles (home) */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.ctile{--h:260;display:flex;flex-direction:column;justify-content:space-between;min-height:130px;padding:18px;border-radius:var(--r);text-decoration:none;color:#fff;background:linear-gradient(140deg,hsl(var(--h) 75% 46%),hsl(calc(var(--h) + 50) 70% 28%));border:1px solid var(--line2);transition:transform .15s}
.ctile:hover{transform:translateY(-3px);color:#fff}
.ctile b{font:700 1.1rem/1.15 var(--display)}
.ctile span{font-size:.82rem;opacity:.85;font-weight:600}

/* vertical steps */
.vsteps{display:grid;gap:0;max-width:760px;position:relative}
.vsteps::before{content:"";position:absolute;left:23px;top:10px;bottom:10px;width:3px;background:var(--grad);border-radius:3px}
.vs{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:0 0 28px}
.vs:last-child{padding-bottom:0}
.vs .n{width:48px;height:48px;border-radius:50%;background:var(--bg);border:3px solid var(--pink);display:grid;place-items:center;font:800 1.1rem/1 var(--display);position:relative;z-index:1}
.vs h3{margin-bottom:.3em}
.vs p{margin:0;color:var(--muted)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.panel h3{margin-bottom:.4em}
.panel p{color:var(--muted);margin:0}
.banner{background:var(--grad);border-radius:28px;padding:clamp(26px,4vw,46px);display:flex;gap:26px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.banner h2{margin-bottom:.3em;color:#fff}
.banner p{margin:0;color:#fff;opacity:.92;max-width:58ch}
.banner .btn{background:#fff;color:#2a1466;border-color:#fff}
.banner .btn:hover{color:#2a1466}

/* game cards */
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.gcard{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--text);transition:transform .18s,border-color .18s,box-shadow .18s}
a.gcard:hover{transform:translateY(-5px);border-color:var(--pink);box-shadow:0 20px 40px -18px rgba(255,61,139,.55);color:var(--text)}
.gart{--h:260;position:relative;aspect-ratio:5/4;display:grid;place-items:center;overflow:hidden;background:linear-gradient(150deg,hsl(var(--h) 80% 50%),hsl(calc(var(--h) + 45) 70% 24%))}
.gart .glyph{position:relative;z-index:1;font-size:3.2rem;line-height:1}
.gart img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.gart .free{position:absolute;z-index:3;top:10px;left:10px;font:700 .62rem/1 var(--body);letter-spacing:.1em;background:rgba(10,14,34,.78);color:var(--yellow);padding:6px 9px;border-radius:999px;backdrop-filter:blur(4px)}
.gbody{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.gbody h3{font-size:1.05rem;margin:0}
.gbody .tag{font:700 .66rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.gbody p{margin:0;font-size:.86rem;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gbody .play{margin-top:auto;padding-top:10px;font-weight:700;color:var(--pink);font-size:.9rem}

/* games page: chip bar on top */
.toolbar{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;margin-bottom:22px}
.search{position:relative;flex:1 1 280px;max-width:420px}
.search input[type=search]{width:100%;padding-left:46px;border-radius:999px}
.search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:19px;height:19px;color:var(--muted);pointer-events:none}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:600 .88rem/1 var(--body);color:var(--text);background:transparent;border:1px solid var(--line2);border-radius:999px;padding:10px 16px;cursor:pointer;min-height:40px}
.chip:hover{border-color:var(--cyan)}
.chip[aria-pressed="true"]{background:var(--grad);border-color:transparent;color:#fff}
.count{color:var(--muted);font-size:.9rem;margin-bottom:14px;font-weight:600}
.empty{border:1px dashed var(--line2);border-radius:var(--r);padding:44px 28px;text-align:center;color:var(--muted)}
.empty h3{color:var(--text)}

/* page hero + prose */
.page-hero{padding:clamp(34px,5vw,64px) 0 clamp(16px,2.5vw,26px)}
.page-hero .box{border-radius:28px;padding:clamp(24px,4vw,46px);background:linear-gradient(130deg,var(--panel2),var(--panel));border:1px solid var(--line2);position:relative;overflow:hidden}
.page-hero .box::after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:var(--grad);opacity:.28;filter:blur(6px)}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.3rem);margin-bottom:.3em;position:relative}
.page-hero .lead,.page-hero .eyebrow,.page-hero .updated{position:relative}
.updated{color:var(--dim);font-size:.88rem;font-weight:600;margin:0}
.prose{max-width:780px}
.prose h2{font-size:1.45rem;margin:1.9em 0 .55em}
.prose h3{font-size:1.1rem;margin:1.5em 0 .4em}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.1em}
.prose li{margin-bottom:.5em}
.prose p,.prose li{color:#cdd2ee}
.prose strong,.prose b{color:var(--text)}
code{background:var(--panel2);padding:1px 6px;border-radius:6px;font-size:.88em;color:var(--yellow)}
.callout{background:var(--panel);border:1px solid var(--line2);border-left:5px solid var(--pink);border-radius:var(--r-sm);padding:18px 20px;margin:0 0 1.6em}
.callout p:last-child{margin:0}
.callout.teal{border-left-color:var(--cyan)}
.table-wrap{overflow-x:auto;margin:0 0 1.4em;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--panel)}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:.94rem}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--panel2);font-weight:700;color:var(--text)}
tr:last-child td,tr:last-child th{border-bottom:0}
details{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);padding:0 18px;margin-bottom:10px}
details[open]{border-color:var(--line2)}
summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.5rem;color:var(--pink);line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--muted)}

/* support page: two-column cards */
.help{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.help .panel.wide{grid-column:1/-1}
.help .panel h2{font-size:1.25rem;margin-bottom:.4em;display:flex;align-items:center;gap:10px}
.help .panel h2 i{font-style:normal;font-size:1.3rem}
.help .panel p{color:#cdd2ee}
.help .panel p:last-child{margin:0}

/* forms */
.card{background:var(--panel);border:1px solid var(--line2);border-radius:26px;padding:clamp(22px,3.5vw,36px)}
.field{margin-bottom:16px}
.field label,.lbl{display:block;font:700 .74rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=search],select,textarea{width:100%;font:500 1rem/1.4 var(--body);color:var(--text);background:var(--bg2);border:1.5px solid var(--line2);border-radius:var(--r-sm);padding:13px 15px;min-height:48px;transition:border-color .15s,box-shadow .15s}
textarea{min-height:150px;resize:vertical}
select option{background:var(--bg2)}
input::placeholder,textarea::placeholder{color:var(--dim)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 4px rgba(25,211,255,.18)}
input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}
.hint{font-size:.82rem;color:var(--dim);margin-top:6px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.check{display:flex;gap:11px;align-items:flex-start;font-size:.9rem;color:var(--muted);margin-bottom:14px;cursor:pointer}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--pink)}
.form-msg{margin-top:14px;padding:13px 16px;border-radius:var(--r-sm);font-size:.95rem;display:none;border:1px solid}
.form-msg.show{display:block}
.form-msg.ok{background:rgba(78,227,160,.12);border-color:rgba(78,227,160,.5);color:#c9f7e2}
.form-msg.err{background:rgba(255,125,125,.12);border-color:rgba(255,125,125,.55);color:#ffd6d6}
.btn-google{background:#fff;color:#1f1f1f;border-color:#fff;font-weight:600}
.btn-google:hover{background:#f3f3f3;color:#1f1f1f;border-color:#fff}
.btn-google svg{width:20px;height:20px}
.or{display:flex;align-items:center;gap:14px;color:var(--dim);font:700 .72rem/1 var(--body);letter-spacing:.14em;margin:22px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line2)}
/* auth: centred card with glow */
.auth-wrap{display:grid;place-items:center;padding:clamp(28px,5vw,64px) 0}
.auth-card{width:100%;max-width:500px;position:relative}
.auth-card::before{content:"";position:absolute;inset:-2px;border-radius:28px;background:var(--grad);z-index:-1;opacity:.7;filter:blur(18px)}
.auth-card h1{font-size:2rem;margin-bottom:.2em}
.auth-card .sub{color:var(--muted);margin-bottom:22px}
.auth-card .foot{border-top:1px solid var(--line);margin-top:22px;padding-top:18px;font-size:.92rem;color:var(--muted);text-align:center}
.link-row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px;font-size:.9rem}
.link-row .check{margin:0}
.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:start}
.side-card{background:var(--panel2);border:1px solid var(--line2);border-radius:var(--r);padding:24px}
.side-card h3{font-size:1.05rem}
.side-card ul{list-style:none;padding:0;margin:0}
.side-card li{padding:9px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.94rem}
.side-card li:last-child{border:0}

/* account */
.acct{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.kv{display:grid;grid-template-columns:140px 1fr;gap:10px 14px;margin:0}
.kv dt{color:var(--dim);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;padding-top:3px;font-weight:700}
.kv dd{margin:0;word-break:break-word}
.danger{border-color:rgba(255,125,125,.5)}
.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}
.btn-danger:hover{background:var(--danger);color:#2b0904;border-color:var(--danger)}

/* play page */
.play-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0 18px}
.play-head h1{font-size:clamp(1.7rem,3.4vw,2.6rem);margin:0}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:8px;font-weight:600}
.crumbs a{color:var(--muted)}
.play-actions{display:flex;gap:10px;flex-wrap:wrap}
.stage{position:relative;background:#000;border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;box-shadow:0 0 0 1px rgba(255,61,139,.25),0 30px 80px -30px rgba(255,61,139,.45)}
.stage iframe{display:block;width:100%;height:clamp(520px,78vh,860px);border:0;background:#05070f}
.stage:fullscreen{border-radius:0;border:0}
.stage:fullscreen iframe{height:100vh}
.stage-loading{position:absolute;inset:0;display:grid;place-items:center;background:var(--bg2);color:var(--muted);font-weight:600;pointer-events:none;transition:opacity .4s}
.stage-loading.done{opacity:0;visibility:hidden}
.play-bar{display:flex;gap:12px 20px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:16px 0 0;font-size:.92rem;color:var(--muted)}
.play-bar .timer{font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}
.play-note{margin-top:24px}
.related{margin-top:52px;padding-bottom:48px}

/* footer */
.site-footer{margin-top:auto;border-top:1px solid var(--line);background:var(--bg2)}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;padding:44px 0 28px}
.f-grid h4{font:700 .75rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);margin-bottom:14px}
.f-grid ul{list-style:none;padding:0;margin:0;columns:1}
.f-grid li{margin-bottom:9px}
.f-grid li a{color:var(--muted);text-decoration:none;font-size:.94rem}
.f-grid li a:hover{color:var(--text)}
.f-brand p{color:var(--muted);font-size:.92rem;max-width:40ch}
.op{font-size:.88rem;color:var(--muted);line-height:1.6}
.op a{color:var(--text)}
.notice{border-radius:var(--r);padding:20px 22px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;margin-bottom:24px;background:var(--panel);border:1px solid var(--line2)}
.seal{width:60px;height:60px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;text-align:center;font:800 1.1rem/1 var(--body)}
.seal small{display:block;font-size:.5rem;letter-spacing:.08em;margin-top:2px}
.notice p{margin:0 0 10px;font-size:.9rem;color:var(--muted)}
.notice b{color:var(--text)}
.notice .links{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.88rem}
.f-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 0 26px;border-top:1px solid var(--line);color:var(--dim);font-size:.84rem}
.chip.fchip{padding:7px 12px;min-height:0;font-size:.82rem}

/* modal, cookie, toast */
.modal{position:fixed;inset:0;z-index:250;background:rgba(5,7,18,.86);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}
.modal-box{width:100%;max-width:460px;background:var(--panel);border:1px solid var(--line2);border-radius:28px;padding:34px 30px;text-align:center;box-shadow:0 40px 90px -30px #000,0 0 60px -20px rgba(255,61,139,.5)}
.modal-box .ring{width:84px;height:84px;margin:0 auto 18px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font:800 1.6rem/1 var(--display);color:#fff}
.modal-box h2{font-size:1.8rem}
.modal-box p{color:var(--muted)}
.modal-actions{display:flex;flex-direction:column;gap:10px;margin:22px 0 14px}
.fine{font-size:.82rem;color:var(--dim);margin:0}
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:220;max-width:760px;margin:0 auto;background:var(--panel2);border:1px solid var(--line2);border-radius:var(--r);padding:16px 18px;display:flex;gap:16px;align-items:center;justify-content:space-between;box-shadow:0 20px 50px -15px #000}
.cookie-bar p{margin:0;font-size:.9rem;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;z-index:280;background:var(--panel2);border:1px solid var(--cyan);color:var(--text);padding:14px 20px;border-radius:16px;max-width:min(92vw,520px);transition:.3s;pointer-events:none;box-shadow:0 20px 50px -10px #000}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* responsive */
.split.two{grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:1100px){
  .shell{grid-template-columns:1fr}
  .rail{display:none}
  .topbar{display:block;position:sticky;top:0;z-index:60;background:rgba(10,14,34,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .topbar .in{display:flex;align-items:center;gap:12px;min-height:66px;flex-wrap:wrap}
  .menu-btn{margin-left:auto;display:inline-flex;background:var(--panel);border:1px solid var(--line2);color:var(--text);border-radius:14px;width:46px;height:46px;cursor:pointer;align-items:center;justify-content:center}
  .menu-btn svg{width:22px;height:22px}
  .mobile-nav{display:none;flex-direction:column;width:100%;padding:6px 0 16px;border-top:1px solid var(--line)}
  .mobile-nav.open{display:flex}
  .mobile-nav a{color:var(--text);text-decoration:none;padding:13px 6px;border-bottom:1px solid var(--line);font-weight:600}
  .mobile-nav a[aria-current="page"]{color:var(--pink)}
  .split,.contact-grid,.acct{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .split.two{grid-template-columns:1fr}
  .wrap{padding:0 18px}
  .row2{grid-template-columns:1fr}
  .help{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr}
  .notice{grid-template-columns:1fr}
  .stage iframe{height:min(78svh,720px);min-height:420px}
  .cookie-bar{flex-direction:column;align-items:stretch}
  .kv{grid-template-columns:1fr;gap:2px}
  .kv dd{margin-bottom:12px}
  .ggrid{grid-template-columns:repeat(2,1fr);gap:12px}
  .gbody{padding:12px}
  .gbody p{-webkit-line-clamp:2;font-size:.82rem}
  .reel-i{width:128px}
  .hero-card{border-radius:24px}
  .tiles{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:420px){
  .ggrid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .brand small{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.reel-track{animation:none}}
