:root{color-scheme:light;--purple:#412662;--ink:#242332;--muted:#626674;--gold:#d8b665;--border:#dde0e7;--bg:#f4f5f8;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.5}header{background:#fff;border-top:4px solid var(--purple);border-bottom:1px solid var(--border)}.header-inner{max-width:1240px;margin:auto;padding:18px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:750;letter-spacing:.08em}.brand-mark{background:var(--purple);color:var(--gold);border-radius:6px;padding:8px;font-weight:800;letter-spacing:-.05em}.brand-light{font-weight:400;color:var(--muted)}.header-note,.local-note{font-size:.8rem;color:var(--muted)}main{max-width:1240px;margin:auto;padding:32px 28px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.intro p{margin:6px 0;color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:700;margin:0}h1{font-size:2.25rem;letter-spacing:-.04em;line-height:1.2;margin:6px 0 10px;font-weight:700}h2{font-size:1.05rem;margin:0;font-weight:700;display:flex;align-items:center;gap:12px}h2 span{font-size:.8rem;color:#80622a;border:1px solid #e0d4b5;border-radius:4px;padding:2px 6px}.workspace{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);gap:24px;align-items:start}.inputs,.results{display:grid;gap:20px;min-width:0}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.toggle{display:flex;align-items:center;gap:8px;font-size:.875rem}.toggle input{width:17px;height:17px;accent-color:var(--purple)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide{grid-column:1/-1}label{display:grid;gap:7px;font-size:.875rem;font-weight:550;min-width:0}input,select{font:inherit;font-size:1rem;min-width:0;max-width:100%;width:100%;padding:11px 12px;border:1px solid #bfc4d0;border-radius:6px;background:#fff;color:var(--ink);min-height:46px}select{padding-right:26px}input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #b598d5;outline-offset:3px}input[type=radio],input[type=checkbox]{min-height:0}input[type=number]{font-variant-numeric:tabular-nums}.mapping{margin-top:22px;background:#f5f3f8;border-left:3px solid var(--gold);padding:12px 14px;display:grid;gap:3px;font-size:.8rem;color:var(--muted)}.mapping strong{color:var(--purple);font-size:.95rem;font-variant-numeric:tabular-nums}.thirds{grid-template-columns:1fr 1fr .65fr}.direction{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:0;background:#eef0f5;padding:4px;border-radius:8px;margin:24px 0 20px}.direction legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.direction label{position:relative;cursor:pointer;text-align:center;display:block}.direction input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer;margin:0}.direction span{display:block;padding:10px 6px;border:1px solid transparent;border-radius:5px;font-size:.875rem}.direction input:checked+span{background:white;color:var(--purple);border-color:#d1c6df;box-shadow:0 2px 3px #24233208}.direction input:focus-visible+span{outline:3px solid #b598d5}.current-label input{font-size:1.5rem;min-height:58px;font-weight:600}.helper{font-size:.8rem;color:var(--muted);margin:10px 0 0}.result-panel{background:var(--purple);border-radius:12px;padding:26px;color:white;border-top:3px solid var(--gold)}.result-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.result-top .eyebrow{color:#ded3ed}.badge{font-size:.75rem;border:1px solid #977cb4;padding:3px 8px;border-radius:4px;color:#f3e5c6}.hero-value{font-size:3.6rem;line-height:1.15;letter-spacing:-.045em;margin:24px 0 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.hero-value span{font-size:1.35rem;letter-spacing:0;font-weight:400;color:#ddc899}.result-caption{margin:6px 0 24px;color:#d1c3e0;font-size:.875rem}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid #71528e;padding-top:20px}.metrics>div:first-child{grid-column:1/-1}.metrics span{font-size:.8rem;color:#d8cbe7;display:block}.metrics output,.metrics>div>div{font-size:1.7rem;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metrics>div>div span{display:inline;font-size:1rem}.range-heading{display:flex;justify-content:space-between;gap:10px;font-size:.875rem;margin-top:25px}.range-heading span{color:#d8cbe7}.range-track{height:14px;margin-top:18px;background:#88639c;border-radius:3px;position:relative}.nominal-track{position:absolute;left:14.2857%;width:71.4286%;height:100%;background:var(--gold)}#marker{position:absolute;left:50%;top:-6px;height:26px;width:3px;background:#fff;border:1px solid #412662;transform:translateX(-50%);box-shadow:0 0 0 1px white}.range-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#ded3ed;margin-top:12px;gap:8px}.status{font-size:.875rem;padding-top:18px;margin:18px 0 0;border-top:1px solid #71528e;color:#f1e9fa}.status[data-level=warning],.status[data-level=error]{color:#ffe1a1}.rounding{font-size:.8rem;color:#ded3ed;margin:12px 0 0}.evidence h2{font-size:1rem}dl{margin:0;font-size:.875rem}dl>div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:8px 0;border-bottom:1px solid #eceef2}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.evidence a{display:inline-block;margin-top:18px;color:var(--purple);font-size:.9rem;font-weight:650}.source-detail{font-size:.75rem;color:var(--muted);margin:6px 0 15px;overflow-wrap:anywhere}details{font-size:.875rem}summary{cursor:pointer;font-weight:600;padding:12px 0;color:var(--purple)}details p{color:var(--muted)}.bottom-notes{margin-top:26px;border-top:1px solid var(--border)}.bottom-notes>details{border-bottom:1px solid var(--border);padding:6px 0}.review-item{padding:14px;background:#fff;border:1px solid var(--border);margin:8px 0;border-radius:6px}.review-item strong{display:block}.review-item p{margin:6px 0}.review-item a{color:var(--purple)}footer{display:flex;flex-direction:column;gap:5px;margin-top:34px;padding-top:22px;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted)}footer strong{color:var(--purple);font-size:.9rem}.notice,.error{padding:12px;background:#fff0e0;color:#83340b;border-radius:6px;font-size:.875rem}.skip{position:fixed;top:-100px;left:12px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}[hidden]{display:none!important}@media(max-width:900px){.workspace{grid-template-columns:1fr 1fr;gap:16px}.panel,.result-panel{padding:20px}.grid.thirds{grid-template-columns:1fr 1fr}.grid.thirds label:last-child{grid-column:1/-1}.result-top{align-items:flex-start;flex-direction:column}.hero-value{font-size:3rem}.local-note{display:none}}@media(max-width:700px){.workspace{grid-template-columns:1fr}main{padding:24px 16px}.header-inner{padding:14px 16px}.header-note{display:none}h1{font-size:1.95rem}.intro{margin-bottom:20px}.result-top{flex-direction:row;align-items:center}.results{gap:16px}.hero-value{font-size:3.5rem}}@media(max-width:380px){.grid{grid-template-columns:1fr}.wide{grid-column:auto}.result-top{flex-direction:column;align-items:flex-start}.direction{grid-template-columns:1fr}.brand{font-size:.78rem}.metrics{grid-template-columns:1fr}.hero-value{font-size:2.75rem}dl>div{grid-template-columns:1fr;gap:3px}}@media print{header,.inputs,.bottom-notes{display:none}.workspace{display:block}.result-panel{background:white;color:black;border:1px solid #888}.result-panel *{color:black!important}.results{display:block}.panel{margin-top:20px}main{padding:0}.range-track{display:none}}
.panel,.result-panel,.direction{min-width:0}.section-title{flex-wrap:wrap}h2{min-width:0}.brand>span{min-width:0}.brand{overflow-wrap:anywhere}.range-labels>span{min-width:0;overflow-wrap:anywhere}.mapping{overflow-wrap:anywhere}.grid.thirds{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.65fr)}@media(max-width:500px){.grid,.grid.thirds{grid-template-columns:minmax(0,1fr)}.grid.thirds label:last-child{grid-column:auto}.section-title{gap:12px}.direction{min-width:0}.header-inner{gap:8px}.result-top{flex-wrap:wrap}}
