@import"https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;600;800&display=swap";.money-chart{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.money-chart-head{display:flex;flex-direction:column;align-items:stretch;gap:1rem}.money-chart-head .breakdown-title{margin:0}.money-chart-head .presets{margin-top:0}.chart-view-tabs{display:flex;margin:-1rem -1rem 0;border-bottom:1px solid var(--border);border-radius:7px 7px 0 0;overflow:hidden}.chart-view-tabs button{flex:1;font:inherit;font-size:.875rem;font-weight:600;border:0;padding:.75rem 1rem;background:transparent;color:var(--civic);cursor:pointer}.chart-view-tabs button+button{border-left:1px solid var(--border)}.chart-view-tabs button:hover{background:var(--soft)}.chart-view-tabs button[aria-selected=true]{background:var(--civic);color:var(--surface)}.chart-view-tabs button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.chart-table-panel{min-height:240px;margin-top:1rem}.chart-table-panel>.breakdown{border:0;padding:0;margin:0}.chart-table-panel .breakdown-scroll{overflow-x:auto}.chart-table-panel:focus-visible{outline:3px solid var(--civic);outline-offset:2px}.chart-table-panel thead{position:sticky;top:0;background:var(--surface)}.money-chart>.hint{margin:.5rem 0 .75rem}.chart-legend{display:flex;flex-wrap:wrap;gap:.25rem 1rem;list-style:none;margin:0 0 .5rem;padding:0;font-size:.875rem;color:var(--muted)}.chart-legend li{display:flex;align-items:center;gap:.375rem}.line-key{display:inline-block;flex:none;width:1rem;height:2px;border-radius:1px}.chart-wrap{position:relative}.chart-empty{min-height:240px;display:flex;align-items:center;color:var(--muted);font-size:.9375rem}.chart-wrap svg{display:block;max-width:100%;touch-action:pan-y}.chart-wrap svg:focus-visible{outline:3px solid var(--civic);outline-offset:2px}.chart-grid{stroke:#9cd5ff;stroke-width:1}.chart-axis{fill:#355872;font-size:11px;font-variant-numeric:tabular-nums}.chart-marker{stroke:#355872;stroke-width:1;stroke-dasharray:4 3}.chart-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-dot{stroke:#fff;stroke-width:2}.chart-crosshair{stroke:#355872;stroke-width:1}.chart-end-label{fill:#355872;font-size:12px}.chart-tooltip{position:absolute;top:.5rem;display:grid;gap:.25rem;min-width:11rem;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 14px #3558721f;font-size:.8125rem;pointer-events:none}.chart-tooltip p{margin:0}.chart-tooltip-head{color:var(--muted)}.chart-tooltip-row{display:flex;align-items:center;gap:.5rem}.chart-tooltip-row strong{font-variant-numeric:tabular-nums;color:var(--ink)}.chart-tooltip-row span:last-child{color:var(--muted)}.calc-header{text-align:center;border-bottom:1px solid var(--border);padding-bottom:1.5rem;margin-bottom:2rem}.header-intro{min-width:0}.calc-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.2;margin:0 0 .75rem}.calc-header p{max-width:44rem;margin:0 auto;color:var(--muted)}.storage-info{position:relative;display:inline-flex}.info-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--civic);cursor:pointer}.info-button:hover{background:var(--soft)}.info-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.storage-tooltip{position:absolute;bottom:100%;right:0;width:min(18rem,calc(100vw - 3rem));box-sizing:border-box;padding:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 14px #3558721f;color:var(--ink);font-size:.8125rem;line-height:1.5;z-index:2}@media(max-width:40rem){.storage-tooltip{right:auto;left:-7rem}}.calc-footer{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:start;gap:1.5rem;border-top:1px solid var(--border);margin-top:2rem;padding:1.25rem 0 2rem}.calc-footer p{max-width:60rem;margin:0;font-size:.8125rem;color:var(--muted)}.saved-data-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.25rem .5rem}.saved-data-controls>.hint{flex-basis:100%}.saved-data-controls .link-button{flex:none;margin-top:0}@media(max-width:40rem){.calc-footer{grid-template-columns:minmax(0,1fr);gap:1rem}.saved-data-controls{justify-content:flex-start}}body{margin:0;background:#f7f8f0}.calc{--ink: #355872;--muted: #355872;--paper: #f7f8f0;--surface: #ffffff;--civic: #355872;--accent: #7aaace;--border: #7aaace;--soft: #9cd5ff;--focus: #355872;--error: #b3261e;font-family:Public Sans,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--paper);max-width:40rem;margin:0 auto;padding:2rem 1.25rem 0;line-height:1.5}.formula{border-top:1px solid var(--border);padding-top:.75rem;margin-bottom:1.5rem}.formula>summary{font-weight:600;color:var(--civic);cursor:pointer}.formula>summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.formula-content{padding-top:.75rem}.comparison-details{display:grid;gap:1rem}.formula-line{font-size:.9375rem;line-height:1.6;margin:0 0 .5rem;font-variant-numeric:tabular-nums}.formula-content .formula-note+.formula-note{margin-top:.5rem}.formula-note,.formula-empty{margin:0;color:var(--muted)}.inputs{display:grid;gap:1.5rem}.advanced-options{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.advanced-options>summary{color:var(--civic);font-weight:600;cursor:pointer}.advanced-options>summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.advanced-options>.field{margin-top:1rem}.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media(max-width:30rem){.field-pair{grid-template-columns:1fr}}.field label,.field-label{display:block;font-weight:600}.hint{margin:.125rem 0 .5rem;font-size:.875rem;color:var(--muted)}.input-wrap{display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:0 .75rem;margin-top:.375rem}.input-wrap:focus-within{outline:3px solid var(--civic);outline-offset:1px}.input-wrap.is-invalid{border-color:var(--error)}.affix{color:var(--muted)}.input-wrap input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:1.125rem;padding:.625rem .25rem;color:var(--ink);font-variant-numeric:tabular-nums}.input-wrap input:focus{outline:none}.presets{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.625rem}.preset{font:inherit;font-size:.875rem;padding:.25rem .75rem;border-radius:999px;border:1px solid var(--civic);background:transparent;color:var(--civic);cursor:pointer}.preset:hover{background:var(--soft)}.preset.is-active{background:var(--civic);color:#fff}.preset:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.breakdown{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:2.5rem}.breakdown-title{font-size:1.125rem;margin:0 0 .75rem}.breakdown-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.breakdown-heading .breakdown-title{margin:0}.breakdown>.hint{margin:.75rem 0 0}.breakdown-scroll{overflow-x:auto}.breakdown-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.breakdown-table th,.breakdown-table td{padding:.5rem .75rem .5rem 0;text-align:left;white-space:nowrap}.breakdown-table thead th{font-size:.875rem;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border)}.breakdown-table tbody th{font-weight:400}.breakdown-table tbody tr+tr>*{border-top:1px solid var(--soft)}.breakdown-table tfoot>tr>*{font-weight:800;border-top:2px solid var(--ink)}.breakdown-table .num{text-align:right}.diff{display:block;font-size:.75rem;font-weight:600}.diff.is-up{color:var(--civic)}.diff.is-down{color:var(--error)}.share{display:inline-flex;align-items:center;gap:.5rem}.share-bar{display:inline-block;width:4rem;height:.375rem;background:var(--soft);border-radius:999px;overflow:hidden}.share-bar>span{display:block;height:100%;background:var(--civic)}.account{display:grid;margin-top:.5rem;gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}.account-head{display:flex;gap:.75rem;align-items:center}.account-name{flex:1;min-width:0;font:inherit;font-weight:600;border:0;border-bottom:1px solid var(--border);padding:.25rem 0;background:transparent;color:var(--ink)}.account-name:focus{outline:none;border-bottom-color:var(--civic)}.account-remove{font:inherit;font-size:.875rem;border:0;background:transparent;color:var(--muted);cursor:pointer;text-decoration:underline}.account-remove:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.account-projection{margin:0;font-weight:600;color:var(--civic);font-variant-numeric:tabular-nums}.what-ifs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media(max-width:30rem){.what-ifs{grid-template-columns:1fr}}.what-if{min-inline-size:0;display:grid;gap:.75rem;margin:0;border:1px dashed var(--border);border-radius:6px;padding:.5rem .75rem .75rem}.what-if legend{font-size:.875rem;font-weight:600;color:var(--muted);padding:0 .25rem}.what-if .input-wrap input::placeholder{color:var(--muted)}.tab-panel{padding-bottom:2rem}.tab-bar{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--border);padding:0 0 calc(.75rem + env(safe-area-inset-bottom,0px))}.tab-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.375rem .25rem}.tab{display:flex;align-items:center;justify-content:center;gap:.375rem;min-width:0;font:inherit;font-size:.875rem;font-weight:600;padding:.5rem .625rem;border:1px solid var(--border);border-top:0;border-radius:0 0 8px 8px;background:var(--soft);color:var(--muted);cursor:pointer}.tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab.is-active{background:var(--surface);color:var(--civic);box-shadow:inset 0 3px 0 var(--accent)}.tab:focus-visible{outline:3px solid var(--civic);outline-offset:-3px}.tab-error{flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--error)}.tab-add{border-style:dashed;border-top:0;background:transparent;color:var(--civic)}.add-menu{position:absolute;right:0;bottom:calc(100% + .375rem);display:grid;min-width:min(16rem,100%);padding:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #35587226;z-index:1}.add-menu-item{display:flex;justify-content:space-between;gap:1rem;font:inherit;font-size:.9375rem;text-align:left;padding:.5rem .75rem;border:0;border-radius:6px;background:transparent;color:var(--ink);cursor:pointer}.add-menu-item:hover:not(:disabled),.add-menu-item:focus-visible{background:var(--soft);outline:none}.add-menu-item:disabled{color:var(--muted);cursor:default}.add-menu-note{font-size:.75rem}.export-button{font:inherit;font-size:.875rem;font-weight:600;padding:.375rem .875rem;border-radius:6px;border:1px solid var(--civic);background:var(--civic);color:#fff;cursor:pointer}.export-button:disabled{background:transparent;color:var(--muted);border-color:var(--border);cursor:not-allowed}.export-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.scenarios{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin-bottom:1.5rem}.scenario{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem}.scenario:first-child{border-color:var(--civic)}.scenario p{margin:0}.scenario-label{font-size:.875rem;font-weight:600;color:var(--muted)}.scenario-income{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}.scenario-income .per{font-size:.875rem;font-weight:400;color:var(--muted);margin-left:.125rem}.scenario-saved{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}.input-screen{max-width:36rem;margin:0 auto}.workflow-heading{margin-bottom:1.5rem}.workflow-heading h2,.results-heading h2{margin:0 0 .5rem;font-size:1.25rem}.results-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.5rem}.results-heading h2{margin:0;scroll-margin-top:1rem}.results-intro{flex:1 1 24rem;min-width:0}.results-intro .hint{margin:.5rem 0 0}.results-heading h2:focus,.workflow-heading h2:focus{outline:none}.calculate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1.5rem}.calculate-actions .hint{flex:1 1 16rem;margin:0}.calculate-button{padding:.75rem 1.5rem}@media(min-width:64rem){.calc{max-width:64rem}}.pane-title{flex:1;font-size:1.125rem;margin:0}.uc-result{display:grid;gap:.375rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;font-variant-numeric:tabular-nums}.uc-result p{margin:0}.uc-warning{color:var(--error);font-weight:600}.link-button{font:inherit;font-size:.875rem;margin-top:.5rem;padding:0;border:0;background:none;color:var(--civic);text-decoration:underline;cursor:pointer}.link-button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
