:root{--paper: rgba(238, 240, 248, .92);--paper-dim: rgba(238, 240, 248, .45);--ember: rgba(255, 172, 90, .95);--ice: rgba(148, 196, 255, .9);font-family:Optima,Avenir Next,Segoe UI,system-ui,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#000;color:var(--paper);overscroll-behavior:none}#view{position:fixed;inset:0;width:100%;height:100%;display:block}#hud{position:fixed;inset:0;pointer-events:none;user-select:none}.chapter{position:absolute;left:5vw;bottom:9vh;max-width:42ch;opacity:0;transition:opacity 1.4s ease}.chapter.visible{opacity:1}.chapter .numeral{font-size:.66rem;letter-spacing:.5em;color:var(--ember);margin-bottom:.55rem}.chapter .name{font-size:clamp(1.05rem,2.1vw,1.6rem);font-weight:300;letter-spacing:.3em;text-transform:uppercase}.chapter .line{margin-top:.7rem;font-size:.78rem;font-weight:400;line-height:1.7;letter-spacing:.06em;color:var(--paper-dim)}.clocks{position:absolute;top:6vh;right:5vw;text-align:right;font-variant-numeric:tabular-nums;opacity:0;transition:opacity 1.4s ease}.clocks.visible{opacity:1}.clocks .row{display:flex;justify-content:flex-end;align-items:baseline;gap:.9em;margin-bottom:.45rem}.clocks .label{font-size:.58rem;letter-spacing:.38em;text-transform:uppercase;color:var(--paper-dim)}.clocks .value{font-size:.95rem;font-weight:300;letter-spacing:.08em;min-width:10ch}.clocks .value.universe{color:var(--ember)}.clocks .dilation{font-size:.62rem;letter-spacing:.22em;color:var(--ice);opacity:0;transition:opacity .8s ease}.clocks .dilation.hot{opacity:1}.track{position:absolute;left:5vw;right:5vw;bottom:5vh;height:1px;background:#eef0f824}.track .fill{position:absolute;left:0;top:0;bottom:0;width:0%;background:linear-gradient(90deg,#ffac5ad9,#ffe8ccf2);transition:width 80ms linear}.track .tick{position:absolute;top:-3px;width:1px;height:7px;background:#eef0f84d}.prompt{position:absolute;bottom:12vh;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1.1rem;text-align:center;white-space:nowrap}.prompt .how{font-size:.62rem;letter-spacing:.5em;text-transform:uppercase;color:var(--paper-dim);animation:prompt-pulse 3.2s ease-in-out infinite;transition:opacity 1.2s ease}.prompt.gone .how{opacity:0}.prompt .sound{pointer-events:auto;background:#00000059;border:1px solid rgba(238,240,248,.25);color:var(--paper);font:inherit;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;padding:.7em 1.6em;cursor:pointer;transition:border-color .4s ease,background .4s ease,opacity .9s ease}.prompt .sound:hover{border-color:var(--ember);background:#ffac5a14}.prompt .sound.gone{opacity:0;pointer-events:none}@keyframes prompt-pulse{0%,to{opacity:.35}50%{opacity:.85}}.card{position:absolute;inset:0;display:grid;place-items:center;text-align:center;opacity:0;transition:opacity 2s ease}.card.visible{opacity:1}.card h2{font-size:clamp(1.6rem,4.5vw,3.4rem);font-weight:200;letter-spacing:.42em;text-transform:uppercase;text-indent:.42em}.card p{margin:1.1rem auto 0;max-width:52ch;font-size:.82rem;font-weight:400;letter-spacing:.14em;color:var(--paper-dim)}.finale{position:absolute;inset:0;display:grid;place-items:center;text-align:center;opacity:0;pointer-events:none;transition:opacity 2.4s ease}.finale.visible{opacity:1;pointer-events:auto}.finale .over{font-size:.6rem;letter-spacing:.5em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:1.1rem}.finale h2{font-size:clamp(1.8rem,5vw,3.8rem);font-weight:200;letter-spacing:.34em;text-transform:uppercase;text-indent:.34em}.finale .tag{margin-top:1.2rem;font-size:.85rem;font-weight:400;letter-spacing:.12em;color:var(--paper-dim)}.finale .actions{margin-top:3rem;display:flex;gap:2.2rem;justify-content:center}.finale button{background:none;border:1px solid rgba(238,240,248,.25);color:var(--paper);font:inherit;font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;padding:.85em 1.9em;cursor:pointer;transition:border-color .4s ease,background .4s ease}.finale button:hover{border-color:var(--ember);background:#ffac5a14}.finale .seed{margin-top:2.2rem;font-size:.58rem;letter-spacing:.28em;color:#eef0f847}@media (prefers-reduced-motion: reduce){.prompt .how{animation:none}}
