/* Shared structural primitives for the Hacks, Distribution and Analysis pages.
   Load after site.css and before each page's local semantic styles. */

body.intelligence-page {
  min-width:0;
  font:14px/1.5 var(--font-sans);
  font-variant-numeric:tabular-nums;
}

body.intelligence-page .intelligence-head {
  display:grid;
  gap:24px;
  align-items:end;
  padding:20px var(--pad) 18px;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}

body.intelligence-page .intelligence-head h1 {
  margin:7px 0 4px;
  font-size:var(--page-title-size);
  font-weight:var(--weight-bold);
  line-height:1.12;
  letter-spacing:-.35px;
}

body.intelligence-page .intelligence-head p {
  margin:0;
  color:var(--muted);
  font-size:12px;
}

body.intelligence-page .eyebrow {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--accent);
  font-size:10px;
  font-weight:750;
  letter-spacing:.55px;
  text-transform:uppercase;
}

body.intelligence-page .intelligence-wrap {
  padding:18px var(--pad) 42px;
}

body.intelligence-page .truth-strip {
  display:grid;
  gap:14px;
  align-items:center;
  margin-bottom:14px;
  padding:10px 12px;
}
body.intelligence-page .truth-strip strong {
  font-size:10px;
  letter-spacing:.35px;
  text-transform:uppercase;
}
body.intelligence-page .truth-strip span { font-size:11px; }

body.intelligence-page .metric-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1px;
  margin-bottom:14px;
  border:1px solid var(--line);
  background:var(--line);
}

body.intelligence-page .metric {
  min-width:0;
  padding:12px 13px;
  background:var(--bg);
}

body.intelligence-page .metric .k,
body.intelligence-page .mini-k {
  display:block;
  color:var(--muted);
  font-size:var(--metric-label-size);
  font-weight:var(--weight-bold);
  letter-spacing:.4px;
  text-transform:uppercase;
}

body.intelligence-page :where(.metric .v) {
  display:block;
  margin-top:5px;
  color:var(--bright);
  font-size:var(--metric-value-size);
  font-weight:var(--weight-bold);
  line-height:1.05;
}
body.intelligence-page :where(.metric.good .v) { color:var(--positive); }
body.intelligence-page :where(.metric.bad .v) { color:var(--negative); }

body.intelligence-page .metric .s {
  display:block;
  overflow:hidden;
  margin-top:4px;
  color:var(--muted);
  font-size:var(--metric-note-size);
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.intelligence-page .panel {
  min-width:0;
  margin-bottom:14px;
  border:1px solid var(--line);
  background:var(--bg);
}
body.intelligence-page .panel-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:48px;
  padding:10px 13px;
  border-bottom:1px solid var(--line);
}
body.intelligence-page .panel-head h2 {
  margin:0;
  color:var(--bright);
  font-size:14px;
  font-weight:700;
}
body.intelligence-page .panel-head p {
  margin:2px 0 0;
  color:var(--muted);
  font-size:10px;
}
body.intelligence-page .panel-note {
  color:var(--dim);
  font-size:9px;
  text-align:right;
}
body.intelligence-page .evidence-controls,
body.intelligence-page .controls {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
body.intelligence-page .filter-label,
body.intelligence-page .control-label {
  color:var(--dim);
  font-size:9px;
  letter-spacing:.35px;
  text-transform:uppercase;
}
body.intelligence-page .table-wrap { width:100%; }
body.intelligence-page .empty { padding:36px 15px; color:var(--muted); text-align:center; }
body.intelligence-page .mini-fill,
body.intelligence-page .table-fill,
body.intelligence-page .score-fill {
  display:block;
  width:var(--w);
  height:100%;
  background:var(--tone);
}
body.intelligence-page .validation-item .v,
body.intelligence-page .readout-item .v {
  display:block;
  margin-top:5px;
  color:var(--bright);
  font-size:16px;
  font-weight:750;
}

@media (max-width:1050px) {
  body.intelligence-page .metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:760px) {
  body.intelligence-page .intelligence-head--mobile-stack {
    grid-template-columns:1fr;
    align-items:start;
  }
  body.intelligence-page .intelligence-head--mobile-stack h1 { font-size:22px; }
  body.intelligence-page .metric-grid--mobile-tail { grid-template-columns:1fr 1fr; }
  body.intelligence-page .metric-grid--mobile-tail .metric:last-child { grid-column:1 / -1; }
  body.intelligence-page .truth-strip--mobile-stack { grid-template-columns:1fr; gap:3px; }
  body.intelligence-page .panel-head { align-items:flex-start; flex-direction:column; }
  body.intelligence-page .panel-note { text-align:left; }
}
