/* Functional stylesheet — visual polish deferred to a later design pass.
 * Goal: readable, honest, no gimmicks. No color-coding that could be read
 * as trading guidance (no "green = buy").
 */
* { box-sizing: border-box; }
body {
    font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.5rem;
    color: #222;
    line-height: 1.5;
}
h1, h2, h3 { line-height: 1.25; }
.subtitle { color: #555; max-width: 70ch; }
.banner {
    padding: 0.75rem 1rem;
    border-radius: 4px;
    border: 1px solid #ccc;
    margin: 1rem 0;
}
.banner-prelaunch { background: #f4f4f4; }
.banner-preliminary { background: #fff8e1; border-color: #e6c55a; }
.banner-backstop { background: #fde7e7; border-color: #c97373; }
.scope-framing dl { margin-left: 0.5rem; }
.scope-framing dt { margin-top: 0.5rem; }
.scope-warning { font-size: 0.95rem; color: #555; }
.aggregates { margin: 2rem 0; }
.notice {
    padding: 0.6rem 0.9rem;
    border-left: 3px solid #777;
    background: #f7f7f7;
    margin: 1rem 0;
}
.notice-config-change { border-left-color: #9a6a0a; background: #fff4df; }
.dist-table, .firings-table {
    border-collapse: collapse;
    width: 100%;
    margin-top: 0.5rem;
    font-size: 0.95rem;
}
.dist-table th, .dist-table td,
.firings-table th, .firings-table td {
    border: 1px solid #ddd;
    padding: 0.35rem 0.5rem;
    text-align: left;
    vertical-align: top;
}
.dist-table thead tr, .firings-table thead tr { background: #f2f2f2; }
.dist-table tr.total td { font-weight: 600; background: #fafafa; }
.row-voided { color: #888; text-decoration: line-through; }
.row-voided .void-reason { text-decoration: none; color: #555; font-size: 0.85rem; }
.row-watch { background: #f7f7ff; }
.watch-badge {
    display: inline-block;
    padding: 0.05rem 0.35rem;
    border: 1px solid #7070a0;
    border-radius: 3px;
    font-size: 0.8rem;
    color: #444470;
}
.firing-id { font-family: monospace; }
.empty { color: #666; font-style: italic; }
.stress-rate { font-size: 1.05rem; }
.aggregate-footnote, .framing-reminder { color: #666; font-size: 0.9rem; }
.site-footer { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #ddd; }
