:root{--bg:#f7f5f2;--ink:#444;--muted:#8f8b85;--line:#d9d5cf;--accent:#c9775b;--panel:#fff;--soft:#efeae4}:root.night{--bg:#232120;--ink:#e8e3db;--muted:#8c877e;--line:#413d38;--accent:#e08d6a;--panel:#2e2b28;--soft:#33302c}:root,body,.item,.stage{transition:background-color .42s,color .42s,border-color .42s}@media (prefers-reduced-motion:reduce){:root,body,.item,.stage{transition:none}}*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none;height:100%;overflow:hidden}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.55}#root{height:100dvh;padding:clamp(16px, 3.4vh, 40px) max(16px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right));justify-content:center;display:flex}.page{flex-direction:column;justify-content:center;gap:clamp(10px,2.4vh,24px);width:100%;max-width:960px;height:100%;display:flex}.mark{image-rendering:pixelated;display:block}.masthead{text-align:center;flex-direction:column;flex:none;align-items:center;gap:clamp(6px,1.4vh,12px);display:flex}.wordmark{color:var(--accent);letter-spacing:.02em;justify-content:center;align-items:center;gap:20px;font-family:"Press Start 2P",monospace;font-size:clamp(28px,7vw,54px);line-height:1;display:flex}.tagline{letter-spacing:.02em;font-family:"Press Start 2P",monospace;font-size:clamp(9px,2.1vw,13px);line-height:1.7}.hint{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.key{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-bottom-width:2px;border-radius:5px;padding:0 6px;font-size:11px}.stage{flex:auto;width:100%;min-height:220px;max-height:460px;position:relative}.stage canvas{width:100%;height:100%;image-rendering:pixelated;cursor:pointer;touch-action:manipulation;display:block}.overlay{pointer-events:none;text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:9px;padding:12% 16px 0;display:flex;position:absolute;inset:0}.overlay .headline{letter-spacing:.04em;font-family:"Press Start 2P",monospace;font-size:clamp(11px,2.3vw,16px)}.overlay .sub{color:var(--muted);font-size:12px}.overlay.dead .headline{color:var(--accent)}@keyframes blink{0%,55%{opacity:1}56%,to{opacity:.2}}.blink{animation:1.1s step-end infinite blink}.dock{flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:5px;display:flex}.dock-label{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-right:4px;font-size:11px}.divider{background:var(--line);align-self:stretch;width:1px;margin:0 5px}.item{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:9px;place-items:center;width:clamp(46px,12vw,54px);height:clamp(46px,12vw,54px);padding:0;transition:background .13s,border-color .13s;display:grid}.item:hover{background:var(--soft)}.item[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.hud .pop{color:var(--accent)}.item canvas{image-rendering:pixelated;display:block}.foot{color:var(--muted);flex:none;justify-content:center;align-items:center;gap:14px;font-size:12px;display:flex}.foot a{color:var(--muted);border-bottom:1px solid #0000;text-decoration:none;transition:color .13s,border-color .13s}.foot a:hover{color:var(--ink);border-bottom-color:var(--line)}.foot .dot{opacity:.5}@media (prefers-reduced-motion:reduce){.blink{animation:none}}.hud{color:var(--muted);pointer-events:none;gap:14px;font-family:"Press Start 2P",monospace;font-size:clamp(9px,1.6vw,12px);display:flex;position:absolute;top:2px;right:2px}.hud .hi{opacity:.65}.hint .dot{opacity:.5}@media (height<=470px){#root{padding-top:12px}.page{gap:8px}.masthead{gap:4px}.wordmark{gap:12px;font-size:clamp(22px,5vh,34px)}.mark{width:30px;height:auto}.hint{display:none}.stage{min-height:150px}.item{border-radius:7px;width:36px;height:36px}}.foot .mute{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.foot .mute canvas{image-rendering:pixelated;display:block}.foot .mute:hover{color:var(--accent)}
