*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-0: #0f172a;--bg-1: #1e293b;--bg-2: #334155;--text-0: #f1f5f9;--text-1: #94a3b8;--text-2: #64748b;--accent: #38bdf8;--accent-dim: #0369a1;--warn: #eab308;--danger: #ef4444;--success: #22c55e;--panel-w: 320px;--toolbar-h: 52px}html,body,#root{height:100%;width:100%;overflow:hidden;background:var(--bg-0);color:var(--text-0);font-family:system-ui,-apple-system,sans-serif;font-size:14px}button{cursor:pointer;border:none;background:none;color:inherit;font:inherit}button:disabled{opacity:.4;cursor:not-allowed}.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:10px;font-size:14px;font-weight:500;border:1px solid rgba(255,255,255,.08);background:#ffffff0d;color:var(--text-1);transition:background .15s}.btn:hover:not(:disabled){background:#ffffff1a}.btn.primary{background:#38bdf826;border-color:#38bdf859;color:var(--accent)}.btn.primary:hover:not(:disabled){background:#38bdf838}.btn.danger{background:#7f1d1d;border-color:var(--danger)}.btn.danger:hover:not(:disabled){background:#991b1b}.btn.active{background:var(--accent-dim);border-color:var(--accent);color:#fff}input[type=text],input[type=number]{background:var(--bg-2);border:1px solid #475569;border-radius:6px;color:var(--text-0);padding:6px 10px;font:inherit;width:100%}input[type=range]{width:100%;accent-color:var(--accent)}.maplibregl-ctrl-group{background:#0f172ad9!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important}.maplibregl-ctrl-group button{background:transparent!important;filter:invert(1) opacity(.55)!important}.maplibregl-ctrl-group button:hover{background:#ffffff14!important;filter:invert(1) opacity(.85)!important}.maplibregl-ctrl-attrib{display:none!important}.maplibregl-ctrl-scale{background:#0f172ab3!important;border-color:#ffffff1f!important;color:var(--text-2)!important;font-size:10px!important}.gis-popup .maplibregl-popup-content{background:#0f172aeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 14px;box-shadow:0 4px 24px #0006}.gis-popup .maplibregl-popup-tip{border-top-color:#0f172aeb}.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left{bottom:60px!important}
