:root{--bg:#f6f5f1;--surface:#fff;--text:#1d1d1b;--muted:#6b6a65;--line:#dddbd4;--land:#e3e1da;--land-hover:#d6d3ca;--border:#fff;--found:#2f8f57;--found-flash:#47c27a;--missed:#d64a3e;--missed-line:#a8352b;--accent:#1f5fbf;--warn:#a86a00;--err:#c0392b;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141413;--surface:#1e1e1c;--text:#ecebe7;--muted:#9c9a93;--line:#34332f;--land:#3a3935;--land-hover:#4a4944;--border:#141413;--found:#3fa96b;--found-flash:#6fe39d;--missed:#d9544a;--missed-line:#93322a;--accent:#6ea2ff;--warn:#e0a53a;--err:#ff7a6b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);touch-action:manipulation;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit}[hidden]{display:none!important}.app{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid}.bar{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;padding:10px 16px;display:flex}.title{white-space:nowrap;margin:0;font-size:1.05rem;font-weight:650}.stats{font-variant-numeric:tabular-nums;gap:14px;font-size:1.1rem;font-weight:650;display:flex}.timer{color:var(--muted)}.timer.low{color:var(--err)}.actions{gap:8px;margin-left:auto;display:flex}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;padding:7px 12px}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:0 0}.body{min-height:0;display:flex;position:relative}.map-wrap{flex:1;justify-content:center;min-width:0;padding:12px;display:flex;position:relative}.map{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:grab;width:100%;height:100%}.map:active{cursor:grabbing}.map path{fill:var(--land);stroke:var(--border);stroke-width:.8px;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .25s}.zoom-controls{z-index:2;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.zoom-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;width:40px;height:40px;font-size:1.3rem;line-height:1;box-shadow:0 1px 4px #00000014}.zoom-btn:hover{border-color:var(--muted)}.map path:hover{fill:var(--land-hover)}.map path.found{fill:var(--found)}.map path.missed{fill:url(#hatch)}.hatch-bg{fill:var(--missed)}.hatch-line{stroke:var(--missed-line);stroke-width:2px}.map path.flash{stroke:var(--text);stroke-width:2px;animation:1.2s ease-out flash}.map path.pointed{stroke:var(--text);stroke-width:3px;animation:1.6s ease-out pointed}@keyframes pointed{0%,50%{filter:brightness(1.35)}}@keyframes flash{0%,40%{fill:var(--found-flash)}}.tooltip{background:var(--text);color:var(--bg);white-space:nowrap;pointer-events:none;z-index:3;border-radius:6px;padding:4px 9px;font-size:.9rem;font-weight:600;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.result{text-align:center;flex-direction:column;align-items:center;gap:2px;max-width:560px;margin:4px auto 0;display:flex}.result span{color:var(--muted);font-size:.9rem}.result .standing{color:var(--accent);font-size:1rem;font-weight:600}.panel{border-left:1px solid var(--line);background:var(--surface);flex-shrink:0;width:280px;padding:12px 16px;overflow-y:auto}.list-section+.list-section{margin-top:18px}.panel h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 6px;font-size:.8rem}.names{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.names button{cursor:pointer;border:0;border-radius:6px;padding:3px 8px;font-size:.9rem}.names.found button{background:color-mix(in srgb, var(--found) 18%, transparent)}.names.missed button{background:color-mix(in srgb, var(--missed) 18%, transparent)}.empty{color:var(--muted);margin:0;font-size:.9rem}.list-toggle{display:none}.entry{padding:6px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.feedback{min-height:1.3em;color:var(--muted);margin:0 0 6px;font-size:.9rem}.feedback.ok{color:var(--found);font-weight:600}.feedback.warn{color:var(--warn)}.feedback.err{color:var(--err)}.feedback.hint{color:var(--accent)}.guess{border:2px solid var(--line);border-radius:var(--radius);background:var(--bg);width:100%;max-width:560px;color:var(--text);outline:none;margin:0 auto;padding:12px 14px;font-size:1.1rem;display:block}.guess:focus{border-color:var(--accent)}.guess:disabled{opacity:.6}.entry .feedback{max-width:560px;margin-inline:auto}@media (width<=800px){.bar{gap:10px;padding:8px 12px}.title{display:none}.map-wrap{padding:6px}.list-toggle{display:inline-block}.panel{z-index:4;border-left:0;width:auto;display:none;position:absolute;inset:0}.panel.open{display:block}.entry{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.map path{transition:none}.map path.flash,.map path.pointed{animation:none}}
