@font-face{font-family:Manrope;src:url(assets/Manrope.ttf) format('truetype');font-weight:200 800;font-display:swap}*{box-sizing:border-box}:root{--ink:#48253c;--cream:#f7eddb;--trip:0;color:var(--ink);font-family:Manrope,Arial,sans-serif;font-synthesis:none}body{margin:0;overflow:hidden;background:var(--cream)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #402642;outline-offset:6px}#experience{height:calc(100svh - 34px);min-height:490px;position:relative;isolation:isolate;overflow:hidden;background:#f7eddb}#world{position:absolute;inset:0;z-index:-4;overflow:hidden}.sky{position:absolute;inset:0;background:#f7eddb}.garden-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(calc(1 + var(--trip)*.05));filter:saturate(calc(1 + var(--trip)*.5)) hue-rotate(calc(var(--trip)*25deg));transition:filter 5s,transform 8s}.orb{position:absolute;width:clamp(220px,25vw,450px);aspect-ratio:1;right:14%;top:13%;border-radius:50%;border:1px solid #b35c62;opacity:calc(var(--trip)*.5);background:repeating-radial-gradient(circle at center,#f8dc8e 0 13px,#db7da0 14px 27px);animation:orb-breathe 12s ease-in-out infinite alternate}.orb-core{display:grid;place-items:center;height:100%;font-size:180px;color:#905a9b;animation:turn 80s linear infinite}.dust{position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.4' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;mix-blend-mode:multiply}.ripple-field{position:absolute;width:75vw;height:75vw;left:22%;top:-25vw;opacity:calc(var(--trip)*.3);animation:turn 100s linear infinite;contain:layout style}.ripple-field i{position:absolute;inset:calc(var(--i)*5%);border:clamp(7px,1vw,18px) solid #a554a9;border-radius:43% 57% 62% 38% / 48% 36% 64% 52%;transform:rotate(calc(var(--i)*22deg))}.ripple-field i:nth-child(1){--i:0}.ripple-field i:nth-child(2){--i:1}.ripple-field i:nth-child(3){--i:2}.ripple-field i:nth-child(4){--i:3}.ripple-field i:nth-child(5){--i:4}.ripple-field i:nth-child(6){--i:5}header{position:absolute;z-index:8;top:34px;left:4%;right:4%;display:flex;justify-content:space-between;align-items:flex-start}.edition{display:flex;gap:12px;align-items:center;font-size:10px;font-weight:800;letter-spacing:.15em;text-decoration:none;background:#f7eddbdd;padding:8px 14px;border-radius:25px}.edition-mark{font-size:30px;line-height:1}.collection-button{background:#f7eddbef;border:1px solid #48253c50;text-align:left;padding:17px 20px 15px;width:195px;border-radius:5px 28px 5px 28px;box-shadow:4px 5px 0 #48253c18}.counter{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.counter strong{font-size:48px;font-weight:600;line-height:1;letter-spacing:-.08em}.counter>span{font-size:25px;font-weight:400;opacity:.65}.counter-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.1em;margin-top:12px;font-weight:800}.meter{display:block;height:3px;background:#48253c24;margin-top:12px}.meter i{display:block;height:100%;background:var(--ink);width:0;transition:width 1s}.intro{position:absolute;top:23%;left:20%;z-index:3;pointer-events:none}.intro>p:first-child{font-size:10px;font-weight:800;letter-spacing:.16em;margin:0 0 26px}.intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(70px,8vw,144px);line-height:.77;font-weight:900;letter-spacing:-.085em;margin:0;transform:rotate(-5deg);text-shadow:2px 3px 0 var(--cream)}.intro h1 span{display:block;margin-left:11%;font-style:italic}.premise{font-size:16px;line-height:1.65;margin-top:32px;margin-left:5px;font-weight:600}#halo{position:absolute;left:60%;top:25%;width:32vw;aspect-ratio:1;z-index:-1;opacity:calc(var(--trip)*.45);transform:translate(-50%,-10%)}#halo span{font-size:clamp(300px,38vw,600px);display:block;color:#ee7e54;line-height:1;animation:turn 80s linear infinite}#character{position:absolute;left:52%;bottom:11%;height:70%;width:min(47vw,730px);transform:translateX(-30%);z-index:2;pointer-events:none;--mouth-x:50%;--mouth-y:42%}.character-shadow{position:absolute;width:60%;height:7%;left:20%;bottom:0;background:#51234336;border-radius:50%;filter:blur(11px)}#character-body{position:absolute;inset:0;transform-origin:50% 85%;animation:breathe 6s ease-in-out infinite}#traveller{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;filter:drop-shadow(2px 5px 0 #50233e16)}#mouth-target{position:absolute;left:var(--mouth-x);top:var(--mouth-y);width:1px;height:1px}.thought{position:absolute;right:-3%;top:26%;font-family:Georgia,serif;font-style:italic;font-size:19px;transform:rotate(7deg);animation:thought-drift 7s ease-in-out infinite;max-width:140px;background:#f7eddbb0;padding:6px 10px;border-radius:40%}.fallback-character{display:none;position:absolute;inset:10% 17%;filter:drop-shadow(4px 6px 0 #48253c20)}.head{position:absolute;left:10%;top:10%;width:80%;height:55%;background:#b7cd8b;border:5px solid var(--ink);border-radius:44% 46% 42% 44%;transform:rotate(-6deg)}.head i{position:absolute;top:24%;width:22%;height:16%;border-bottom:6px solid var(--ink);border-radius:50%;left:18%}.head i:nth-child(2){left:58%}.mouth{position:absolute;left:35%;top:62%;width:32%;height:23%;border-radius:50%;background:var(--ink)}.belly{position:absolute;left:5%;top:54%;width:90%;height:43%;border:5px solid var(--ink);background:#d596bc;border-radius:50% 50% 30% 30%}.antenna{position:absolute;top:-15%;left:20%;font-size:100px;color:#eb8958}.missing-art .fallback-character{display:block}.missing-art #traveller{display:none}.chewing #character-body{animation:chew 7.6s ease-in-out both;animation-delay:var(--sequence-delay)}.chewing .thought{opacity:0}.meal{position:fixed;width:180px;height:190px;left:0;top:0;z-index:9;pointer-events:none;will-change:transform,opacity}.meal img{width:100%;height:100%;filter:drop-shadow(0 12px 5px #48253c25)}#sprouts{position:absolute;inset:0;z-index:1;pointer-events:none}.sprout{position:absolute;width:clamp(110px,12vw,220px);bottom:6%;animation:sprout-sway 8s ease-in-out infinite alternate;transform-origin:50% 95%}.sprout:nth-child(1){left:2%;bottom:5%;width:11vw;animation-delay:-3s}.sprout:nth-child(2){right:2%;bottom:3%;width:13vw;animation-delay:-5s}.sprout:nth-child(3){right:14%;bottom:2%;width:7vw;animation-delay:-1s}.sprout:nth-child(4){left:18%;bottom:3%;width:7vw}.spore{position:absolute;font-family:Georgia,serif;font-weight:bold;color:#834992;opacity:calc(.12 + var(--trip)*.4);animation:float-spore var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay);font-size:var(--size)}.world-status{position:absolute;left:4%;bottom:28px;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.02em;z-index:10;background:#f7eddbdd;padding:10px 13px;border-radius:30px}.live-dot{width:6px;height:6px;background:#50836a;border-radius:50%;box-shadow:0 0 0 4px #50836a15}.live-dot.offline{background:#c16858;box-shadow:none}.status-separator{opacity:.35;margin:0 2px}.mint-dock{position:absolute;z-index:12;left:50%;bottom:21px;transform:translateX(-50%);display:flex;align-items:center;gap:2px;width:min(490px,90%)}.next-mushroom{width:95px;height:100px;flex-shrink:0;transform:rotate(-10deg);margin-right:-9px}.next-mushroom img{width:100%;height:100%;filter:drop-shadow(0 4px 0 #48253c18)}.mint-action{flex:1;min-width:0}#mint{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#48253c;color:#fff3dc;border:2px solid #48253c;width:100%;min-height:64px;padding:16px 24px;border-radius:5px 25px 5px 25px;font-weight:700;font-size:13px;box-shadow:4px 5px 0 #48253c20;transition:transform .25s,box-shadow .25s,background .25s}#mint:hover:enabled{transform:translateY(-3px) rotate(-1deg);box-shadow:6px 9px 0 #48253c20;background:#622d50}#mint:active:enabled{transform:translateY(1px);box-shadow:1px 2px 0 #48253c20}#mint:disabled{opacity:.65}.button-price{white-space:nowrap;font-weight:500;border-left:1px solid #f7eddb40;padding-left:16px;display:flex;gap:14px}.button-price span{font-size:18px}#mint-note{font-size:9px;line-height:1.5;text-align:center;margin:8px 0 0;background:#f7eddbb8;border-radius:8px}#announcement{position:absolute;left:50%;bottom:128px;transform:translateX(-50%);z-index:15;font-size:12px;text-align:center;max-width:80%;background:#f7eddbed;padding:8px 16px;border-radius:20px;opacity:0;transition:opacity .4s}#announcement.visible{opacity:1}.latest{position:absolute;right:4%;bottom:24px;text-align:right;display:flex;flex-direction:column;gap:5px;font-size:11px;z-index:10;background:#f7eddbdd;padding:12px 16px;border-radius:25px 4px 25px 4px}.latest[hidden]{display:none}.latest-kicker{font-size:8px;letter-spacing:.12em;opacity:.6}.latest strong{font-family:Georgia,serif;font-style:italic;font-size:22px}.latest>span:last-child{font-size:9px}.trip-wash{position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(ellipse at 60% 50%,transparent 25%,#d578c447 80%);opacity:calc(var(--trip)*.7);transition:opacity 4s;mix-blend-mode:multiply}.after-bite .trip-wash{animation:after-bite 5s ease-out both}footer{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;font-size:9px;border-top:1px solid #48253c16;background:#f7eddb;position:relative;z-index:20}footer nav{display:flex;gap:18px;align-items:center}footer a,footer button{font-size:9px;text-decoration:none;background:none;padding:0;border:0}footer a:hover,footer button:hover{text-decoration:underline}dialog{border:2px solid var(--ink);border-radius:6px 26px 6px 26px;background:#faf0dd;color:var(--ink);width:min(760px,92vw);max-height:85svh;padding:44px;box-shadow:10px 10px 0 #48253c24}dialog::backdrop{background:#34203685;backdrop-filter:blur(6px)}.dialog-close{position:absolute;top:12px;right:16px;border:0;background:none;font-size:30px;padding:2px 8px}.dialog-kicker{font-size:10px;letter-spacing:.15em;font-weight:800}dialog h2{font-family:Georgia,serif;font-size:48px;line-height:1;letter-spacing:-.055em;margin:22px 0}dialog p{font-size:14px;line-height:1.8;max-width:580px}.story-progress{display:flex;gap:5px;margin:28px 0}.story-progress i{height:5px;flex:1;background:#48253c20}.story-progress i.done{background:#c3656b}.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.collected{padding:8px;border:1px solid #48253c20;border-radius:4px;background:#fff8eb;text-align:center}.collected img{width:100%;aspect-ratio:1}.collected strong{display:block;font-size:10px}.collected span{font-size:9px;opacity:.6}.empty-collection{display:flex;align-items:center;gap:20px}.empty-collection img{width:140px}body[data-hidden="true"] *{animation-play-state:paused!important}@keyframes turn{to{transform:rotate(360deg)}}@keyframes breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}@keyframes thought-drift{50%{transform:translateY(-6px) rotate(4deg)}}@keyframes sprout-sway{to{transform:rotate(5deg) translateY(-3px)}}@keyframes float-spore{to{transform:translate(12px,-22px) rotate(20deg)}}@keyframes orb-breathe{to{transform:scale(1.05) rotate(10deg)}}@keyframes chew{0%,24%{transform:rotate(-1deg)}36%{transform:rotate(-4deg) scale(1.03,.98)}43%{transform:rotate(3deg) scale(.98,1.03)}49%{transform:rotate(-2deg) scale(1.025,.98)}56%{transform:rotate(2deg) scale(.98,1.02)}65%{transform:rotate(-1deg) scale(1.01,.99)}80%,100%{transform:rotate(0)}}@keyframes after-bite{0%{opacity:.8;transform:scale(.95)}100%{opacity:calc(var(--trip)*.7);transform:scale(1)}}

@media(min-width:2000px){header{top:4vh}.intro{top:26%}.intro h1{font-size:8vw}#character{width:45vw;max-width:none;height:73%}.premise{font-size:1.1vw}.mint-dock{width:600px;bottom:4vh}#mint{font-size:16px;min-height:78px}.world-status,.latest{bottom:5vh}}

@media(max-width:1000px){.intro{left:10%;top:27%}.intro h1{font-size:clamp(65px,10vw,110px)}#character{left:51%;width:60vw;height:63%;bottom:14%}.premise{font-size:14px}.world-status{bottom:10px;padding:6px 10px}.latest{display:none}.thought{right:0;font-size:16px}.mint-dock{bottom:40px}header{top:25px}.edition{font-size:8px;letter-spacing:.08em}.collection-button{width:150px;padding:12px 15px}.counter strong{font-size:38px}.counter>span{font-size:22px}.counter-label{font-size:7px}}

@media(max-width:600px){#experience{min-height:0;height:calc(100svh - 43px)}header{top:16px;left:6%;right:6%}.edition{font-size:0;gap:0;background:transparent;padding:0}.edition-mark{font-size:32px}.collection-button{width:130px;padding:12px 14px}.counter strong{font-size:33px}.counter>span{font-size:20px}.counter-label{font-size:7px;margin-top:8px}.intro{top:17%;left:8%}.intro>p:first-child{font-size:8px;margin-bottom:18px}.intro h1{font-size:clamp(63px,17vw,90px);line-height:.79}.premise{font-size:12px;line-height:1.5;margin-top:22px;max-width:145px}#character{width:90vw;height:53%;left:43%;bottom:14%;transform:translateX(-30%)}.thought{top:24%;right:5%;font-size:13px;max-width:85px}#halo{top:35%;left:55%;width:70vw}#halo span{font-size:80vw}.mint-dock{bottom:32px;width:91%;gap:0}.next-mushroom{width:64px;height:80px;margin-right:-3px}#mint{min-height:56px;padding:12px 15px;gap:9px;font-size:11px}.button-price{padding-left:10px;gap:8px}#mint-note{font-size:8px}.world-status{left:50%;transform:translateX(-50%);white-space:nowrap;bottom:4px;font-size:8px}.sprout:nth-child(1){width:25vw;left:-5%;bottom:15%}.sprout:nth-child(2){width:26vw;right:-5%;bottom:14%}.sprout:nth-child(3),.sprout:nth-child(4){display:none}.garden-art{object-position:56% center}footer{height:43px;padding:6px 5%;font-size:8px;gap:8px}footer nav{gap:10px}footer button,footer a{font-size:8px}#story{display:none}dialog{padding:28px 22px}.collection-grid{grid-template-columns:repeat(3,1fr)}dialog h2{font-size:38px}.empty-collection img{width:85px}.orb{right:0;top:26%;width:65vw}}

@media(max-height:650px) and (min-width:601px){.intro{top:24%}.intro h1{font-size:76px}.intro>p:first-child{margin-bottom:14px}.premise{margin-top:22px;font-size:13px}header{top:18px}.counter strong{font-size:30px}.collection-button{width:140px}.counter-label{margin-top:6px}#character{height:74%;bottom:7%}.mint-dock{bottom:10px}.world-status{bottom:15px}.thought{top:14%}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.orb,.ripple-field{display:none}.trip-wash{opacity:.1!important}}



/* 19 October: dark art-only scene. Actual character/video animation replaces idle CSS motion. */

:root{--cream:#17111e;--ink:#e8dfca}body{background:#100d16;color:#e8dfca}#experience{height:calc(100svh - 130px);min-height:0;background:#100c1a}#world,.sky{background:#100c1a}.garden-art{filter:brightness(.52) saturate(1.3) contrast(1.18);transition:filter 5s;transform:none}.dust,.orb,.ripple-field,#halo,#floating-spores{display:none}#character{left:50%;height:89%;width:min(52vw,850px);bottom:2%;transform:translateX(-50%)}#character-body,.chewing #character-body,.sprout{animation:none;transform:none}#traveller{filter:brightness(.83) saturate(1.15) contrast(1.06)}.character-shadow{background:#08060b80}.sprout{filter:brightness(.7) saturate(1.15)}.sprout:nth-child(1){bottom:3%}.sprout:nth-child(2){bottom:1%}.trip-wash{opacity:calc(var(--trip)*.4)}.control-bar{height:96px;display:flex;align-items:center;justify-content:center;gap:70px;position:relative;background:#15101c;border-top:1px solid #e8dfca1a;padding:8px 4%;z-index:12}.collection-button{width:110px;background:none;border:0;border-radius:0;box-shadow:none;padding:0}.counter strong{font-size:30px}.counter>span{font-size:18px}.meter{background:#e8dfca20;margin-top:8px}.meter i{background:#d7a0c9}.mint-dock{position:static;transform:none;left:auto;bottom:auto;width:min(460px,50vw);gap:0}.next-mushroom{width:70px;height:75px;margin-right:0}.mint-action{flex:1}#mint{background:#d8bbd1;color:#2a1833;border:1px solid #e4c9dc;border-radius:3px;min-height:48px;padding:12px 20px;box-shadow:none;font-size:12px}#mint:hover:enabled{background:#e7cce0;transform:none;box-shadow:none}.button-price{border-color:#2a183330}#mint-note{color:#a698ae;background:none;font-size:8px;margin-top:6px}.studies-link{font-size:10px;color:#b5a4bf;text-decoration:none}.studies-link:hover{color:#f3dfec}#announcement{position:static;font-size:9px;background:none;padding:0;border-radius:0;transform:none;max-width:220px;display:none}#announcement.visible{display:block}footer{background:#100d16;color:#b8a9bd;border-color:#e8dfca12}footer a,footer button{color:#b8a9bd}dialog{background:#201629;color:#f0dfdc;border-color:#8e6d8d}dialog::backdrop{background:#09060ed0}.collected{background:#2a1c34;border-color:#b5a4bf30}.story-progress i{background:#e8dfca20}.story-progress i.done{background:#c681b1}

@media(min-width:2000px){#character{width:50vw;height:94%}.mint-dock{width:520px}#mint{font-size:13px;min-height:48px}}

@media(max-width:1000px){.control-bar{gap:30px}#character{left:50%;width:80vw;height:90%;bottom:2%;transform:translateX(-50%)}.mint-dock{width:440px;max-width:60vw}.collection-button{width:95px}.counter strong{font-size:27px}}

@media(max-width:600px){#experience{height:calc(100svh - 143px)}#character{height:82%;width:125vw;left:50%;bottom:4%;transform:translateX(-50%)}.garden-art{object-position:56% center}.control-bar{height:100px;padding:6px 4%;gap:10px;justify-content:space-between}.collection-button{width:64px;flex-shrink:0}.counter{gap:5px}.counter strong{font-size:24px}.counter>span{font-size:13px}.mint-dock{width:calc(100% - 74px);max-width:none}.next-mushroom{width:40px;height:65px}#mint{font-size:10px;padding:10px 11px;min-height:46px;gap:7px}.button-price{padding-left:9px;gap:6px;font-size:10px}#mint-note{font-size:7px}footer{height:43px}.studies-link{display:none}#story{display:inline}#announcement.visible{display:none}.sprout:nth-child(1){width:24vw;bottom:0}.sprout:nth-child(2){width:26vw;bottom:0}}



/* Preserve the complete background composition; no cover zoom or character sway. */

.garden-art{object-fit:contain;object-position:center center;transform:none!important}#character-body,.chewing #character-body{animation:none!important;transform:none!important}#character{height:80%;width:min(46vw,740px);bottom:4%}.character-shadow{opacity:.5}

@media(max-width:600px){#character{width:95vw;height:58%;bottom:12%;left:50%;transform:translateX(-50%)}.garden-art{object-position:center 44%}}



#scene-lens{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}.lens-ready #world,.lens-ready #character-body,.lens-ready #sprouts{opacity:0}.lens-ready .character-shadow{opacity:0}



#experience,#world,.sky{background:#080a14}.garden-art{filter:none}#traveller{filter:brightness(.95) saturate(1.05)}



.sound-toggle{width:30px;height:34px;padding:5px;border:0;background:none;color:#b5a4bf;flex-shrink:0}.sound-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sound-toggle.enabled{color:#ecc5e0}.sound-toggle.enabled svg{filter:drop-shadow(0 0 5px #dba4d150)}.meal .performance-sprite{position:absolute;width:155%;height:155%;left:-27.5%;top:-27.5%;object-fit:contain}.control-bar{gap:40px}@media(max-width:1000px){.control-bar{gap:20px}}@media(max-width:600px){.control-bar{gap:8px}.mint-dock{width:calc(100% - 112px)}}



.load-more{display:block;margin:22px auto 0;background:none;border:1px solid #b5a4bf60;padding:10px 18px;border-radius:3px;font-size:11px;color:#e8dfca}



@media(min-width:601px) and (max-width:1000px){#character{width:70vw;height:78%;bottom:8%}}

/* CRT cabinet and separate foreground: generated figures stay perfectly still. */

body{display:flex;flex-direction:column;height:100svh;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#21142b 0,#0a080d 58%,#050506 100%)}

.tv-room{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px 5vw 12px;perspective:1400px}

.television{position:relative;width:min(1280px,100%);height:100%;max-height:800px;min-height:0;border-radius:38px;background:linear-gradient(125deg,#584950,#28232b 27%,#19171e 70%,#3a3037);padding:24px 108px 30px 27px;box-shadow:inset 0 2px 2px #c6a29b55,inset 0 -5px 5px #060509,0 30px 70px #000b,0 0 0 3px #100d13}

.television::after{content:'';position:absolute;left:10%;right:10%;height:10px;bottom:-9px;background:#151116;border-radius:0 0 8px 8px;z-index:-1}

.tv-screen{height:100%;position:relative;border-radius:48% / 7%;padding:9px;background:#070509;box-shadow:0 0 0 3px #100d13,inset 0 0 14px #000,0 1px 1px #a6898a50;overflow:hidden}

#experience{height:100%;width:100%;min-height:0;border-radius:48% / 6%;overflow:hidden;isolation:isolate;background:#070912}

.garden-art{object-fit:contain!important;object-position:center!important;width:100%;height:100%;filter:contrast(1.06) saturate(1.08)}

.screen-glass{position:absolute;inset:8px;border-radius:48% / 6%;pointer-events:none;z-index:8;background:linear-gradient(138deg,#f6d4ee0d,transparent 26%,transparent 70%,#e4c4e206),repeating-linear-gradient(0deg,#0001 0 1px,transparent 1px 4px);box-shadow:inset 0 0 35px 12px #0009,inset 1px 1px 3px #ecc7df33}

.tv-hardware{position:absolute;right:22px;top:30px;bottom:30px;width:64px;display:flex;align-items:center;flex-direction:column;gap:23px}.dial{width:55px;height:55px;border-radius:50%;background:repeating-conic-gradient(#211c22 0deg 4deg,#4c4147 5deg 7deg);box-shadow:0 3px 5px #000b,inset 0 1px 2px #c9a9ae55;position:relative}.dial::after{content:'';position:absolute;inset:12px 23px;background:#8a747c;border-radius:2px;transform:rotate(35deg);box-shadow:1px 1px 3px #000}.dial.small{width:43px;height:43px}.dial.small::after{inset:9px 18px;transform:rotate(-25deg)}.speaker{width:50px;flex:1;max-height:220px;margin-top:16px;background:repeating-linear-gradient(0deg,#070608 0 3px,#3f333a 4px 6px);border-radius:7px;box-shadow:inset 0 0 8px #000}.tv-hardware span{font:8px monospace;letter-spacing:2px;color:#b4a0a8}.tv-hardware b{width:5px;height:5px;background:#df9368;border-radius:50%;box-shadow:0 0 9px #db6936}

#character{width:50%;height:85%;left:50%;bottom:3%;transform:translateX(-50%)}#traveller{filter:none}.trip-wash{background:radial-gradient(ellipse,transparent 30%,#bf44dc55);mix-blend-mode:screen;opacity:calc(var(--trip)*.45)}

.escape-layers{position:absolute;inset:0;pointer-events:none;z-index:10}.escape-layers img{position:absolute;width:22%;max-height:55%;object-fit:contain;bottom:-3%;filter:drop-shadow(0 9px 7px #000b)}.escape-layers img:first-child{left:-4%;transform:rotate(-13deg)}.escape-layers img:last-child{right:4%;transform:rotate(13deg)}

body[data-stage="1"] .tv-screen{box-shadow:0 0 35px #7f439c35}body[data-stage="2"] .screen-glass{box-shadow:inset 0 0 38px #9f418f55}body[data-stage="3"] #world{filter:hue-rotate(22deg) saturate(1.4)}body[data-stage="4"] #world{filter:hue-rotate(80deg) saturate(1.65)}body[data-stage="5"] #world{filter:hue-rotate(155deg) saturate(1.8)}#world{transition:filter 1.1s}.television,.screen-glass{transition:box-shadow 1.1s}

.demo-controls{height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:16px;font-size:10px;color:#9e8ca8}.demo-controls label{width:130px}.demo-controls output{color:#e6cde2;margin-left:10px;font-variant-numeric:tabular-nums}.demo-controls input{width:min(320px,38vw);accent-color:#bc8aa9;height:16px;cursor:pointer}.demo-controls button{background:none;border:1px solid #9c7d973b;color:#ba9cb8;border-radius:3px;padding:4px 10px;font-size:9px}.control-bar{height:82px;flex-shrink:0;background:transparent;border-top:1px solid #e8dfca0c}.next-mushroom{height:64px}footer{flex-shrink:0;background:transparent}.sound-toggle{color:#b5a4bf}

@media(max-width:768px){.tv-room{padding:20px 4vw 10px}.television{padding:14px 54px 18px 14px;border-radius:25px}.tv-hardware{right:10px;width:33px;top:23px;bottom:23px;gap:17px}.dial{width:30px;height:30px}.dial::after{inset:7px 13px}.dial.small{width:25px;height:25px}.dial.small::after{inset:6px 10px}.speaker{width:25px}.tv-hardware span{font-size:5px;letter-spacing:0}.tv-screen{border-radius:15% / 4%;padding:5px}.screen-glass{inset:5px;border-radius:15% / 4%}#experience{height:100%;border-radius:15% / 4%}.demo-controls{gap:8px}.demo-controls label{width:117px}.demo-controls input{width:32vw}#character{width:90%;height:61%;bottom:10%}.escape-layers img{width:32%}.control-bar{height:88px}.television{max-height:850px}}

@media(prefers-reduced-motion:reduce){#world,.television,.screen-glass{transition:none}}

/* Oversized CRT: a narrow atmospheric border instead of a TV floating in empty space. */

body::before{content:'';position:fixed;inset:-20%;pointer-events:none;z-index:-2;background:repeating-radial-gradient(ellipse at 25% 40%,#341b46 0 3%,#161833 4% 7%,#0b252b 8% 10%,#492334 11% 12%,#110d1d 13% 16%);opacity:.65;filter:blur(12px);transform:rotate(-14deg)}

body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 50% 42%,transparent 35%,#06050b99 90%)}

.tv-room{padding:16px 22px 8px}.television{width:100%;max-width:none;max-height:none;padding:22px 100px 26px 24px;border-radius:38px}.tv-screen{border-radius:46% / 8%}#experience,.screen-glass{border-radius:46% / 7%}.television{background:linear-gradient(115deg,#60525b,#302a35 20%,#1c1a23 74%,#453540);box-shadow:inset 0 3px 3px #d5bccb44,inset 0 -6px 5px #07050b,0 16px 30px #000a,0 0 0 3px #0d0b13}.tv-room{position:relative;isolation:isolate}.tv-room::before{content:'';position:absolute;inset:4% 3%;z-index:-1;background:radial-gradient(ellipse,#a253ad44,transparent 66%);filter:blur(25px)}

@media(max-width:768px){.tv-room{padding:12px 12px 6px}.television{padding:13px 52px 17px 13px;border-radius:26px}.tv-screen{border-radius:16% / 5%}#experience,.screen-glass{border-radius:16% / 4%}}

.screen-glass::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity 1.2s;background:repeating-radial-gradient(ellipse at 50% 47%,transparent 0 8%,#d674c729 8.2% 8.5%,transparent 8.8% 13%);mix-blend-mode:screen}.screen-glass::after{content:'';position:absolute;inset:0;opacity:0;transition:opacity 1.2s;background:conic-gradient(from 30deg at 50% 48%,#a8d3af25,transparent 12%,#af75d82b 20%,transparent 30%,#dc798a25 45%,transparent 56%,#73afb626 70%,transparent 84%,#a8d3af25);mix-blend-mode:screen}body[data-stage="2"] .screen-glass::before,body[data-stage="3"] .screen-glass::before,body[data-stage="4"] .screen-glass::before,body[data-stage="5"] .screen-glass::before{opacity:1}body[data-stage="3"] .screen-glass::after{opacity:.3}body[data-stage="4"] .screen-glass::after{opacity:.65}body[data-stage="5"] .screen-glass::after{opacity:1}.escape-layers img{transition:filter 1.1s}body[data-stage="4"] .escape-layers img{filter:drop-shadow(0 9px 7px #000b) hue-rotate(35deg)}body[data-stage="5"] .escape-layers img{filter:drop-shadow(0 9px 7px #000b) hue-rotate(80deg)}

/* Fit the display to the art: cabinet width is derived from available screen height. */

.tv-room{padding:22px 35px 12px}.television{flex:none;height:100%;width:min(100%,calc((100svh - 244px)*1.77778 + 124px));max-height:none}.tv-screen{border-radius:7% / 10%}#experience,.screen-glass{border-radius:6% / 9%}.television{border:3px solid #100b1b;background:linear-gradient(135deg,#47304d,#251d36 50%,#412b47);box-shadow:inset 0 3px #ab749166,inset 0 -7px #130e20,0 8px 0 #0b0912,0 24px 50px #000a}.tv-hardware .dial{background:repeating-conic-gradient(#77547d 0deg 4deg,#30233e 5deg 8deg);border:2px solid #100b1b}.tv-hardware .dial::after{background:#b98a98}.tv-hardware .speaker{background:repeating-linear-gradient(0deg,#120d20 0 3px,#69506e 4px 6px);border:2px solid #171022}.tv-room::before{inset:-10% -5%;background:repeating-radial-gradient(ellipse at 47% 52%,#60407033 0 4%,#243f4829 5% 7%,transparent 8% 13%);filter:none}

.scene-energy{position:absolute;inset:9px;z-index:6;pointer-events:none;overflow:hidden;border-radius:6% / 9%;mix-blend-mode:screen}.scene-energy i{position:absolute;width:4px;height:4px;border-radius:50%;background:#dfc69d;box-shadow:0 0 9px #bf9cd4;opacity:0;animation:spore-drift calc(30s - var(--trip)*18s) ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.73s);animation-play-state:paused}.energy-ribbon{position:absolute;width:120%;height:70%;border:2px solid #b877c136;border-radius:44% 56% 67% 33%;left:-10%;top:17%;box-shadow:0 0 34px #9065b91a,inset 0 0 30px #9f69bd13;opacity:0;animation:ribbon-drift 21s ease-in-out infinite alternate;animation-play-state:paused}.energy-ribbon.two{width:85%;height:125%;left:5%;top:-13%;border-color:#73bab82c;animation-duration:29s;animation-direction:alternate-reverse}.screen-glass::before{animation:screen-spiral calc(80s - var(--trip)*45s) linear infinite;animation-play-state:paused;inset:-45%;transform-origin:50% 50%}.screen-glass::after{animation:screen-spiral 54s linear infinite reverse;animation-play-state:paused;inset:-40%}.screen-glass{overflow:hidden}.tv-room::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:calc(var(--trip)*.35);background:radial-gradient(ellipse at 22% 55%,#b8528055,transparent 48%),radial-gradient(ellipse at 78% 45%,#36a1a055,transparent 48%);animation:atmosphere-breathe 12s ease-in-out infinite alternate;animation-play-state:paused}

body:not([data-stage="0"]) .scene-energy i{opacity:calc(.12 + var(--trip)*.65);animation-play-state:running}body[data-stage="2"] .screen-glass::before,body[data-stage="3"] .screen-glass::before,body[data-stage="4"] .screen-glass::before,body[data-stage="5"] .screen-glass::before{animation-play-state:running}body[data-stage="3"] .energy-ribbon,body[data-stage="4"] .energy-ribbon,body[data-stage="5"] .energy-ribbon{opacity:calc(var(--trip)*.9);animation-play-state:running}body[data-stage="3"] .screen-glass::after,body[data-stage="4"] .screen-glass::after,body[data-stage="5"] .screen-glass::after{animation-play-state:running}body[data-stage="4"] .tv-room::after,body[data-stage="5"] .tv-room::after{animation-play-state:running}

@keyframes spore-drift{0%{transform:translate(-8px,15px) scale(.7)}50%{transform:translate(15px,-20px) scale(1.25)}100%{transform:translate(-12px,-55px) scale(.8)}}@keyframes screen-spiral{to{transform:rotate(360deg)}}@keyframes ribbon-drift{0%{transform:rotate(-15deg) scale(.92)}100%{transform:rotate(18deg) scale(1.16)}}@keyframes atmosphere-breathe{to{transform:scale(1.12);opacity:calc(var(--trip)*.65)}}

@media(max-width:768px){.tv-room{padding:15px 14px 8px}.television{width:100%;height:min(100%,calc((100vw - 100px)*1.5 + 32px));padding:13px 52px 17px 13px}.tv-screen{border-radius:10% / 5%}#experience,.screen-glass,.scene-energy{border-radius:10% / 5%}}

@media(prefers-reduced-motion:reduce){.scene-energy i,.energy-ribbon,.screen-glass::before,.screen-glass::after,.tv-room::after{animation:none!important;transition:none!important}}

/* Generated matching cabinet. Expanded only the centre strip to keep a 16:9 aperture. */

.television{padding:0;border:0;background:none;border-radius:0;box-shadow:none;width:min(100%,calc((100svh - 205px)*1.6957));height:auto;aspect-ratio:1811/1068;max-height:100%}.television::after,.tv-hardware{display:none}.illustrated-tv{position:absolute;inset:0;width:100%;height:100%;z-index:9;pointer-events:none;filter:drop-shadow(0 15px 20px #0009)}.tv-screen{position:absolute;left:9.35%;top:14.4%;width:66.05%;height:63.2%;padding:0;box-shadow:none;border-radius:14% / 13%;overflow:hidden;background:#090b16}#experience{border-radius:0}#experience .garden-art{object-fit:cover!important}#character{width:49%;height:88%;bottom:1%}.screen-glass,.scene-energy{inset:0;border-radius:0}.escape-layers img:first-child{left:1%;bottom:4%;width:19%}.escape-layers img:last-child{right:16%;bottom:4%;width:18%}

@media(max-width:768px){.television{width:100%;height:min(100%,calc((100vw - 28px)*1.75));aspect-ratio:auto}.tv-screen{left:9.35%;top:14.4%;width:66.05%;height:63.2%;border-radius:15% / 5%}#experience .garden-art{object-fit:cover!important}#character{width:110%;height:65%;bottom:8%}.escape-layers img:first-child{width:29%;left:-2%;bottom:6%}.escape-layers img:last-child{width:29%;right:12%;bottom:6%}}

html{width:100%;height:100%;overflow:hidden}body::before{inset:0;transform:none}.tv-room{overflow:clip}

/* Precise logarithmic ribbons: the SVG supplies geometry; CSS supplies slow motion. */

body{background:#0c0b17}body::before,body::after,.tv-room::before,.tv-room::after{display:none}.math-atmosphere{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,#292035 0,#151322 55%,#0b0c15 100%)}.math-atmosphere::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 46%,#0b0c1400 38%,#090a1255 100%)}.spiral-breath{position:absolute;left:50%;top:45%;width:max(155vw,155vh);aspect-ratio:1;transform:translate(-50%,-50%);opacity:.48;animation:spiral-breathe 22s ease-in-out infinite alternate}.spiral-breath img{display:block;width:100%;height:100%;animation:precise-spiral 150s linear infinite;will-change:transform}.spiral-breath{will-change:transform,opacity}body[data-stage="3"] .spiral-breath,body[data-stage="4"] .spiral-breath,body[data-stage="5"] .spiral-breath{filter:saturate(1.25)}

@keyframes precise-spiral{from{transform:rotate(-15deg)}to{transform:rotate(345deg)}}@keyframes spiral-breathe{0%{transform:translate(-50%,-50%) scale(.98);opacity:.38}100%{transform:translate(-50%,-50%) scale(1.045);opacity:.56}}

@media(prefers-reduced-motion:reduce){.spiral-breath,.spiral-breath img{animation:none!important;will-change:auto}}

/* Moon-led night sky. No full-screen disks or rotating rings. */

.screen-glass::before,.screen-glass::after,.energy-ribbon{display:none!important;animation:none!important}.effect-definitions{position:absolute;overflow:hidden;pointer-events:none}

.moon-layer{position:absolute;inset:0;z-index:1;pointer-events:none}.moon-layer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform-origin:47.97% 20.83%;animation:moonlight-breathe calc(18s - var(--trip)*8s) ease-in-out infinite alternate;will-change:transform,filter}.moon-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;mix-blend-mode:screen}.moon-corona{position:absolute;left:47.97%;top:20.83%;width:35%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#ec9a6240 0,#cb80651c 23%,#b47bad12 40%,transparent 69%);animation:moon-corona-breathe calc(21s - var(--trip)*10s) ease-in-out infinite alternate;opacity:calc(.35 + var(--trip)*.5)}.moon-glimmer{position:absolute;inset:0;background:radial-gradient(ellipse at 48% 9%,#7f7cca22,transparent 40%);animation:sky-glow calc(32s - var(--trip)*18s) ease-in-out infinite alternate}.sky-current{position:absolute;left:-20%;top:-9%;width:140%;height:42%;background:linear-gradient(165deg,transparent 25%,#638d9615 38%,#ab788a12 45%,transparent 63%);filter:blur(16px);animation:night-current calc(45s - var(--trip)*29s) ease-in-out infinite alternate;opacity:calc(.25 + var(--trip)*.65)}

@keyframes moonlight-breathe{from{transform:scale(1.012);filter:brightness(1.02) saturate(1.02)}to{transform:scale(1.04);filter:brightness(calc(1.16 + var(--trip)*.32)) saturate(1.12)}}@keyframes moon-corona-breathe{from{transform:translate(-50%,-50%) scale(.86)}to{transform:translate(-50%,-50%) scale(calc(1.1 + var(--trip)*.3))}}@keyframes sky-glow{from{opacity:.25}to{opacity:calc(.5 + var(--trip)*.45)}}@keyframes night-current{from{transform:translate(-4%,-4%) rotate(-8deg)}to{transform:translate(6%,10%) rotate(10deg)}}

/* Counter controls both the speed and geometric intensity of the outside spiral. */

.spiral-breath{animation-duration:calc(22s - var(--trip)*12s);filter:contrast(calc(1 + var(--trip)*1.15)) saturate(calc(1 + var(--trip)*.7))!important}.spiral-breath img{animation-duration:calc(150s - var(--trip)*115s)}

@keyframes precise-spiral{from{transform:rotate(-15deg) scaleX(calc(1 + var(--trip)*.18)) skewX(calc(var(--trip)*7deg))}to{transform:rotate(345deg) scaleX(calc(1 + var(--trip)*.18)) skewX(calc(var(--trip)*7deg))}}

@keyframes spiral-breathe{from{transform:translate(-50%,-50%) scale(calc(.98 - var(--trip)*.035));opacity:calc(.38 + var(--trip)*.14)}to{transform:translate(-50%,-50%) scale(calc(1.045 + var(--trip)*.16));opacity:calc(.56 + var(--trip)*.24)}}

.illustrated-tv{filter:url(#tv-edge-warp) drop-shadow(0 15px 20px #0009)}.tv-room{padding-bottom:0}.television{transform:translateY(10px);width:min(100%,calc((100svh - 184px)*1.6957));max-height:100%}

@media(max-width:768px){.television{transform:translateY(7px);width:100%}}@media(max-width:600px){.moon-layer img{transform-origin:49.2% 31.7%}.moon-corona{left:49.2%;top:31.7%;width:42%}}

@media(prefers-reduced-motion:reduce){.moon-layer img,.moon-corona,.moon-glimmer,.sky-current,.spiral-breath,.spiral-breath img{animation:none!important;will-change:auto}.illustrated-tv{filter:drop-shadow(0 15px 20px #0009)}}

/* Playback rate changes preserve spiral phase while the preview slider moves. */

.spiral-breath{animation-duration:22s}.spiral-breath img{animation-duration:150s}.moon-layer[hidden]{display:none}

.extracted-scene-layer{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}



/* Composition review: hide separate decorative mushroom overlays for now. */

#sprouts,.extracted-scene-layer{display:none!important}

/* Native illustrated idle clips; no whole-character CSS sway. */

.character-idle-video{position:absolute;left:-16.6667%;top:-16.6667%;width:133.3334%;height:133.3334%;object-fit:contain;pointer-events:none;z-index:1;opacity:0;transition:opacity .3s}#character-body.character-idle-ready .character-idle-video{opacity:1}#character-body.character-idle-ready #traveller{opacity:0}#traveller{transition:opacity .3s}.garden-idle-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;z-index:0;opacity:0;transition:opacity .5s}#world.garden-idle-ready .garden-idle-video{opacity:1}#world.garden-idle-ready .garden-art,#world.garden-idle-ready .moon-layer{opacity:0}.escape-layers img{transform-origin:50% 95%}.escape-layers img:first-child{animation:fern-left-idle 15s ease-in-out infinite alternate}.escape-layers img:last-child{animation:fern-right-idle 18s ease-in-out infinite alternate}@keyframes fern-left-idle{from{transform:rotate(-13deg)}to{transform:rotate(-11.7deg)}}@keyframes fern-right-idle{from{transform:rotate(13deg)}to{transform:rotate(11.5deg)}}

.scene-energy i:nth-child(-n+8){opacity:calc(.07 + var(--trip)*.55);animation-play-state:running}.scene-energy i{animation-duration:calc(36s - var(--trip)*23s)}

@media(prefers-reduced-motion:reduce){.character-idle-video,.garden-idle-video{display:none!important}.character-idle-ready #traveller,.garden-idle-ready .garden-art,.garden-idle-ready .moon-layer{opacity:1!important}.escape-layers img{animation:none!important}.scene-energy i{animation:none!important}}

@media(max-width:768px){.moon-layer img{transform-origin:49.2% 31.7%}.moon-corona{left:49.2%;top:31.7%;width:42%}}



/* Shared colour phase makes the cabinet, screen and outer palette breathe together. */

:root{--scene-hue:0deg;--scene-light:1;--tv-drift-x:0px;--tv-drift-y:0px;--tv-roll:0deg;--background-strength:1;--background-opacity:.62}

.television{transform:translate(var(--tv-drift-x),calc(10px + var(--tv-drift-y))) rotate(var(--tv-roll));filter:hue-rotate(var(--scene-hue)) brightness(var(--scene-light));transform-origin:50% 58%;will-change:transform}

.math-atmosphere{background:radial-gradient(ellipse at 50% 46%,#312443 0,#09101b 58%,#01080e 100%);filter:hue-rotate(var(--scene-hue)) brightness(var(--scene-light))}

.math-atmosphere .spiral-breath{filter:contrast(calc(1 + var(--trip)*1.15)) saturate(1)!important;opacity:var(--background-opacity)}

@keyframes spiral-breathe{from{transform:translate(-50%,-50%) scale(calc(1 - var(--background-strength)*(.02 + var(--trip)*.035)));opacity:calc(var(--background-opacity)*.7)}to{transform:translate(-50%,-50%) scale(calc(1 + var(--background-strength)*(.045 + var(--trip)*.16)));opacity:var(--background-opacity)}}

#world,.garden-art{filter:none!important}

.motion-controls{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(780px,90vw);gap:28px;margin:0 auto 5px;padding:6px 0;color:#b5a4bf;z-index:12}

.motion-controls label{display:grid;grid-template-columns:1fr auto;gap:5px;font-size:10px;align-items:center}.motion-controls input{grid-column:1/-1;grid-row:2;width:100%;height:12px;margin:0;accent-color:#b77a96;cursor:pointer}.motion-controls output{font-size:9px;font-variant-numeric:tabular-nums;color:#8b9980}.television{width:min(100%,calc((100svh - 230px)*1.6957))}

@media(max-width:768px){.motion-controls{gap:8px 18px;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px 0}.motion-controls label{font-size:9px}.television{width:100%;transform:translate(var(--tv-drift-x),calc(7px + var(--tv-drift-y))) rotate(var(--tv-roll))}}

@media(prefers-reduced-motion:reduce){.television{will-change:auto;transform:translateY(10px)}.math-atmosphere,.television{filter:none}}



/* Latest review: keep the environment still; motion belongs to Cosmo and the TV. */

.math-atmosphere{filter:none}.spiral-breath,.spiral-breath img,.moon-layer img,.moon-corona,.moon-glimmer,.sky-current,.escape-layers img,.scene-energy i{animation:none!important}

.spiral-breath{transform:translate(-50%,-50%) scale(1.02);opacity:.48}.spiral-breath img{transform:rotate(-15deg)}.scene-energy i{opacity:0!important}

.motion-controls{grid-template-columns:repeat(3,minmax(0,1fr));width:min(650px,90vw)}

@media(max-width:768px){.motion-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.motion-controls label{font-size:9px}}



/* Environment-first study: selected original grove, no actor or unrelated cutouts. */

body[data-environment-only="true"] #character,body[data-environment-only="true"] .escape-layers,body[data-environment-only="true"] .control-bar{display:none}

body[data-scene="midnight-grove"] .moon-atmosphere{display:none}

body[data-environment-only="true"] .television{width:min(100%,calc((100svh - 155px)*1.6957))}

body[data-scene="midnight-grove"] .garden-art{transform:none!important}

@media(max-width:768px){body[data-environment-only="true"] .television{width:100%;height:auto;aspect-ratio:1811/1068;max-height:100%}}



/* Motion stays in the foliage; the original floor and distant hills remain registered. */

body[data-scene="midnight-grove"] #world.garden-idle-ready .garden-art{opacity:1}

body[data-scene="midnight-grove"] .garden-idle-video{mask-image:url(assets/scenes/grove-motion-mask.png);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url(assets/scenes/grove-motion-mask.png);-webkit-mask-size:100% 100%}

.grove-fireflies{position:absolute;inset:0;z-index:2;pointer-events:none}.grove-fireflies i{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffd08a;box-shadow:0 0 5px 2px #ea7c6b70;animation:grove-firefly 12s ease-in-out infinite;opacity:.4}

.grove-fireflies i:nth-child(1){left:34.7%;top:13.4%;animation-delay:-2s}.grove-fireflies i:nth-child(2){left:56.2%;top:24%;animation-duration:16s;animation-delay:-7s}.grove-fireflies i:nth-child(3){left:54.7%;top:27%;animation-duration:14s;animation-delay:-5s}.grove-fireflies i:nth-child(4){left:66.6%;top:34.2%;animation-duration:18s;animation-delay:-10s}

@keyframes grove-firefly{0%,100%{transform:translate(0,0);opacity:.15}30%{transform:translate(7px,-6px);opacity:.7}65%{transform:translate(-5px,4px);opacity:.35}}

.grove-fireflies::after{content:'';position:absolute;left:62.5%;top:13.9%;width:20%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#ffd18817,transparent 67%);mix-blend-mode:screen;animation:grove-moonlight 14s ease-in-out infinite alternate}

@keyframes grove-moonlight{from{opacity:.25;transform:translate(-50%,-50%) scale(.9)}to{opacity:.65;transform:translate(-50%,-50%) scale(1.12)}}

@media(prefers-reduced-motion:reduce){.grove-fireflies i,.grove-fireflies::after{animation:none!important}}



/* Native TV alternatives: preserve each cabinet and measure its own aperture. */

:root{--cabinet-ratio:1.6984732824;--aperture-left:8%;--aperture-top:10.992366%;--aperture-width:68.943820%;--aperture-height:72.061069%}

body[data-tv-design]:not([data-tv-design="original"]) .television{width:min(100%,calc((100svh - 155px)*var(--cabinet-ratio)));height:auto;aspect-ratio:var(--cabinet-ratio);max-height:none}

body[data-tv-design]:not([data-tv-design="original"]) .tv-screen{left:var(--aperture-left);top:var(--aperture-top);width:var(--aperture-width);height:var(--aperture-height);border-radius:0}

@media(max-width:768px){body[data-tv-design]:not([data-tv-design="original"]) .television{width:min(100%,calc((100svh - 155px)*var(--cabinet-ratio)))}}



/* Spiral is retained for later; the room study replaces it by default. */

body:not([data-setting="spiral"]) .math-atmosphere{display:none}



/* A real illustrated setting; the earlier spiral remains available via ?setting=spiral. */

.room-stage{display:contents}.room-backdrop{display:none}

body[data-setting="den"],body[data-setting="broadcast"]{background:#080b14}

body:is([data-setting="den"],[data-setting="broadcast"]) .tv-room{padding:0;position:relative;overflow:hidden;isolation:isolate}

body:is([data-setting="den"],[data-setting="broadcast"]) .room-stage{display:block;flex:none;position:relative;width:max(100%,calc((100svh - 118px)*1.777778));height:auto;aspect-ratio:16/9}

body:is([data-setting="den"],[data-setting="broadcast"]) .room-backdrop{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}

body:is([data-setting="den"],[data-setting="broadcast"]) .room-stage .television{position:absolute;left:50%;bottom:29%;translate:-50% 0;width:min(58%,calc(100vw - 40px));height:auto;aspect-ratio:var(--cabinet-ratio);max-height:none;z-index:2;isolation:isolate;transform:translate(var(--tv-drift-x),var(--tv-drift-y)) rotate(var(--tv-roll));transform-origin:50% 97%}

body:is([data-setting="den"],[data-setting="broadcast"]) .television::before{content:"";position:absolute;left:9%;right:8%;bottom:0;height:4%;border-radius:50%;background:#03040be0;filter:blur(9px);z-index:-1}

body:is([data-setting="den"],[data-setting="broadcast"]) .illustrated-tv{filter:url(#tv-edge-warp) drop-shadow(0 5px 5px #03040b77)}

@media(prefers-reduced-motion:reduce){body:is([data-setting="den"],[data-setting="broadcast"]) .room-stage .television{transform:none}}



/* Fullscreen art, with preview controls available on demand. */

footer{position:fixed;inset:auto 0 0;z-index:25;padding:5px 16px;height:25px;background:linear-gradient(transparent,#05070dcc);font-size:9px}

.scene-tuning{position:fixed;right:14px;bottom:32px;z-index:30;color:#c9b5cb}

.scene-tuning summary{list-style:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #ba9ac22c;border-radius:50%;cursor:pointer;background:#090a12aa}

.scene-tuning summary::-webkit-details-marker{display:none}.scene-tuning svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}

.scene-tuning[open]{width:min(680px,calc(100vw - 28px));padding:16px 16px 48px;border-radius:10px;border:1px solid #ba9ac22c;background:#090a12f5;box-shadow:0 12px 40px #0008}

.scene-tuning[open] summary{position:absolute;right:8px;bottom:8px}.tuning-panel .motion-controls{width:100%;margin:0;padding:0;gap:18px}.tuning-panel .demo-controls{padding-top:14px;gap:12px;height:auto}.tuning-panel .demo-controls input{flex:1;min-width:0}.tuning-panel .demo-controls label{width:auto}

body:is([data-setting="strange"],[data-setting="teal"]) .math-atmosphere{display:none}

body:is([data-setting="strange"],[data-setting="teal"]) .tv-room{position:fixed;inset:0;padding:0;overflow:hidden;isolation:isolate;display:block}

body:is([data-setting="strange"],[data-setting="teal"]) .room-stage{display:block;position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}

body:is([data-setting="strange"],[data-setting="teal"]) .room-backdrop{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}

body:is([data-setting="strange"],[data-setting="teal"]) .room-stage .television{position:absolute;left:50%;bottom:5.5%;translate:-50% 0;width:min(94vw,calc((100svh - 90px)*var(--cabinet-ratio)));height:auto;aspect-ratio:var(--cabinet-ratio);max-height:none;z-index:2;isolation:isolate;transform:translate(var(--tv-drift-x),var(--tv-drift-y)) rotate(var(--tv-roll));transform-origin:50% 97%}

body:is([data-setting="strange"],[data-setting="teal"]) .television::before{content:"";position:absolute;left:9%;right:8%;bottom:0;height:4%;border-radius:50%;background:#03040be0;filter:blur(9px);z-index:-1}

body:is([data-setting="strange"],[data-setting="teal"]) .illustrated-tv{filter:url(#tv-edge-warp) drop-shadow(0 5px 5px #03040b77)}

body[data-setting="broadcast"] .room-stage .television{bottom:24%}

@media(max-aspect-ratio:4/5){body:is([data-setting="strange"],[data-setting="teal"]) .room-stage .television{bottom:auto;top:47%;translate:-50% -50%;width:96vw}}

@media(prefers-reduced-motion:reduce){body:is([data-setting="strange"],[data-setting="teal"]) .room-stage .television{transform:none}}



:root{--cabinet-ratio:1.7780112044817926;--aperture-left:7.877116975187081%;--aperture-top:12.394957983193278%;--aperture-width:78.61362741236708%;--aperture-height:69.67787114845939%;}



/* Extend the illustrated tabletop beneath both feet of the wide cabinet. */

.desk-support{display:none}body:is([data-setting="strange"],[data-setting="teal"]) .desk-support{display:block;position:absolute;z-index:1;left:3%;right:3%;bottom:5%;height:2.6%;border:3px solid #11101e;border-top:3px solid #bd677e;border-bottom:5px solid #080a14;border-radius:45% / 35%;background:linear-gradient(#59405e,#352a48 47%,#a35a72 53%,#582f49 69%,#242138);box-shadow:0 7px 10px #03040baa}

@media(max-aspect-ratio:4/5){body:is([data-setting="strange"],[data-setting="teal"]) .desk-support{display:none}}



/* Composition refinement: reveal more of the room around the screen. */

body:is([data-setting="strange"],[data-setting="teal"]) .room-stage .television{width:min(82vw,calc((100svh - 170px)*var(--cabinet-ratio)));bottom:8%}



/* Clearer setting: teal wall, violet furniture and no synthetic tabletop. */

body[data-setting="teal"] .room-stage .television{width:min(80vw,calc((100svh - 210px)*var(--cabinet-ratio)));bottom:12%;filter:drop-shadow(0 6px 8px #080b1733) hue-rotate(var(--scene-hue)) brightness(var(--scene-light))}

body[data-setting="teal"] .desk-support{display:none}

@media(max-aspect-ratio:4/5){body[data-setting="teal"] .room-stage .television{width:94vw;bottom:auto;top:47%;translate:-50% -50%}}



body[data-setting="teal"] .room-stage .television{width:min(80vw,calc((100svh - 260px)*var(--cabinet-ratio)));bottom:17.5%}

@media(max-aspect-ratio:4/5){body[data-setting="teal"] .room-stage .television{width:94vw;bottom:auto;top:47%;translate:-50% -50%}}


/* Current selection: plain dark stage; retain the new TV and grove. */
body[data-setting="plain"]{background:#0c0a16}
body[data-setting="plain"] .tv-room{padding:20px 3vw;display:flex;align-items:center;justify-content:center}
body[data-setting="plain"] .television{width:min(80vw,calc((100svh - 160px)*var(--cabinet-ratio)));height:auto;aspect-ratio:var(--cabinet-ratio)}
@media(max-width:768px){body[data-setting="plain"] .television{width:min(94vw,calc((100svh - 100px)*var(--cabinet-ratio)))}}

/* A: restored character garden. B: the new wide TV / moonlit grove. */
body[data-version] .control-bar{display:none!important}
body[data-version="a"] .television{width:min(90vw,calc((100svh - 110px)*1.6957));height:auto;aspect-ratio:1811/1068}
body[data-version="a"] #character{display:block;width:45%;height:78%;left:50%;bottom:3%;transform:translateX(-50%)}
body[data-version="a"] .escape-layers{display:block}
body[data-version="a"] #sprouts{display:none!important}
body[data-version="a"] .sprout:nth-child(1){width:20%;left:3%;bottom:2%}
body[data-version="a"] .sprout:nth-child(2){width:23%;right:2%;bottom:1%}
body[data-version="a"] .sprout:nth-child(3){width:13%;right:16%;bottom:1%}
body[data-version="a"] .sprout:nth-child(4){width:12%;left:18%;bottom:1%}
body[data-version="a"] #world{filter:hue-rotate(155deg) saturate(1.8)!important}
body[data-version="b"] .television{width:min(80vw,calc((100svh - 160px)*var(--cabinet-ratio)));height:auto;aspect-ratio:var(--cabinet-ratio)}
body[data-version][data-setting="spiral"] .math-atmosphere{display:block;z-index:-1}
body[data-version][data-setting="spiral"] .spiral-breath{animation:spiral-breathe 22s ease-in-out infinite alternate!important}
body[data-version][data-setting="spiral"] .spiral-breath img{animation:precise-spiral 150s linear infinite!important}
body[data-page-hidden="true"] .spiral-breath,body[data-page-hidden="true"] .spiral-breath img{animation-play-state:paused!important}
.version-switch{position:fixed;top:16px;right:16px;z-index:30;display:flex;gap:2px;padding:3px;border:1px solid #c1a3bd33;border-radius:6px;background:#090b16b8;font:11px Manrope,Arial,sans-serif}
.version-switch a{text-decoration:none;padding:7px 11px;color:#9b8da7;border-radius:3px}.version-switch a[aria-current="page"]{background:#b896b426;color:#ede0ec}.version-switch a:hover{color:#fff}
@media(max-width:768px){body[data-version="a"] .television,body[data-version="b"] .television{width:min(94vw,calc((100svh - 100px)*var(--cabinet-ratio)))}}
@media(prefers-reduced-motion:reduce){body[data-version][data-setting="spiral"] .spiral-breath,body[data-version][data-setting="spiral"] .spiral-breath img{animation:none!important}}

/* 20 October: compositor motion, bounded light and opt-in static edge warp. */
:root{--motion-sway:1;--colour-strength:1}
body[data-version] .television{filter:none!important;transform:translateY(10px);animation:tv-float 22s ease-in-out infinite;will-change:transform}
body[data-version] .illustrated-tv{filter:drop-shadow(0 10px 12px #0007)!important}
body[data-edge-enabled="true"][data-version] .illustrated-tv{filter:url(#tv-edge-warp) drop-shadow(0 10px 12px #0007)!important}
.math-atmosphere .spiral-breath{filter:none!important;width:max(115vw,115vh)}
.moon-atmosphere{display:none}
.dream-light{position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none;opacity:calc(var(--colour-strength)*(.14 + var(--trip)*.5));transition:opacity 1s}
.dream-light i{position:absolute;top:-12%;left:-13%;width:48%;height:120%;border-radius:50%;background:radial-gradient(ellipse,#8e62ba80,transparent 65%);animation:dream-drift 19s ease-in-out infinite alternate;transform-origin:50% 100%}
.dream-light i:nth-child(2){left:auto;right:-15%;background:radial-gradient(ellipse,#50b7ac70,transparent 65%);animation-duration:27s;animation-delay:-12s}
.dream-light i:nth-child(3){left:27%;top:-47%;height:78%;background:radial-gradient(ellipse,#d38bba60,transparent 65%);animation-duration:31s;animation-delay:-7s}
#pause-scene{border:1px solid #ba9ac255;background:#ba9ac218;color:#e5d7e6;border-radius:5px;padding:8px 12px;margin-bottom:14px;font-size:12px}
@keyframes tv-float{0%,100%{transform:translate(calc(-2px*var(--motion-sway)),calc(10px - 1.5px*var(--motion-sway))) rotate(calc(-.12deg*var(--motion-sway)))}50%{transform:translate(calc(2px*var(--motion-sway)),calc(10px + 1.5px*var(--motion-sway))) rotate(calc(.12deg*var(--motion-sway)))}}
@keyframes dream-drift{from{transform:translate(-8%,0) rotate(-8deg);opacity:.45}to{transform:translate(12%,8%) rotate(12deg);opacity:1}}
body[data-motion-paused="true"] *,body[data-motion-paused="true"] *::before,body[data-motion-paused="true"] *::after,body[data-page-hidden="true"] *,body[data-page-hidden="true"] *::before,body[data-page-hidden="true"] *::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){body[data-version] .television,.dream-light i{animation:none!important;will-change:auto}.dream-light{opacity:.08}.illustrated-tv{filter:none!important}}

body[data-motion-paused="true"][data-version][data-setting="spiral"] .spiral-breath,body[data-motion-paused="true"][data-version][data-setting="spiral"] .spiral-breath img{animation-play-state:paused!important}

/* Reviewed Kling mushroom performance; the original central scene stays visible. */
body[data-scene="classic-garden"] #world.garden-idle-ready .garden-art{opacity:1}
body[data-scene="classic-garden"] .garden-idle-video{mask-image:url(assets/scenes/classic-mushroom-motion-mask.png);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url(assets/scenes/classic-mushroom-motion-mask.png);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}

body[data-page-hidden="true"][data-version][data-setting="spiral"] .spiral-breath,body[data-page-hidden="true"][data-version][data-setting="spiral"] .spiral-breath img{animation-play-state:paused!important}

/* Shared static phosphor/glass treatment. No animated noise or JS filter writes. */
body:not([data-crt-glass="off"]) #character{filter:saturate(.78) contrast(.9) brightness(.9) sepia(.12) blur(.45px);opacity:.94}
body:not([data-crt-glass="off"]) .screen-glass{background:repeating-linear-gradient(0deg,#05091230 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#f0a39104 0 1px,#a4e1b104 1px 2px,#acb9ed04 2px 3px),radial-gradient(ellipse at 49% 45%,transparent 35%,#12101b18 67%,#03040c8c 100%),linear-gradient(135deg,#c5c8b012,transparent 38%,#1d233318);box-shadow:inset 0 0 18px #03040b50;pointer-events:none}
@media(max-width:600px){body:not([data-crt-glass="off"]) #character{filter:saturate(.78) contrast(.9) brightness(.9) sepia(.12) blur(.25px)}body:not([data-crt-glass="off"]) .screen-glass{background-size:auto;background-image:repeating-linear-gradient(0deg,#05091225 0 1px,transparent 1px 3px),radial-gradient(ellipse at 49% 45%,transparent 35%,#03040c70 100%)}}
/* Original-coordinate mushroom sprites sit within the illustrated TV aperture. */
.mushroom-plane{position:absolute;z-index:1;pointer-events:none}
.mushroom-layer{position:absolute;pointer-events:none}
.mushroom-layer img,.mushroom-layer video{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.mushroom-layer video{opacity:0;transition:opacity .18s}
.mushroom-layer.is-playing video{opacity:1}
.mushroom-layer.is-playing img{opacity:0}
@media(prefers-reduced-motion:reduce){.mushroom-layer video{display:none}.mushroom-layer.is-playing img{opacity:1}}

.layer-studies-link{display:inline-block;font-size:11px;color:#cbb8cf;margin-right:18px;text-decoration:none}

/* Visible local test dock, outside the CRT and above its legal footer. */
body[data-version] .control-bar{display:flex!important;position:fixed;left:50%;bottom:40px;transform:translateX(-50%);width:min(430px,calc(100% - 32px));height:auto;min-height:74px;box-sizing:border-box;padding:9px 12px;gap:12px;background:#12101deb;border:1px solid #c6a0c02e;border-radius:10px;z-index:20}
body[data-version] .control-bar .collection-button{width:48px;flex:0 0 48px;color:#cfbdd1}
body[data-version] .control-bar .counter{justify-content:center;gap:3px}
body[data-version] .control-bar .counter strong{font-size:22px}
body[data-version] .control-bar .counter>span{font-size:10px}
body[data-version] .control-bar .meter{margin-top:5px}
body[data-version] .control-bar .mint-dock{display:flex;position:static;transform:none;flex:1;min-width:0;width:auto;max-width:none;gap:7px}
body[data-version] .control-bar .next-mushroom{flex:0 0 36px;width:36px;height:44px;margin:0;align-self:center}
body[data-version] .control-bar .mint-action{min-width:0}
body[data-version] #mint{width:100%;min-height:42px;border-radius:5px;font-size:12px;padding:10px 16px;justify-content:center}
body[data-version] #mint:focus-visible{outline:2px solid #f4d5ed;outline-offset:4px}
body[data-version] #mint-note{font-size:9px;line-height:1.3;text-align:center;margin:5px 0 0}
body[data-version] .control-bar .sound-toggle{width:28px;flex:0 0 28px}
body[data-version] .control-bar .studies-link{display:none}
body[data-version] #announcement.visible{display:block;position:absolute;left:0;bottom:calc(100% + 8px);width:100%;max-width:none;box-sizing:border-box;padding:9px 12px;border:1px solid #c6a0c02e;border-radius:7px;background:#12101df2;color:#e4cce4;font-size:11px;line-height:1.5;text-align:center}
@media(max-width:380px){body[data-version] .control-bar{gap:8px;padding:8px;width:calc(100% - 28px)}body[data-version] .control-bar .next-mushroom{flex-basis:28px;width:28px}body[data-version] #mint{padding:10px}body[data-version] #mint-note{font-size:8px}}

body[data-version] .scene-tuning{bottom:130px}

/* An actual acting clip replaces the idle during a meal, under the same glass. */
.character-eating-video{position:absolute;left:-16.6667%;top:-16.6667%;width:133.3334%;height:133.3334%;object-fit:contain;pointer-events:none;z-index:2;opacity:0}
#character-body.character-eating-ready .character-eating-video.is-active{opacity:1}
#character-body.character-eating-ready #traveller,#character-body.character-eating-ready .character-idle-video{opacity:0!important}
.feeding-flight{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.feeding-flight .feeding-mushroom{position:absolute;left:0;top:0;z-index:auto;transform-origin:0 0;will-change:transform}
.feeding-flight .feeding-mushroom img{width:100%;height:100%;object-fit:contain;filter:saturate(.78) contrast(.9) brightness(.9);opacity:.96}
@media(prefers-reduced-motion:reduce){.character-eating-video{display:none!important}#character-body.character-eating-ready #traveller{opacity:1!important}}
