/* Map-first Radar presentation. Data and ranking remain upstream. */
body.radar-view .radar-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto auto; padding:20px 3% 14px; gap:16px; }
body.radar-view .radar-title { grid-row:auto; }
body.radar-view .radar-title h1 { font-size:25px; letter-spacing:1px; background:none; color:#F5F7FA; animation:none; margin:0 0 7px; }
body.radar-view .radar-title small { font-size:14px; }
.radar-toolbar select { background:#17333e; color:#F5F7FA; border:1px solid #8bc4b944; border-radius:6px; padding:9px 12px; font:600 13px 'IBM Plex Sans',sans-serif; }
body.radar-view .radar-toolbar-tools { grid-column:auto; grid-row:auto; width:220px; }
body.radar-view .radar-toolbar .year-control label { font-size:13px; }
body.radar-view .radar-toolbar .year-readout { font-size:16px; min-width:44px; }
body:not(.radar-view) .radar-compact-metrics { display:none; }
/* .radar-guide is built and inserted as a sibling of #radarToolbar (not inside the
   hidden .layout), so without this it renders on every page — Overview, Projects,
   Methodology — clipped by the floating Ask GridLock button at the bottom. */
body:not(.radar-view) .radar-guide { display:none; }
.radar-compact-metrics { display:flex; gap:10px; padding:0 3% 16px; border:0; }
.radar-compact-metrics .stat { display:flex; gap:9px; align-items:baseline; padding:10px 16px; background:#15232bb3; border:1px solid #8bc4b933; border-radius:7px; backdrop-filter:blur(8px); }
.radar-compact-metrics .stat .n { font-size:22px; font-weight:700; }
.radar-compact-metrics .stat .k { font-size:12px; }
body.radar-view #layout.radar-workspace { display:grid; grid-template-columns:minmax(0,7fr) minmax(310px,3fr); gap:0; margin:0 3% 24px; height:calc(100dvh - 260px); min-height:540px; border:1px solid #8bc4b933; border-radius:10px; overflow:hidden; }
body.radar-view #layout[hidden] { display:none !important; }
.radar-workspace .map-wrap { width:auto; height:100%; min-width:0; }
.radar-rail { min-width:0; overflow-y:auto; background:rgba(21,35,43,.96); border-left:1px solid #8bc4b933; }
.radar-workspace .radar-inspector.detail-panel { width:100%; min-width:0; border:0; background:transparent; padding:20px; overflow:visible; }
.radar-inspector-head h3 { font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:1px; }
.radar-inspector > .radar-distance { font-size:42px; margin:16px 0 10px; color:#c4ece1; }
.radar-inspector > .radar-distance small { font-size:16px; }
.radar-inspector section { padding:15px 0; }
.radar-inspector .radar-project-name { font-size:16px; font-weight:600; margin:8px 0; }
.radar-pair .radar-muted { display:none; }
.radar-inspector h4 { font-size:12px; text-transform:uppercase; letter-spacing:.6px; }
.radar-facts { list-style:none; padding:0; margin:0; color:#c0d4d5; font-size:14px; line-height:2; }
.radar-tier { font-size:12px; color:#9bd2c3; line-height:1.5; }
.radar-chip.verified { color:#a1d4ff; border-color:#668db8; }
.radar-chip.estimated { color:#d0c3a0; border-color:#8c8163; }
.radar-chip.demo { color:#e7c18c; }
.radar-evidence { margin-top:18px; }
.radar-evidence > summary { padding:12px; border:1px solid #8bc4b955; border-radius:6px; cursor:pointer; font-size:14px; font-weight:600; color:#c1e8dc; }
.radar-evidence p,.radar-evidence dd,.radar-evidence dt { font-size:13px !important; line-height:1.6; }
.radar-evidence dl { grid-template-columns:100px minmax(0,1fr); }
.radar-catalog { border-top:1px solid #8bc4b933; padding:16px 12px; }
.radar-catalog > summary { padding:0 8px; font-size:14px; cursor:pointer; font-weight:600; }
.radar-workspace .radar-catalog .sidebar { width:100%; min-width:0; height:auto; max-height:none; border:0; background:transparent; overflow:visible; }
.radar-catalog .sidebar-scroll { max-height:480px; overflow-y:auto; }
.radar-catalog .sidebar h2 { font-size:12px; }
.radar-card-pair { display:grid; grid-template-columns:1fr; gap:3px; margin-bottom:8px; font-size:14px; font-weight:600; }
.radar-card-pair span:not([aria-hidden]) { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.radar-card-pair span[aria-hidden] { font-size:12px; color:#8bc4b9; }
.radar-card-top .radar-distance { font-size:22px; }
.radar-catalog .radar-chip { font-size:10px; }
.radar-workspace .legend { right:auto; font-size:11px; }
.radar-workspace .legend details:not([open]) { min-width:75px; }
.radar-route-pulse { animation:route-soft-pulse 3s ease-in-out infinite; filter:drop-shadow(0 0 3px #8bc4b955); }
.radar-connection-flow { animation:connection-flow 2s linear infinite; }
@keyframes route-soft-pulse { 50% { stroke-opacity:.55; } }
@keyframes connection-flow { to { stroke-dashoffset:-36; } }
.radar-network-canvas { display:none; position:fixed; inset:0; z-index:-1; pointer-events:none; }
body.radar-view .radar-network-canvas { display:block; }
body.radar-view > .ambient-network, body.radar-view > .ambient-particles { display:none; }
@media(max-width:900px) {
 body.radar-view .radar-toolbar { grid-template-columns:1fr auto; }
 body.radar-view .radar-title { grid-column:1 / -1; }
 body.radar-view #layout.radar-workspace { grid-template-columns:minmax(0,1fr) 310px; }
}
@media(max-width:700px) {
 body.radar-view #layout.radar-workspace { display:flex; flex-direction:column; height:auto; min-height:0; }
 .radar-workspace .map-wrap { flex:none; width:100%; height:55dvh; min-height:340px; }
 .radar-rail { border-left:0; max-height:none; }
 .radar-compact-metrics { gap:6px; }
 .radar-compact-metrics .stat { flex:1; min-width:0; display:block; padding:9px; }
 .radar-compact-metrics .stat .k { display:block; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .radar-route-pulse,.radar-connection-flow { animation:none; } }

/* Unified evidence presentation: one view, explicit confidence on every record. */
.radar-kicker {
  display:block; margin-bottom:6px; color:#9dded2;
  font:600 11px/1.4 "IBM Plex Mono",monospace; letter-spacing:.13em;
}
body.radar-view .radar-toolbar {
  grid-template-columns:minmax(0,1fr) minmax(250px,330px);
  padding-top:22px; padding-bottom:12px;
}
body.radar-view .radar-toolbar-tools { grid-column:2; width:100%; }
.radar-compact-metrics { flex-wrap:wrap; }
.radar-compact-metrics .stat {
  position:relative; overflow:hidden; min-width:142px;
  background:linear-gradient(145deg,rgba(18,45,55,.96),rgba(18,34,43,.88));
  box-shadow:0 10px 28px rgba(4,20,27,.16);
}
.radar-compact-metrics .stat::before {
  content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#8bc4b9;
}
.radar-compact-metrics .stat.catalog::before { background:#9edfff; }
.radar-compact-metrics .stat.mapped::before { background:#8ee6c0; }
.radar-compact-metrics .stat.verified::before { background:#70b9ff; }
.radar-compact-metrics .stat.estimated::before { background:#f5c76f; }
.radar-compact-metrics .stat.opportunities::before { background:#f08dc5; }

.radar-guide {
  margin:0 3% 18px; padding:16px 18px 13px;
  border:1px solid rgba(139,196,185,.28); border-radius:12px;
  background:linear-gradient(120deg,rgba(18,48,58,.94),rgba(28,49,59,.78));
  box-shadow:0 16px 38px rgba(3,18,24,.16); color:#f4fbfa;
}
.radar-guide-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:13px; }
.radar-guide-head h2 { margin:0; font-size:18px; letter-spacing:-.2px; }
.radar-guide-head > span { color:#b9d1d2; font-size:12px; text-align:right; }
.radar-guide-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.radar-guide-item {
  position:relative; min-height:76px; padding:13px 13px 12px 17px;
  border:1px solid rgba(255,255,255,.1); border-radius:9px;
  background:rgba(8,24,31,.52); overflow:hidden;
}
.radar-guide-item::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:var(--tier-color); }
.radar-guide-item.must { --tier-color:#ff6b72; }
.radar-guide-item.land { --tier-color:#ff9f5a; }
.radar-guide-item.logistics { --tier-color:#f4d35e; }
.radar-guide-item.crews { --tier-color:#69d391; }
.radar-guide-range { display:block; margin-bottom:6px; color:var(--tier-color); font:600 11px/1.3 "IBM Plex Mono",monospace; }
.radar-guide-item strong { display:block; font-size:13px; line-height:1.35; }
.radar-guide-note { margin:11px 1px 0; color:#aec8c9; font-size:11px; line-height:1.5; }
.radar-guide-note strong { color:#e5f5f1; }

.radar-banner.coverage,.radar-banner.estimated {
  border-left:0; background:rgba(15,48,59,.92); color:#c9e5df;
  text-align:center; letter-spacing:.01em;
}
.radar-workspace .match-item {
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
  box-shadow:0 6px 18px rgba(3,16,22,.14);
}
.radar-workspace .match-item:hover { transform:translateY(-1px); border-color:rgba(139,196,185,.58); }
.radar-tier {
  display:inline-flex; width:fit-content; padding:5px 8px; border-radius:999px;
  color:#d6e8e5; background:rgba(139,196,185,.1); border:1px solid rgba(139,196,185,.25);
}
.radar-tier.must { color:#ffd3d5; background:rgba(229,72,77,.13); border-color:rgba(255,107,114,.45); }
.radar-tier.land { color:#ffddc2; background:rgba(242,153,74,.13); border-color:rgba(255,159,90,.45); }
.radar-tier.logistics { color:#fff0ad; background:rgba(242,201,76,.12); border-color:rgba(244,211,94,.45); }
.radar-tier.crews { color:#c8f1d6; background:rgba(89,179,125,.13); border-color:rgba(105,211,145,.42); }
.radar-chip.verified { background:rgba(79,168,224,.12); }
.radar-chip.estimated { background:rgba(232,163,61,.1); }

@media(max-width:1000px) {
  .radar-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.radar-view #layout.radar-workspace { height:auto; min-height:620px; }
}
@media(max-width:700px) {
  body.radar-view .radar-toolbar { grid-template-columns:1fr; }
  body.radar-view .radar-toolbar-tools { grid-column:1; }
  .radar-guide-head { align-items:flex-start; flex-direction:column; gap:5px; }
  .radar-guide-head > span { text-align:left; }
  .radar-guide-grid { grid-template-columns:1fr; }
  .radar-guide-item { min-height:64px; }
}
@media(prefers-reduced-motion:reduce) { .radar-workspace .match-item { transition:none; } }

/* Compact controls keep the entire desktop map inside the first viewport. */
body.radar-view .radar-toolbar { padding:10px 3% 8px; gap:10px; align-items:center; }
body.radar-view .radar-toolbar .radar-title h1 { font-size:var(--type-workspace-title); margin:0; line-height:1.12; }
body.radar-view .radar-compact-metrics { padding-bottom:8px; gap:6px; }
body.radar-view .radar-compact-metrics .stat { min-width:0; padding:6px 11px; }
body.radar-view .radar-compact-metrics .stat .n { font-size:20px; }
body.radar-view .radar-guide { margin-bottom:8px; padding:6px; border-radius:8px; }
body.radar-view .radar-guide-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
body.radar-view .radar-guide-item { min-height:0; padding:7px 9px 7px 12px; }
body.radar-view .radar-guide-range { margin-bottom:3px; font-size:10px; }
body.radar-view .radar-guide-item strong { font-size:11px; line-height:1.3; }
body.radar-view #layout.radar-workspace { height:var(--radar-available-height,calc(100dvh - 280px)); min-height:220px; margin-bottom:16px; }
@media(max-width:700px) {
 body.radar-view .radar-toolbar { grid-template-columns:1fr auto; }
 body.radar-view .radar-title { grid-column:1; }
 body.radar-view .radar-toolbar-tools { grid-column:2; width:150px; }
 body.radar-view .radar-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.radar-view #layout.radar-workspace { height:auto; min-height:0; }
 body.radar-view .radar-workspace .map-wrap { height:var(--radar-available-height,50dvh); min-height:220px; }
}

.radar-view-details { display:block; margin-top:10px; }
.radar-view-details[hidden] { display:none; }

/* Leadership Board utility indicators, scoped to compact Radar cards. */
.radar-card-project { min-width:0; }
.radar-card-project .pd-util { display:inline-flex; align-items:center; gap:6px; font:600 12px "IBM Plex Mono",monospace; letter-spacing:.4px; }
.radar-card-project .pd-util.is-desc { color:#9ad3ff; }
.radar-card-project .pd-util.is-gpc { color:#f2c273; }
.radar-card-project .pd-dot { display:inline-block; flex-shrink:0; width:9px; height:9px; }
.radar-card-project .pd-dot-desc { border-radius:50%; background:var(--pd-desc,#5db8ff); }
.radar-card-project .pd-dot-gpc { background:var(--pd-gpc,#e8a33d); transform:rotate(45deg) scale(.9); }
.radar-card-name { display:block; }
