/* ============================================================
   v3 pages/fastfacts.css: Fast Facts Friday (WeeklyStats.aspx)
   and its archive (WeeklyStatsArchive.aspx). Loaded after
   data.css: these pages use its stat cards, chips and record
   cards (template: Wireframes\Website\resource-data.html), and
   add the parts only Fast Facts has.
   Colour keeps its meaning from the live pages: red = votes
   added, green = bills cleared, slate = Assembly, red = Senate.
   ============================================================ */

/* stat cards: five across (session to date), six small (archive) */
.rt-ff-stats{grid-template-columns:1fr}
.rt-ff-red b{color:var(--rt-red-lit)}
.rt-ff-green b{color:#4ade80}
.rt-ff-mini .rt-data-stat{padding:16px}
.rt-ff-mini .rt-data-stat b{font-size:30px;margin:0 0 6px}
.rt-ff-mini .rt-data-stat strong{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#c7d2e3}

/* this week: one scannable line under the section head */
.rt-ff-week{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:15px;color:var(--rt-body)}
.rt-ff-week b{color:var(--rt-ink);font-weight:800;font-variant-numeric:tabular-nums}
.rt-ff-week a{color:var(--rt-slate);font-weight:700}

.rt-ff-stack{display:grid;gap:16px}

/* gated cards: the count is public, the names are for members */
.rt-ff-gate{border:1px solid var(--rt-line);border-left:4px solid var(--rt-slate);border-radius:14px;background:#fff;padding:20px}
.rt-ff-gate-r44{border-left-color:var(--rt-red)}
.rt-ff-gate-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rt-muted);margin-bottom:8px}
.rt-ff-chip{font-family:var(--rt-mono);font-size:11px;letter-spacing:.06em;border-radius:4px;padding:2px 8px;background:#eef2f7;color:var(--rt-slate-deep)}
.rt-ff-gate-r44 .rt-ff-chip{background:#fee2e2;color:#b91c1c}
.rt-ff-gate h3{font-size:19px;line-height:1.3;margin-bottom:8px}
.rt-ff-gate p{font-size:14.5px;margin-bottom:16px}
.rt-ff-gate p strong{color:var(--rt-ink)}
.rt-ff-gate .rt-btn{white-space:normal;text-align:center;min-height:44px;font-size:14.5px}

/* cards on the alt band */
.rt-ff-card{border:1px solid var(--rt-line);border-radius:14px;background:#fff;padding:20px}
.rt-ff-card h3{font-size:18px;margin-bottom:4px}
.rt-ff-card-sub{font-size:13.5px;font-weight:600;color:var(--rt-muted);margin-bottom:14px}
.rt-ff-two{display:grid;gap:16px}
.rt-ff-two > *{min-width:0}

/* histogram */
.rt-ff-chart{position:relative;height:280px}

/* two chambers */
.rt-ff-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;text-align:center;padding:8px 0 16px}
.rt-ff-ch small{display:block;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;color:var(--rt-slate-deep)}
.rt-ff-ch b{display:block;font-size:38px;font-weight:900;line-height:1;letter-spacing:-.03em;color:var(--rt-slate-deep);font-variant-numeric:tabular-nums}
.rt-ff-ch b span{font-size:.45em;color:var(--rt-muted);margin-left:2px;vertical-align:.8em}
.rt-ff-ch p{font-size:12.5px;font-weight:600;color:var(--rt-muted);line-height:1.45;margin-top:6px}
.rt-ff-ch p strong{color:var(--rt-ink)}
.rt-ff-sen small,.rt-ff-sen b{color:var(--rt-red)}
.rt-ff-pill{border:2px solid var(--rt-ink);border-radius:99px;padding:6px 9px;font-weight:900;font-size:13px;color:var(--rt-ink);background:#fff;white-space:nowrap}
.rt-ff-card .rt-practice{font-size:13.5px}

/* top bills */
.rt-ff-top{list-style:none;margin:0;padding:0}
.rt-ff-top li{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9}
.rt-ff-top li:last-child{border-bottom:0}
.rt-ff-rank{font-size:13px;font-weight:900;color:var(--rt-muted);font-variant-numeric:tabular-nums}
.rt-ff-bill{font-weight:700;color:var(--rt-ink)}
.rt-ff-bill span{font-weight:500;font-size:13.5px;color:var(--rt-muted);margin-left:8px}
.rt-ff-n{font-size:18px;font-weight:900;color:var(--rt-red);font-variant-numeric:tabular-nums}
.rt-ff-n span{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rt-muted);margin-left:4px}
.rt-ff-top .rt-ff-none{display:block;color:var(--rt-muted);font-style:italic}
.rt-ff-tail{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;border:1px dashed var(--rt-slate);border-radius:10px;background:var(--rt-soft);font-size:14px}
.rt-ff-tail span{flex:1;min-width:200px}
.rt-ff-tail .rt-btn{min-height:40px;font-size:13.5px;padding:0 14px}

/* cleared their own house */
.rt-ff-cleared{display:grid;gap:20px;align-items:center}
.rt-ff-cleared-n{text-align:center}
.rt-ff-cleared-n b{display:block;font-size:72px;font-weight:900;line-height:1;letter-spacing:-.04em;color:var(--rt-ok);font-variant-numeric:tabular-nums}
.rt-ff-cleared-n span{display:block;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--rt-muted);margin-top:8px}
.rt-ff-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.rt-ff-split div{border:1px solid var(--rt-line);border-radius:10px;padding:12px 14px;font-size:12.5px;font-weight:600;color:var(--rt-muted);line-height:1.4}
.rt-ff-split b{display:block;font-size:26px;font-weight:900;color:var(--rt-slate-deep);line-height:1;margin-bottom:4px}
.rt-ff-split strong{color:var(--rt-ink)}

/* week cards (recent weeks, archive snapshots) */
a.rt-ff-wk{display:flex;flex-direction:column;position:relative;text-decoration:none;color:var(--rt-body)}
a.rt-ff-wk:hover{border-color:var(--rt-slate)}
.rt-ff-wk small{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--rt-muted);margin-bottom:8px;padding-right:64px}
.rt-ff-wk b{display:block;font-size:30px;font-weight:900;line-height:1;color:var(--rt-ink);font-variant-numeric:tabular-nums}
.rt-ff-wk em{font-style:normal;display:block;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--rt-muted);margin:4px 0 10px}
.rt-ff-wk p{font-size:13px;flex:1;margin-bottom:12px}
.rt-ff-wk p strong{color:var(--rt-ink)}
.rt-ff-wk .rt-ff-more{font-size:13px;font-weight:700;color:var(--rt-slate)}
.rt-ff-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.rt-ff-pair b{font-size:24px;color:var(--rt-red)}
.rt-ff-pair div + div b{color:var(--rt-ok)}
.rt-ff-pair span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rt-muted);margin-top:3px}
.rt-ff-latest{position:absolute;top:16px;right:16px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--rt-ok);border-radius:99px;padding:3px 8px}
.rt-ff-wk-now{border-color:var(--rt-ok)}
a.rt-ff-locked{align-items:center;justify-content:center;text-align:center;border-style:dashed;border-color:var(--rt-slate);background:var(--rt-soft)}
.rt-ff-locked svg{width:24px;height:24px;color:var(--rt-slate-deep);margin-bottom:10px}
.rt-ff-locked b{font-size:32px}
.rt-ff-locked p{max-width:250px;flex:0}
.rt-ff-links{text-align:center;margin-top:20px;font-weight:700}
.rt-ff-links a{color:var(--rt-slate)}

/* archive: leaders */
.rt-ff-board h3{font-size:16px;margin-bottom:2px}
.rt-ff-board ol{list-style:none;margin:0;padding:0}
.rt-ff-board li{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid #f1f5f9}
.rt-ff-board li:last-child{border-bottom:0}
.rt-ff-board li > span:nth-child(2){font-weight:700;color:var(--rt-ink)}
.rt-ff-board small{display:block;font-size:12px;font-weight:500;font-style:italic;color:var(--rt-muted);margin-top:2px}
.rt-ff-board .rt-ff-none{grid-template-columns:1fr;color:var(--rt-muted);font-style:italic}

/* archive: trend chart */
.rt-ff-trend{position:relative;height:240px}
.rt-ff-session{border-color:var(--rt-night) !important;background:var(--rt-night) !important;color:#fff !important;cursor:default !important}

/* how these numbers are measured */
.rt-ff-method p,.rt-ff-method li{font-size:15.5px;line-height:1.65}
.rt-ff-method p{margin-bottom:14px}
.rt-ff-method ul{margin:0 0 16px;padding-left:20px}
.rt-ff-method li{margin-bottom:8px}
.rt-ff-method strong{color:var(--rt-ink)}
.rt-ff-method a{color:var(--rt-slate);font-weight:600}
.rt-ff-pub{text-align:center;margin-top:24px}

@media(min-width:480px){.rt-ff-stats{grid-template-columns:repeat(2,1fr)}}
@media(min-width:700px){
  .rt-ff-stats{grid-template-columns:repeat(3,1fr)}
  .rt-ff-cleared{grid-template-columns:auto 1fr;gap:36px}
  .rt-ff-cleared-n{padding-right:36px;border-right:1px solid var(--rt-line)}
}
@media(min-width:900px){
  .rt-ff-two{grid-template-columns:1fr 1fr;gap:20px}
  .rt-ff-card,.rt-ff-gate{padding:24px 28px}
  .rt-ff-vs{gap:10px}
  .rt-ff-ch b{font-size:56px}
  .rt-ff-pill{padding:8px 12px;font-size:14px}
  .rt-ff-cleared-n b{font-size:96px}
}
@media(min-width:1100px){
  .rt-ff-stats-5{grid-template-columns:repeat(5,1fr)}
  .rt-ff-stats-5 .rt-data-stat b{font-size:42px}
  .rt-ff-mini{grid-template-columns:repeat(6,1fr)}
}
/* 2026-10-11: the guardrail line under the hero number (house rule: every
   post-announcement / vote-change figure carries it), and the closed
   "How we measure" expand that replaced the long Method text. */
.rt-ff-guard{margin:10px 0 12px;font-family:var(--rt-serif);font-style:italic;font-size:21px;line-height:1.3;color:var(--rt-red-lit)}
.rt-ff-more{border:1px solid var(--rt-line);border-radius:14px;background:#fff;padding:0 20px}
.rt-ff-more summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:800;color:var(--rt-ink)}
.rt-ff-more summary::-webkit-details-marker{display:none}
.rt-ff-more summary:after{content:"+";float:right;font-weight:800;color:var(--rt-red)}
.rt-ff-more[open] summary:after{content:"\2212"}
.rt-ff-more[open]{padding-bottom:12px}
.rt-practice a{color:var(--rt-slate);font-weight:700;white-space:nowrap}
@media(min-width:900px){.rt-ff-guard{font-size:24px}}
