:root{--ink: rgba(235, 238, 248, .92);--ink-dim: rgba(235, 238, 248, .45);--amber: rgba(255, 176, 92, .9);--blue: rgba(140, 190, 255, .9);font-family:Inter,Helvetica Neue,system-ui,sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#000;color:var(--ink);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}.act-marker{position:absolute;top:6vh;left:5vw;opacity:0;transition:opacity 1.4s ease}.act-marker.visible{opacity:1}.act-marker .index{font-size:.62rem;letter-spacing:.42em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:.5rem}.act-marker .title{font-size:clamp(1.1rem,2.2vw,1.7rem);font-weight:200;letter-spacing:.3em;text-transform:uppercase}.act-marker .copy{margin-top:.7rem;max-width:34ch;font-size:.78rem;font-weight:300;line-height:1.7;letter-spacing:.06em;color:var(--ink-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(--ink-dim)}.clocks .value{font-size:.95rem;font-weight:300;letter-spacing:.08em;min-width:9ch}.clocks .value.outside{color:var(--amber)}.clocks .dilation{font-size:.62rem;letter-spacing:.22em;color:var(--blue);opacity:0;transition:opacity .8s ease}.clocks .dilation.hot{opacity:1}.rail{position:absolute;left:5vw;right:5vw;bottom:5.5vh;height:1px;background:#ebeef824}.rail .fill{position:absolute;left:0;top:0;bottom:0;width:0%;background:linear-gradient(90deg,#ffb05cd9,#ffe6c8f2);transition:width 80ms linear}.rail .tick{position:absolute;top:-3px;width:1px;height:7px;background:#ebeef84d}.hint{position:absolute;bottom:9vh;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1.1rem;text-align:center}.hint span{font-size:.62rem;letter-spacing:.5em;text-transform:uppercase;color:var(--ink-dim);animation:hint-pulse 3.2s ease-in-out infinite;transition:opacity 1.2s ease}.hint.gone span{opacity:0}.hint .sound{pointer-events:auto;background:#00000059;border:1px solid rgba(235,238,248,.25);color:var(--ink);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}.hint .sound:hover{border-color:var(--amber);background:#ffb05c14}.hint .sound.gone{opacity:0;pointer-events:none}@keyframes hint-pulse{0%,to{opacity:.35}50%{opacity:.85}}.title-card{position:absolute;inset:0;display:grid;place-items:center;text-align:center;opacity:0;transition:opacity 2s ease}.title-card.visible{opacity:1}.title-card h2{font-size:clamp(1.6rem,4.5vw,3.4rem);font-weight:100;letter-spacing:.42em;text-transform:uppercase;text-indent:.42em}.title-card p{margin-top:1.1rem;font-size:.82rem;font-weight:300;letter-spacing:.14em;color:var(--ink-dim)}.end-card{position:absolute;inset:0;display:grid;place-items:center;text-align:center;opacity:0;pointer-events:none;transition:opacity 2.4s ease}.end-card.visible{opacity:1;pointer-events:auto}.end-card .eyebrow{font-size:.6rem;letter-spacing:.5em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:1.1rem}.end-card h2{font-size:clamp(1.8rem,5vw,3.8rem);font-weight:100;letter-spacing:.34em;text-transform:uppercase;text-indent:.34em}.end-card .tagline{margin-top:1.2rem;font-size:.85rem;font-weight:300;letter-spacing:.12em;color:var(--ink-dim)}.end-card .actions{margin-top:3rem;display:flex;gap:2.2rem;justify-content:center}.end-card button{pointer-events:auto;background:none;border:1px solid rgba(235,238,248,.25);color:var(--ink);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}.end-card button:hover{border-color:var(--amber);background:#ffb05c14}.end-card .seed{margin-top:2.2rem;font-size:.58rem;letter-spacing:.28em;color:#ebeef847}@media (prefers-reduced-motion: reduce){.hint{animation:none}}
