/* /actuarial-statistics/ - generated by scripts/build-actuarial-statistics.js.
   Command Deck tokens only (css/base.css). Hero uses the shared .page-hero. */

.ast-main { max-width: var(--cd-container); margin: 0 auto; padding: 2rem 1.5rem 3rem; }

.ast-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 1.5rem; }
.ast-stats[data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
.ast-stats[data-cols="2"] { grid-template-columns: repeat(2, 1fr); }
.ast-stats[data-cols="1"] { grid-template-columns: 1fr; }
.ast-stat { background: var(--cd-card); border: 1px solid var(--cd-card-border); border-radius: 10px; padding: 1rem 1.1rem; box-shadow: var(--cd-shadow); }
.ast-stat-n { display: block; font-family: 'IBM Plex Serif', Georgia, serif; font-size: 1.7rem; font-weight: 600; color: var(--cd-ink); font-variant-numeric: tabular-nums; }
.ast-stat-n.blue { color: var(--cd-blue); }
.ast-stat-l { display: block; margin-top: 0.35rem; font-size: 0.8rem; line-height: 1.45; color: var(--cd-muted); }

.ast-toc { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 2.25rem; }
.ast-toc-l { font: 500 0.66rem var(--font-mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--cd-faint); margin-right: 0.35rem; }
.ast-toc a { font: 500 0.72rem var(--font-mono); letter-spacing: 0.04em; color: var(--cd-blue); background: var(--cd-card); border: 1px solid var(--cd-card-border); border-radius: 999px; padding: 0.3rem 0.75rem; text-decoration: none; }
.ast-toc a:hover { border-color: var(--cd-blue); }

.ast-sec { margin-bottom: 2.5rem; scroll-margin-top: 1rem; }
.ast-sec h2 { font-family: 'IBM Plex Serif', Georgia, serif; font-size: 1.35rem; font-weight: 600; color: var(--cd-ink); margin-bottom: 0.35rem; text-wrap: balance; }
.ast-dek { font-size: 0.92rem; color: var(--cd-muted); line-height: 1.6; max-width: 76ch; margin-bottom: 1rem; }
.ast-panel { background: var(--cd-card); border: 1px solid var(--cd-card-border); border-radius: 12px; padding: 1.25rem 1.4rem; box-shadow: var(--cd-shadow); }
.ast-panel h3 { font-family: 'IBM Plex Serif', Georgia, serif; font-size: 1.02rem; font-weight: 600; color: var(--cd-ink); margin: 1.6rem 0 0.7rem; letter-spacing: -0.01em; }

.ast-facts { list-style: none; margin: 0; padding: 0; }
.ast-facts li { position: relative; padding: 0.55rem 0 0.55rem 1.1rem; font-size: 0.95rem; line-height: 1.6; color: var(--cd-body); border-bottom: 1px solid var(--cd-divider); }
.ast-facts li:last-child { border-bottom: 0; }
.ast-facts li::before { content: ''; position: absolute; left: 0; top: 1.05rem; width: 6px; height: 6px; border-radius: 50%; background: var(--cd-blue); }
.ast-facts a, .ast-src a, .ast-note a, .ast-q a { color: var(--cd-blue); text-decoration: none; border-bottom: 1px solid var(--cd-tile-border); }
.ast-facts a:hover, .ast-src a:hover, .ast-note a:hover { border-bottom-color: var(--cd-blue); }

.ast-overflow { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ast-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.ast-table caption { caption-side: bottom; text-align: left; font-size: 0.78rem; line-height: 1.5; color: var(--cd-muted); padding-top: 0.7rem; }
.ast-table th[scope="col"] { font-family: var(--font-mono); font-size: 0.66rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cd-faint); text-align: left; padding: 0 0.8rem 0.6rem 0; border-bottom: 1px solid var(--cd-card-border); vertical-align: bottom; }
.ast-table th[scope="col"].ast-num { text-align: right; padding-right: 0; padding-left: 0.8rem; }
.ast-table td, .ast-table th[scope="row"] { padding: 0.5rem 0.8rem 0.5rem 0; border-bottom: 1px solid var(--cd-divider); font-size: 0.88rem; color: var(--cd-body); text-align: left; }
.ast-table th[scope="row"] { color: var(--cd-ink); font-weight: 500; white-space: nowrap; }
.ast-table th[scope="row"] a { color: var(--cd-ink); text-decoration: none; border-bottom: 1px dotted var(--cd-faint); }
.ast-table th[scope="row"] a:hover { color: var(--cd-blue); border-bottom-color: var(--cd-blue); }
.ast-table tbody tr:hover td, .ast-table tbody tr:hover th { background: var(--cd-row-hover); }
.ast-table td.ast-num { text-align: right; font: 500 0.84rem var(--font-mono); padding-right: 0; padding-left: 0.8rem; white-space: nowrap; }
.ast-table td.ast-num a { color: inherit; text-decoration: none; border-bottom: 1px dotted var(--cd-faint); }
.ast-table td.ast-key { color: var(--cd-blue); font-weight: 600; }
.ast-table .ast-group td { border-bottom: 1px solid var(--cd-card-border); padding-top: 1.1rem; font-family: var(--font-mono); font-size: 0.66rem; font-weight: 500; letter-spacing: 0.13em; text-transform: uppercase; color: var(--cd-faint); background: none; }
.ast-table .ast-group:first-child td { padding-top: 0.6rem; }
.ast-na { color: var(--cd-faint); font-weight: 400; }
.ast-seg { color: var(--cd-muted); font-weight: 400; }

.ast-src { font-size: 0.82rem; color: var(--cd-muted); line-height: 1.6; margin-top: 1.4rem; padding-top: 0.9rem; border-top: 1px solid var(--cd-card-border); }
.ast-src b, .ast-note b { color: var(--cd-ink); }
.ast-note { font-size: 0.86rem; color: var(--cd-muted); line-height: 1.6; margin-top: 0.9rem; }

.ast-faq .ast-q { padding: 0.9rem 0; border-bottom: 1px solid var(--cd-divider); }
.ast-faq .ast-q:first-child { padding-top: 0; }
.ast-faq .ast-q:last-child { border-bottom: 0; padding-bottom: 0; }
.ast-faq h3 { margin: 0 0 0.4rem; }
.ast-faq p { font-size: 0.93rem; line-height: 1.65; color: var(--cd-body); max-width: 82ch; }

.ast-cite { font: 500 0.84rem/1.6 var(--font-mono); color: var(--cd-ink); background: var(--cd-tile); border: 1px solid var(--cd-tile-border); border-radius: 8px; padding: 0.8rem 1rem; overflow-wrap: anywhere; }
.ast-asof { list-style: none; margin: 0.8rem 0 0; padding: 0; max-width: 34rem; }
.ast-asof li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.4rem 0; border-bottom: 1px solid var(--cd-divider); font-size: 0.86rem; color: var(--cd-body); }
.ast-asof li span:last-child { font: 500 0.78rem var(--font-mono); color: var(--cd-muted); white-space: nowrap; }

.ast-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.8rem; }
.ast-links a { display: block; background: var(--cd-card); border: 1px solid var(--cd-card-border); border-radius: 10px; padding: 0.9rem 1rem; text-decoration: none; box-shadow: var(--cd-shadow); }
.ast-links a:hover { border-color: var(--cd-blue); }
.ast-links b { display: block; font-family: 'IBM Plex Serif', Georgia, serif; font-size: 0.98rem; font-weight: 600; color: var(--cd-ink); }
.ast-links span { display: block; margin-top: 0.3rem; font-size: 0.8rem; line-height: 1.45; color: var(--cd-muted); }

@media (max-width: 900px) {
    .ast-main { padding: 1.5rem 1rem 2.5rem; }
    .ast-stats, .ast-stats[data-cols="3"] { grid-template-columns: repeat(2, 1fr); }
    .ast-links { grid-template-columns: repeat(2, 1fr); }
    .ast-panel { padding: 1rem 1rem; }
    .ast-table { min-width: 34rem; }
}
@media (max-width: 520px) {
    .ast-links { grid-template-columns: 1fr; }
    .ast-stat-n { font-size: 1.4rem; }
}
