:root{--ink:#12343b;--ink-soft:#3e5f66;--paper:#fff;--mist:#e6f0ee;--line:#c9dad6;--signal:#f2a93b;--font:"Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root{--ink:#e6f0ee;--ink-soft:#a8c2bd;--paper:#16262a;--mist:#1f3438;--line:#2e4a50}}*{box-sizing:border-box}html,body{height:100%;font-family:var(--font);color:var(--ink);background:var(--mist);margin:0}.app{position:fixed;inset:0}.open-map{position:absolute;inset:0}.top{top:calc(12px + env(safe-area-inset-top,0px));z-index:5;gap:8px;max-width:520px;display:flex;position:absolute;left:12px;right:12px}.search{flex:1;position:relative}.search input{border:1px solid var(--line);width:100%;height:46px;font:500 15px var(--font);color:var(--ink);background:var(--paper);border-radius:23px;outline:none;padding:0 18px 0 44px;box-shadow:0 2px 10px #12343b26}.search input:focus-visible{border-color:var(--ink-soft);box-shadow:0 0 0 3px #f2a93b73}.search svg{width:18px;height:18px;stroke:var(--ink-soft);fill:none;stroke-width:2px;position:absolute;top:14px;left:15px}.results{background:var(--paper);border:1px solid var(--line);border-radius:14px;max-height:50vh;margin:6px 0 0;padding:6px;list-style:none;overflow:auto;box-shadow:0 6px 20px #12343b2e}.results li{cursor:pointer;border-radius:9px;padding:10px 12px;font-size:14px;line-height:1.35}.results li:hover,.results li:focus-visible{background:var(--mist);outline:none}.results small{color:var(--ink-soft);font-size:12px;display:block}.results .empty{cursor:default;color:var(--ink-soft)}.btn{border:1px solid var(--line);background:var(--paper);min-width:46px;height:46px;color:var(--ink);font:600 14px var(--font);cursor:pointer;border-radius:23px;align-items:center;gap:6px;padding:0 16px;display:inline-flex;box-shadow:0 2px 10px #12343b26}.btn:hover{background:var(--mist)}.btn:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.layers{left:12px;bottom:calc(36px + env(safe-area-inset-bottom,0px));z-index:5;flex-wrap:wrap;gap:6px;max-width:calc(100% - 80px);display:flex;position:absolute}.layers button{border:1px solid var(--line);background:var(--paper);height:34px;color:var(--ink);font:500 13px var(--font);cursor:pointer;border-radius:17px;padding:0 14px;box-shadow:0 1px 6px #12343b24}.layers button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.layers button:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.coords{right:12px;bottom:calc(36px + env(safe-area-inset-bottom,0px));z-index:4;background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);font-variant-numeric:tabular-nums;border-radius:10px;padding:6px 10px;font-size:12px;position:absolute}dialog{background:var(--paper);width:min(560px,100% - 24px);color:var(--ink);border:none;border-radius:18px;padding:0;box-shadow:0 20px 60px #0000004d}dialog::backdrop{background:#12343b73}.dlg{padding:22px}.dlg h2{margin:0 0 4px;font-size:20px}.dlg p{color:var(--ink-soft);margin:0 0 16px;font-size:14px;line-height:1.5}.dlg label{margin:14px 0 6px;font-size:13px;font-weight:600;display:block}.dlg label.check{align-items:center;gap:8px;margin-top:12px;font-size:14px;font-weight:400;display:flex}.dlg textarea,.dlg input[type=text]{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--mist);resize:vertical;border-radius:10px;padding:10px;font:13px/1.45 ui-monospace,Menlo,Consolas,monospace}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.toast{z-index:10;background:var(--ink);color:var(--paper);opacity:0;pointer-events:none;border-radius:20px;padding:8px 16px;font-size:14px;transition:opacity .2s;position:absolute;top:76px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.maplibregl-popup-content{font-family:var(--font);color:#12343b;border-radius:12px;padding:12px 14px;font-size:14px}.maplibregl-popup-content b{margin-bottom:2px;display:block}.embed .top,.embed .layers,.embed .coords{display:none}.embed.search-on .top{display:flex}.embed.search-on .share-btn{display:none}@media (width<=600px){.btn .label,.coords{display:none}}@media (prefers-reduced-motion:reduce){.toast{transition:none}}
