:root{--bg: #ffffff;--fg: #16181d;--muted: #6b7280;--line: #e3e6eb;--panel: rgba(255, 255, 255, .94);--shadow: 0 2px 8px rgba(15, 20, 30, .12), 0 8px 28px rgba(15, 20, 30, .1);--accent: #0f766e;--radius: 10px;--topbar-h: 52px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #14161a;--fg: #e8eaee;--muted: #9aa1ad;--line: #2a2f38;--panel: rgba(20, 22, 26, .94);--shadow: 0 2px 8px rgba(0, 0, 0, .45), 0 8px 28px rgba(0, 0, 0, .35);--accent: #2dd4bf}}:root[data-theme=dark]{--bg: #14161a;--fg: #e8eaee;--muted: #9aa1ad;--line: #2a2f38;--panel: rgba(20, 22, 26, .94);--shadow: 0 2px 8px rgba(0, 0, 0, .45), 0 8px 28px rgba(0, 0, 0, .35);--accent: #2dd4bf}*{box-sizing:border-box}html,body{margin:0;height:100%;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg);overscroll-behavior:none}#map{position:absolute;inset:var(--topbar-h) 0 0 0}#topbar{position:absolute;inset:0 0 auto;height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--panel);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:20}#topbar h1{margin:0;font-size:15px;font-weight:650;letter-spacing:.01em;white-space:nowrap}.icon-btn{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--fg);cursor:pointer}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}#search-wrap{position:relative;flex:1;max-width:380px}#search{width:100%;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit}#search:focus{outline:2px solid var(--accent);outline-offset:-1px}#results{position:absolute;top:38px;left:0;right:0;max-height:320px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);z-index:30}#results li{padding:6px 8px;border-radius:6px;cursor:pointer;display:flex;gap:8px;align-items:baseline}#results li:hover,#results li[aria-selected=true]{background:color-mix(in srgb,var(--accent) 14%,transparent)}#results b{font-variant-numeric:tabular-nums;color:var(--accent)}#results span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#status{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}#panel{position:absolute;top:calc(var(--topbar-h) + 10px);left:10px;width:268px;max-height:calc(100% - var(--topbar-h) - 20px);overflow-y:auto;padding:4px 14px 12px;background:var(--panel);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);z-index:15}#panel[hidden]{display:none}#panel section{padding:10px 0;border-bottom:1px solid var(--line)}#panel section:last-of-type{border-bottom:0}#panel h2{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.seg{display:flex;gap:4px}.seg button{flex:1;padding:6px 4px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--fg);font:inherit;font-size:12px;cursor:pointer}.seg button.on{background:var(--accent);border-color:var(--accent);color:#fff}.checks{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}.check,.checks label{display:flex;align-items:center;gap:7px;padding:3px 0;cursor:pointer;font-size:13px}.check input,.checks input{accent-color:var(--accent);width:15px;height:15px}.callrow{display:flex;gap:6px}.callrow input[type=text]{flex:1;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--fg);font:inherit;text-transform:uppercase}.callrow input[type=color]{width:34px;height:32px;padding:2px;border:1px solid var(--line);border-radius:7px;background:var(--bg);cursor:pointer}.hint{margin:6px 0 0;font-size:12px;color:var(--muted)}.legend{margin:0;padding:0;list-style:none;display:grid;gap:5px;font-size:13px}.legend li{display:flex;align-items:center;gap:8px}.sw{width:16px;height:12px;border-radius:3px;border:1.5px solid var(--c);background:color-mix(in srgb,var(--c) 32%,transparent);flex:none}.sw.dot{width:12px;height:12px;border-radius:50%;background:var(--c)}#credits{padding-top:10px;font-size:11px;line-height:1.45;color:var(--muted)}#credits p{margin:0 0 5px}#credits a{color:inherit}#readout{position:absolute;right:8px;bottom:8px;display:flex;gap:10px;padding:4px 9px;background:var(--panel);border:1px solid var(--line);border-radius:7px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);pointer-events:none;z-index:12}#grid{font-weight:650;color:var(--fg)}#hoverinfo{position:absolute;left:50%;bottom:12px;transform:translate(-50%);max-width:min(620px,calc(100% - 24px));padding:7px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);font-size:13px;pointer-events:none;z-index:12}#hoverinfo[hidden]{display:none}#hoverinfo div+div{margin-top:3px}#hoverinfo b{color:var(--accent);font-variant-numeric:tabular-nums}.maplibregl-popup-content{padding:11px 13px;border-radius:var(--radius);background:var(--panel);color:var(--fg);box-shadow:var(--shadow);font:inherit}.maplibregl-popup-close-button{font-size:17px;color:var(--muted);padding:2px 7px}.maplibregl-popup-tip{border-top-color:var(--panel)!important;border-bottom-color:var(--panel)!important}.pop h3{margin:0 0 4px;font-size:14px}.pop .ref{color:var(--accent);font-variant-numeric:tabular-nums}.pop .meta{color:var(--muted);font-size:12px;margin:4px 0 0}.pop .acts{margin:6px 0 0;font-size:12px}.pop nav{display:flex;gap:10px;margin-top:8px;font-size:12px}.pop nav a{color:var(--accent)}@media (max-width: 720px){#panel{left:8px;right:8px;width:auto;max-height:58%}#topbar h1,#status{display:none}}
