:root{color:#122033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface:#ffffffe6;--surface-strong:#fff;--surface-accent:linear-gradient(145deg, #116466 0%, #0b3c5d 100%);--border:#12203314;--text-muted:#44556b;--text:#122033;--accent:#116466;--accent-strong:#0b3c5d;--accent-soft:#e7f3f1;--focus-ring:#118ab2;--warning:#a65f00;--warning-soft:#fff8e6;--shadow:0 20px 50px #12203314;--shadow-soft:0 12px 30px #1220330f;--font-size-body:1rem;--font-size-body-sm:.9375rem;--font-size-label:.8125rem;--font-size-eyebrow:.75rem;--font-size-heading-sm:1.125rem;--line-height-tight:1.15;--line-height-heading:1.2;--line-height-body:1.5;--line-height-loose:1.6;background-color:#0000;background-image:radial-gradient(circle at top,#118ab233,#0000 36%),linear-gradient(#f6fbff 0%,#eef2ea 100%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;font-family:IBM Plex Sans,Public Sans,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{min-height:100%}body{min-width:320px;min-height:100vh;font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}button,input,textarea,select{font:inherit}#root{min-height:100vh}.app-dialog-overlay{min-height:100dvh;padding:max(1.25rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#12203385;place-items:center;display:grid;position:fixed;inset:0;overflow:auto}.app-dialog-card{border:1px solid var(--border);background:var(--surface-strong);width:min(100%,38rem);box-shadow:var(--shadow);border-radius:1.5rem;gap:1rem;padding:clamp(1.5rem,4vw,2rem);display:grid}.acknowledgement-overlay{z-index:20}.support-prompt-overlay{z-index:40}.support-prompt-copy{gap:.85rem;display:grid}.support-prompt-copy .eyebrow,.support-prompt-copy h2,.support-prompt-description p{margin:0}.support-prompt-description{gap:.45rem;display:grid}.support-prompt-copy .eyebrow{font-size:var(--font-size-eyebrow)}.support-prompt-copy h2{max-width:34rem;line-height:var(--line-height-tight)}.support-prompt-description .section-copy{max-width:34rem}.support-prompt-payment-link{justify-content:center;justify-self:start;align-items:center;gap:.8rem;min-width:min(100%,21rem);text-decoration:none;display:inline-flex}.support-prompt-payment-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:1.15rem;height:1.15rem}.support-prompt-configuration-warning{background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);border:1px solid #7a48002e;border-radius:.75rem;margin:0;padding:.75rem .85rem;font-weight:700}.support-prompt-payment-note{border-bottom:1px solid var(--border);color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);margin:0;padding-bottom:1rem}.support-prompt-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:1rem 1.4rem;display:grid}.support-prompt-actions .secondary-button{width:100%}.support-prompt-actions .support-prompt-muted-button{border:1px solid var(--border);background:var(--surface-strong);color:var(--text)}.support-prompt-actions .support-prompt-muted-button:hover{background:var(--accent-soft);color:var(--accent-strong)}.support-prompt-actions .support-prompt-muted-button:last-child{justify-self:start;min-width:min(100%,24rem)}@media (height<=760px){.app-dialog-overlay{align-items:start}.app-dialog-card{padding-block:clamp(1.25rem,4vh,2rem)}}.support-thank-you button{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-heading);text-align:center;cursor:pointer;background:#f7fbfa;border:1px solid #1220331a;border-radius:999px;padding:.65rem .85rem;font-weight:700}.support-thank-you button:hover{color:var(--accent-strong);background:#eef6f4}.support-thank-you{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:30;background:var(--surface-strong);max-width:min(28rem,100vw - 2rem);box-shadow:var(--shadow-soft);color:var(--accent-strong);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);border:1px solid #1164662e;border-radius:1rem;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;padding:.7rem .9rem;font-weight:700;display:flex;position:fixed}.app-shell{gap:1.25rem;width:min(100%,84rem);margin:0 auto;padding:1.25rem;display:grid}.active-mode-region{outline:none;gap:1.25rem;scroll-margin-top:1rem;display:grid}.hero,.panel{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);border-radius:1.5rem;min-width:0}.hero{gap:1rem;padding:clamp(1.5rem,4vw,3rem);display:grid}.hero-copy{align-content:start;justify-items:start;display:grid}.panel{padding:clamp(1.25rem,3vw,2rem)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:var(--font-size-eyebrow);line-height:var(--line-height-heading);color:var(--accent);margin:0 0 .75rem;font-weight:700}.lead{max-width:42rem;font-size:clamp(1rem,1.8vw,1.125rem);line-height:var(--line-height-loose);color:var(--text-muted);margin:0}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:1rem;font-size:clamp(2.2rem,8vw,4.5rem);line-height:1}h2{font-size:clamp(1.4rem,3vw,2rem);line-height:var(--line-height-tight);letter-spacing:-.03em;margin-bottom:.75rem}h3{font-size:var(--font-size-heading-sm);line-height:var(--line-height-heading);margin-bottom:.6rem}.field-grid{gap:1rem;margin-top:1.75rem;display:grid}.spending-smile-editor{display:contents}.spending-phase-card h4{margin-bottom:.35rem}.spending-strategy-field,.spending-smile-configuration{gap:1rem;display:grid}.spending-phase-field{gap:.4rem;display:grid}.spending-phase-field input{width:100%}.spending-phase-card{align-content:start;gap:.8rem;display:grid}.spending-phase-range,.spending-phase-derived{margin:0}.spending-profile-chart{border:1px solid var(--border);background:var(--surface-strong);border-radius:1rem;margin:0;padding:1rem}.spending-profile-chart figcaption{color:var(--text-muted);gap:.2rem;display:grid}.spending-profile-chart svg{width:100%;max-height:15rem;margin-top:.75rem;display:block}.profile-axis{stroke:#6b7788}.profile-y-axis-grid-line{stroke:#aab3bf;stroke-width:1px;stroke-dasharray:3 4}.spending-profile-chart .profile-y-axis-label{fill:var(--text);font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:800}.profile-boundary{stroke:#aab3bf;stroke-dasharray:4 4}.profile-target-line{fill:none;stroke:var(--accent);stroke-width:4px}.spending-profile-chart text{fill:var(--text-muted);font-size:.75rem}.field-card{border:1px solid var(--border);background:var(--surface-strong);border-radius:1.2rem;padding:1.2rem;container-type:inline-size}.section-copy,.field-card p{font-size:var(--font-size-body-sm);line-height:var(--line-height-body);color:var(--text-muted);margin-bottom:0}.section-copy:is(ul,ol){margin-block:.75rem 1rem}.section-copy:is(ul,ol) li+li{margin-top:.35rem}.field-help{font-size:var(--font-size-body-sm);line-height:var(--line-height-body);color:var(--text-muted);margin:.75rem 0 0}.field-default-note{font-size:var(--font-size-label);line-height:var(--line-height-body);color:var(--text-muted);margin-top:.5rem;display:block}.guidance-toggle{width:fit-content;max-width:100%;color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);background:#f9fcfb;border:1px solid #1164662e;border-radius:.8rem;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.55rem;padding:.55rem .7rem;font-weight:700;display:inline-grid}.guidance-toggle input{width:1rem;height:1rem;accent-color:var(--accent);margin-top:.15rem}.card-label{font-size:var(--font-size-label);line-height:var(--line-height-heading);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem;font-weight:700}.panel-heading{margin-bottom:1rem}.settings-panel .panel-heading{justify-items:start;gap:.85rem;display:grid}.settings-panel-actions{flex-wrap:wrap;gap:.6rem;display:flex}.settings-reset-button{margin-top:0}.settings-action-grid{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));align-items:stretch;gap:1rem;display:grid}.settings-action-grid .field-card{align-content:start}.settings-file-input{width:100%;min-width:0;color:inherit;font-size:var(--font-size-body-sm);line-height:var(--line-height-body);background:#f9fcfb;border:1px solid #1164662e;border-radius:.9rem;padding:.9rem 1rem;display:block}.settings-file-input::file-selector-button{color:#11333c;font:inherit;cursor:pointer;background:#d8ece9;border:0;border-radius:999px;margin-right:.75rem;padding:.55rem .8rem;font-weight:700}.settings-file-input::file-selector-button:hover{background:#c8e3de}.mode-panel{align-content:start;gap:1.25rem;min-width:0;display:grid}.mode-card-grid{gap:1rem;display:grid}.mode-card{border:1px solid var(--border);background:var(--surface-strong);min-width:0;color:inherit;text-align:left;box-shadow:var(--shadow-soft);cursor:pointer;border-radius:1rem;gap:.65rem;padding:1.15rem;display:grid}.mode-card:hover,.mode-card--active{background:#f4fbf9;border-color:#11646661}.mode-card:focus-visible,.journey-step-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.field-reset-button:focus-visible,.support-prompt-payment-link:focus-visible,.support-prompt-muted-button:focus-visible,.support-thank-you button:focus-visible{outline-offset:2px;outline:2px solid #11646666}.mode-card strong{font-size:var(--font-size-heading-sm);line-height:var(--line-height-heading)}.mode-card span:last-child{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body)}.inflation-panel{gap:1rem;display:grid}.assumption-table-shell{overflow-x:auto}.assumption-table{border-collapse:collapse;width:100%;min-width:40rem;font-size:var(--font-size-body-sm)}.assumption-table th,.assumption-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.8rem .9rem}.assumption-table thead th{color:var(--text-muted);font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.08em}.assumption-table tbody th{font-weight:700}.journey-panel{gap:1.5rem;display:grid}.journey-heading{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.journey-heading>div:first-child{max-width:48rem}.journey-heading-actions{align-self:start;justify-items:end;gap:.75rem;display:grid}.journey-progress{color:var(--accent-strong);font-size:var(--font-size-label);font-weight:700;line-height:var(--line-height-heading);background:#d8ece973;border:1px solid #11646629;border-radius:999px;align-self:start;padding:.45rem .8rem;display:inline-flex}.journey-stepper{flex-wrap:wrap;gap:.6rem;min-width:0;padding:.1rem 0 .3rem;scroll-margin-top:1rem;display:flex;overflow-x:visible}.journey-step-button{border:1px solid var(--border);background:var(--surface-strong);min-width:min(17rem,100%);color:var(--text-muted);font-size:var(--font-size-body-sm);font-weight:700;line-height:var(--line-height-heading);cursor:pointer;scroll-snap-align:start;text-align:left;border-radius:.95rem;flex:none;grid-template-columns:auto minmax(8rem,max-content);align-items:center;gap:.55rem;padding:.7rem .85rem;display:inline-grid;box-shadow:inset 0 1px #ffffffb8}.journey-step-button--completed{color:var(--accent-strong);background:#d8ece94d;border-color:#1164662e}.journey-step-button span{width:1.55rem;height:1.55rem;color:var(--accent-strong);background:#eef6f4;border-radius:999px;place-items:center;display:inline-grid}.journey-step-button--completed span{background:#1164661a}.journey-step-button--upcoming{background:var(--surface-strong);color:var(--text-muted)}.journey-step-button--active{background:var(--accent-strong);color:#f8fffd;border-color:var(--accent-strong);box-shadow:0 14px 26px #0b3c5d33}.journey-step-button--active span{color:#f8fffd;background:#ffffff29}.journey-step{gap:.625rem;min-width:0;display:grid}.journey-support-callout{background:#f4fbf9;border:1px solid #1164662e;border-radius:1rem;width:100%;padding:1rem 1.1rem}.journey-support-callout h4,.journey-support-callout p{margin:0}.journey-support-callout p{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);margin-top:.4rem}.journey-support-callout a{color:var(--accent-strong);text-underline-offset:.18em;margin-top:.75rem;font-weight:700;display:inline-block}.journey-support-field{align-content:start}.journey-support-field h4,.journey-support-field p{margin:0}.journey-support-field a{color:var(--accent-strong);text-underline-offset:.18em;align-self:end;font-weight:700}.journey-optional-question{gap:1rem;width:100%;display:grid}.journey-assumption-callout{border:1px solid #a65f0059;border-left:.3rem solid var(--warning);background:var(--warning-soft);border-radius:.9rem;gap:.35rem;padding:.9rem 1rem;display:grid}.journey-assumption-callout h4,.journey-assumption-callout p{margin:0}.journey-assumption-callout p{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body)}.added-pension-gap{gap:1.25rem;width:100%;display:grid}.added-pension-gap-summary,.added-pension-gap-estimate{border:1px solid var(--border);background:var(--surface-strong);border-radius:.9rem;padding:1rem}.added-pension-gap-summary h4,.added-pension-gap-summary p,.added-pension-gap-estimate h4,.added-pension-gap-estimate p,.added-pension-gap-message{margin:0}.added-pension-gap-summary dl{gap:.65rem;margin:1rem 0;display:grid}.added-pension-gap-summary dl div{flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;display:flex}.added-pension-gap-summary dt{color:var(--text-muted)}.added-pension-gap-summary dd{margin:0;font-weight:800}.added-pension-gap-summary p,.added-pension-gap-estimate p,.added-pension-gap-message{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body)}.added-pension-gap-estimate{gap:.65rem;display:grid}.journey-question-prompt{color:var(--text);margin-bottom:.75rem;font-weight:800}.journey-optional-question fieldset{border:0;min-width:0;margin:0;padding:0}.journey-optional-question-answers{flex-wrap:wrap;gap:.75rem;display:flex}.journey-optional-question-answers label{border:1px solid var(--border);background:var(--surface-strong);min-height:2.75rem;color:var(--text);cursor:pointer;border-radius:.8rem;align-items:center;gap:.6rem;padding:.7rem .9rem;font-weight:700;display:inline-flex}.journey-optional-question-answers input{width:1.1rem;height:1.1rem;margin:0}.journey-mobile-steps{display:none}.journey-mobile-step-summary{gap:.85rem;display:grid}.journey-mobile-step-summary>div{gap:.25rem;display:grid}.journey-mobile-step-summary span{color:var(--text-muted);font-size:var(--font-size-label);font-weight:800;line-height:var(--line-height-heading);text-transform:uppercase;letter-spacing:.05em}.journey-mobile-step-summary strong{font-size:var(--font-size-heading-sm);line-height:var(--line-height-heading)}.journey-progress-bar{background:#e6efed;border-radius:999px;height:.45rem;overflow:hidden}.journey-progress-bar span{border-radius:inherit;background:var(--accent-strong);height:100%;transition:width .18s;display:block}.journey-mobile-step-disclosure{border:1px solid var(--border);background:var(--surface-strong);border-radius:.8rem;overflow:hidden}.journey-mobile-step-disclosure summary{color:var(--accent-strong);font-size:var(--font-size-body-sm);cursor:pointer;padding:.7rem .8rem;font-weight:700}.journey-mobile-step-disclosure[open] summary{border-bottom:1px solid var(--border)}.journey-mobile-step-list{gap:.55rem;padding:.65rem;display:grid}.journey-mobile-step-list .journey-step-button{text-align:left;border-radius:.8rem;grid-template-columns:auto minmax(0,1fr);justify-content:start;width:100%;min-width:0}.journey-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:.775rem;padding-top:1.25rem;display:flex}.primary-button{background:var(--accent-strong);color:#f8fffd;font-size:var(--font-size-body-sm);line-height:var(--line-height-heading);cursor:pointer;border:0;border-radius:999px;padding:.85rem 1.1rem;font-weight:700}.primary-button:hover{background:#082f4a}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.58}.comparison-panel{gap:1.25rem;display:grid}.comparison-builder,.comparison-saved-section{border:1px solid var(--border);background:var(--surface-strong);min-width:0;box-shadow:var(--shadow-soft);border-radius:1rem;gap:1rem;padding:1rem;display:grid}.comparison-add-row{align-items:end;gap:.85rem;display:grid}.comparison-name-field{min-width:0;color:var(--text-muted);font-size:var(--font-size-label);line-height:var(--line-height-heading);gap:.4rem;font-weight:700;display:grid}.comparison-card-actions{flex-wrap:wrap;gap:.55rem;display:flex}.comparison-insight-grid,.comparison-detail-grid,.comparison-card-grid{gap:1rem;display:grid}.comparison-card{border:1px solid var(--border);background:var(--surface-strong);min-width:0;color:inherit;text-align:left;box-shadow:var(--shadow-soft);border-radius:1rem;gap:.65rem;padding:1rem;display:grid}.comparison-card:hover,.comparison-card--active{background:#f4fbf9;border-color:#11646661}.comparison-card:focus-visible{outline-offset:2px;outline:2px solid #11646666}.comparison-card strong{font-size:clamp(1.35rem,3vw,2rem);line-height:var(--line-height-tight)}.comparison-card span:not(.card-label),.comparison-card small{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body)}.comparison-summary-row td:first-child{color:var(--text-muted);font-weight:600}.comparison-summary-row td{vertical-align:top;white-space:normal;overflow-wrap:anywhere}.comparison-summary-row td:first-child{-webkit-hyphens:auto;hyphens:auto}.comparison-summary-row--divider td{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#f3f6f8;padding-top:.55rem;padding-bottom:.55rem}.comparison-summary-row--divider td:first-child{color:var(--text);font-size:var(--font-size-body);font-weight:700}.comparison-summary-row--divider td:not(:first-child){color:#0000}.comparison-cell{white-space:normal;overflow-wrap:anywhere;border-radius:.45rem;align-items:center;max-width:100%;min-height:1.9rem;padding:.2rem .5rem;font-weight:600;display:inline-flex}.comparison-cell--good{color:#166534;background:#1884541f}.comparison-cell--caution{color:#92400e;background:#d9770624}.comparison-cell--problem{color:#b91c1c;background:#dc26261f}.projection-table tbody tr.comparison-summary-row td{white-space:normal;overflow-wrap:anywhere}.comparison-table-section .projection-table tbody tr.comparison-summary-row td:first-child,.comparison-table-section .projection-table thead th:first-child{z-index:1;background:var(--surface-strong);position:sticky;left:0}.comparison-table-section .projection-table thead th:first-child{z-index:3}.comparison-table-section .projection-table tbody tr.comparison-summary-row--divider td:first-child{background:#f3f6f8}.retirement-income-chart-panel{border:1px solid var(--border);background:var(--surface-strong);min-width:0;box-shadow:var(--shadow-soft);border-radius:1rem;gap:1rem;padding:clamp(1rem,2.4vw,1.4rem);display:grid}.retirement-income-chart-panel--invalid{border-color:#bf2c2c38}.retirement-income-chart-heading{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.retirement-income-display-toggle{justify-self:start}.retirement-income-chart-title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.retirement-income-chart-title--visible{clip:auto;white-space:normal;width:auto;height:auto;margin:0 auto 0 0;padding:0;position:static;overflow:visible}.retirement-income-chart-introduction{max-width:58rem;color:var(--text-muted);line-height:var(--line-height-body);margin:0}.retirement-income-chart-shell{width:100%;min-width:0;position:relative;overflow:hidden}.retirement-income-validation-banner{color:#7f1d1d;background:linear-gradient(#fff5f5f5,#fffcfaf5);border:1px solid #bf2c2c3d;border-radius:.9rem;gap:.55rem;padding:.85rem .95rem;display:grid}.retirement-income-validation-banner strong{font-size:var(--font-size-body-sm);line-height:var(--line-height-body)}.retirement-income-validation-banner ul{color:#991b1b;font-size:var(--font-size-body-sm);line-height:var(--line-height-body);margin:0;padding-left:1.1rem}.retirement-income-validation-banner li+li{margin-top:.25rem}.retirement-income-mobile-summary{display:none}.retirement-income-chart-svg{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block;overflow:visible}.retirement-income-build-up-band{fill:#c78b1d1f}.retirement-income-gridline line{stroke:#44556b26;stroke-dasharray:4 5}.retirement-income-gridline text,.retirement-income-x-tick text,.retirement-income-axis-title{fill:var(--text-muted);font-size:.78rem;font-weight:700}.retirement-income-axis{stroke:#12203333}.retirement-income-x-year-tick line{stroke:#1220336b;stroke-width:1.5px}.retirement-income-x-year-tick--decade line{stroke:#1220338f;stroke-width:2px}.retirement-income-person-age-axis line,.retirement-income-age-axis line{stroke:#12203352;stroke-width:1.25px}.retirement-income-person-age-axis text,.retirement-income-age-axis text{fill:var(--text-muted);font-size:.74rem;font-weight:700}.retirement-income-shortfall-fill{fill:#bf2c2c29;stroke:#bf2c2cad;stroke-width:1.5px}.retirement-income-target-line{fill:none;stroke:#0b4dc2;stroke-width:2.5px;stroke-dasharray:8 7}.retirement-income-target-line-hitbox{fill:none;stroke:#0000;stroke-width:18px;cursor:ns-resize;touch-action:none;-webkit-touch-callout:none;outline:none}.retirement-income-target-line-hitbox:focus-visible{stroke:#0b4dc22e;outline:none}.retirement-income-smile-phase-hitbox:hover{stroke:#0b4dc21f}.retirement-income-milestone line{stroke-width:1.75px;stroke-dasharray:4 4;pointer-events:none}.retirement-income-milestone-drag-label--editable{cursor:ew-resize;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;outline:none}.retirement-income-milestone--invalid line{stroke:#dc2626;stroke-width:2.5px}.retirement-income-milestone--invalid .retirement-income-milestone-handle{fill:#dc2626;stroke:#fffffff5}.retirement-income-milestone--invalid .retirement-income-milestone-handle-label{fill:#fff}.retirement-income-milestone-drag-label:focus-visible .retirement-income-milestone-handle,.retirement-income-milestone--selected .retirement-income-milestone-handle{stroke:#122033;stroke-width:2.5px}.retirement-income-milestone-drag-label:focus-visible,.retirement-income-static-milestone:focus,.retirement-income-static-milestone:focus-visible{outline:none}.retirement-income-static-milestone:focus-visible .retirement-income-milestone-handle{stroke:#122033;stroke-width:2.5px}.retirement-income-milestone-handle{stroke:#ffffffeb;stroke-width:1.5px;filter:drop-shadow(0 2px 5px #1220332e)}.retirement-income-milestone-handle-label{fill:#fff;letter-spacing:0;pointer-events:none;font-size:.58rem;font-weight:900}.retirement-income-period-inspector{cursor:crosshair;outline:none}.retirement-income-period-inspector:focus-visible{stroke:var(--focus-ring);stroke-width:2px}.retirement-income-period-details{z-index:2;width:min(22rem,100% - 1.5rem);max-height:calc(100% - 1.5rem);color:var(--text);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);pointer-events:none;background:#fffffff7;border:1px solid #11646642;border-radius:.75rem;padding:.75rem;position:absolute;top:.75rem;right:.75rem;overflow:auto;box-shadow:0 8px 24px #12203329}.retirement-income-period-details-date{color:var(--accent-strong);font-size:var(--font-size-body);margin-bottom:.45rem;display:block}.retirement-income-period-details h4{font-size:var(--font-size-body-sm);margin:.6rem 0 .25rem}.retirement-income-period-details-values{gap:.18rem;margin:0;display:grid}.retirement-income-period-details-values>div{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;display:grid}.retirement-income-period-details-values dt,.retirement-income-period-details-values dd{margin:0}.retirement-income-period-details-values dd{text-align:right;font-weight:700}.retirement-income-period-details ul{margin:0;padding-left:1.1rem}.retirement-income-drag-age rect{fill:#fffffff5;stroke:#1d62d16b;stroke-width:1.25px;filter:drop-shadow(0 2px 5px #1220331f)}.retirement-income-drag-age text{fill:#122033;font-size:.66rem;font-weight:900}.household-chart-input-controls{gap:.75rem;display:grid}.retirement-income-control-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.retirement-income-control-card{border:1px solid var(--border);background:#fbfdfc;border-radius:.8rem;gap:.55rem;min-width:0;padding:.85rem;display:grid}.retirement-income-control-card--surplus{border-color:var(--warning);background:var(--warning-soft);box-shadow:0 0 0 2px #a65f001f}.retirement-income-control-card>span{color:var(--text-muted);font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.05em;font-weight:800}.retirement-income-control-card strong{color:var(--control-colour)}.retirement-income-control-card small{color:var(--text-muted);font-size:var(--font-size-body-sm);font-weight:600}.retirement-income-control-row{grid-template-columns:minmax(0,1fr);align-items:center;gap:.55rem;display:grid}.retirement-income-control-row input{min-width:0;accent-color:var(--control-colour)}.retirement-income-control-surplus-warning{color:#704300;font-size:var(--font-size-body-sm);margin:0;font-weight:700}.retirement-income-control-row button{width:2rem;height:2rem;color:var(--control-colour);cursor:pointer;background:#fff;border:1px solid #1220331f;border-radius:999px;place-items:center;font-weight:800;display:inline-grid}.retirement-income-control-row button:disabled{cursor:not-allowed;opacity:.45}.retirement-income-legend{color:var(--text-muted);font-size:var(--font-size-body-sm);flex-wrap:wrap;gap:.5rem .9rem;font-weight:700;display:flex}.retirement-income-legend--overlay{white-space:normal;justify-content:flex-end;width:100%;margin-top:0;padding:0 .1rem;overflow:visible}.retirement-income-legend>span{align-items:center;gap:.35rem;display:inline-flex}.retirement-income-legend>span>span{border-radius:999px;flex:none;width:.75rem;height:.75rem}.retirement-income-mobile-navigation,.retirement-income-mobile-navigation-toggle{display:none}.retirement-income-shortfall-key{background:repeating-linear-gradient(45deg,#bf2c2ccc 0 2px,#bf2c2c26 2px 5px);border-radius:.15rem}.retirement-income-income-tax-fill{stroke:#385a78;stroke-width:1.25px;pointer-events:none}.retirement-income-income-tax-key{background:repeating-linear-gradient(0deg,#dce6ef 0 3px,#385a78 3px 5px,#dce6ef 5px 8px);border:1px solid #385a7880;border-radius:.15rem}.retirement-income-avoidable-surplus-fill{opacity:.62;pointer-events:none}.retirement-income-avoidable-surplus-key{background:repeating-linear-gradient(45deg, var(--warning-soft), var(--warning-soft) 4px, var(--warning) 4px, var(--warning) 6px)}.retirement-income-surplus-text-equivalent{margin-top:.9rem}.retirement-income-surplus-text-equivalent summary{cursor:pointer;font-weight:700}.retirement-income-build-up-key{background:#c78b1d73;border-radius:.15rem}.saved-feedback{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));z-index:30;background:var(--accent-soft);min-height:1.8rem;color:var(--accent-strong);font-size:var(--font-size-label);line-height:var(--line-height-heading);border:1px solid #11646624;border-radius:999px;justify-content:center;align-items:center;padding:.25rem .7rem;font-weight:700;animation:1.4s ease-out forwards saved-feedback-fade;display:inline-flex;position:fixed;transform:translate(-50%)}.layout{gap:1.25rem;min-width:0;display:grid}.field-card{box-shadow:var(--shadow-soft);gap:.85rem;min-width:0;display:grid}.field-card--disabled{color:var(--text-muted);box-shadow:none;background:#f2f5f4}.field-card--disabled input{cursor:not-allowed}.field-card--disabled .range-input,.field-card--disabled .number-input{opacity:.55}.field-card--invalid{background:snow;border-color:#b82f2f6b}.field-card--invalid .date-input,.field-card--invalid .select-input,.field-card--invalid .number-input{border-color:#b82f2f94}.field-card--warning{border-color:var(--warning);background:var(--warning-soft)}.field-warning{color:#704300;margin:.75rem 0 0;font-weight:650}.flexible-withdrawal-priority,.field-card--full-width{grid-column:1/-1}.flexible-withdrawal-priority h4,.flexible-withdrawal-priority h5{margin:0}.flexible-withdrawal-priority>h5{margin-top:1rem}.flexible-withdrawal-priority-list{gap:.6rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.flexible-withdrawal-priority-list li,.flexible-withdrawal-priority-account{align-items:center;gap:.65rem;display:flex}.flexible-withdrawal-priority-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-wrap:wrap;justify-content:space-between;padding:.65rem .75rem;transition:border-color .12s,box-shadow .12s,transform .12s}.flexible-withdrawal-priority-account strong{background:var(--accent-soft);min-width:1.8rem;min-height:1.8rem;color:var(--accent);border-radius:999px;place-items:center;display:inline-grid}.flexible-withdrawal-priority-item--dragging{box-shadow:var(--shadow-soft);transform:scale(1.01);border-color:var(--accent)!important}.flexible-withdrawal-priority-controls{flex-wrap:wrap;flex:22rem;justify-content:flex-end;align-items:end;gap:.65rem;display:flex}.flexible-withdrawal-strategy-control{max-width:22rem;color:var(--muted);flex:14rem;gap:.25rem;font-size:.82rem;font-weight:650;display:grid}.flexible-withdrawal-strategy-control .select-input{width:100%}.flexible-withdrawal-other-strategies{border-top:1px solid var(--border);margin-top:1.1rem;padding-top:1rem}.flexible-withdrawal-drag-handle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--muted);cursor:grab;touch-action:none;place-items:center;padding:0;display:inline-grid}.flexible-withdrawal-drag-handle:active{cursor:grabbing}.flexible-withdrawal-drag-handle:hover{border-color:var(--accent);color:var(--accent)}.flexible-withdrawal-drag-handle:disabled{cursor:not-allowed;opacity:.5}.flexible-withdrawal-insight{border:1px solid var(--warning);border-radius:var(--radius-md);background:var(--warning-soft);gap:1rem;margin-top:1.25rem;padding:1.1rem;display:grid}.flexible-withdrawal-insight h3,.flexible-withdrawal-insight h4,.flexible-withdrawal-insight p{margin-top:0}.flexible-withdrawal-account-insights{gap:.9rem;display:grid}.flexible-withdrawal-account-insights article{border-radius:var(--radius-sm);background:#fff;border:1px solid #a65f004d;padding:1rem}.flexible-withdrawal-account-insights details{margin:.8rem 0}.flexible-withdrawal-account-insights summary{cursor:pointer;font-weight:700}.flexible-withdrawal-insight-actions{flex-wrap:wrap;gap:.65rem;display:flex}.field-error{color:#9f2424;font-size:var(--font-size-body-sm);line-height:var(--line-height-body);margin:-.2rem 0 0;font-weight:700}.field-error-list{color:#9f2424;font-size:var(--font-size-body-sm);line-height:var(--line-height-body);margin:-.2rem 0 0;padding-left:1.15rem;font-weight:700}.field-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;min-width:0;display:flex}.field-label{font-size:var(--font-size-body);line-height:var(--line-height-heading);font-weight:700}.field-label-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.field-info-link{color:var(--accent);font-size:var(--font-size-label);font-weight:600;line-height:var(--line-height-body);text-underline-offset:.16em;text-decoration:underline;display:inline}.field-info-link:hover{color:var(--accent-strong)}.date-input,.select-input,.text-input{width:100%;inline-size:100%;min-width:0;min-inline-size:0;max-width:100%;max-inline-size:100%;color:inherit;font-size:var(--font-size-body);line-height:var(--line-height-body);background:#f9fcfb;border:1px solid #1164662e;border-radius:.9rem;padding:.9rem 1rem;display:block}.date-input,.select-input{block-size:calc(3.3rem + 2px);padding:.55rem .65rem}.date-select-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1fr);gap:.75rem;width:100%;display:grid}.date-select-field{gap:.35rem;min-width:0;display:grid}.date-select-label{font-size:var(--font-size-label);color:var(--text-muted);font-weight:600}.range-input{width:100%;min-width:0;accent-color:var(--accent)}.range-control-grid{grid-template-columns:minmax(0,1fr) minmax(6.5rem,8rem);align-items:center;gap:.75rem;display:grid}.range-slider-group{gap:.5rem;min-width:0;display:grid}.number-input{width:100%;min-width:0;max-width:100%;color:inherit;font-size:var(--font-size-body);line-height:var(--line-height-body);background:#f9fcfb;border:1px solid #1164662e;border-radius:.75rem;padding:.55rem .65rem}.field-preset-group,.field-preset-row{flex-wrap:wrap;gap:.6rem;display:flex}.field-preset-row{margin-top:.75rem}.field-preset-button{color:var(--accent-strong);font-size:var(--font-size-body-sm);font-weight:600;line-height:var(--line-height-body);text-align:left;cursor:pointer;background:#11646614;border:1px solid #1164662e;border-radius:999px;padding:.45rem .8rem;transition:background-color .16s,border-color .16s,transform .16s}.field-preset-button:hover{background:#11646624;border-color:#11646647}.field-preset-button:focus-visible{outline-offset:2px;outline:2px solid #11646666}.field-preset-button:active{transform:translateY(1px)}.checkbox-field-card{align-content:start}.checkbox-row{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.checkbox-row input{width:1.05rem;height:1.05rem;accent-color:var(--accent);margin-top:.1rem}.sipp-protected-age-panel{gap:.6rem;padding-top:.25rem;display:grid}.sipp-protected-age-panel .field-help{margin:0}.range-scale{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);justify-content:space-between;gap:1rem;display:flex}.settings-panel,.settings-sections{gap:1.5rem;display:grid}.settings-section+.settings-section{border-top:1px solid var(--border);padding-top:1.5rem}.section-heading{margin-bottom:1rem}.section-heading h3{font-size:1.35rem;line-height:var(--line-height-tight);margin-bottom:.45rem}.settings-subsection{gap:1rem;margin-top:1.25rem;display:grid}.settings-subsection-heading h4{font-size:1.05rem;line-height:var(--line-height-heading);margin:0 0 .35rem}.settings-subsection .field-grid{margin-top:0}.lump-sum-editor{gap:1rem;margin-top:1.25rem;display:grid}.lump-sum-editor-heading h4{font-size:1.05rem;line-height:var(--line-height-heading);margin:0 0 .35rem}.lump-sum-editor>.secondary-button,.additional-income-editor>.secondary-button{justify-self:start}.additional-income-list{gap:1rem;display:grid}.epa-periods-editor>.secondary-button{justify-self:start}.epa-period-list{gap:1rem;display:grid}.epa-period-card,.epa-period-field{gap:.5rem;display:grid}.epa-period-date-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.85rem;display:grid}.additional-income-card{align-content:start}.additional-income-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.85rem;display:grid}.additional-income-field{gap:.35rem;min-width:0;display:grid}.summary-section{border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow-soft);border-radius:1rem;padding:.25rem}.summary-section--feature{background:var(--surface);box-shadow:var(--shadow);border-radius:1.5rem;padding:clamp(1.5rem,4vw,2.6rem)}.summary-section h2,.summary-section h3{margin-bottom:1rem}.summary-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.summary-section-header h2,.summary-section-header h3{margin-bottom:0}.comparison-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.comparison-panel-header h2{margin-bottom:0}.comparison-panel-header .section-copy{max-width:42rem}.summary-section--feature>.section-copy{margin-bottom:1.75rem;font-size:clamp(1rem,1.8vw,1.15rem)}.summary-section-inner{padding:0}.summary-section--feature .summary-section-inner{background:0 0;border:0;border-radius:0;padding:0}.summary-section-inner h3{margin-bottom:1.1rem;font-size:clamp(1.15rem,2vw,1.4rem)}.snapshot-list{gap:.9rem;margin:0 0 1rem;display:grid}.snapshot-list div{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding-bottom:.9rem;display:flex}.summary-section--feature .snapshot-list{gap:0;margin-bottom:0}.summary-section--feature .snapshot-list div{padding:1rem 0}.summary-section--feature .snapshot-list div:first-child{padding-top:0}.summary-section--feature .snapshot-list div:last-child{border-bottom:0;padding-bottom:0}.snapshot-list dt{font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:700}.summary-section--feature .snapshot-list dt{font-size:clamp(1rem,1.7vw,1.18rem)}.snapshot-list dd{font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--text-muted);text-align:right;margin:0}.summary-section--feature .snapshot-list dd{font-size:clamp(1rem,1.7vw,1.18rem)}.summary-status-block{border-top:1px solid var(--border);gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;display:grid}.simple-results-summary,.simple-results-details{gap:1.5rem;display:grid}.simple-results-summary>.section-copy,.simple-results-details .section-copy{margin:0}.simple-results-figures{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.85rem;display:grid}.simple-results-figure{border:1px solid var(--border);background:#f8fbfd;border-radius:.9rem;align-content:start;gap:.45rem;min-width:0;padding:1rem;display:grid}.simple-results-figure--primary{background:#eef8f5;border-color:#11646652}.simple-results-figure span{color:var(--text-muted);font-size:var(--font-size-body-sm);font-weight:700}.simple-results-figure strong{color:var(--text);font-size:clamp(1.3rem,3vw,1.85rem);line-height:1.2}.simple-results-context{max-width:58rem;color:var(--text-muted);line-height:var(--line-height-body);margin:0}.simple-income-sources{gap:0;margin:1rem 0 0;display:grid}.simple-income-sources div{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.8rem 0;display:flex}.simple-income-sources dt{font-weight:700}.simple-income-sources dd{text-align:right;margin:0}.simple-age-ranges,.simple-results-checks{border-top:1px solid var(--border);gap:.75rem;padding-top:1.5rem;display:grid}.simple-age-ranges h2,.simple-results-checks h2{margin:0}.simple-age-ranges ul{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.simple-age-ranges li{border:1px solid var(--border);background:#f8fbfd;border-radius:.8rem;gap:.3rem;padding:1rem;display:grid}.simple-age-ranges li span{color:var(--text-muted);line-height:1.45}.simple-results-checks ul{line-height:var(--line-height-body);margin:0;padding-left:1.25rem}.simple-results-checks li+li{margin-top:.45rem}.simple-results-disclosure{border:1px solid var(--border);background:var(--surface-strong);border-radius:.85rem;min-width:0}.simple-results-disclosure>summary{color:var(--link);cursor:pointer;padding:.9rem 1rem;font-weight:750}.simple-results-disclosure[open]>summary{border-bottom:1px solid var(--border)}.simple-results-disclosure>.summary-table-shell{margin:1rem}.simple-results-methodology>.inflation-panel{box-shadow:none;border:0;border-radius:0}.summary-outcome-banner{background:#f8fbfd;border:1px solid #1220331f;border-radius:.75rem;gap:.6rem;margin-top:.35rem;padding:1rem;display:grid}.summary-outcome-banner--onTrack{background:#eef8f5;border-color:#11646642}.summary-outcome-banner--shortfall{background:#fff4ef;border-color:#a43d2652}.summary-outcome-banner--atRisk{background:#fff8e6;border-color:#8e62004d}.summary-outcome-status{width:fit-content;color:var(--text);font-size:var(--font-size-label);letter-spacing:.04em;text-transform:uppercase;background:#12203314;border-radius:999px;padding:.2rem .55rem;font-weight:800;line-height:1.3}.summary-outcome-banner--onTrack .summary-outcome-status{color:#0b4b4d;background:#11646624}.summary-outcome-banner--shortfall .summary-outcome-status{color:#7d2f1f;background:#a43d2624}.summary-outcome-banner--atRisk .summary-outcome-status{color:#6c4a00;background:#8e620026}.summary-outcome-banner p{max-width:70rem;color:var(--text);margin:0;font-size:clamp(1.05rem,2vw,1.3rem);font-weight:650;line-height:1.45}.summary-outcome-warning{max-width:70rem;color:var(--text);background:#fff8e6;border-left:.25rem solid #8e6200a6;border-radius:.35rem;gap:.35rem;padding:.75rem;display:grid}.summary-outcome-warning strong{color:#6c4a00}.summary-outcome-warning p{font-size:1rem;font-weight:500;line-height:1.5}.summary-status-block h3{margin-bottom:0}.summary-table-shell{border:1px solid var(--border);border-radius:.75rem;max-width:100%;overflow-x:auto}.summary-table-shell:focus-visible{outline-offset:2px;outline:2px solid #11646666}.summary-age-range-table{border-collapse:collapse;width:100%;min-width:42rem;font-size:var(--font-size-body-sm)}.summary-age-range-table th,.summary-age-range-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.75rem .85rem}.summary-age-range-table th{color:var(--text);font-weight:700}.summary-age-range-table td{color:var(--text-muted)}.summary-age-range-table td:nth-child(n+3){text-align:right;white-space:nowrap}.summary-age-range-table tbody tr:last-child th,.summary-age-range-table tbody tr:last-child td{border-bottom:0}.comparison-table-section{gap:.85rem;display:grid}.comparison-table-section h3{margin-bottom:0}.assumptions-version-strip{border:1px solid var(--border);background:#1164660f;border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;margin-top:1.25rem;padding:.95rem 1rem;display:flex}.assumptions-version-strip-copy{flex:18rem;gap:.2rem;min-width:0;display:grid}.assumptions-version-strip-copy h3{font-size:var(--font-size-body);margin:0}.assumptions-version-strip-copy p{color:var(--text-muted);font-size:var(--font-size-body-sm);margin:0;line-height:1.45}.assumptions-version-link{flex-shrink:0;margin-top:0}.assumption-rule-title{font-weight:700}.assumption-rule-summary{color:var(--text-muted);font-size:var(--font-size-body-sm);margin-top:.35rem;font-weight:400}.summary-toggle{border:1px solid var(--border);background:var(--surface-strong);border-radius:999px;gap:.35rem;padding:.3rem;display:inline-flex}.summary-toggle-button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.55rem .95rem;font-weight:700}.summary-toggle-button--active{background:var(--accent-strong);color:#fff}.summary-total{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1rem;padding-top:1rem;font-size:clamp(1.05rem,1.8vw,1.24rem);display:flex}.summary-total strong{font-size:clamp(1.35rem,2.4vw,1.85rem)}.summary-target{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.75rem;font-size:.98rem;display:flex}.summary-target strong{color:var(--text);font-size:1.05rem}.table-shell{border:1px solid var(--border);background:var(--surface-strong);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-soft);border-radius:1.2rem;overflow:visible}.table-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding:1rem 1rem 0;display:flex}.table-status{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);margin:0}.projection-table{border-collapse:collapse;table-layout:fixed;width:100%}.table-header-shell{z-index:2;border-top-left-radius:inherit;border-top-right-radius:inherit;border-bottom:1px solid var(--border);background:#f3f9f8;min-width:0;position:sticky;top:0}.table-header-scroll{width:100%;min-width:0;overflow:hidden}.table-body-shell{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;width:100%;min-width:0;overflow-x:auto}.projection-mobile-cards{display:none}.projection-mobile-cards--active{gap:.85rem;padding:1rem;display:grid}.projection-table--header,.projection-table--body{min-width:62rem}.projection-table th,.projection-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.7rem .75rem}.projection-table thead th{font-size:var(--font-size-eyebrow);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);white-space:normal;overflow-wrap:anywhere;line-height:var(--line-height-heading);background:#f3f9f8}.projection-table--body tbody tr:last-child td{border-bottom:0}.projection-table-sr-only,.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.projection-table tbody tr:nth-child(2n){background:#11646608}.projection-table tbody tr:hover{background:#11646614}.projection-row--milestone{background:#fff4d6b8;box-shadow:inset 4px 0 #d28a00}.projection-row--milestone:nth-child(2n){background:#fff4d6b8}.projection-date-cell{gap:.45rem;display:grid}.milestone-badges{flex-wrap:wrap;gap:.35rem;display:flex}.milestone-badge{color:#925d00;font-size:var(--font-size-label);line-height:var(--line-height-heading);white-space:nowrap;background:#fff3cf;border:1px solid #d28a003d;border-radius:999px;align-items:center;padding:.2rem .55rem;font-weight:700;display:inline-flex}.projection-table tbody td{font-size:var(--font-size-body-sm);line-height:var(--line-height-body)}.projection-table tbody td:not(:first-child){white-space:nowrap}.secondary-button{color:#11333c;font-size:var(--font-size-body-sm);line-height:var(--line-height-heading);cursor:pointer;background:#d8ece9;border:0;border-radius:999px;padding:.85rem 1.1rem;font-weight:700}.secondary-button:hover{background:#c8e3de}.field-reset-button{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);text-underline-offset:.16em;background:0 0;border-radius:0;justify-self:start;padding:.15rem 0;font-weight:600;text-decoration:underline}.field-reset-button:hover{color:var(--accent);background:0 0}@keyframes saved-feedback-fade{0%{transform:translate(-50%,.1rem)}12%,72%{transform:translate(-50%)}to{transform:translate(-50%,-.1rem)}}@media (width>=720px){.app-shell{gap:1.5rem;padding:2rem}.summary-section{padding:1rem}}@media (width>=860px){.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-card-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.comparison-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-add-row{grid-template-columns:minmax(0,1fr) auto}.comparison-insight-grid,.comparison-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.retirement-income-control-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.retirement-income-milestone-controls{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=960px){.journey-step-button{min-width:14rem}}@media (width>=1100px){.household-chart-input-controls .retirement-income-control-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){.app-shell{padding:.5rem}.app-dialog-overlay{padding:max(.5rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));align-items:start}.app-dialog-card{border-radius:1rem;padding:1.1rem}.support-prompt-copy{gap:.85rem}.support-prompt-card{gap:.9rem}.support-prompt-copy .eyebrow{font-size:var(--font-size-eyebrow)}.support-prompt-copy h2{font-size:1.6rem}.support-prompt-description .section-copy{font-size:1rem}.support-prompt-payment-note{font-size:var(--font-size-body-sm);padding-bottom:1rem}.support-prompt-payment-link,.support-prompt-actions .secondary-button,.support-prompt-muted-button{width:100%;min-width:0}.support-prompt-payment-link{min-height:3.4rem;font-size:var(--font-size-body);gap:.75rem;padding:.85rem 1rem}.support-prompt-payment-icon{width:1.45rem;height:1.45rem}.support-prompt-actions{grid-template-columns:minmax(0,1fr);gap:.65rem}.support-prompt-actions .secondary-button,.support-prompt-muted-button{min-height:3.2rem;font-size:var(--font-size-body-sm)}.support-prompt-actions .support-prompt-muted-button:last-child{min-width:0}.journey-progress,.journey-stepper{display:none}.journey-mobile-steps{gap:.8rem;margin-bottom:1.25rem;display:grid}.journey-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:1.5rem;margin-inline:0;padding:1rem}.journey-step>.summary-section,.journey-step>.retirement-income-chart-panel,.comparison-panel .summary-section,.comparison-panel .retirement-income-chart-panel{box-shadow:none}.journey-step>.summary-section,.comparison-panel .summary-section{border-radius:.85rem}.journey-step>.summary-section--feature,.comparison-panel .summary-section--feature{padding:1rem}.journey-step>.summary-section--feature .summary-section-inner,.comparison-panel .summary-section--feature .summary-section-inner{border-radius:0;padding:0}.journey-step>.retirement-income-chart-panel,.comparison-panel .retirement-income-chart-panel{border-left:0;border-right:0;border-radius:0;margin-inline:-1rem;padding-inline:.75rem}.assumption-table-shell{overflow-x:visible}.assumption-table,.assumption-table tbody,.assumption-table tr,.assumption-table th,.assumption-table td{width:100%;min-width:0;display:block}.assumption-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.assumption-table tbody{gap:.75rem;display:grid}.assumption-table tr{border:1px solid var(--border);background:#fbfdfc;border-radius:.9rem;padding:.85rem}.assumption-table th,.assumption-table td{border-bottom:0;padding:0}.assumption-table tbody th{margin-bottom:.65rem}.assumption-table td{color:#122033;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.75rem;padding-top:.45rem;display:grid}.assumption-table td:before{content:attr(data-label);color:var(--text-muted);font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.05em;font-weight:800}.assumptions-version-strip{align-items:start}.assumptions-version-link{justify-content:center;width:100%}.table-header-shell,.table-body-shell{display:none}.projection-mobile-cards{gap:.85rem;padding:0;display:grid}.projection-mobile-card{border:1px solid var(--border);background:#fbfdfc;border-radius:.95rem;gap:.7rem;padding:.95rem;display:grid}.projection-mobile-card.projection-row--milestone{background:#fff8e4;border-left:4px solid #d7a43f}.projection-mobile-card-row{grid-template-columns:minmax(0,.88fr) minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.projection-mobile-card-row>span{color:var(--text-muted);font-size:var(--font-size-label);font-weight:800;line-height:var(--line-height-heading);text-transform:uppercase;letter-spacing:.05em}.projection-mobile-card-value{text-align:right;overflow-wrap:anywhere;min-width:0;font-weight:700}.projection-mobile-card-value .projection-date-cell{align-items:end;min-width:0;max-width:100%}.projection-mobile-card-value .milestone-badges{justify-content:flex-end;min-width:0;max-width:100%}.projection-mobile-card-value .milestone-badge{white-space:normal;text-align:right;max-width:100%}.retirement-income-chart-heading{justify-content:stretch}.retirement-income-display-toggle{flex:10rem}.retirement-income-mobile-summary{background:#f7fbfa;border:1px solid #11646629;border-radius:.9rem;gap:.65rem;padding:.85rem;display:grid}.retirement-income-mobile-summary div{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:baseline;gap:.75rem;display:grid}.retirement-income-mobile-summary span{color:var(--text-muted);font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.05em;font-weight:800}.retirement-income-mobile-summary strong{text-align:right}.retirement-income-legend--overlay{justify-content:flex-start}.retirement-income-period-details{width:100%;max-height:none;box-shadow:none;margin-top:.75rem;position:relative;top:auto;right:auto;overflow:visible}.retirement-income-mobile-navigation{border:1px solid var(--border);background:#fbfdfc;border-radius:.8rem;gap:.75rem;padding:.85rem;display:grid}.retirement-income-mobile-navigation-toggle{border:1px solid var(--border);background:var(--surface-strong);width:100%;min-height:2.75rem;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.retirement-income-mobile-navigation label{gap:.35rem;display:grid}.retirement-income-mobile-navigation label>span{color:var(--text-muted);font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.05em;font-weight:800}.retirement-income-mobile-navigation input[type=range]{width:100%;accent-color:var(--accent)}.retirement-income-control-grid{grid-template-columns:1fr}}@container (width<=26rem){.date-select-grid{grid-template-columns:1fr}.range-control-grid{grid-template-columns:1fr;justify-self:stretch;width:100%}.range-slider-group{order:2;width:100%}.range-control-grid .number-input{order:1;max-width:10rem}}@media (width<=480px){.field-card--mobile-hidden{display:none}.settings-panel .panel-heading,.journey-heading-actions,.field-card,.table-controls{justify-items:center}.table-controls{text-align:center;justify-content:center}.secondary-button,.field-reset-button{justify-self:center;margin-inline:auto}}.site-footer{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-soft);border-radius:1.5rem;padding:1rem}.site-footer-links{font-size:var(--font-size-body-sm);flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}.site-footer-links a{color:var(--accent-strong);border-radius:.6rem;padding:.25rem .45rem;font-weight:700;text-decoration:none}.site-footer-links a:hover,.site-footer-links a:focus-visible{background:#1164661a;outline:none}.static-panel{gap:1rem;display:grid}.static-panel>*{min-width:0}.static-backlink{width:fit-content;color:var(--accent-strong);background:#f9fcfb;border:1px solid #1164662e;border-radius:.8rem;margin-top:.75rem;padding:.45rem .65rem;font-weight:700;text-decoration:none;display:inline-flex}.static-backlink:hover,.static-backlink:focus-visible{background:#1164661f;outline:none}.acceptance-summary{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;display:grid}.acceptance-summary p,.acceptance-feature,.acceptance-scenario,.acceptance-example{border:1px solid var(--border);background:var(--surface);border-radius:.5rem}.acceptance-summary p{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);margin:0;padding:.85rem}.acceptance-summary strong{color:#122033;font-size:var(--font-size-heading-sm);display:block}.acceptance-feature-list,.acceptance-scenario-list,.acceptance-examples{gap:.75rem;display:grid}.acceptance-feature>summary,.acceptance-scenario>summary{cursor:pointer;color:#122033;justify-content:space-between;align-items:center;gap:.75rem;min-height:2.75rem;padding:.75rem .85rem;font-weight:700;display:flex}.acceptance-feature>summary:focus-visible,.acceptance-scenario>summary:focus-visible{outline-offset:2px;outline:3px solid #11646652}.acceptance-feature-body,.acceptance-scenario-body{gap:.75rem;padding:0 .85rem .85rem;display:grid}.acceptance-feature-count,.acceptance-status,.acceptance-tags,.acceptance-source,.acceptance-review-note,.acceptance-scenario-keyword{font-size:var(--font-size-label);line-height:var(--line-height-body)}.acceptance-feature-count,.acceptance-tags,.acceptance-source,.acceptance-review-note,.acceptance-scenario-keyword{color:var(--text-muted);font-weight:600}.acceptance-status{border-radius:999px;flex:none;width:fit-content;padding:.15rem .5rem;font-weight:700}.acceptance-status--covered{color:var(--accent-strong);background:#1164661f}.acceptance-status--under-review{color:#8a5200;background:#9a5c001f}.acceptance-tags,.acceptance-source,.acceptance-review-note{margin-right:.75rem;display:inline-block}.acceptance-steps{color:var(--text-muted);font-size:var(--font-size-body-sm);line-height:var(--line-height-body);gap:.65rem;margin:0;padding-left:1.4rem;display:grid}.acceptance-steps p{margin:0}.acceptance-example{gap:.5rem;padding:.75rem;display:grid}.acceptance-example h4{color:#122033;font-size:var(--font-size-body);margin:0}.acceptance-table-scroll{max-width:100%;overflow-x:auto}.acceptance-table{border-collapse:collapse;width:100%;min-width:34rem;font-size:var(--font-size-label);line-height:var(--line-height-body)}.acceptance-table caption{text-align:left;color:var(--text-muted);margin-bottom:.35rem;font-weight:700}.acceptance-table th,.acceptance-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.35rem .45rem}.acceptance-table th{background:var(--surface-strong);color:#122033}.formula-block{white-space:pre-wrap;overflow-wrap:anywhere}
