:root{--bg: #f8f1e5;--ink: #2a1f1a;--ink-soft: #4a3d33;--line: rgba(42, 31, 26, .18);color-scheme:light}:root[data-theme=dark]{--bg: #0e1a24;--ink: #f1e6cf;--ink-soft: #b5a78f;--line: rgba(241, 230, 207, .16);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e1a24;--ink: #f1e6cf;--ink-soft: #b5a78f;--line: rgba(241, 230, 207, .16);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;overflow-x:hidden}body{background:var(--bg);color:var(--ink);font-family:system-ui,sans-serif;font-size:16px;line-height:1.6}.page{max-width:640px;margin:0 auto;padding:24px 16px 64px}.intro{text-align:center}.wordmark{margin:0;font-family:Georgia,Times New Roman,serif;font-size:2.5rem;font-weight:600;letter-spacing:.02em}.tagline{margin:0 0 16px;color:var(--ink-soft)}.stage{width:100%;aspect-ratio:640 / 520}.stage canvas{display:block;width:100%;height:100%}.controls{display:flex;gap:8px;justify-content:center;margin-top:8px}.btn{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:6px;padding:6px 14px;min-height:44px;cursor:pointer}.btn[aria-pressed=true]{border-color:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.caption{min-height:6em;margin-top:8px;text-align:center}.caption p{margin:0}.caption .when{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.caption .where{font-weight:600}.note{margin:24px 0 0;text-align:center;color:var(--ink-soft)}
