.retirement-intro { max-width: 790px; margin-bottom: 38px; }
.retirement-intro h1 { max-width: 780px; }
.retirement-calculator { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr); overflow:hidden; border:1px solid var(--line); border-radius:20px; background:var(--surface); box-shadow:var(--shadow); }
.retirement-input-panel,.retirement-results { padding:30px; }
.retirement-input-panel { border-right:1px solid var(--line); }
.retirement-input-panel > h2,.retirement-results > h2 { margin-bottom:5px; }
.retirement-input-panel > p,.retirement-results > p { margin:0 0 21px; color:var(--muted); font-size:12px; line-height:1.55; }
.retirement-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 11px; }
.retirement-grid label { font-size:11px; }
.retirement-core-grid { margin-bottom:18px; }
.retirement-mode-field { min-width:0; color:var(--ink); font-size:11px; font-weight:700; }
.field-label-row { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:5px; }
.retirement-mode-toggle { display:inline-flex; gap:2px; padding:2px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }
.retirement-mode-toggle button { min-width:23px; height:20px; padding:0; border:0; border-radius:4px; background:transparent; color:var(--muted); font:700 11px "DM Mono",monospace; cursor:pointer; }
.retirement-mode-toggle button[aria-pressed="true"] { background:var(--green-soft); color:var(--green); }
.retirement-advanced { margin-top:4px; padding:14px; border:1px solid var(--line); border-radius:12px; background:color-mix(in srgb,var(--green-soft) 22%,var(--surface)); }
.retirement-advanced summary { cursor:pointer; color:var(--ink); font-size:12px; font-weight:800; }
.retirement-advanced > p { margin:8px 0 13px; color:var(--muted); font-size:10px; line-height:1.5; }
.retirement-advanced .retirement-grid { gap:12px 11px; }
.retirement-advanced .retirement-grid label { font-size:10px; }
.retirement-actions { display:flex; gap:10px; margin-top:20px; }
.retirement-actions button { height:42px; }
.retirement-save-status { min-height:16px; margin:9px 0 0!important; color:var(--green); font-size:11px!important; font-weight:700; }
.retirement-save-status.is-error { color:#bd5b53; }
.retirement-note { margin:16px 0 0!important; font-size:11px!important; }
.retirement-saved-plans { margin-top:18px; border-top:1px solid var(--line); padding-top:15px; }
.retirement-saved-plans summary { cursor:pointer; color:var(--ink); font-size:12px; font-weight:800; }
.retirement-saved-plans-copy { margin:8px 0 11px!important; font-size:10px!important; }
.retirement-saved-plans-list { display:grid; gap:8px; }
.retirement-saved-plan { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.retirement-saved-plan strong,.retirement-saved-plan span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.retirement-saved-plan strong { color:var(--ink); font-size:11px; }
.retirement-saved-plan span { margin-top:3px; color:var(--muted); font:10px "DM Mono",monospace; }
.retirement-saved-plan-actions { display:flex; gap:6px; }
.retirement-saved-plan button { min-height:31px; padding:0 9px; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--ink); font-size:10px; font-weight:800; cursor:pointer; }
.retirement-saved-plan button:hover { border-color:var(--green); color:var(--green); }
.retirement-empty-plans { margin:0!important; color:var(--muted); font-size:11px!important; }
.retirement-results { background:color-mix(in srgb,var(--green-soft) 34%,var(--surface)); }
.retirement-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.retirement-result-grid article { min-width:0; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.retirement-result-grid p { margin:0 0 8px; color:var(--muted); font-size:11px; line-height:1.4; }
.retirement-result-grid strong { display:block; color:var(--ink); font:500 clamp(17px,2.1vw,25px) "DM Mono",monospace; letter-spacing:-.055em; overflow-wrap:anywhere; }
.retirement-result-grid .retirement-highlight strong { color:var(--green); }
.progress-track { display:block; height:8px; margin-top:11px; overflow:hidden; border-radius:99px; background:var(--line); }
.progress-track i { display:block; width:0; height:100%; border-radius:inherit; background:var(--green); transition:width .2s ease; }
.retirement-gap-card { margin-top:16px; padding:21px; border:1px solid var(--green); border-radius:13px; background:color-mix(in srgb,var(--green-soft) 62%,var(--surface)); }
.retirement-gap-card .eyebrow { margin-bottom:7px; font-size:10px; }
.retirement-gap-card h3 { margin:0 0 7px; font-size:15px; letter-spacing:-.025em; }
.retirement-gap-card strong { display:block; color:var(--green); font:500 clamp(24px,3vw,32px) "DM Mono",monospace; letter-spacing:-.065em; }
.retirement-gap-card > p:last-child { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }
.retirement-chart-section { margin-top:26px; padding-top:21px; border-top:1px solid var(--line); }
.retirement-chart-section h2 { margin-bottom:4px; }
.retirement-chart-section > p { margin:0 0 11px; color:var(--muted); font-size:11px; }
.retirement-chart { display:block; width:100%; height:235px; }
.retirement-table-wrap { margin-top:23px; overflow-x:auto; }
.retirement-table { width:100%; border-collapse:collapse; font-size:11px; }
.retirement-table th,.retirement-table td { padding:10px 0; border-top:1px solid var(--line); text-align:right; }
.retirement-table th { color:var(--muted); font-weight:700; }
.retirement-table th:first-child,.retirement-table td:first-child { text-align:left; }
.retirement-table td { font-family:"DM Mono",monospace; }
@media (prefers-color-scheme:dark) { .retirement-gap-card { background:color-mix(in srgb,var(--green-soft) 72%,var(--surface)); } }
@media (max-width:760px) { .retirement-calculator { grid-template-columns:1fr; }.retirement-input-panel { border-right:0; border-bottom:1px solid var(--line); }.retirement-input-panel,.retirement-results { padding:23px 20px; }.retirement-grid,.retirement-result-grid { grid-template-columns:1fr; }.retirement-actions { flex-direction:column; }.retirement-actions button { width:100%; }.retirement-chart { height:190px; }.retirement-saved-plan { grid-template-columns:1fr; }.retirement-saved-plan-actions button { flex:1; } }

/* Dedicated retirement workspace: deliberately dark in either system color mode. */
body.retirement-page { --ink:#edf7f0; --muted:#bed1c5; --line:rgba(181,225,203,.25); --paper:#09251d; --surface:rgba(17,53,42,.88); --green:#91e9bd; --green-soft:#164635; --navy:#e6f6eb; --shadow:0 18px 55px rgba(0,0,0,.26); background:radial-gradient(circle at 26% 17%,rgba(58,151,110,.2),transparent 32%),radial-gradient(circle at 85% 0,rgba(12,92,65,.17),transparent 30%),#09251d; }
.retirement-page .app-shell { max-width:1320px; }
.retirement-page .brand { color:var(--ink); }
.retirement-page .brand-mark { background:#0d9368; border:1px solid #91e9bd; color:#fff; }
.retirement-page .site-nav > a,.retirement-page .calculator-nav summary,.retirement-page .topbar-note { color:var(--muted); }
.retirement-page .site-nav > a:hover,.retirement-page .calculator-nav summary:hover { color:var(--green); }
.retirement-page .retirement-intro { max-width:760px; margin-bottom:23px; }
.retirement-page .retirement-intro .eyebrow { display:none; }
.retirement-page .retirement-intro h1 { font-size:clamp(35px,4.2vw,48px); color:var(--ink); }
.retirement-page .intro-copy { max-width:670px; margin-top:10px; color:#d2e2d7; font-size:14px; line-height:1.65; }
.retirement-page .retirement-calculator { grid-template-columns:1.06fr .94fr; border-color:rgba(181,225,203,.32); border-radius:12px; background:rgba(9,37,29,.5); box-shadow:none; }
.retirement-page .retirement-input-panel,.retirement-page .retirement-results { padding:25px; }
.retirement-page .retirement-input-panel { border-right-color:rgba(181,225,203,.27); }
.retirement-page .retirement-results { background:rgba(15,54,42,.55); }
.retirement-page .retirement-input-panel > h2,.retirement-page .retirement-results > h2 { font-size:18px; color:var(--ink); }
.retirement-page .retirement-input-panel > p,.retirement-page .retirement-results > p { margin-bottom:18px; color:#bfd0c5; }
.retirement-page .retirement-core-grid { grid-template-columns:1fr; gap:10px; margin-bottom:15px; }
.retirement-page .retirement-core-grid > label { display:grid; grid-template-columns:minmax(175px,1fr) minmax(180px,.9fr); align-items:center; gap:16px; margin:0; color:#edf7f0; font-size:12px; }
.retirement-page .retirement-core-grid .retirement-mode-field { display:grid; grid-template-columns:minmax(175px,1fr) minmax(180px,.9fr); align-items:center; gap:16px; }
.retirement-page .field-label-row { margin:0; }
.retirement-page .field-label-row > span { color:#edf7f0; font-size:12px; }
.retirement-page .retirement-mode-toggle { border-color:rgba(181,225,203,.31); background:rgba(5,28,21,.4); }
.retirement-page .retirement-mode-toggle button { color:#eaf7ef; }
.retirement-page .retirement-mode-toggle button[aria-pressed="true"] { background:#a7f3c8; color:#0a3024; }
.retirement-page .money-input,.retirement-page .number-input,.retirement-page .tax-rate-input { height:38px; border-color:rgba(181,225,203,.37); border-radius:6px; background:rgba(6,31,23,.55); }
.retirement-page .money-input input,.retirement-page .number-input input,.retirement-page .tax-rate-input input { background:transparent; color:#f3fbf6; font-size:12px; }
.retirement-page .money-input span,.retirement-page .number-input span,.retirement-page .tax-rate-input span { color:#c8d8ce; }
.retirement-page .retirement-advanced { margin-top:17px; padding:16px 0 0; border:0; border-top:1px solid rgba(181,225,203,.3); border-radius:0; background:transparent; }
.retirement-page .retirement-advanced summary { color:#edf7f0; font-size:14px; }
.retirement-page .retirement-advanced > p { display:none; }
.retirement-page .retirement-advanced .retirement-grid { gap:11px 28px; margin-top:13px; }
.retirement-page .retirement-advanced .retirement-grid label { display:grid; grid-template-columns:minmax(132px,1fr) minmax(92px,.82fr); align-items:center; gap:12px; margin:0; color:#edf7f0; font-size:11px; }
.retirement-page .retirement-advanced .retirement-grid .number-input,.retirement-page .retirement-advanced .retirement-grid .tax-rate-input { height:36px; }
.retirement-page .retirement-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:21px; }
.retirement-page .retirement-actions button { height:38px; border:1px solid rgba(181,225,203,.52); border-radius:6px; background:transparent; color:#f2fbf5; font-size:12px; }
.retirement-page .retirement-actions button:hover { background:rgba(145,233,189,.15); transform:none; }
.retirement-page .retirement-note { color:#afc3b8; }
.retirement-page .retirement-saved-plans { border-top-color:rgba(181,225,203,.26); }
.retirement-page .retirement-result-grid { gap:11px; }
.retirement-page .retirement-result-grid article { min-height:104px; padding:16px; border-color:rgba(181,225,203,.25); border-radius:9px; background:rgba(22,68,53,.52); }
.retirement-page .retirement-result-grid p { color:#e0eee5; font-size:12px; }
.retirement-page .retirement-result-grid strong { color:#fffdf7; font-size:clamp(22px,2.55vw,33px); }
.retirement-page .retirement-result-grid .retirement-highlight strong,.retirement-page .retirement-result-grid article:nth-child(4) strong { color:#8ff2b8; }
.retirement-page .progress-track { background:rgba(210,235,219,.24); }
.retirement-page .progress-track i { background:#8ff2b8; }
.retirement-page .retirement-gap-card { margin-top:13px; padding:16px; border-color:rgba(143,242,184,.62); border-radius:9px; background:rgba(23,83,61,.6); }
.retirement-page .retirement-gap-card .eyebrow { color:#a9f3c8; }
.retirement-page .retirement-gap-card h3 { color:#eff9f2; }
.retirement-page .retirement-gap-card strong { color:#8ff2b8; }
.retirement-page .retirement-gap-card > p:last-child { color:#c5d8cb; }
.retirement-page .retirement-chart-section { margin-top:21px; padding-top:19px; border-top-color:rgba(181,225,203,.28); }
.retirement-page .retirement-chart-section h2 { color:#eff9f2; font-size:15px; }
.retirement-page .retirement-chart-section > p { color:#c2d6c9; font-size:11px; }
.retirement-page .retirement-chart { height:220px; }
.retirement-page .retirement-table-section { margin-top:22px; padding-top:0; }
.retirement-page .retirement-table { color:#e7f2eb; }
.retirement-page .retirement-table th,.retirement-page .retirement-table td { border-color:rgba(181,225,203,.2); }
.retirement-page .retirement-table th { color:#b8cfc1; }
.retirement-page .calculator-explainer { margin-top:26px; border-color:rgba(181,225,203,.27); background:rgba(11,47,36,.6); }
.retirement-page .calculator-explainer h2,.retirement-page .calculator-explainer h3 { color:#edf7f0; }
.retirement-page .calculator-explainer p { color:#c6d8cb; }
.retirement-page .explainer-grid article { border-color:rgba(181,225,203,.23); background:rgba(7,35,26,.36); }
.retirement-page .information-list article { background:rgba(15,54,42,.7); border-color:rgba(181,225,203,.23); }
.retirement-page .information-intro h2,.retirement-page .information-list h3 { color:#edf7f0; }
.retirement-page .information-list p { color:#c6d8cb; }
.retirement-page .site-footer { border-top-color:rgba(181,225,203,.24); color:#b5c8ba; }
.retirement-page .site-footer a { color:#b5c8ba; }
@media (max-width:760px) { .retirement-page .app-shell { padding:18px 15px 30px; }.retirement-page .retirement-intro h1 { font-size:33px; }.retirement-page .retirement-calculator { grid-template-columns:1fr; }.retirement-page .retirement-input-panel { border-right:0; border-bottom:1px solid rgba(181,225,203,.27); }.retirement-page .retirement-input-panel,.retirement-page .retirement-results { padding:20px 16px; }.retirement-page .retirement-core-grid > label,.retirement-page .retirement-core-grid .retirement-mode-field { grid-template-columns:1fr; gap:5px; }.retirement-page .retirement-advanced .retirement-grid { grid-template-columns:1fr; }.retirement-page .retirement-advanced .retirement-grid label { grid-template-columns:1fr 1fr; }.retirement-page .retirement-actions { grid-template-columns:1fr; }.retirement-page .retirement-result-grid { grid-template-columns:1fr 1fr; }.retirement-page .retirement-result-grid article { min-height:0; padding:13px; }.retirement-page .retirement-result-grid strong { font-size:21px; }.retirement-page .retirement-chart { height:185px; }.retirement-page .calculator-explainer { margin-top:21px; }.retirement-page .information { padding-top:55px; } }

@media (prefers-color-scheme:light) {
  body.retirement-page { --ink:#14211e; --muted:#62736b; --line:#cfded6; --paper:#f4faf6; --surface:#fff; --green:#0c8a61; --green-soft:#e3f5ed; --navy:#173e35; --shadow:0 16px 50px rgba(28,55,47,.10); background:radial-gradient(circle at 26% 17%,rgba(74,184,133,.15),transparent 32%),radial-gradient(circle at 85% 0,rgba(40,135,99,.1),transparent 30%),var(--paper); }
  .retirement-page .brand-mark { background:var(--navy); border:0; color:#fff; }
  .retirement-page .site-nav > a,.retirement-page .calculator-nav summary,.retirement-page .topbar-note { color:var(--muted); }
  .retirement-page .intro-copy { color:var(--muted); }
  .retirement-page .retirement-calculator { border-color:var(--line); background:var(--surface); box-shadow:var(--shadow); }
  .retirement-page .retirement-input-panel { border-right-color:var(--line); }.retirement-page .retirement-results { background:color-mix(in srgb,var(--green-soft) 34%,var(--surface)); }
  .retirement-page .retirement-input-panel > p,.retirement-page .retirement-results > p { color:var(--muted); }
  .retirement-page .retirement-core-grid > label,.retirement-page .field-label-row > span,.retirement-page .retirement-advanced summary,.retirement-page .retirement-advanced .retirement-grid label { color:var(--ink); }
  .retirement-page .retirement-mode-toggle { border-color:var(--line); background:var(--surface); }.retirement-page .retirement-mode-toggle button { color:var(--muted); }.retirement-page .retirement-mode-toggle button[aria-pressed="true"] { background:var(--green-soft); color:var(--green); }
  .retirement-page .money-input,.retirement-page .number-input,.retirement-page .tax-rate-input { border-color:#b9c9c1; background:#fff; }.retirement-page .money-input input,.retirement-page .number-input input,.retirement-page .tax-rate-input input { color:var(--ink); }.retirement-page .money-input span,.retirement-page .number-input span,.retirement-page .tax-rate-input span { color:var(--muted); }
  .retirement-page .retirement-advanced { border-top-color:var(--line); }
  .retirement-page .retirement-actions button { border-color:var(--line); background:var(--surface); color:var(--navy); }.retirement-page .retirement-actions button:first-child { background:var(--green); border-color:var(--green); color:#fff; }.retirement-page .retirement-actions button:hover { background:var(--green-soft); }
  .retirement-page .retirement-result-grid article { border-color:var(--line); background:var(--surface); }.retirement-page .retirement-result-grid p { color:var(--muted); }.retirement-page .retirement-result-grid strong { color:var(--ink); }.retirement-page .retirement-result-grid .retirement-highlight strong,.retirement-page .retirement-result-grid article:nth-child(4) strong { color:var(--green); }
  .retirement-page .progress-track { background:var(--line); }.retirement-page .progress-track i { background:var(--green); }
  .retirement-page .retirement-gap-card { border-color:var(--green); background:color-mix(in srgb,var(--green-soft) 62%,var(--surface)); }.retirement-page .retirement-gap-card .eyebrow,.retirement-page .retirement-gap-card strong { color:var(--green); }.retirement-page .retirement-gap-card h3 { color:var(--ink); }.retirement-page .retirement-gap-card > p:last-child { color:var(--muted); }
  .retirement-page .retirement-chart-section { border-top-color:var(--line); }.retirement-page .retirement-chart-section h2 { color:var(--ink); }.retirement-page .retirement-chart-section > p { color:var(--muted); }.retirement-page .retirement-table { color:var(--ink); }.retirement-page .retirement-table th,.retirement-page .retirement-table td { border-color:var(--line); }.retirement-page .retirement-table th { color:var(--muted); }
  .retirement-page .calculator-explainer { border-color:var(--line); background:var(--surface); }.retirement-page .calculator-explainer h2,.retirement-page .calculator-explainer h3,.retirement-page .information-intro h2,.retirement-page .information-list h3 { color:var(--ink); }.retirement-page .calculator-explainer p,.retirement-page .information-list p { color:var(--muted); }.retirement-page .explainer-grid article,.retirement-page .information-list article { border-color:var(--line); background:var(--surface); }
  .retirement-page .site-footer { border-top-color:var(--line); color:var(--muted); }.retirement-page .site-footer a { color:var(--muted); }
}
