:root{--bg:#14171a;--panel:#1d2126;--line:#2e343b;--text:#e8eaed;--muted:#9aa3ad;--accent:#ff8a1f;--warn:#d29922}*{box-sizing:border-box}html,body,#root,.app{background:var(--bg);height:100%;color:var(--text);margin:0;font:14px/1.4 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.map{position:absolute;top:0;bottom:0;left:0;right:0}button{font:inherit}a{color:var(--accent)}.search{z-index:5;top:max(10px, env(safe-area-inset-top));max-width:420px;position:absolute;left:10px;right:116px}.search input{background:var(--panel);width:100%;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px}.search .results{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-height:50vh;margin-top:6px;overflow:auto}.search .results button{text-align:left;width:100%;color:var(--text);border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;padding:9px 12px;display:block}.search .results button:hover{color:var(--accent)}.layers-btn{z-index:5;top:max(10px, env(safe-area-inset-top));background:var(--panel);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:10px 12px;position:absolute;right:10px}.drawer{z-index:6;top:calc(max(10px, env(safe-area-inset-top)) + 50px);background:var(--panel);border:1px solid var(--line);border-radius:12px;width:310px;max-width:calc(100% - 20px);max-height:calc(100% - 130px);padding:12px;position:absolute;right:10px;overflow:auto}.drawer h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:12px 0 6px;font-size:12px}.drawer h3:first-child{margin-top:0}.drawer label{cursor:pointer;align-items:center;gap:8px;padding:4px 0;display:flex}.drawer small,.fine,small{color:var(--muted)}.sw{border:2px solid;border-radius:3px;flex:none;width:14px;height:14px}.legend{flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;display:flex}.dot{border-radius:50%;width:9px;height:9px;display:inline-block}.fine{font-size:12px}.status{z-index:4;left:10px;bottom:max(34px, calc(env(safe-area-inset-bottom) + 24px));background:var(--panel);border:1px solid var(--line);max-width:calc(100% - 80px);color:var(--muted);border-radius:10px;padding:6px 10px;font-size:12px;position:absolute}.pinbar{z-index:5;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:200px;right:10px}.pinbar>button{background:var(--panel);width:44px;height:44px;color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:10px;font-size:18px}.pinbar>button.on{border-color:var(--accent)}.pinmenu{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}.pinmenu button{background:var(--bg);color:var(--text);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:8px;padding:8px 10px}.pin{cursor:pointer;filter:drop-shadow(0 1px 2px #000);font-size:22px}.maplibregl-popup-content{background:var(--panel);color:var(--text);border-radius:10px;padding:12px 14px}.maplibregl-popup-tip{border-top-color:var(--panel)!important;border-bottom-color:var(--panel)!important}.maplibregl-popup-close-button{color:var(--muted);font-size:18px}.pp h4{margin:0 0 6px;padding-right:14px;font-size:15px}.pp table{border-collapse:collapse;width:100%}.pp td{vertical-align:top;padding:2px 0}.pp td:first-child{color:var(--muted);white-space:nowrap;padding-right:10px}.pp .links{margin-top:6px}.pp .w{color:var(--warn);margin-top:6px;font-size:12px}.pp .disc{color:var(--muted);margin-top:6px;font-size:11px}.pp .sec{margin-top:8px}.pp .scroll{max-height:150px;margin-top:4px;overflow:auto}.pinedit input,.pinedit textarea,.pinedit select{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--line);font:inherit;border-radius:6px;margin:3px 0;padding:6px}.pinedit .row{gap:6px;margin-top:6px;display:flex}.pinedit button{background:var(--bg);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:6px 10px}.modal{z-index:50;background:#000a;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;max-width:420px;padding:18px}.modal h2{margin:0 0 8px;font-size:18px}.modal button{background:var(--accent);color:#111;cursor:pointer;border:0;border-radius:10px;width:100%;margin-top:8px;padding:12px;font-weight:700}@media (max-width:520px){.drawer{width:auto;left:10px}}
