/* flag.css - Flag Today (/flag/). Colours are the site's tokens only, so dark mode follows site.css. */

.cv-flag-status{ gap:8px; padding:22px 18px; border-top:4px solid var(--cv-blue); }
.cv-flag-status.is-half{ border-top-color:var(--cv-red); }
.cv-flag-label{ margin:0; font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--cv-ink-3); }
.cv-flag-state{ margin:0; font-size:clamp(30px, 6vw, 52px); line-height:1.1; font-weight:800; color:var(--cv-ink); letter-spacing:-.01em; }
.cv-flag-status.is-half .cv-flag-state{ color:var(--cv-red); }
.cv-flag-why{ margin:0; font-size:18px; line-height:1.5; color:var(--cv-ink); max-width:70ch; }
.cv-flag-facts{ margin:4px 0 0; display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:10px 18px; }
.cv-flag-facts div{ display:grid; gap:2px; }
.cv-flag-facts dt{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--cv-ink-3); }
.cv-flag-facts dd{ margin:0; color:var(--cv-ink); line-height:1.45; overflow-wrap:anywhere; }

.cv-flag-years{ display:flex; flex-wrap:wrap; gap:6px 10px; margin:0; padding:0; list-style:none; }
.cv-flag-years a{ display:inline-block; padding:3px 9px; border:1px solid var(--cv-line); border-radius:999px; font-size:14px; font-weight:600; color:var(--cv-blue); text-decoration:none; }
.cv-flag-years a:hover{ background:var(--cv-blue-soft); }
.cv-flag-year{ scroll-margin-top:90px; }
.cv-flag-toc{ columns:2 260px; column-gap:28px; margin:0; padding-left:20px; line-height:1.9; }
.cv-prose h2{ scroll-margin-top:90px; }
