/* ─── tokens ────────────────────────────────────────────────────────────
   Three accent families, used semantically:
   creeper green = the character (hide, title, memes)
   rh green      = the chain (Robinhood Chain, live on-chain data, "done")
   boom orange   = explosions, danger, the fuse
   ─────────────────────────────────────────────────────────────────────── */
:root{
  --night:#070d09; --deep:#0c1a10; --moss:#12301a; --moss-2:#1a3a22;
  --creep:#4fbe3c; --creep-2:#8be07a; --creep-dark:#2f7f22;
  --rh:#00c805; --rh-glow:#5bff7a; --rh-soft:rgba(0,200,5,.14); --rh-line:rgba(0,200,5,.35);
  --boom:#ff7a2f; --boom-2:#ffb347; --fire:#ff4d1f; --boom-soft:rgba(255,122,47,.16); --boom-line:rgba(255,122,47,.45);
  --cream:#eefbe6; --cream-2:#cfe8c4; --ink:#0a1408; --gold:#ffd98a;
  --muted:rgba(238,251,230,.6); --line:rgba(238,251,230,.11);
  --display:'Bungee',Impact,'Arial Black',sans-serif; --body:'Space Grotesk',system-ui,-apple-system,Segoe UI,sans-serif; --pixel:'Press Start 2P',monospace;
  --max:1180px; --pad:clamp(20px,4vw,48px);
  --beat:1000ms;
  --sky-a:rgba(26,58,34,.95); --sky-b:rgba(0,200,5,.12); --sky-c:rgba(79,190,60,.18);
}
html[data-sky="boom"]{--night:#140804; --deep:#2a0f06; --moss:#3a1408; --moss-2:#4a1a0a; --sky-a:rgba(255,77,31,.5); --sky-b:rgba(255,179,71,.28); --sky-c:rgba(255,122,47,.4); --line:rgba(255,179,71,.16)}
html[data-sky="chain"]{--night:#03130a; --deep:#062a12; --moss:#0a3d1a; --moss-2:#0e5a22; --sky-a:rgba(0,200,5,.4); --sky-b:rgba(91,255,122,.2); --sky-c:rgba(0,200,5,.3); --line:rgba(91,255,122,.16)}

/* the word here is: unlogical */
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--cream);font-family:var(--body);font-size:17px;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background .8s ease}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(900px 600px at 70% -10%,var(--sky-a),transparent 60%),
    radial-gradient(700px 500px at 10% 20%,var(--sky-b),transparent 60%),
    radial-gradient(1200px 700px at 50% 110%,var(--sky-c),transparent 60%);
}
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.stars{position:fixed;inset:0;z-index:0;pointer-events:none}
.stars i{position:absolute;width:3px;height:3px;background:var(--cream);opacity:.5;animation:twinkle 4s ease-in-out infinite}
html[data-sky="chain"] .stars i{background:var(--rh-glow)}
html[data-sky="boom"] .stars i{background:var(--boom-2)}
@keyframes twinkle{0%,100%{opacity:.2;transform:scale(.8)}50%{opacity:.8;transform:scale(1.2)}}
main,header,footer{position:relative;z-index:1}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
h1,h2,h3,.display{font-family:var(--display);font-weight:400;letter-spacing:.01em;line-height:.95;margin:0}
.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.eyebrow{font-family:var(--pixel);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--creep-2);line-height:1.8}
.eyebrow .rh{color:var(--rh-glow)}
.muted{color:var(--muted)}
.rh-text{color:var(--rh-glow)}
.boom-text{color:var(--boom-2)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:6px;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.02em;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s;cursor:pointer;font-family:var(--body);color:var(--cream);background:none}
.btn:active{transform:translateY(1px) scale(.99)}
.btn.primary{background:linear-gradient(180deg,var(--creep-2),var(--creep));color:var(--ink);box-shadow:0 10px 30px -10px rgba(79,190,60,.8),inset 0 1px 0 rgba(255,255,255,.4),0 4px 0 var(--creep-dark)}
.btn.primary:hover{transform:translateY(-1px);box-shadow:0 16px 36px -10px rgba(79,190,60,.9),0 5px 0 var(--creep-dark)}
.btn.primary:active{box-shadow:0 1px 0 var(--creep-dark)}
.btn.ghost{background:rgba(238,251,230,.06);border-color:var(--line)}
.btn.ghost:hover{background:rgba(238,251,230,.11)}
.btn.green{background:var(--rh-soft);border-color:var(--rh-line);color:var(--rh-glow)}
.btn.green:hover{background:rgba(0,200,5,.22);box-shadow:0 0 0 4px rgba(0,200,5,.12)}
.btn.boom{background:var(--boom-soft);border-color:var(--boom-line);color:var(--boom-2)}
.btn.boom:hover{background:rgba(255,122,47,.26);box-shadow:0 0 0 4px rgba(255,122,47,.12)}
.btn.small{padding:10px 16px;font-size:14px}

/* chain pill */
.chain{display:inline-flex;align-items:center;gap:9px;padding:7px 12px 7px 9px;border-radius:4px;background:var(--rh-soft);border:1px solid var(--rh-line);color:var(--rh-glow);font-family:var(--pixel);font-size:9px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:box-shadow .2s}
.chain:hover{box-shadow:0 0 0 4px rgba(0,200,5,.12),0 0 24px rgba(0,200,5,.35)}
.chain .dot{width:8px;height:8px;background:var(--rh);box-shadow:0 0 0 0 rgba(0,200,5,.6);animation:ping 1.8s infinite}
.chain .rhmark{width:16px;height:16px;background:var(--rh);display:grid;place-items:center;color:#032a08;font-family:var(--display);font-size:10px}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(0,200,5,.6)}100%{box-shadow:0 0 0 10px rgba(0,200,5,0)}}

/* nav */
header{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(7,13,9,.6);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;gap:20px;height:66px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--display);font-size:18px;letter-spacing:.04em}
.brand img{width:36px;height:36px;border-radius:6px;transition:transform .3s;image-rendering:pixelated}
.brand:hover img{transform:scale(1.15)}
nav .links{display:flex;gap:18px;margin-left:auto;font-size:14.5px;font-weight:500}
nav .links a{text-decoration:none;color:var(--cream-2);opacity:.85;position:relative}
nav .links a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:3px;background:var(--creep);transition:right .25s}
nav .links a:hover{opacity:1;color:var(--creep-2)}
nav .links a:hover::after{right:0}
nav .btn{margin-left:4px}
nav .links a,nav .btn,.chain{white-space:nowrap}
@media (max-width:1400px){.chain.nav{display:none}}
@media (max-width:1060px){nav .links{gap:14px;font-size:14px}}
@media (max-width:920px){nav .links{display:none}}

/* hero */
.hero{padding:clamp(40px,7vw,96px) 0 20px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center;min-height:min(86vh,820px)}
.hero h1{font-size:clamp(52px,8.6vw,132px);line-height:.9;margin:14px 0 22px;transform-origin:left bottom;cursor:pointer;user-select:none;-webkit-user-select:none}
.hero h1 span.ln{display:block;white-space:nowrap}
.hero h1 span.ln:nth-child(2){padding-left:.6em;font-size:.72em;color:var(--rh-glow)}
.hero h1{filter:drop-shadow(0 12px 30px rgba(79,190,60,.22))}
.hero h1 .l{display:inline-block;background:linear-gradient(180deg,var(--cream) 0%,var(--creep-2) 45%,var(--creep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .2s}
.hero h1 span.ln:nth-child(2) .l{background-image:linear-gradient(180deg,var(--rh-glow),var(--rh))}
.hero h1 .l:hover{transform:translateY(-8px) rotate(-4deg)}
.hero h1 .l.pop{animation:pop .4s cubic-bezier(.36,.07,.19,.97) 1}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.25) rotate(6deg)}100%{transform:scale(1)}}
.hero .lede{font-size:clamp(18px,2vw,22px);max-width:34ch;color:var(--cream-2);margin:0 0 30px}
.hero .lede b{color:var(--creep-2);font-weight:700}
.cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.addr{margin-top:26px;display:inline-flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-radius:6px;background:rgba(238,251,230,.05);border:1px solid var(--line);font-size:14px;max-width:100%}
.addr code{color:var(--creep-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;min-width:0;flex:1 1 auto}
.addr button{background:rgba(238,251,230,.1);border:0;color:var(--cream);border-radius:4px;padding:6px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.addr button:hover{background:rgba(238,251,230,.18)}
.hero-side{position:relative}
.moon{position:absolute;top:-10px;right:6%;width:56px;height:56px;cursor:pointer;z-index:3;filter:drop-shadow(0 0 18px rgba(238,251,230,.5));transition:transform .4s cubic-bezier(.36,.07,.19,.97)}
.moon:hover{transform:scale(1.15)}
.moon svg{width:100%;height:100%}
html[data-sky="boom"] .moon{filter:drop-shadow(0 0 22px rgba(255,122,47,.9))}
html[data-sky="chain"] .moon{filter:drop-shadow(0 0 22px rgba(0,200,5,.9))}
.mascot{position:relative;display:grid;place-items:center;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.mascot .glow{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(79,190,60,.5),rgba(0,200,5,.15) 45%,transparent 70%);filter:blur(12px);animation:pulse var(--beat) ease-in-out infinite}
html[data-sky="boom"] .mascot .glow{background:radial-gradient(circle,rgba(255,122,47,.55),rgba(255,77,31,.15) 45%,transparent 70%)}
.mascot img{width:min(100%,560px);height:auto;position:relative;animation:bob var(--beat) steps(4,end) infinite;transform-origin:50% 100%;will-change:transform}
.mascot::after{content:"";position:absolute;bottom:2%;left:50%;width:46%;height:5%;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%);pointer-events:none}
.mascot.hit img{animation:swell .5s cubic-bezier(.36,.07,.19,.97) 1}
.mascot.asleep img{animation:snore 3s ease-in-out infinite}
.mascot .hint{position:absolute;bottom:-4px;font-family:var(--pixel);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ring{position:absolute;width:40%;aspect-ratio:1;border-radius:50%;border:3px solid var(--boom-2);opacity:0;pointer-events:none}
.ring.go{animation:ring .7s ease-out 1}
.combo{position:absolute;top:8%;left:50%;transform:translateX(-50%);font-family:var(--display);font-size:clamp(22px,3vw,40px);color:var(--boom-2);pointer-events:none;opacity:0;text-shadow:0 4px 20px rgba(0,0,0,.6);white-space:nowrap}
.combo.show{animation:comboIn .5s ease-out 1 forwards}
@keyframes comboIn{0%{opacity:0;transform:translate(-50%,10px) scale(.6)}30%{opacity:1;transform:translate(-50%,-6px) scale(1.15)}100%{opacity:1;transform:translate(-50%,0) scale(1)}}
.fuses{margin-top:8px;display:inline-flex;gap:8px;align-items:center;font-family:var(--pixel);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.fuses b{font-family:var(--display);color:var(--boom-2);font-size:16px;letter-spacing:.02em}
@keyframes bob{0%,100%{transform:translateY(0)}25%{transform:translateY(-8px)}50%{transform:translateY(0)}75%{transform:translateY(-4px)}}
@keyframes snore{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.03) translateY(-3px)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.75}14%{transform:scale(1.12);opacity:1}}
@keyframes swell{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.14,1.08);filter:brightness(1.8)}70%{transform:scale(.96);filter:brightness(1)}100%{transform:scale(1)}}
@keyframes ring{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.4);opacity:0}}
h1.shake{animation:shake .35s ease 1}
@keyframes shake{0%,100%{transform:translate(0)}25%{transform:translate(-4px,2px) rotate(-.6deg)}50%{transform:translate(4px,-2px) rotate(.6deg)}75%{transform:translate(-2px,1px)}}
body.quake{animation:quake .6s ease 1}
@keyframes quake{0%,100%{transform:translate(0)}15%{transform:translate(-10px,6px)}30%{transform:translate(10px,-6px)}45%{transform:translate(-7px,3px)}60%{transform:translate(7px,-3px)}80%{transform:translate(-3px,1px)}}
@media (max-width:900px){.hero{grid-template-columns:minmax(0,1fr);min-height:0}.hero h1 span.ln:nth-child(2){padding-left:.4em}.hero-side{order:-1}.mascot img{width:min(70vw,360px)}.moon{right:2%;top:-20px}}

/* marquee */
.band-wrap{overflow:hidden;padding:12px 0;margin-top:20px}
.band{transform:rotate(-1.5deg) scale(1.03);background:
  linear-gradient(90deg,rgba(0,0,0,.25),transparent 30%,transparent 70%,rgba(0,0,0,.25)),
  repeating-linear-gradient(90deg,#2f7f22 0 24px,#3f9c2e 24px 48px,#45ad35 48px 72px,#2f7f22 72px 96px);
  border-top:4px solid #63d34d;border-bottom:4px solid #1f5a16;box-shadow:0 20px 50px -20px rgba(0,0,0,.8);overflow:hidden}
.band .track{display:flex;white-space:nowrap;animation:marquee 26s linear infinite;width:max-content}
.band:hover .track{animation-play-state:paused}
.band span{font-family:var(--display);font-size:clamp(22px,3.4vw,40px);padding:14px 22px;color:var(--cream);text-shadow:0 3px 0 rgba(0,0,0,.45);cursor:pointer;display:inline-block;transition:transform .15s}
.band span:hover{transform:translateY(-4px) rotate(-3deg);color:var(--creep-2)}
.band span.boom{color:var(--boom-2)}
.band span.boing{animation:boing .5s cubic-bezier(.36,.07,.19,.97) 1}
@keyframes boing{0%{transform:scale(1)}40%{transform:scale(1.4) rotate(-8deg)}100%{transform:scale(1)}}
@keyframes marquee{to{transform:translateX(-50%)}}

/* sections */
section{padding:clamp(64px,9vw,120px) 0}
.sec-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:38px}
.sec-head h2{font-size:clamp(34px,5.4vw,64px)}
.sec-head p{max-width:46ch;margin:0;color:var(--muted)}
@media (max-width:760px){.sec-head{grid-template-columns:minmax(0,1fr)}}

/* live */
.live-card{position:relative;border-radius:10px;padding:clamp(22px,3.5vw,40px);background:linear-gradient(160deg,rgba(26,58,34,.85),rgba(12,26,16,.92));border:1px solid rgba(139,224,122,.18);box-shadow:0 40px 80px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06);overflow:hidden;transition:border-color .5s,box-shadow .5s}
.live-card.is-live{border-color:var(--rh-line);box-shadow:0 40px 80px -40px rgba(0,0,0,.9),0 0 60px -20px rgba(0,200,5,.4),inset 0 1px 0 rgba(255,255,255,.06)}
.live-card::before{content:"";position:absolute;inset:-40% -20% auto auto;width:60%;aspect-ratio:1;background:radial-gradient(circle,rgba(79,190,60,.25),transparent 60%);pointer-events:none}
.live-card.is-live::before{background:radial-gradient(circle,rgba(0,200,5,.25),transparent 60%)}
.status{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:4px;background:rgba(0,0,0,.35);border:1px solid var(--line);font-family:var(--pixel);font-size:9px;letter-spacing:.04em;text-transform:uppercase;line-height:1.6}
.status .dot{width:9px;height:9px;background:var(--muted)}
.status.live{border-color:var(--rh-line);color:var(--rh-glow)}
.status.live .dot{background:var(--rh);animation:ping 1.6s infinite}
.status.grad .dot{background:var(--gold)}
.status.pre .dot{background:var(--boom)}
.live-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;position:relative}
.live-top .right{font-size:13px;color:var(--muted);display:flex;gap:12px;align-items:center}
.nerd{font-family:var(--pixel);font-size:8px;letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border-radius:4px;border:1px solid var(--line);background:none;color:var(--muted);cursor:pointer}
.nerd.on{border-color:var(--rh-line);color:var(--rh-glow);background:var(--rh-soft)}
.progress{margin:30px 0 10px;position:relative}
.progress .labels{display:flex;justify-content:space-between;font-size:14px;color:var(--cream-2);margin-bottom:10px;align-items:end}
.progress .labels b{font-family:var(--display);font-size:clamp(28px,4vw,44px);color:var(--creep-2);letter-spacing:.02em}
.bar-wrap{position:relative;padding-top:40px}
.bar{height:26px;border-radius:4px;background:rgba(0,0,0,.45);border:1px solid rgba(238,251,230,.1);overflow:hidden;position:relative}
.bar .fill{height:100%;width:0%;background:repeating-linear-gradient(90deg,var(--creep) 0 14px,var(--creep-2) 14px 28px);box-shadow:0 0 30px rgba(79,190,60,.6);transition:width 1.2s cubic-bezier(.2,.8,.2,1);position:relative}
.bar .fill::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-55deg,rgba(255,255,255,.18) 0 10px,transparent 10px 22px);animation:stripes 1.4s linear infinite;mix-blend-mode:overlay}
@keyframes stripes{to{transform:translateX(30px)}}
.bar .goal{position:absolute;right:0;top:0;bottom:0;width:5px;background:var(--boom);box-shadow:0 0 12px var(--boom)}
.walker{position:absolute;bottom:22px;left:0;width:54px;height:54px;transform:translateX(-50%);transition:left 1.2s cubic-bezier(.2,.8,.2,1);pointer-events:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.walker img{width:100%;height:100%;animation:bob var(--beat) steps(4,end) infinite}
.goal-flag{position:absolute;right:-6px;top:0;font-family:var(--pixel);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--boom-2)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.stat{padding:18px 18px 16px;border-radius:8px;background:rgba(0,0,0,.3);border:1px solid var(--line);cursor:pointer;transition:transform .2s,border-color .2s;position:relative}
.stat:hover{transform:translateY(-3px);border-color:rgba(139,224,122,.4)}
.stat .k{font-family:var(--pixel);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.stat .v{font-family:var(--display);font-size:clamp(20px,2.3vw,28px);color:var(--cream);letter-spacing:.01em;line-height:1.1;word-break:break-word}
.stat .s{font-size:12px;color:var(--muted);margin-top:6px}
.stat .raw{display:none;font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--rh-glow);margin-top:8px;overflow-wrap:anywhere}
.live-card.nerd-on .stat .raw{display:block}
.live-card.nerd-on .stat{border-color:var(--rh-line)}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}
.live-foot{margin-top:22px;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}
.live-foot a{color:var(--rh-glow);text-decoration:none;border-bottom:1px dashed var(--rh-line)}
.live-foot a:hover{border-bottom-style:solid}
.err{display:none;margin-top:14px;padding:12px 14px;border-radius:6px;background:var(--boom-soft);border:1px solid var(--boom-line);font-size:14px}

/* lore */
.lore{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.beat{position:relative;padding:30px 26px 28px;border-radius:10px;background:rgba(238,251,230,.04);border:1px solid var(--line);transition:transform .25s ease,border-color .25s;cursor:pointer}
.beat:hover{transform:translateY(-4px);border-color:rgba(139,224,122,.45)}
.beat:nth-child(2){transform:translateY(28px)}.beat:nth-child(2):hover{transform:translateY(24px)}
.beat:nth-child(3){transform:translateY(56px)}.beat:nth-child(3):hover{transform:translateY(52px)}
.beat .n{font-family:var(--display);font-size:64px;color:transparent;-webkit-text-stroke:2px rgba(139,224,122,.5);line-height:1;margin-bottom:12px}
.beat h3{font-size:24px;margin-bottom:12px;color:var(--creep-2)}
.beat:nth-child(3) h3{color:var(--boom-2)}
.beat p{margin:0;color:var(--cream-2)}
.beat img{position:absolute;right:14px;top:14px;width:64px;opacity:.95;transition:transform .3s}
.beat:hover img{transform:scale(1.15)}
.beat.secret{grid-column:1/-1;transform:none;background:linear-gradient(135deg,var(--rh-soft),rgba(26,58,34,.4));border-color:var(--rh-line);margin-top:70px}
.beat.secret h3{color:var(--rh-glow)}
@media (max-width:820px){.lore{grid-template-columns:minmax(0,1fr)}.beat:nth-child(n){transform:none}.beat.secret{margin-top:0}}

/* tokenomics */
.tok{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:start}
.split{display:flex;height:64px;border-radius:6px;overflow:hidden;border:1px solid var(--line);margin:8px 0 18px}
.split div{display:grid;place-items:center;font-family:var(--display);font-size:clamp(14px,1.8vw,20px);color:var(--ink);transition:flex 1s cubic-bezier(.2,.8,.2,1)}
.split .a{flex:71.4;background:repeating-linear-gradient(90deg,var(--creep) 0 20px,var(--creep-2) 20px 40px)}
.split .b{flex:28.6;background:linear-gradient(180deg,var(--rh-glow),var(--rh))}
.legend{display:flex;gap:26px;flex-wrap:wrap;font-size:14px;color:var(--cream-2)}
.legend i{display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-1px}
.rows{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:rgba(238,251,230,.03)}
.row{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px 20px;border-top:1px solid var(--line);align-items:center;position:relative}
.row:first-child{border-top:0}
.row .k{font-weight:500}
.row .k small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:2px}
.row .v{font-family:var(--display);color:var(--creep-2);font-size:18px;text-align:right}
@media (max-width:900px){.tok{grid-template-columns:minmax(0,1fr)}}

/* memes */
.memes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;perspective:1200px}
.meme{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#000;cursor:pointer;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .25s;aspect-ratio:1;will-change:transform}
.meme.tilting{transition:transform .08s ease-out}
.meme img{width:100%;height:100%;display:block;object-fit:cover}
.meme:hover{box-shadow:0 30px 60px -20px rgba(0,0,0,.9),0 0 0 1px rgba(139,224,122,.4)}
.meme .tag{position:absolute;left:10px;bottom:10px;font-family:var(--pixel);font-size:8px;letter-spacing:.04em;text-transform:uppercase;padding:6px 9px;border-radius:4px;background:rgba(0,0,0,.65);color:var(--cream);opacity:0;transition:opacity .2s;backdrop-filter:blur(6px)}
.meme:hover .tag{opacity:1}
@media (max-width:900px){.memes{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.memes{grid-template-columns:repeat(2,1fr)}}
.stickers{display:flex;gap:10px;flex-wrap:wrap;margin-top:40px}
.sticker{width:84px;height:84px;border-radius:8px;background:rgba(238,251,230,.05);border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;transition:transform .2s,border-color .2s;padding:8px;text-decoration:none}
.sticker img{width:100%;height:100%;object-fit:contain}
.sticker:hover{transform:translateY(-6px);border-color:var(--creep-2)}

/* generator */
.gen{margin-top:70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:34px;align-items:start}
.gen-card{border-radius:10px;padding:24px;background:rgba(238,251,230,.04);border:1px solid var(--line)}
.gen h3{font-size:26px;margin-bottom:6px}
.gen label{display:block;font-family:var(--pixel);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}
.gen input[type=text]{width:100%;padding:14px 16px;border-radius:6px;border:1px solid var(--line);background:rgba(0,0,0,.35);color:var(--cream);font:inherit;font-family:var(--display);font-size:18px;letter-spacing:.02em;outline:none}
.gen input[type=text]:focus{border-color:var(--creep-2)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:8px 14px;border-radius:4px;border:1px solid var(--line);background:none;color:var(--cream);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.chip.active{border-color:var(--rh);background:var(--rh-soft);color:var(--rh-glow)}
.poses{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}
.poses button{aspect-ratio:1;border-radius:6px;border:1px solid var(--line);background:rgba(0,0,0,.25);cursor:pointer;padding:4px}
.poses button img{width:100%;height:100%;object-fit:contain}
.poses button.active{border-color:var(--rh);box-shadow:0 0 0 3px var(--rh-soft)}
.gen canvas{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.9);display:block;background:#000}
.gen .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
@media (max-width:900px){.gen{grid-template-columns:minmax(0,1fr)}.poses{grid-template-columns:repeat(6,1fr)}}

/* how */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.step{padding:26px 22px;border-radius:10px;background:linear-gradient(180deg,rgba(238,251,230,.06),rgba(238,251,230,.02));border:1px solid var(--line);position:relative;transition:transform .2s,border-color .2s}
.step:hover{transform:translateY(-4px);border-color:var(--rh-line)}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--pixel);font-size:10px;letter-spacing:.06em;color:var(--rh-glow)}
.step h3{font-size:20px;margin:12px 0 8px}
.step p{margin:0;color:var(--cream-2);font-size:15px}
.step a{color:var(--creep-2)}
.step .netbtn{margin-top:12px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.steps{grid-template-columns:minmax(0,1fr)}}

/* roadmap */
.road{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.road::before{content:"";position:absolute;left:0;right:0;top:34px;height:4px;background:linear-gradient(90deg,var(--rh),var(--creep-2),var(--boom),rgba(255,122,47,.15))}
.phase{padding:0 18px 0 0;position:relative;cursor:pointer}
.phase .pin{width:70px;height:70px;border-radius:8px;display:grid;place-items:center;background:var(--night);border:3px solid var(--creep);font-family:var(--display);font-size:22px;color:var(--creep-2);position:relative;z-index:1;box-shadow:0 0 0 8px var(--night);transition:transform .2s}
.phase:hover .pin{transform:scale(1.1) rotate(-6deg)}
.phase:last-child .pin{border-color:var(--boom);color:var(--boom-2)}
.phase h3{font-size:22px;margin:18px 0 8px}
.phase p{margin:0;color:var(--cream-2);font-size:15px}
.phase .more{max-height:0;overflow:hidden;transition:max-height .4s ease;font-size:14px;color:var(--muted)}
.phase.open .more{max-height:200px;margin-top:10px}
.phase.done .pin{background:var(--rh);border-color:var(--rh);color:#032a08;box-shadow:0 0 0 8px var(--night),0 0 24px rgba(0,200,5,.6)}
@media (max-width:820px){.road{grid-template-columns:minmax(0,1fr);gap:34px}.road::before{left:34px;right:auto;top:0;bottom:0;width:4px;height:auto;background:linear-gradient(180deg,var(--rh),var(--creep-2),var(--boom))}}

/* fair */
.fair{border-radius:10px;padding:clamp(26px,4vw,48px);background:linear-gradient(135deg,var(--rh-soft),rgba(26,58,34,.4));border:1px solid var(--rh-line);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px;align-items:center}
.fair h2{font-size:clamp(30px,4.6vw,52px);margin-bottom:14px}
.fair p{color:var(--cream-2);margin:0 0 10px}
.fair ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.fair li{padding:12px 14px;border-radius:6px;background:rgba(0,0,0,.3);border:1px solid var(--line);font-size:15px}
.fair li b{color:var(--rh-glow)}
@media (max-width:820px){.fair{grid-template-columns:minmax(0,1fr)}}

/* footer */
footer{padding:60px 0 70px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.foot{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}
.social{display:flex;gap:10px;flex-wrap:wrap}
.social a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;border:1px solid var(--line);text-decoration:none;color:var(--cream);font-weight:600;background:rgba(238,251,230,.04)}
.social a:hover{border-color:var(--creep-2);color:var(--creep-2)}
.clock{font-family:var(--display);font-size:26px;color:var(--boom-2);letter-spacing:.02em}
.secrets{display:grid;gap:6px;margin-top:8px}
.secret{display:flex;gap:10px;align-items:center;font-size:13px;padding:6px 10px;border-radius:4px;background:rgba(238,251,230,.03);border:1px solid var(--line)}
.secret.found{border-color:var(--rh-line);color:var(--cream)}
.secret .ico{width:18px;text-align:center}
.disclaimer{max-width:70ch;margin-top:26px;font-size:12.5px;line-height:1.6}
@media (max-width:820px){.foot{grid-template-columns:minmax(0,1fr)}}

/* hidden gunpowder */
.hgp{display:inline-block;width:22px;height:22px;cursor:pointer;opacity:.35;transition:opacity .2s,transform .2s;vertical-align:middle;border:0;background:none;padding:0}
.hgp:hover{opacity:1;transform:scale(1.3)}
.hgp.found{opacity:1;filter:drop-shadow(0 0 8px var(--boom-2))}
.hgp svg{width:100%;height:100%}

/* toast, lightbox, walker rail, fx */
.toasts{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:60;display:grid;gap:8px;pointer-events:none}
.toast{padding:12px 18px;border-radius:6px;background:rgba(7,13,9,.94);border:1px solid var(--line);color:var(--cream);font-weight:600;font-size:14px;box-shadow:0 20px 50px -20px #000;animation:toastIn .35s ease-out 1;backdrop-filter:blur(10px)}
.toast.rh{border-color:var(--rh-line);color:var(--rh-glow)}
.toast.boom{border-color:var(--boom-line);color:var(--boom-2)}
@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.lightbox{position:fixed;inset:0;z-index:70;background:rgba(3,8,4,.88);backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}
.lightbox .inner{max-width:min(92vw,560px);width:100%}
.lightbox img{width:100%;border-radius:10px;box-shadow:0 40px 90px -30px #000;display:block}
.lightbox .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;justify-content:center}
.rail{position:fixed;left:0;right:0;bottom:0;height:5px;background:rgba(238,251,230,.06);z-index:30}
.rail .done{height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--creep),var(--rh));will-change:transform}
.rail .foot-log{position:absolute;bottom:3px;left:0;width:44px;height:44px;transform:translateX(-50%);cursor:pointer;transition:transform .2s;filter:drop-shadow(0 4px 8px rgba(0,0,0,.6))}
.rail .foot-log:hover{transform:translateX(-50%) scale(1.2)}
.rail .foot-log img{width:100%;height:100%}
.rail .print{position:absolute;bottom:6px;width:7px;height:7px;background:var(--creep-dark);opacity:.7;transform:translateX(-50%)}
.fx{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}
.fx .bit{position:absolute;font-family:var(--display);font-size:22px;color:var(--creep-2);animation:bitUp 1.2s ease-out forwards;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.fx .bit.rh{color:var(--rh-glow)}
.fx .bit.boom{color:var(--boom-2)}
@keyframes bitUp{0%{opacity:1;transform:translate(-50%,0) scale(.6)}100%{opacity:0;transform:translate(-50%,-140px) scale(1.4) rotate(var(--r))}}
.fx .drop{position:absolute;top:-60px;width:40px;height:40px;animation:drop linear forwards}
@keyframes drop{to{transform:translateY(110vh) rotate(720deg)}}
.fx .ripple{position:absolute;width:20px;height:20px;border:2px solid var(--creep-2);transform:translate(-50%,-50%);animation:rip .6s ease-out forwards}
@keyframes rip{to{width:120px;height:120px;opacity:0}}
.fx .shard{position:absolute;width:12px;height:12px;background:var(--boom-2);animation:shard .9s ease-out forwards}
@keyframes shard{to{transform:translate(var(--dx),var(--dy)) rotate(540deg);opacity:0}}
.flash{position:fixed;inset:0;z-index:55;pointer-events:none;display:grid;place-items:center;font-family:var(--display);font-size:clamp(40px,12vw,180px);color:var(--boom-2);text-shadow:0 0 60px rgba(255,122,47,.9);opacity:0}
.flash.go{animation:flash .9s ease-out 1}
.flash.white{color:var(--cream);text-shadow:0 0 80px #fff}
@keyframes flash{0%{opacity:0;transform:scale(.6)}20%{opacity:1;transform:scale(1.05)}70%{opacity:1}100%{opacity:0;transform:scale(1.2)}}
.whiteout{position:fixed;inset:0;z-index:54;pointer-events:none;background:#fff;opacity:0}
.whiteout.go{animation:whiteout .7s ease-out 1}
@keyframes whiteout{0%{opacity:.9}100%{opacity:0}}
body.boommode{--beat:400ms}
body.boommode .band .track{animation-duration:8s}
.mode-banner{position:fixed;top:66px;left:0;right:0;z-index:25;text-align:center;padding:10px;background:linear-gradient(90deg,var(--fire),var(--boom-2),var(--rh-glow));color:var(--ink);font-family:var(--pixel);font-size:10px;letter-spacing:.06em}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ─── features.js ──────────────────────────────────────────────────────── */
.small{font-size:12.5px}
nav .icon{width:38px;height:38px;border-radius:6px;border:1px solid var(--line);background:rgba(238,251,230,.05);color:var(--cream);font-size:16px;cursor:pointer;display:grid;place-items:center;padding:0}
nav .icon:hover{border-color:var(--creep-2)}
nav .icon.on{border-color:var(--rh);color:var(--rh-glow);background:var(--rh-soft);animation:pulse 1s ease-in-out infinite}
/* countdown */
.countdown{margin-top:26px;padding:16px 18px;border-radius:8px;background:var(--boom-soft);border:1px solid var(--boom-line);max-width:420px}
.cd-text{font-family:var(--display);font-size:clamp(28px,4vw,44px);color:var(--boom-2);line-height:1.1;margin:4px 0 10px}
.cd-bar{position:relative;height:10px;background:rgba(0,0,0,.4);border-radius:2px;overflow:visible}
.cd-fuse{height:100%;width:100%;background:repeating-linear-gradient(90deg,#c9a36a 0 8px,#8a5a2b 8px 16px);transition:width 1s linear;position:relative}
.cd-fuse::after{content:"";position:absolute;right:-6px;top:-6px;width:12px;height:22px;background:var(--boom-2);box-shadow:0 0 16px var(--boom),0 0 30px var(--fire);animation:sparkle .15s steps(2) infinite}
@keyframes sparkle{50%{transform:scale(1.4,.8) translateY(-4px)}}
/* live grid: trades + quote */
.live-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px;margin-top:18px}
@media (max-width:900px){.live-grid{grid-template-columns:minmax(0,1fr)}}
.panel{border-radius:10px;padding:22px;background:rgba(0,0,0,.28);border:1px solid var(--line)}
.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.panel h3{font-size:20px}
#spark{width:100%;height:60px;display:block;border-radius:6px;background:rgba(0,0,0,.25);margin-bottom:12px}
.trades{display:grid;gap:4px;max-height:330px;overflow:auto}
.trade{display:grid;grid-template-columns:52px 1fr auto auto 64px;gap:10px;align-items:center;padding:8px 10px;border-radius:6px;text-decoration:none;font-size:13px;background:rgba(238,251,230,.03);border:1px solid transparent}
.trade.new{animation:toastIn .5s ease-out 1;background:rgba(91,255,122,.08)}
.trade:hover{border-color:var(--line)}
.trade .side{font-family:var(--pixel);font-size:8px;padding:5px 6px;border-radius:3px;text-align:center}
.trade.buy .side{background:var(--rh-soft);color:var(--rh-glow)}
.trade.sell .side{background:var(--boom-soft);color:var(--boom-2)}
.trade .when{color:var(--muted);text-align:right;font-size:12px}
.trade .who,.trade .amt{white-space:nowrap}
.trade .tok{color:var(--muted)}
@media (max-width:560px){.trade{grid-template-columns:48px 1fr auto;}.trade .tok,.trade .when{display:none}}
.chip.side{margin-bottom:10px}
.q-row{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:6px;padding:4px 14px 4px 4px;margin-bottom:10px}
.q-row input{flex:1;min-width:0;background:none;border:0;color:var(--cream);font-family:var(--display);font-size:26px;padding:10px 12px;outline:none}
.q-unit{font-family:var(--pixel);font-size:10px;color:var(--muted)}
.q-out{font-family:var(--display);font-size:clamp(24px,3vw,34px);color:var(--creep-2);margin:16px 0 6px;line-height:1.1}
#q-detail sub{font-size:.6em}
/* bag */
.bag-in{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:22px}
.bag-in input{flex:1;min-width:240px;padding:14px 16px;border-radius:6px;border:1px solid var(--line);background:rgba(0,0,0,.35);color:var(--cream);font:inherit;font-family:ui-monospace,Menlo,monospace;font-size:14px;outline:none}
.bag-in input:focus{border-color:var(--creep-2)}
.bag-card{display:grid;grid-template-columns:140px 1fr;gap:22px;align-items:center;padding:24px;border-radius:10px;background:linear-gradient(135deg,var(--rh-soft),rgba(26,58,34,.35));border:1px solid var(--rh-line)}
.bag-card img{width:140px;height:140px}
.bag-card .big{font-family:var(--display);font-size:clamp(28px,4vw,44px);color:var(--creep-2);line-height:1.05;margin:6px 0}
@media (max-width:560px){.bag-card{grid-template-columns:minmax(0,1fr)}.bag-card img{width:100px;height:100px}}
/* peeker */
.peeker{position:fixed;z-index:40;width:120px;height:120px;cursor:pointer;transition:transform .5s cubic-bezier(.36,.07,.19,.97);filter:drop-shadow(0 10px 20px rgba(0,0,0,.7))}
.peeker img{width:100%;height:100%;animation:bob 1s steps(4,end) infinite}
.peeker.left{left:0;top:var(--pos);transform:translateX(-110%)}
.peeker.left.in{transform:translateX(-30%)}
.peeker.right{right:0;top:var(--pos);transform:translateX(110%) scaleX(-1)}
.peeker.right.in{transform:translateX(30%) scaleX(-1)}
.peeker.bottom{bottom:0;left:var(--pos);transform:translateY(110%)}
.peeker.bottom.in{transform:translateY(35%)}

/* ─── ui.js: professional layer ────────────────────────────────────────── */
:focus-visible{outline:2px solid var(--rh-glow);outline-offset:3px;border-radius:4px}
kbd{font-family:var(--pixel);font-size:9px;padding:4px 7px;border-radius:4px;border:1px solid var(--line);background:rgba(0,0,0,.35);color:var(--cream)}
.scrollbar{position:absolute;left:0;bottom:-1px;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--creep),var(--rh-glow));will-change:transform}
nav .links a.active{color:var(--creep-2);opacity:1}
nav .links a.active::after{right:0}
nav .burger{display:none;flex-direction:column;gap:4px;justify-content:center}
.burger span{display:block;width:16px;height:2px;background:var(--cream);transition:transform .2s,opacity .2s}
.burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:920px){nav .burger{display:flex}}
.drawer{position:absolute;left:0;right:0;top:66px;background:rgba(7,13,9,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:14px var(--pad) 22px;display:grid;gap:4px;z-index:21}
.drawer a{padding:12px 10px;border-radius:6px;text-decoration:none;font-weight:600;color:var(--cream-2)}
.drawer a:hover{background:rgba(238,251,230,.06);color:var(--creep-2)}
.drawer .chain{justify-self:start;margin-top:8px}
body.noscroll{overflow:hidden}
.trust{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;font-size:13.5px;color:var(--cream-2)}
.trust li{display:flex;gap:9px;align-items:center}
.trust i{font-style:normal;width:18px;height:18px;border-radius:3px;background:var(--rh-soft);border:1px solid var(--rh-line);color:var(--rh-glow);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
@media (max-width:520px){.trust{grid-template-columns:minmax(0,1fr)}}
.eyebrow.num{margin-bottom:10px;color:var(--muted)}
.eyebrow.num span{color:var(--creep-2)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
/* faq */
.faq{display:grid;gap:8px;max-width:820px}
.faq details{border:1px solid var(--line);border-radius:8px;background:rgba(238,251,230,.03);transition:border-color .2s}
.faq details[open]{border-color:var(--rh-line)}
.faq summary{cursor:pointer;padding:16px 46px 16px 18px;font-weight:600;list-style:none;position:relative;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:12px;font-family:var(--display);font-size:20px;color:var(--creep-2);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0;padding:0 18px 18px;color:var(--cream-2);font-size:15px}
/* contracts */
.ctable{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:rgba(238,251,230,.03)}
.crow{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;padding:13px 18px;border-top:1px solid var(--line);align-items:center}
.crow:first-child{border-top:0}
.crow b{font-weight:600}
.crow small{display:block;font-size:12px;color:var(--muted)}
.caddr{display:flex;align-items:center;gap:8px;min-width:0}
.caddr code{font-size:12.5px;color:var(--creep-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.caddr a,.caddr .copy{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:4px;border:1px solid var(--line);background:none;color:var(--cream);text-decoration:none;font-size:12px;cursor:pointer}
.caddr a:hover,.caddr .copy:hover{border-color:var(--rh-line);color:var(--rh-glow)}
@media (max-width:700px){.crow{grid-template-columns:minmax(0,1fr)}}
.chain-status{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-family:var(--pixel);font-size:9px;letter-spacing:.04em;color:var(--muted);padding:8px 12px;border-radius:4px;border:1px solid var(--line)}
.chain-status .dot{width:8px;height:8px;background:var(--muted)}
.chain-status.ok .dot{background:var(--rh);animation:ping 1.8s infinite}
.chain-status.ok{color:var(--rh-glow);border-color:var(--rh-line)}
.chain-status.bad .dot{background:var(--fire)}
/* footer extras */
.flist{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.flist a{text-decoration:none;color:var(--cream-2)}
.flist a:hover{color:var(--creep-2)}
.foot{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr) minmax(0,.8fr) minmax(0,1.1fr)}
@media (max-width:900px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot{grid-template-columns:minmax(0,1fr)}}
.sbar{height:6px;background:rgba(0,0,0,.4);border-radius:2px;margin:8px 0 10px;overflow:hidden}
.sbar div{height:100%;width:0;background:linear-gradient(90deg,var(--creep),var(--rh-glow));transition:width .6s ease}
.secrets{max-height:220px;overflow:auto}
/* modal */
.modal{position:fixed;inset:0;z-index:75;background:rgba(3,8,4,.8);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}
.modal-card{width:min(92vw,460px);background:var(--deep);border:1px solid var(--line);border-radius:10px;padding:22px}
.keys{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;font-size:14px;color:var(--cream-2)}
.keys kbd{margin-right:8px}
/* context menu */
.ctx{position:fixed;z-index:80;min-width:180px;background:var(--deep);border:1px solid var(--rh-line);border-radius:8px;padding:6px;box-shadow:0 30px 60px -20px #000;display:grid}
.ctx button{background:none;border:0;color:var(--cream);text-align:left;padding:9px 10px;border-radius:5px;font:inherit;font-weight:600;cursor:pointer}
.ctx button:hover{background:var(--rh-soft);color:var(--rh-glow)}
/* green star + shooting star + marchers */
.gstar{position:fixed;z-index:35;width:14px;height:14px;padding:0;border:0;background:var(--rh-glow);box-shadow:0 0 12px var(--rh-glow),0 0 30px var(--rh);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .8s;transform:rotate(45deg)}
.gstar.on{opacity:1;pointer-events:auto;animation:twinkle 1.2s ease-in-out infinite}
.fx .shooting{position:absolute;width:6px;height:6px;background:var(--rh-glow);box-shadow:0 0 14px var(--rh-glow);animation:shoot 1.1s ease-in forwards}
.fx .shooting::after{content:"";position:absolute;right:0;top:2px;width:160px;height:2px;background:linear-gradient(90deg,transparent,var(--rh-glow))}
@keyframes shoot{to{transform:translate(-70vw,50vh);opacity:0}}
.fx .marcher{position:absolute;left:-140px;animation:march 6.5s linear forwards;filter:drop-shadow(0 10px 20px rgba(0,0,0,.6))}
@keyframes march{to{transform:translateX(120vw)}}
/* mascot physics */
.mascot img{translate:var(--tx,0) var(--ty,0);rotate:var(--rz,0deg);transition:translate .25s ease,rotate .25s ease}
.mascot.charging img{animation:charge .25s steps(2) infinite;filter:brightness(1.6) drop-shadow(0 0 30px var(--boom-2))}
@keyframes charge{50%{transform:scale(1.06,.96)}}
.mascot.drag{transform:translate(var(--dx,0),var(--dy,0));z-index:5;cursor:grabbing}
.mascot.drag img{animation:none}
.mascot.thrown{transform:translate(var(--dx,0),var(--dy,0)) rotate(540deg);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.mascot.back{transition:transform .7s cubic-bezier(.36,.07,.19,.97)}

/* ─── eggs2.js ─────────────────────────────────────────────────────────── */
.lvl{color:var(--rh-glow)}
.pupil{position:absolute;width:2.3%;aspect-ratio:1;background:#9be58a;pointer-events:none;top:21.6%;transition:transform .08s linear}
.pupil.l{left:40.9%}.pupil.r{left:59.3%}
.mascot img{width:min(100%,560px)}
.pupil[hidden]{display:none}
.mascot.drop .glow{background:radial-gradient(circle,rgba(255,179,71,.6),transparent 70%)}
.mascot.scaled img{scale:var(--scale,1);transition:scale .15s}
.mascot.away{transform:translateX(160vw) !important;transition:transform 6s ease-in}
.walker.jump img{animation:jump .45s cubic-bezier(.36,.07,.19,.97) 1}
@keyframes jump{40%{transform:translateY(-26px) rotate(-8deg)}}
html[data-sky="eclipse"]{--night:#000;--deep:#020402;--sky-a:transparent;--sky-b:transparent;--sky-c:transparent}
html[data-sky="eclipse"] .stars i{opacity:.05}
/* studio */
.studio{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px}
@media (max-width:900px){.studio{grid-template-columns:minmax(0,1fr)}}
.paint-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:560px){.paint-wrap{grid-template-columns:minmax(0,1fr)}}
.paint{display:grid;grid-template-columns:repeat(9,1fr);gap:2px;aspect-ratio:1;background:#0a1408;padding:6px;border-radius:6px;border:2px solid #143d0f;touch-action:none;user-select:none}
.paint i{display:block;background:transparent;border:1px solid rgba(238,251,230,.06);cursor:crosshair}
.paint i:hover{outline:2px solid var(--rh-glow);outline-offset:-2px}
.palette{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.palette button{aspect-ratio:1;border-radius:4px;border:2px solid transparent;cursor:pointer;color:var(--cream);font-weight:700;background:rgba(0,0,0,.3)}
.palette button.active{border-color:var(--cream);box-shadow:0 0 0 2px var(--rh)}
.pt-preview{margin-top:12px;background:rgba(0,0,0,.3);border-radius:8px;border:1px solid var(--line);padding:8px;display:grid;place-items:center}
.pt-preview img{width:120px;height:120px}
.seq{display:grid;gap:6px}
.seq-row{display:grid;grid-template-columns:52px repeat(8,1fr);gap:6px;align-items:center}
.seq-label{font-family:var(--pixel);font-size:8px;color:var(--muted);text-transform:uppercase}
.seq-row button{aspect-ratio:1;border-radius:4px;border:1px solid var(--line);background:rgba(0,0,0,.3);cursor:pointer;padding:0}
.seq-row button.on{background:var(--creep);border-color:var(--creep-2)}
.seq-row:nth-child(2) button.on{background:var(--boom);border-color:var(--boom-2)}
.seq-row:nth-child(3) button.on{background:var(--rh);border-color:var(--rh-glow)}
.seq-row button.now{box-shadow:0 0 0 2px var(--cream)}
#seq-tempo{accent-color:var(--rh)}
/* void + matrix */
.void{position:fixed;inset:0;z-index:90;background:#000;display:grid;place-items:center;cursor:pointer}
.void .eye{position:absolute;top:44%;width:44px;height:44px;background:#9be58a;box-shadow:0 0 30px #5bff7a;transition:transform .1s}
.void .eye.l{left:calc(50% - 70px)}.void .eye.r{left:calc(50% + 26px)}
.void-text{position:absolute;bottom:14%;text-align:center;font-family:var(--display);font-size:22px;color:var(--cream);line-height:1.6}
.matrix{position:fixed;inset:0;z-index:45;pointer-events:none}


/* ─── wave four: graphics / ux ─────────────────────────────────────────── */
/* hero ground: two pixel hill layers + fireflies */
.ground{position:relative;height:170px;margin-top:-70px;z-index:0;pointer-events:none;overflow:hidden}
.ground .hills{position:absolute;left:0;bottom:0;height:200px;width:calc(100% + 1600px);background-repeat:repeat-x;background-size:1600px 200px;background-position:bottom;will-change:transform}
.ground .far{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1600 200%27 preserveAspectRatio=%27none%27%3E%3Cpath d=%27M0 120 v0 h40 v0 h40 v0 h40 v-20 h40 v-20 h40 v-20 h40 v0 h40 v20 h40 v0 h40 v0 h40 v-20 h40 v0 h40 v0 h40 v0 h40 v0 h40 v0 h40 v0 h40 v0 h40 v0 h40 v0 h40 v0 h40 v20 h40 v-20 h40 v20 h40 v-20 h40 v0 h40 v0 h40 v0 h40 v0 h40 v0 h40 v20 h40 v-20 h40 v0 h40 v0 h40 v0 h40 v0 h40 v20 h40 v-20 h40 v20 h40 v-20 h40 V200 H0 Z%27 fill=%27%23143a1c%27/%3E%3C/svg%3E");opacity:.9;animation:drift 60s linear infinite}
.ground .near{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1600 200%27 preserveAspectRatio=%27none%27%3E%3Cpath d=%27M0 150 v-24 h48 v24 h48 v-24 h48 v0 h48 v24 h48 v-24 h48 v24 h48 v0 h48 v0 h48 v-24 h48 v0 h48 v24 h48 v0 h48 v-24 h48 v-24 h48 v-2 h48 v0 h48 v0 h48 v24 h48 v-24 h48 v0 h48 v0 h48 v0 h48 v24 h48 v-24 h48 v0 h48 v0 h48 v0 h48 v0 h48 v0 h48 v24 h48 v24 h48 v0 h48 v-24 h48 V200 H0 Z%27 fill=%27%231f5a28%27/%3E%3C/svg%3E");animation:drift 38s linear infinite reverse}
@keyframes drift{to{transform:translateX(-1600px)}}
.ground .fireflies{position:absolute;inset:0;width:100%;height:100%;pointer-events:auto;cursor:crosshair}
html[data-sky="boom"] .ground .far{filter:hue-rotate(-90deg) brightness(1.4)}
html[data-sky="boom"] .ground .near{filter:hue-rotate(-90deg) brightness(1.2)}
/* pixel frames on the key panels */
.live-card,.panel,.fair,.gen-card{box-shadow:0 0 0 2px rgba(0,0,0,.35),0 40px 80px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06)}
.live-card::after{content:"";position:absolute;inset:6px;border:1px dashed rgba(139,224,122,.14);border-radius:6px;pointer-events:none}
/* section heads: pixel underline */
.sec-head h2{position:relative;padding-bottom:14px}
.sec-head h2::after{content:"";position:absolute;left:0;bottom:0;width:96px;height:6px;background:repeating-linear-gradient(90deg,var(--creep) 0 12px,transparent 12px 18px)}
.sec-head p{padding-top:6px}
/* stat ticks + skeletons */
.stat .v.tick{animation:tick .6s ease-out 1}
@keyframes tick{0%{color:var(--rh-glow);text-shadow:0 0 18px rgba(91,255,122,.9)}100%{color:var(--cream);text-shadow:none}}
.stat .v.skel{color:transparent;position:relative;overflow:hidden;border-radius:4px;background:rgba(238,251,230,.06)}
.stat .v.skel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(238,251,230,.12),transparent);animation:shimmer 1.2s infinite}
@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
/* toasts with icons */
.toast{display:flex;gap:10px;align-items:center}
.toast i{font-style:normal;font-size:12px;opacity:.8}
/* cards: hover lift with a green edge light */
.step,.beat,.stat,.panel,.meme{will-change:transform}
.step:hover,.beat:hover{box-shadow:0 20px 40px -24px rgba(0,0,0,.9),inset 0 0 0 1px rgba(139,224,122,.18)}
/* progress bar glow pulse */
.bar .fill{animation:barglow 2.4s ease-in-out infinite}
@keyframes barglow{50%{box-shadow:0 0 44px rgba(79,190,60,.85)}}
/* TNT blocks between the secrets */
.tnt{position:relative;justify-self:center;width:44px;height:44px;border:0;padding:0;cursor:pointer;display:grid;grid-template-rows:8px 1fr 8px;background:#b3261e;box-shadow:inset 0 0 0 2px #7a1510,0 4px 0 #4a0c08;image-rendering:pixelated;margin:2px 0;transition:transform .1s}
.tnt:hover{transform:translateY(-2px)}
.tnt .cap{background:repeating-linear-gradient(90deg,#f1e7d0 0 6px,#d9cbb0 6px 12px)}
.tnt .lbl{font-family:var(--pixel);font-size:8px;color:#fff;display:grid;place-items:center;text-shadow:1px 1px 0 #4a0c08}
.tnt .fuse{position:absolute;top:-8px;left:50%;width:3px;height:10px;background:#c9a36a;transform:translateX(-50%)}
.tnt.lit .fuse::after{content:"";position:absolute;top:-6px;left:-4px;width:11px;height:11px;background:var(--boom-2);box-shadow:0 0 10px var(--boom);animation:sparkle .12s steps(2) infinite}
.tnt.lit{animation:tntshake .12s linear infinite}
@keyframes tntshake{25%{transform:translate(-1px,1px)}75%{transform:translate(1px,-1px)}}
.tnt.gone{opacity:.12;pointer-events:none;transform:scale(.6)}
/* mobile action bar + back to top */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:36;background:rgba(7,13,9,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);gap:6px}
.mbar a{display:grid;place-items:center;gap:3px;text-decoration:none;font-family:var(--pixel);font-size:9px;color:var(--cream-2);padding:6px 4px;border-radius:6px}
.mbar a i{font-style:normal;font-size:16px;color:var(--creep-2)}
.mbar a.buy{background:linear-gradient(180deg,var(--creep-2),var(--creep));color:var(--ink)}
.mbar a.buy i{color:var(--ink)}
@media (max-width:720px){.mbar{display:grid}.rail{bottom:64px}body{padding-bottom:72px}.toasts{bottom:88px}}
.totop{position:fixed;right:18px;bottom:22px;z-index:36;width:44px;height:44px;border-radius:6px;border:1px solid var(--rh-line);background:rgba(7,13,9,.9);color:var(--rh-glow);font-family:var(--display);font-size:18px;cursor:pointer;box-shadow:0 10px 30px -10px #000}
@media (max-width:720px){.totop{bottom:86px}}
/* vignette for depth */
main::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(120% 90% at 50% 40%,transparent 60%,rgba(0,0,0,.45))}


/* ─── review pass: smoothness ──────────────────────────────────────────── */
/* hero entrance: staggered rise, mascot pops in */
.hero > div:first-child > *{animation:rise .7s cubic-bezier(.2,.8,.2,1) both}
.hero > div:first-child > :nth-child(1){animation-delay:.05s}.hero > div:first-child > :nth-child(2){animation-delay:.12s}.hero > div:first-child > :nth-child(3){animation-delay:.22s}.hero > div:first-child > :nth-child(4){animation-delay:.3s}.hero > div:first-child > :nth-child(n+5){animation-delay:.38s}
.hero-side{animation:popin .8s cubic-bezier(.36,.07,.19,.97) .15s both}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes popin{0%{opacity:0;transform:scale(.6) translateY(30px)}60%{opacity:1;transform:scale(1.06) translateY(-6px)}100%{transform:none}}
/* heavy, below-the-fold sections render lazily */
#memes,#studio{content-visibility:auto;contain-intrinsic-size:1px 900px}
/* buttons: consistent pixel press */
.btn.ghost,.btn.green,.btn.boom{box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 3px 0 rgba(0,0,0,.35)}
.btn.ghost:active,.btn.green:active,.btn.boom:active{box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 1px 0 rgba(0,0,0,.35)}
.btn,.chip,.icon,.stat,.beat,.step,.phase .pin,.sticker,.tnt,.cell{transition-timing-function:cubic-bezier(.2,.8,.2,1)}
/* smoother reveal */
.reveal{transition-duration:.9s}
/* less work while scrolling: fewer composited stars, static glow when the tab is hidden */
.stars i:nth-child(n+46){display:none}
@media print{.reveal{opacity:1;transform:none}.stars,.fx,.ground,.mbar,.totop,.rail,.peeker{display:none!important}}
@media (prefers-reduced-motion:reduce){.hero > div:first-child > *,.hero-side{animation:none}}

/* section rhythm: faint bands behind alternating sections */
#lore,#faq{background:linear-gradient(180deg,transparent,rgba(0,200,5,.035) 50%,transparent)}
#memes,#studio{background:linear-gradient(180deg,transparent,rgba(79,190,60,.03) 50%,transparent)}
/* hero glow: two tones, slow breath */
.mascot .glow{background:radial-gradient(circle,rgba(139,224,122,.55),rgba(0,200,5,.18) 40%,rgba(0,200,5,.05) 60%,transparent 72%);animation:breath 4s ease-in-out infinite}
@keyframes breath{50%{transform:scale(1.08);opacity:.9}}
/* status pills */
.status.pre{border-color:var(--boom-line);color:var(--boom-2)}
/* links: consistent underline motion */
.faq summary:hover{color:var(--creep-2)}
.flist a,.live-foot a{transition:color .2s}

/* ─── wave five ────────────────────────────────────────────────────────── */
.status .dot.off{opacity:.15}
.secret.locked{cursor:pointer}
.secret.locked:hover{border-color:rgba(238,251,230,.25)}
.secret .tier{margin-left:auto;font-size:10px;color:var(--boom-2);letter-spacing:.1em}
html{transition:transform .6s ease}

/* ─── the hunt: solve box + reward card ────────────────────────────────── */
.solve-row{display:flex;gap:8px;margin-top:8px}
.solve-row input{flex:1;min-width:0;padding:12px 14px;border-radius:6px;border:1px solid var(--boom-line);background:rgba(0,0,0,.4);color:var(--cream);font:inherit;outline:none}
.solve-row input:focus{border-color:var(--boom-2)}
.solve-row input.shake{animation:shake .4s ease 1}
.ghosttext{color:transparent;user-select:text}
.ghosttext::selection{color:var(--cream);background:var(--rh)}
.claim{position:fixed;right:18px;bottom:18px;z-index:78;width:min(94vw,440px);animation:toastIn .4s cubic-bezier(.2,.8,.2,1) 1}
@media (max-width:720px){.claim{bottom:82px;right:3vw}}
.claim-card{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:18px;border-radius:12px;background:linear-gradient(160deg,rgba(26,58,34,.98),rgba(12,26,16,.98));border:1px solid var(--rh-line);box-shadow:0 40px 80px -30px #000,0 0 0 2px rgba(0,0,0,.4),0 0 60px -20px rgba(0,200,5,.5)}
.claim[data-kind="bounty"] .claim-card{border-color:var(--boom-line);box-shadow:0 40px 80px -30px #000,0 0 0 2px rgba(0,0,0,.4),0 0 70px -20px rgba(255,122,47,.6)}
.claim-card img{width:96px;height:96px;animation:bob 1s steps(4,end) infinite}
.claim-card h3{font-size:20px;margin:4px 0 6px}
.claim-reward{font-family:var(--display);color:var(--gold);font-size:15px;margin-bottom:4px}
.claim-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.claim-form input{padding:10px 12px;border-radius:6px;border:1px solid var(--line);background:rgba(0,0,0,.4);color:var(--cream);font:inherit;font-size:13px;outline:none;min-width:0}
.claim-form input:focus{border-color:var(--rh-glow)}
.claim-actions{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:420px){.claim-card{grid-template-columns:minmax(0,1fr)}.claim-card img{width:72px;height:72px}}

/* ─── the hunt section ─────────────────────────────────────────────────── */
.hcount{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:6px;border:1px solid var(--boom-line);background:var(--boom-soft);color:var(--boom-2);text-decoration:none;font-family:var(--pixel);font-size:9px;letter-spacing:.04em;white-space:nowrap}
.hcount b{font-family:var(--display);font-size:15px;letter-spacing:.02em;line-height:1}
.hcount .of{color:var(--muted)}
.hcount.hot .ico{animation:pulse 1.6s ease-in-out infinite}
@media (max-width:920px){nav #mus,nav #snd{display:none}}
.hstats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.hstat{padding:18px;border-radius:8px;background:linear-gradient(160deg,rgba(255,122,47,.14),rgba(12,26,16,.9));border:1px solid var(--boom-line)}
.hstat b{display:block;font-family:var(--display);font-size:clamp(22px,2.6vw,32px);color:var(--boom-2);line-height:1.1;word-break:break-word}
.hstat span{font-family:var(--pixel);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:block;margin-top:8px}
@media (max-width:900px){.hstats{grid-template-columns:repeat(2,1fr)}}
.hgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
@media (max-width:900px){.hgrid{grid-template-columns:minmax(0,1fr)}}
.hlist{margin:8px 0 0;padding-left:18px;color:var(--cream-2);font-size:14px;display:grid;gap:6px}
.firsts{margin:8px 0 0;padding-left:20px;display:grid;gap:6px;font-size:14px}
.firsts li{display:flex;justify-content:space-between;gap:12px}
.firsts b{color:var(--rh-glow);font-weight:600}
.hfilter{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 12px}
.secrets.tall{max-height:520px}
.secrets[data-filter="bounty"] .secret.fun,.secrets[data-filter="bounty"] .tnt.for-fun,.secrets[data-filter="all"] .tnt.for-bounty{display:none}
.secrets[data-filter="locked"] .secret.found{display:none}
.secrets[data-filter="found"] .secret.locked,.secrets[data-filter="found"] .tnt,.secrets[data-filter="locked"] .tnt.for-bounty{display:none}
.secret.bounty .ico{filter:drop-shadow(0 0 6px rgba(255,179,71,.6))}
.secret.solved-by-someone.locked::after{content:"solved";margin-left:auto;font-family:var(--pixel);font-size:7px;color:var(--muted)}
.secret.solved-by-someone.locked .tier{margin-left:8px}
.solve-row .btn{white-space:nowrap}
.secret.bounty span small{display:block;font-size:10px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.secret.bounty .reward{margin-left:auto;font-family:var(--pixel);font-size:8px;color:var(--boom-2);white-space:nowrap;padding-left:8px}
.secret.solved-by-someone.locked .reward{text-decoration:line-through;color:var(--muted)}

/* ─── $CREEP page ──────────────────────────────────────────────────────── */
nav .links a.page{color:var(--boom-2);opacity:1}
nav .links a.page::after{background:var(--boom)}
.page-hero{padding:clamp(40px,7vw,90px) 0 10px;max-width:760px}
.page-hero h1{font-size:clamp(56px,9vw,120px);margin:14px 0 18px;background:linear-gradient(180deg,var(--cream),var(--boom-2) 55%,var(--boom));-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero .lede{font-size:clamp(17px,1.9vw,21px);color:var(--cream-2);max-width:52ch;margin:0 0 26px}
body.page-creep section{padding:clamp(48px,7vw,90px) 0}
body.page-creep #fair .fair{margin-top:14px}
.live-foot .chain-status{margin-top:0;padding:5px 9px;font-size:8px}

/* ─── review pass: hunt families + hero teaser ─────────────────────────── */
.teaser{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:10px 14px;border-radius:6px;border:1px solid var(--boom-line);background:var(--boom-soft);color:var(--cream);text-decoration:none;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .15s}
.teaser:hover{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(255,122,47,.12)}
.teaser .ico{font-size:16px}.teaser .arrow{color:var(--boom-2)}
.families{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:18px}
.fam{text-align:left;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:rgba(0,0,0,.28);color:var(--cream);cursor:pointer;font:inherit;display:grid;gap:4px;transition:border-color .2s,transform .2s}
.fam:hover{border-color:var(--boom-line);transform:translateY(-2px)}
.fam.done{border-color:var(--rh-line)}
.fam b{font-size:14px}.fam small{font-size:11px;color:var(--muted);line-height:1.3}
.fam .fbar{height:5px;background:rgba(0,0,0,.4);border-radius:2px;overflow:hidden;margin-top:4px}
.fam .fbar i{display:block;height:100%;background:linear-gradient(90deg,var(--boom),var(--boom-2))}
.fam.done .fbar i{background:var(--rh)}
.fam em{font-style:normal;font-family:var(--pixel);font-size:9px;color:var(--boom-2)}
.fam.done em{color:var(--rh-glow)}
.secrets[data-filter="fam"] .secret.fun,.secrets[data-filter="fam"] .tnt,.secret.fam-hide{display:none}

/* ─── performance & mobile pass ────────────────────────────────────────── */
/* animations only on compositor-friendly properties; hint the browser */
.mascot img,.walker img,.band .track,.stars i,.rail .foot-log{will-change:transform}
.reveal{will-change:opacity,transform}
.reveal.in{will-change:auto}
/* long sections are skipped by layout until needed */
#bag,#lore,#tokenomics{content-visibility:auto;contain-intrinsic-size:1px 700px}
/* stars: cheaper twinkle (opacity only), and none of the fixed noise on phones */
.stars i{animation-name:twinkle-o}
@keyframes twinkle-o{0%,100%{opacity:.2}50%{opacity:.8}}
@media (max-width:700px),(pointer:coarse){
  body::after{display:none}                 /* the noise overlay uses mix-blend-mode: expensive on mobile GPUs */
  header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(7,13,9,.92)}
  .mascot .glow{filter:none;opacity:.7}
  .band .track{animation-duration:40s}
  .live-card::before{display:none}
  .fx .bit{font-size:18px}
}
/* pause the marquee and the hero bob when the tab is hidden or the element is off-screen */
.paused .band .track,.paused .mascot img,.paused .walker img,.paused .stars i{animation-play-state:paused}
/* mobile layout fixes */
@media (max-width:700px){
  .hero h1{font-size:clamp(46px,14vw,72px)}
  .hero .lede{font-size:17px}
  .cta .btn{flex:1 1 calc(50% - 6px);justify-content:center;padding:13px 14px}
  .addr{width:100%}
  .hstats{grid-template-columns:repeat(2,1fr);gap:10px}
  .hstat{padding:14px}
  .hstat b{font-size:20px}
  .families{grid-template-columns:repeat(2,1fr)}
  .fam small{display:none}
  .stats{gap:10px}
  .stat{padding:14px}
  .panel{padding:16px}
  .solve-row{flex-direction:column}
  .solve-row .btn{width:100%;justify-content:center}
  .trades{max-height:260px}
  .trade{grid-template-columns:44px 1fr auto}
  .memes{grid-template-columns:repeat(2,1fr);gap:10px}
  .stickers{gap:8px}
  .sticker{width:64px;height:64px}
  .gen .actions .btn{flex:1 1 auto;justify-content:center}
  .paint-wrap{grid-template-columns:minmax(0,1fr)}
  .palette{grid-template-columns:repeat(7,1fr)}
  .seq-row{grid-template-columns:44px repeat(8,1fr);gap:4px}
  .seq-label{font-size:7px}
  .lightbox .inner{max-width:94vw}
  .lightbox .actions .btn{flex:1 1 calc(50% - 5px);justify-content:center;padding:12px 10px;font-size:14px}
  .claim-card{grid-template-columns:minmax(0,1fr);text-align:center}
  .claim-card img{margin:0 auto}
  .claim-form,.claim-actions{justify-content:center}
  .foot{gap:22px}
  .secrets.tall{max-height:380px}
  main{padding-bottom:70px}                 /* room for the bottom action bar */
}
/* tap targets ≥ 44px on touch devices */
@media (pointer:coarse){
  .btn.small{min-height:44px}
  .chip,.nerd,.hgp,.copy,.caddr a{min-height:40px;min-width:40px}
  .hgp{width:28px;height:28px;opacity:.5}
  .fam,.secret{min-height:44px}
  .faq summary{padding:18px 46px 18px 18px}
}
/* header must never overflow a phone */
.ground{overflow:hidden}
@media (max-width:600px){
  nav{gap:8px}
  .hcount{padding:6px 8px}
  .hcount .of{display:none}
  nav .btn.primary.small{padding:10px 12px;font-size:13px}
}
@media (max-width:430px){
  .brand span{display:none}
  .brand{gap:0}
}
/* family cards: a swipeable strip on phones instead of a tall grid */
@media (max-width:700px){
  .families{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;padding-bottom:6px;margin:0 calc(-1 * var(--pad)) 14px;padding-left:var(--pad);padding-right:var(--pad);scrollbar-width:none}
  .families::-webkit-scrollbar{display:none}
  .fam{flex:0 0 46%;scroll-snap-align:start}
}
/* reward card: a bottom sheet on phones, above the action bar */
@media (max-width:720px){
  .claim{left:0;right:0;bottom:64px;width:auto;padding:0 8px}
  .claim-card{grid-template-columns:72px 1fr;gap:12px;padding:14px;text-align:left;max-height:calc(100vh - 140px);overflow:auto}
  .claim-card img{width:72px;height:72px;margin:0}
  .claim-card h3{font-size:18px}
  .claim-form{grid-template-columns:minmax(0,1fr);gap:6px}
  .claim-form,.claim-actions{justify-content:flex-start}
}

/* nothing may force the layout wider than the phone */
.panel,.live-card,.hgrid>*,.live-grid>*,.studio>*,.tok>*,.gen>*,.gen-card{min-width:0}
.q-row input{width:100%;min-width:0;flex:1 1 0}
input[type=text]{min-width:0}
.trade{min-width:0}

/* ─── mobile review fixes ──────────────────────────────────────────────── */
@media (max-width:700px){
  /* hero: the hills no longer climb over the trust list; the level line wraps cleanly */
  .ground{margin-top:0;height:120px}
  .fuses{flex-wrap:wrap;row-gap:4px;line-height:1.6}
  .fuses .lvl{display:block;width:100%}
  .trust{margin-top:18px}
  /* bag: stack the inputs */
  .bag-in{display:grid;grid-template-columns:1fr;gap:8px}
  .bag-in > span{display:none}
  .bag-in input,.bag-in .btn{width:100%;justify-content:center;min-width:0}
  /* tokenomics rows: value on its own line, never clipped */
  .row{grid-template-columns:minmax(0,1fr);gap:6px}
  .row .v{text-align:left;font-size:16px;word-break:break-word}
  /* the back-to-top button duplicates the bottom bar on phones */
  .totop{display:none}
  /* live card: give the walker room and keep the status pill on one line where possible */
  .status{font-size:8px}
  .live-top .right{font-size:12px}
  /* footer: two columns of links side by side */
  .foot{grid-template-columns:1fr 1fr}
  .foot > div:first-child,.foot > div:nth-child(4){grid-column:1/-1}
  .disclaimer{font-size:12px}
}
@media (max-width:700px){.rail{display:none}}   /* the bottom bar replaces the scroll rail on phones */
