#workspace #view-map{position:relative;overflow:hidden;background:#e3ebf1}
#aim-map-canvas{position:absolute;inset:0}
#view-map button{font:inherit}#view-map [hidden]{display:none!important}
.map-cycle{position:absolute;z-index:2;top:16px;left:80px;max-width:calc(100% - 160px);background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:var(--shadow)}
#view-map .map-cycle select{width:180px;max-width:100%;height:40px;padding:0 32px 0 12px;border:0;border-radius:4px;background-color:transparent;font-size:12px;cursor:pointer}
.map-tools{position:absolute;z-index:12;right:16px;top:16px;display:flex;flex-direction:column;gap:0;padding:0;background:var(--surface);border:1px solid #d2dde6;border-radius:4px;box-shadow:var(--shadow)}
.map-tools button{position:relative;display:flex;align-items:center;justify-content:center;width:46px;height:48px;min-height:48px;border:0;border-radius:0;padding:0;background:transparent;color:var(--text)}
.map-tools button:first-child{border-radius:3px 3px 0 0}.map-tools button:last-child{border-radius:0 0 3px 3px}
.map-tools button:hover{background:var(--hover)}#view-map .map-tools button[aria-expanded=true]{background:var(--blue);color:#fff}#view-map .map-tools button[aria-expanded=true]:hover{background:#286da5}.map-tools button:focus-visible{outline-offset:-3px}
.map-tool-label{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);z-index:40;pointer-events:none;white-space:nowrap;background:var(--navy);color:#fff;padding:8px 12px;border:1px solid var(--line);border-radius:4px;box-shadow:var(--shadow);font-size:11px;opacity:0}
.map-tools button:is(:hover,:focus-visible) .map-tool-label{opacity:1}.map-tools button:active .map-tool-label,.map-tools button[aria-expanded=true] .map-tool-label{opacity:0}
.map-panel{position:absolute;z-index:24;top:16px;right:74px;width:344px;max-width:calc(100% - 154px);max-height:calc(100% - 48px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);overflow:hidden}
.map-panel>.menu-heading,.map-detail>header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:inherit;flex:none}
.map-panel>.menu-heading>div,.map-detail>header>div{flex:1;min-width:0}.map-panel .menu-heading>svg{color:var(--blue);width:22px;height:22px}
.map-panel .menu-heading strong,.map-detail h2{display:block;font-size:13px;font-weight:650;line-height:1.4;margin:0}.map-panel .menu-heading small,.map-detail header p{display:block;margin:5px 0 0;font-size:10px;color:var(--muted);line-height:1.5}
#view-map .icon-button{width:36px;min-width:36px;height:38px;min-height:38px;border:0;padding:0;border-radius:5px}
.map-panel-scroll,.map-layers-content{overflow:auto;overscroll-behavior:contain;min-height:0}
.map-search{margin:16px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--field-border);background:var(--field-surface);border-radius:4px;color:var(--muted)}.map-search svg{width:16px}.map-search input{min-width:0;border:0;background:transparent;box-shadow:none;padding:10px 0;height:40px;font-size:11px}.map-search:focus-within{outline:2px solid var(--blue);outline-offset:1px}.map-search input:focus{outline:none;box-shadow:none}
.map-all-row{padding:0 16px 14px;border-bottom:1px solid var(--line)}.map-all-row label{display:flex;align-items:center;gap:10px;margin:0;font-size:12px;font-weight:600;color:var(--text)}
#view-map input[type=checkbox]:not([role=switch]){width:15px;height:15px;min-height:0;margin:0;accent-color:var(--blue);flex:none;cursor:pointer}
.map-category-head{border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding-right:16px}.map-category-head>button{display:flex;align-items:center;gap:9px;flex:1;min-width:0;text-align:left;padding:15px 12px;border:0;border-radius:0;background:transparent;color:var(--text)}.map-category-head>button>svg{width:14px;flex:none;color:var(--muted);transition:transform .15s}.map-category-head>button>svg{margin-left:auto}.map-category-head>button>span{font-size:12px;font-weight:600}
.map-object-list{padding:2px 10px 10px;background:var(--surface-subtle)}.map-object-row{display:flex;align-items:center;gap:10px;padding-left:10px;border-radius:4px}.map-object-row:hover,.map-object-row.selected{background:var(--selected-surface)}.map-object-row>button{flex:1;min-width:0;text-align:left;border:0;background:transparent;border-radius:0;padding:10px 6px}.map-object-row strong,.map-picks strong{display:block;font-size:10px;color:var(--text);font-weight:600}.map-object-row small,.map-picks small{display:block;font-size:9px;line-height:1.5;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}.map-more{width:100%;border:0;font-size:10px!important;padding:10px;background:transparent;color:var(--blue)}.map-empty{padding:16px;font-size:11px;color:var(--muted)}
.map-source-note{padding:16px;color:var(--muted);font-size:9px;line-height:1.65}.map-source-note strong{font-weight:500}.map-source-note p{margin:6px 0 0}
.map-layers-content{--map-content-padding:16px;padding:var(--map-content-padding)}
.basemap-options{min-width:0;padding:0;margin:calc(-1 * var(--map-content-padding)) calc(-1 * var(--map-content-padding)) 0;border:0;display:grid;gap:0}
.basemap-options legend{width:100%;padding:16px var(--map-content-padding) 12px;border-bottom:1px solid var(--line);font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
#view-map .basemap-option{width:100%;justify-content:flex-start;min-height:74px;padding:12px var(--map-content-padding);text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;gap:12px;color:var(--text)}
.basemap-options>.basemap-option:last-of-type{border-bottom:0}.basemap-description{min-width:0;flex:1;display:grid;gap:4px}.basemap-options strong{font-size:13px;line-height:1.3}.basemap-options small{font-size:11px;color:var(--muted);line-height:1.4}
.basemap-preview{display:block;flex:none;width:42px;height:42px;border:1px solid #b5c7d1;border-radius:4px;overflow:hidden;background-color:#e0e6d2}
.basemap-preview--osm{background-image:linear-gradient(35deg,transparent 35%,#fff 36% 40%,transparent 41%),linear-gradient(120deg,#c0d79f 0% 30%,#e2e8cf 31% 57%,#accbd9 58% 67%,#e7e0cb 68%)}
.basemap-preview--ign-plan{background-image:linear-gradient(35deg,transparent 35%,#fff 36% 40%,transparent 41%),linear-gradient(120deg,#c8d2b3 0% 30%,#e1e5d6 31% 57%,#bbcdd3 58% 67%,#e0ddd0 68%)}
.basemap-preview--ign-photo{background-image:linear-gradient(20deg,#395242 0% 28%,#6a7850 29% 58%,#50665a 59% 79%,#8c8b73 80%)}
#view-map .basemap-option[aria-checked=true]{background:var(--selected-surface);color:var(--selected-text)}#view-map .basemap-option:hover{background:var(--hover)}.basemap-option:focus-visible{outline-offset:-3px}
.map-layer-help{font-size:10px;line-height:1.65;color:var(--muted);margin:10px 0 0}.aerial-night-option{padding:0 var(--map-content-padding) 8px calc(var(--map-content-padding) + 54px);margin:0;font-size:11px;background:var(--selected-surface)}
[data-theme=dark] .map-tools{border-color:var(--line)}[data-theme=dark] .basemap-preview{border-color:#62778a;filter:brightness(.8)}

.map-detail{position:absolute;z-index:5;left:16px;bottom:80px;width:326px;max-width:calc(100% - 32px);max-height:calc(100% - 180px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:0 6px 30px #08213c26;overflow:hidden}.map-point-symbol{display:block;flex:none;width:14px;height:14px;border:2px solid #1e3b55;border-radius:50%;background:#00e5ff}.map-detail-body{overflow:auto;padding:16px;min-height:0;font-size:11px}.map-detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.map-detail-tags>span{border:1px solid var(--line);padding:4px 6px;border-radius:3px;font-size:9px;color:var(--muted)}.map-levels{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--line);border-radius:4px;padding:12px}.map-levels span{display:block;font-size:9px;color:var(--muted);margin-bottom:5px}.map-levels strong{font-size:11px;font-weight:600}.map-coordinates{font-variant-numeric:tabular-nums;font-size:12px}.map-coordinates small,.map-source-id small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.map-geometry-notes{padding-left:15px;font-size:10px;line-height:1.65;color:var(--muted);margin:14px 0}.map-geometry-notes li+li{margin-top:8px}.map-source-id{border-top:1px solid var(--line);padding-top:12px;margin-top:16px;font-size:10px}.map-detail footer{display:flex;padding:12px 16px;border-top:1px solid var(--line);gap:8px}.map-detail footer button{flex:1;font-size:10px!important;min-height:32px}.map-detail footer button:last-child{background:var(--selected-surface);border-color:var(--line);color:var(--selected-text)}.map-picks{overflow:auto;padding:8px}.map-picks>button,.map-components>button{display:block;border:0;background:transparent;text-align:left;width:100%;padding:10px}.map-picks>button:hover,.map-components>button:hover{background:var(--selected-surface)}.map-components small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.map-hover .maplibregl-popup-content{padding:0;background:transparent;box-shadow:none}.map-hover .maplibregl-popup-tip{display:none}.map-waypoint-label{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;padding:2px 5px;border:1px solid transparent;border-radius:3px;background:#22374ef2;color:#fff;font:650 10px/13px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.35px;white-space:nowrap;box-shadow:0 1px 4px #08213c40}.map-hover{pointer-events:none}
[data-theme=dark] .map-waypoint-label{background:#101c2df2;color:#e5f0fa;box-shadow:0 0 0 1px #57718b,0 2px 5px #0006}
#view-map .maplibregl-ctrl-attrib{font:9px/16px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}#view-map .maplibregl-ctrl-scale{font-size:9px;background:var(--surface);color:var(--text);border-color:var(--muted)}
.map-detail{left:80px;bottom:30px;max-width:calc(100% - 160px)}
#view-map .maplibregl-ctrl-attrib{font:9px/16px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--surface);color:var(--muted);border-radius:0;padding:0 5px}
#view-map .maplibregl-ctrl-attrib a{color:inherit}
@media(max-width:700px){
 .map-cycle{top:12px;left:64px;max-width:calc(100% - 128px)}#view-map .map-cycle select{width:170px;height:38px;font-size:11px}
 .map-tools{right:9px;top:12px}.map-tools button{width:44px;height:46px;min-height:46px}
 .map-panel{top:60px;right:64px;max-width:calc(100% - 74px);max-height:calc(100% - 88px)}.map-panel>.menu-heading{padding:12px;gap:10px}.map-layers-content{--map-content-padding:12px}
 .map-detail{left:64px;bottom:30px;max-width:calc(100% - 74px);max-height:calc(100% - 100px)}
 .map-search{margin:12px}
}
@media(max-height:560px){.map-tools{max-height:calc(100% - 32px);overflow-y:auto}.map-tools button{flex-shrink:0}}

/* A category opens its own list, in the same anchored menu position. */
#map-category-panel .menu-heading{gap:8px;padding-left:10px}
#map-category-panel .map-object-list{padding:4px 10px 10px;background:var(--surface)}
#map-category-panel .map-object-row>button{display:block;text-align:left}
#map-category-panel .map-empty{padding:16px 6px}
