:root{--ink:#f3ead8;--ink-dim:#f3ead8b8;--glass:#14180e8c;--accent:#d9b56a}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#1c2414;margin:0;font-family:ui-serif,Georgia,Iowan Old Style,serif;overflow:hidden}#app,#app canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#overlay{z-index:10;background:radial-gradient(#10140a59,#0a0c06bf);place-items:center;padding:16px;transition:opacity .5s;display:grid;position:fixed;inset:0}#overlay.hidden{opacity:0;pointer-events:none}.card{text-align:center;background:var(--glass);-webkit-backdrop-filter:blur(10px);border:1px solid #f3ead81f;border-radius:18px;max-width:420px;padding:28px 24px}h1{letter-spacing:.02em;margin:0 0 4px;font-size:30px;font-weight:500}.sub{color:var(--ink-dim);margin:0 0 22px;font-style:italic}#start{font:inherit;border:1px solid var(--accent);color:var(--ink);cursor:pointer;background:#d9b56a29;border-radius:999px;padding:12px 30px;font-size:18px}#start:disabled{opacity:.6;cursor:progress}#status{min-height:1.2em;color:var(--ink-dim);margin:14px 0 0;font-size:14px}#hint{color:var(--ink-dim);margin:10px 0 0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;line-height:1.5}.tip{color:var(--ink-dim);margin:12px 0 0;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px}.ios-only{display:none}@supports (-webkit-touch-callout:none){.ios-only{display:block}}@media (display-mode:standalone){.ios-only{display:none!important}}#joystick{pointer-events:none;opacity:0;z-index:5;background:#14180e2e;border:1.5px solid #f3ead859;border-radius:50%;width:110px;height:110px;margin:-55px 0 0 -55px;transition:opacity .15s;position:fixed}#joystick.active{opacity:1}#joystick-knob{background:#f3ead88c;border-radius:50%;width:46px;height:46px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#photo{right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));background:var(--glass);width:56px;height:56px;color:var(--ink);cursor:pointer;z-index:6;-webkit-backdrop-filter:blur(6px);border:1px solid #f3ead859;border-radius:50%;place-items:center;display:grid;position:fixed}body.photo-flash:after{content:"";pointer-events:none;z-index:20;background:#fff;animation:.35s ease-out forwards flash;position:fixed;inset:0}@keyframes flash{0%{opacity:.7}to{opacity:0}}#season-ui{left:50%;top:calc(12px + env(safe-area-inset-top));background:var(--glass);-webkit-backdrop-filter:blur(6px);z-index:11;touch-action:none;border:1px solid #f3ead82e;border-radius:999px;align-items:center;gap:10px;padding:8px 14px;display:flex;position:fixed;transform:translate(-50%)}#season-ui .ends{font-size:15px}#season-ui .track{justify-items:center;gap:2px;display:grid}#season-name{color:var(--ink-dim);letter-spacing:.04em;font-size:12px}#season{width:min(52vw,260px);accent-color:var(--accent);touch-action:none}#stats{left:calc(10px + env(safe-area-inset-left));bottom:calc(10px + env(safe-area-inset-bottom));z-index:6;background:#00000073;border-radius:6px;padding:4px 8px;font:12px ui-monospace,monospace;position:fixed}.hidden{display:none}#overlay.hidden{display:grid}
