:root{--bg: #050713;--text: #fff1d2;--muted: rgba(255, 241, 210, .7);--quiet: rgba(255, 241, 210, .48);--line: rgba(255, 241, 210, .18);--line-strong: rgba(255, 241, 210, .34);--ink: #121018;--cream: #f4dfad;--moon: #edc862;--red: #bd404a;--motel-blue: #406fa8;--toxic: #c8e96b;--display: Georgia, "Times New Roman", serif;--ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--title-offset: max(18px, env(safe-area-inset-top));--title-scale: 1;--moon-object-position: calc(18% + 20px) ;--response-max-width: min(78vw, 30ch);--control-cluster-bottom: max(12px, env(safe-area-inset-bottom));--instrument-gap: 8px}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{min-width:320px;min-height:100vh;margin:0;color:var(--text);font-family:var(--ui);letter-spacing:0;background:radial-gradient(circle at 50% -18%,rgba(237,200,98,.18),transparent 23rem),radial-gradient(circle at 8% 78%,rgba(64,111,168,.16),transparent 20rem),linear-gradient(180deg,#080b19,#050713 72%,#0c0811)}button{font:inherit}h1,h2,p{margin-top:0}.app-shell{width:100%;min-height:100svh}.shrine-frame,.toy-layout{min-height:100svh}.ritual-viewport{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;background:#07112a}.ritual-viewport:before,.ritual-viewport:after{position:absolute;left:0;z-index:14;width:100%;content:"";pointer-events:none}.ritual-viewport:before{top:0;height:31%;background:linear-gradient(180deg,rgba(2,4,12,.4),rgba(2,4,12,.54) 52%,transparent)}.ritual-viewport:after{bottom:0;height:43%;background:linear-gradient(0deg,rgba(2,4,12,.65),rgba(2,4,12,.72) 55%,transparent)}.moon-header{position:absolute;top:var(--title-offset);left:50%;z-index:18;width:min(92vw,480px);text-align:center;transform:translate(-50%) scale(var(--title-scale));transform-origin:50% 0;pointer-events:none}.moon-logo{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 24px rgba(0,0,0,.7));-webkit-user-select:none;user-select:none}.moon-stage{position:absolute;inset:0;z-index:0;isolation:isolate;overflow:hidden;background:#07112a;transform-origin:50% 92%;--stage-dread: 0;--stage-pride: 0}.moon-stage:before{position:absolute;inset:0;z-index:12;content:"";box-shadow:inset 0 -120px 110px #04071238,inset 0 0 calc(20px + (var(--stage-dread) * 42px)) rgba(4,6,17,calc(.1 + (var(--stage-dread) * .24)));pointer-events:none}.moon-stage:after{position:absolute;inset:0;z-index:13;content:"";background:radial-gradient(circle at 50% 34%,rgba(237,200,98,calc(var(--stage-pride) * .13)),transparent 24%),radial-gradient(circle at 52% 43%,transparent 24%,rgba(7,4,18,calc(var(--stage-dread) * .3)) 78%),linear-gradient(180deg,rgba(50,26,44,calc(var(--stage-dread) * .16)),transparent 43%);mix-blend-mode:multiply;pointer-events:none}.stage-fill,.stage-backdrop,.asteroid-layer,.lunar-event-layer{position:absolute;inset:0}.stage-fill{z-index:0;background-image:url(/gam-assets/Background_Fill.jpg);background-repeat:repeat-x;background-size:auto 100%;background-position:0 50%;animation:skyFillDrift 76s linear infinite;will-change:background-position}.stage-backdrop{z-index:10;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(1.02) contrast(1.03);pointer-events:none}.asteroid-layer{z-index:1;overflow:hidden;pointer-events:none}.asteroid{position:absolute;top:-16%;left:112%;width:clamp(24px,8vw,58px);height:auto;opacity:0;filter:drop-shadow(0 14px 16px rgba(0,0,0,.34));transform:translateZ(0) rotate(-18deg);animation:asteroidDrift 21s linear infinite;will-change:transform,opacity}.asteroid--one{top:-8%;animation-delay:-4s;animation-duration:24s}.asteroid--two{top:8%;width:clamp(18px,5.6vw,42px);animation-delay:-15s;animation-duration:31s}.asteroid--three{top:-22%;width:clamp(30px,9vw,66px);animation-delay:-27s;animation-duration:38s}.lunar-event-layer{z-index:8;pointer-events:none}.lunar-lander{position:absolute;top:17%;left:44%;width:clamp(72px,21vw,122px);aspect-ratio:1 / 1;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 16px 16px rgba(0,0,0,.38));pointer-events:auto;transform:translate(-50%) rotate(-2deg);transform-origin:50% 88%;animation:lunarLanderArrive 1.8s steps(8,end) both}.lunar-lander:disabled{opacity:1}.lunar-lander--departing{cursor:default;pointer-events:none;animation:lunarLanderDepart 1.6s steps(8,end) both}.lunar-lander__ship,.lunar-lander__flame{position:absolute;display:block;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.lunar-lander__ship{left:0;top:0;z-index:2;width:100%}.lunar-lander__flame{left:50%;top:69%;z-index:1;width:28%;opacity:0;transform:translate(-50%);transform-origin:50% 0;animation:lunarJetFlame 1.8s steps(5,end) both}.lunar-lander--departing .lunar-lander__flame{animation:lunarJetTakeoff 1.6s steps(6,end) both}.lunar-lander:hover .lunar-lander__ship{translate:0 -2px}.lunar-lander:focus-visible{outline:3px solid rgba(200,233,107,.82);outline-offset:5px;border-radius:20px}.lunar-explosion{position:absolute;top:22%;left:50%;z-index:3;width:clamp(96px,28vw,166px);height:auto;opacity:0;filter:drop-shadow(0 18px 18px rgba(0,0,0,.42)) drop-shadow(0 0 20px rgba(237,200,98,.34));pointer-events:none;transform:translate(-50%) scale(.72) rotate(2deg);animation:lunarExplosionPop .9s steps(5,end) both}.hanging-stars,.twinkle-stars{position:absolute;inset:0;z-index:11;pointer-events:none}.twinkle-star{position:absolute;width:clamp(22px,6vw,54px);height:auto;filter:drop-shadow(0 9px 9px rgba(0,0,0,.34)) drop-shadow(0 0 7px rgba(237,200,98,.18));transform-origin:50% 52%;animation:stopMotionTwinkle 4.8s steps(3,end) infinite;will-change:transform,filter}.twinkle-star--one{left:3%;top:60%;width:clamp(36px,10vw,45px);animation-delay:-.7s}.twinkle-star--two{right:6%;top:51%;width:clamp(25px,6vw,47px);animation-delay:-2.2s;animation-duration:5.6s}.twinkle-star--three{left:-3%;top:68%;width:clamp(30px,8vw,62px);animation-delay:-3.6s;animation-duration:6.1s}.twinkle-star--four{right:-2%;top:87%;width:clamp(29px,7.5vw,58px);animation-delay:-1.5s;animation-duration:5.2s}.twinkle-star--five{left:93%;top:25%;width:clamp(34px,8vw,66px);animation-delay:-4.4s;animation-duration:6.6s}.hanging-star{position:absolute;width:auto;filter:drop-shadow(0 10px 12px rgba(0,0,0,.34));transform-origin:50% 0;animation:starTwitch 5.4s steps(2,end) infinite}.hanging-star--one{top:-4%;left:6%;height:23%}.hanging-star--two{top:-2%;right:10%;height:18%;animation-delay:-1.7s}.hanging-star--three{top:-5%;left:65%;height:27%;animation-delay:-3.1s}.moon-clock{position:absolute;left:50%;top:var(--moon-object-position);z-index:6;width:min(84vw,397px);max-width:84%;aspect-ratio:599 / 634;transform:translate(-50%);animation:moonBob 3.2s steps(3,end) infinite;--pride-glow: 0;--dread-veil: 0}.moon-clock:before,.moon-clock:after{position:absolute;inset:9%;z-index:0;border-radius:50%;content:"";pointer-events:none}.moon-clock:before{background:radial-gradient(circle,rgba(237,200,98,.55),rgba(237,200,98,.16) 44%,transparent 70%);filter:blur(18px);opacity:calc(var(--pride-glow) * .7);transform:scale(calc(1 + (var(--pride-glow) * .1)))}.moon-clock:after{inset:2%;z-index:2;background:radial-gradient(circle at 54% 46%,transparent 50%,rgba(3,4,13,calc(var(--dread-veil) * .34)) 86%);mix-blend-mode:multiply;opacity:calc(var(--dread-veil) * .92)}.moon-art{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 28px 24px rgba(0,0,0,.36));-webkit-user-select:none;user-select:none}.moon-scorch{position:absolute;left:40%;top:2%;z-index:3;display:block;width:48%;height:auto;opacity:var(--scorch-opacity, 1);mix-blend-mode:multiply;filter:saturate(.92) contrast(1.06) drop-shadow(0 8px 7px rgba(0,0,0,.18));pointer-events:none;transform:translate(-50%) rotate(-4deg);transform-origin:50% 52%;transition:opacity 1s steps(4,end);animation:scorchQuickIn .52s steps(4,end) both;-webkit-user-select:none;user-select:none}.moon-badge{position:absolute;z-index:4;padding:5px 8px;border:1px solid rgba(255,241,210,.24);border-radius:999px;color:#fff1d2e0;background:#080b1694;font-size:.56rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.moon-badge--curtain{left:-1%;bottom:22%}.moon-clock--angry .moon-art,.moon-clock--annoyed .moon-art,.moon-clock--annoyedB .moon-art{filter:drop-shadow(0 28px 24px rgba(0,0,0,.36)) saturate(1.08)}.moon-clock--ignoringYou .moon-art,.moon-clock--defeated .moon-art{filter:drop-shadow(0 28px 24px rgba(0,0,0,.36)) brightness(.88) saturate(.94)}.moon-clock--ominous .moon-art,.moon-clock--screaming .moon-art,.moon-clock--judgingB .moon-art{filter:drop-shadow(0 0 24px rgba(64,111,168,.38)) drop-shadow(0 28px 24px rgba(0,0,0,.36))}.stage-change-layer{position:absolute;inset:0;z-index:7;pointer-events:none}.stage-change{position:absolute;display:inline-grid;width:10px;height:10px;min-width:0;min-height:0;place-items:center;overflow:hidden;padding:0;border:1px solid rgba(255,241,210,.18);border-radius:50%;color:transparent;background:#edc86294;font-size:0;text-indent:-999px;box-shadow:0 0 9px #edc86240,0 8px 18px #0003;transform-origin:center}.stage-change--milk-glass{display:none}.stage-change--paper-star{width:15px;height:15px;clip-path:polygon(50% 0,62% 35%,99% 35%,68% 56%,80% 100%,50% 72%,20% 100%,32% 56%,1% 35%,38% 35%);border:0;border-radius:0;background:#edc862d1;animation:tinyStarBlink 7s steps(2,end) infinite}.stage-change--curtain-pin{background:#bd404a9e}.stage-change--motel-bulb{background:#edc862c7}.stage-change--tide-mark{width:24px;height:5px;border-radius:999px;background:#406fa894}.stage-change--receipt-omen{display:none}.stage-change--window-frost{width:18px;height:9px;background:#406fa880}.ritual-stack{position:absolute;right:0;bottom:var(--control-cluster-bottom);left:0;z-index:18;display:grid;gap:8px;padding:0 12px}.speech-panel{position:relative;color:var(--text);text-align:center}.speech-panel p{display:-webkit-box;width:var(--response-max-width);max-height:5.4em;margin:0 auto;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;color:#fff1d2f5;font-family:var(--display);font-size:clamp(.96rem,4vw,1.14rem);font-weight:800;line-height:1.34;text-shadow:0 2px 18px rgba(0,0,0,.82),0 0 1px rgba(4,6,13,.7);text-wrap:balance;transform:translateY(0)}.speech-pin,.speech-tail{display:none}.controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;width:min(calc(100% - 58px),360px);min-width:0;min-height:54px;margin:22px auto 0;overflow:visible;padding:4px;border:1px solid rgba(244,223,173,.24);border-radius:999px;background:radial-gradient(circle at 22% 18%,rgba(255,241,210,.11),transparent 30%),linear-gradient(180deg,#272b2de6,#0e1114eb);box-shadow:inset 0 1px #fff1d229,inset 0 -2px 6px #0000007a,0 10px 28px #00000047;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.action-button{position:relative;display:grid;min-width:0;min-height:0;padding:5px 2px 4px;border:0;border-radius:999px;color:var(--text);background:transparent;box-shadow:none;cursor:pointer;grid-template-rows:1fr auto;align-items:center;justify-items:center;row-gap:2px;--action-accent: rgba(244, 223, 173, .58);--action-glow: rgba(244, 223, 173, .16);transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .11s steps(2,end)}.action-button:hover,.action-button--active{color:#fff7df;background:radial-gradient(circle at 50% 20%,var(--action-glow),transparent 42%),linear-gradient(180deg,#fff1d221,#fff1d209),#565d5f57;box-shadow:inset 0 1px 0 var(--action-accent),inset 0 -2px #00000042,inset 0 -1px 5px #00000047}.action-button:before{position:absolute;right:24%;bottom:2px;left:24%;height:2px;border-radius:999px;background:var(--action-accent);content:"";opacity:.32;transform:scaleX(.72);transition:opacity .15s ease,transform .15s steps(2,end)}.action-button:hover:before,.action-button--active:before{opacity:.86;transform:scaleX(1)}.action-button:active{transform:translateY(1px) scale(.985) rotate(-.3deg)}.action-button--active:after{position:absolute;right:8px;top:-8px;z-index:2;padding:2px 4px;border:1px solid var(--action-accent);border-radius:2px;color:#fff1d2eb;background:#080a12c7;box-shadow:0 6px 12px #0000003d;content:attr(data-stamp);font-family:var(--ui);font-size:.46rem;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase;transform:rotate(-3deg);animation:actionStamp .9s steps(3,end) both;pointer-events:none}.action-button--wave{--action-accent: rgba(244, 223, 173, .74);--action-glow: rgba(244, 223, 173, .16)}.action-button--confess{--action-accent: rgba(189, 64, 74, .76);--action-glow: rgba(189, 64, 74, .18)}.action-button--milk{--action-accent: rgba(206, 231, 245, .72);--action-glow: rgba(206, 231, 245, .15)}.action-button--shout{--action-accent: rgba(232, 151, 66, .82);--action-glow: rgba(232, 151, 66, .2)}.action-button--omen{--action-accent: rgba(124, 147, 215, .78);--action-glow: rgba(124, 147, 215, .18)}.action-button:focus-visible,.debug-panel button:focus-visible,.ritual-log summary:focus-visible,.debug-panel summary:focus-visible{outline:3px solid rgba(200,233,107,.82);outline-offset:3px}.action-button span{display:block;overflow:hidden;max-width:100%}.action-icon{display:grid;width:22px;height:22px;place-items:center;filter:drop-shadow(0 1px 0 rgba(0,0,0,.62)) drop-shadow(0 0 6px var(--action-glow))}.action-icon img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto;-webkit-user-select:none;user-select:none}.action-label{color:#fff1d2e0;font-size:clamp(.48rem,1.45vw,.58rem);font-weight:900;letter-spacing:.035em;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.stats-panel{width:min(100%,500px);margin:var(--instrument-gap) auto 0;padding:8px 9px 9px;border:0;border-radius:14px;background:#070a149e;box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.stat-scrap{display:grid;min-width:0;gap:4px;--stat-fill: rgba(244, 223, 173, .82);--stat-glow: rgba(244, 223, 173, .12)}.stat-scrap__label{display:flex;align-items:baseline;justify-content:space-between;gap:6px;color:var(--quiet);font-size:clamp(.54rem,2.1vw,.66rem);font-weight:760;line-height:1}.stat-scrap__label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-scrap__label strong{flex:0 0 auto;color:#fff1d2eb;font-size:.68rem;font-weight:900}.stat-scrap--danger .stat-scrap__label strong{color:#ff9687;text-shadow:0 0 8px rgba(189,64,74,.42)}.stat-scrap--charged .stat-scrap__label strong{color:#ffe49b;text-shadow:0 0 10px rgba(237,200,98,.42)}.stat-scrap--dim .stat-scrap__label{color:#fff1d257}.stat-scrap--calm .stat-scrap__label strong{color:#afd3ece6}.stat-meter{overflow:hidden;height:5px;border-radius:999px;background:#ffffff18;box-shadow:inset 0 0 0 1px #fff1d20b}.stat-meter span{display:block;height:100%;border-radius:inherit;background:var(--stat-fill);box-shadow:0 0 8px var(--stat-glow);transition:width .26s steps(3,end)}.stat-scrap--judgment{--stat-fill: linear-gradient(90deg, #7f2533 0%, #bd404a 58%, #ff9687 100%);--stat-glow: rgba(189, 64, 74, .28)}.stat-scrap--pride{--stat-fill: linear-gradient(90deg, #7b6231 0%, #edc862 58%, #fff1d2 100%);--stat-glow: rgba(237, 200, 98, .26)}.stat-scrap--dread{--stat-fill: linear-gradient(90deg, #272a63 0%, #55529a 54%, #9c7ddd 100%);--stat-glow: rgba(124, 104, 204, .26)}.stat-scrap--loneliness{--stat-fill: linear-gradient(90deg, #2e4b68 0%, #5d8dc0 58%, #a6c8dc 100%);--stat-glow: rgba(93, 141, 192, .24)}.stat-scrap--craving{--stat-fill: linear-gradient(90deg, #ebe3b8 0%, #d4aa54 62%, #c96543 100%);--stat-glow: rgba(212, 170, 84, .2)}.stat-scrap--judgment.stat-scrap--calm,.stat-scrap--dread.stat-scrap--calm,.stat-scrap--loneliness.stat-scrap--calm{--stat-fill: linear-gradient(90deg, rgba(138, 162, 177, .62), rgba(175, 211, 236, .82));--stat-glow: rgba(175, 211, 236, .12)}.stat-scrap--craving.stat-scrap--calm{--stat-fill: linear-gradient(90deg, #d8dfc1, #fff1d2);--stat-glow: rgba(255, 241, 210, .1)}.stat-scrap--craving.stat-scrap--danger .stat-meter{background:#43141d85;box-shadow:0 0 10px #c9654361,inset 0 0 0 1px #ff968724}.stat-scrap--craving.stat-scrap--danger{--stat-fill: linear-gradient(90deg, #d4aa54 0%, #e89742 48%, #d04d52 100%);--stat-glow: rgba(208, 77, 82, .38)}.stat-scrap--dread.stat-scrap--danger .stat-meter{box-shadow:0 0 8px #406fa857}.stat-scrap--pride.stat-scrap--charged .stat-meter{box-shadow:0 0 10px #edc86247}.stat-scrap--pride.stat-scrap--dim .stat-meter span{filter:saturate(.58) brightness(.76)}.ritual-log{position:relative;z-index:20;width:min(100%,500px);height:18px;margin:0 auto 2px}.ritual-log summary{position:relative;display:grid;width:22px;height:22px;min-width:22px;min-height:22px;margin-left:auto;place-items:center;border:1px solid rgba(244,223,173,.2);border-radius:6px;background:#080a128c;box-shadow:inset 0 1px #fff1d21f;cursor:pointer;color:#fff1d2b3;font-size:0;list-style:none}.ritual-log summary::-webkit-details-marker,.debug-panel summary::-webkit-details-marker{display:none}.ritual-log summary span{position:relative;display:block;width:9px;height:9px;color:currentColor}.ritual-log summary span:before,.ritual-log summary span:after{position:absolute;top:50%;left:50%;width:9px;height:1.5px;border-radius:999px;background:currentColor;content:"";transform:translate(-50%,-50%)}.ritual-log summary span:after{transform:translate(-50%,-50%) rotate(90deg)}.ritual-log[open] summary span:after{opacity:0}.ledger-panel{position:fixed;top:clamp(170px,20vh,190px);left:50%;z-index:40;width:min(calc(100vw - 24px),500px);max-height:min(58vh,430px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:17px 24px 16px 17px;border:1px solid rgba(244,223,173,.22);border-radius:8px;color:#fff1d2e0;background:linear-gradient(180deg,#18161ef5,#0d0c13f5),#0a0a12f5;box-shadow:0 18px 38px #0000006b,inset 0 1px #fff1d214;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);scrollbar-color:rgba(244,223,173,.5) rgba(255,241,210,.08);scrollbar-gutter:stable;scrollbar-width:thin;transform:translate(-50%)}.ledger-panel::-webkit-scrollbar{width:12px}.ledger-panel::-webkit-scrollbar-track{margin-block:8px;border-radius:999px;background:#fff1d212;box-shadow:inset 0 0 0 1px #f4dfad14}.ledger-panel::-webkit-scrollbar-thumb{border:3px solid rgba(15,14,21,.96);border-radius:999px;background:linear-gradient(180deg,#f4dfadd1,#edc8626b),#f4dfad8a;box-shadow:inset 0 0 0 1px #fff1d229}.ledger-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#fff1d2eb,#edc86294),#f4dfadad}.ledger-panel::-webkit-scrollbar-corner{background:transparent}.ledger-panel__header{display:grid;gap:4px;margin-bottom:14px}.ledger-panel__header h2{margin:0;color:var(--text);font-family:var(--display);font-size:1.02rem;line-height:1}.ledger-panel__header p{margin:0;color:#9ec3ff;font-size:.78rem;font-weight:780;line-height:1.35}.debug-panel{width:fit-content;max-width:min(calc(100% - 24px),420px);margin:14px auto 28px;border:1px solid var(--line);border-radius:999px;background:#ffffff0b;opacity:.62}.debug-panel[open]{width:min(calc(100% - 24px),420px);border-radius:14px;opacity:.76}.debug-panel summary{display:inline-flex;min-height:24px;align-items:center;justify-content:center;padding:0 11px;cursor:pointer;color:var(--quiet);font-size:.64rem;font-weight:850;letter-spacing:.035em;line-height:1;list-style:none;text-transform:lowercase}.debug-panel summary:after{content:none}.debug-panel[open] summary:after{content:none}.debug-panel__body{margin-inline:15px}.ledger-panel .evidence-row,.ledger-panel .latest-omen,.ledger-panel .memory-list{margin-inline:0}.evidence-row{display:grid;gap:8px;padding-bottom:10px}.evidence-row p,.latest-omen{margin-block:0 10px;color:var(--muted);font-size:.8rem;line-height:1.45}.evidence-row strong,.latest-omen strong{color:var(--text)}.memory-list{display:grid;gap:10px;margin-block:0 16px;padding:0;list-style:none}.memory-list li{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:start;color:var(--muted);font-size:.8rem;line-height:1.42}.memory-list time{color:var(--quiet);font-size:.66rem;font-weight:820;letter-spacing:.04em;text-transform:uppercase}.debug-panel__body{display:grid;gap:10px;padding:2px 0 14px}.debug-panel p{margin:0;overflow-wrap:anywhere;color:var(--quiet);font-size:.72rem}.debug-panel button{justify-self:start;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:#ffffff13;cursor:pointer}.wave-lines,.confession-flash,.milk-splash,.milk-accepted-plaque,.curtain-flap,.omen-burst{position:absolute;z-index:16;pointer-events:none;opacity:0}.wave-lines{top:var(--scrap-top, 23%);left:var(--scrap-left, 7%);width:clamp(58px,17vw,112px);height:auto;filter:drop-shadow(0 10px 13px rgba(0,0,0,.34));transform:rotate(var(--scrap-rotate, -7deg)) scale(var(--scrap-scale, .92))}.confession-flash,.omen-burst{display:grid;min-width:150px;min-height:34px;place-items:center;padding:7px 12px;border:1px solid rgba(255,241,210,.4);border-radius:4px;color:var(--cream);background:#080b16b3;box-shadow:0 12px 28px #0000003d;font-size:.66rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.confession-flash{top:27%;left:12%;color:#fff1d2e6;transform:rotate(-4deg)}.omen-burst{top:24%;right:9%;border-color:#406fa894;color:#dbe8ff;transform:rotate(3deg)}.milk-splash{right:14%;bottom:38%;width:clamp(36px,10vw,74px);height:auto;filter:drop-shadow(0 12px 12px rgba(0,0,0,.28)) drop-shadow(0 0 10px rgba(255,241,210,.2));transform:rotate(-11deg) scale(.84)}.milk-accepted-plaque{left:50%;top:58%;z-index:17;width:clamp(152px,44vw,260px);height:auto;filter:drop-shadow(0 12px 12px rgba(0,0,0,.32)) drop-shadow(0 0 8px rgba(255,220,143,.14));transform:translate(-50%) rotate(-.8deg) scale(.92);animation:milkAcceptedPlaque 2.15s steps(5,end) both}.curtain-flap{top:var(--scrap-top, 17%);left:var(--scrap-left, 70%);width:clamp(62px,18vw,118px);height:auto;filter:drop-shadow(0 12px 14px rgba(0,0,0,.34));transform:rotate(var(--scrap-rotate, 7deg)) scale(var(--scrap-scale, .92))}.moon-stage--return .hanging-star{animation:starTwitch .18s steps(2,end) 6}.moon-stage--wave .wave-lines{animation:waveHelloPop .86s steps(3,end)}.moon-stage--confess .confession-flash{animation:stampPop .76s steps(3,end)}.moon-stage--milk .milk-splash{animation:milkZeroGravity 1.85s steps(6,end)}.moon-stage--shout .moon-clock{animation:moonShoutWobble .52s steps(3,end)}.moon-stage--shout .hanging-star{animation:hangingStarShoutWobble .62s steps(3,end)}.moon-stage--shout .curtain-flap{animation:paperPop .72s steps(2,end)}.moon-stage--omen .omen-burst{animation:stampPop .78s steps(3,end)}@keyframes moonBob{0%,to{transform:translate(-50%) translateY(0) rotate(-.3deg)}50%{transform:translate(-50%) translateY(-5px) rotate(.4deg)}}@keyframes moonShoutWobble{0%,to{transform:translate(-50%) translateY(0) rotate(-.3deg)}24%{transform:translate(-50%) translateY(3px) rotate(-2deg)}48%{transform:translate(-50%) translateY(-2px) rotate(1.8deg)}72%{transform:translate(-50%) translateY(2px) rotate(-1.1deg)}}@keyframes skyFillDrift{0%{background-position:0 50%}to{background-position:-1000px 50%}}@keyframes asteroidDrift{0%{opacity:0;transform:translateZ(0) rotate(-18deg) scale(.92)}8%,72%{opacity:.82}to{opacity:0;transform:translate3d(-142vw,142vh,0) rotate(-78deg) scale(1.04)}}@keyframes lunarLanderArrive{0%{opacity:0;transform:translate(-46%,-72vh) rotate(10deg) scale(.92)}18%{opacity:1;transform:translate(-53%,-38vh) rotate(-7deg) scale(.98)}44%{opacity:1;transform:translate(-48%,-15vh) rotate(5deg) scale(1)}72%{opacity:1;transform:translate(-51%,-2vh) rotate(-3deg) scale(1)}to{opacity:1;transform:translate(-50%) rotate(-2deg) scale(1)}}@keyframes lunarJetFlame{0%,58%{opacity:1;transform:translate(-50%) scaleY(1)}66%{opacity:.55;transform:translate(-50%) scaleY(.62)}74%,to{opacity:0;transform:translate(-50%) scaleY(.2)}}@keyframes lunarLanderDepart{0%{opacity:1;transform:translate(-50%) rotate(-2deg) scale(1)}12%{opacity:1;transform:translate(-51%,1px) rotate(2deg) scale(1)}24%{opacity:1;transform:translate(-49%,-1px) rotate(-4deg) scale(1.01)}36%{opacity:1;transform:translate(-52%,1px) rotate(4deg) scale(1.02)}48%{opacity:1;transform:translate(-48%,-2px) rotate(-5deg) scale(1.02)}62%{opacity:1;transform:translate(-50%,-12vh) rotate(3deg) scale(.98)}82%{opacity:.95;transform:translate(-47%,-42vh) rotate(-8deg) scale(.9)}to{opacity:0;transform:translate(-43%,-78vh) rotate(-16deg) scale(.72)}}@keyframes lunarJetTakeoff{0%,18%{opacity:0;transform:translate(-50%) scaleY(.2)}28%{opacity:.82;transform:translate(-50%) scaleY(.78)}42%,78%{opacity:1;transform:translate(-50%) scaleY(1.28)}to{opacity:.6;transform:translate(-50%) scaleY(1.5)}}@keyframes scorchQuickIn{0%{opacity:0;scale:.94;rotate:-2deg}to{opacity:var(--scorch-opacity, 1);scale:1;rotate:0deg}}@keyframes lunarExplosionPop{0%{opacity:0;transform:translate(-50%) scale(.45) rotate(-5deg)}18%,58%{opacity:1;transform:translate(-50%,-3px) scale(1) rotate(3deg)}to{opacity:0;transform:translate(-50%,-10px) scale(1.18) rotate(-2deg)}}@keyframes starTwitch{0%,to{translate:0 0;rotate:-1deg}45%{translate:1px 2px;rotate:1.5deg}70%{translate:-1px 1px;rotate:-.5deg}}@keyframes hangingStarShoutWobble{0%,to{translate:0 0;rotate:-1deg}22%{translate:-3px 4px;rotate:7deg}48%{translate:3px 2px;rotate:-6deg}74%{translate:-2px 3px;rotate:4deg}}@keyframes tinyStarBlink{0%,72%,to{opacity:.78}76%,82%{opacity:.3}}@keyframes stopMotionTwinkle{0%,to{filter:drop-shadow(0 9px 9px rgba(0,0,0,.34)) drop-shadow(0 0 5px rgba(237,200,98,.14));transform:rotate(-2deg) scale(.96)}34%{filter:drop-shadow(0 9px 9px rgba(0,0,0,.34)) drop-shadow(0 0 11px rgba(237,200,98,.32));transform:rotate(4deg) scale(1.08)}67%{filter:drop-shadow(0 9px 9px rgba(0,0,0,.34)) drop-shadow(0 0 7px rgba(237,200,98,.2));transform:rotate(-5deg) scale(1)}}@keyframes curtainWobble{0%,to{transform:rotate(0)}33%{transform:rotate(-1.1deg)}66%{transform:rotate(1.3deg)}}@keyframes paperPop{0%,to{opacity:0;translate:0 10px}35%,75%{opacity:1;translate:0 0}}@keyframes waveHelloPop{0%,to{opacity:0;translate:0 10px}28%,84%{opacity:1;translate:0 0}}@keyframes stampPop{0%{opacity:0;scale:.84;rotate:-5deg}32%,74%{opacity:1;scale:1;rotate:-2deg}to{opacity:0;scale:1.03;rotate:-1deg}}@keyframes milkOffer{0%{opacity:0;translate:0 14px}30%,70%{opacity:1;translate:0 0}to{opacity:0;translate:0 -8px}}@keyframes milkZeroGravity{0%{opacity:0;translate:0 16px;rotate:-14deg;scale:.76}18%{opacity:1;translate:-8px 2px;rotate:18deg;scale:.95}52%{opacity:1;translate:-22px -18px;rotate:104deg;scale:1}76%{opacity:1;translate:-31px -27px;rotate:168deg;scale:.96}90%{opacity:.72;translate:-39px -37px;rotate:214deg;scale:.9}to{opacity:0;translate:-48px -46px;rotate:252deg;scale:.84}}@keyframes milkAcceptedPlaque{0%{opacity:0;translate:0 10px;rotate:-2deg;scale:.88}16%{opacity:1;translate:0 0;rotate:-.8deg;scale:1}72%{opacity:1;translate:0 0;rotate:.6deg;scale:1}to{opacity:0;translate:0 -6px;rotate:1deg;scale:.98}}@keyframes actionStamp{0%{opacity:0;translate:0 4px;scale:.92}18%,72%{opacity:1;translate:0 0;scale:1}to{opacity:0;translate:0 -2px;scale:1.02}}@media(max-width:370px){:root{--title-offset: max(16px, env(safe-area-inset-top));--title-scale: .94;--moon-object-position: 19%;--response-max-width: min(82vw, 28ch);--instrument-gap: 9px}.ritual-stack{gap:8px;padding-inline:8px}.moon-clock{width:112vw}.stats-grid{gap:6px}.stats-panel{padding-inline:8px}}@media(prefers-reduced-motion:reduce){.stage-fill,.asteroid,.lunar-lander,.lunar-lander__flame,.lunar-explosion,.hanging-star,.twinkle-star,.moon-clock,.stage-change--paper-star,.milk-accepted-plaque{animation-duration:1ms;animation-iteration-count:1}.asteroid{display:none}}@media(min-width:720px){:root{--title-offset: 22px;--title-scale: .92;--moon-object-position: calc(17% + 20px) ;--response-max-width: min(320px, 30ch);--control-cluster-bottom: clamp(64px, 7vh, 96px);--instrument-gap: 10px}.app-shell{display:grid;min-height:100vh;place-items:start center;padding:32px 18px 44px}.shrine-frame{width:min(100%,600px);min-height:auto}.toy-layout{min-height:auto}.ritual-viewport{min-height:min(94vh,1068px);border:0;border-radius:34px;box-shadow:0 32px 90px #0000006b}.ritual-viewport:before,.ritual-viewport:after{border-radius:inherit}.moon-stage{border-radius:inherit}.moon-stage:before{border-radius:inherit}.moon-clock{width:min(61vw,397px)}.ritual-stack{padding:0 22px}.speech-panel p{font-size:1.12rem}.stats-panel{padding:10px 11px 11px}.ledger-panel{top:clamp(240px,30.6vh,389px)}}@media(min-width:1080px){.app-shell{padding-top:42px}.shrine-frame{width:620px}.ritual-viewport{min-height:min(94vh,1102px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
