:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#142e43;background:#f3f7fa;font-size:16px}
*{box-sizing:border-box}
body{margin:0}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:#0b6680}
.shell{max-width:1460px;margin:auto;padding:0 28px}
header{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7e3eb}
.brand{font-weight:780;font-size:1.17rem;letter-spacing:-.025em;display:flex;align-items:center;gap:12px;color:#102a43}
.mark{display:grid;place-items:center;width:33px;height:33px;background:#0e687f;color:white;border-radius:10px;font-size:1.35rem}
.header-meta{display:flex;align-items:center;gap:12px}.header-note,.small,.footnote{color:#637989;font-size:.88rem;line-height:1.5}.release-stamp{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid #b8d6df;background:#e8f5f7;color:#0a5c71;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:750;font-variant-numeric:tabular-nums}
.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:26px 0 24px}
.eyebrow{font-size:.76rem;letter-spacing:.14em;font-weight:800;color:#0a718b;margin:0 0 7px}
.intro h1{font-size:clamp(1.75rem,3vw,2.7rem);letter-spacing:-.045em;margin:0 0 6px;line-height:1.1}
.intro p:last-child{margin:0;color:#5e7383;line-height:1.45}
.workspace{display:grid;grid-template-columns:minmax(300px,350px) minmax(0,1fr);gap:22px;align-items:start}
.inputs,.card,.hero-card{background:#fff;border:1px solid #dbe6ec;border-radius:18px;box-shadow:0 4px 24px #193c5410}
.inputs{padding:23px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.inputs h2,.card h2{font-size:1.2rem;letter-spacing:-.025em;margin:0}
.inputs>.small{margin:7px 0 20px}
.group{border-top:1px solid #e6edf2;margin-top:15px;padding-top:15px}
.group h3{font-size:.83rem;text-transform:uppercase;letter-spacing:.09em;color:#506a7b;margin:0 0 12px}
.field{margin:0 0 12px}
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}.field-label-row label{font-size:.9rem;font-weight:650}.help-toggle{display:grid;place-items:center;flex:none;width:24px;height:24px;padding:0;border:1px solid #a9c9d4;border-radius:50%;background:#f3fafb;color:#08667e;font-size:.88rem;font-weight:800;line-height:1}.help-toggle:hover,.help-toggle[aria-expanded="true"]{background:#dceff3;border-color:#0d829e}.help-toggle:focus-visible{outline:3px solid #78b5c2;outline-offset:2px}.field-help{margin:7px 0 0;padding:8px 10px;background:#f1f8fa;border-left:3px solid #65aebe;border-radius:6px;color:#466979;font-size:.82rem;line-height:1.42}
.field input,.field select{width:100%;height:39px;border:1px solid #c9d9e2;background:#fbfdfe;border-radius:9px;padding:7px 10px;color:#173449;outline:none}
.field input:focus,.field select:focus{border-color:#0681a1;box-shadow:0 0 0 3px #0b8eaa26}
.field .hint{display:block;color:#708593;font-size:.78rem;line-height:1.35;margin-top:4px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.input-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}
.private-save{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}.private-save .small{margin:0}.private-save .quiet{flex:none;padding:7px 9px;font-size:.78rem}
.primary,.quiet{border-radius:9px;padding:10px 14px;font-weight:700;font-size:.88rem}
.primary{border:1px solid #0d637c;color:white;background:#0e6c85}
.primary:hover{background:#0b526b}
.quiet{border:1px solid #c8dbe4;background:#fff;color:#20546b}
.quiet:hover{background:#edf5f8}
.error{background:#fff0ed;color:#9c3b2b;border-radius:8px;padding:10px;font-size:.88rem}
.results{display:grid;gap:16px;min-width:0}
.hero-card{padding:23px 26px;background:linear-gradient(120deg,#102e44,#164e62);color:#fff;border:0}
.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.hero-card .eyebrow{color:#95d7e4}
.hero-card h2{font-size:1.45rem;line-height:1.25;letter-spacing:-.025em;margin:0 0 10px}
.hero-card p{color:#c9dde5;line-height:1.5;margin:0}
.hero-card strong{color:#fff}
.hero-badge{flex:none;padding:7px 10px;border:1px solid #ffffff55;background:#ffffff1c;border-radius:999px;font-size:.78rem}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:21px}
.metric{border-top:1px solid #ffffff4a;padding-top:11px}
.metric b{display:block;font-size:1.27rem;letter-spacing:-.035em}
.metric span{color:#c9dce5;font-size:.82rem}
.card{padding:21px 23px}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.legend{display:flex;gap:13px;flex-wrap:wrap;font-size:.78rem;color:#546c7b}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}
.blue{background:#3179b8}
.teal{background:#099987}
.gold{background:#d6a438}
.chart-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px;font-size:.82rem;color:#607786}
.chart-controls button{background:#f3f8fa;border:1px solid #d4e2e9;border-radius:6px;color:#45687a;padding:4px 9px;font-size:.78rem}
.chart-controls button.active{background:#dceff3;border-color:#78b5c2;color:#075b72}
.chart{width:100%;height:275px;overflow:visible}
.axis{fill:#728795;font-size:11px}
.gridline{stroke:#e4edf1;stroke-width:1}
.chart-caption{margin-top:4px;font-size:.83rem;color:#637989}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#68808d;font-weight:750;background:#f6f9fa}
td,th{padding:12px 10px;border-bottom:1px solid #e4ecf0}
td{font-size:.91rem}
td:first-child,th:first-child{text-align:left;font-weight:700}
tr.highlight td{background:#eef8f9}
.footnote{margin:12px 0 0}
.detail{font-size:.9rem;line-height:1.55;color:#4d6676}
.detail p{margin:0 0 9px}
.detail ul{margin:6px 0;padding-left:19px}
.detail li{margin:5px 0}
footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d7e3eb;padding:20px 0 35px;margin-top:25px;font-size:.82rem;color:#718593}
@media(max-width:950px){.workspace{grid-template-columns:1fr}
.inputs{position:static;max-height:none}
.inputs #fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}
.group{margin-top:0}
}
@media(max-width:650px){.shell{padding:0 15px}
header{height:62px}
.header-note{display:none}
.header-meta{gap:0}
.release-stamp{font-size:.62rem;padding:4px 6px}
.intro{align-items:flex-start;flex-direction:column}
.inputs,.card,.hero-card{padding:18px}
.inputs #fields{display:block}
.metrics{grid-template-columns:1fr 1fr}
.hero-top{display:block}
.hero-badge{display:inline-block;margin-top:13px}
.section-head{flex-direction:column;gap:9px}
.chart{height:230px}
footer{flex-direction:column}
}

.drag-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:13px 16px;margin:0 0 13px;background:#f3f8fa;border:1px solid #dbe8ed;border-radius:12px}
.drag-controls label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;font-size:.9rem;font-weight:650;color:#24465a}
.drag-controls output{font-variant-numeric:tabular-nums;font-size:1.1rem;color:#075f79}
.drag-controls input{grid-column:1/-1;width:100%;height:28px;accent-color:#0e7891;cursor:pointer}
.drag-controls input:focus-visible{outline:3px solid #7ac3d5;outline-offset:2px}
.control-divider{margin-left:10px}
.english-summary{background:linear-gradient(135deg,#f7fcfd,#e8f5f7);border-color:#b9d9e2}
.english-summary h2{margin:0;font-size:1.2rem}
.english-summary p{margin:0;line-height:1.55;color:#35586a}
.english-summary ul{margin:12px 0 0;padding-left:20px;color:#35586a;line-height:1.55}
.english-summary li{margin:5px 0}
@media(max-width:650px){.drag-controls{grid-template-columns:1fr}
.control-divider{margin-left:0}
}

.return-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.return-path{min-width:0;background:#f8fbfc;border:1px solid #dbe6ec;border-radius:12px;padding:12px}.return-path h3{font-size:1rem;margin:0 0 8px}.return-path svg{width:100%;height:auto;display:block}.return-path p{font-size:.8rem;color:#637989;line-height:1.4;margin:2px 0 0}
.retirement-answer{margin:0 0 14px;padding:12px 14px;background:#edf7f8;border-left:4px solid #0e718a;border-radius:7px;color:#234b60;font-weight:650;line-height:1.45}.comparison-controls{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end}.comparison-controls .small{margin:0}.retirement-age-chart{height:290px}.age-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:7px 14px;margin-top:10px}.age-legend-item{font-size:.88rem;color:#506a7b}.age-legend-item.active{font-weight:750;color:#1e4356}@media(max-width:650px){.retirement-age-chart{height:245px}.age-legend{grid-template-columns:1fr}.comparison-controls{width:100%}.comparison-controls label{flex:1 1 150px}}

.plan-section{border-top:1px solid #dbe6ec}.plan-section>summary{list-style:none;display:flex;gap:11px;align-items:flex-start;cursor:pointer;padding:17px 0;color:#173449}.plan-section>summary::-webkit-details-marker{display:none}.plan-section>summary:after{content:'+';margin-left:auto;font-size:1.3rem;color:#0e6c85}.plan-section[open]>summary:after{content:'−'}.section-number{flex:none;display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#e5f2f5;color:#09677f;font-size:.88rem;font-weight:750}.plan-section strong{font-size:1rem}.section-value{display:block;font-size:.88rem;line-height:1.45;color:#637989;margin-top:4px;font-weight:400}.plan-section-body{padding:0 0 18px}.plan-section-body>.small{margin:0 0 15px}.plan-section-body h3{font-size:1rem;margin:14px 0 8px}.market-years{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.field .hint{font-size:.875rem;line-height:1.4}.inputs{padding:20px}.input-actions{margin-top:10px}.inputs>.small{margin-bottom:12px}.inputs #fields{display:block!important}.inputs .input-actions{gap:7px}.inputs .field input,.inputs .field select{height:44px}.results{scroll-margin-top:15px}.return-paths{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}summary:focus-visible{outline:3px solid #78b5c2;outline-offset:2px}
@media(max-width:950px){.inputs{max-height:none}.plan-section-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.plan-section-body>.small,.plan-section-body>button,.plan-section-body>h3,.plan-section-body>.market-years{grid-column:1/-1}}
@media(max-width:650px){.plan-section-body{display:block}.inputs{padding:18px}.section-value{font-size:.875rem}.header-meta{text-align:right}.release-stamp{font-size:.75rem}}
