:root{--bg:#0b1017;--panel:#111925;--panel2:#172231;--line:#263548;--text:#e8eef7;--muted:#91a0b4;--accent:#57a3ff;--accent2:#2a6fba;--good:#41d18c;--warn:#f0b84b;--bad:#f0646a;--point:#63b3ff;--route:#f4c25d;--area:#66d39a;--sans:"Segoe UI",Arial,sans-serif;--mono:Consolas,monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{overflow:hidden;background:var(--bg);color:var(--text);font:14px/1.45 var(--sans)}button,input{font:inherit}button{border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--text);padding:7px 10px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:#245f9d;border-color:#3c87d5}button.danger{border-color:#783a41;color:#ffadb1}.hidden{display:none!important}.topbar{height:64px;display:flex;align-items:center;gap:18px;padding:9px 14px;border-bottom:1px solid var(--line);background:#0e1621}.brand{display:flex;min-width:260px;align-items:center;gap:10px}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:linear-gradient(145deg,#287cc8,#37b88e);font-size:20px;font-weight:900}.brand b,.brand small{display:block}.brand small{color:var(--muted);font-size:11px}.search{display:flex;max-width:780px;flex:1}.search input{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px 0 0 8px;background:#09111b;color:var(--text);padding:9px 12px}.search button{border-radius:0 8px 8px 0}.top-actions{display:flex;gap:7px}.workspace{display:grid;height:calc(100vh - 64px);grid-template-columns:minmax(300px,25vw) minmax(420px,1fr) minmax(290px,23vw);gap:1px;background:var(--line)}.panel{min-width:0;min-height:0;background:var(--panel)}.tree-panel,.audit-panel{overflow:auto}.panel-head{position:sticky;top:0;z-index:2;padding:13px 14px;border-bottom:1px solid var(--line);background:#111925f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel-head b,.panel-head small{display:block}.panel-head small{margin-top:2px;color:var(--muted);font-size:11px}.import-progress{margin:10px;padding:10px;border:1px solid #315477;border-radius:8px;background:#102236}.import-progress>div{display:flex;justify-content:space-between}.import-progress progress{width:100%;height:8px;margin:6px 0}.import-progress small{color:var(--muted)}.tree{padding:8px}.tree-node{position:relative}.node-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:5px;padding:6px 7px;border:1px solid transparent;border-radius:7px;cursor:pointer}.node-row:hover{background:#182537}.node-row.selected{border-color:#397fbd;background:#17304a}.node-toggle{display:grid;width:18px;height:18px;place-items:center;color:#9eb3cb;font-size:11px}.node-main{min-width:0}.node-main b,.node-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-main b{font-size:12px}.node-main small{color:var(--muted);font-size:10px}.node-count{color:#b9c7d8;font:10px var(--mono)}.node-children{margin-left:15px;padding-left:5px;border-left:1px solid #27384c}.source-error{margin:5px 8px;padding:8px;border-left:3px solid var(--bad);background:#3b171b;color:#ffb4b7;font-size:11px}.stage{position:relative;display:flex;flex-direction:column}.stage-toolbar{display:flex;height:48px;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line)}.segmented{display:flex}.segmented button{border-radius:0}.segmented button:first-child{border-radius:7px 0 0 7px}.segmented button:last-child{border-radius:0 7px 7px 0}.segmented button.active{background:#245f9d}.stage-actions{display:flex;min-width:0;align-items:center;gap:8px}.stage-actions span{max-width:340px;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.view{display:none;min-height:0;flex:1}.view.active{display:block}#mapView{position:relative;background:#08101a}#mapCanvas{display:block;width:100%;height:100%;cursor:grab}#mapCanvas:active{cursor:grabbing}.map-legend{position:absolute;left:12px;bottom:12px;display:flex;gap:10px;padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:#0c1521dd;font-size:10px}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{display:inline-block;width:9px;height:9px}.map-legend .point{border-radius:50%;background:var(--point)}.map-legend .route{height:2px;background:var(--route)}.map-legend .area{background:var(--area)}#structureView,#objectsView{overflow:auto;padding:14px}.structure-chart{display:grid;gap:7px}.structure-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(100px,2fr) auto;align-items:center;gap:9px;padding:7px;border-radius:6px;background:var(--panel2)}.structure-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.structure-track{height:9px;border-radius:5px;background:#0a121d;overflow:hidden}.structure-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2c78bd,#54c8a0)}.structure-value{font:11px var(--mono)}.object-table table{width:100%;border-collapse:collapse;font-size:11px}.object-table th,.object-table td{padding:7px;border-bottom:1px solid var(--line);text-align:left}.object-table th{position:sticky;top:0;background:var(--panel);color:var(--muted)}.empty{display:grid;min-height:100%;place-items:center;color:var(--muted)}.search-results{position:absolute;inset:48px 0 0;z-index:5;overflow:auto;background:#0c141ff5;padding:12px}.search-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.search-item{margin-bottom:7px;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);cursor:pointer}.search-item:hover{border-color:var(--accent)}.search-item b,.search-item small{display:block}.search-item small{color:var(--muted)}.audit-panel{padding:16px}.empty-state{display:grid;height:100%;align-content:center;justify-items:center;color:var(--muted);text-align:center}.empty-state p{max-width:260px}.empty-icon{font-size:46px;color:#3f627f}.node-kind{display:inline-block;padding:3px 7px;border-radius:999px;background:#1c3b56;color:#8ac8ff;font-size:10px;font-weight:700;text-transform:uppercase}.audit-panel h1{margin:9px 0 3px;font-size:20px;line-height:1.2}.path{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.metric-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.metric-pair>div{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}.metric-pair span,.metric-pair b{display:block}.metric-pair span{color:var(--muted);font-size:10px}.metric-pair b{margin-top:3px;font:18px var(--mono)}.audit-section{margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.audit-section h2{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#b6c6d9}.kv{display:grid;grid-template-columns:1fr auto;gap:5px 9px;font-size:11px}.kv span{color:var(--muted)}.kv b{font-family:var(--mono)}.type-bars{display:grid;gap:7px}.type-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:7px;font-size:10px}.type-track{height:7px;border-radius:4px;background:#0a121d;overflow:hidden}.type-fill{height:100%;background:#4a9de8}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.review-grid button{font-size:11px}.audit-section small{display:block;margin-top:7px;color:var(--muted);font-size:10px}.actions-section{display:grid;gap:7px}.toast{position:fixed;right:18px;bottom:18px;z-index:10;max-width:420px;padding:11px 14px;border:1px solid #3d6c91;border-radius:8px;background:#13273a;box-shadow:0 12px 35px #0008}.toast.bad{border-color:#874149;background:#3a181c}@media (max-width:1050px){.workspace{grid-template-columns:280px 1fr}.audit-panel{position:absolute;right:0;top:64px;z-index:8;width:320px;height:calc(100vh - 64px);box-shadow:-10px 0 30px #0008}}@media (max-width:720px){body{overflow:auto}.topbar{height:auto;flex-wrap:wrap}.brand{min-width:0}.search{order:3;min-width:100%}.workspace{height:auto;grid-template-columns:1fr}.tree-panel{height:45vh}.stage{height:65vh}.audit-panel{position:static;width:auto;height:auto}.top-actions{margin-left:auto}}.basemap-toggle{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px;color:var(--muted);cursor:pointer}.basemap-toggle input{accent-color:var(--accent)}.basemap-toggle select{border:1px solid var(--line);border-radius:6px;background:var(--panel2);color:var(--text);padding:4px 7px}.search-mode-toggle{display:grid;width:42px;flex:0 0 42px;place-items:center;border-color:var(--line);border-right:0;border-radius:8px 0 0 8px;background:#09111b;color:#78baff;padding:0}.search-mode-toggle:hover{background:#142337}.search-mode-toggle:focus-visible{position:relative;z-index:1;outline:2px solid var(--accent);outline-offset:-2px}.search-mode-icon{width:21px;height:21px;fill:currentColor}.search-mode-toggle[data-mode=points] .palette-mode,.search-mode-toggle[data-mode=palettes] .point-mode{display:none}.search-mode-toggle[data-mode=palettes]{color:#d29aff}.search-mode-toggle+input{border-radius:0}.map-attribution{position:absolute;right:8px;bottom:7px;padding:2px 5px;border-radius:3px;background:#08101acc;color:#a9bed3;font-size:10px;text-decoration:none}.map-attribution:hover{color:#fff}.search-results.audit-tool-panel{position:static;width:auto;height:100%;overflow:auto;background:transparent;padding:0;border:0;box-shadow:none}.search-item.selected{border-color:#fff;background:#21466b}.search-head{position:sticky;top:-16px;z-index:2;padding:12px 0 8px;background:#111925f5}.audit-tool-return{position:sticky;top:-16px;z-index:3;width:100%;margin-bottom:10px;border-color:#397fbd;background:#17304a;color:#d8ecff;text-align:left}@media (max-width:720px){.search-results.audit-tool-panel{width:auto}}:root{--scroll-thumb:#40546b;--scroll-track:#0d1622}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:var(--scroll-track)}*::-webkit-scrollbar-thumb{border:2px solid var(--scroll-track);border-radius:999px;background:var(--scroll-thumb)}*::-webkit-scrollbar-thumb:hover{background:#58708a}.search-group-dot{display:inline-block;width:9px;height:9px;margin-right:7px;border:1px solid #ffffff99;border-radius:50%;vertical-align:1px}.search-clear{width:36px;flex:0 0 36px;border-left:0!important;border-radius:0!important;background:#09111b!important;color:#91a0b4!important;padding:0!important;font-size:20px}.search-clear:hover{color:#fff!important}.stage-actions>button{height:34px;flex:0 0 auto;padding:0 10px;line-height:1;white-space:nowrap}.stage-actions #previewStatus{min-width:0;flex:0 1 220px}.stage-actions #clearMapButton,.stage-actions #fitButton{border-radius:7px}.area-controls{position:sticky;top:38px;z-index:2;display:grid;gap:8px;margin-bottom:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#111c2af2}.area-scope{display:flex;gap:6px}.area-scope button{flex:1;font-size:11px}.area-scope button.active{border-color:#3c87d5;background:#245f9d}.area-summary{color:var(--muted);font-size:11px}.area-export{display:flex;gap:6px}.area-export input{min-width:0;flex:1;border:1px solid var(--line);border-radius:7px;background:#09111b;color:var(--text);padding:7px 9px}.area-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto 12px;align-items:center;gap:8px}.area-result input{accent-color:var(--accent)}.area-ratio{font:700 12px var(--mono);color:#8bc8ff}.area-meter{height:4px;margin-top:5px;overflow:hidden;border-radius:3px;background:#09111b}.area-meter i{display:block;height:100%;background:linear-gradient(90deg,#365f88,#57a3ff,#41d18c)}.area-open-arrow{color:var(--muted);font-size:22px;line-height:1}.area-result:focus{outline:2px solid var(--accent);outline-offset:-2px}.stage{container-type:inline-size}.stage-toolbar{height:auto;min-height:48px}@container (max-width:900px){.stage-toolbar{align-items:stretch;flex-wrap:wrap}.stage-tabs,.stage-actions{width:100%}.stage-actions{justify-content:flex-end}.stage-actions #previewStatus{display:none}}.icon-tool{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;padding:0!important;font-size:19px;line-height:1}.view-tools .icon-tool{width:38px;flex-basis:38px}.free-mode-toggle.icon-tool{width:36px;padding:0}.free-mode-toggle.icon-tool span{font-size:19px}.labels-compact{position:relative;display:grid;width:40px;height:34px;flex:0 0 40px;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--muted);cursor:pointer;font:600 11px var(--sans)}.labels-compact input{position:absolute;opacity:0;pointer-events:none}.labels-compact:has(input:checked){border-color:#397fbd;background:#17304a;color:#fff}.basemap-mode-button[data-mode=hybrid]{color:#70d0a8}.basemap-mode-button[data-mode=none]{color:#91a0b4}@container (max-width:900px){.stage-toolbar{align-items:center;flex-wrap:nowrap}.stage-tabs,.stage-actions{width:auto}.stage-actions{justify-content:flex-end}.stage-actions #previewStatus{display:none}}.stage-tabs{display:flex;align-items:center;gap:8px}.stage-actions{margin-left:auto}.free-mode-toggle.icon-tool{display:flex;align-items:center;justify-content:center}.free-mode-toggle.icon-tool span{display:block;transform:translateY(-1px)}.view-tools .labeled-tool{display:inline-flex;height:34px;align-items:center;justify-content:center;gap:6px;padding:0 11px;font-size:12px;white-space:nowrap}.view-tools .labeled-tool>span:first-child{font-size:16px;line-height:1}.area-palettes-button{display:inline-flex;height:34px;flex:0 0 auto;align-items:center;gap:7px;border-color:#356b98;background:#152b40;color:#cfe8ff;padding:0 12px;font-weight:650;white-space:nowrap}.area-palettes-button:hover:not(:disabled){border-color:#65b2f5;background:#1a3956}.area-palettes-button .tool-glyph{color:#72c3ff;font-size:17px;line-height:1}.toolbar-divider{width:1px;height:24px;flex:0 0 1px;background:var(--line)}@container (max-width:500px){.area-palettes-button{width:38px;padding:0;justify-content:center}.area-palettes-button>span:last-child,.toolbar-divider{display:none}}.workspace{transition:grid-template-columns .18s ease}.workspace.free-mode{grid-template-columns:0 minmax(420px,1fr) 0}.workspace.free-mode .tree-panel,.workspace.free-mode .audit-panel{overflow:hidden;visibility:hidden;padding:0}.stage-tabs{display:flex;min-width:0;align-items:center;gap:8px}.free-mode-toggle{display:flex;height:34px;align-items:center;gap:6px;padding:0 9px;border-color:#31445a;background:#0d1723;color:#9ec9f2}.free-mode-toggle span{font-size:19px;line-height:1}.free-mode-toggle b{font-size:11px;white-space:nowrap}.free-mode-toggle:hover{background:#19304a;color:#fff}.workspace.free-mode .free-mode-toggle{border-color:#3c87d5;background:#245f9d;color:#fff}.workspace.free-mode .free-mode-toggle span{transform:rotate(180deg)}.master-filter{width:100%;margin-top:10px;border:1px solid var(--line);border-radius:7px;background:#09111b;color:var(--text);padding:7px 9px}.master-types{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.master-types button{padding:4px 7px;font-size:10px}.master-types button.active{border-color:#3c87d5;background:#245f9d}.master-list{display:grid;align-content:start;gap:7px;padding:8px}.master-item{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr);gap:3px 7px;text-align:left}.master-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.master-item small{grid-column:2;color:var(--muted);font-size:10px}.master-limit,.technical-intro{margin-bottom:8px;padding:8px;border:1px solid #315477;border-radius:7px;background:#102236;color:#bcd8f2;font-size:11px}.source-card{display:grid;gap:9px;margin-bottom:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}.source-card>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.source-card small{display:block;width:100%;color:var(--muted)}.source-card>div:nth-child(2){display:flex;gap:6px}.master-badge{padding:2px 5px;border-radius:5px;background:#235f49;color:#8ff0c4;font-size:9px;font-weight:700}.search-scope-icon{display:grid;place-items:center;width:40px;border:1px solid var(--line);border-right:0;border-radius:8px 0 0 8px;background:#102236;color:#8ac8ff;font-size:18px}.search-scope-icon+input{border-radius:0!important}.technical-search{display:flex;margin:8px 0 12px}.technical-search input{min-width:0;flex:1;border:1px solid var(--line);border-radius:7px 0 0 7px;background:#09111b;color:var(--text);padding:7px 9px}.technical-search button{border-radius:0 7px 7px 0}.technical-search-status{margin:7px 0;color:var(--muted);font-size:11px}.technical-result{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;margin-bottom:6px;text-align:left}.technical-result b,.technical-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.technical-result small{color:var(--muted);font-size:9px}.technical-result span{grid-row:1/3;grid-column:2;align-self:center;font:10px var(--mono)}#technicalSearchResults:not(:empty){margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.canonical-block{display:grid;gap:7px;margin-bottom:14px}.canonical-block>b{color:#cfe8ff;font-size:11px}.origin-line{padding:7px;border-radius:6px;background:var(--panel2)}.origin-line span,.origin-line small{display:block}.origin-line small{overflow-wrap:anywhere}.version-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--panel2)}.version-card strong,.version-card small{display:block}.version-card small{color:var(--muted)}.comparison-verdict{padding:12px;border:1px solid #3c87d5;border-radius:8px;background:#102b43}.comparison-verdict b,.comparison-verdict small{display:block}.comparison-verdict small{margin-top:5px;color:var(--muted)}.comparison-metrics{display:grid;gap:7px;margin-top:10px}.comparison-metrics>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px;border-radius:7px;background:var(--panel2)}.comparison-metrics i{width:9px;height:9px;border-radius:50%}.comparison-metrics i.common{background:#6f7f91}.comparison-metrics i.first{background:#41d18c}.comparison-metrics i.second{background:#f0b84b}.comparison-help{color:var(--muted);font-size:11px}.structure-nav{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:8px 6px;background:var(--panel);color:var(--muted);font-size:12px}.structure-nav span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.structure-back{padding:5px 9px;white-space:nowrap}.structure-empty{display:grid;place-items:center;min-height:220px;color:var(--muted)}.structure-row{width:100%;grid-template-columns:minmax(140px,1fr) minmax(100px,2fr) auto 18px;color:inherit;text-align:left;cursor:pointer}.structure-row:hover{border-color:var(--accent);background:#1a2a3d}.structure-open{color:var(--muted);font-size:20px;line-height:1}.catalog-controls{position:sticky;top:38px;z-index:2;display:grid;gap:8px;margin-bottom:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#111c2af2}.catalog-controls select,.catalog-controls>input{border:1px solid var(--line);border-radius:7px;background:#09111b;color:var(--text);padding:7px}.catalog-toggle{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.catalog-sources{display:grid;max-height:150px;gap:5px;overflow:auto}.catalog-sources label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.catalog-group{display:grid;gap:6px;margin-bottom:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#142131}.catalog-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px}.catalog-title b{overflow:hidden;text-overflow:ellipsis}.catalog-title strong{font:700 11px var(--mono);color:#8bc8ff}.catalog-type{padding:2px 5px;border-radius:4px;background:#274565;color:#cfe8ff;font-size:9px}.catalog-group>small{color:var(--muted)}.catalog-origins{display:grid;gap:5px}.catalog-origins button{display:grid;gap:2px;text-align:left}.catalog-origins span{overflow:hidden;color:var(--muted);font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap}.catalog-export-progress{display:grid;gap:6px;padding:9px;border:1px solid #397fbd;border-radius:7px;background:#102942}.catalog-export-progress>div{display:flex;justify-content:space-between;gap:8px;font-size:11px}.catalog-export-progress progress{width:100%;accent-color:var(--accent)}.catalog-export-progress small{overflow:hidden;color:#a9cbe8;text-overflow:ellipsis;white-space:nowrap}.catalog-composition{padding:8px;border:1px solid #31506e;border-radius:7px;background:#0c1825;color:#b7c9da;font-size:11px;line-height:1.45}.catalog-composition b{color:#fff}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.mi{display:block;width:18px!important;height:18px!important;flex:0 0 18px;fill:currentColor}.top-actions button,.search button,.stage-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.comparison-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.comparison-metrics>label{display:grid;grid-template-columns:auto 10px minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px;border:1px solid transparent;border-radius:7px;background:var(--panel2);cursor:pointer}.comparison-metrics>label:hover{border-color:#39536e}.comparison-metrics input{margin:0;accent-color:var(--accent)}.workspace:not(.detail-open){grid-template-columns:minmax(300px,25vw) minmax(420px,1fr)}.workspace:not(.detail-open) .audit-panel{display:none}.workspace.detail-open{grid-template-columns:minmax(300px,25vw) minmax(420px,1fr) minmax(290px,23vw)}.workspace.free-mode,.workspace.free-mode.detail-open{grid-template-columns:0 minmax(420px,1fr) 0}.metric-pair.canonical-metric{grid-template-columns:1fr}.metric-pair.canonical-metric>div:nth-child(2){display:none}.source-list-return{position:static;margin-bottom:8px}.unique-source-item{margin-bottom:7px}.global-activity{position:fixed;top:72px;left:50%;z-index:30;display:flex;min-width:260px;max-width:min(520px,calc(100vw - 24px));align-items:center;justify-content:center;gap:9px;transform:translate(-50%);padding:9px 14px;border:1px solid #3c87d5;border-radius:8px;background:#102942f2;box-shadow:0 10px 30px #0009;color:#d8ecff;font-size:12px;font-weight:650}.activity-spinner{width:15px;height:15px;flex:0 0 15px;border:2px solid #80bfff55;border-top-color:#80bfff;border-radius:50%;animation:activity-spin .75s linear infinite}.global-activity.complete{border-color:#368f69;background:#15382cf2;color:#baf2d8}.global-activity.complete .activity-spinner{border:0;background:var(--good);animation:none;clip-path:polygon(14% 54%,0 68%,39% 100%,100% 23%,84% 9%,38% 72%)}.global-activity.failed{border-color:#a24b55;background:#431b20f2;color:#ffc5c8}.global-activity.failed .activity-spinner{border-color:#f0646a;border-top-color:#ffd2d4}@keyframes activity-spin{to{transform:rotate(360deg)}}.basemap-mode-button[data-mode=topo]{color:#d7c681}.route-filters{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:5px;margin-bottom:2px}.route-filters button{padding:6px 4px;font-size:9px}.route-filters button.active{border-color:#3c87d5;background:#173b60}.catalog-type.complex{background:#235f49;color:#a9f0cf}.catalog-type.simple{background:#594b2b;color:#f0d598}.area-file-group{margin:8px 0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel2)}.area-file-group>summary{cursor:pointer;padding:12px;color:var(--text);overflow-wrap:anywhere}.area-file-group>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.area-file-name{font-weight:650}.area-file-counts{display:block;margin:5px 0 0 16px;color:var(--muted);font-size:12px}.area-file-items{border-top:1px solid var(--line)}.area-file-items .area-result{margin:0;border-radius:0}.brand-logo{display:block;width:150px;height:46px;object-fit:contain}.brand:has(.brand-logo){min-width:150px}.brand-logo{width:230px;height:58px;mix-blend-mode:screen}.brand:has(.brand-logo){min-width:230px}.topbar{padding-top:3px;padding-bottom:3px}.loading-status{display:flex;align-items:center;gap:8px;padding:10px 12px;color:#b9dcff;font-size:12px;background:#102235;border:1px solid #315477;border-radius:7px;margin:6px;position:sticky;top:0;z-index:4}.stage-actions>.loading-status{position:static;padding:4px 8px;margin:0;white-space:nowrap}@media (prefers-reduced-motion:reduce){.activity-spinner{animation:none}}.brand-logo{width:200px;max-width:100%;height:58px}.brand:has(.brand-logo){min-width:200px;flex:0 0 200px}.stage-actions>.loading-status{max-width:190px;min-width:0}.stage-actions>.loading-status>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1100px){.brand:has(.brand-logo){min-width:165px;flex-basis:165px}.brand-logo{width:165px}}@media (max-width:720px){.brand:has(.brand-logo){flex-basis:200px}.brand-logo{width:200px}}.original-link{display:block;margin:0 8px 10px;padding:4px 8px;text-align:left;color:#9dceff;font-size:11px;background:transparent;border-color:transparent;overflow-wrap:anywhere}.map-layer-picker>summary{cursor:pointer;color:var(--text);font-size:12px;font-weight:650;padding:2px 4px}.map-layer-picker[open]>summary{margin-bottom:8px}.map-layer-picker>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.detail-panel-header{position:sticky;top:0;z-index:10;display:flex;justify-content:flex-end;padding:6px 8px;background:var(--panel);border-bottom:1px solid var(--line)}#collapseDetailPanel{font-size:12px}#detailPanelToggle{flex-shrink:0;white-space:nowrap}#detailPanelToggle[aria-expanded=true]{border-color:var(--accent);color:#9dceff}@container (max-width:650px){#detailPanelToggle span{display:none}}geo-library-app,geo-library-workspace{display:block;height:100%}.startup-message{max-width:560px;margin:12vh auto;padding:24px}.startup-message p{color:var(--muted)}.map-layer-picker{position:absolute;top:12px;left:12px;z-index:3;max-width:calc(100% - 24px);padding:8px;border:1px solid var(--line);border-radius:10px;background:#101b2bea;box-shadow:0 3px 12px #0005}.basemap-options{display:flex;flex-wrap:wrap;gap:5px}.basemap-options button{font-size:12px;padding:6px 9px}.basemap-options button.active{background:#245f9d;border-color:#69afff;color:#fff}.deepstate-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:7px;font-size:12px}.deepstate-controls label{display:flex;align-items:center;gap:5px;cursor:pointer}.deepstate-controls a,#deepStateStatus{color:var(--muted)}#deepStateRefresh{padding:1px 7px}
