:root{--bg: #0a0f1a;--panel: #121a2b;--ink: #e6eefc;--dim: #93a6c6;--accent: #4a7cc0;--line: #23324d}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{max-width:600px;margin:0 auto;padding:18px 16px 48px}header h1{margin:0;font-size:30px;letter-spacing:4px;font-weight:800;background:linear-gradient(90deg,#6ea0e0,#4a7cc0);-webkit-background-clip:text;background-clip:text;color:transparent}header .sub{margin:6px 0 14px;color:var(--dim);font-size:14px}.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.seg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{background:transparent;color:var(--dim);border:0;padding:8px 14px;font-size:13px;cursor:pointer}.seg button.active{background:var(--accent);color:#fff}.btn{background:var(--panel);border:1px solid var(--line);color:var(--ink);padding:8px 16px;border-radius:10px;font-size:13px;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:disabled{opacity:.45;cursor:default}.prompt{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:14px;color:var(--dim)}.prompt b{color:var(--ink)}.stage{display:flex;justify-content:center}canvas{border-radius:12px;border:1px solid var(--line);max-width:100%;cursor:crosshair;touch-action:none}.controls{display:flex;justify-content:center;margin:14px 0}.result{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.result.hidden{display:none}.result .score{font-size:18px;margin-bottom:6px}.result .score b{color:#ffd166;font-size:22px}.result .reveal{margin:4px 0}.result .reveal b{color:var(--ink)}.result .dist{color:var(--dim);font-size:13px;margin:4px 0 10px}.result .nblabel{color:var(--dim);font-size:13px}.neighbors{margin:6px 0 0;padding-left:18px}.neighbors li{margin:2px 0;font-size:14px}.dim{color:var(--dim);font-size:12px}.hint{margin-top:16px;color:var(--dim);font-size:12px;text-align:center}.hidden{display:none}
