:root{color-scheme:dark;--bg: #1c140e;--ink: #f6ead8;--muted: #d9cbb8;--line: #6a5340;--chip: #2a2118;--gold: #e2b657;--straw: #c4a15a}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,sans-serif;line-height:1.5}body{min-height:100vh}a{color:#f0c36a}a:hover{color:#ffe1a3}.site-header{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line)}.brand{color:var(--gold);font-weight:700;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.nav{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 auto}.nav a{color:var(--ink);text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px}.nav a[aria-current=page]{background:var(--gold);color:#1c140e}.countdown{margin:0;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}body[data-page=daily] .countdown{color:var(--gold);font-size:1.15rem;font-weight:700}.wrap{width:min(880px,calc(100% - 24px));margin:0 auto;padding-bottom:32px}h1{font-size:1.45rem;line-height:1.25;margin:14px 0 6px}.lede{margin:0 0 12px}.hud,.stats,.controls{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:8px 0}.hud span,.stats span{font-variant-numeric:tabular-nums}#hint{margin:0;min-height:1.2em;font-size:2rem;line-height:1.15;font-weight:800}#trend{margin:0 0 8px;min-height:1.4em;font-size:1.2rem;font-weight:800}#trend:not(:empty){color:#ffe14a}.daily-stamp{margin:0 0 8px;font-size:1.35rem;font-weight:800;color:var(--gold)}#hint[data-band=freezing]{color:#7aa6ff}#hint[data-band=cold]{color:#3ee4ef}#hint[data-band=warm]{color:#ffe14a}#hint[data-band=hot]{color:#ff8a1a}#hint[data-band=burning]{color:#ff4b4b}#hint[data-state=found]{color:var(--gold)}.stage{position:relative;height:62vh;min-height:280px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#1c140e}canvas{position:relative;z-index:1;width:100%;height:100%;display:block;touch-action:none;cursor:grab}button{font:inherit;color:var(--ink);background:#3a2e22;border:1px solid var(--line);border-radius:999px;min-height:44px;padding:0 14px;cursor:pointer}button[aria-pressed=true]{background:var(--gold);color:#1c140e;border-color:var(--gold)}button:disabled{opacity:.45;cursor:default}.hint-note{margin:0;color:var(--muted);font-size:.95rem}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}#win{position:absolute;left:12px;right:12px;bottom:12px;z-index:6;max-height:calc(100% - 24px);overflow:auto;background:#1c140ef0;border:1px solid var(--gold);border-radius:12px;padding:12px}#win[hidden]{display:none}.win-title{margin:0 0 6px;font-size:1.2rem;font-weight:700}#share-text{margin:0 0 8px;white-space:pre-wrap;word-break:break-word}.win-actions{display:flex;gap:8px;flex-wrap:wrap}#win-note{margin:8px 0 0;color:var(--muted)}#rollover{margin:8px 0;padding:8px 10px;background:var(--chip);border-radius:8px}#rollover[hidden],#stage-fallback[hidden]{display:none}#coach{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:16px;text-align:center;background:#0c0805d1;color:#fff8e8;pointer-events:none}#coach[hidden]{display:none}#coach p{margin:0;max-width:16ch;padding:16px 14px;border:3px solid var(--gold);border-radius:16px;background:#1c140ef0;font-size:1.6rem;font-weight:800;line-height:1.25}#coach-dismiss{position:absolute;bottom:16px;left:50%;transform:translate(-50%);pointer-events:auto;background:var(--gold);color:#1c140e;border-color:var(--gold);font-weight:800}#share-box{width:100%;box-sizing:border-box;margin:8px 0;padding:8px;font:inherit;color:var(--ink);background:#1c140e;border:1px solid var(--gold);border-radius:8px}#copy-feedback{margin:0 0 8px;font-weight:800;color:#ffe14a}#share-box[hidden],#copy-feedback[hidden]{display:none}.story{margin-top:28px}.story h2,.story h3{line-height:1.3}.story p,.story li{max-width:68ch}.site-footer{border-top:1px solid var(--line);padding:16px 12px 28px}.site-footer p{width:min(880px,100%);margin:0 auto;color:var(--muted);font-size:.95rem}dialog{background:var(--chip);color:var(--ink);border:1px solid var(--line);border-radius:12px;max-width:360px}dialog::backdrop{background:#0000008c}.dialog-actions{display:flex;gap:8px;justify-content:flex-end}@media(max-width:700px){.site-header{align-items:stretch;flex-wrap:wrap}.nav{flex:1 1 100%}.countdown{width:auto}.stage{height:58vh}h1{font-size:1.3rem}}@media(min-width:900px){h1{font-size:1.8rem}.stage{height:68vh;max-height:720px}}
