:root{--ink:#172d37;--muted:#64757a;--paper:#f5f6f2;--line:#dce3df;--blue:#0057b8;--reform:#c45100;--teal:#147b67;--soft:#eaf1ec;--white:#fff;--radius:14px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,summary,select{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8dbbb2;outline-offset:3px}button{border:0}input[type=number]{width:100%;min-width:0;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;padding:10px 12px;font-variant-numeric:tabular-nums}input:disabled{color:#72807b;background:#f0f2ee}input[type=checkbox]{accent-color:var(--teal);width:17px;height:17px;flex-shrink:0}input[type=range]{width:100%;accent-color:var(--teal);cursor:pointer}h1,h2,h3,p{margin:0}h1{font-size:34px;font-weight:600;letter-spacing:-1.4px;line-height:1.25}h2{font-size:19px;letter-spacing:-.4px;font-weight:600}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--muted);display:block;margin-bottom:10px}.topbar{height:76px;background:#fbfcf8;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:18px;font-weight:650;letter-spacing:-.5px}.brand-icon{background:var(--ink);border-radius:7px;color:#fff;display:grid;place-items:center;font:italic 22px Georgia,serif;width:31px;height:31px}.brand-separator{color:#b2bcb5;font-weight:300;margin:0 9px}.brand-page{font-size:13px;color:var(--muted);font-weight:400;letter-spacing:0}.local-status{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.local-status>span{width:6px;height:6px;background:var(--teal);border-radius:100%}.layout{display:grid;grid-template-columns:286px minmax(0,1fr);max-width:1680px;margin:auto}.sidebar{background:#fbfcf8;border-right:1px solid var(--line);padding:30px 24px;min-height:calc(100vh - 76px)}.side-heading p{color:var(--muted);font-size:12px;line-height:1.65;margin-top:9px}fieldset{border:0;padding:22px 0 2px;margin:22px 0 0;border-top:1px solid var(--line)}legend{padding:0;font-size:12px;font-weight:650;float:none;display:block;width:auto;margin-bottom:15px;padding-right:8px}legend span{color:#82958b;font-size:10px;margin-right:7px}label{font-size:11px;font-weight:550;display:flex;justify-content:space-between;gap:5px;margin:0 0 6px}label>span:not(.checkbox-label>span){color:var(--muted);font-weight:400}fieldset>input,.input-pair{margin-bottom:14px}.input-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkbox-label{justify-content:flex-start;align-items:flex-start;gap:8px;margin:0 0 16px;line-height:1.5}.checkbox-label input{margin:2px 0 0}.checkbox-label span{color:var(--ink);font-size:11px}.checkbox-label small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:4px}.field-note{font-size:10px;color:var(--muted);line-height:1.5;margin:-8px 0 14px}.advanced{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.advanced summary{font-size:12px;font-weight:600;margin-bottom:16px}.advanced input{margin-bottom:13px}.form-actions{margin-top:22px}.primary{width:100%;padding:13px 12px;border-radius:7px;background:var(--ink);color:white;display:flex;justify-content:space-between;font-size:12px;font-weight:550}.primary:hover{background:#254655}.reset{display:block;width:100%;background:none;font-size:11px;color:var(--muted);padding:14px}.reset:hover{color:var(--ink)}main{padding:38px 38px 22px;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.page-heading p{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.6}.export-button{background:#fff;border:1px solid var(--line);border-radius:7px;padding:11px 14px;font-size:11px;white-space:nowrap}.export-button span{margin-left:12px;font-size:16px}.scope-note{display:flex;gap:12px;padding:16px 18px;background:#edf0e8;border:1px solid #dde4d4;border-radius:9px;margin-top:26px}.note-symbol{font-family:Georgia,serif;border:1px solid #94a28d;border-radius:50%;display:grid;place-items:center;min-width:17px;height:17px;font-size:11px;color:#6b7e61;margin-top:1px}.scope-note strong{font-size:11px;font-weight:650}.scope-note p{font-size:11px;line-height:1.6;color:#62725e;margin-top:4px;max-width:850px}.guide{margin-top:18px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:9px}.guide h2{font-size:14px;margin-bottom:8px}.guide ol{margin:0;padding-left:18px;display:grid;gap:6px}.guide li{font-size:13px;line-height:1.5;color:var(--ink)}.everyday{margin-top:16px;padding:16px 18px;background:#fff8ee;border:1px solid #ead7b8;border-radius:9px;font-size:15px;line-height:1.55}.status{min-height:29px;padding:9px 0 0;color:var(--muted);font-size:11px}.status.dirty{color:#8a6220}.error{padding:13px 16px;border:1px solid #e6c8bc;background:#fff2ec;border-radius:8px;color:#8a3f25;font-size:12px;margin-top:15px;line-height:1.5}.comparison-toolbar{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:18px 0 22px}.comparison-toolbar .eyebrow{margin-bottom:5px}.comparison-toolbar h2{font-size:25px}.year-control{width:260px}.year-control label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:2px}.legend{display:flex;gap:16px;font-size:11px;white-space:nowrap}.legend span{display:flex;align-items:center;gap:7px}.legend i{height:8px;width:8px;display:inline-block;border-radius:50%}.baseline-dot{background:var(--blue)}.reform-dot{background:var(--reform)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:18px 17px;min-height:161px}.card-title{font-size:11px;color:var(--muted);font-weight:500;display:flex;align-items:center;justify-content:space-between}.card-title .ordinal{font-size:9px;color:#9ba9a1}.card-value{font-size:27px;letter-spacing:-1px;margin-top:14px;font-weight:600;white-space:nowrap}.card-value small{font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:4px}.card-baseline{font-size:10px;color:var(--muted);margin-top:6px}.card-difference{margin-top:17px;font-size:10px;border-top:1px solid #edf0eb;padding-top:10px;display:flex;justify-content:space-between;gap:8px}.delta-badge{background:#edf2ef;color:#385c4d;padding:2px 5px;border-radius:4px}.chart-panel,.table-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-top:22px;padding:23px 24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading .eyebrow{margin-bottom:7px}.metric-picker{display:block;color:var(--muted);font-size:10px;margin:0}.metric-picker select{display:block;max-width:230px;margin-top:5px;border:1px solid var(--line);border-radius:7px;padding:9px 30px 9px 10px;background:#fff;color:var(--ink);font-size:12px}.metric-description{font-size:11px;line-height:1.6;color:var(--muted);margin-top:12px}.chart{width:100%;margin-top:14px}.chart svg{width:100%;height:auto;display:block;touch-action:pan-y}.chart text{fill:var(--muted);font-family:inherit;font-size:11px}.chart-hint{font-size:10px;color:#829087;margin-top:5px;line-height:1.6}.unit-label{font-size:10px;color:var(--muted);text-align:right}.table-scroll{overflow-x:auto;margin-top:22px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12px;white-space:nowrap}th{color:var(--muted);font-size:10px;font-weight:500;text-align:right;border-bottom:1px solid var(--line);padding:0 0 13px 16px}th:first-child,td:first-child{text-align:left;padding-left:0}td{text-align:right;padding:13px 0 13px 16px;border-bottom:1px solid #edf0eb}td:first-child{font-weight:500}td:nth-child(3){color:var(--reform);font-weight:600}tr:last-child td{border-bottom:0}.table-note{font-size:10px;line-height:1.6;color:var(--muted);margin-top:14px}.initial-state{margin-top:24px;padding:20px 22px;border:1px solid var(--line);border-radius:10px}.initial-state summary{font-size:12px;font-weight:600}.initial-state p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:14px}.initial-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px}.initial-values span{font-size:10px;color:var(--muted)}.initial-values strong{display:block;font-size:15px;font-weight:500;margin-top:6px}footer{font-size:10px;color:#819087;line-height:1.6;margin-top:24px}
@media(min-width:1500px){main{padding-left:50px;padding-right:50px}.card-value{font-size:31px}}
@media(max-width:1150px){main{padding:28px 24px}.layout{grid-template-columns:260px minmax(0,1fr)}.sidebar{padding:28px 19px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-toolbar{flex-wrap:wrap;gap:18px}.legend{margin-left:auto}h1{font-size:29px}.page-heading{align-items:flex-start;flex-wrap:wrap}.year-control{width:200px}.card{min-height:155px}}
@media(max-width:720px){.topbar{height:64px;padding:0 18px}.brand-page,.brand-separator{display:none}.layout{display:flex;flex-direction:column}.sidebar{order:2;border-right:0;border-top:1px solid var(--line);min-height:0;padding:24px}main{padding:26px 18px}.page-heading h1{font-size:28px}.page-heading p{max-width:340px}.scope-note{padding:13px}.comparison-toolbar{gap:16px}.year-control{flex:1;min-width:150px}.legend{width:100%;margin-left:0}.chart-panel,.table-panel{padding:20px 16px}.panel-heading{align-items:flex-start;flex-wrap:wrap}.metric-picker{width:100%}.metric-picker select{max-width:none;width:100%}.cards{gap:10px}.card{padding:15px 13px}.card-value{font-size:25px}.initial-values{grid-template-columns:1fr 1fr}.unit-label{text-align:left}.sidebar form{max-width:500px;margin:auto}.side-heading{max-width:500px;margin:auto}.status{line-height:1.5;min-height:35px}.card-difference{font-size:9px}}

.table-scroll tbody th{font-size:12px;color:var(--ink);font-weight:500;padding:13px 0;border-bottom:1px solid #edf0eb}.table-scroll tbody tr:last-child th{border-bottom:0}
body.home main{max-width:980px;margin:0 auto;padding:48px 32px 64px}body.home h1{max-width:18em}.home-lead{margin-top:16px;font-size:18px;line-height:1.55;max-width:40rem}.home-block{margin-top:36px}.home-block h2{font-size:22px}.home-block h3{margin-top:22px;font-size:16px}.home-block p{margin-top:12px;font-size:15px;line-height:1.6;max-width:44rem}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.method-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 20px;text-decoration:none}.method-card .eyebrow{margin-bottom:8px}.method-card h3{margin:0;font-size:17px}.method-card p{margin-top:8px;font-size:13px;line-height:1.55;color:var(--muted);max-width:none}a.method-card:hover{border-color:#b7c4bc}.prose-table th,.prose-table td{text-align:left;white-space:normal;vertical-align:top;line-height:1.45}.prose-table td:nth-child(3){color:inherit;font-weight:400}.prose-table a{text-decoration:underline;text-underline-offset:2px}.source-list{margin:12px 0 0;padding-left:18px;display:grid;gap:8px}.source-list li{font-size:14px;line-height:1.5}.source-list span{font-variant-numeric:tabular-nums}
@media(max-width:720px){body.home main{padding:28px 18px 48px}.home-lead{font-size:16px}.method-grid{grid-template-columns:1fr}}
th:first-child,td:first-child{white-space:normal;max-width:28rem;line-height:1.4}.card-difference{flex-wrap:wrap;line-height:1.4}.metric-picker select{max-width:340px}

[hidden]{display:none!important}.auto-rate{font-size:11px;line-height:1.6;background:var(--soft);color:var(--teal);padding:10px;border-radius:6px;margin:0 0 15px}#manual-rate{margin-bottom:14px}.metric-picker>label{display:block;margin:0;color:var(--muted);font-size:10px;font-weight:400}.card{container-type:inline-size}.card-value{font-size:clamp(17px,13cqw,30px)}
.topbar{gap:16px}.topnav{display:flex;gap:6px;margin-right:auto;margin-left:24px}.topnav a{font-size:12px;text-decoration:none;padding:9px 12px;border-radius:6px;color:var(--muted)}.topnav a[aria-current=page]{background:var(--soft);color:var(--ink);font-weight:600}.topnav a:hover{background:#eff2ed}.rate-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:6px 8px;margin-bottom:14px}.rate-row label{grid-column:1/-1;border-left:3px solid var(--scenario-color);padding-left:7px}.remove-rate{border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--muted);font-size:19px;align-self:stretch}.add-scenario{width:100%;padding:11px;border:1px dashed #a7b9af;border-radius:7px;color:var(--teal);background:none;font-size:11px}.add-scenario:disabled,.remove-rate:disabled{cursor:not-allowed}.scenario-help{font-size:10px;color:var(--muted);line-height:1.7;margin-top:13px}.scenario-legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px}.baseline-label{font-size:11px;color:var(--blue);padding:7px 8px 7px 0}.scenario-chip{border:1px solid var(--line);border-left:3px solid var(--scenario-color);border-radius:6px;background:white;padding:7px 10px;color:var(--ink);font-size:11px}.scenario-chip[aria-pressed=true]{background:var(--soft);border-color:var(--scenario-color)}.palette-0{--scenario-color:#c45100}.palette-1{--scenario-color:#0d7d4d}.palette-2{--scenario-color:#6a3cb5}.palette-3{--scenario-color:#d12d6a}.palette-4{--scenario-color:#1f6e8c}.scenario-table td:nth-child(n){color:var(--ink);font-weight:400}.scenario-table td small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.scenario-chart{margin-top:12px}
@media(max-width:720px){.topbar{height:auto;min-height:64px;flex-wrap:wrap;padding:14px 18px;gap:12px}.topnav{order:3;width:100%;margin:0;gap:3px}.topnav a{padding:8px 10px;font-size:11px}.local-status{margin-left:auto}.scenario-legend{gap:6px}.scenario-chip{font-size:10px;padding:7px 8px}.baseline-label{font-size:10px}}

.account-gaps td:nth-child(3),.basket-taxes td:nth-child(3),.income-split td:nth-child(3),.wealth-stocks td:nth-child(3),.contribution-ceilings td:nth-child(3),.behavioral-ranges td:nth-child(3),.account-moments td:nth-child(3),.deferred-plan td:nth-child(3){color:inherit;font-weight:400;white-space:normal}
.sidebar select{width:100%;max-width:100%;font-size:12px;white-space:normal;padding:10px 6px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink)}
@media(max-width:720px){.topnav{flex-wrap:wrap}}

.projection-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:end;margin-top:20px}.projection-inputs .primary{height:42px;justify-content:center;align-items:center;padding:0 12px}@media(max-width:1000px){.projection-inputs{grid-template-columns:1fr 1fr}}@media(max-width:720px){.projection-inputs{grid-template-columns:1fr}}

@media(min-width:721px){
  body:has(.sidebar .primary){height:100dvh;overflow:hidden;display:flex;flex-direction:column}
  body:has(.sidebar .primary) .layout{flex:1 1 auto;min-height:0;width:100%;margin:0 auto}
  body:has(.sidebar .primary) .sidebar{align-self:stretch;height:auto;max-height:none;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:16px}
  body:has(.sidebar .primary) main{overflow:auto;min-width:0;min-height:0}
  body:has(.sidebar .primary) .side-heading{flex-shrink:0}
  body:has(.sidebar .primary) .sidebar form{flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;scroll-padding-bottom:12px;padding-right:12px;scrollbar-gutter:stable}
  #agent-run,.sidebar .form-actions{position:sticky;bottom:0;margin-top:auto;flex-shrink:0;z-index:2}
  .sidebar .form-actions{padding-top:10px;background:#fbfcf8}
}
@media(max-width:720px){
  #agent-run,.sidebar .form-actions{position:sticky;bottom:12px;z-index:2}
  .sidebar .form-actions{background:#fbfcf8}
}

.projection-inputs select{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;padding:10px;background:white;color:var(--ink);font-size:12px}
.dumbbell-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:22px;flex-wrap:wrap}.dumbbell-toolbar h3{font-size:16px;font-weight:600;letter-spacing:-.2px}.dumbbell-toolbar .metric-description{max-width:640px}.dumbbell-legend{margin:14px 0 0}.pin-list{display:flex;flex-wrap:wrap;gap:8px}.pin-list:empty{display:none}.pin-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;padding:6px 6px 6px 10px;font-size:11px;background:#fff;margin-top:10px}.pin-chip button{background:none;color:var(--muted);font-size:11px;padding:4px 6px}.pin-chip button:hover{color:var(--ink)}.dumbbell-scroll{max-height:520px;overflow:auto;margin-top:8px;border-top:1px solid var(--line)}.dumbbell-body{display:flex;gap:12px;width:max-content;min-width:100%;align-items:flex-start}.dumbbell-labels{flex:0 0 210px;width:210px;position:sticky;left:0;z-index:1;background:#fff;padding-top:46px;align-self:flex-start}.dumbbell-axis-spacer{height:36px}.dumbbell-plot{display:flex;flex-direction:column;flex:0 0 auto;width:max-content}.dumbbell-caption{width:0;min-width:100%;height:46px;overflow:hidden}.dumbbell-caption strong{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dumbbell-caption span{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dumbbell-group,.dumbbell-name{display:flex;align-items:center;padding-right:8px;box-sizing:border-box;flex-shrink:0}.dumbbell-group{height:28px;color:var(--muted);font-size:10px;font-weight:700;background:#f3f5f1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dumbbell-name{height:20px;color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums}.dumbbell-name.is-gain{box-shadow:inset 3px 0 #c45100}.dumbbell-name.is-loss{box-shadow:inset 3px 0 #0057b8}.dumbbell-name.is-both{box-shadow:inset 3px 0 #c45100, inset 6px 0 #0057b8}#cash-extremes{margin-top:14px}.extreme-scroll{margin-top:8px}.extreme-table th,.extreme-table td{text-align:left;white-space:normal;vertical-align:top}.extreme-gain,.extreme-loss,.extreme-none{margin:0;font-size:12px;line-height:1.45}.extreme-loss{margin-top:2px}.extreme-gain{color:#c45100;font-weight:600}.extreme-loss{color:#0057b8;font-weight:600}.extreme-none{color:var(--muted);font-weight:400}
.label-row{display:flex;align-items:flex-start;gap:6px;margin:0 0 6px}.label-row>label{flex:1 1 auto;margin:0}.help-tip{flex:0 0 16px;width:16px;height:16px;margin-top:1px;border:1px solid #a7b9af;border-radius:50%;background:#fff;color:var(--teal);font-size:11px;font-weight:700;line-height:14px;padding:0}.help-tip:hover,.help-tip[aria-expanded=true]{background:var(--soft)}.help-bubble{display:none;position:fixed;inset:unset;top:attr(data-top px, 0px);left:attr(data-left px, 0px);width:attr(data-width px, 260px);max-height:min(320px, calc(100vh - 16px));overflow:auto;margin:0;padding:8px 10px;border:0;background:#172d37;color:#fff;border-radius:7px;font:inherit;font-size:11px;font-weight:400;line-height:1.5}.help-bubble:popover-open{display:block}.rate-row .label-row{grid-column:1/-1;margin:0}.dumbbell-plots{display:flex;gap:12px}.dumbbell-plots svg{display:block}.dumbbell-plots text{fill:var(--muted);font-family:inherit;font-size:11px}.dumbbell-plots .hit{fill:transparent}.dumbbell-plots g:hover .hit{fill:#f4f7f5}
@media(max-width:1100px){.topbar{height:auto;min-height:76px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.topnav{flex-wrap:wrap}}
