:root{--accent: #7a6fd0;--bg: #0b0e17;--panel: #151a28;--panel2: #1d2536;--text: #e7e9f3;--muted: #9aa0b8;--gold: #ffcf4d}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.wrap{max-width:980px;margin:0 auto;padding:16px}header h1{margin:0;font-size:28px;letter-spacing:4px;color:var(--accent)}.sub{margin:4px 0 12px;color:var(--muted);font-size:14px}.controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px}.field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}select,.btn{background:var(--panel2);color:var(--text);border:1px solid #2c3550;border-radius:8px;padding:8px 12px;font-size:14px;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#0b0e17;font-weight:700}.btn.primary:disabled{opacity:.4;cursor:not-allowed}.status{background:var(--panel);border:1px solid #232b40;border-radius:8px;padding:8px 12px;font-size:14px;margin-bottom:12px;color:var(--text)}.main{display:grid;grid-template-columns:280px 1fr;gap:14px;align-items:start}@media(max-width:760px){.main{grid-template-columns:1fr}}.clues{background:var(--panel);border:1px solid #232b40;border-radius:10px;padding:12px}.clues h2{margin:0 0 8px;font-size:15px;color:var(--accent)}.clues ul{list-style:none;margin:0;padding:0}.clue{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid #232b40}.clue:last-child{border-bottom:none}.clue-key{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.clue-val{font-size:14px;color:var(--text)}.map-wrap{background:var(--panel);border:1px solid #232b40;border-radius:10px;padding:8px}#map{width:100%;height:auto;display:block;border-radius:6px;cursor:crosshair}.actions{margin:12px 0}.result{min-height:8px}.result-card{background:var(--panel2);border:1px solid var(--accent);border-radius:10px;padding:12px 14px}.answer{margin:0 0 4px;font-size:16px;font-weight:700}.dist{margin:0 0 4px;color:var(--muted);font-size:14px}.score{margin:0;font-size:18px;color:var(--gold);font-weight:800}
