/* A continuous matte casing with smooth shoulders and recessed control channels.
   Controls keep their native handlers, semantics and keyboard behavior. */
#view-map .studio-command {
  height:86px; inset:0 0 auto; padding:0 18px; gap:14px;
  display:grid; grid-template-columns:minmax(0,1fr) 320px minmax(0,1fr);
  align-items:start; background:none; border:0; border-radius:0;
  box-shadow:none; backdrop-filter:none; overflow:visible;
}
.studio-console-shell { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; filter:drop-shadow(0 5px 5px #0008) drop-shadow(0 14px 20px #0005); }
#view-map .studio-command-start,
#view-map .studio-command-end { position:relative; display:flex; align-items:center; min-width:0; height:66px; gap:12px; z-index:1; }
#view-map .studio-command-start { grid-column:1; }
#view-map .studio-command-end { grid-column:3; justify-content:flex-end; }
#view-map .studio-command .studio-brand-button { width:76px; min-width:76px; height:48px; padding:0; gap:9px; border:0; border-radius:24px; background:none; }
#view-map .studio-command .studio-wordmark { font-size:23px; }
#view-map .studio-command .studio-menu-chevron { color:#a1aaaf; }
#view-map .studio-command .studio-brand-button:hover { background:#ffffff04; }
#view-map .studio-command .studio-scope-picker {
  display:flex; align-items:center; flex:1; min-width:0; max-width:400px; height:46px;
  gap:0; margin:0; padding:0 8px; border:1px solid #080b0dcc; border-radius:25px;
  background:linear-gradient(180deg,#181c1e,#202527);
  box-shadow:inset 0 2px 5px #0009,0 1px #dce5e317;
}
#view-map .studio-command .studio-scope-picker .pf-pick,
#view-map .studio-command .studio-station-picker { height:34px; min-width:0; margin:0; padding:0 11px; border:0; background:none; }
#view-map .studio-command .studio-scope-picker .pf-pick { flex:none; width:110px; border-right:1px solid #afb8bd1a; }
#view-map .studio-command .studio-station-picker { width:auto; flex:1; }
#view-map .studio-command .studio-scope-picker :is(.pf-pick>label,.studio-station-picker>span) { display:block; margin:0 0 1px; padding:0 7px; color:#8e9ba4; font:9px/11px var(--sans); }
#view-map .studio-command .studio-scope-picker :is(#pf-select,.studio-station-picker select) { display:block; width:100%; height:23px; min-height:0; margin:0; padding:0 4px; border:0; border-radius:12px; background:transparent; box-shadow:none; color:#d6dfe4; font:500 13px/23px var(--sans); }
#view-map .studio-command .studio-scope-picker #pf-select { color:#b3c1cb; font-size:12px; }
#view-map .studio-command .studio-scope-picker:focus-within { border-color:#7196a855; }
#view-map .studio-command>.studio-hero-bar {
  position:relative; inset:auto; transform:none; grid-column:2; grid-row:1; align-self:start;
  display:flex; width:320px; height:48px; margin:22px 0 0; padding:5px; gap:3px;
  border:1px solid #080b0dbd; border-radius:28px;
  background:linear-gradient(#151a1d,#22282b);
  box-shadow:inset 0 3px 6px #000b,0 1px #d8e2e31f; backdrop-filter:none; z-index:1;
}
#view-map .studio-command>.studio-hero-bar .studio-control { display:flex; justify-content:center; flex:1; width:auto; min-width:0; height:36px; min-height:36px; padding:0 12px; gap:7px; border:1px solid transparent; border-radius:22px; color:#9baebc; font:500 12px var(--sans); background:none; }
#view-map .studio-command>.studio-hero-bar .studio-control .studio-icon { width:16px; height:16px; }
#view-map .studio-command>.studio-hero-bar .studio-control:hover:not(:disabled):not([aria-selected=true]) { color:#d9e4ea; background:#ffffff05; }
#view-map .studio-command>.studio-hero-bar .studio-control[aria-selected=true] { color:var(--pra-selected-fg); background:var(--pra-selected-bg); border-color:var(--pra-selected-rim); box-shadow:var(--pra-selected-shadow); }
#view-map .studio-command>.studio-hero-bar .studio-control::before { display:none; }
#view-map .studio-utility-dock {
  display:flex; align-items:center; min-width:0; height:46px; gap:7px; padding:5px 7px;
  border:1px solid #080b0dcc; border-radius:26px;
  background:linear-gradient(#1a1e20,#24292b); box-shadow:inset 0 2px 5px #0008,0 1px #dce5e317;
}
#view-map .studio-utility-dock .studio-workspace-button { flex:1; width:auto; height:34px; max-width:174px; min-width:0; padding:0 10px; border:1px solid #aebcc31a; border-radius:19px; background:linear-gradient(#333b40,#282f33); color:#b5c5d0; box-shadow:inset 0 1px #d8e3e50b,0 1px 3px #0004; font-size:11px; }
#view-map .studio-utility-dock .studio-workspace-button[aria-expanded=true] { color:#c1e5fa; border-color:#8cbbd265; }
#view-map .studio-utility-dock .studio-primary-nav { display:flex; height:34px; gap:2px; padding-left:4px; border-left:1px solid #bac5cb17; }
#view-map .studio-utility-dock .studio-primary-nav .studio-control { width:32px; min-width:32px; height:32px; border-radius:50%; }
#view-map .studio-utility-dock .studio-primary-nav .studio-control:hover { background:#ffffff08; }
#view-map .studio-utility-dock .studio-primary-nav .studio-icon { width:16px; height:16px; }
#view-map .studio-utility-dock .studio-command-actions { height:34px; gap:8px; padding:0 3px 0 0; }
#view-map .studio-utility-dock .studio-command-actions:empty { display:none; }
#view-map .studio-utility-dock .studio-study-button { height:32px; padding:0 11px; border-radius:18px; font-size:11px; }
#view-map .studio-utility-dock .studio-preview-tag { font-size:9px; }
#view-map .studio-command-end .studio-context { display:flex; margin:0 2px 0 0; }
#view-map .studio-command-end .studio-metrics { gap:16px; }
#view-map:not(.studio-has-selection) .studio-command-end .studio-context { display:none; }
#view-map .studio-view-toolbar { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
#view-map .studio-toolbar-start { grid-column:1; grid-row:1; }
#view-map .studio-toolbar-end { grid-column:2; grid-row:1; }
#view-map .studio-view-toolbar :is(.studio-browser-toggle,.studio-help>summary.studio-control) { border:1px solid #a8b7c32b; border-radius:22px; background:linear-gradient(160deg,#30373c,#242b2f); box-shadow:inset 0 1px #dfe9ed0c,0 3px 7px #0006; }
#view-map[data-mode="3d"] :is(.studio-tree,.pf-side) { top:calc(var(--studio-command-h,86px) + 60px); }
/* The map runs behind the sculpted casing. Its visible edge follows the shell
   instead of starting below the shell's full rectangular layout height. */
#view-map:is([data-mode="map"],[data-mode="diagram"]) .pf-mapbox { top:0; }
#view-map[data-mode="map"] #pf-legend { top:calc(var(--studio-command-h,86px) + var(--studio-toolbar-h,44px) + 30px); max-height:calc(100% - var(--studio-command-h,86px) - var(--studio-toolbar-h,44px) - 50px); }
#view-map[data-mode="map"] .leaflet-top.leaflet-left { top:auto; bottom:28px; left:292px; right:auto; }
#view-map[data-mode="map"].studio-hide-explorer .leaflet-top.leaflet-left { left:16px; }
#view-map[data-mode="map"] .leaflet-control-zoom { margin:0; }
/* Focus belongs to a complete half of the shared scope channel. */
#view-map .studio-command .studio-scope-picker:has(.studio-console-select) { padding:0; }
#view-map .studio-command .studio-scope-picker:has(.studio-console-select):focus-within { border-color:#080b0dcc; }
#view-map .studio-command .studio-scope-picker .studio-console-select { position:relative; display:block; align-self:stretch; height:auto; margin:0; padding:0; background:none; transition:background .18s,box-shadow .18s; }
#view-map .studio-command .studio-scope-picker .pf-pick.studio-console-select { width:142px; border-radius:24px 0 0 24px; border-right:1px solid #afb8bd1a; }
#view-map .studio-command .studio-scope-picker .studio-station-picker.studio-console-select { border-radius:0 24px 24px 0; }
#view-map .studio-command .studio-scope-picker .studio-console-select:hover { background:#bccfda07; }
#view-map .studio-command .studio-scope-picker .studio-console-select:focus-within,
#view-map .studio-command .studio-scope-picker .studio-console-select.is-open {
  /* Light catches the inner walls; the upper lip still occludes the recess. */
  background:linear-gradient(180deg,#04090e26,#17354a08);
  box-shadow:inset 0 2px 3px #02060bcb,inset 0 5px 10px #078bff66,inset 3px 0 6px #078bff26,inset -3px 0 6px #078bff26,inset 0 -1px 2px #a9d7ed1c;
}
#view-map .studio-command .studio-scope-picker .studio-console-select:has(.studio-console-trigger:disabled) { opacity:.5; }
#view-map .studio-command .studio-scope-picker .studio-console-trigger { display:flex; align-items:center; justify-content:space-between; gap:7px; width:100%; height:100%; min-height:44px; padding:5px 13px; margin:0; border:0; border-radius:inherit; background:none; box-shadow:none; color:#d6e2ea; text-align:left; }
#view-map.studio-workspace .studio-command .studio-scope-picker .studio-console-trigger:focus,
#view-map.studio-workspace .studio-command .studio-scope-picker .studio-console-trigger:focus-visible { outline:none; box-shadow:none; }
#view-map .studio-console-trigger-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
#view-map .studio-console-trigger-label { color:#95a7b3; font:9px/11px var(--sans); }
#view-map .studio-console-trigger-value { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#d6e2ea; font:500 12px/16px var(--sans); }
#view-map .studio-console-trigger>.studio-icon { width:13px; height:13px; color:#95aab7; transition:transform .14s; }
#view-map .studio-console-select.is-open .studio-console-trigger>.studio-icon { transform:rotate(180deg); color:#c6e8fa; }
#view-map .studio-command .studio-scope-picker .studio-console-native,
#view-map .studio-command .studio-scope-picker .studio-console-source-label[hidden] { display:none!important; }
.studio-console-menu { position:fixed; z-index:1800; overflow:auto; overscroll-behavior:contain; touch-action:pan-y; padding:6px; margin:0; border:1px solid #9eb7c438; border-radius:16px; background:linear-gradient(155deg,#30383cfb,#20282cfe); color:#d1dfe8; box-shadow:inset 0 1px #dceaf312,0 5px 10px #0008,0 22px 44px #000b; scrollbar-width:thin; scrollbar-color:#667c8a transparent; }
.studio-console-menu[hidden] { display:none!important; }
.studio-console-menu-group { padding:12px 11px 6px; color:#829ba9; font:500 9px/14px var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.studio-console-option { position:relative; display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:42px; padding:9px 12px; border-radius:10px; color:#b9cbd6; cursor:pointer; user-select:none; }
.studio-console-option-copy { display:flex; align-items:baseline; justify-content:space-between; gap:18px; min-width:0; flex:1; }
.studio-console-option-name { color:inherit; font:500 12px/18px var(--sans); overflow-wrap:anywhere; }
.studio-console-option-detail { flex:none; color:#819aa9; font:10px/16px var(--sans); }
.studio-console-option>.studio-icon { width:14px; height:14px; flex:none; opacity:0; color:#b1def6; }
.studio-console-option[aria-selected=true] { color:var(--pra-selected-fg); background:var(--pra-selected-bg);  box-shadow:var(--pra-selected-shadow);}
.studio-console-option[aria-selected=true]>.studio-icon { opacity:1; }
.studio-console-option.is-active:not([aria-selected=true]) { color:#dff0fa; background:#7bb4d12a; box-shadow:inset 0 0 0 1px #a6d4ed1b; }
.studio-console-option[aria-disabled=true] { opacity:.4; cursor:default; }
@media(prefers-reduced-motion:reduce) { #view-map .studio-console-select,#view-map .studio-console-trigger>.studio-icon { transition:none; } }
@media(max-width:1690px) { #view-map .studio-command-end .studio-context { display:none; } }
@media(max-width:1270px) {
  #view-map .studio-command { gap:10px; padding-inline:14px; }
  #view-map .studio-command-start { gap:6px; }
  #view-map .studio-command .studio-brand-button { width:66px; min-width:66px; }
  #view-map .studio-command .studio-scope-picker .pf-pick { width:95px; padding-inline:7px; }
  #view-map .studio-command .studio-station-picker { padding-inline:8px; }
  #view-map .studio-utility-dock { gap:4px; padding-inline:5px; }
  #view-map .studio-utility-dock .studio-workspace-button { max-width:145px; }
}
@media(max-width:1150px) {
  #view-map .studio-command { height:136px; grid-template-columns:minmax(0,1fr) auto; gap:0 14px; padding-inline:16px; }
  #view-map .studio-command-start { grid-column:1; grid-row:1; }
  #view-map .studio-command-end { grid-column:2; grid-row:1; }
  #view-map .studio-command>.studio-hero-bar { grid-column:1/-1; grid-row:2; justify-self:center; margin:7px 0 0; }
  #view-map .studio-command .studio-scope-picker { max-width:400px; }
  #view-map .studio-utility-dock .studio-primary-nav { display:flex; }
  #view-map .studio-view-toolbar { top:calc(var(--studio-command-h,136px) + 8px); }
  #view-map[data-mode="3d"] .pf-mapbox>.studio-scene-title { display:none; }
}
@media(max-width:860px) {
  #view-map .studio-command { gap:0 8px; padding-inline:10px; }
  #view-map .studio-command-start { gap:5px; }
  #view-map .studio-command .studio-brand-button { width:50px; min-width:50px; gap:0; }
  #view-map .studio-command .studio-wordmark { font-size:20px; }
  #view-map .studio-command .studio-menu-chevron { display:none; }
  #view-map .studio-command .studio-scope-picker { width:auto; padding-inline:3px; }
  #view-map .studio-command .studio-scope-picker .pf-pick { width:88px; padding-inline:6px; }
  #view-map .studio-command .studio-station-picker { padding-inline:7px; }
  #view-map .studio-command .studio-scope-picker :is(.pf-pick>label,.studio-station-picker>span) { padding-inline:3px; font-size:8px; }
  #view-map .studio-command .studio-scope-picker :is(#pf-select,.studio-station-picker select) { font-size:12px; padding-inline:0; }
  #view-map .studio-utility-dock { padding:4px; width:44px; justify-content:center; }
  #view-map .studio-utility-dock .studio-workspace-button { width:34px; min-width:34px; max-width:34px; padding:0; }
  #view-map .studio-utility-dock .studio-workspace-button .studio-control-label,
  #view-map .studio-utility-dock .studio-primary-nav,
  #view-map .studio-utility-dock .studio-command-actions { display:none; }
  #view-map .studio-view-toolbar { grid-template-columns:1fr 1fr; gap:10px; }
  #view-map .studio-toolbar-start { grid-column:1; grid-row:1; }
  #view-map .studio-toolbar-end { grid-column:2; grid-row:1; }
  #view-map[data-mode="map"] .studio-toolbar-end .studio-help { grid-column:2; grid-row:1; }
  #view-map[data-mode="map"] .studio-map-layers { grid-column:1/-1; grid-row:2; }
}
@media(max-width:1000px) {
  #view-map[data-mode="3d"] .pf-side { top:auto; }
}
@media(max-width:600px) {
  #view-map .studio-command { padding-inline:8px; gap:0 5px; }
  #view-map .studio-command .studio-brand-button { width:42px; min-width:42px; }
  #view-map .studio-command .studio-wordmark { font-size:18px; }
  #view-map .studio-command .studio-scope-picker .pf-pick { width:77px; padding-inline:5px; }
  #view-map .studio-command .studio-station-picker { padding-inline:5px; }
  #view-map .studio-command>.studio-hero-bar { width:min(320px,calc(100vw - 40px)); }
  #view-map .studio-command>.studio-hero-bar .studio-control { padding-inline:9px; }
  #view-map[data-mode="3d"] .pf-side { top:auto; }
  #view-map[data-mode="3d"] .studio-tree { top:calc(var(--studio-command-h,136px) + 60px); }
}
@media(max-width:860px) {
  #view-map .studio-command .studio-scope-picker .pf-pick.studio-console-select { width:112px; }
  #view-map .studio-command .studio-scope-picker .studio-console-trigger { padding-inline:9px; gap:4px; }
  #view-map .studio-console-trigger-label { font-size:8px; }
  #view-map .studio-console-trigger-value { font-size:11px; }
  #view-map .studio-console-trigger>.studio-icon { width:12px; height:12px; }
}
@media(max-width:800px) { #view-map[data-mode="map"] #pf-legend { max-width:calc(100% - 88px); } }
