@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Boogaloo&display=swap');
:root{--lime:#dcff49;--pink:#ff54b4;--ink:#071c24;--paper:#fff6da}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--ink);color:var(--paper);font-family:'Barlow Condensed',Impact,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid white;outline-offset:5px}header{height:70px;padding:0 5%;display:flex;align-items:center;gap:30px;background:repeating-linear-gradient(3deg,#071a22,#071a22 4px,#0b2028 5px);border-bottom:2px solid #28434b;position:sticky;top:0;z-index:20;box-shadow:0 5px 20px #0007}.brand{font-family:Boogaloo,Impact,sans-serif;font-size:32px;color:var(--lime);white-space:nowrap;text-shadow:2px 3px #000}.brand span{font-size:40px}nav{display:flex;gap:28px;align-items:center;margin-left:auto;font-size:17px;font-weight:800;letter-spacing:.5px}nav a:hover{color:var(--pink)}button.lime,button.pink{padding:15px 22px;font-size:22px;font-weight:900;border:2px solid #091a1e;border-radius:7px;box-shadow:3px 5px 0 #0008;transition:transform .2s,box-shadow .2s}.lime{background:var(--lime);color:#10221c}.pink{background:#111b25df;color:var(--pink);border:2px solid var(--pink)!important;box-shadow:0 0 12px #ff54b455,inset 0 0 12px #ff54b422!important}.lime:hover,.pink:hover{transform:translateY(-3px)}button.small{font-size:17px;padding:9px 15px;white-space:nowrap}.menu{display:none}.hero{height:min(760px,calc(100svh - 70px));min-height:600px;position:relative;isolation:isolate;overflow:hidden;background:#071b2a}.hero-bg{position:absolute;inset:-1%;background:url('assets/hero.webp') center/cover;z-index:-4;transform:scale(1.025);transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#03141cbb 0%,#03141c60 38%,transparent 64%),linear-gradient(0deg,#031c28a8,transparent 35%);z-index:-3}.hero-copy{position:relative;padding:100px 0 100px 5%;width:57%;z-index:4;pointer-events:none}.hero-copy button{pointer-events:auto}.eyebrow{color:#ecffac;font-size:14px;font-weight:800;letter-spacing:3px;margin-bottom:20px}h1,h2{font-family:Boogaloo,Impact,sans-serif;line-height:.96;letter-spacing:-1px;font-weight:400;text-shadow:4px 5px 0 #06130f, -2px -2px 0 #06130f,2px -2px 0 #06130f,-2px 2px 0 #06130f;color:var(--lime)}h1{font-size:clamp(65px,7.5vw,116px);margin:0;transform:rotate(-2deg);transform-origin:left center}h2{font-size:clamp(45px,6vw,85px);margin:0 0 24px}.hero-copy p{font-size:clamp(21px,2.1vw,29px);line-height:1.13;letter-spacing:.5px;text-shadow:2px 2px #000;margin:24px 0 35px}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.status{display:block;font:700 12px 'Barlow Condensed',sans-serif;letter-spacing:1.3px;margin-top:21px;color:#cad4cb}.status i{display:inline-block;background:var(--lime);width:6px;height:6px;border-radius:50%;margin-right:6px}.chad{position:absolute;width:46%;height:auto;right:2%;top:27%;border:0;background:none;padding:0;transform-origin:55% 70%;animation:bob 5s ease-in-out infinite;z-index:2;filter:drop-shadow(0 12px 5px #001c2c77);transition:filter .3s}.chad:hover{filter:drop-shadow(0 0 14px #24e6c25c)}.chad img{width:100%;height:auto;display:block}.chad.flex{animation:flex .65s ease}.speech{position:absolute;right:10%;top:16%;max-width:270px;padding:15px 22px;color:#0c2024;background:#fff5d9;border:3px solid #12262c;border-radius:18px 18px 0 18px;z-index:6;font-family:Boogaloo,sans-serif;font-size:25px;transform:scale(0) rotate(3deg);transition:transform .2s;pointer-events:none}.speech.show{transform:scale(1) rotate(3deg)}.scroll{position:absolute;bottom:26px;left:5%;font-size:13px;letter-spacing:3px;z-index:5}.scroll span{display:inline-block;font-size:22px;margin-left:10px;animation:bob 2s infinite}.neon-haze{position:absolute;right:15%;top:7%;width:26%;height:24%;background:#ff188e;filter:blur(65px);opacity:.12;mix-blend-mode:screen;pointer-events:none;animation:flicker 7s infinite;z-index:1}.ripples{position:absolute;bottom:6%;right:5%;width:47%;height:15%;pointer-events:none;z-index:3}.ripples i{position:absolute;left:15%;top:30%;width:70%;height:50%;border:1px solid #7dfff8;border-radius:50%;opacity:0;animation:ripple 5s linear infinite}.ripples i:nth-child(2){animation-delay:1.7s}.ripples i:nth-child(3){animation-delay:3.4s}.art-section{position:relative;scroll-margin-top:70px;max-width:1440px;margin:auto;overflow:hidden}.art-section>img{width:100%;height:auto;display:block}.hotspot{position:absolute;background:transparent;border:none;border-radius:6px;transition:box-shadow .2s}.hotspot:hover,.hotspot:focus-visible{box-shadow:0 0 24px #ff54b4aa,inset 0 0 15px #ff54b444}.lore-button{right:2%;bottom:8%;width:27%;height:13%}.buy-button{inset:15% 1% 3% 38%}.meme-button{left:34%;right:33%;bottom:3%;height:14%}.telegram{left:2%;bottom:30%;width:25%;height:15%}.twitter{left:27%;bottom:30%;width:25%;height:15%}.plan-panel{position:absolute;inset:0;padding:4% 5%;background:linear-gradient(#041f28f7 0%,#041f28e8 43%,#041f2877 75%,transparent)}.plan-panel .eyebrow{margin-bottom:10px}.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:4%}.phases article{background:#e9c58f;color:#182525;border:3px solid #241a14;box-shadow:4px 5px #0007;padding:18px;transform:rotate(-2deg)}.phases article:nth-child(2){transform:rotate(2deg)}.phases b{font-size:clamp(16px,2.3vw,30px)}.phases p{font-size:clamp(15px,1.7vw,24px);line-height:1.25;margin:10px 0 0}.plan-panel small{display:block;margin-top:20px;letter-spacing:.7px}.legal{display:flex;align-items:center;gap:25px;max-width:1440px;margin:auto;padding:25px 5%;border-top:1px solid #31515b;color:#a1b5ba}.legal>span{color:var(--lime);font-size:24px;font-weight:900}.legal p{max-width:550px;font-size:15px;margin:0}.legal button{margin-left:auto;color:#d8e6df;border:1px solid #476067;background:none;border-radius:4px;padding:8px 14px;white-space:nowrap}dialog{color:var(--paper);background:#0b2730;border:2px solid var(--pink);border-radius:16px;max-width:680px;width:calc(100% - 32px);padding:44px;box-shadow:0 0 65px #ff309d33}dialog::backdrop{background:#010a12d9;backdrop-filter:blur(8px)}dialog h2{font-size:52px}dialog p{font-size:23px;line-height:1.4}dialog .close{position:absolute;right:14px;top:8px;font-size:35px;background:none;border:0;color:var(--paper)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery img{display:block;width:100%;border:1px solid #dfff49}.gallery a{font-size:18px;text-align:center;color:var(--lime)}.gallery a span{display:block;padding:8px}.skip{position:fixed;top:-100px;padding:10px;background:var(--lime);color:#000;z-index:99}.skip:focus{top:0}.entering .hero-bg{transform:scale(1.18) translateX(-3%)}.entering .chad{filter:drop-shadow(0 0 30px #ff4cac)}body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important;scroll-behavior:auto!important}@keyframes bob{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(9px) rotate(.5deg)}}@keyframes ripple{0%{transform:scale(.7);opacity:0}20%{opacity:.35}100%{transform:scale(1.5);opacity:0}}@keyframes flicker{0%,8%,10%,13%,100%{opacity:.12}9%,12%{opacity:.02}50%{opacity:.19}}@keyframes flex{0%,100%{transform:rotate(0) scale(1)}40%{transform:rotate(-4deg) scale(1.035)}}
@media(min-width:1500px){.hero-copy{padding-left:calc((100vw - 1350px)/2)}.hero{max-height:850px}}@media(max-width:900px){header{gap:15px;padding:0 4%}.brand{font-size:27px}nav{gap:15px;font-size:15px}.hero-actions button{font-size:17px;padding:13px}.hero{min-height:560px;height:620px}.hero-copy{padding-top:90px;width:65%}.chad{width:52%;right:-4%;top:37%}.speech{right:5%;top:27%;font-size:20px}.hero-copy p{font-size:23px}.eyebrow{font-size:12px;letter-spacing:2px}.plan-panel{padding:3%}.plan-panel h2{margin-bottom:14px}.phases article{padding:12px}.plan-panel small{margin-top:12px;font-size:12px}}
@media(max-width:600px){html{scroll-padding-top:60px}header{height:60px;padding:0 16px;gap:9px}.brand{font-size:25px}.brand span{font-size:29px}button.small{font-size:12px;padding:8px;margin-left:auto}.small>span{font-size:12px}.menu{display:block;background:none;color:var(--lime);border:0;font-size:25px;padding:5px}nav{display:none;position:absolute;top:60px;left:0;right:0;background:#08202af5;padding:25px;justify-content:space-around;border-bottom:1px solid var(--pink)}nav.open{display:flex}.hero{height:820px;min-height:0;max-height:calc(100svh + 100px)}.hero-bg{background-position:66% center;background-size:auto 100%}.hero-shade{background:linear-gradient(180deg,#03131ddd,#03131d60 43%,transparent 65%,#031c28 100%)}.hero-copy{padding:48px 22px 0;width:100%;pointer-events:none}h1{font-size:clamp(58px,14.5vw,88px)}.hero-copy p{margin:20px 0 24px;font-size:24px}.eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:18px}.hero-actions{gap:10px}.hero-actions button{font-size:16px;padding:12px 14px}.status{font-size:10px;margin-top:15px}.chad{width:94%;right:-7%;top:auto;bottom:70px}.speech{top:auto;bottom:47%;right:6%;max-width:210px}.scroll{bottom:25px;left:22px}.ripples{width:90%;right:0;bottom:6%}.neon-haze{top:50%;right:10%;height:20%;width:50%}.art-section{scroll-margin-top:60px}.art-section>img{min-height:250px;object-fit:cover}.art-section#lore>img{min-height:310px;object-position:45%}.art-section#buy>img{min-height:250px;object-fit:fill}.roadmap{min-height:520px}.roadmap>img{height:520px;object-fit:cover}.plan-panel{padding:30px 20px;background:linear-gradient(#041f28f7,#041f28cc 70%,#041f2877)}.plan-panel h2{font-size:51px;margin-bottom:22px}.phases{grid-template-columns:1fr;gap:13px}.phases article{padding:12px 16px;display:flex;gap:16px;align-items:center}.phases b{font-size:21px;flex:0 0 43%}.phases p{font-size:17px;margin:0}.plan-panel small{font-size:13px;margin-top:20px}.legal{flex-wrap:wrap;padding:23px;gap:13px}.legal p{order:3;font-size:14px}.legal button{font-size:14px}.gallery{grid-template-columns:1fr}.gallery a{max-width:260px;margin:auto}dialog{padding:36px 24px}dialog h2{font-size:40px}dialog p{font-size:21px}.footer>img{min-height:260px;object-fit:cover;object-position:35%}.telegram,.twitter{bottom:30%;height:15%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(min-width:901px){.chad{width:40%;right:3%;top:auto;bottom:17%}}
/* Second pass: live responsive sections, explicit controls and scene exploration. */
.scene-section{position:relative;max-width:1440px;margin:auto;padding:75px 6%;isolation:isolate;scroll-margin-top:70px;border-top:2px solid #328797;overflow:hidden}.section-label{display:inline-block;background:#d2a16b;color:#1b211b;padding:7px 19px;font-weight:900;font-size:20px;transform:rotate(-3deg);box-shadow:3px 4px #000;margin-bottom:20px;border:2px solid #543c27}.scene-section p{font-size:24px;line-height:1.35}.lore-live{min-height:650px;display:flex;align-items:center;justify-content:flex-end;background:#10252b none center/cover}.lore-live::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,#041b2344 50%,#041b23e8 100%);z-index:-1}.lore-copy{width:44%;max-width:560px}.lore-copy h2{font-size:clamp(60px,6.6vw,100px);transform:rotate(-2deg)}.lore-copy p{margin:20px 0 25px}.lore-copy .aside{font-size:20px;color:#b5c6c4}.buy-live{background:linear-gradient(#06232bce,#06232bf2),url('assets/hero.webp') 15% 80%/cover}.buy-live h2{margin-bottom:40px}.buy-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.plank{position:relative;display:flex;align-items:center;flex-direction:column;min-height:270px;padding:35px 20px 24px;background:repeating-linear-gradient(0deg,#d5ab75 0px,#d5ab75 35px,#c4945c 37px,#a57645 39px);color:#1c251f;border:3px solid #4d3423;border-radius:5px;box-shadow:6px 8px 0 #0007;transform:rotate(-2deg);transition:transform .2s}.plank:nth-child(2){transform:rotate(2deg)}.plank:hover,.plank:focus-visible{transform:rotate(0) translateY(-7px)}.plank::before,.plank::after{content:'●';position:absolute;font-size:12px;color:#67594b;top:9px;left:10px;text-shadow:1px 1px #f2ddae}.plank::after{left:auto;right:10px}.step-number{position:absolute;left:20px;top:20px;font-size:30px;font-weight:900}.step-symbol{font-size:57px;color:#123e40;text-shadow:2px 2px #f1cd8e;line-height:1;margin:4px 0 16px}.plank strong{font-size:28px;line-height:1.1}.plank>span:last-of-type{font-size:19px;margin:10px 0 20px}.plank em{font-size:14px;letter-spacing:1px;font-style:normal;font-weight:900;border-bottom:2px solid #314435;padding-bottom:3px}.launch-note{font-size:16px!important;color:#a5c4c4;text-align:center;margin:30px 0 0}.launch-note i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:6px}.memes-live{background:radial-gradient(ellipse at 50% 80%,#1c3445,transparent 80%),#081c25}.meme-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:15px 0 35px}.meme-poster{position:relative;background:#e9dbb1;color:#12202b;padding:9px 9px 0;transform:rotate(-3deg);box-shadow:6px 8px 15px #0009;transition:transform .2s}.meme-poster:nth-child(2){transform:rotate(2deg)}.meme-poster:nth-child(3){transform:rotate(-1deg)}.meme-poster:hover{transform:rotate(0) translateY(-9px)}.meme-poster::before{content:'';position:absolute;top:-11px;left:38%;width:25%;height:23px;background:#decdaaaa;transform:rotate(4deg);z-index:1}.meme-poster img{width:100%;height:auto;display:block;aspect-ratio:1.15;object-fit:cover}.meme-poster span{display:block;padding:14px 4px;font-weight:900;font-size:18px;text-align:center}.memes-live>.pink{display:block;margin:auto}.community-live{min-height:390px;background:linear-gradient(90deg,#071c24ed,#071c2488);background-position:0% 65%;background-size:cover}.community-live h2{font-size:clamp(40px,5.1vw,76px);max-width:1000px}.community-live p{font-size:16px;color:#b5c6c4}.wet-spot{padding:0;width:min(1200px,96vw);max-width:1200px;border-color:#dfff49;overflow:hidden;background:#071c24}.spot-close{position:absolute;right:14px;top:10px;z-index:5;border:2px solid #ff54b4;background:#081c24;color:white;border-radius:50%;width:42px;height:42px;font-size:28px}.spot-scene{position:relative;min-height:650px;height:75vh;max-height:850px;background:url('assets/hero.webp') 72% center/cover;isolation:isolate;overflow:hidden}.spot-scene::before{content:'';position:absolute;inset:0;background:linear-gradient(#041b2366,transparent 40%,#041b23d9);z-index:-1}.spot-heading{position:absolute;left:4%;top:6%}.spot-heading .eyebrow{font-size:10px;margin-bottom:10px}.spot-heading h2{font-size:60px}.spot-chad{position:absolute;width:46%;right:3%;bottom:21%;animation:bob 5s ease-in-out infinite}.scene-point{position:absolute;background:#061b23e8;border:1px solid #ff54b4;color:#fff4da;border-radius:30px;padding:9px 14px 9px 9px;box-shadow:0 0 18px #ff54b433;font-size:14px;font-weight:800;letter-spacing:1px}.scene-point span{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--lime);color:var(--lime);width:25px;height:25px;font-size:23px;border-radius:50%;margin-right:6px}.scene-point:hover{background:#203c3c;transform:translateY(-3px)}.bouncer-point{left:53%;top:32%}.bar-point{right:3%;top:43%}.chad-point{right:24%;bottom:27%}.spot-caption{position:absolute;bottom:25px;left:4%;right:4%;background:#041b23eb;border-left:4px solid var(--pink);padding:17px 22px;min-height:100px}.spot-caption b{font-size:13px;color:var(--lime);letter-spacing:2px}.spot-caption p{font-size:23px;margin:8px 0 0;line-height:1.2}.hero-bg{translate:var(--px,0px) var(--py,0px)}.hero .chad{translate:calc(var(--px,0px) * -0.3) calc(var(--py,0px) * -0.3)}nav a.active{color:var(--lime)}.hero-actions button{min-height:53px}.hero-copy{pointer-events:auto}.hero-bg{will-change:transform}.chad img{aspect-ratio:1.5;object-fit:contain}.legal{padding-bottom:30px}
@media(max-width:900px){.lore-live{min-height:570px;background-position:40% center}.lore-copy{width:47%}.scene-section{padding:55px 5%}.buy-steps{gap:16px}.plank{padding:30px 12px 20px}.plank strong{font-size:23px}.plank>span:last-of-type{font-size:17px}.spot-heading h2{font-size:46px}.scene-point{font-size:12px;letter-spacing:0}.spot-scene{min-height:550px}.meme-wall{gap:17px}}
@media(max-width:600px){.scene-section{padding:45px 23px;scroll-margin-top:60px}.lore-live{min-height:780px;align-items:flex-end;background-position:31% top;background-size:auto 470px;background-repeat:no-repeat;background-color:#071c24}.lore-live::before{background:linear-gradient(transparent 0%,transparent 30%,#071c2455 43%,#071c24 59%)}.lore-copy{width:100%;max-width:none;padding-top:350px}.lore-copy h2{font-size:64px;line-height:.94}.lore-copy h2 br{display:none}.lore-copy p{font-size:23px}.lore-copy .aside{font-size:19px}.buy-live h2,.memes-live h2{font-size:55px}.buy-steps{grid-template-columns:1fr;gap:20px}.plank{min-height:170px;align-items:flex-start;padding:25px 22px 20px 85px;transform:rotate(-1deg)}.plank:nth-child(2){transform:rotate(1deg)}.step-symbol{display:none}.step-number{top:24px;left:20px;font-size:36px}.plank strong{font-size:27px}.plank>span:last-of-type{font-size:19px;margin:10px 0 15px}.launch-note{text-align:left;font-size:15px!important}.meme-wall{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:22px;padding:15px 5px 30px;margin-right:-23px}.meme-poster{flex:0 0 78%;scroll-snap-align:center}.meme-poster span{font-size:18px}.community-live{min-height:360px}.community-live h2{font-size:43px}.community-live .hero-actions{gap:12px}.community-live button{font-size:17px;padding:12px 16px}.spot-scene{height:calc(100svh - 70px);max-height:none;min-height:590px;background-position:70% center}.spot-heading{top:6%;left:6%;max-width:75%}.spot-heading h2{font-size:45px}.spot-heading .eyebrow{line-height:1.5;max-width:190px}.spot-chad{width:90%;right:-12%;bottom:25%}.bouncer-point{left:8%;top:32%}.bar-point{right:5%;top:43%}.chad-point{right:10%;bottom:30%}.spot-caption{bottom:20px;left:5%;right:5%;padding:15px;min-height:125px}.spot-caption p{font-size:21px}.hero .chad{bottom:75px}.scene-point{min-height:43px}.section-label{font-size:17px}.legal button{min-height:40px}}
/* Registered animation frames stay in the same layout box; never scale a facial feature. */
[data-character]{isolation:isolate}.character-base{display:block;width:100%;height:auto}.character-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none}.character-frame.visible{opacity:1}.frame-blink{clip-path:inset(17% 52% 68% 16%)}.frame-talk{clip-path:inset(24% 52% 59% 16%)}.frame-toast{clip-path:inset(0% 0% 0% 0%)}
.chad{animation:anchored-idle 5s ease-in-out infinite}.spot-chad{animation:anchored-idle 5s ease-in-out infinite}.spot-chad>img{display:block;width:100%;height:auto}.chad.flex{animation:anchored-idle 5s ease-in-out infinite}.chad::after{content:'CLICK THE EGO';position:absolute;bottom:1%;left:22%;font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:2px;font-weight:800;background:#07212bd9;color:#dfff49;border:1px solid #6cafaa55;padding:6px 11px;border-radius:20px;opacity:0;transition:opacity .2s;pointer-events:none}.chad:hover::after,.chad:focus-visible::after{opacity:1}@keyframes anchored-idle{0%,100%{transform:translateY(0)}50%{transform:translateY(2px)}}
[data-character]:has(.frame-toast.visible) .character-base{opacity:0}
/* Full-pose keyframes replace, rather than double-expose, the approved base. */
[data-character]:has(.frame-spill.visible) .character-base,[data-character]:has(.frame-shock.visible) .character-base,[data-character]:has(.frame-blame.visible) .character-base{opacity:0}.gag-trigger{display:block;margin-top:22px;padding:9px 0;color:#fff4da;border:0;border-bottom:1px solid #ff54b4;background:transparent;font-size:15px;font-weight:800;letter-spacing:1.6px;min-height:40px}.gag-trigger:hover{color:var(--lime)}.gag-trigger:disabled,.scene-gag:disabled{cursor:wait;opacity:.6}.scene-gag{position:absolute;left:4%;bottom:150px;color:var(--lime);background:#061b23ee;border:1px solid var(--lime);padding:11px 16px;border-radius:6px;font-weight:800;letter-spacing:1px;min-height:44px}.is-performing{animation:none!important}.is-performing::after{display:none}.scene-gag:hover:not(:disabled){background:#1d363c}.character-frame{transition:none!important}
@media(max-width:600px){.gag-trigger{font-size:13px;margin-top:15px;letter-spacing:1px}.scene-gag{left:5%;bottom:160px;font-size:12px;padding:10px 13px}.hero .speech{bottom:43%}}
.is-performing{pointer-events:none}.scene-point:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.hero{height:calc(620px + 70vw);min-height:880px;max-height:none}}
/* Head patches are masked in image space, never viewport space. */
.cast-frame{position:absolute;max-width:none;pointer-events:none;opacity:0;z-index:0;mask-image:radial-gradient(ellipse 8% 13% at 68% 32%,#000 90%,transparent 100%),radial-gradient(ellipse 8% 12% at 91% 34%,#000 90%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 8% 13% at 68% 32%,#000 90%,transparent 100%),radial-gradient(ellipse 8% 12% at 91% 34%,#000 90%,transparent 100%)}.cast-frame.cast-visible{opacity:1}.spot-scene>.cast-frame{z-index:-2}.hero-bg{overflow:hidden}.spill-impact{position:absolute;left:76%;top:101%;width:24%;height:12%;pointer-events:none;z-index:3}.spill-impact i{position:absolute;left:20%;top:20%;width:75%;height:60%;border:2px solid #e6ffe9;border-radius:50%;opacity:0;animation:spill-ring 1.8s ease-out forwards}.spill-impact i:nth-child(2){animation-delay:.16s;border-color:#69eee1}.spill-impact i:nth-child(3){animation-delay:.32s;border-color:#ffd57d}.spill-impact i:nth-child(n+4){width:5px;height:7px;left:45%;top:20%;border:0;border-radius:50%;background:#e5ffed;animation:spill-drop .65s ease-out forwards;--dx:-22px}.spill-impact i:nth-child(5){--dx:18px;animation-delay:.06s}.spill-impact i:nth-child(6){--dx:32px;animation-delay:.12s}@keyframes spill-ring{0%{transform:scale(.2);opacity:.8}100%{transform:scale(1.6);opacity:0}}@keyframes spill-drop{0%{transform:translate(0,0);opacity:0}20%{opacity:1}50%{transform:translate(var(--dx),-18px)}100%{transform:translate(var(--dx),8px);opacity:0}}
/* Give the bouncer a clear sightline beside Chadpole. */
@media(min-width:901px){.hero .chad{right:12%}}
@media(min-width:601px) and (max-width:900px){.hero .chad{right:5%}}
.spot-chad{right:12%}.chad-point{right:33%}.hero .speech{right:19%}
.hero .scroll{left:50%;right:auto;transform:translateX(-50%);bottom:24px}
@media(max-width:600px){.hero .chad{right:3%}.spot-chad{right:-3%}.chad-point{right:19%}.hero .speech{right:14%}}
/* The gym has its own fixed art plane, separate from the responsive lore copy. */
.lore-live{background:#10252b}.lore-live::before{pointer-events:none}.gym-stage{position:absolute;inset:0;background:none center/cover;z-index:-2;overflow:hidden}.gym-frame{position:absolute;max-width:none;opacity:0;pointer-events:none;clip-path:inset(0 44% 0 0)}.gym-frame.gym-visible{opacity:1}.gym-ui{position:absolute;inset:0;z-index:3;pointer-events:none}.gym-play{position:absolute;left:3%;top:24px;pointer-events:auto;background:#0a2228ee;color:var(--lime);border:1px solid var(--lime);box-shadow:2px 4px #0008;border-radius:6px;padding:12px 18px;min-height:44px;font-weight:900;font-size:15px;letter-spacing:1px}.gym-play:hover:not(:disabled){background:#25454a;color:white;transform:translateY(-2px)}.gym-play:disabled{opacity:.65;cursor:wait}.gym-ui .gym-speech{position:absolute;left:3%;bottom:20px;max-width:44%;padding:12px 18px;margin:0;background:#08212beb;border-left:3px solid var(--pink);color:#fff6da;font-family:Boogaloo,sans-serif;font-size:24px;line-height:1.2;box-shadow:0 5px 20px #0005}.gym-crack .gym-stage{animation:mirror-jolt .22s ease-out}.gym-performing .gym-speech{border-color:var(--lime)}@keyframes mirror-jolt{0%,100%{translate:0 0}25%{translate:-2px 1px}60%{translate:2px -1px}}
@media(max-width:900px) and (min-width:601px){.gym-stage{background-position:40% center}.gym-ui .gym-speech{max-width:44%;font-size:21px}}
@media(max-width:600px){.gym-stage{bottom:auto;height:470px;background-position:31% 0%;background-size:auto 470px}.gym-ui{bottom:auto;height:470px}.gym-play{left:16px;top:16px;font-size:12px;padding:10px 13px}.gym-ui .gym-speech{left:5%;right:5%;bottom:13px;max-width:none;font-size:20px;padding:10px 13px}.lore-copy{padding-top:375px}}
@media(min-width:601px){.gym-ui .gym-speech{left:auto;right:4%;max-width:40%}}
@media(max-width:600px){.lore-copy{padding-top:445px}}
/* Third room: a daylight swamp scene and a real, expandable paper receipt. */
.morning-section{background:linear-gradient(145deg,#13262a,#2a2631 60%,#172c30);padding-bottom:85px;border-color:#c2868b}.morning-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:0 35px;align-items:center;margin-bottom:35px}.morning-heading .section-label{grid-column:1/-1;justify-self:start;background:#f1c9a0;margin-bottom:22px}.morning-heading h2{font-size:clamp(52px,6.3vw,92px);margin:0;transform:rotate(-1deg)}.morning-heading>p{font-size:27px;color:#dfd5cc;margin:0;line-height:1.35}.morning-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,1fr);gap:30px;align-items:start}.morning-stage{position:relative;min-height:610px;height:100%;background:#2c4448 none 56% center/cover;border:2px solid #60797b;box-shadow:7px 9px #0005;border-radius:8px;overflow:hidden;isolation:isolate}.morning-awake{position:absolute;inset:0;background-position:56% center;background-size:cover;opacity:0;pointer-events:none;z-index:0}.chad-awake .morning-awake{opacity:1}.morning-stage::after{content:'';position:absolute;inset:60% 0 0;z-index:1;background:linear-gradient(transparent,#071c24bb);pointer-events:none}.wake-chad{position:absolute;left:20px;bottom:91px;z-index:3;background:#0b252bee;border:1px solid var(--lime);color:var(--lime);padding:12px 17px;border-radius:5px;font-size:15px;font-weight:900;letter-spacing:1px;min-height:44px}.wake-chad:hover{background:#27474b;color:white}.morning-stage .manager-line{position:absolute;bottom:20px;left:20px;right:20px;z-index:3;background:#0a2229ef;border-left:3px solid #ff87bb;padding:12px 16px;margin:0;color:var(--paper);font-size:23px;line-height:1.25;min-height:53px}.morning-rings{position:absolute;bottom:17%;left:8%;width:70%;height:15%;pointer-events:none}.morning-rings i{position:absolute;inset:0;border:1px solid #bbfff3;border-radius:50%;opacity:0;animation:ripple 6s linear infinite}.morning-rings i:nth-child(2){animation-delay:3s}.snores{position:absolute;left:33%;top:25%;pointer-events:none;z-index:2}.snores span{position:absolute;font-family:Boogaloo,sans-serif;color:#fff4db;text-shadow:2px 3px #153d45;font-size:30px;opacity:0;animation:sleep-z 4.5s linear infinite}.snores span:nth-child(2){animation-delay:1.5s}.snores span:nth-child(3){animation-delay:3s}.chad-awake .snores{display:none}@keyframes sleep-z{0%{opacity:0;transform:translate(0,0) scale(.6)}20%{opacity:.9}100%{opacity:0;transform:translate(25px,-55px) scale(1.2)}}
.damage-bill{position:relative;isolation:isolate;color:#1e2928;background:#f3e5bd;padding:30px 24px 24px;box-shadow:7px 11px 0 #0005;font-family:'Barlow Condensed',sans-serif;transform:rotate(1deg);margin:4px 0 15px}.receipt-teeth{position:absolute;left:0;right:0;height:12px;top:-11px;background:linear-gradient(135deg,transparent 50%,#f3e5bd 50%) 0 0/20px 12px repeat-x}.receipt-teeth.bottom{top:auto;bottom:-11px;transform:rotate(180deg)}.bill-kicker{font-size:11px;letter-spacing:1.8px;font-weight:800}.damage-bill h3{font:400 clamp(34px,3.7vw,54px)/1 Boogaloo,sans-serif;margin:17px 0 12px;color:#142d31}.damage-bill .bill-subtitle{font-size:20px;line-height:1.35;margin:0 0 22px}.bill-toggle{width:100%;min-height:46px;background:#213c3c;border:0;border-radius:3px;color:#f3ffc3;font-size:17px;font-weight:900;letter-spacing:.5px;padding:12px 10px;box-shadow:2px 3px #b39d76}.bill-toggle:hover{background:#3b5350}.bill-toggle:focus-visible,.bill-charge:focus-visible,.dispute-bill:focus-visible{outline-color:#204f56}.damage-bill .bill-instruction{font-size:17px;margin:22px 0 7px;color:#6b6353}#bill-details:not([hidden]){animation:receipt-open .35s ease-out;transform-origin:top}.bill-items{border-top:2px dashed #a99372}.bill-charge{display:flex;width:100%;align-items:start;justify-content:space-between;gap:10px;text-align:left;background:transparent;border:0;border-bottom:1px dashed #a99372;padding:18px 2px;color:#1d3233;min-height:95px}.bill-charge strong{display:block;font-size:22px;line-height:1.05}.bill-charge small{display:block;color:#6f6552;font-size:16px;margin-top:6px}.bill-charge em{display:block;font-size:12px;font-style:normal;letter-spacing:1px;font-weight:900;margin-top:10px;color:#64534b}.bill-charge>b{font:700 20px monospace;white-space:nowrap}.bill-charge:hover{background:#dfcb9c66}.bill-charge.remembered strong{color:#276b5f}.bill-charge.remembered em{color:#276b5f}.bill-total{display:flex;justify-content:space-between;align-items:center;border-bottom:3px double #967959;padding:22px 0 15px;gap:15px}.bill-total span{font-size:14px;font-weight:900;letter-spacing:1px;max-width:45%}.bill-total strong{font:700 30px monospace}.damage-bill .memory-progress{font-size:15px;font-weight:800;color:#526961;margin:15px 0}.dispute-bill{background:transparent;color:#a33c43;border:2px solid #a33c43;border-radius:3px;min-height:44px;width:100%;font-size:17px;font-weight:900;padding:8px}.dispute-bill:hover{background:#a33c43;color:#fff5dc}.damage-bill .receipt-footnote{font-size:14px;text-align:center;line-height:1.4;color:#8b7458;margin:24px 0 0}.damage-bill .receipt-footnote::before{content:'♛';display:block;font-size:23px;color:#76614b;margin-bottom:8px}@keyframes receipt-open{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
.memory-modal{padding:0;width:min(1000px,95vw);max-width:1000px;max-height:92svh;overflow-y:auto;border-color:#f8d49b}.memory-close{position:absolute;right:13px;top:13px;z-index:5;width:44px;height:44px;border:1px solid #fff1cb;border-radius:50%;background:#0b212bed;color:white;font-size:30px}.memory-art{position:relative;height:min(43svh,450px);background:#0d1b25;overflow:hidden}.memory-art>img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .2s}.memory-art>img.memory-loaded{opacity:1}#memory-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;font-size:20px;letter-spacing:2px;color:#ccdebd}#memory-loading[hidden]{display:none}.memory-stamp{position:absolute;left:23px;bottom:20px;font-family:Boogaloo,sans-serif;font-size:25px;background:#dfff49;color:#102328;padding:6px 16px;transform:rotate(-4deg);box-shadow:3px 4px #0009}.memory-copy{padding:30px 35px 32px}.memory-copy .eyebrow{font-size:12px;letter-spacing:2px;color:#f3d0a0}.memory-copy h2{font-size:clamp(35px,4vw,55px);margin:16px 0 19px}.memory-copy>p{font-size:22px;line-height:1.4;color:#d7ded6;margin:0 0 15px}.memory-copy blockquote{margin:20px 0 26px;padding:12px 20px;border-left:3px solid var(--pink);background:#152f37;font-size:22px;font-family:Boogaloo,sans-serif}.memory-controls{display:flex;justify-content:space-between;gap:15px}.memory-controls button{background:transparent;color:#dfff49;border:1px solid #739c86;padding:11px 15px;min-height:44px;border-radius:4px;font-size:15px;font-weight:900}.memory-controls button:hover{background:#274840}
@media(max-width:1100px){.morning-layout{grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr);gap:22px}.damage-bill{padding:26px 20px}.morning-heading>p{font-size:24px}.morning-stage{min-height:600px}}
@media(min-width:601px) and (max-width:1000px){header{padding:0 4%;gap:15px}header>.small{margin-left:auto}.menu{display:block;background:none;color:var(--lime);border:0;font-size:25px;padding:5px}nav{display:none;position:absolute;top:70px;left:0;right:0;background:#08202af8;padding:24px;justify-content:space-around;border-bottom:1px solid var(--pink);margin:0;flex-wrap:wrap;gap:20px}nav.open{display:flex}}
@media(max-width:760px){.morning-heading{grid-template-columns:1fr;gap:22px}.morning-heading .section-label{margin-bottom:0}.morning-heading h2{font-size:64px}.morning-heading>p{font-size:24px}.morning-layout{grid-template-columns:1fr;gap:30px}.morning-stage{min-height:0;height:auto;aspect-ratio:4/3;background-position:56% center}.morning-awake{background-position:56% center}.damage-bill{max-width:520px;width:100%;margin:6px auto 15px;transform:rotate(.5deg)}.damage-bill h3{font-size:49px}.bill-charge strong{font-size:24px}.bill-charge small{font-size:18px}.bill-charge em{font-size:13px}.morning-stage .manager-line{font-size:20px;bottom:13px;left:13px;right:13px;min-height:50px;padding:10px 12px}.wake-chad{left:13px;bottom:86px;padding:10px 13px;font-size:12px;min-height:42px}.snores{left:26%;top:22%}.snores span{font-size:25px}.morning-rings{bottom:28%}.memory-art{height:auto;aspect-ratio:16/9}.memory-copy{padding:25px 23px}.memory-copy>p{font-size:20px}.memory-copy blockquote{font-size:21px;margin:18px 0 22px}.memory-controls button{font-size:12px;padding:10px}.memory-stamp{font-size:19px;left:15px;bottom:15px}.morning-section{padding-bottom:55px}}
@media(max-width:600px){nav.open{flex-wrap:wrap;gap:19px;font-size:14px;padding:22px}.morning-heading h2{font-size:59px}.morning-heading>p{font-size:22px}.morning-heading{margin-bottom:27px}.morning-layout{gap:27px}.memory-copy h2{font-size:35px}.memory-close{right:9px;top:9px;width:38px;height:38px;font-size:26px}}
/* Keep both character faces in frame as the receipt expands. */
.morning-stage{height:auto;min-height:0;aspect-ratio:16/11}
@media(max-width:760px){.morning-stage{aspect-ratio:4/3;background-position:65% center}.morning-awake{background-position:65% center}}
/* Interactive boardwalk: live sign lettering over the approved illustration. */
.pond-roadmap{background:#071f28}.road-heading{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:0 30px;margin-bottom:30px}.road-heading .section-label{grid-column:1/-1;justify-self:start}.road-heading h2{margin:0;font-size:clamp(55px,6.5vw,94px)}.road-heading>p{font-size:25px;line-height:1.3;margin:0;color:#c8d9cc}.road-map{position:relative;isolation:isolate;aspect-ratio:758/398;border:2px solid #3f6e6f;border-radius:7px;box-shadow:6px 8px #0006;--effect-x:24%;--effect-y:75%;--bubble-x:8%;--bubble-y:51%}.road-art{position:absolute;inset:0;background:#0b2a34 none center/cover;border-radius:5px;z-index:-1}.road-stops{position:absolute;inset:0}.road-stop{position:absolute;top:24%;left:7%;width:22%;height:29%;background:transparent;border:2px solid transparent;border-radius:4px;padding:7px 10px;color:#17281e;transform:rotate(-3deg);text-align:center;transition:transform .2s,filter .2s}.road-stop:nth-child(2){left:38%;transform:rotate(1deg)}.road-stop:nth-child(3){left:68%;transform:rotate(-1deg)}.road-stop:hover{transform:rotate(0) translateY(-4px);filter:brightness(1.13)}.road-stop[aria-selected=true]{border-color:#e4ff6677;box-shadow:0 0 20px #c5ff2c28;background:#dfff4908}.road-number{display:block;font-size:clamp(12px,1.4vw,18px);font-weight:900;letter-spacing:3px}.road-stop strong{display:block;font-family:Boogaloo,sans-serif;font-size:clamp(22px,2.65vw,37px);line-height:.96;margin-top:6px;text-shadow:0 1px #f0ce9d}.road-invite{position:absolute;left:5%;right:5%;bottom:11%;display:block;color:#f6efd1;font-weight:800;letter-spacing:1px;font-size:clamp(10px,1.1vw,15px)}.road-stop.visited .road-invite::before{content:'✓ ';color:var(--lime)}.road-map[data-selected="1"]{--effect-x:51%;--effect-y:72%;--bubble-x:35%;--bubble-y:49%}.road-map[data-selected="2"]{--effect-x:79%;--effect-y:70%;--bubble-x:61%;--bubble-y:52%}.road-effect{position:absolute;left:var(--effect-x);top:var(--effect-y);width:15%;height:12%;pointer-events:none;z-index:2}.road-effect i{position:absolute;inset:10%;opacity:0;border-radius:50%}.effect-splash .road-effect i{border:2px solid #bffff5;animation:road-splash 2.3s ease-out forwards}.effect-splash .road-effect i:nth-child(2){animation-delay:.15s}.effect-splash .road-effect i:nth-child(3){animation-delay:.3s}.effect-splash .road-effect i:nth-child(4){animation-delay:.45s}.effect-splash .road-effect i:nth-child(5){animation-delay:.6s}.effect-nap .road-effect i{border:0;animation:road-nap 2.8s ease-out forwards;color:#e4ffc9;font-family:Boogaloo,sans-serif;font-size:29px;text-shadow:2px 3px #06252a}.effect-nap .road-effect i::after{content:'Z'}.effect-nap .road-effect i:nth-child(2){animation-delay:.25s}.effect-nap .road-effect i:nth-child(3){animation-delay:.5s}.effect-nap .road-effect i:nth-child(n+4){display:none}.effect-crown .road-effect i{animation:road-star 1.9s ease-out forwards;color:#ffe55d;font-size:30px;--star-x:-24px;text-shadow:0 0 10px #f4de78}.effect-crown .road-effect i::after{content:'✦'}.effect-crown .road-effect i:nth-child(2){--star-x:25px;animation-delay:.15s}.effect-crown .road-effect i:nth-child(3){--star-x:48px;animation-delay:.3s}.effect-crown .road-effect i:nth-child(4){--star-x:-48px;animation-delay:.45s}.effect-crown .road-effect i:nth-child(5){--star-x:0px;animation-delay:.6s}.road-bubble{position:absolute;left:var(--bubble-x);top:var(--bubble-y);width:30%;z-index:4;pointer-events:none;background:#fff1d0;color:#142d31;border:3px solid #20383c;border-radius:15px 15px 15px 0;padding:12px 15px;font:24px/1.1 Boogaloo,sans-serif;box-shadow:3px 5px #0005;opacity:0;translate:0 5px;transition:opacity .15s,translate .15s}.road-bubble.visible{opacity:1;translate:0 0}.road-detail{margin-top:30px;display:grid;grid-template-columns:1.5fr 1fr;gap:35px;background:#0e2b33;border:1px solid #3f6667;border-radius:7px;padding:35px}.phase-description h3{font:400 clamp(30px,3.5vw,49px)/1 Boogaloo,sans-serif;color:var(--lime);margin:0 0 16px}.phase-description>p{font-size:23px;line-height:1.35;margin:0 0 20px;color:#d1ded4}.phase-description ul{padding:0;margin:0;list-style:none;display:grid;gap:9px}.phase-description li{position:relative;padding-left:22px;font-size:20px;line-height:1.25;color:#b3ccc5}.phase-description li::before{content:'↗';position:absolute;left:0;color:var(--pink)}.phase-description .eyebrow{font-size:11px;color:#9ec3b1}.phase-reaction{display:flex;align-items:flex-start;flex-direction:column;justify-content:center;border-left:1px solid #35585c;padding-left:30px}.phase-reaction>p{font:29px/1.2 Boogaloo,sans-serif;color:#f2d3ab;margin:0 0 24px;min-height:70px}.phase-reaction button{font-size:17px;min-height:46px}.phase-reaction button:disabled{opacity:.6;cursor:wait;transform:none}.road-progress{display:flex;gap:16px;align-items:center;margin-top:23px;flex-wrap:wrap}.road-progress>span{font-size:14px;font-weight:700;letter-spacing:1px;color:#a5c5bf}.road-dots{display:flex;gap:7px}.road-dots i{width:9px;height:9px;border:1px solid #759c91;border-radius:50%}.road-dots i.visited{background:var(--lime);border-color:var(--lime)}.pond-roadmap .road-note{margin:20px 0 0;font-size:14px;color:#91b1af;line-height:1.4}@keyframes road-splash{0%{opacity:0;transform:scale(.2)}20%{opacity:.9}100%{opacity:0;transform:scale(2.5)}}@keyframes road-nap{0%{opacity:0;transform:translate(0,0) scale(.6)}15%{opacity:1}100%{opacity:0;transform:translate(28px,-85px) scale(1.1)}}@keyframes road-star{0%{opacity:0;transform:translate(0,0) scale(.2)}20%{opacity:1}100%{opacity:0;transform:translate(var(--star-x),-75px) scale(.8)}}
@media(max-width:1000px) and (min-width:761px){.road-stop{padding:5px}.road-stop strong{font-size:25px}.road-number{font-size:13px}.road-invite{font-size:10px;letter-spacing:.4px}.road-bubble{font-size:19px;padding:10px}.road-detail{padding:25px;gap:24px}.phase-reaction{padding-left:23px}.phase-reaction>p{font-size:25px}.phase-reaction button{font-size:15px;padding:12px}.road-heading>p{font-size:23px}}
@media(max-width:760px){.road-heading{grid-template-columns:1fr;gap:18px;margin-bottom:25px}.road-heading .section-label{margin-bottom:0}.road-heading h2{font-size:61px}.road-heading>p{font-size:23px}.road-map{aspect-ratio:auto;overflow:hidden}.road-art{position:relative;inset:auto;width:100%;aspect-ratio:758/398;z-index:0}.road-stops{position:relative;inset:auto;display:grid;gap:13px;padding:20px;background:#08212b}.road-stop,.road-stop:nth-child(2),.road-stop:nth-child(3){position:relative;inset:auto;width:100%;height:auto;min-height:104px;padding:16px 17px 17px 60px;transform:rotate(-1deg);background:repeating-linear-gradient(0deg,#d3ab7b 0px,#d3ab7b 31px,#c39b6b 33px,#a78153 34px);border:2px solid #6e5134;text-align:left;box-shadow:3px 5px #0007}.road-stop:nth-child(2){transform:rotate(1deg)}.road-stop[aria-selected=true]{border-color:var(--lime);box-shadow:0 0 0 2px #dfff4944,3px 5px #0007}.road-number{position:absolute;left:16px;top:20px;font-size:22px;letter-spacing:0}.road-stop strong{font-size:29px;margin-top:0}.road-invite{position:static;color:#35443d;margin-top:10px;font-size:11px;letter-spacing:.6px}.road-stop.visited .road-invite::before{color:#285e4d}.road-effect{width:18%;height:12%}.road-bubble{display:none}.road-detail{grid-template-columns:1fr;margin-top:22px;gap:24px;padding:25px 22px}.phase-reaction{border-left:0;border-top:1px solid #35585c;padding:24px 0 0}.phase-reaction>p{font-size:27px;min-height:0;margin-bottom:20px}.phase-description>p{font-size:21px}.phase-description li{font-size:19px}.phase-description h3{font-size:36px}.phase-reaction button{font-size:16px}.road-progress{margin-top:21px}.road-heading h2{font-size:55px}.pond-roadmap .road-note{font-size:13px}}
.road-detail:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
/* Caption workshop: the export canvas is also the live preview. */
.meme-lab{margin-top:55px;border-top:1px solid #48605a;padding-top:38px}.lab-heading{text-align:left;margin-bottom:26px}.lab-heading h3{font:46px/1 Boogaloo,sans-serif;color:var(--lime);margin:0 0 12px}.lab-heading .eyebrow{font-size:11px;margin-bottom:14px}.lab-heading p{font-size:22px;margin:0;color:#c8d9cc}.lab-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:30px;text-align:left;align-items:start}.lab-preview{min-width:0}.lab-preview canvas{display:block;width:100%;height:auto;background:#071c24;border:2px solid #698976;border-radius:5px;box-shadow:5px 7px #0006}.lab-preview>p{font-size:15px;color:#b4cec1;min-height:40px;line-height:1.4}.lab-controls{display:flex;flex-direction:column;gap:12px;padding:27px;background:#102e34;border:1px solid #44605c;border-radius:6px;min-width:0}.lab-controls label{font-size:13px;font-weight:900;letter-spacing:1.3px;color:#cfff9b}.lab-controls input,.lab-controls select{font:700 18px 'Barlow Condensed',sans-serif;background:#061c24;border:1px solid #779386;border-radius:4px;color:#fff4d9;padding:14px 12px;min-height:48px;width:100%;margin-bottom:12px}.lab-controls input:focus-visible,.lab-controls select:focus-visible{outline:3px solid var(--pink);outline-offset:3px}.lab-buttons{display:grid;gap:14px;margin-top:4px}.lab-buttons button{font-size:17px;min-height:48px}.lab-buttons button:disabled{opacity:.5;cursor:wait;transform:none}.lab-note{font-size:14px;line-height:1.4;color:#9fbbb0;margin:8px 0 0}@media(max-width:760px){.lab-layout{grid-template-columns:1fr;gap:15px}.meme-lab{margin-top:38px;padding-top:30px}.lab-heading h3{font-size:37px}.lab-heading p{font-size:21px}.lab-controls{padding:22px}.lab-preview>p{min-height:0;margin-bottom:12px}}
/* Final responsive and dialog pass. Keep image registration fixed during pose changes. */
body:has(dialog[open]){overflow:hidden}dialog{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}dialog[open]{animation:dialog-in .18s ease-out}.wet-spot{overflow-y:auto}.spot-close,.memory-close{min-width:44px;min-height:44px}.spot-close{position:sticky;float:right;top:12px;margin:12px 12px -56px 0}.legal button,.menu{min-height:44px}.road-detail,.phase-description,.phase-reaction,.morning-heading>*{min-width:0}.phase-reaction button{max-width:100%;white-space:normal}.lab-controls input{min-width:0}.lab-note,.phase-description p{overflow-wrap:anywhere}.scene-section{scroll-margin-top:82px}.lab-preview>p,.scene-section .lab-note{font-size:15px}.hero-bg{will-change:auto}.gym-frame{transition:opacity 70ms linear}.cast-frame{transition:opacity 60ms linear}@keyframes dialog-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(min-width:1001px) and (max-width:1200px){header>.small{margin-left:auto}.menu{display:block;background:none;color:var(--lime);border:0;font-size:25px;padding:5px}nav{display:none;position:absolute;top:70px;left:0;right:0;background:#08202af8;padding:24px;border-bottom:1px solid var(--pink);margin:0;flex-wrap:wrap;justify-content:center;gap:24px}nav.open{display:flex}}
@media(max-width:600px){.scene-section{scroll-margin-top:70px}.hero-copy{padding-top:38px}.hero-actions button{min-height:48px}.scene-point{min-height:44px}.meme-wall{overscroll-behavior-x:contain}.spot-heading{top:55px}.spot-scene{min-height:640px}.memory-controls{flex-wrap:wrap}.memory-controls button{flex:1;min-height:44px}.legal{padding-bottom:max(24px,env(safe-area-inset-bottom))}}
@media(max-width:380px){header{padding:0 12px;gap:6px}.brand{font-size:23px}.brand span{font-size:26px}header>.small>span{display:none}header>.small{font-size:20px;min-width:40px}h1{font-size:clamp(48px,14.5vw,58px)}.hero-copy{padding-left:18px;padding-right:18px}.hero-actions{gap:9px}.hero-actions button{font-size:15px;padding:11px}.road-heading h2{font-size:45px}.lore-copy h2{font-size:53px}.morning-heading h2{font-size:52px}.road-stop strong{font-size:25px}.scene-section{padding-left:18px;padding-right:18px}.lab-controls{padding:18px}.lab-heading h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){dialog[open]{animation:none}.gym-frame,.cast-frame{transition:none}}
body.paused .gym-frame,body.paused .cast-frame{transition:none}
.official-link{display:block;padding:15px 18px;border:1px solid var(--pink);border-radius:5px;color:var(--pink);font-size:21px;font-weight:800;margin-top:18px;min-height:48px}.official-contract{display:block;overflow-wrap:anywhere;user-select:all;background:#041b23;border:1px solid #54756d;padding:15px;font-size:16px;line-height:1.5;margin-bottom:20px}

/* Roadmap signs: keep number + title on the light plank, invite on the dark board */
@media(min-width:761px){
.road-stop{padding:0;overflow:visible}
.road-number{position:absolute;left:0;right:0;top:3%;font-size:clamp(9px,1.05vw,14px);letter-spacing:2px;line-height:1}
.road-stop strong{position:absolute;left:-4%;right:-4%;top:17%;margin:0;white-space:nowrap;font-size:clamp(12px,1.65vw,24px);line-height:1}
.road-invite{bottom:9%}
}
@media(max-width:760px){
.road-stop[aria-selected=true]{background:repeating-linear-gradient(0deg,#d3ab7b 0px,#d3ab7b 31px,#c39b6b 33px,#a78153 34px)}
}
/* Memory modal: no reserved scrollbar gutter (left a dark strip beside the hero image) */
.memory-modal{scrollbar-gutter:auto}
/* Memory modal art: show the whole 16:9 flashback instead of cropping it */
@media(min-width:761px){
.memory-art{height:min(46svh,562px)}
.memory-art>img{object-fit:contain}
}
