/*! Copyright 2026 Appzey. All rights reserved. */
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080b0f;--panel:#0d1218;--surface-raised:#111821;--muted:#9aa8b6;--text:#eef3f7;--accent:#6dd6c8;--accent-2:#6dd6c8;--accent-strong:#91e7dc;--accent-hover:#b9f3ec;--accent-ink:#062522;--danger:#ef6a6a;--danger-strong:#ff8a8a;--danger-bg:#2b171b;--danger-hover-bg:#3a1d22;--border:#27313d;--border-strong:#3a4857;--interactive-hover:#17212c;--focus:#f4d06f;--group-blue:#0b1b2d;--table-header-bg:#262a31;--table-header-text:#f4d06f;--table-row-blue:#0c2033;--table-row-green:#142a20;--table-row-label:#c8c8c8;--calculated-bg:#242a31;--header-background:#0a0e13;--accent-rgb:109 214 200;--danger-rgb:239 106 106;--alert:#f87171;--warning:#c89600;--tab-hover:#e6eef2;--tab-hover-ink:#27313d;--calculated-border:#9ca3af;--allocation-stocks:#2563eb;--allocation-bonds:#facc15;--allocation-cash:#22c55e;--allocation-swatch-border:#000;--chart-background:#0b1220;--chart-grid:#1f2937;--chart-label:#9ca3af;--chart-border:#374151;--chart-hover-line:#e5e7eb;--chart-band-rgb:52 211 153;--chart-net-worth:#38bdf8;--chart-stocks:#a78bfa;--chart-cash-bonds:#22c55e;--chart-spending:#f97316;--chart-taxable-income:#facc15;--danger-message:#ef4444;--content-width:70rem}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f4f0;--panel:#e6edf6;--surface-raised:#dae4f1;--muted:#3b4753;--text:#0a0c0f;--accent:#00786c;--accent-2:#00786c;--accent-strong:#006b60;--accent-hover:#007e72;--accent-ink:#fff;--danger:#940c20;--danger-strong:#740017;--danger-bg:#eccfd4;--danger-hover-bg:#e7bfc4;--border:#b6c2d1;--border-strong:#97a7b9;--interactive-hover:#cbd8e7;--focus:#865f00;--group-blue:#cee3fc;--table-header-bg:#c3c9d2;--table-header-text:#704d00;--table-row-blue:#c4ddf7;--table-row-green:#bcd6c8;--table-row-label:#2a2a2a;--calculated-bg:#c2cad3;--header-background:#f1f5fa;--accent-rgb:0 120 108;--danger-rgb:148 12 32;--alert:#8b001b;--warning:#916800;--tab-hover:#0d1014;--tab-hover-ink:#b6c2d1;--calculated-border:#434953;--allocation-stocks:#176ee8;--allocation-bonds:#b97800;--allocation-cash:#07854c;--allocation-swatch-border:#c4c4c4;--chart-background:#e3edff;--chart-grid:#bfccdf;--chart-label:#434953;--chart-border:#a1adc0;--chart-hover-line:#121416;--chart-band-rgb:0 64 42;--chart-net-worth:#006fa8;--chart-stocks:#7546d8;--chart-cash-bonds:#07854c;--chart-spending:#c65300;--chart-taxable-income:#8a6700;--danger-message:#ac0018}*{box-sizing:border-box}html{scrollbar-gutter:stable;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{height:100%}body{background:var(--bg);color:var(--text);flex-direction:column;margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica Neue,Arial;display:flex}.app-header{z-index:30;border-bottom:1px solid var(--border);background:var(--header-background);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.app-header__inner,.planner-toolbar,.sim-toolbar,main,.app-footer{width:min(calc(100% - 3rem), var(--content-width));margin-inline:auto}.app-header__inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.25rem;display:flex}.app-header__identity,.topbar,.current-plan{align-items:center;display:flex}.app-header__identity{flex:auto;gap:1rem;min-width:0}.back-link{border:1px solid var(--border-strong);background:var(--surface-raised);min-height:2.35rem;color:var(--accent-strong);border-radius:.35rem;flex:none;align-items:center;gap:.45rem;padding:.38rem .55rem;font-size:.82rem;font-weight:700;text-decoration:none;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s;display:inline-flex}.back-link:hover{border-color:var(--accent);background:var(--interactive-hover);box-shadow:0 0 0 2px rgb(var(--accent-rgb) / 24%);color:var(--accent-hover)}.app-title{border-left:1px solid var(--border);grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);column-gap:.5rem;min-width:0;padding-left:1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif;line-height:1.25;display:grid}.app-title__brand{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.884rem;font-weight:750}.app-title__name{color:var(--focus);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:1.274rem;font-weight:700;overflow:hidden}.app-title__icon-frame{aspect-ratio:1;grid-row:1/-1;align-self:stretch;position:relative}.app-title__icon{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.app-title__description{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);grid-column:2;font-size:.91rem;overflow:hidden}.topbar{flex:none;gap:.65rem}.plan-bar{min-width:0;max-width:50%;color:var(--muted);text-align:right;flex-direction:column;flex:0 auto;align-items:flex-end;gap:.1rem;margin-left:auto;font-size:.76rem;display:flex}.current-plan{justify-content:flex-end;align-items:baseline;gap:.5rem;min-width:0;max-width:100%}.current-plan strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.draft-status{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.draft-status[data-kind=success]{color:var(--accent-strong);font-weight:700}.draft-status[data-kind=cancelled],.draft-status[data-kind=pending]{color:var(--muted)}.draft-status[data-kind=error]{color:var(--danger-strong)}main{flex:1;padding-block:0 4.5rem}button{background:var(--accent);min-height:2.5rem;color:var(--accent-ink);border:1px solid var(--accent);cursor:pointer;border-radius:.45rem;padding:.55rem .85rem;font-weight:700;transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 0 0 2px rgb(var(--accent-rgb) / 24%)}button.secondary,button.tertiary{background:var(--surface-raised);border-color:var(--border-strong);color:var(--text)}button.secondary:hover:not(:disabled),button.tertiary:hover:not(:disabled){background:var(--interactive-hover);border-color:var(--accent);color:var(--accent-hover)}button.tertiary{min-height:1.8rem;padding:.25rem .55rem;font-size:.72rem}button.danger{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-hover-bg);border-color:var(--danger-strong);box-shadow:0 0 0 2px rgb(var(--danger-rgb) / 22%);color:var(--danger-strong)}button:active:not(:disabled):not(.tab-btn){box-shadow:inset 0 2px 4px #00000059}button:disabled{border-color:var(--border);background:var(--bg);box-shadow:none;color:var(--muted);cursor:not-allowed;opacity:.7}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.planner-toolbar{border-block:1px solid var(--border);background:var(--bg);display:grid}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.5rem;padding-block:.35rem}.topbar button{justify-content:center;align-items:center;gap:5px;min-height:30px;padding:5px 7px;font-size:.8rem;display:inline-flex}.toolbar-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1rem;height:1rem}.topbar button:not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.topbar button:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover);color:var(--accent-ink)}.topbar .simulation-stale-warning{min-width:0;color:var(--alert);pointer-events:none;text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:auto;margin-left:.25rem;font-size:.86rem;font-weight:700;line-height:1.5;overflow:hidden}.tabs{scrollbar-width:thin;flex-wrap:nowrap;gap:.5rem;min-width:0;padding-block:.45rem;display:flex;overflow-x:auto}.tab-btn{background:var(--surface-raised);min-height:2.25rem;color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:999px;flex:none;padding:.4rem .8rem}.tab-btn.active{border-color:var(--warning);background:var(--warning);color:var(--bg)}.tab-btn:hover:not(:disabled):not(.active){background:var(--tab-hover);border-color:var(--tab-hover);box-shadow:none;color:var(--tab-hover-ink)}.tab-btn.active:hover:not(:disabled){background:var(--warning);border-color:var(--warning);box-shadow:none;color:var(--bg)}.content{flex:1;min-height:0}.panel{min-height:30rem;padding:1.25rem 0 0;display:none}.panel.active{display:block}.card{background:var(--panel);border:1px solid var(--border);border-radius:.7rem;margin-bottom:1rem;padding:1rem;box-shadow:0 1rem 2.5rem #00000024}.row{grid-template-columns:repeat(2,minmax(260px,1fr));gap:10px;display:grid}.row>.centered-field{grid-column:1/-1;justify-self:center}.row3{grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px;display:grid}.field{grid-template-columns:minmax(170px,190px) minmax(120px,220px);align-items:center;gap:10px;max-width:430px;margin:8px 0;display:grid}.field>label{text-align:right;padding-right:4px;display:block}.field>.label-with-note{flex-direction:column;justify-content:center;gap:2px;display:flex}.field-control-with-note{grid-column:2;gap:4px;width:100%;max-width:220px;display:grid}.field-control-with-note>select{max-width:none}.qualified-dividends-field .label-with-note{text-align:right;align-items:flex-end;padding-right:4px}.contribution-field{grid-template-columns:minmax(170px,190px) minmax(360px,1fr);max-width:760px}.contribution-input-row{grid-column:2;align-items:center;gap:10px;min-width:0;display:flex}.contribution-input-row input{flex:0 0 220px}.limit-warning{color:var(--alert);font-size:.86rem;font-weight:700;line-height:1.25}.retirement-prose-note{color:var(--muted);-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;max-width:100%;margin-block:1em;font-size:12px;line-height:1.35}.retirement-ruleset-status{margin:4px 0 12px}[hidden]{display:none!important}.ira-controls,.retirement-contribution-controls{background:var(--group-blue);border:1px solid var(--border);border-radius:10px;max-width:780px;margin:16px 0;padding:8px 12px 12px}.ira-controls legend,.retirement-contribution-controls legend{color:var(--accent-strong);padding:0 6px;font-weight:700}.adult-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.adult-columns.single-person{grid-template-columns:minmax(0,1fr)}.person-section{background:var(--group-blue);border:1px solid var(--border);border-radius:10px;min-width:0;margin:0;padding:10px 12px 12px}.person-section>legend{color:var(--accent-strong);padding:0 6px;font-size:1.05rem;font-weight:700}.adult-columns>.ira-controls,.adult-columns>.retirement-contribution-controls{max-width:none;margin:0}.adult-columns .field,.adult-columns .contribution-field{grid-template-columns:minmax(150px,190px) minmax(0,1fr);max-width:none}.adult-columns .contribution-input-row{flex-wrap:wrap}.adult-columns .contribution-input-row input{flex:160px;min-width:140px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.premium-row .field{align-items:start}.premium-row .field>label{padding-top:7px}.premium-row .field>input,.premium-row .field>div{align-self:start}.account-balance{grid-template-columns:minmax(170px,190px) minmax(120px,220px);align-items:center;gap:10px;margin-bottom:8px;display:grid}#panel-assets input[readonly]{color:var(--accent-strong)}.account-balance label{text-align:right;justify-self:end;padding-right:0}.account-balance input{width:180px;max-width:260px}.account-alloc{gap:10px;display:grid}.account-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.account-values .field{max-width:none;margin:0}.account-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.account-columns .child-card{border:1px dotted var(--border-strong);text-align:center;border-radius:10px;padding:16px 12px 10px}.account-columns .child-card h5{text-align:center;margin:0 0 12px;font-size:1rem}.account-columns .field{text-align:center;grid-template-columns:1fr;justify-items:center;gap:6px;margin:0 0 16px;display:grid}.account-columns .field:last-child{margin-bottom:0}.centered-field{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;margin:0 0 16px;display:flex}.centered-field>label{text-align:center;width:100%;padding-bottom:6px;display:block}.centered-field>input,.centered-field>select{text-align:center;width:100%;max-width:260px}.account-columns .field>label{width:100%;text-align:center!important;justify-self:center!important;padding-right:0!important}.account-columns .field>input{text-align:center;width:100%;max-width:260px;grid-column:auto!important}.field>input,.field>select{grid-column:2;align-self:center}input[type=number],input[type=text],select{background:var(--bg);width:100%;max-width:220px;color:var(--text);border:1px solid var(--border-strong);border-radius:.45rem;padding:8px 10px}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=range]{width:100%;accent-color:var(--accent-2);margin-top:6px}.slider-values{color:var(--text);justify-content:space-between;gap:12px;margin-top:8px;font-size:.95rem;display:flex}input[type=checkbox]{transform:scale(1.2)}.inline{align-items:center;gap:8px;display:inline-flex}.choice-list{gap:10px;max-width:760px;display:grid}.choice-row{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.choice-row input{margin-top:2px}.choice-row strong,.choice-row small{display:block}.choice-row small{color:var(--muted);margin-top:3px;font-size:12px}.ss-tax-field{grid-template-columns:minmax(170px,190px) minmax(420px,1fr);max-width:760px}.ss-tax-controls{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.ss-tax-controls .inline{flex-wrap:nowrap}.ss-fixed-tax input[type=number]{width:80px;min-width:80px;max-width:80px}.ss-fixed-tax label,.ss-tax-controls label{white-space:nowrap}.muted{color:var(--muted)}.child-card{background:var(--surface-raised);border:1px dotted var(--border-strong);border-radius:10px;margin-top:8px;padding:8px}#panel-biographical>.card{background:var(--surface-raised)}#panel-biographical .child-card{background:var(--group-blue)}.bio-card{padding:12px}.bio-card h5,#childrenList .child-card h5,#panel-income .card>h4,#panel-social .card>h4,#panel-taxes .card>h4{text-align:left;color:var(--accent-strong);margin:0 0 12px;font-size:1.2rem}#panel-income .row,#panel-social .row,#panel-inflation .row3{display:block}.payroll-assumptions{font-variant-numeric:tabular-nums;grid-template-columns:minmax(180px,280px) max-content;gap:.45rem .55rem;margin:0;display:grid}.payroll-assumptions>div{display:contents}.payroll-assumptions dt{text-align:right}.payroll-assumptions dd{color:var(--accent-strong);text-align:left;margin:0;font-weight:700}#panel-social .label-with-note{text-align:right;justify-self:end;padding-right:4px}#panel-income .label-with-note{text-align:right;justify-self:end;align-items:flex-end;padding-right:4px}.aca-subsidy-controls{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;display:flex}.aca-subsidy-controls>input[type=number]{width:140px;max-width:140px}.aca-subsidy-controls .inline input[type=number]{width:72px;max-width:72px}.healthcare-table-wrap{border:1px solid var(--border);border-radius:10px;margin-bottom:8px;position:relative;overflow-x:auto}.healthcare-table{border-collapse:collapse;width:100%;min-width:720px}.healthcare-table th,.healthcare-table td{text-align:right;vertical-align:middle;padding:8px}.healthcare-table th:first-child,.healthcare-table td:first-child{text-align:right;width:150px;min-width:150px}.healthcare-table thead th,.assets-table thead th{color:var(--table-header-text);background:var(--table-header-bg);font-size:16px;font-weight:700}.healthcare-table tbody tr:nth-child(odd) th,.healthcare-table tbody tr:nth-child(odd) td,.assets-table tbody tr:nth-child(odd) th,.assets-table tbody tr:nth-child(odd) td{background:var(--table-row-blue)}.healthcare-table tbody tr:nth-child(2n) th,.healthcare-table tbody tr:nth-child(2n) td,.assets-table tbody tr:nth-child(2n) th,.assets-table tbody tr:nth-child(2n) td{background:var(--table-row-green)}.healthcare-table tbody th[scope=row],.healthcare-table tfoot th[scope=row],.assets-table tbody th[scope=row]{color:var(--table-row-label)}.healthcare-table input[type=number]{text-align:right;width:100%;min-width:120px;max-width:none}.healthcare-table .calc-cell input[readonly]{text-align:right;width:100%;min-width:120px;max-width:none;color:var(--accent-strong);background:var(--calculated-bg);border:1px dotted var(--calculated-border)}.children-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.children-toolbar h4{color:var(--accent-strong);margin:0;font-size:1.2rem}.children-toolbar .inline{flex-wrap:wrap;justify-content:flex-end}.children-table-wrap{border:1px solid var(--border);border-radius:10px;margin-bottom:8px;position:relative;overflow-x:auto}.children-table{border-collapse:collapse;width:100%;min-width:860px}.children-table th,.children-table td{text-align:right;vertical-align:middle;padding:8px}.children-table thead th{color:var(--table-header-text);background:var(--table-header-bg);font-size:16px;font-weight:700}.children-table tbody tr:nth-child(odd) th,.children-table tbody tr:nth-child(odd) td{background:var(--table-row-blue)}.children-table tbody tr:nth-child(2n) th,.children-table tbody tr:nth-child(2n) td{background:var(--table-row-green)}.children-table tbody th[scope=row]{min-width:90px;color:var(--table-row-label);white-space:nowrap}.children-table input[type=number]{text-align:right;width:100%;min-width:110px;max-width:none}.children-table th:nth-child(4),.children-table td:nth-child(4){min-width:180px}.children-table th:nth-child(5),.children-table td:nth-child(5){min-width:175px}.children-table .child-action-cell{white-space:nowrap;width:1%}.debt-payments-table{min-width:640px}.debt-payments-table select,.debt-payments-table input[type=number]{text-align:right;width:100%;min-width:140px;max-width:none}.debt-payments-table select{text-align:left}.debt-payments-table th:nth-child(4),.debt-payments-table td:nth-child(4){white-space:nowrap;width:1%;min-width:0}.debt-payments-note{margin-top:8px}.note{color:var(--muted);font-size:12px}#panel-spending .card>h4,#panel-inflation .card>h4{text-align:left;color:var(--accent-strong);margin:0 0 12px;font-size:1.2rem}#panel-assets .card>h4{text-align:center;margin:0 0 12px;font-size:1.2rem}.assets-table-wrap{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;position:relative;overflow-x:auto}.assets-table{border-collapse:collapse;width:100%;min-width:960px}.assets-table th,.assets-table td{vertical-align:middle;text-align:right;border-bottom:0;padding:8px}.assets-table th:first-child,.assets-table td:first-child{text-align:right}.assets-table th:nth-child(5),.assets-table td:nth-child(5){min-width:88px}.assets-table input[type=number],.assets-table input[type=text]{text-align:right;width:100%;min-width:110px;max-width:none;padding:7px 8px}.assets-table input[readonly]{color:var(--accent-strong);background:var(--calculated-bg);border:1px dotted var(--calculated-border)}#panel-assets,#panel-taxes{-moz-text-size-adjust:100%;text-size-adjust:100%}.ira-basis-help{width:100%;max-width:100%;color:var(--muted);margin:0 0 1rem}button.ira-basis-help__toggle{min-height:0;color:var(--accent-strong);cursor:pointer;text-align:left;-moz-text-size-adjust:100%;text-size-adjust:100%;background:0 0;border:0;align-items:center;gap:.45em;padding:0;font-family:inherit;font-size:12px;font-weight:700;line-height:1.35;display:inline-flex}button.ira-basis-help__toggle:before{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:.45em;height:.45em;transform:rotate(-45deg)}button.ira-basis-help__toggle[aria-expanded=true]:before{transform:rotate(45deg)}button.ira-basis-help__toggle:hover:not(:disabled),button.ira-basis-help__toggle:active:not(:disabled){box-shadow:none;color:var(--accent-hover);background:0 0;border-color:#0000}.ira-basis-help__content{margin:.5rem 0 0}.ira-basis-help__content>div+div{margin-top:.5rem}.asset-policy-card h5{color:var(--accent-strong);margin:0 0 12px;font-size:1.25rem}.asset-summary-grid{grid-template-columns:minmax(280px,.7fr) minmax(520px,1.3fr);align-items:stretch;gap:12px;display:grid}.asset-summary-grid>.card{height:100%;margin:0}.asset-policy-field>label{max-width:190px;line-height:1.3}.asset-policy-card .label-with-note{text-align:right;justify-self:end;align-items:flex-end;padding-right:4px}.asset-policy-field>input[type=checkbox]{grid-column:2;justify-self:start}.cash-row th,.cash-row td{background:var(--table-row-blue)}.taxable-row th,.taxable-row td{vertical-align:top}.taxable-row td:not(.basis-cell){padding-top:24px}.cash-row input{max-width:240px}.pct-out{color:var(--accent-strong);min-width:72px;font-weight:700}.basis-cell{text-align:left;grid-template-columns:repeat(3,minmax(130px,1fr));gap:8px;min-width:430px;display:grid}.basis-cell label{gap:3px;display:grid}.basis-cell span{color:var(--muted);font-size:11px;font-weight:700}.basis-cell .basis-check{grid-column:1/-1;align-items:center;gap:8px;display:flex}.basis-cell .basis-check input{width:auto;min-width:0}.allocation-summary{width:100%;max-width:100%}.allocation-summary h5{text-align:left;color:var(--accent-strong);margin:0 0 8px;font-size:1.25rem}.allocation-details{align-self:start;min-width:0}.allocation-total{gap:6px;margin-bottom:16px;font-size:1.05rem;font-weight:700;display:grid}.allocation-total input{width:180px;max-width:180px;color:var(--accent-strong);background:var(--calculated-bg);border:1px dotted var(--calculated-border);text-align:right;font-size:1.05rem;font-weight:700}.allocation-chart-box{grid-template-columns:minmax(180px,.75fr) minmax(280px,1.25fr);align-items:center;gap:20px;width:100%;margin:0 auto;display:grid}.allocation-donut{aspect-ratio:1;justify-self:center;width:min(320px,100%);display:block}.allocation-donut-bg,.allocation-donut-arc{fill:none;stroke-width:20px;transform-origin:60px 60px;transform:rotate(-90deg)}.allocation-donut-bg{stroke:var(--surface-raised)}.allocation-donut-arc{stroke-dasharray:0 100;stroke-linecap:butt}#allocationStocksArc{stroke:var(--allocation-stocks)}#allocationBondsArc{stroke:var(--allocation-bonds)}#allocationCashArc{stroke:var(--allocation-cash)}.allocation-legend{gap:6px;width:min(220px,100%);display:grid}.allocation-legend-row{color:var(--text);grid-template-columns:12px 1fr auto;align-items:center;gap:8px;display:grid}.allocation-legend-row strong{color:var(--accent-strong);font-variant-numeric:tabular-nums}.allocation-swatch{border:1px solid var(--allocation-swatch-border);width:12px;height:12px;display:inline-block}.allocation-swatch-stocks{background:var(--allocation-stocks)}.allocation-swatch-bonds{background:var(--allocation-bonds)}.allocation-swatch-cash{background:var(--allocation-cash)}.sim-wrap{grid-template-rows:auto;display:grid}.sim-toolbar{border-top:1px solid var(--border);gap:5px;padding-block:.45rem .55rem;display:grid}.sim-controls{--sim-field-height:2.1875rem;grid-template-columns:max-content max-content minmax(150px,220px) minmax(140px,1fr);align-items:center;gap:12px;display:grid}.sim-control{white-space:nowrap;align-items:center;gap:.4rem;font-weight:700;display:flex}.sim-control input{max-width:none}#horizon{width:4.5rem}#runs{width:6rem}.sim-control input,.sim-controls>button{height:var(--sim-field-height);min-height:var(--sim-field-height)}.sim-controls>button{width:100%}.stat{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:6px 9px}.success-stat{flex-flow:wrap;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.success-range{min-width:0;max-width:100%;color:var(--muted);overflow-wrap:anywhere;white-space:normal;font-size:.78rem}.progress{background:var(--surface-raised);border:1px solid var(--border);border-radius:999px;height:5px;overflow:hidden}.progress>div{background:var(--accent);width:0%;height:100%}.simulation-messages{padding:6px 2px}.chart-card{height:auto;min-height:0;display:block;container:retirement-chart/inline-size}.chart-canvas-frame{height:clamp(280px,52vh,620px);min-height:0}@supports (height:1dvh){.chart-canvas-frame{height:clamp(280px,52dvh,620px)}}.chart-canvas-frame canvas{background:var(--surface-raised);border:1px solid var(--border);cursor:crosshair;border-radius:12px;width:100%;height:100%;min-height:0;display:block}.chart-legend{color:var(--text);font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;margin-top:10px;display:grid}.chart-legend-status{gap:6px;min-width:0;display:grid}.chart-legend-actions{justify-content:flex-end;display:flex}.chart-output-control{justify-items:end;gap:2px;display:grid}button.chart-output-button{min-height:1.8rem;padding:.25rem .55rem;font-size:.72rem}.chart-output-hint{color:var(--muted);white-space:nowrap;font-size:.68rem;line-height:1.1}.chart-legend-row{grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:clamp(8px,2cqi,16px);display:grid}.chart-legend-header{color:var(--chart-label);text-transform:uppercase;max-width:520px;font-size:12px}.chart-band-swatch{border:1px solid rgb(var(--chart-band-rgb) / 65%);background:rgb(var(--chart-band-rgb) / 25%);width:22px;height:10px}.chart-legend-rows{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));align-items:start;gap:4px clamp(16px,4cqi,42px);display:grid}.chart-legend-group{gap:4px;min-width:0;display:grid}.chart-legend-row{min-width:0;padding:3px 0}.chart-legend-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;display:inline-flex;overflow:hidden}.chart-legend-swatch{border-top:3px solid;flex:none;width:18px;height:0}.chart-legend-value{color:var(--accent-strong);text-align:right;min-width:7.5rem}@container retirement-chart (width<=36rem){.chart-legend{grid-template-columns:minmax(0,1fr);gap:8px}.chart-legend-actions{justify-content:flex-start}.chart-output-control{justify-items:start}}.app-footer{border-top:1px solid var(--border);color:var(--muted);padding-block:1.25rem;font-size:calc(.76rem + 1pt)}.app-footer p{max-width:48rem;margin:0}.app-footer__privacy{color:var(--accent-strong);margin-top:.2rem}input[type=checkbox]{accent-color:var(--accent)}@media (max-width:900px){.app-header__inner{gap:.65rem 1rem;padding-block:.75rem}.plan-bar{max-width:45%}.app-title__description{white-space:normal}.adult-columns,.row,.row3{grid-template-columns:1fr}.field{max-width:520px}.asset-summary-grid{grid-template-columns:1fr}}@media (max-width:700px){.chart-canvas-frame{height:clamp(230px,42vh,420px)}@supports (height:1svh){.chart-canvas-frame{height:clamp(230px,42svh,420px)}}.app-header__inner,.planner-toolbar,.sim-toolbar,main,.app-footer{width:min(calc(100% - 2rem), var(--content-width))}.allocation-chart-box{grid-template-columns:1fr;justify-items:center;gap:12px}.allocation-details{width:min(280px,100%)}.allocation-details h5{text-align:center}.allocation-donut{width:min(240px,100%)}.chart-legend{grid-template-columns:minmax(0,1fr);gap:8px}.chart-legend-actions{justify-content:flex-start}.chart-output-control{justify-items:start}.field,.account-balance{grid-template-columns:minmax(150px,170px) minmax(120px,1fr);max-width:none}.ss-tax-field{grid-template-columns:1fr}.ss-tax-field>label{text-align:left;justify-self:start}}@media (max-width:560px){.app-header__inner{flex-wrap:wrap}.app-header__identity{flex-basis:100%}.plan-bar{width:100%;max-width:none}.panel{min-height:0}.app-title__brand{display:none}.app-title{padding-left:.75rem}.app-title__name{text-overflow:clip;white-space:normal;font-size:1.144rem;line-height:1.15;overflow:visible}.app-title__description{font-size:.858rem}main{padding-top:.75rem}.card{padding:10px}.adult-columns .field,.adult-columns .contribution-field{grid-template-columns:1fr}.adult-columns .field>input,.adult-columns .field>select,.adult-columns .contribution-input-row{grid-column:1}#panel-social .adult-columns .label-with-note,#panel-income .adult-columns .label-with-note{text-align:left;justify-self:start;align-items:flex-start;padding-right:0}.children-toolbar{flex-direction:column;align-items:flex-start}.children-toolbar .inline{justify-content:flex-start}.field,.account-balance{grid-template-columns:1fr;gap:4px;max-width:none}.field>label,.account-balance label{text-align:left;justify-self:start;padding-right:0}.asset-policy-card .field>label,.asset-policy-card .label-with-note{text-align:right;justify-self:end;padding-right:4px}.field>input,.field>select{grid-column:1}.field-control-with-note{grid-column:1;max-width:none}.asset-policy-field>input[type=checkbox]{grid-column:1}.sim-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-assumptions{grid-template-columns:minmax(0,1fr) max-content}.payroll-assumptions dt{text-align:left}.contribution-input-row{flex-direction:column;grid-column:1;align-items:flex-start;width:100%}.contribution-input-row input{flex-basis:auto;max-width:none}.retirement-ruleset-status{margin-left:0}input[type=number],input[type=text],select{max-width:none}.inline,.ss-tax-controls .inline{flex-wrap:wrap}.ss-fixed-tax label,.ss-tax-controls label{white-space:normal}}@media (max-height:30rem) and (max-width:64rem){.chart-canvas-frame{height:clamp(230px,42vh,420px)}@supports (height:1svh){.chart-canvas-frame{height:clamp(230px,42svh,420px)}}}@media (prefers-reduced-motion:reduce){button,.back-link{transition:none}}