/* Shared readable rhythm. No generated facts or decorative section additions. */
body { font-size: var(--size-body); }
p, .sub, .lede, .fine, .answer, figcaption, .field-help, .field-error, [role="status"], [data-visual-caption], .pool-state { font-size: var(--size-body); line-height: 1.55; max-width: 58ch; }
label, dt, dd, .mono, .chip, .pill, .card-label, .eyebrow, .eyebrow-pill, button, input, .button, .btn { font-family: inherit; text-transform: none; letter-spacing: normal; }
label, dt, dd, input, button, .btn, .button, .chip, .pill, .object-tag, .field-help, .ledger-head, .stat-row dt, .stat-row dd, .result-rows dt, .result-rows dd { font-size: var(--size-body); }
[data-visual-caption] { display: flex; align-items: center; gap: .7rem; margin-block: .7rem; }
[hidden] { display: none !important; }
.note-glyph { width: 24px; height: 24px; flex: 0 0 24px; }
.visual-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.visual-steps svg { width: 120px; max-width: 100%; height: 60px; color: var(--accent); }
.visual-steps h3 { font-size: 20px; }
.answer { margin-block: .8rem; }
.pool-counter { font-size: clamp(28px, 4.2vw, 58px); line-height: 1.15; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; letter-spacing: -.035em; }
.pool-unit { display: block; font-size: 20px; letter-spacing: normal; margin-top: .65rem; }
.pool-meter { display: flex; gap: 1rem; align-items: center; margin-block: 1.5rem; }
.pool-meter progress { flex: 1; min-width: 0; width: 100%; height: 18px; accent-color: var(--accent); border: 0; border-radius: 999px; overflow: hidden; background: var(--band-alt); }
progress::-webkit-progress-bar { background: var(--band-alt); }
progress::-webkit-progress-value { background: var(--accent); }
progress::-moz-progress-bar { background: var(--accent); }
.pool-rule { font-weight: 500; }
.pool-state { margin-block: 1rem; }
.pool-card { max-width: 960px; }
.start-grid > div::before { content: '→'; display: block; font-size: 32px; }
@media (max-width: 680px) { .visual-steps { grid-template-columns: 1fr; } .pool-counter { font-size: 28px; } }

.fine, .mono, caption, th, .eyebrow, .eyebrow-pill, .card-label, .object-tag, .stat-row dd, .stat-row dt, .result-rows dd, .result-rows dt, .position-lines dd, .position-lines dt { font-family: inherit; text-transform: none; letter-spacing: normal; font-size: var(--size-body); }
.hero p, .section-heading p, .sec-head .sub, .page-intro .lede, .fine, .risk, .answer { max-width: 58ch; font-size: var(--size-body); }
.footer p, .footer a, footer p, footer a, .chain-strip { font-size: var(--size-body); }

[data-visual-caption] > span, [role="status"] { overflow-wrap: anywhere; }
code { font-size: var(--size-body); }

