*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#050505 radial-gradient(ellipse at top,#2a1200 0%,#050505 60%);color:#f3e6d8;font-family:'Rubik',sans-serif;line-height:1.6}
.glow{font-family:'Creepster',cursive;color:#ff8c1a;text-shadow:0 0 8px #ff7b00,0 0 20px #ff5e00,0 0 40px #ff3c00;letter-spacing:2px}
nav{display:flex;justify-content:center;flex-wrap:wrap;gap:1.2rem;padding:1rem;position:sticky;top:0;background:rgba(5,5,5,.85);backdrop-filter:blur(6px);z-index:10;border-bottom:1px solid #3a1a00}
nav a{color:#ffb15c;text-decoration:none;font-weight:700}
nav a:hover{color:#fff}
.hero{text-align:center;padding:3rem 1rem 4rem}
.logo{width:min(380px,80vw);border-radius:50%;box-shadow:0 0 40px #ff6a00,0 0 90px #ff4500;animation:pulse 3s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 60px #ff8c1a,0 0 130px #ff5e00}}
h1{font-size:clamp(3rem,12vw,7rem);margin-top:1.5rem;line-height:1}
.ticker{font-size:1.5rem;font-weight:700;color:#ffb15c}
.tagline{font-size:1.25rem;margin:.5rem auto 2rem;max-width:600px}
.cd-label{text-transform:uppercase;letter-spacing:3px;color:#ffb15c;margin-bottom:.8rem}
.countdown{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.countdown div{background:#140800;border:2px solid #ff7b00;border-radius:12px;padding:.8rem 1rem;min-width:84px;box-shadow:0 0 15px rgba(255,120,0,.4)}
.countdown span{display:block;font-family:'Creepster',cursive;font-size:2.6rem;color:#ff8c1a;text-shadow:0 0 10px #ff6a00}
.countdown small{text-transform:uppercase;font-size:.75rem;letter-spacing:2px}
section{max-width:960px;margin:0 auto;padding:4rem 1.25rem;text-align:center}
h2{font-size:clamp(2.4rem,7vw,3.6rem);margin-bottom:1.5rem}
#about p{font-size:1.15rem;max-width:720px;margin:auto}
.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;text-align:left}
.steps li{counter-increment:s;background:#120700;border:1px solid #5a2a00;border-radius:14px;padding:1.2rem}
.steps li::before{content:counter(s);font-family:'Creepster',cursive;font-size:2rem;color:#ff8c1a;text-shadow:0 0 8px #ff6a00;display:block}
.steps b{display:block;color:#ffb15c;margin-bottom:.3rem}
.ca{display:flex;margin:2rem auto 1rem;max-width:520px;border:2px solid #ff7b00;border-radius:12px;overflow:hidden;box-shadow:0 0 18px rgba(255,120,0,.35)}
.ca code{flex:1;padding:.9rem 1rem;background:#0d0500;font-size:1.05rem;text-align:left;overflow-wrap:anywhere}
.ca button,.btn{background:#ff7b00;color:#000;font-weight:700;border:none;padding:.9rem 1.4rem;cursor:pointer;font-family:inherit;font-size:1rem}
.ca button:hover,.btn:hover{background:#ffa24a}
.warn{font-size:.9rem;color:#c9a888}
.ph-note{color:#ffcc00;font-weight:700;margin-bottom:1.2rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
.card{background:#120700;border:2px dashed #ff7b00;border-radius:14px;padding:1.4rem}
.card h3{color:#ffb15c}
.card p{font-size:1.6rem;font-weight:700;color:#ff8c1a}
.card small{font-size:.75rem;color:#ffcc00;text-transform:uppercase;letter-spacing:2px}
.socials{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.btn{text-decoration:none;border-radius:999px;padding:1rem 2rem;box-shadow:0 0 20px rgba(255,120,0,.5)}
footer{border-top:1px solid #3a1a00;padding:2rem 1.25rem;text-align:center;font-size:.85rem;color:#a88d74;max-width:900px;margin:0 auto}
footer p+p{margin-top:.8rem}
@media(max-width:480px){.countdown div{min-width:68px;padding:.6rem}.countdown span{font-size:2rem}nav{gap:.8rem;font-size:.9rem}}

.cta{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin:1rem 0}
.btn.small{padding:.7rem 1.2rem;font-size:.9rem}
.btn.ghost{background:transparent;color:#ffb15c;border:2px solid #ff7b00;box-shadow:none}
.btn.ghost:hover{background:#2a1200}
.card p{font-size:1.4rem}
.fine{font-size:.85rem;color:#c9a888;margin-top:1.2rem;max-width:720px;margin-left:auto;margin-right:auto}
.steps{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}

.carver{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start;margin-top:1.5rem;text-align:left}
#carve{width:100%;height:auto;border-radius:14px;border:2px solid #ff7b00;box-shadow:0 0 25px rgba(255,120,0,.4);touch-action:none;cursor:grab;background:#050505}
.controls{display:flex;flex-direction:column;gap:.5rem}
.controls label{color:#ffb15c;font-weight:700;margin-top:.4rem}
.controls input[type=text]{background:#0d0500;border:2px solid #5a2a00;color:#f3e6d8;border-radius:10px;padding:.7rem;font:inherit;width:100%}
.controls input[type=range]{accent-color:#ff7b00;width:100%}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips button{background:#120700;color:#f3e6d8;border:2px solid #5a2a00;border-radius:999px;padding:.5rem .9rem;font:inherit;cursor:pointer}
.chips button.on{border-color:#ff7b00;background:#2a1200;box-shadow:0 0 10px rgba(255,120,0,.5)}
.controls .cta{justify-content:flex-start}
@media(max-width:760px){.carver{grid-template-columns:1fr}}
/* ===== v4 features ===== */
.demo-banner{display:table;margin-left:auto;margin-right:auto;background:#ffcc00;color:#000;font-weight:700;padding:.4rem 1rem;border-radius:999px;margin-bottom:1rem;font-size:.85rem}
.logo-wrap{position:relative;display:inline-block}
body.king .logo-wrap::before{content:"👑";position:absolute;top:-14%;left:50%;transform:translateX(-50%) rotate(-8deg);font-size:min(110px,22vw);filter:drop-shadow(0 0 18px #ffcc00);z-index:2}
body.haunted{background:#050208 radial-gradient(ellipse at top,#2a0a3a 0%,#0a0410 55%,#050505 100%)}
body.haunted .glow{color:#c77dff;text-shadow:0 0 8px #9d4edd,0 0 20px #7b2cbf,0 0 40px #39ff14}
body.haunted .card,body.haunted .steps li,body.haunted .chapters article{border-color:#7b2cbf}
.chapters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;text-align:left}
.chapters article{background:#120700;border:1px solid #5a2a00;border-radius:14px;padding:1rem;position:relative}
.chapters h3{color:#ffb15c;font-size:1rem;margin-bottom:.4rem}
.chapters .lock{display:block;font-weight:700;color:#ffcc00;font-size:.85rem}
.chapters article.locked p{filter:blur(5px);user-select:none}
.chips button:disabled{opacity:.4;cursor:not-allowed}
.controls small{color:#c9a888;font-weight:400}
.prelaunch{background:#120700;border:2px solid #ff7b00;border-radius:16px;padding:2rem 1rem;box-shadow:0 0 20px rgba(255,120,0,.35)}
.lcd{font-size:clamp(2rem,8vw,3.4rem);margin:.4rem 0 1rem}
.prelaunch .btn{display:inline-block;margin-top:1rem}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.2rem 0}
.stats div{background:#120700;border:1px solid #5a2a00;border-radius:12px;padding:.8rem}
.stats small{display:block;color:#c9a888;text-transform:uppercase;font-size:.7rem;letter-spacing:2px}
.stats b{color:#ff8c1a;font-size:1.1rem}
.mprog{height:18px;background:#1a0a00;border:2px solid #5a2a00;border-radius:999px;overflow:hidden}
.mbar{height:100%;width:0;background:linear-gradient(90deg,#ff5e00,#ffb347);box-shadow:0 0 12px #ff7b00;transition:width 1s}
.mlabel{margin:.6rem 0 1.2rem;color:#ffb15c;font-weight:700}
.ladder{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}
.ladder li{background:#120700;border:2px dashed #5a2a00;border-radius:12px;padding:.7rem .5rem;display:flex;flex-direction:column;font-size:.85rem}
.ladder li b{font-family:'Creepster',cursive;font-size:1.5rem;color:#ff8c1a}
.ladder li em{font-style:normal;font-size:.75rem;color:#c9a888}
.ladder li.done{border:2px solid #ff7b00;box-shadow:0 0 12px rgba(255,120,0,.45)}
.ladder li.done em{color:#7dff7d}
.sus{margin-top:2rem}.sus h3{color:#ffb15c;margin-bottom:.6rem}
.gauge{width:220px;height:110px;margin:0 auto;border-radius:220px 220px 0 0;background:conic-gradient(from 270deg at 50% 100%,#39ff14 0deg,#ffcc00 90deg,#ff2a00 180deg,transparent 180deg);position:relative;overflow:hidden;box-shadow:0 0 18px rgba(255,120,0,.4)}
.gauge::after{content:"";position:absolute;left:30px;right:30px;bottom:0;height:80px;background:#050505;border-radius:160px 160px 0 0}
.needle{position:absolute;left:calc(50% - 3px);bottom:0;width:6px;height:100px;background:#fff;border-radius:3px;transform-origin:50% 100%;transform:rotate(0deg);transition:transform 1s;z-index:2;box-shadow:0 0 8px #fff}
.featured-wrap h3{color:#ffb15c;margin-bottom:.6rem}
.featured{min-height:120px;display:flex;align-items:center;justify-content:center;border:2px dashed #ff7b00;border-radius:14px;padding:1rem;color:#c9a888;margin-bottom:1.2rem}
.featured img{max-width:100%;max-height:420px;border-radius:10px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid #5a2a00}
.gallery .empty{grid-column:1/-1;color:#ffb15c}
.stickers{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-top:1rem}
.sticker{background:#0d0500;border:1px solid #5a2a00;border-radius:14px;padding:.7rem;display:flex;flex-direction:column;gap:.6rem;align-items:center}
.sticker canvas{width:100%;height:auto;border-radius:10px;background:repeating-conic-gradient(#140800 0 25%,#0a0400 0 50%) 0 0/20px 20px}
.sticker .btn{border-radius:999px;font-size:.8rem;padding:.55rem .8rem;width:100%}
.toasts{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;gap:.5rem;width:min(92vw,420px);pointer-events:none}
.toast{background:#1a0a00;border:2px solid #ff7b00;color:#fff;border-radius:14px;padding:.8rem 1rem;box-shadow:0 0 22px rgba(255,120,0,.55);font-weight:700;animation:tin .35s ease-out;text-align:center}
.toast.mini{font-size:.85rem;font-weight:400;padding:.5rem .8rem}
.toast.out{opacity:0;transform:translateY(10px);transition:.4s}
@keyframes tin{from{opacity:0;transform:translateY(20px)}}
.confetti{position:fixed;top:-40px;z-index:60;pointer-events:none;animation:fall 3s linear forwards;will-change:transform}
@keyframes fall{to{transform:translateY(110vh) rotate(540deg)}}
.dancer{position:fixed;bottom:10px;left:-180px;z-index:55;pointer-events:none;animation:dance 6s linear forwards}
.dancer canvas{width:120px;height:150px;transform-origin:30% 80%;animation:bop .22s ease-in-out infinite alternate}
@keyframes dance{to{left:calc(100vw + 20px)}}
@keyframes bop{0%{transform:rotate(-6deg) scaleY(1)}50%{transform:rotate(6deg) scaleY(.88) translateY(8px)}100%{transform:rotate(-4deg) scaleY(1.04)}}
.night-ghost{display:none}
body.night .night-ghost{display:block;position:fixed;right:4vw;top:30vh;font-size:56px;z-index:5;pointer-events:none;opacity:.8;animation:float 6s ease-in-out infinite;filter:drop-shadow(0 0 12px #fff)}
body.night .glow{animation:flicker 4s infinite}
@keyframes float{50%{transform:translate(-30px,-40px)}}
@keyframes flicker{0%,18%,22%,62%,64%,100%{opacity:1}20%,63%{opacity:.45}}
body.paused *,body.paused *::before{animation-play-state:paused!important}
@media(max-width:480px){.stats{grid-template-columns:1fr}.stickers{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important}.confetti,.dancer{display:none}}

.demo-banner[hidden]{display:none}
@keyframes jiggle{0%,100%{transform:scale(1,1)}15%{transform:scale(1.04,.95)}30%{transform:scale(.97,1.04)}45%{transform:scale(1.02,.98)}60%{transform:scale(.99,1.01)}}
#carve.jiggle{animation:jiggle .9s ease-out 2}
.logo-wrap{cursor:pointer;outline:none}
.boing{position:absolute;right:-10px;top:48%;z-index:3;font-family:'Creepster',cursive;font-size:clamp(1.4rem,5vw,2.4rem);color:#ffcc00;text-shadow:0 0 12px #ff7b00;opacity:0;transform:scale(.4) rotate(-12deg);transition:.2s;pointer-events:none}
.logo-wrap:hover .boing,.logo-wrap:focus .boing,.logo-wrap:active .boing{opacity:1;transform:scale(1) rotate(-12deg)}
.logo-wrap:hover .logo,.logo-wrap:focus .logo,.logo-wrap:active .logo{animation:boing .6s ease-in-out 2}
@keyframes boing{0%,100%{transform:scale(1,1)}14%{transform:scale(1.06,.9) translateY(6px)}30%{transform:scale(.9,1.12) translateY(-10px) rotate(-2deg)}48%{transform:scale(1.05,.95) rotate(2deg)}64%{transform:scale(.98,1.03)}80%{transform:scale(1.01,.99)}}
.dancer canvas{animation:bop .22s ease-in-out infinite alternate,jiggle .45s ease-in-out infinite}
.tagline small{display:block;font-size:.8rem;color:#c9a888}

@keyframes shake{0%,100%{transform:translate(0,0)}20%{transform:translate(-4px,2px)}40%{transform:translate(4px,-2px)}60%{transform:translate(-3px,-1px)}80%{transform:translate(2px,1px)}}
.hero:has(.logo-wrap:hover),.hero:has(.logo-wrap:focus){animation:shake .35s ease-in-out 2}
#recBtn[hidden]{display:none}
/* ===== v7 site-wide motion (CSS-first) ===== */
.reveal{opacity:0;transform:translateY(40px) scale(.97);transition:opacity .6s ease var(--d,0ms),transform .7s cubic-bezier(.34,1.56,.64,1) var(--d,0ms)}
.reveal.in{opacity:1;transform:none}
.hero h1 .ltr{display:inline-block;animation:drip 3.2s ease-in-out infinite;animation-delay:calc(var(--i)*.12s)}
@keyframes drip{0%,70%,100%{transform:translateY(0) rotate(0)}78%{transform:translateY(6px) rotate(-4deg) scaleY(1.08)}86%{transform:translateY(-3px) rotate(3deg)}}
h2.glow{transition:transform .3s}h2.glow:hover{animation:wob .6s ease-in-out}
@keyframes wob{25%{transform:rotate(-3deg) scale(1.05)}50%{transform:rotate(2deg) scale(.98)}75%{transform:rotate(-1deg)}}
nav a{display:inline-block;transition:transform .15s}nav a:hover{animation:jig .4s ease-in-out}
@keyframes jig{25%{transform:rotate(-8deg) translateY(-2px)}50%{transform:rotate(6deg) scaleX(1.1)}75%{transform:rotate(-3deg)}}
.btn,.ca button,.chips button{transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background .2s}
.btn:hover,.ca button:hover,.chips button:not(:disabled):hover{transform:translateY(-3px) scale(1.06,.96)}
.btn:active,.ca button:active,.chips button:not(:disabled):active{transform:scale(.9,1.08)}
.countdown span.flip{animation:flip .45s ease-out}
@keyframes flip{0%{transform:rotateX(90deg);opacity:.3}60%{transform:rotateX(-15deg)}100%{transform:none;opacity:1}}
.mbar{position:relative;overflow:hidden}
.mbar::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-100%);animation:shim 2.2s ease-in-out infinite}
@keyframes shim{to{transform:translateX(100%)}}
.chapters article.locked{cursor:pointer}
.chapters article.shake{animation:shk .5s ease-in-out}
@keyframes shk{20%{transform:translateX(-8px) rotate(-2deg)}40%{transform:translateX(8px) rotate(2deg)}60%{transform:translateX(-5px)}80%{transform:translateX(4px)}}
.sticker{transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}
.sticker:hover{transform:perspective(600px) rotateY(-10deg) rotateX(6deg) scale(1.04);box-shadow:0 0 22px rgba(255,120,0,.5)}
#tokenomics .card.in{animation:flt 4s ease-in-out infinite}
#tokenomics .card:nth-child(2).in{animation-delay:-1s}#tokenomics .card:nth-child(3).in{animation-delay:-2s}#tokenomics .card:nth-child(4).in{animation-delay:-3s}
@keyframes flt{50%{transform:translateY(-8px)}}
.peeker{position:fixed;width:70px;height:88px;z-index:40;pointer-events:none;opacity:0}
.peeker.from-left{left:-80px}.peeker.from-right{right:-80px;transform:scaleX(-1)}.peeker.from-bottom{bottom:-100px}
.peeker.go.from-left{animation:peekL 3s ease-in-out}.peeker.go.from-right{animation:peekR 3s ease-in-out}.peeker.go.from-bottom{animation:peekB 3s ease-in-out}
@keyframes peekL{0%,100%{opacity:1;transform:translateX(0)}30%,70%{opacity:1;transform:translateX(65px) rotate(12deg)}}
@keyframes peekR{0%,100%{opacity:1;transform:scaleX(-1) translateX(0)}30%,70%{opacity:1;transform:scaleX(-1) translateX(65px) rotate(12deg)}}
@keyframes peekB{0%,100%{opacity:1;transform:translateY(0)}30%,70%{opacity:1;transform:translateY(-80px) rotate(-8deg)}}
.trail{position:fixed;z-index:70;pointer-events:none;font-size:14px;opacity:0;transform:translate(-50%,-50%)}
.trail.go{animation:trl .8s ease-out forwards}
@keyframes trl{0%{opacity:.9;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,20px) scale(.4) rotate(90deg)}}
.foot-crew{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:1rem;color:#ffb15c;font-size:.8rem}
.foot-crew img{width:44px;height:55px;transform-origin:40% 90%}
.foot-crew.live img{animation:lazytwerk 1.6s ease-in-out infinite}
@keyframes lazytwerk{0%,60%,100%{transform:none}68%{transform:scaleY(.88) rotate(4deg)}76%{transform:scaleY(1.04) rotate(-3deg)}84%{transform:scaleY(.9) rotate(3deg)}92%{transform:none}}
@keyframes tin{0%{opacity:0;transform:translateX(-60px) scale(.8)}60%{opacity:1;transform:translateX(8px) scale(1.04)}80%{transform:translateX(-3px)}100%{transform:none}}
.needle{animation:nw 2.4s ease-in-out infinite}
@keyframes nw{0%,100%{rotate:-3deg}50%{rotate:3deg}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.peeker,.trail{display:none}}
/* ===== v8 polish: a11y + mobile ===== */
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#ff7b00;color:#000;padding:.6rem 1rem;border-radius:8px;font-weight:700}
.skip:focus{left:8px}
a:focus-visible,button:focus-visible,input:focus-visible,.logo-wrap:focus-visible,[tabindex]:focus-visible{outline:3px solid #ffcc00;outline-offset:3px;border-radius:6px}
.logo-wrap:focus-visible{border-radius:50%}
.chapters article.locked:focus-visible{outline:3px solid #ffcc00}
@media(max-width:600px){
  nav{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:1rem;padding:.8rem 1rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  nav::-webkit-scrollbar{display:none}nav a{flex:0 0 auto}
  section{padding:3rem 1rem}
  .hero{padding:2rem 1rem 3rem}
  .toast{font-size:.85rem;padding:.6rem .8rem}
  .ca code{font-size:.9rem}
  .boing{right:0}
}
html{scroll-padding-top:64px}
.sound-toggle{position:fixed;right:14px;bottom:14px;z-index:80;background:#120700;color:#ffb15c;border:2px solid #ff7b00;border-radius:999px;padding:.55rem .9rem;font:700 .85rem Rubik,sans-serif;cursor:pointer;box-shadow:0 0 14px rgba(255,120,0,.45)}
.sound-toggle[aria-pressed="true"]{background:#ff7b00;color:#000}
@media(max-width:600px){.sound-toggle{bottom:auto;top:62px;right:8px;font-size:.75rem;padding:.4rem .7rem}}
/* ===== v10 easter eggs ===== */
.intro{position:fixed;inset:0;z-index:200;background:#050505;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;overflow:hidden;cursor:pointer;transition:opacity .35s}
.intro.out{opacity:0}
.intro-q{font-family:'Creepster',cursive;font-size:clamp(2rem,8vw,4rem);color:#ff8c1a;text-shadow:0 0 16px #ff5e00;animation:qin .5s cubic-bezier(.34,1.56,.64,1)}
.intro-crew{position:absolute;top:58%;left:-120px;width:90px;height:112px;animation:eject 1.2s cubic-bezier(.45,0,.55,1) forwards}
.intro small{position:absolute;bottom:20px;color:#a88d74}
@keyframes qin{from{transform:scale(.6);opacity:0}}
@keyframes eject{0%{transform:translateX(0) rotate(0) scale(1.1,.9)}12%{transform:translateX(-20px) rotate(-20deg) scale(.95,1.05)}100%{transform:translateX(calc(100vw + 240px)) rotate(900deg)}}
.hunt-badge{position:fixed;left:12px;bottom:14px;z-index:80;background:#120700;color:#ffb15c;border:2px dashed #ff7b00;border-radius:999px;padding:.4rem .8rem;font:700 .75rem Rubik,sans-serif}
.hunt-badge.done{border-style:solid;background:#ffcc00;color:#000}
.hidden-crew{position:absolute;z-index:3;background:none;border:0;padding:4px;cursor:pointer;opacity:.85;transform:rotate(-8deg);transition:transform .2s}
.hidden-crew:hover{transform:rotate(8deg) scale(1.2)}
.hidden-crew img{width:30px;height:38px;display:block}
.hidden-crew.popped{animation:hpop .5s ease-out forwards}
@keyframes hpop{30%{transform:scale(1.8) rotate(20deg)}100%{transform:scale(0) rotate(400deg) translateY(-60px);opacity:0}}
html.vented body{transform:rotate(180deg);transition:transform .8s cubic-bezier(.34,1.56,.64,1)}
html body{transition:transform .8s cubic-bezier(.34,1.56,.64,1)}
.react{position:absolute;left:50%;top:40%;font-size:min(90px,20vw);transform:translate(-50%,-50%) scale(0);pointer-events:none;z-index:4}
.react.go{animation:react .9s cubic-bezier(.34,1.56,.64,1) forwards}
@keyframes react{0%{transform:translate(-50%,-50%) scale(0)}30%{transform:translate(-50%,-70%) scale(1.3,.85)}55%{transform:translate(-50%,-60%) scale(.95,1.1)}80%{opacity:1}100%{transform:translate(-50%,-90%) scale(1);opacity:0}}
.logo-wrap.bonked .logo{animation:bonk .4s ease-out}
@keyframes bonk{0%{transform:scale(1)}15%{transform:scale(1.1,.85) translateY(8px)}40%{transform:scale(.92,1.08)}70%{transform:scale(1.03,.97)}100%{transform:none}}
.bonks{font-size:.75rem;color:#a88d74;margin:.4rem 0 0}
@media(prefers-reduced-motion:reduce){.intro{display:none}html.vented body{transform:none}}
@media(max-width:600px){.hunt-badge{font-size:.65rem;bottom:10px}}
.logo{height:auto;aspect-ratio:1/1}
/* ===== Vent Dash ===== */
.dash-wrap{position:relative;max-width:800px;margin:1rem auto 0;border:2px solid #ff7b00;border-radius:14px;overflow:hidden;box-shadow:0 0 25px rgba(255,120,0,.4);touch-action:manipulation}
#dash{display:block;width:100%;height:auto;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.dash-wrap.playing,.dash-wrap.playing *{touch-action:none}
#carve{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.dash-msg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(5,5,5,.55);cursor:pointer;text-align:center;padding:1rem}
.dash-msg[hidden]{display:none}
#dashTitle{font-size:clamp(1.6rem,6vw,2.8rem);margin:0}
#dashSub{color:#ffb15c;margin:.3rem 0 .8rem}
/* ===== Daily quest ===== */
.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;margin-top:1rem}
.qcard{background:#0d0500;border:2px dashed #5a2a00;border-radius:14px;padding:.7rem;display:flex;flex-direction:column;gap:.4rem;align-items:center;justify-content:center;min-height:180px}
.qcard.got{border:2px solid #ffcc00;box-shadow:0 0 16px rgba(255,204,0,.35)}
.qcard canvas{width:100%;height:auto;border-radius:10px}
.qcard p{margin:0;font-weight:700;color:#ffb15c;font-size:.85rem}
.qcard small{color:#c9a888;font-size:.75rem}
.qlock{font-size:2.6rem}
.quest-pumpkin{position:absolute;z-index:3;background:none;border:0;font-size:22px;cursor:pointer;padding:4px;filter:drop-shadow(0 0 6px #ff7b00);animation:qbob 2.4s ease-in-out infinite}
.quest-pumpkin.popped{animation:hpop .5s ease-out forwards}
@keyframes qbob{50%{transform:translateY(-4px) rotate(8deg)}}
.music-toggle{bottom:60px}
@media(max-width:600px){.music-toggle{top:100px;bottom:auto}}
.ghost-cursor{position:fixed;left:0;top:0;width:44px;height:55px;z-index:90;pointer-events:none;opacity:0;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .3s;filter:drop-shadow(0 0 10px #cfd8ff)}
.ghost-cursor.on{opacity:.85;animation:gfloat 2s ease-in-out infinite}
@keyframes gfloat{50%{margin-top:-6px}}
.boards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;max-width:760px;margin:18px auto 0}
.board h3{margin:0 0 10px;color:#ffb347}
.board ol,.board ul{list-style:none;margin:0;padding:0}
.board li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px dashed rgba(255,123,0,.25)}
.board li:last-child{border-bottom:0}
.board li b{margin-left:auto;color:#fff;font-size:1.1rem}
.board li small{opacity:.6;min-width:48px;text-align:right}
.board li.empty{opacity:.7;justify-content:center}
.small-note{opacity:.75;font-size:.9rem}
.quiz{max-width:640px;margin:18px auto 0;text-align:center}
.quiz .qz-prog{font-size:.9rem;opacity:.7;color:#ffb347;font-weight:400;margin:0}
.quiz .qz-q{font-size:1.4rem;margin:.4rem 0 1rem;color:#fff;outline:none}
.quiz p{font-size:1rem;font-weight:400;color:#f3e6d8}
.qz-opts{display:grid;gap:10px}
.qz-opt{width:100%;text-align:left;white-space:normal}
.qz-card{width:100%;max-width:420px;height:auto;border-radius:14px;box-shadow:0 0 30px rgba(255,123,0,.4)}
.qz-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}
.ghost-btn{background:transparent;border:2px solid #ff7b00;color:#ffb347}
html,body{overflow-x:clip}
.kit{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;max-width:960px;margin:18px auto 0}
.kit-item{background:#120700;border:2px dashed #ff7b00;border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.kit-item img{width:100%;height:auto;max-height:160px;object-fit:contain;border-radius:8px;background:repeating-conic-gradient(#1c0d02 0 25%,#120700 0 50%) 0 0/16px 16px}
.kit-item p{margin:0;font-size:.9rem;font-weight:600;color:#ffb347;flex:1}
.lang-toggle{background:transparent;border:2px solid #ff7b00;color:#ffb15c;border-radius:999px;padding:.15rem .7rem;font:700 .9rem Rubik,sans-serif;cursor:pointer;flex:0 0 auto}
.lang-toggle:hover,.lang-toggle:focus-visible{background:#ff7b00;color:#120700}

/* ===== mobile tidy (v7): CTA rows + compact floating pills ===== */
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;margin-top:1.2rem}
.cta-row .btn{margin:0;white-space:nowrap;max-width:100%;text-align:center}
@media(max-width:480px){.cta-row{flex-direction:column;align-items:stretch;max-width:320px;margin-left:auto;margin-right:auto}.cta-row .btn{padding:.9rem 1.2rem}}
@media(max-width:600px){
 body{padding-bottom:64px}
 .sound-toggle,.music-toggle{top:auto;bottom:10px;right:10px;width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.15rem;line-height:1;opacity:.92}
 .music-toggle{right:62px}
 .sound-toggle .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .hunt-badge{bottom:14px;left:10px;font-size:.7rem;padding:.35rem .6rem;opacity:.92}
 .hunt-badge .lbl{display:none}
 .toasts{bottom:66px}
}
