:root{color-scheme:dark;--slate: #34454c;--ink: #f4efe6;--muted: #d9cfc2;--panel: rgba(42, 36, 32, .78);--line: rgba(244, 239, 230, .22)}*{box-sizing:border-box}html,body,#stage{margin:0;height:100%}body{background:var(--slate);color:var(--ink);font-family:Georgia,Iowan Old Style,Palatino Linotype,serif}#stage{position:relative;overflow:hidden}#view{display:block;width:100%;height:100%;touch-action:none}#fallback{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:var(--slate)}#fallback.is-hidden{display:none}#status{position:absolute;left:50%;bottom:calc(5.5rem + env(safe-area-inset-bottom));transform:translate(-50%);margin:0;max-width:min(36rem,calc(100% - 2rem));padding:.55rem .85rem;border-radius:999px;background:var(--panel);color:var(--ink);font-family:system-ui,sans-serif;font-size:.95rem;text-align:center}#status.is-hidden{display:none}header{position:absolute;top:calc(.85rem + env(safe-area-inset-top));left:calc(.85rem + env(safe-area-inset-left));margin:0;padding:.7rem .9rem .75rem;border:1px solid var(--line);border-radius:.7rem;background:var(--panel);pointer-events:none}h1{margin:0;font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:600;letter-spacing:.01em}header p{margin:.2rem 0 0;color:var(--muted);font-family:system-ui,sans-serif;font-size:.92rem}.controls{position:absolute;right:calc(.85rem + env(safe-area-inset-right));bottom:calc(.85rem + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem;max-width:calc(100% - 1.7rem)}button{min-height:44px;min-width:44px;padding:.45rem .85rem;border:1px solid var(--line);border-radius:.55rem;background:var(--panel);color:var(--ink);font-family:system-ui,sans-serif;font-size:.95rem;cursor:pointer}button:focus-visible{outline:2px solid #f0c27a;outline-offset:2px}.hint{position:absolute;left:1rem;bottom:1.15rem;margin:0;color:var(--muted);font:.8rem system-ui,sans-serif;pointer-events:none}@media(max-width:640px){.hint{bottom:4.3rem;left:0;width:100%;text-align:center}header{max-width:calc(100% - 1.7rem)}header p{font-size:.84rem}.controls{left:calc(.85rem + env(safe-area-inset-left));justify-content:stretch}.controls button{flex:1 1 auto}}
