:root{--ink:#2a1b4a;--paper:#fff6fb;--accent:#ff5fa2;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{overscroll-behavior:none;touch-action:none;background:var(--ink);height:100%;color:var(--paper);-webkit-user-select:none;user-select:none;font-family:Trebuchet MS,Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#stage{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{touch-action:none;position:fixed;inset:0}.screen{padding:calc(var(--safe-top) + 1rem) calc(var(--safe-right) + 1rem) calc(var(--safe-bottom) + 1rem) calc(var(--safe-left) + 1rem);text-align:center;background:radial-gradient(circle at 50% 40%,#2a1b4a8c,#2a1b4ae6);flex-direction:column;justify-content:center;align-items:center;gap:.9rem;display:flex;position:absolute;inset:0}.screen.play{pointer-events:none;background:0 0;justify-content:space-between}.screen.play .button{pointer-events:auto}.hidden{display:none}.screen-title{text-shadow:0 2px 12px #00000080;font-size:clamp(1.6rem,7vw,2.6rem);line-height:1.15}.screen-subtitle,.screen-line{opacity:.9;font-size:clamp(1rem,4.2vw,1.35rem)}.screen-cta{color:var(--accent);margin-top:.6rem;font-size:clamp(1.1rem,5vw,1.5rem);animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.screen-cta{animation:none}}.subtitle{opacity:0;background:#2a1b4a99;border-radius:.8rem;align-self:center;max-width:26rem;min-height:1.5em;padding:.3rem .8rem;font-size:clamp(1rem,4.4vw,1.3rem);transition:opacity .25s}.subtitle.visible{opacity:1}.steer-hint{opacity:.85;align-self:center;font-size:clamp(.95rem,4vw,1.2rem);transition:opacity .4s}.steer-hint.gone{opacity:0}.button{background:var(--accent);color:var(--paper);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.6rem 1.6rem;font-size:clamp(1.05rem,4.6vw,1.35rem)}@media (orientation:landscape) and (max-height:460px){.screen{gap:.5rem}.screen-title{font-size:clamp(1.3rem,5vh,2rem)}}
