:root{--bg:#07131f;--panel:#0b1b2b;--cream:#ead9ae;--gold:#c8a96a;--ivory:#f7f1e6;--muted:#aaa89f;--blue:#8fb7d3;--teal:#79c8bc}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#102a42 0,#07131f 48%,#040b12 100%);color:var(--ivory);font-family:Inter,Aptos,Arial,sans-serif}.shell{max-width:1500px;margin:auto;padding:30px 28px 48px}header{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.eyebrow{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.22em}h1{font-family:Georgia,serif;font-weight:400;font-size:48px;margin:8px 0 5px}header p{color:var(--muted);margin:0}.badge{text-align:right}.badge strong{display:block;color:#e1c98f;font-size:38px}.badge span{font-size:11px;letter-spacing:.14em;color:var(--muted)}.upload-card{background:rgba(11,27,43,.88);border:1px solid #34506a;border-radius:18px;padding:20px;box-shadow:0 18px 50px #0008;margin-bottom:22px}.drop{border:1px dashed #71869a;border-radius:12px;padding:16px}.drop label{font-weight:800;display:block;margin-bottom:8px}.drop input{width:100%;color:var(--ivory)}small{display:block;color:var(--muted);margin-top:8px}.controls{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:14px}.controls label{position:relative;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.controls input{width:100%;margin-top:7px;background:#07131f;border:1px solid #365169;border-radius:8px;color:#fff;padding:11px 40px 11px 11px;font-size:15px}.controls label span{position:absolute;right:12px;bottom:12px;color:#7f8f9e}.actions{display:flex;align-items:center;gap:12px;margin-top:16px}button{border:0;border-radius:9px;padding:12px 18px;font-weight:800;background:linear-gradient(135deg,#e1c98f,#b58d49);color:#081421;cursor:pointer}.ghost{background:transparent;color:var(--ivory);border:1px solid #607487}#status{color:#d7c28f}.meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:5px 3px 14px}.panels{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.panel{min-width:0;border-radius:16px;padding:20px;background:linear-gradient(180deg,#0e2437,#091826);border:1px solid #3b5368;box-shadow:0 18px 45px #0007,inset 0 0 0 1px #ffffff08}.panel:before{content:"";display:block;width:42px;height:4px;border-radius:99px;margin-bottom:16px;background:currentColor;box-shadow:0 0 14px currentColor}.panel h2{text-transform:uppercase;font-size:18px;letter-spacing:.03em;margin:0 0 6px;color:currentColor}.panel>p{color:var(--muted);font-size:12px;margin:0 0 16px}.blue{color:var(--blue)}.teal{color:var(--teal)}.gold{color:#e1c98f}.rows .row{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-top:1px solid #284154}.row span{font-size:10px;letter-spacing:.08em;color:var(--muted);font-weight:800}.row strong{font-size:14px;color:var(--ivory)}.tax{background:linear-gradient(145deg,#f1e4c3,#dcc28c);color:#081421;border-color:#f7e6b9}.tax>p{color:#33404a}.tax:before{background:#8f6d30}.metrics>div{padding:12px 0;border-top:1px solid #a98d5570}.metrics strong{display:block;font-size:25px;color:#081421}.metrics b{display:block;font-size:10px;letter-spacing:.08em;margin-top:3px}.metrics span{display:block;font-size:11px;color:#34414d;margin-top:3px}.tax aside{margin-top:13px;padding:12px;border:1px solid #ac9160;border-radius:10px;background:#fff3d5aa;font-size:10px;line-height:1.35;color:#172431;font-style:italic}footer{color:#8e8a82;font-size:10px;font-weight:800;letter-spacing:.12em;margin-top:18px;border-top:1px solid #8e754580;padding-top:12px}.hidden{display:none}@media(max-width:1000px){.controls{grid-template-columns:repeat(2,1fr)}.panels{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.shell{padding:20px 14px}header{align-items:start}.badge{display:none}h1{font-size:36px}.controls,.panels{grid-template-columns:1fr}.actions{align-items:flex-start;flex-wrap:wrap}}@media print{body{background:#07131f;-webkit-print-color-adjust:exact;print-color-adjust:exact}.upload-card{display:none}.shell{padding:10px}.panel{break-inside:avoid}.results{display:block!important}}
/* The tax summary spans below the four age-based panels. */
.tax-banner{margin-bottom:18px}
.tax-banner .metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.tax-banner .metrics strong{font-size:clamp(21px,2vw,29px);overflow-wrap:anywhere}
.tax-banner aside{max-width:none}
.retirement{color:#c4b1e5}
.retirement-controls{display:grid;gap:7px;margin-bottom:14px}
.retirement-controls label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.retirement-controls input{min-width:0;width:100%;border:1px solid #59617f;border-radius:8px;padding:10px 11px;background:#07131f;color:var(--ivory);font:inherit}
.retirement-controls small,.panel .income-note,.panel .income-summary{font-size:11px;line-height:1.5;color:var(--muted)}
.panel .income-summary{color:#d6c7ef;margin:14px 0 0}
.meta{gap:12px;flex-wrap:wrap}
.results[aria-busy="true"] .rows,.results[aria-busy="true"] .metrics{opacity:.55}
@media(max-width:1000px){.tax-banner .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}}
@media(max-width:620px){.tax-banner .metrics{grid-template-columns:1fr;gap:0}.tax-banner .metrics strong{font-size:25px}}
@media print{.tax-banner .metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.retirement-controls small{display:none}}
.model-note{margin:0 0 16px;padding:14px 16px;border:1px solid #59617f;border-radius:10px;color:var(--muted);font-size:12px;line-height:1.6;background:#0b1b2b}
.model-note strong{color:#d6c7ef}.model-note a{color:var(--blue)}
.loan-settings{min-width:0;margin:0 0 18px;padding:16px;border:1px solid #59617f;border-radius:12px}.loan-settings legend{color:#d6c7ef;font-size:12px;font-weight:800;padding:0 8px}.loan-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.loan-controls label{font-size:11px;color:var(--muted);line-height:1.5}.loan-controls input,.loan-controls select{display:block;min-width:0;width:100%;margin-top:6px;background:#07131f;color:var(--ivory);border:1px solid #59617f;border-radius:8px;padding:10px;font:inherit;font-size:14px}.loan-settings p{font-size:12px;line-height:1.5;color:var(--muted);margin:12px 0 0}.row .row-values{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:0}.row .row-values small{margin:0;font-size:10px;color:var(--muted);text-align:right}.loan-totals{padding:10px 0;margin-bottom:14px;border-top:1px solid #59617f}.loan-totals>div{display:flex;justify-content:space-between;gap:8px;font-size:11px;line-height:1.7;color:var(--muted)}.loan-totals strong{color:var(--ivory);text-align:right}.income-summary.attention{color:#f0c48c}
@media(max-width:1000px){.loan-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.loan-controls{grid-template-columns:1fr}}
/* Policy-only, equal-funding comparison. */
.controls{grid-template-columns:repeat(4,minmax(0,1fr))}
.tax-banner .comparison-headlines{grid-template-columns:repeat(3,minmax(0,1fr))}
.comparison-overview,.tax-banner .comparison-scope,.comparison-footnotes{color:#263746;font-size:12px;line-height:1.6}
.comparison-settings{margin:16px 0;border:1px solid #ac9160;border-radius:10px;padding:12px}
.comparison-settings summary,.comparison-detail summary{font-size:13px;font-weight:700;cursor:pointer}
.comparison-controls{display:grid;grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) minmax(180px,2fr) minmax(100px,1fr);align-items:center;gap:10px 14px;margin-top:16px}
.comparison-controls label{font-size:12px;line-height:1.5}
.comparison-controls input{width:100%;min-width:0;border:1px solid #9a804f;border-radius:7px;padding:9px;background:#fff7e3;color:#142230;font:inherit;font-size:14px}
.comparison-status{font-size:13px;line-height:1.6;color:#263746}
.comparison-status.attention{padding:12px;border:1px solid #947643;border-radius:8px;background:#fff0cc}
.comparison-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.comparison-card{min-width:0;background:#fff6df;border:1px solid #ac9160;border-radius:10px;padding:14px 12px;color:#142230}
.comparison-card h3{font-size:14px;line-height:1.4;min-height:40px;margin:0 0 12px}
.comparison-tax-total{display:block;font-size:22px;overflow-wrap:anywhere}
.comparison-card p{font-size:11px;line-height:1.5;color:#354452}
.comparison-card dl{margin:14px 0 0;font-size:11px;line-height:1.5}
.comparison-card dl>div{padding:7px 0;border-top:1px solid #bba47866}
.comparison-card dt{color:#354452}.comparison-card dd{margin:3px 0 0;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.comparison-detail{margin:14px 0 0;padding-top:12px;border-top:1px solid #a98d55}
.comparison-detail p{font-size:12px;line-height:1.6;color:#263746}
.comparison-table-wrap{max-width:100%;overflow-x:auto;margin-top:12px;border:1px solid #ac9160;border-radius:8px}
.comparison-table{border-collapse:collapse;width:100%;min-width:650px;font-size:12px;background:#fff6df;color:#142230}
.comparison-table caption{text-align:left;font-weight:700;padding:10px}
.comparison-table th,.comparison-table td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid #bba47866}
.comparison-table td{white-space:nowrap}.comparison-sources a{color:#173d5b}
.legacy-projection .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.results[aria-busy="true"] .comparison-cards{opacity:.55}
@media(max-width:1150px){.comparison-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.controls{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-controls{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}
@media(max-width:620px){.controls,.tax-banner .comparison-headlines,.comparison-cards,.legacy-projection .metrics{grid-template-columns:1fr}.comparison-controls{grid-template-columns:1fr;gap:6px}.comparison-controls input{margin-bottom:10px}.comparison-card h3{min-height:0}}
@media print{.comparison-settings{display:none}.comparison-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.comparison-card{break-inside:avoid}}
.panels + .tax-banner{margin-top:18px}
.scenario-ledger-scroll{max-height:520px;overflow:auto}
.scenario-ledger-scroll thead th{position:sticky;top:0;background:#ead9ae;z-index:1;min-width:110px}
.scenario-ledger-scroll th:first-child{position:sticky;left:0;background:#ead9ae;min-width:48px;z-index:2}
.scenario-ledger-scroll thead th:first-child{z-index:3}
.ownership-choice{margin-bottom:16px}
.ownership-choice label{display:block;font-weight:800;margin-bottom:8px}
.ownership-choice select{width:100%;max-width:540px;padding:11px;background:#07131f;color:var(--ivory);border:1px solid #607487;border-radius:8px;font:inherit}
.ownership-choice p{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0 0}
.comparison-card .scenario-tax-treatment{padding:10px;background:#ead9ae66;border-radius:6px;margin:0 0 14px;color:#233746}
/* Readable comparison surface: cool blue, dark labels, clear hierarchy. */
.tax{background:linear-gradient(145deg,#eaf2fa,#d5e3f1);border-color:#9bb5cd;color:#102b43}
.tax:before{background:#426c91}
.tax>p,.tax .comparison-overview,.tax .comparison-scope,.tax .comparison-footnotes{color:#21394f;font-size:13px;line-height:1.65}
.tax .comparison-card{background:#f8fbff;border-color:#91aac2;color:#102b43;padding:18px 16px}
.tax .comparison-card h3{font-size:16px;line-height:1.45;color:#102b43}
.tax .comparison-card p{font-size:13px;line-height:1.6;color:#263d52}
.tax .comparison-card dl{font-size:13px;line-height:1.55}
.tax .comparison-card dl>div{padding:10px 0;border-color:#b8c9d9}
.tax .comparison-card dt{color:#20384d;font-weight:600}
.tax .comparison-card dd{font-size:16px;color:#0c273e}
.tax .comparison-card .scenario-tax-treatment{background:#e5eef7;color:#223b52}
.tax .comparison-tax-total{font-size:27px;color:#102b43}
.tax .comparison-status.attention{background:#e1edf8;border-color:#8caac5;color:#17374f}
.tax .comparison-settings{border-color:#91aac2}
.tax .comparison-settings summary,.tax .comparison-detail summary{font-size:14px;color:#102b43}
.tax .comparison-controls label{font-size:13px;color:#20384d}
.tax .comparison-controls input{background:#fff;border-color:#8ca6bd;color:#102b43}
.tax .metrics b,.tax .metrics span{color:#20384d;font-size:12px;line-height:1.5}
.tax .metrics strong{color:#102b43}
.tax .comparison-detail{border-color:#a9bfd2}
.tax .comparison-detail p{font-size:13px;color:#243d52;line-height:1.6}
.tax aside{background:#e5eef7;border-color:#91aac2;color:#243d52;font-size:12px;line-height:1.6}
.tax .comparison-table{background:#f8fbff;color:#17334a;font-size:13px}
.tax .comparison-table td,.tax .comparison-table th{border-color:#bbccda}
.tax .scenario-ledger-scroll thead th,.tax .scenario-ledger-scroll th:first-child{background:#dce9f5;color:#102b43}
.tax a{color:#075b98}
.compensation-selection{margin:0 0 18px;padding:16px;border:1px solid #607d97;border-radius:10px;min-width:0}
.compensation-selection legend{font-weight:700;color:#d8e7f5;padding:0 7px}
.compensation-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.compensation-options label{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.5;color:#e3edf7}
.compensation-options input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:#8bbce6}
.retained-strategy-label{display:block;font-size:12px;font-weight:700;margin-bottom:7px;color:#c9dced}
.compensation-selection select{width:100%;max-width:550px;padding:11px;background:#07131f;color:#edf5fb;border:1px solid #607d97;border-radius:7px;font:inherit}
.compensation-selection p{font-size:12px;line-height:1.6;color:#bdcfe0;margin:10px 0 0}
@media(max-width:700px){.compensation-options{grid-template-columns:1fr}}
.corporate-income-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.corporate-income-controls label{font-size:12px;line-height:1.5;color:#c9dced}
.corporate-income-controls input,.corporate-income-controls select{display:block;width:100%;max-width:none;margin-top:6px;padding:10px;background:#07131f;border:1px solid #607d97;border-radius:7px;color:#edf5fb;font:inherit}
.corporate-income-controls input:disabled{opacity:.5}
@media(max-width:620px){.corporate-income-controls{grid-template-columns:1fr}}
.tax .comparison-cards{display:block;min-width:0}
.advantage-matrix-scroll{max-width:100%;overflow:auto;border:1px solid #91aac2;border-radius:9px;margin:16px 0;max-height:850px;background:#f8fbff}
.advantage-matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:max(920px,calc(200px + 240px * var(--scenario-count)));table-layout:fixed;color:#102b43;font-size:15px;line-height:1.5}
.advantage-matrix caption{text-align:left;padding:12px;font-weight:700;background:#e5eef7}
.advantage-matrix th,.advantage-matrix td{padding:13px 15px;border-bottom:1px solid #bbccda;border-right:1px solid #bbccda;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.advantage-matrix thead th{background:#dce9f5;position:sticky;top:0;z-index:2;font-weight:600}
.advantage-matrix thead th:first-child{width:26%;z-index:4}
.advantage-matrix tbody th[scope=row],.advantage-matrix thead th:first-child{position:sticky;left:0;background:#eaf2fa}
.advantage-matrix tbody th[scope=row]{z-index:1;font-size:14px;font-weight:600}
.advantage-matrix h3{font-size:17px;margin:7px 0;color:#102b43}
.advantage-matrix thead p{font-size:12px;line-height:1.55;font-weight:400;margin:0}
.advantage-matrix td{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums;background:#f8fbff}
.advantage-matrix .matrix-section th{background:#cedfec;font-size:14px;padding:10px 15px;color:#102b43}
.advantage-matrix .matrix-emphasis td,.advantage-matrix .matrix-emphasis th[scope=row]{background:#dfedf5;font-weight:800}
.rank-label{display:inline-block;background:#214c6d;color:#fff;padding:3px 8px;border-radius:5px;font-size:12px}
.scenario-ranking{background:#f5fbff;border:1px solid #87a9c2;border-left:5px solid #326b87;border-radius:9px;padding:18px;margin-top:18px;color:#17334a}
.scenario-ranking h3,.terminal-explanation h3{font-size:19px;margin:0 0 12px}
.scenario-ranking p,.terminal-explanation p,.matrix-hint{font-size:13px;line-height:1.65;color:#243d52}
.scenario-ranking ol{padding-left:25px;margin:14px 0}
.scenario-ranking li{padding:9px 0;border-bottom:1px solid #c4d5e3;font-size:15px}
.scenario-ranking li span{display:block;font-size:13px;line-height:1.6;margin-top:4px}
.terminal-explanation{margin-top:22px;padding-top:18px;border-top:1px solid #91aac2}
@media(max-width:620px){.advantage-matrix{min-width:calc(120px + 180px * var(--scenario-count));font-size:14px}.advantage-matrix thead th:first-child{width:120px}.advantage-matrix thead th:not(:first-child){width:180px}.advantage-matrix th,.advantage-matrix td{padding:11px}.advantage-matrix thead p{display:none}.advantage-matrix h3{font-size:14px}.advantage-matrix tbody th[scope=row]{font-size:13px}.scenario-ranking{padding:13px}.advantage-matrix-scroll{max-height:620px}}
@media print{.advantage-matrix-scroll{max-height:none;overflow:visible}.advantage-matrix{min-width:0;font-size:10px}.advantage-matrix thead th,.advantage-matrix tbody th[scope=row]{position:static}.advantage-matrix td{font-size:11px}}
.analyzer-modes{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}.analyzer-modes a{display:block;border:1px solid #607d97;border-radius:8px;padding:10px 14px;color:#dcebf8;text-decoration:none;font-size:14px;font-weight:650}.analyzer-modes a[aria-current=page]{background:#214963;border-color:#8eb7d2;color:#fff}
.retirement-upfront{margin:18px 0 0;padding:15px;border:1px solid #69849c;border-radius:10px}.retirement-upfront legend{color:#e2d5f4;font-weight:750;padding:0 7px;font-size:15px}.retirement-upfront-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}.retirement-upfront label{display:block;margin-bottom:8px;color:#dce8f2;font-size:13px;text-transform:none;letter-spacing:0}.retirement-upfront input{font-size:16px}.retirement-upfront small{font-size:12px;line-height:1.5;color:#b8ccdd}.retirement .income-note a{color:#dac9f4}
@media(max-width:620px){.retirement-upfront-grid{grid-template-columns:1fr}}

/* Subtle alternating navy surfaces distinguish adjacent settings and outcomes. */
.upload-card .drop{background:#18344d;border-color:#8ba9c1}
.upload-card .actions{margin-bottom:22px}
.ownership-choice,.compensation-selection,.retirement-upfront{padding:16px;border:1px solid #48667f;border-radius:12px;background:#10283e}
.ownership-choice:nth-of-type(even),.compensation-selection:nth-of-type(even),#retirementSettings{background:#19374f}
.panels>.panel:nth-child(odd){background:linear-gradient(180deg,#1b3b55,#10283d)}
.panels>.panel:nth-child(even){background:linear-gradient(180deg,#10283e,#0b1d2e)}
.panels>.panel>p,.panels .row span,.panels .income-note{color:#c0d0de}
#investmentSchedule p{color:#c3d4e2;font-size:13px;line-height:1.55}

#investmentRepayments{background:#19374f}#investmentRepayments p{font-size:13px;color:#c3d4e2;line-height:1.55}.loan-controls textarea{width:100%;background:#07131f;color:#f7f1e6;border:1px solid #69849c;border-radius:8px;padding:11px;font:inherit}.repayment-lumps{grid-column:1/-1}

#retirementSettings{background:#10283e}
#investmentSchedule label.hidden{display:none}
.planning-table th:first-child,.planning-table td:first-child{position:sticky;left:0;background:#f4f8fc;z-index:1}.planning-table thead th:first-child{z-index:3;background:#d6e5f1}

.planning-panel{border:1px solid #7292aa;border-radius:12px;padding:18px;margin:18px 0;background:#f4f8fc;color:#142b3e}.planning-panel h3{font-size:22px}.planning-panel p{font-size:14px;line-height:1.6}.planning-settings{border:1px solid #99afbf;border-radius:9px;padding:14px;margin:14px 0}.planning-settings summary{font-size:16px;font-weight:750;cursor:pointer}.planning-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:15px 0}.planning-controls label{font-size:14px;line-height:1.5;font-weight:650}.planning-controls input:not([type=checkbox]){display:block;width:100%;padding:10px;margin-top:6px;border:1px solid #6c8ba2;border-radius:7px;background:white;color:#142b3e;font-size:16px}.planning-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.planning-card{padding:13px;border:1px solid #99afbf;border-radius:9px;background:#e4eef7}.planning-card strong{display:block;font-size:21px;margin:7px 0}.planning-table-wrap{overflow:auto;max-height:620px;border:1px solid #a6bac9;border-radius:8px;margin:14px 0}.planning-table{width:100%;min-width:900px;border-collapse:collapse;font-size:14px}.planning-table th,.planning-table td{padding:12px;text-align:right;border-bottom:1px solid #b5c6d4;vertical-align:top}.planning-table th:first-child,.planning-table td:first-child{text-align:left;min-width:220px}.planning-table thead th{background:#d6e5f1;position:sticky;top:0;z-index:1}.planning-gates{padding:13px;border-left:4px solid #af7520;background:#fff1d8}.planning-ledger summary{cursor:pointer;font-weight:750;padding:12px 0}.planning-warning{color:#804b11;font-weight:700}.planning-ok{color:#18563d;font-weight:700}
@media(max-width:800px){.planning-controls,.planning-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.planning-panel{padding:12px}.planning-controls,.planning-card-grid{grid-template-columns:1fr}}@media print{.planning-settings,#runRetirementPlan{display:none}.planning-table-wrap{max-height:none;overflow:visible}.planning-panel{break-inside:auto}}
