/* Radar-only tokens: the application theme can override these at integration. */
.radar-scope, .radar-banner {
  --radar-bg: var(--bg, #0b0e14);
  --radar-surface: var(--panel, #131822);
  --radar-raised: #1a2233;
  --radar-hover: #171d29;
  --radar-border: var(--panel-border, #232b3a);
  --radar-text: var(--text, #e7ecf3);
  --radar-muted: var(--text-dim, #8996a8);
  --radar-accent: var(--utility-a, #4fa8e0);
  --radar-estimated: var(--text-dim, #8996a8);
  --radar-demo: var(--demo, #c9842a);
  --radar-radius: 4px;
  --radar-font-ui: "IBM Plex Sans", -apple-system, sans-serif;
  --radar-font-mono: "IBM Plex Mono", monospace;
  --radar-gap: 16px;
  color: var(--radar-text);
  font-family: var(--radar-font-ui);
}
.radar-toolbar { padding: 14px 20px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; background: var(--radar-surface); border-bottom: 1px solid var(--radar-border); }
.radar-title { margin-right: auto; }
.radar-title strong { display: block; font-size: 16px; }
.radar-title small, .radar-muted { color: var(--radar-muted); font-size: 11px; }
.radar-toolbar button, .radar-action { border: 1px solid var(--radar-border); background: var(--radar-bg); color: var(--radar-text); border-radius: var(--radar-radius); padding: 7px 10px; cursor: pointer; font: inherit; font-size: 11px; }
.radar-toolbar .dataset-toggle button.active { background: var(--radar-raised); box-shadow: inset 0 -2px var(--radar-accent); }
.radar-toolbar .dataset-toggle button.estimated.active { border-color: var(--radar-estimated); border-style: dashed; box-shadow: inset 0 -2px var(--radar-estimated); }
.radar-toolbar .dataset-toggle button.demo.active { box-shadow: inset 0 -2px var(--radar-demo); }
.radar-workspace.layout { height: max(670px, calc(100dvh - 150px)); min-height: 670px; }
.radar-workspace .sidebar { width: 320px; min-width: 280px; }
.radar-workspace .stats { gap: 5px; padding: 12px; }
.radar-workspace .stat { background: var(--radar-bg); border-radius: var(--radar-radius); }
.radar-workspace .sidebar h2 { padding: 16px 14px 10px; font-size: 12px; color: var(--radar-text); }
.radar-workspace .match-item { margin: 0 9px 8px; padding: 13px; border: 1px solid var(--radar-border); border-radius: var(--radar-radius); background: var(--radar-bg); }
.radar-workspace .match-item:hover { background: var(--radar-hover); border-color: var(--radar-border); }
.radar-workspace .match-item.selected { border-color: var(--radar-accent); background: var(--radar-raised); box-shadow: inset 3px 0 var(--radar-accent); }
.radar-scope :focus-visible { outline: 2px solid var(--radar-accent); outline-offset: 3px; }
.radar-card-top { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
.radar-distance { font: 500 21px var(--radar-font-mono); letter-spacing: -1px; }
.radar-distance small { font-size: 11px; letter-spacing: 0; color: var(--radar-muted); }
.radar-project-name { font-size: 12px; line-height: 1.5; margin: 6px 0; overflow-wrap: anywhere; }
.radar-utility { font-size: 9px; letter-spacing: .08em; color: var(--utility-a); display: block; }
.radar-utility.gpc { color: var(--utility-b); }
.radar-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.radar-chip { font-size: 10px; padding: 3px 6px; border: 1px solid var(--radar-border); border-radius: 4px; color: var(--radar-muted); }
.radar-chip.estimated { color: var(--radar-estimated); border-style: dashed; }
.radar-chip.demo { color: var(--radar-demo); }
.radar-inspector.detail-panel { width: 340px; min-width: 300px; max-height: none; border-top: 0; border-left: 1px solid var(--radar-border); padding: 18px; background: var(--radar-surface); }
.radar-inspector[hidden] { display: none; }
.radar-inspector h3 { font-size: 13px; margin: 0 0 10px; }
.radar-inspector h4 { font-size: 12px; margin: 0 0 8px; }
.radar-inspector section { padding: 17px 0; border-bottom: 1px solid var(--radar-border); }
.radar-inspector p { font-size: 12px; color: var(--radar-muted); margin: 7px 0; }
.radar-inspector .radar-project-name { font-size: 14px; }
.radar-inspector .evidence { border: 0; padding: 0; }
.radar-inspector a { color: var(--radar-accent); overflow-wrap: anywhere; }
.radar-inspector dl { display: grid; grid-template-columns: 85px 1fr; gap: 6px 10px; font-size: 11px; }
.radar-inspector dt { color: var(--radar-muted); }
.radar-inspector dd { margin: 0; overflow-wrap: anywhere; }
.radar-inspector .scenario { background: var(--radar-bg); }
.radar-inspector-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.radar-map-actions { position: absolute; z-index: 500; right: 12px; top: 12px; display: flex; gap: 6px; }
.radar-workspace .map-wrap { min-width: 260px; }
.radar-workspace .legend { bottom: 12px; left: 12px; right: 12px; width: fit-content; max-width: calc(100% - 24px); background: var(--radar-surface); font-size: 10px; padding: 9px 12px; }
.radar-workspace .legend summary { cursor: pointer; color: var(--radar-text); font-weight: 600; }
.radar-workspace .leaflet-popup-content-wrapper, .radar-workspace .leaflet-popup-tip { background: var(--radar-surface); color: var(--radar-text); }
.radar-workspace .leaflet-popup-content { font: 12px/1.6 var(--radar-font-ui); max-height: 260px; overflow: auto; }
.radar-workspace .leaflet-popup-content a { color: var(--radar-accent); }
.radar-workspace .leaflet-bar a { background: var(--radar-surface); color: var(--radar-text); border-color: var(--radar-border); }
.radar-banner.banner.visible { padding: 10px 20px; font-size: 12px; }
.radar-state { padding: 25px 16px; color: var(--radar-muted); font-size: 12px; line-height: 1.7; }
@media (min-width: 1600px) { .radar-workspace .sidebar { width: 360px; } .radar-inspector.detail-panel { width: 380px; } }
@media (max-width: 1150px) {
  .radar-workspace.layout { flex-wrap: wrap; height: auto; }
  .radar-workspace .sidebar { height: 640px; width: 310px; }
  .radar-workspace .map-wrap { height: 640px; }
  .radar-inspector.detail-panel { width: 100%; max-height: 580px; border-top: 1px solid var(--radar-border); }
}
@media (max-width: 820px) {
  .radar-workspace.layout { flex-direction: row; }
  .radar-workspace .sidebar { width: 100%; max-height: 380px; }
  .radar-workspace .map-wrap { flex-basis: 100%; height: 480px; }
  .radar-toolbar { gap: 12px; }
  .radar-toolbar .year-control { width: 100%; }
}

.radar-action:disabled { opacity: .45; cursor: default; }

/* Theme alignment only: preserve layout, data colors, and interaction hooks. */
.radar-scope button { font-family: var(--radar-font-ui); }
.radar-card-top .radar-muted,
.radar-utility,
.radar-chip,
.radar-inspector-head h3,
.radar-inspector [data-radar-schedule] > p,
.radar-scope .year-readout,
.radar-scope .stat .n,
.radar-scope .confidence,
.radar-scope .timeline-viz .tname,
.radar-scope .timeline-viz .taxis,
.radar-scope .scenario-btn,
.radar-scope code { font-family: var(--radar-font-mono); font-variant-numeric: tabular-nums; }
.radar-inspector h4, .radar-title strong { font-weight: 600; }
.radar-inspector-head h3 { font-weight: 500; }
.radar-toolbar button:hover:not(:disabled),
.radar-action:hover:not(:disabled),
.radar-inspector .copy-brief-btn:hover,
.radar-inspector .scenario-btn:hover { background: var(--radar-hover); }
.radar-chip.verified { color: var(--radar-text); }
.radar-inspector .copy-brief-btn,
.radar-inspector .coord-areas .chip,
.radar-inspector .savings,
.radar-inspector .timeline-viz .ttrack,
.radar-workspace #load-error code { background: var(--radar-bg); border-radius: var(--radar-radius); }
.radar-workspace .legend,
.radar-workspace .leaflet-popup-content-wrapper,
.radar-workspace .leaflet-bar { border: 1px solid var(--radar-border); border-radius: var(--radar-radius); box-shadow: none; }
.radar-workspace .leaflet-bar a:hover { background: var(--radar-hover); }
.radar-workspace .leaflet-bar a.leaflet-disabled { color: var(--radar-muted); background: var(--radar-bg); }
.radar-workspace .leaflet-container a.leaflet-popup-close-button { color: var(--radar-muted); }
.radar-workspace .leaflet-container a.leaflet-popup-close-button:hover { color: var(--radar-text); }
.radar-workspace .leaflet-control-attribution { background: var(--radar-surface); color: var(--radar-muted); font-family: var(--radar-font-ui); }
.radar-workspace .leaflet-control-attribution a { color: var(--radar-accent); }
.radar-banner.banner { background: var(--radar-surface); color: var(--radar-muted); border-bottom-color: var(--radar-border); }
.radar-banner.estimated { border-left: 3px dashed var(--radar-estimated); }
.radar-banner.demo { color: var(--radar-demo); border-left: 3px solid var(--radar-demo); }
.radar-banner.load-error { color: var(--text); border-left: 3px solid var(--tier-touching); }

/* One shared Radar heading; preserve all existing controls. */
.radar-legacy-toolbar { display:none !important; }
body:not(.radar-view) .radar-toolbar { display:none; }
.radar-toolbar { padding:28px 5%; background:transparent; }
.radar-title h1 {
  margin:0 0 8px; font-size:clamp(34px,4.3vw,62px); font-weight:700;
  letter-spacing:-1.8px; line-height:1.15; color:#bce6de;
}
.radar-title small { display:block; font-size:12px; }
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  .radar-title h1 {
    background-image:linear-gradient(110deg,#9edfff 0%,#b6a4ff 18%,#f5a6d5 36%,#ffd49b 54%,#bce99e 72%,#91e4d6 86%,#9edfff 100%);
    background-size:250% 100%; background-clip:text; -webkit-background-clip:text;
    color:transparent; animation:radar-title-flow 7s linear infinite;
  }
}
@keyframes radar-title-flow { from { background-position:0% 50%; } to { background-position:166.6667% 50%; } }
@media(max-width:480px) { .radar-title h1 { font-size:32px; letter-spacing:-1px; } }
@media(prefers-reduced-motion:reduce) { .radar-title h1 { animation:none; } }
@media(forced-colors:active) { .radar-title h1 { background:none; color:CanvasText; animation:none; } }

/* Compact header: methodology directly above the year control. */
.radar-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) auto minmax(230px,280px); gap:14px 22px; padding:14px 4%; align-items:center; }
.radar-title { min-width:0; margin-right:0; }
.radar-title h1 { font-size:clamp(28px,3vw,42px); margin-bottom:5px; letter-spacing:-1.2px; }
.radar-title small { font-size:11px; }
.radar-toolbar-tools { display:flex; flex-direction:column; align-items:flex-end; gap:9px; min-width:0; }
.radar-toolbar-tools .year-control { width:100%; min-width:0; gap:8px; }
.radar-toolbar .dataset-toggle { flex-wrap:wrap; gap:6px; max-width:310px; }
@media(max-width:1050px) {
  .radar-toolbar { grid-template-columns:minmax(0,1fr) minmax(230px,280px); }
  .radar-toolbar > .dataset-toggle { grid-column:1; grid-row:2; max-width:none; }
  .radar-toolbar-tools { grid-column:2; grid-row:1 / span 2; }
}
@media(max-width:560px) {
  .radar-toolbar { grid-template-columns:1fr; gap:12px; }
  .radar-toolbar > .dataset-toggle, .radar-toolbar-tools { grid-column:auto; grid-row:auto; }
  .radar-toolbar-tools { align-items:flex-start; }
  .radar-toolbar-tools .year-control { max-width:360px; }
}

/* Match Project Explorer headline scale. */
.radar-title h1 { font-size:clamp(40px,5.2vw,72px); font-weight:700; letter-spacing:-2px; line-height:1.12; padding-bottom:4px; }
.radar-toolbar { grid-template-columns:minmax(0,1fr) auto; }
.radar-toolbar > .dataset-toggle { grid-column:2; grid-row:1; }
.radar-toolbar-tools { grid-column:2; grid-row:2; }
.radar-title { grid-row:1 / span 2; }
@media(max-width:820px) {
  .radar-toolbar { grid-template-columns:1fr; }
  .radar-title, .radar-toolbar > .dataset-toggle, .radar-toolbar-tools { grid-column:1; grid-row:auto; }
  .radar-toolbar-tools { align-items:flex-start; }
}
@media(max-width:480px) { .radar-title h1 { font-size:clamp(34px,9vw,43px); letter-spacing:-1.3px; } }

/* Larger dataset and timeline controls. */
.radar-toolbar .dataset-toggle { font-size:15px; font-weight:600; gap:9px; max-width:none; }
.radar-toolbar .dataset-toggle button { font-size:15px; font-weight:700; padding:10px 14px; min-height:42px; }
.radar-toolbar .year-control { gap:12px; }
.radar-toolbar .year-control label { font-size:15px; font-weight:600; }
.radar-toolbar .year-readout { font-size:22px; font-weight:700; min-width:56px; }
.radar-toolbar .year-control input[type="range"] { min-width:80px; height:24px; }
@media(max-width:1100px) {
  .radar-toolbar { grid-template-columns:1fr; }
  .radar-title, .radar-toolbar > .dataset-toggle, .radar-toolbar-tools { grid-column:1; grid-row:auto; }
  .radar-toolbar-tools { align-items:flex-start; }
  .radar-toolbar-tools .year-control { width:100%; max-width:390px; }
}
@media(max-width:480px) {
  .radar-toolbar .dataset-toggle { gap:7px; }
  .radar-toolbar .dataset-toggle button { font-size:14px; padding:9px 11px; }
}

/* Match the Project Explorer subtitle and align with the Radar title. */
.radar-title small {
  display:block;
  font-size:17px;
  font-weight:500;
  line-height:1.5;
  margin:0;
  padding:0;
  text-align:left;
}

/* Compact Radar heading to prioritize the map. */
.radar-title h1 {
  font-size:clamp(34px,4vw,54px);
  letter-spacing:-1.5px;
  margin-bottom:4px;
  padding-bottom:0;
}
.radar-toolbar { padding-top:10px; padding-bottom:10px; row-gap:10px; }
@media(max-width:480px) {
  .radar-title h1 { font-size:32px; letter-spacing:-1px; }
}

/* Clarify dataset totals versus the existing viewing-year filter. */
.radar-year-summary { margin:0; padding:0 14px 10px; color:var(--radar-muted); font:12px/1.5 var(--radar-font-mono); }
.radar-year-group { margin:0; padding:12px 14px 8px; color:var(--radar-muted); font:500 11px/1.5 var(--radar-font-mono); text-transform:uppercase; letter-spacing:.04em; }
