:root{--ex-text:#102439;--ex-muted:#556475;--ex-border:#d8e2e9;--ex-bg:#f5f8fb;--ex-main:#1b5d94;--ex-soft:#e9f3ff}
body[data-brand='moneyfigures']{--ex-text:#153427;--ex-muted:#52645b;--ex-bg:#f5f9f6;--ex-main:#176c48;--ex-soft:#e8f5ee}
body.expanded-body{background:var(--ex-bg);color:var(--ex-text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.55;margin:0}
.ex-container{width:min(1140px,calc(100% - 36px));margin:auto}
.ex-header{background:#fff;border-bottom:1px solid var(--ex-border);padding:16px 0}
.ex-head-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ex-brand{font-size:1.05rem;font-weight:800;color:var(--ex-main);text-decoration:none}
.ex-nav{display:flex;gap:20px;flex-wrap:wrap}.ex-nav a{color:var(--ex-text);font-size:.9rem;text-decoration:none;font-weight:600}
.ex-crumb{margin:24px 0 6px;color:var(--ex-muted);font-size:.85rem}.ex-crumb a{color:var(--ex-main)}
.ex-eyebrow{color:var(--ex-main);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:6px}
.ex-title{font-size:clamp(1.75rem,3.8vw,2.9rem);line-height:1.12;margin:6px 0 12px;letter-spacing:-.035em}
.ex-lead{color:var(--ex-muted);max-width:770px;margin:0 0 22px}
.ex-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.ex-panel{min-width:0;background:#fff;border:1px solid var(--ex-border);border-radius:14px;padding:22px;box-shadow:0 4px 18px #1536570b}
.ex-panel h2{font-size:1.2rem;letter-spacing:-.02em;margin:0 0 18px}.ex-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.ex-field{display:flex;flex-direction:column;gap:5px;min-width:0}.ex-field.full{grid-column:1/-1}.ex-field label{font-weight:650;font-size:.88rem}
.ex-field input,.ex-field select{border:1px solid #788b9f;background:white;color:var(--ex-text);border-radius:8px;width:100%;min-width:0;padding:11px 12px;font:inherit;box-sizing:border-box}
.ex-field input:focus-visible,.ex-field select:focus-visible,.ex-btn:focus-visible{outline:3px solid var(--ex-main);outline-offset:2px}
.ex-hint{font-size:.75rem;color:var(--ex-muted);line-height:1.3}
.ex-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.ex-btn{min-height:44px;padding:11px 17px;background:var(--ex-main);color:white;border:0;border-radius:8px;font-weight:750;cursor:pointer}.ex-btn.secondary{background:var(--ex-soft);color:var(--ex-main)}
.ex-error{color:#ad182c;font-weight:700;font-size:.88rem;min-height:1.2em}
.ex-answer{background:var(--ex-soft);border-radius:10px;padding:18px;margin-bottom:15px}.ex-answer-label{font-size:.81rem;color:var(--ex-muted);margin:0 0 4px}.ex-amount{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.035em;color:var(--ex-main);font-weight:850;overflow-wrap:anywhere}.ex-answer p{margin:6px 0 0;font-size:.83rem;color:var(--ex-muted)}
.ex-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ex-metric{border:1px solid var(--ex-border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.ex-metric span{font-size:.75rem;color:var(--ex-muted)}.ex-metric strong{font-size:.96rem;overflow-wrap:anywhere}
.ex-subheading{font-size:.96rem;margin:22px 0 10px}.ex-breakdown-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--ex-border);padding:8px 0;font-size:.86rem}.ex-breakdown-row strong{text-align:right}
.ex-section{margin:25px 0;padding:22px;background:#fff;border:1px solid var(--ex-border);border-radius:14px}.ex-section h2{margin:0 0 8px;font-size:1.2rem}.ex-section li{margin:6px 0}.ex-section p{color:var(--ex-muted);font-size:.88rem}
.ex-sources{font-size:.73rem;color:var(--ex-muted)}.ex-sources a{color:var(--ex-main)}.ex-sources h2{font-size:.85rem}
.ex-footer{text-align:center;padding:24px 0 35px;color:var(--ex-muted);font-size:.79rem}
.ex-skip{position:absolute;left:-10000px;top:auto}.ex-skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:100}
@media(max-width:730px){.ex-workspace{grid-template-columns:minmax(0,1fr)}.ex-container{width:min(100% - 24px,680px)}.ex-panel{padding:16px}.ex-fields{gap:10px}.ex-nav{gap:10px}.ex-header{padding:12px 0}.ex-metrics{gap:7px}}
@media(max-width:600px){.ex-fields{grid-template-columns:1fr}.ex-amount{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#ex-share-panel{margin-top:12px}#ex-share-panel input{width:100%;font-size:.85rem;padding:10px;border:1px solid #788b9f;border-radius:6px}#ex-action-status{font-size:.85rem;color:var(--ex-main);min-height:1.2em} @media print {.ex-header,.ex-nav,.ex-skip,.ex-actions,#ex-share-panel,footer{display:none!important} .ex-workspace{display:block}.ex-panel{break-inside:avoid}}

/* v0.2.6 accessible field errors and no-script guidance */
.ex-field-error{display:block;color:#a32336;font-size:.82rem;line-height:1.45;margin-top:4px}
.ex-field :is(input,select)[aria-invalid="true"]{border:2px solid #a32336}
.ex-nojs-note{font-size:.85rem;color:#435b70;line-height:1.5}


/* v0.2.8 - comparison detail and understandable line-item results */
.result-breakdown{margin:1rem 0;border-top:1px solid #d5e7d9;padding:.8rem 0;color:#172d20}
.result-breakdown summary{cursor:pointer;color:#075b36;font-weight:700;line-height:1.5}
.breakdown-row{display:flex;gap:1rem;justify-content:space-between;align-items:baseline;border-bottom:1px solid #dce8df;padding:.55rem 0;font-size:.92rem}
.breakdown-row strong{color:#173c25;font-variant-numeric:tabular-nums;text-align:right}
.scenario-table{border-collapse:collapse;width:100%;font-size:.88rem;min-width:525px}
.scenario-table caption{text-align:left;font-weight:600;color:#304c3b;margin:.5rem 0}
.scenario-table th,.scenario-table td{text-align:left;padding:.6rem;border-bottom:1px solid #dce6df;vertical-align:top}
.scenario-table td{font-variant-numeric:tabular-nums}
.scenario-change{padding:.6rem 0;color:#244532;line-height:1.5}
.scenario-delta{display:block;font-weight:600;margin-top:.5rem}
@media print{.result-breakdown{display:block}#breakdown-explained{display:block}.scenario-table{min-width:0;font-size:.75rem}}

.verification-table{min-width:640px}.verified-date{display:block;color:#48614e;font-size:.85rem;margin-top:.25rem}
@media(max-width:680px){.verification-table{font-size:.86rem}}
