.hunt { --n:4; position:relative; width:min(380px, 92vw); aspect-ratio:1; display:grid; grid-template-columns:repeat(var(--n), 1fr); gap:6px; padding:8px; border-radius:16px; background:color-mix(in srgb, var(--panel) 80%, var(--accent) 8%); border:2px solid var(--line); touch-action:none; user-select:none; }
.hunt .t { display:grid; place-items:center; border-radius:12px; background:var(--bg); border:2px solid var(--line); font:800 clamp(1.4rem, 8vw, 2.2rem)/1 system-ui, sans-serif; transition:transform .1s ease; }
.hunt .t.on { background:var(--accent); color:var(--accent-ink,#06202e); border-color:var(--accent); transform:scale(.94); }
.hunt .t.head { box-shadow:0 0 0 3px #f59e0b; }
.hunt.over { opacity:.6; }
.cur { min-height:2.2rem; font:800 1.7rem/2.2rem ui-monospace, Menlo, monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
.cur.bad { color:var(--bad); } .cur.good { color:var(--ok); }
.found { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; max-width:640px; }
.found span { padding:2px 10px; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
.found .missed { opacity:.65; border-style:dashed; }
.entry { display:flex; gap:8px; }
.entry input { width:14ch; min-height:44px; padding:6px 12px; border:2px solid var(--line); border-radius:9px; background:var(--panel); color:var(--text); font:700 1.1rem ui-monospace, Menlo, monospace; }
.entry input:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
.entry button, .bar button { min-height:44px; }
.sr { position:absolute; left:-9999px; }
#sizes button.on, #modes button.on { background:var(--accent); color:var(--accent-ink,#06202e); }
