/* ---------- Section 4: forecast track record ---------- */
.s4-h3{font-family:var(--font-mono);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:500}

/* Verdict-tinted stat strip */
.s4-verdicts .s4-stat{position:relative;cursor:pointer;transition:background .12s}
.s4-verdicts .s4-stat::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--s4-c,var(--status-neutral))}
.s4-verdicts .s4-stat:hover{background:var(--surface-2)}
.s4-verdicts .s4-stat b{color:var(--s4-c,var(--text-primary))}
.s4-verdicts .s4-stat[data-v="PASS"]{--s4-c:var(--status-good)}
.s4-verdicts .s4-stat[data-v="PARTIAL"]{--s4-c:var(--status-warning)}
.s4-verdicts .s4-stat[data-v="FAIL"]{--s4-c:var(--status-critical)}
.s4-verdicts .s4-stat[data-v="UNRESOLVED"]{--s4-c:var(--status-neutral)}

/* Featured cards */
.s4-featured-wrap{margin-top:56px}
.s4-featured{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px}
.s4-card{
  background:var(--surface-1);border:1px solid var(--border);border-top:3px solid var(--s4-c,var(--border-strong));
  border-radius:var(--radius-m);padding:20px 20px 16px;cursor:pointer;display:flex;flex-direction:column;
  transition:transform .15s,box-shadow .15s,border-color .15s;
}
.s4-card:hover,.s4-card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-2);outline:none}
.s4-card:focus-visible{border-color:var(--accent)}
.s4-card.v-PASS{--s4-c:var(--status-good)}
.s4-card.v-PARTIAL{--s4-c:var(--status-warning)}
.s4-card.v-FAIL{--s4-c:var(--status-critical)}
.s4-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.s4-card-kicker{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--s4-c)}
.s4-card-lead{font-family:var(--font-display);font-size:1.15rem;line-height:1.25;color:var(--text-primary);margin:0 0 12px}
.s4-card-claim{
  margin:0;padding:10px 0 10px 14px;border-left:3px solid color-mix(in srgb,var(--s4-c) 45%,transparent);
  font-family:var(--font-serif);font-style:italic;font-size:.95rem;line-height:1.5;color:var(--text-primary);
}
.s4-card-meta{font-family:var(--font-mono);font-size:.66rem;color:var(--text-muted);margin:6px 0 14px;padding-left:17px}
.s4-card-compare{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-s);overflow:hidden;margin:0 0 14px}
.s4-card-compare div{background:var(--bg-raised);display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 12px}
.s4-card-compare dt{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap}
.s4-card-compare dd{margin:0;font-size:.86rem;font-weight:600;color:var(--text-primary);text-align:right}
.s4-card-compare div:first-child dd{font-weight:500;color:var(--text-secondary)}
.s4-card-why{font-size:.86rem;color:var(--text-secondary);margin:0 0 14px}
.s4-card footer{margin-top:auto;font-family:var(--font-mono);font-size:.68rem;color:var(--accent-ink);border-top:1px dashed var(--border);padding-top:10px}

/* The "we refuse to score this" callout */
.s4-refusal{
  margin-top:56px;display:grid;grid-template-columns:170px 1fr;gap:28px;align-items:start;
  background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-l);
  padding:28px 28px 24px;max-width:var(--wide-w);
}
.s4-refusal-num{font-family:var(--font-display);font-weight:700;font-size:4.2rem;line-height:.9;color:var(--text-primary)}
.s4-refusal-num span{display:block;font-family:var(--font-mono);font-size:.72rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:8px}
.s4-refusal-body h3{font-size:1.35rem;max-width:26em}
.s4-refusal-body>p{color:var(--text-secondary);max-width:44em;font-size:.95rem}
.s4-refusal-foot{font-size:.85rem !important;color:var(--text-muted) !important;margin-bottom:0 !important}
.s4-refusal-foot code,.s4-basis code{font-family:var(--font-mono);font-size:.85em;color:var(--text-muted)}
.s4-basis{list-style:none;margin:18px 0;padding:0;display:grid;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden}
.s4-basis li{
  background:var(--surface-1);display:grid;grid-template-columns:52px minmax(170px,1fr) 2fr;gap:14px;align-items:baseline;
  padding:12px 14px;cursor:pointer;transition:background .12s;
}
.s4-basis li:hover{background:var(--surface-2)}
.s4-basis-n{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--text-primary);line-height:1}
.s4-basis-l{font-size:.88rem;font-weight:600;color:var(--text-primary)}
.s4-basis-l code{display:block;font-weight:400;margin-top:2px}
.s4-basis-note{font-size:.82rem;color:var(--text-secondary);line-height:1.45}

/* Table */
.s4-table-head{margin-top:56px}
.s4-table-head p{max-width:44em;color:var(--text-secondary)}
.s4-table{min-width:940px}
.s4-table tbody tr{border-left:3px solid transparent}
.s4-table tbody tr.v-PASS{border-left-color:color-mix(in srgb,var(--status-good) 55%,transparent)}
.s4-table tbody tr.v-PARTIAL{border-left-color:color-mix(in srgb,var(--status-warning) 55%,transparent)}
.s4-table tbody tr.v-FAIL{border-left-color:color-mix(in srgb,var(--status-critical) 55%,transparent)}
.s4-table tbody tr.v-UNRESOLVED{border-left-color:var(--border)}
.s4-c-claim{max-width:420px;color:var(--text-primary)}
.s4-c-doc b{display:block;font-family:var(--font-mono);font-size:.82rem;font-weight:600;color:var(--text-primary)}
.s4-c-doc span{font-size:.74rem;color:var(--text-muted)}
.s4-c-dim{color:var(--text-secondary);font-size:.84rem}
.s4-c-score{font-family:var(--font-mono);font-size:.82rem;color:var(--text-secondary);text-align:right}
.s4-none{color:var(--text-muted);font-style:italic}
.s4-tablenote{margin-top:12px;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}
.chip.chip-good.active{background:var(--status-good);border-color:var(--status-good);color:#052905}
.chip.chip-warning.active{background:var(--status-warning);border-color:var(--status-warning);color:#2a1e00}
.chip.chip-critical.active{background:var(--status-critical);border-color:var(--status-critical);color:#fff}
:root[data-theme="dark"] .chip.chip-critical.active{color:#1a0000}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chip.chip-critical.active{color:#1a0000}}
.chip.chip-neutral.active{background:var(--text-secondary);border-color:var(--text-secondary);color:var(--bg)}

/* Popup extras used by this section */
#popup .s4-sub{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);margin:16px 0 6px}
#popup .s4-caveats{margin:0 0 4px;padding-left:18px;font-size:.88rem}
#popup .s4-caveats li{margin-bottom:4px}
#popup .s4-sources{list-style:none;margin:0;padding:0;display:grid;gap:6px}
#popup .s4-sources li{font-size:.86rem;line-height:1.35}
#popup .s4-sources a{text-decoration:none}
#popup .s4-sources a:hover{text-decoration:underline}
#popup .s4-sources span{display:block;font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}

@media (max-width:820px){
  .s4-refusal{grid-template-columns:1fr;gap:16px;padding:22px 20px}
  .s4-refusal-num{font-size:3.2rem}
  .s4-basis li{grid-template-columns:44px 1fr;gap:8px}
  .s4-basis-note{grid-column:2}
}
