:root{
  --bg:#02050a;--ink:#eaf6fb;--mut:#8ea3af;--dim:#5f7480;--line:rgba(150,220,255,.12);--line2:rgba(150,220,255,.22);
  --ice:#7fe9ff;--teal:#2ee6c5;--gold:#ffd89a;--sun:#fff4dc;
  --bad:#ff5a76;--warn:#ffbe55;--good:#3ff0b0;
  --glass:rgba(8,15,24,.62);--glass2:rgba(14,24,36,.7);--r:20px;--hh:68px;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden;min-height:100vh}
a{color:var(--ice);text-decoration:none}a:hover{text-decoration:underline}
.mono,code{font-family:var(--mono);font-size:.92em}
.small{font-size:13px}.muted{color:var(--mut)}.center{text-align:center}
.serif{font-family:Cinzel,serif;font-weight:600;letter-spacing:.02em}
.t-good{color:var(--good)}.t-bad{color:var(--bad)}
#stars{position:fixed;inset:0;z-index:0;pointer-events:none}
svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
:focus-visible{outline:2px solid var(--ice);outline-offset:2px;border-radius:8px}

/* ---------- header ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:30;height:var(--hh);display:flex;align-items:center;gap:18px;padding:0 clamp(14px,3vw,32px);
  transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.top.scrolled,body:not([data-route=home]) .top{background:rgba(2,6,12,.8);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border-bottom-color:var(--line)}
.brand{display:flex;gap:10px;align-items:center;color:var(--ink);font:700 17px Cinzel,serif;letter-spacing:.2em;flex:none}
.brand:hover{text-decoration:none}.brand img{filter:drop-shadow(0 0 10px rgba(127,233,255,.45))}
.hsearch{flex:1;max-width:420px;display:flex;align-items:center;gap:8px;height:40px;padding:0 10px 0 12px;border-radius:12px;background:rgba(10,18,28,.6);border:1px solid var(--line);transition:.2s}
.hsearch:focus-within{border-color:var(--line2);background:rgba(10,18,28,.9)}
.hsearch svg{width:16px;height:16px;color:var(--mut);flex:none}
.hsearch input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--ink);font:13.5px var(--mono)}
.hsearch kbd{font:11px var(--mono);color:var(--dim);border:1px solid var(--line);border-radius:5px;padding:1px 6px}
body[data-route=home] .hsearch{opacity:0;pointer-events:none}
body[data-route=home] .top.scrolled .hsearch{opacity:1;pointer-events:auto}
.links{display:flex;gap:4px}
.links a{color:#b9cbd4;padding:8px 12px;border-radius:10px;font-weight:600;font-size:14px}
.links a:hover{color:var(--ink);background:rgba(255,255,255,.04);text-decoration:none}
.links a.active{color:var(--ink);background:rgba(127,233,255,.08);box-shadow:inset 0 0 0 1px var(--line)}
.right{margin-left:auto;display:flex;align-items:center;gap:10px}
.net{display:flex;align-items:center;gap:7px;font-size:12px;color:#cdeefa;border:1px solid var(--line);border-radius:999px;padding:6px 11px;background:rgba(8,16,26,.4)}
.net i{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 10px var(--good)}
.wbtn{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:12px;background:rgba(10,18,28,.6);border:1px solid var(--line2);color:var(--ink);font:600 13.5px Inter;cursor:pointer}
.wbtn:hover{border-color:var(--ice)}.wdot{width:8px;height:8px;border-radius:50%;background:var(--dim)}.wbtn.on .wdot{background:var(--good);box-shadow:0 0 8px var(--good)}
@media(max-width:1000px){.links{display:none}}
@media(max-width:640px){.net{display:none}.hsearch kbd{display:none}.brand span{display:none}.top{gap:10px}}

/* ---------- mobile tab bar ---------- */
.tabbar{display:none}
@media(max-width:1000px){
  .tabbar{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 6px calc(6px + env(safe-area-inset-bottom));
    background:rgba(2,6,12,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line)}
  .tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;color:var(--mut);font-size:11px;font-weight:600;border-radius:12px}
  .tabbar a:hover{text-decoration:none}.tabbar svg{width:21px;height:21px}
  .tabbar a.active{color:var(--ice);background:rgba(127,233,255,.07)}
  body{padding-bottom:76px}
}

/* ---------- buttons ---------- */
button{font:inherit;cursor:pointer;border:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;padding:13px 22px;font-weight:700;color:#021016;
  background:linear-gradient(120deg,var(--ice),var(--teal) 55%,var(--gold));box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 8px 28px rgba(46,230,197,.3);transition:transform .12s,box-shadow .2s}
.btn:hover{text-decoration:none;box-shadow:0 0 0 1px rgba(255,255,255,.3) inset,0 10px 40px rgba(127,233,255,.5)}
.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.wide{width:100%}
.ghost{background:rgba(10,18,28,.6);color:var(--ink);border:1px solid var(--line2);border-radius:12px;padding:11px 18px;font-weight:600}
.ibtn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:#bfd3dc;flex:none}
.ibtn:hover{color:var(--ice);border-color:var(--line2);text-decoration:none}.ibtn svg{width:16px;height:16px}

/* ---------- scene (fixed backdrop) ---------- */
.scene{position:fixed;inset:0;z-index:0;pointer-events:none;transition:opacity .6s}
body:not([data-route=home]) .scene{opacity:.22}
.layer{position:absolute;inset:0;will-change:transform}






.clouds{position:absolute;left:0;right:0;bottom:-2%;background-repeat:repeat-x}

.c2{height:32%;opacity:.95;background-size:1800px 100%;animation:drift2 110s linear infinite;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1800' height='380'><filter id='f' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='.004 .016' numOctaves='6' seed='21' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .70  0 0 0 0 .80  0 0 0 0 .90  3.2 0 0 0 -1.25'/></filter><rect width='100%25' height='100%25' filter='url(%23f)'/></svg>");
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 38%);mask-image:linear-gradient(to bottom,transparent 0%,#000 38%)}
@keyframes drift2{to{background-position-x:-1800px}}
.fade{position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(to bottom,transparent,var(--bg) 95%)}

/* ---------- layout ---------- */
main{position:relative;z-index:2;max-width:1160px;margin:0 auto;padding:calc(var(--hh) + 18px) clamp(14px,3vw,28px) 40px;outline:none}
.glass{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 18px 50px rgba(0,0,0,.4)}
.panel{border-radius:var(--r);padding:20px}
.band{margin-top:64px}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.3em;font-size:11px;color:#bfe7f5;padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(8,16,26,.4)}
.eyebrow.left{margin-bottom:10px}
h2.serif{font-size:clamp(24px,3.4vw,36px);margin:4px 0 22px}
h3{margin:0;font:600 13px Cinzel,serif;text-transform:uppercase;letter-spacing:.18em;color:#a9c9d6}
.skel,.skel-row{display:inline-block;height:30px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.09),rgba(255,255,255,.04));background-size:200% 100%;animation:shimmer 1.3s infinite}
.skel-row{display:block;height:46px;border-radius:12px;margin:6px 0}.w90{width:90px}.w110{width:110px}.w120{width:120px}
@keyframes shimmer{to{background-position:-200% 0}}

/* ---------- home ---------- */
.hero{min-height:calc(92svh - var(--hh));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 0 60px}
h1{font:600 clamp(42px,8vw,100px)/1.02 Cinzel,serif;margin:20px 0 16px;letter-spacing:.01em;
  background:linear-gradient(180deg,#fff 20%,#cfeefa 60%,#8fd9ef);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 40px rgba(127,233,255,.22))}
h1 .glow{background:linear-gradient(100deg,var(--gold),#fff1d6 45%,var(--ice));-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{max-width:580px;margin:0 auto 28px;color:#c6dbe4;font-size:16.5px;text-shadow:0 2px 20px rgba(0,0,0,.6)}
.search{display:flex;align-items:center;gap:8px;width:100%;max-width:700px;border-radius:18px;padding:7px 7px 7px 16px;transition:.25s}
.search:focus-within{border-color:rgba(127,233,255,.55);box-shadow:0 0 0 6px rgba(127,233,255,.08),0 20px 60px rgba(0,0,0,.45),0 0 60px rgba(127,233,255,.16)}
.sicon{width:20px;height:20px;color:#9fd8ea;flex:none}
.search input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--ink);font:15px var(--mono);padding:12px 4px}
.search input::placeholder,.hsearch input::placeholder{color:#6c8491}
.chiprow{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin-top:14px;min-height:30px}
.lbl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#88a7b5;margin-right:4px}
.chip{display:inline-flex;align-items:center;gap:6px;background:rgba(8,16,26,.55);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;color:var(--ink);font-weight:600}
.chip:hover{text-decoration:none;border-color:rgba(255,216,154,.55);box-shadow:0 0 18px rgba(255,216,154,.15)}
.chip small{color:var(--mut);font-weight:500}.chip b{font:600 11px var(--mono);padding:1px 6px;border-radius:6px}
.chip b.v-SAFE{color:var(--good);background:rgba(63,240,176,.1)}.chip b.v-CAUTION{color:var(--warn);background:rgba(255,190,85,.1)}.chip b.v-DANGER,.chip b.v-HONEYPOT{color:var(--bad);background:rgba(255,90,118,.1)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.stats{display:grid;grid-template-columns:repeat(4,auto);gap:clamp(16px,4vw,48px);margin-top:30px;padding:14px clamp(18px,3vw,34px);border-radius:18px;background:rgba(4,10,18,.62);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.stats div{display:flex;flex-direction:column;align-items:center}
.stats b{font:700 clamp(24px,3vw,32px) Cinzel,serif;background:linear-gradient(120deg,#fff,var(--ice));-webkit-background-clip:text;background-clip:text;color:transparent}
.stats span{font-size:12px;color:var(--mut);letter-spacing:.04em}
@media(max-width:560px){.stats{grid-template-columns:repeat(2,1fr);gap:16px 30px}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{border-radius:var(--r);padding:22px;position:relative}
.step i{position:absolute;right:18px;top:12px;font:700 46px Cinzel,serif;font-style:normal;color:rgba(127,233,255,.12)}
.step h4,.reward h4{font:600 18px Cinzel,serif;margin:0 0 6px}.step p,.reward p{margin:0;color:#a8bec8;font-size:14px}
.split{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
@media(max-width:860px){.steps,.split{grid-template-columns:1fr}}
.phead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:16px}
.phead.big{align-items:flex-end;margin:10px 0 22px;flex-wrap:wrap}.phead.big h1{font-size:clamp(32px,5vw,52px);margin:0 0 6px}.phead.big p{margin:0;max-width:620px}
.more{font-size:13px;font-weight:600}
.rewards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:14px}
.reward{border-radius:var(--r);padding:22px}
.reward b{display:block;font:700 40px Cinzel,serif;background:linear-gradient(120deg,var(--ice),var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent}
.reward.gold{border-color:rgba(255,216,154,.35);box-shadow:0 0 40px rgba(255,216,154,.08)}.reward.gold b{background:linear-gradient(120deg,var(--gold),#fff1d6);-webkit-background-clip:text;background-clip:text}
@media(max-width:700px){.rewards{grid-template-columns:1fr}}

/* ---------- feed & boards ---------- */
.feed,.mini-lb,.lb,.checks,.rules{list-style:none;margin:0;padding:0}
.frow{display:grid;grid-template-columns:10px 1fr auto auto 34px;gap:12px;align-items:center;padding:11px 10px;border-radius:12px;color:var(--ink)}
.frow:hover{background:rgba(255,255,255,.035);text-decoration:none}
.feed li+li{border-top:1px solid var(--line)}
.ft{display:flex;flex-direction:column;min-width:0}.ft b{font-weight:700}.ft small{color:var(--mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc{font:700 15px var(--mono);text-align:right}
.vdot{width:10px;height:10px;border-radius:50%}.vdot.v-SAFE{background:var(--good);box-shadow:0 0 10px var(--good)}.vdot.v-CAUTION{background:var(--warn);box-shadow:0 0 10px var(--warn)}.vdot.v-DANGER,.vdot.v-HONEYPOT{background:var(--bad);box-shadow:0 0 10px var(--bad)}
.feed:not(.tall) .frow{grid-template-columns:10px 1fr auto 34px}
.vf{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font:700 12px Inter;color:var(--mut);border:1px solid var(--line)}
.vf.ok{color:var(--good);border-color:rgba(63,240,176,.4);background:rgba(63,240,176,.08)}.vf.bad{color:var(--bad);border-color:rgba(255,90,118,.4);background:rgba(255,90,118,.08)}
.vf.spin{border-top-color:var(--ice);animation:spin .8s linear infinite;color:transparent}
.mini-lb li.empty,.lb li.empty,.feed li.empty,.empty{display:block;padding:22px 10px;color:var(--mut);text-align:center;list-style:none}
.mini-lb li,.lb li{display:grid;grid-template-columns:34px 1fr auto auto;gap:12px;align-items:center;padding:11px 8px}
.mini-lb li{grid-template-columns:34px 1fr auto}
.mini-lb li+li,.lb li+li{border-top:1px solid var(--line)}
.mini-lb small,.lb small{color:var(--mut);font-size:12px}.mini-lb b,.lb b{font:700 14px var(--mono);color:var(--ink)}
li.me{background:rgba(127,233,255,.07);border-radius:12px}
.rk{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font:700 13px Cinzel,serif;color:var(--mut);background:rgba(255,255,255,.04)}
.rk.r1{color:#1b1200;background:linear-gradient(135deg,#ffe3a6,#e8b45c)}.rk.r2{color:#0b1218;background:linear-gradient(135deg,#eef6fb,#9fb3c0)}.rk.r3{color:#160b04;background:linear-gradient(135deg,#f3c39b,#b8784a)}
.seg{display:inline-flex;padding:4px;border-radius:12px;background:rgba(10,18,28,.6);border:1px solid var(--line)}
.seg button{padding:8px 14px;border-radius:9px;background:none;color:var(--mut);font-weight:600;font-size:13px}.seg button.on{background:rgba(127,233,255,.1);color:var(--ink)}
.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:14px;margin:0 0 16px;align-items:end}
.podium:empty{display:none}
.pod{border-radius:var(--r);padding:18px;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center}
.pod.p1{order:2;padding:26px 18px;border-color:rgba(255,216,154,.4);box-shadow:0 0 50px rgba(255,216,154,.1)}.pod.p2{order:1}.pod.p3{order:3}
.pod b{font:700 30px Cinzel,serif}.pod small{color:var(--mut)}
.medal{font:700 14px Cinzel,serif;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffe3a6,#e8b45c);color:#1b1200}
.p2 .medal{background:linear-gradient(135deg,#eef6fb,#9fb3c0)}.p3 .medal{background:linear-gradient(135deg,#f3c39b,#b8784a)}
.meCard{display:flex;align-items:center;gap:14px;border-radius:16px;padding:14px 18px;margin-bottom:16px;flex-wrap:wrap}
.meCard span{font:600 12px Cinzel,serif;letter-spacing:.18em;color:var(--gold)}.meCard b{margin-left:auto;font:700 18px var(--mono)}.meCard small{color:var(--mut)}
#me>.ghost{margin-bottom:16px}

/* ---------- scanning ---------- */
.scanning{display:flex;align-items:center;gap:30px;border-radius:var(--r);padding:30px;margin-top:20px;flex-wrap:wrap;justify-content:center}
.addr{font-size:13px;color:#bcd3dd;word-break:break-all;margin-bottom:12px}
.radar{position:relative;width:140px;height:140px;border-radius:50%;border:1px solid rgba(127,233,255,.35);flex:none;
  background:radial-gradient(circle,transparent 32%,rgba(127,233,255,.12) 33%,transparent 34%,transparent 64%,rgba(127,233,255,.12) 65%,transparent 66%),radial-gradient(circle,rgba(46,230,197,.08),transparent 70%);overflow:hidden;box-shadow:0 0 50px rgba(127,233,255,.18)}
.radar::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(127,233,255,.55),rgba(127,233,255,0) 70deg,transparent 360deg);animation:spin 1.6s linear infinite}
.radar::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--ice);box-shadow:0 0 14px var(--ice)}
.radar i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:ping 1.6s infinite}
.radar i:nth-child(1){left:28%;top:34%}.radar i:nth-child(2){left:66%;top:62%;animation-delay:.6s}.radar i:nth-child(3){left:58%;top:22%;animation-delay:1.1s}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{0%,100%{opacity:0}40%{opacity:1}}
.stages{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.stages li{display:flex;align-items:center;gap:10px;color:var(--dim);font-size:14px}
.stages li::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--line2);flex:none}
.stages li.now{color:var(--ink)}.stages li.now::before{border-color:var(--ice);border-top-color:transparent;animation:spin .8s linear infinite}
.stages li.done{color:#bff3dd}.stages li.done::before{border-color:var(--good);background:var(--good);box-shadow:0 0 8px var(--good)}
.errbox{margin-top:24px;text-align:center}.errbox h3{margin-bottom:8px}

/* ---------- report ---------- */
.rhead{display:grid;grid-template-columns:auto 1fr 280px;gap:26px;align-items:center;border-radius:24px;padding:24px;margin-top:6px;position:relative;overflow:hidden}
.rhead::before{content:"";position:absolute;right:-140px;top:-200px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(127,233,255,.1),transparent 65%);pointer-events:none}
@media(max-width:980px){.rhead{grid-template-columns:auto 1fr}.publish{grid-column:1/-1}}
@media(max-width:600px){.rhead{grid-template-columns:1fr;text-align:center;justify-items:center}.addrline,.metas{justify-content:center}}
.gauge{width:150px;height:150px;filter:drop-shadow(0 0 22px rgba(127,233,255,.22))}
.gauge circle{fill:none;stroke-width:11}.gauge .track{stroke:rgba(150,220,255,.12)}
.gauge .bar{stroke-linecap:round;transform:rotate(-90deg);transform-origin:70px 70px;transition:stroke-dashoffset 1.3s cubic-bezier(.2,.8,.2,1)}
.gauge .num{fill:var(--ink);stroke:none;font:700 42px Cinzel,serif;text-anchor:middle;dominant-baseline:middle}.gauge .lbl{fill:var(--mut);stroke:none;font-size:12px;text-anchor:middle}
.gauge.v-SAFE .bar{stroke:var(--good)}.gauge.v-CAUTION .bar{stroke:var(--warn)}.gauge.v-DANGER .bar,.gauge.v-HONEYPOT .bar{stroke:var(--bad)}
.gauge.v-SAFE{filter:drop-shadow(0 0 24px rgba(63,240,176,.35))}.gauge.v-CAUTION{filter:drop-shadow(0 0 24px rgba(255,190,85,.3))}.gauge.v-DANGER,.gauge.v-HONEYPOT{filter:drop-shadow(0 0 24px rgba(255,90,118,.35))}
.verdict{display:inline-block;font:700 12px Cinzel,serif;letter-spacing:.22em;padding:6px 12px;border-radius:9px}
.verdict.v-SAFE{background:rgba(63,240,176,.12);color:var(--good);box-shadow:0 0 0 1px rgba(63,240,176,.3) inset}
.verdict.v-CAUTION{background:rgba(255,190,85,.12);color:var(--warn);box-shadow:0 0 0 1px rgba(255,190,85,.3) inset}
.verdict.v-DANGER,.verdict.v-HONEYPOT{background:rgba(255,90,118,.12);color:var(--bad);box-shadow:0 0 0 1px rgba(255,90,118,.3) inset}
.verdict.mini{font-size:9.5px;padding:3px 7px;letter-spacing:.12em}
.rinfo{min-width:0;position:relative}
.tname{font:600 clamp(26px,3.6vw,36px)/1.1 Cinzel,serif;margin:10px 0 4px;color:var(--ink);background:none;-webkit-text-fill-color:currentColor;filter:none}
.tname span{color:var(--mut);font-size:.7em}
.headline{margin:0 0 10px;color:#d4e6ee;font-size:16px}
.addrline{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.addrline .mono{color:#a9c3cf;margin-right:4px}
.metas{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;color:var(--mut);font-size:13px}.metas b{color:var(--ink);font-weight:700}
.publish{border-radius:18px;padding:18px;position:relative;background:var(--glass2)}
.publish h4{margin:0 0 4px;font:600 16px Cinzel,serif}.publish p{margin:0 0 12px}
.pts{position:absolute;right:16px;top:14px;text-align:right}.pts b{display:block;font:700 26px Cinzel,serif;color:var(--gold);line-height:1}.pts span{font-size:10px;color:var(--mut);letter-spacing:.12em;text-transform:uppercase}
.sect{margin:30px 0 12px}
.findings{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:860px){.findings{grid-template-columns:1fr}}
.finding{border-radius:16px;padding:16px 18px;background:var(--glass);border:1px solid var(--line);border-left:3px solid var(--dim);backdrop-filter:blur(12px)}
.finding b{display:block;font-size:15px;margin:8px 0 4px}.finding p{margin:0;color:#a9bfca;font-size:13.5px}.finding small{display:block;margin-top:8px;color:var(--mut);font-size:11.5px;word-break:break-word}
.finding.s-critical{border-left-color:var(--bad)}.finding.s-high{border-left-color:#ff8a6a}.finding.s-medium{border-left-color:var(--warn)}.finding.s-ok{border-left-color:var(--good)}
.sev{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:3px 8px;border-radius:7px;font-weight:800;background:rgba(142,163,175,.15);color:var(--mut)}
.s-critical .sev{background:rgba(255,90,118,.18);color:var(--bad)}.s-high .sev{background:rgba(255,130,95,.15);color:#ff9473}.s-medium .sev{background:rgba(255,190,85,.14);color:var(--warn)}.s-ok .sev,.s-pass .sev{background:rgba(63,240,176,.12);color:var(--good)}
.tabs{display:flex;gap:4px;margin:30px 0 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{background:none;color:var(--mut);padding:12px 16px;font-weight:600;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--ink);border-bottom-color:var(--ice)}
.tabpanes{background:var(--glass);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r) var(--r);padding:22px;backdrop-filter:blur(14px)}
.pane{display:none;animation:fadein .25s}.pane.on{display:block}
@keyframes fadein{from{opacity:0;transform:translateY(4px)}}
.sims{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sim{background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:2px}
.sim span{color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.16em}.sim b{font:700 28px Cinzel,serif}.sim small{color:var(--mut);font-size:12px;word-break:break-word}
.sim.good b{color:var(--good);text-shadow:0 0 18px rgba(63,240,176,.4)}.sim.warn b{color:var(--warn)}.sim.bad b{color:var(--bad);text-shadow:0 0 18px rgba(255,90,118,.45)}.sim.bad{border-color:rgba(255,90,118,.4)}
@media(max-width:520px){.sims{grid-template-columns:1fr}.sim{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.sim b{font-size:22px}}
.note{color:var(--mut);font-size:13.5px;margin:14px 0 0}
.kv>div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:14px;flex-wrap:wrap}.kv>div:last-child{border:0}.kv span{color:var(--mut)}.kv b{font-weight:600;text-align:right}
.sub2{font:600 12px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:20px 0 10px}
.warnchip{border-color:rgba(255,190,85,.35);color:#ffd9a0;font-weight:500}
.tag{font-size:11px;font-style:normal;border:1px solid var(--line);border-radius:6px;padding:2px 7px;color:var(--mut)}
.tag.warn{color:var(--warn);border-color:rgba(255,190,85,.35)}.k-v2,.k-v3,.k-pool,.k-venue{color:var(--ice)!important}.k-burn,.k-locker{color:var(--good)!important}
.holders{margin-top:12px}
.hrow{position:relative;display:grid;grid-template-columns:1fr auto 72px;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;font-size:14px;overflow:hidden}
.hbar{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(127,233,255,.16),rgba(127,233,255,.04))}.hrow>*:not(.hbar){position:relative}.hrow b{text-align:right}
.checks li{display:grid;grid-template-columns:70px 1fr 40px;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.checks li:last-child{border:0}.checks small{display:block;color:var(--mut);font-size:12px;word-break:break-word}.checks b{text-align:right;color:var(--mut);font:12px var(--mono)}

/* ---------- pages ---------- */
.page{margin-top:10px}
.prose p{color:#b4c8d1}.cards2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:34px}.cards2 h3{margin-bottom:8px}
@media(max-width:760px){.cards2{grid-template-columns:1fr}}
.rules li{padding:10px 0;border-bottom:1px solid var(--line);color:#c3d3da}.rules b{color:var(--gold)}

/* ---------- footer & toast ---------- */
.foot{position:relative;z-index:2;text-align:center;color:var(--mut);font-size:13px;padding:50px 20px 40px}.foot p{margin:6px 0}
.toast{position:fixed;z-index:60;left:50%;bottom:28px;transform:translateX(-50%) translateY(30px);opacity:0;background:rgba(10,18,28,.92);backdrop-filter:blur(12px);border:1px solid var(--line2);border-radius:14px;padding:12px 18px;transition:.25s;pointer-events:none;max-width:90vw;font-weight:500}
.toast.show{opacity:1;transform:translateX(-50%)}.toast.err{border-color:var(--bad);color:#ffc7d1}.toast.good{border-color:var(--good);color:#c8ffe9}
@media(max-width:1000px){.toast{bottom:92px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

body.scrolled[data-route=home] .scene{opacity:.3}

/* ---------- network selector ---------- */
.netsel{position:relative}
.netbtn{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:12px;background:rgba(10,18,28,.6);border:1px solid var(--line2);color:var(--ink);font:600 13px Inter}
.netbtn:hover{border-color:var(--ice)}.chev{width:14px;height:14px;color:var(--mut);transition:transform .2s}
.netsel.open .chev{transform:rotate(180deg)}
.nd{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 10px var(--good);flex:none}.nd.off{background:var(--dim);box-shadow:none}
.netmenu{position:absolute;right:0;top:calc(100% + 8px);width:300px;border-radius:16px;padding:6px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:.18s;background:rgba(8,15,24,.96)}
.netsel.open .netmenu{opacity:1;transform:none;pointer-events:auto}
.netmenu button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:11px;background:none;color:var(--ink);text-align:left}
.netmenu button:hover{background:rgba(255,255,255,.05)}.netmenu button.cur{background:rgba(127,233,255,.08)}
.netmenu span{flex:1;display:flex;flex-direction:column}.netmenu b{font-size:14px}.netmenu small{color:var(--mut);font-size:12px}
.netmenu button.soon b{color:#c3d3da}.ck{width:18px;height:18px;color:var(--ice)}
.badge{font:700 10px Inter;letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--gold);background:rgba(255,216,154,.1);border:1px solid rgba(255,216,154,.35);padding:3px 8px;border-radius:999px;white-space:nowrap}
.badge.big{font-size:11px;padding:5px 12px}
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(2,5,10,.6);backdrop-filter:blur(6px);opacity:0;transition:opacity .2s}
.modal.on{opacity:1}
.mcard{position:relative;max-width:460px;width:100%;border-radius:22px;padding:28px;text-align:center;background:rgba(8,15,24,.94)}
.mcard h2{font-size:28px;margin:14px 0 8px}.mcard p{color:#b8cbd3;margin:0 0 14px}
.mlist{list-style:none;padding:0;margin:0 0 20px;text-align:left;display:grid;gap:8px}
.mlist li{padding-left:22px;position:relative;color:#c8d8df;font-size:14px}.mlist li::before{content:"✦";position:absolute;left:0;color:var(--gold)}
.mact{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.mclose{position:absolute;right:12px;top:12px}
@media(max-width:640px){.netbtn{padding:0 10px}.netmenu{width:min(300px,calc(100vw - 24px));right:-60px}}

/* ---------- cinematic artwork backdrop ---------- */
.bg{position:absolute;inset:-3%;background:#02050a url(hero-desktop.webp) 55% 45%/cover no-repeat;animation:kenburns 48s ease-in-out infinite alternate;will-change:transform}
@media (max-width:1200px) and (min-aspect-ratio:4/5){.bg{background-image:url(hero-desktop-sm.webp)}}
@media (max-aspect-ratio:4/5){.bg{background-image:url(hero-mobile.webp);background-position:50% 60%}}
@keyframes kenburns{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.06) translate3d(-1%,-.8%,0)}}
.veil{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(2,5,10,.9) 0%,rgba(2,5,10,.68) 30%,rgba(2,5,10,.18) 58%,rgba(2,5,10,0) 75%),
  linear-gradient(180deg,rgba(2,5,10,.7) 0%,rgba(2,5,10,0) 18%)}
@media (max-aspect-ratio:4/5){.veil{background:linear-gradient(180deg,rgba(2,5,10,.82) 0%,rgba(2,5,10,.6) 38%,rgba(2,5,10,.15) 62%,rgba(2,5,10,.05) 78%)}}
.c2{opacity:.38;height:26%}
#stars{opacity:.75}
/* desktop hero: text on the left, artwork breathes on the right */
@media (min-aspect-ratio:4/5) and (min-width:900px){
  .hero{align-items:flex-start;text-align:left;max-width:640px;margin-right:auto;padding-left:clamp(0px,2vw,24px)}
  .hero h1{font-size:clamp(46px,6.2vw,92px)}
  .hero .sub{margin-left:0}
  .hero .chiprow{justify-content:flex-start}
  .hero .stats{align-self:flex-start}
}
.hero h1{text-shadow:0 4px 40px rgba(0,0,0,.35)}

@media(max-width:640px){body[data-route=home] .hsearch{display:none}.right{gap:6px}.wbtn{padding:0 11px}.netbtn #netLabel{display:inline}}
