:root { --workspace-drawer:384px; --workspace-sheet:var(--ws-sheet-h,52%); --workspace-target:44px; }
body.workspace-ready { --fs-micro:12px; --fs-sm:12px; --fs-base:14px; --fs-lg:18px; --fs-num:22px; display:flex; flex-direction:column; height:var(--workspace-vh,100dvh); min-height:0; overflow:hidden; padding:0; }
.workspace-ready [hidden] { display:none!important; }
.workspace-ready .topbar { order:0; flex:none; position:relative; z-index:900; flex-wrap:nowrap; padding:8px 16px; padding-top:max(8px,env(safe-area-inset-top)); gap:12px; box-shadow:none; border-bottom:1px solid var(--line); }
.workspace-ready .brand { gap:8px; flex:1; }
.workspace-ready .brand h1 { font-size:var(--fs-num); }
.workspace-ready .brand .sub { display:none; }
.workspace-ready .topstatus { display:flex; width:auto; flex-wrap:nowrap; gap:8px; }
.workspace-ready .btn,.workspace-ready .viewtabs button { min-height:var(--workspace-target); font:600 var(--fs-base)/1.3 var(--font-prose); text-transform:none; letter-spacing:0; }
.workspace-ready .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.workspace-ready .btn svg,.workspace-bar svg,.workspace-more>summary svg { width:20px; height:20px; flex:none; }
.workspace-ready #listenNav { padding-inline:14px; }
.workspace-ready #listenNav .listen-indicator { display:none; }
.workspace-ready #listenNav[data-active=true] { background:var(--live); border-color:var(--live); }
.workspace-ready #alertBanner { order:1; flex:none; margin:0; font:var(--fs-sm)/1.5 var(--font-prose); }
.workspace-bar { order:2; position:relative; z-index:850; display:flex; flex:none; align-items:center; gap:8px; padding:8px 16px; border-bottom:1px solid var(--line); background:var(--bg); }
.workspace-space { flex:1; }
#workspaceCount { color:var(--text-dim); font-family:var(--font-mono); font-weight:400; }
#workspaceFlights[aria-expanded=true],#workspaceFlights[data-filtered=true] { border-color:var(--accent); }
.workspace-options,.workspace-more { position:relative; }
.workspace-options>summary,.workspace-more>summary { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 12px; border:1px solid var(--line-strong); border-radius:var(--r); font:600 var(--fs-base)/1.3 var(--font-prose); color:var(--text-dim); cursor:pointer; list-style:none; }
.workspace-more>summary { width:44px; padding:10px; }
.workspace-options>summary::-webkit-details-marker,.workspace-more>summary::-webkit-details-marker { display:none; }
.workspace-options[open]>summary,.workspace-more[open]>summary { color:var(--text); border-color:var(--accent); }
.workspace-options-body,.workspace-more-body { position:absolute; z-index:1000; top:calc(100% + 8px); right:0; width:360px; max-width:calc(100vw - 24px); max-height:calc(var(--workspace-vh,100dvh) - 160px); overflow:auto; overscroll-behavior:contain; padding:16px; background:var(--bg); border:1px solid var(--line-strong); border-radius:var(--r); }
.workspace-more-body { width:272px; padding:8px; display:flex; flex-direction:column; gap:4px; }
.workspace-more-body>.btn,.workspace-more-body>:is(a,button),.workspace-link { display:flex; width:100%; margin:0; align-items:center; min-height:44px; padding:10px 12px; text-decoration:none; text-align:left; font:var(--fs-base)/1.4 var(--font-prose); background:transparent; border:0; color:var(--text-dim); border-radius:var(--r); cursor:pointer; justify-content:flex-start; }
.workspace-more-body :is(a,button):hover { background:var(--bg-raise); color:var(--text); }
.workspace-ready>.layout { order:3; position:relative; display:block; flex:1 1 0; width:100%; height:auto; min-height:0; margin:0; padding:0; gap:0; overflow:hidden; }
.workspace-ready #layoutDub>.dubmain,.workspace-ready #layoutSky>.sky-stage,.workspace-ready #layoutTail>.mapwrap { position:absolute; inset:0; display:block; width:auto; height:auto; min-width:0; min-height:0; margin:0; padding:0; border:0; border-radius:0; }
.workspace-ready #layoutDub[data-panel-open=true]>.dubmain,.workspace-ready #layoutSky[data-panel-open=true]>.sky-stage,.workspace-ready #layoutTail[data-panel-open=true]>.mapwrap { left:var(--workspace-drawer); }
.workspace-ready .dubmain>.mapwrap,.workspace-ready .sky-stage>.skywrap { position:relative; display:block; width:100%; height:100%; min-height:0; margin:0; padding:0; border:0; border-radius:0; }
.workspace-ready #dubMap,.workspace-ready #map,.workspace-ready #sky3d { width:100%; height:100%; min-height:0; }
.workspace-ready .sky-stage { grid-template-rows:none; }
.workspace-drawer { position:absolute; z-index:700; inset:0 auto 0 0; width:var(--workspace-drawer); height:100%; display:flex; flex-direction:column; min-height:0; background:var(--bg); border-right:1px solid var(--line-strong); }
.workspace-drawer-head { display:flex; align-items:center; gap:8px; padding:8px 12px; flex:none; border-bottom:1px solid var(--line-strong); }
.workspace-drawer-head h2 { flex:1; min-width:0; margin:0; font:600 16px/1.3 var(--font-prose); color:var(--text); }
.workspace-drawer-head .btn { padding-inline:12px; }
.workspace-drawer-head h2:focus { outline:none; }
.workspace-expand { display:none!important; }
.workspace-drawer-body { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:12px; scroll-padding:12px; }
.workspace-drawer .panel,.workspace-drawer .sky-side { display:block; position:static; width:auto; height:auto; max-height:none; min-height:0; padding:0; border:0; overflow:visible; }
.workspace-drawer .card { border:0; padding:0; margin:0 0 16px; border-radius:0; }
.workspace-drawer .card--grow>h2,.workspace-drawer .sky-side-head { display:none; }
.workspace-drawer .board { overflow:visible; min-height:0; max-height:none; height:auto; }
.workspace-drawer .board-controls { display:flex!important; gap:8px; margin-bottom:0; }
.workspace-drawer input,.workspace-drawer select,.workspace-ready .listen-dialog input,.workspace-ready .listen-dialog select { font:16px/1.4 var(--font-prose); min-height:44px; }
.workspace-drawer #dubSearch,.workspace-drawer #skySearch { width:100%; padding:12px; min-height:48px; }
.workspace-filters>summary,.workspace-profile>summary { min-height:44px; padding:12px 0; cursor:pointer; color:var(--text-dim); font:var(--fs-base)/1.4 var(--font-prose); }
.workspace-filters>div { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
.workspace-drawer #dubFilter,.workspace-drawer #dubSort { display:flex; width:100%; flex-wrap:wrap; }
.workspace-drawer .seg button { flex:1; min-height:44px; padding:8px; font:var(--fs-sm)/1.4 var(--font-prose); }
.workspace-drawer .filter-context { min-height:0; padding:4px 0 8px; font:var(--fs-sm)/1.4 var(--font-prose); }
.workspace-drawer .board .row-flight { padding:12px 10px; }
.workspace-drawer .board .f-sub { color:var(--text-dim); font-family:var(--font-prose); }
.workspace-drawer .board .f-mid,.workspace-drawer .board .f-right { font-family:var(--font-prose); }
.workspace-drawer .board .f-sub { line-height:1.45; }
.workspace-drawer .board .f-right { padding-top:6px; }
.workspace-profile { border-top:1px solid var(--line-strong); margin-top:16px; }
.workspace-airport-link { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 14px; padding:16px; border:1px solid var(--line-strong); border-radius:12px; color:var(--text); text-decoration:none; background:linear-gradient(120deg,rgba(245,165,36,.12),rgba(245,165,36,.025)); font-family:var(--font-prose); }
.workspace-airport-link:hover,.workspace-airport-link:focus-visible { border-color:var(--accent); }
.workspace-airport-link strong,.workspace-airport-link small { display:block; }
.workspace-airport-link strong { font-size:15px; }
.workspace-airport-link small { margin-top:3px; color:var(--text-dim); line-height:1.4; }
.workspace-airport-link>span:last-child { color:var(--accent); font-size:20px; }
.workspace-drawer .sky-flight-list { max-height:none!important; overflow:visible; }
.workspace-drawer .sky-inspector { padding:0; margin:0; border:0; }
.workspace-drawer .selected-card>h2,.workspace-drawer #dubSelHead { display:none; }
.workspace-drawer .flight-summary { margin:0; padding:0; }
.workspace-drawer .flight-telemetry { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.workspace-drawer .flight-fix { font:var(--fs-sm)/1.5 var(--font-prose); }
.workspace-drawer .flight-type,.workspace-drawer .flight-route { font-family:var(--font-prose); }
.workspace-drawer .type-schematic { max-height:200px; }
.workspace-drawer .type-schematic text,.workspace-drawer .type-comparison text { font-size:var(--fs-sm); }
.workspace-view-tools .map-view-switch,.workspace-view-tools .map-overlay,.workspace-view-tools .map-path-tools,.workspace-view-tools .sky-tools { position:static!important; display:flex; flex-wrap:wrap; flex-direction:row; transform:none; width:auto; min-width:0; max-width:none; padding:0; margin:0 0 16px; border:0; background:none; max-height:none; overflow:visible; }
.workspace-view-tools .map-path-tools>span,.workspace-view-tools .map-overlay>span { flex:1 0 100%; }
.workspace-view-tools .sky-tools { display:block; }
.workspace-view-tools .sky-camera-controls,.workspace-view-tools .terrain-toolbar,.workspace-view-tools .sky-layer-controls { flex-wrap:wrap; }
.workspace-view-tools #skyPreset { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
.workspace-view-tools #skyPreset button { min-width:0; min-height:44px; overflow:hidden; white-space:normal; }
.workspace-view-tools .sky-settings-body { position:static; width:auto; max-height:none; border:0; padding:8px 0; }
.workspace-view-tools select { max-width:100%; min-height:44px; }
.workspace-view-tools .terrain-credits,.workspace-view-tools .terrain-context { font:var(--fs-sm)/1.5 var(--font-prose); }
.workspace-ready #livePill { position:absolute; z-index:500; left:12px; top:12px; max-width:calc(100% - 88px); padding:8px 10px; background:var(--bg); font:500 var(--fs-sm)/1.5 var(--font-prose); text-transform:none; letter-spacing:0; white-space:normal; }
.workspace-ready .leaflet-top.leaflet-left { left:auto; right:12px; top:12px; }
.workspace-ready .leaflet-top.leaflet-left .leaflet-control { margin:0; }
.workspace-ready .leaflet-control-zoom a { width:44px; height:44px; line-height:44px; }
.workspace-ready .leaflet-control-attribution { max-width:calc(100vw - 16px); padding:3px 8px; font:var(--fs-sm)/1.3 var(--font-prose)!important; }
.workspace-ready .leaflet-control-attribution a { padding:0 2px; }
.workspace-ready .mapwrap>.legend { display:none; }
.workspace-ready .sky-hud { display:none; }
.workspace-ready .sky-orientation { top:12px; right:12px; }
.workspace-ready #skyCameraMode { display:none; }
.workspace-ready .sky-legend { bottom:8px; left:12px; right:12px; width:auto; font-size:var(--fs-sm); pointer-events:none; }
.workspace-hint,.workspace-selection { position:absolute; z-index:500; left:12px; bottom:60px; max-width:calc(100% - 84px); background:var(--bg); border:1px solid var(--line-strong); border-radius:var(--r); }
.workspace-hint { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:8px 12px; color:var(--text-dim); font:var(--fs-base)/1.5 var(--font-prose); pointer-events:none; }
.workspace-hint button { pointer-events:auto; }
.workspace-selection { min-height:44px; border-color:var(--accent); padding:8px 12px; }
.workspace-fit { position:absolute; z-index:500; right:12px; bottom:60px; width:44px; padding:8px; background:var(--bg); }
.workspace-ready .layout[data-panel-open=true] .workspace-fit { bottom:52px; }
.workspace-fullscreen-exit { display:none!important; }
.workspace-ready .layout--sky:fullscreen { position:fixed; inset:0; z-index:950; height:100dvh; }
.workspace-ready .layout--sky:fullscreen>.sky-stage { left:0; bottom:0; }
.workspace-ready .layout--sky:fullscreen .workspace-drawer { display:none; }
.workspace-ready .layout--sky:fullscreen .workspace-fullscreen-exit { display:flex!important; position:absolute; z-index:1100; top:12px; right:12px; }
.workspace-ready #consentBanner { position:relative; order:4; flex:none; inset:auto; max-width:none; width:100%; margin:0; padding:12px 16px; border:0; border-top:1px solid var(--line-strong); border-radius:0; align-items:center; background:var(--bg-raise); }
.workspace-ready .consent-banner__body { display:block; }
.workspace-ready .consent-banner__label { display:block; margin:0 0 4px; letter-spacing:0; text-transform:none; font:600 var(--fs-sm)/1.4 var(--font-prose); color:var(--text); }
.workspace-ready .consent-banner__copy { max-width:800px; font:var(--fs-base)/1.5 var(--font-prose); }
.workspace-ready .consent-banner__actions { flex-direction:row; gap:8px; }
.workspace-ready .consent-banner__actions .btn { min-width:130px; background:transparent; border-color:var(--line-strong); color:var(--text); }
.workspace-ready #listenDock,.workspace-ready #listenMapConfirm { position:relative; inset:auto; transform:none; order:5; flex:none; width:100%; max-width:none; margin:0; padding:8px 16px; border:0; border-top:1px solid var(--line-strong); border-radius:0; background:var(--bg-raise); }
.workspace-ready #listenMapConfirm { order:5; }
.workspace-ready .listen-dialog { max-height:calc(var(--workspace-vh,100dvh) - 24px); font-family:var(--font-prose); }
.workspace-ready .listen-dialog h2 { font-size:var(--fs-num); }
.workspace-ready .listen-dialog-head .listen-eyebrow { font-size:var(--fs-sm); }
.workspace-ready .listen-dialog .listen-search input { font-size:16px; }
.workspace-ready .listen-dialog .listen-feature-actions { margin-top:12px; }
.workspace-ready .listen-dialog .listen-intro { margin:12px 0; }
.workspace-ready .listen-dialog .listen-settings>summary { padding-block:12px; }
.workspace-ready :is(button,a,input,select,summary):focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
@media(max-width:1100px) and (min-width:761px) { :root { --workspace-drawer:340px; } }
@media(max-width:760px) {
  .workspace-ready .topbar { padding-inline:12px; gap:8px; }
  .workspace-ready .brand h1 { font-size:var(--fs-num); }
  .workspace-ready #listenNav { padding-inline:12px; }
  .workspace-ready .topstatus { gap:8px; }
  .workspace-bar { order:6; padding:8px 12px; padding-bottom:max(8px,env(safe-area-inset-bottom)); border-top:1px solid var(--line-strong); border-bottom:0; gap:8px; }
  .workspace-space { display:none; }
  #workspaceFlights { flex:1; justify-content:flex-start; min-width:0; padding:10px; }
  .workspace-ready .workspace-bar .viewtabs { display:flex; flex:none; width:auto; order:0; }
  .workspace-ready .workspace-bar .viewtabs button { min-width:46px; min-height:44px; padding:10px; font-size:var(--fs-base); }
  .workspace-option-label,#workspaceFocus { display:none!important; }
  .workspace-options>summary { width:44px; padding:10px; }
  .workspace-options-body { position:fixed; top:auto; bottom:calc(68px + env(safe-area-inset-bottom)); right:12px; left:12px; width:auto; max-width:none; max-height:min(calc(var(--workspace-vh,100dvh) - 148px),56vh); max-height:min(calc(var(--workspace-vh,100dvh) - 148px),56dvh); }
  .workspace-more-body { max-height:calc(var(--workspace-vh,100dvh) - 80px); }
  .workspace-ready #layoutDub[data-panel-open=true]>.dubmain,.workspace-ready #layoutSky[data-panel-open=true]>.sky-stage,.workspace-ready #layoutTail[data-panel-open=true]>.mapwrap { left:0; bottom:var(--workspace-sheet); }
  .workspace-drawer { inset:auto 0 0; width:100%; height:var(--workspace-sheet); border:0; border-top:1px solid var(--line-strong); }
  .workspace-ready .layout.workspace-expanded { --workspace-sheet:84%; }
  .workspace-expand { display:inline-flex!important; }
  .workspace-drawer-body { padding:12px 16px; }
  .workspace-ready #consentBanner { order:4; padding:12px 16px; gap:8px; }
  .workspace-ready .consent-banner__body { flex-basis:100%; }
  .workspace-ready .consent-banner__copy { font-size:var(--fs-sm); }
  .workspace-ready .consent-banner__actions { display:flex; width:100%; }
  .workspace-ready .consent-banner__actions .btn { flex:1; min-width:0; }
  .workspace-ready .listen-dialog { width:100%; max-width:none; max-height:calc(var(--workspace-vh,100dvh) - 12px); margin:auto 0 0; padding:16px; padding-bottom:max(16px,env(safe-area-inset-bottom)); }
  .workspace-ready #listenDock { padding:8px 12px; gap:8px; }
  .workspace-ready #listenDockStop { max-width:120px; }

  .workspace-ready[data-keyboard=true] #consentBanner { max-height:120px; overflow:auto; }
}
@media(max-width:360px) {
  .workspace-ready .topbar { padding-inline:8px; }
  .workspace-ready .brand h1 { font-size:18px; }
  .workspace-ready #listenNav { padding-inline:10px; }
  .workspace-bar { padding-inline:8px; gap:6px; }
  .workspace-drawer-head,.workspace-drawer-body { padding-inline:12px; }
}
@media(prefers-reduced-motion:reduce) { .workspace-ready * { scroll-behavior:auto!important; } .workspace-ready .pill .dot { animation:none; } }

.workspace-ready #dubMap[data-airport-detail=false] .rwy-label { display:none; }
.workspace-ready .listen-dialog-head .listen-eyebrow { display:none; }
.workspace-ready .listen-dialog[data-state=location] #listenSession { display:none; }
.workspace-ready .listen-dialog[data-state=location] #listenPoint { display:none; }
.workspace-ready .listen-dialog[data-state=location] #overheadGeoBtn { background:var(--accent); color:var(--bg); border-color:var(--accent); width:100%; }
.workspace-ready .workspace-listen-example { margin:0 0 12px; }
.workspace-ready .listen-dialog[data-state=active] .workspace-listen-example { display:none; }
.workspace-ready .listen-dialog #overheadHelp { margin-top:0; margin-bottom:12px; }
.workspace-ready .listen-dialog #listenLocation { border-top:1px solid var(--line-strong); }
.workspace-ready .listen-dialog[data-state=location] #listenDialogIntro { margin-bottom:8px; }
.workspace-ready #layoutSky:fullscreen { flex:none; }

.workspace-ready .viewtabs button { min-width:44px; }

.workspace-drawer .tele { grid-template-columns:repeat(2,minmax(0,1fr)); }
.workspace-drawer .metric strong { white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }

.workspace-ready .toasts { position:relative; order:2; inset:auto; width:100%; flex:none; max-height:25vh; overflow:auto; padding:0 12px; gap:6px; pointer-events:auto; }
.workspace-ready .toast { margin:6px 0; width:100%; align-items:center; font-family:var(--font-prose); }
.workspace-ready .toast__close { min-width:44px; min-height:44px; margin:0; padding:8px; }

body.workspace-v2 #layoutDub:not([hidden]),body.workspace-v2 #layoutSky:not([hidden]),body.workspace-v2 #layoutTail:not([hidden]) { display:block!important; position:relative; flex:1 1 0!important; min-height:0!important; height:auto!important; }
.workspace-v2 .dubmain>.airspace-map { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; }
.workspace-v2 .airspace-map>.mapwrap { display:block; position:relative; flex:1; min-height:0; height:100%; border:0; border-radius:0; }
.ws-toolbar-space { flex:1; }
.workspace-bar kbd { margin-left:8px; font:var(--fs-sm) var(--font-mono); color:var(--text-dim); }
.ws-handle { display:flex; flex:1; flex-direction:column; gap:4px; align-items:flex-start; justify-content:center; min-width:0; min-height:44px; padding:0 4px; border:0; background:transparent; color:var(--text); font:600 16px/1.3 var(--font-prose); text-align:left; touch-action:none; cursor:ns-resize; }
.ws-handle:disabled { opacity:1; color:var(--text); cursor:default; }
.ws-handle>span:last-child { max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.ws-grip { display:none; width:28px; height:2px; background:var(--line-strong); }
.ws-sheet-layout .ws-grip { display:block; }
.workspace-drawer .ws-close,.workspace-drawer .ws-back { width:44px; padding:0; flex:none; border-color:transparent; }
.workspace-drawer .ws-close svg,.workspace-drawer .ws-back svg { width:20px; height:20px; }
.workspace-drawer { transform:translateY(var(--ws-drag,0px)); }
.ws-peek { flex:1; min-height:0; overflow:auto; padding:8px 16px 12px; }
.ws-peek-type { margin:0 0 8px; color:var(--text-dim); font:var(--fs-base)/1.4 var(--font-prose); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ws-peek-telemetry { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end; }
.ws-peek-telemetry span { display:block; color:var(--text-dim); font:var(--fs-sm)/1.4 var(--font-prose); }
.ws-peek-telemetry strong { display:block; color:var(--text); font:500 var(--fs-lg)/1.4 var(--font-mono); white-space:nowrap; }
.ws-peek-telemetry small { max-width:90px; color:var(--text-dim); font:var(--fs-sm)/1.4 var(--font-prose); text-align:right; }
.ws-peek[data-fresh=false] [data-peek-age] { color:var(--accent); }
.workspace-ready .workspace-drawer .sky-flight-list,.workspace-ready .workspace-drawer .sky-query-controls,.workspace-ready .workspace-drawer #skyListNote { display:block!important; }
.workspace-ready .workspace-drawer .sky-query-controls { margin-block:12px; }
.workspace-view-tools .map-toolbar { position:static; flex-wrap:wrap; padding:0; margin:0 0 12px; border:0; background:none; }
.ws-feed-detail { font:var(--fs-sm)/1.5 var(--font-prose); padding-bottom:12px; border-bottom:1px solid var(--line-strong); color:var(--text-dim); }
.workspace-ready .sky-browse,.workspace-ready .ticker { display:none; }
.workspace-ready .workspace-drawer .flight-primary:not(:disabled) { background:var(--accent); color:var(--bg); }
@media(max-width:760px) { .ws-toolbar-space,.workspace-bar kbd,.ws-control-label { display:none; } .workspace-ready .workspace-bar .viewtabs button { min-width:46px; } }
@media(max-width:360px) { .ws-peek-telemetry { gap:8px; } .ws-peek-telemetry small { max-width:65px; } }

.workspace-ready #layoutSky .sky-stage>.skywrap { width:100%; height:100%; min-height:0; }

.workspace-ready .leaflet-tile-pane { filter:brightness(0.72) saturate(0) contrast(1.05); }
.workspace-ready #skyBack { display:none!important; }
