:root{--bg:#f1f4f8;--paper:#fff;--ink:#24364e;--muted:#66788d;--blue:#426ac4;--blue-soft:#eaf0fc;--orange:#c3792d;--orange-soft:#fbf0e4;--line:#dce4ee;--red:#a54141;--shadow:0 12px 35px #1e3b6310}
*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #5484da;outline-offset:3px}[hidden]{display:none!important}input[type=range]{width:100%;accent-color:var(--blue);cursor:pointer}h1,h2,h3,p{margin-top:0}h2{font-size:20px;letter-spacing:-.025em;line-height:1.3;margin-bottom:0}h3{font-size:13px;margin-bottom:9px}input[type=number],select{border:1px solid var(--line);background:white;border-radius:9px;color:var(--ink);padding:10px;min-width:0}input[aria-invalid=true]{border-color:var(--red);background:#fff5f5}.shell{width:min(1440px,calc(100% - 56px));margin:auto}.hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px 0 25px}.eyebrow{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:9px}.hero h1{font-size:clamp(34px,4.2vw,58px);line-height:1.15;letter-spacing:-.055em;margin-bottom:13px;font-weight:750}.hero h1 span{color:var(--blue)}.hero>div>p:last-child{font-size:15px;max-width:650px;color:var(--muted);margin-bottom:0}.hero-mark{width:180px;flex:none;text-align:center}.hero-mark svg{display:block;width:160px;height:112px;margin:auto}.hero-mark small{font-size:9px;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:22px;padding:15px 0 23px;border-bottom:1px solid var(--line);margin-bottom:24px;font-size:12px}.horizon{color:var(--muted);margin-right:auto}.horizon i{display:inline-block;border:2px solid var(--blue);width:8px;height:8px;border-radius:50%;margin-right:7px}.switch{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}.switch input{width:1px;height:1px;position:absolute;opacity:0}.switch-track{position:relative;width:34px;height:20px;border-radius:20px;background:#c7d2e1;transition:.2s;flex:none}.switch-track:after{content:"";position:absolute;width:14px;height:14px;top:3px;left:3px;border-radius:50%;background:white;box-shadow:0 1px 3px #182d491a;transition:.2s}.switch input:checked+.switch-track{background:var(--blue)}.switch input:checked+.switch-track:after{transform:translateX(14px)}.switch input:focus-visible+.switch-track{outline:3px solid #5484da;outline-offset:3px}.currency{display:flex;align-items:center;gap:8px;color:var(--muted)}.currency select{padding:6px 10px;font-size:11px}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start}.settings,.results{min-width:0}.settings{display:grid;gap:16px}.card{border:1px solid var(--line);border-radius:19px;background:var(--paper);box-shadow:var(--shadow);padding:24px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.option-tag{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:800;flex:none}.option-b .option-tag{background:var(--orange-soft);color:var(--orange)}.option-b .eyebrow{color:var(--orange)}.input-card{padding:24px 22px;border-top:3px solid var(--blue)}.input-card.option-b{border-top-color:var(--orange)}.field{display:block;margin-top:14px;min-width:0}.field>span{display:block;font-size:11px;font-weight:700;margin-bottom:6px}.field small{display:block;font-size:9px;color:var(--muted);margin-top:5px;line-height:1.5}.input-wrap{position:relative}.input-wrap input{width:100%;padding:10px 45px 10px 11px;font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.input-wrap>span{position:absolute;right:12px;top:15px;color:var(--muted);font-size:10px;pointer-events:none}.return-slider{margin:10px 0 0}.fee-block{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.fee-block h3{font-size:11px;color:var(--muted);margin:0 0 0}.fee-block h3:not(:first-child){margin-top:19px}.fee-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fee-fields .field{margin-top:8px}.fee-fields input{font-size:14px;padding:9px 38px 9px 9px}.fee-fields .input-wrap>span{top:12px;right:9px;font-size:9px}.fee-fields .field>span{font-size:10px}.text-button{background:transparent;border:0;padding:0;color:var(--blue);font-size:10px;font-weight:650;text-decoration:underline;text-underline-offset:3px;margin-bottom:5px}.secondary{padding:9px 13px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;color:var(--ink);font-size:11px;font-weight:650}.secondary:hover{background:#edf2fa}.input-note{font-size:10px;color:var(--muted);line-height:1.6;margin:0}.reset{width:100%}.results{display:grid;gap:19px}.summary{display:grid;gap:14px;grid-template-columns:1fr}.result-card{border:1px solid var(--line);border-radius:19px;padding:23px 26px;background:linear-gradient(125deg,#203c69,#2f5790);color:white;min-width:0;box-shadow:var(--shadow)}.result-card.b{background:linear-gradient(125deg,#714928,#956631)}.result-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.02em;color:#c5d7f3}.result-label .option-tag{background:#ffffff20;color:white;font-size:11px;width:25px;height:25px}.result-card.b .result-label{color:#f2dcc3}.result-card>p{font-size:12px;margin:12px 0 3px;color:#d3e2f8}.result-card.b>p{color:#f6e6d4}.result-card>strong{display:block;font-size:clamp(28px,3vw,43px);letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1.3;overflow-wrap:anywhere}.summary-details{display:flex;gap:35px;border-top:1px solid #ffffff26;padding-top:16px;margin-top:19px}.summary-details>div{display:grid;gap:3px;min-width:0}.summary-details span{font-size:9px;color:#c5d7f3}.result-card.b .summary-details span{color:#f2dcc3}.summary-details b{font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.summary-details .negative{color:#ffcfce}.comparison-result{border:1px solid var(--line);background:white;border-radius:14px;padding:16px 20px;grid-column:1/-1;display:flex;gap:18px;align-items:center}.comparison-result>span{font-size:11px;color:var(--muted)}.comparison-result strong{font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.comparison-result small{font-size:10px;margin-left:auto;color:var(--muted);max-width:380px}.chart-extra{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);white-space:nowrap;cursor:pointer}.chart-extra input{accent-color:var(--blue)}.legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-bottom:16px}.legend>span{display:flex;align-items:center;gap:7px}.legend-line{width:19px;height:0;border-top:3px solid var(--blue)}.legend-line.b{border-color:var(--orange)}.legend-line.contributions{border-color:#a3adb8;border-top-style:dotted;border-top-width:2px}.legend-line.free{border-top-style:dashed;border-top-width:2px}.chart{min-width:0;touch-action:pan-y}.chart svg{display:block;width:100%;height:auto;min-height:190px}.chart text{font-family:inherit;font-size:11px;fill:var(--muted)}.year-control{display:flex;align-items:center;gap:17px;margin:8px 0 17px;font-size:10px;color:var(--muted)}.year-control label{white-space:nowrap}.year-control output{font-weight:750;color:var(--blue);font-size:14px;min-width:24px;text-align:right}.year-detail{display:grid;grid-template-columns:1fr;gap:12px}.year-option{padding:14px 17px;border-radius:12px;background:#f0f4fc;border-left:3px solid var(--blue)}.year-option.b{background:#fbf3e9;border-color:var(--orange)}.year-option>span{font-size:10px;color:var(--muted);display:block}.year-option strong{font-size:20px;color:var(--blue);display:block;margin:4px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.year-option.b strong{color:var(--orange)}.year-option small{font-size:10px;color:var(--muted);display:block;overflow-wrap:anywhere}.chart-hint{font-size:10px;color:var(--muted);margin:14px 0 0;line-height:1.6}.chip{font-size:9px;white-space:nowrap;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:6px 10px;color:var(--muted)}.breakdown{display:grid;grid-template-columns:1fr;gap:26px}.cost-option{min-width:0}.cost-option h3{color:var(--blue);font-size:12px;margin-bottom:15px}.cost-option.b h3{color:var(--orange)}.cost-line{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:11px 0;font-size:11px;flex-wrap:wrap}.cost-line span{color:var(--muted)}.cost-line b{font-variant-numeric:tabular-nums}.cost-line.fee b{color:#897044}.cost-line.total{border-top:1px solid var(--line);padding-top:13px;font-weight:800}.cost-line.total span{color:var(--ink)}.cost-insight{margin-top:21px;border-radius:12px;background:#f3f6fb;padding:16px}.cost-insight>span{display:block;font-size:10px;color:var(--muted)}.cost-insight strong{font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:block;margin:3px 0 8px}.cost-insight small{display:block;font-size:10px;line-height:1.7;color:var(--muted)}.hint{font-size:10px;color:var(--muted);line-height:1.6;margin:13px 0 0}.notice{border:1px solid #ead6b2;border-radius:12px;background:#fff6e7;padding:14px 17px;font-size:11px;color:#805c26;line-height:1.6}.results.invalid #summary,.results.invalid .chart-card,.results.invalid .cost-card,.results.invalid .table-card{opacity:.38}.table-card .card-heading{margin-bottom:15px}.table-scroll{overflow:auto;margin-top:15px}.table-scroll table{width:100%;border-collapse:collapse;font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;min-width:540px}.table-scroll caption{text-align:left;font-size:9px;padding-bottom:10px;color:var(--muted)}.table-scroll th{background:#f0f3f8;padding:9px 11px}.table-scroll td{padding:9px 11px;border-bottom:1px solid var(--line)}.table-scroll th:first-child{text-align:left}.table-scroll .value-a{color:var(--blue);font-weight:650}.table-scroll .value-b{color:var(--orange);font-weight:650}.table-scroll .selected td,.table-scroll .selected th{background:#eef3ff}details>summary{cursor:pointer;font-size:11px;font-weight:650;color:var(--ink)}.explanation{margin-top:24px;padding:28px}.explanation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:25px}.explanation article{min-width:0}.explanation h3{font-size:13px}.explanation p{font-size:11px;color:var(--muted);line-height:1.75;margin-bottom:12px}.sources{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.sources a{color:var(--blue);line-height:2}footer{display:flex;justify-content:space-between;gap:12px;padding:26px 0;color:var(--muted);font-size:10px}
.workspace.comparing{grid-template-columns:1fr}.comparing .settings{grid-template-columns:1fr 1fr;align-items:start}.comparing .reset{width:auto;justify-self:start}.comparing .input-note{align-self:center}.comparing .capital-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.comparing .rate-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.comparing .return-slider{grid-column:1;grid-row:2;margin:-3px 0 0}.comparing .rate-fields .field:last-child{grid-column:2;grid-row:1}.comparing .fee-block{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.comparing .fee-block h3:first-child{grid-column:1;grid-row:1}.comparing .fee-block>.fee-fields:nth-child(2){grid-column:1;grid-row:2}.comparing .fee-block h3:nth-child(3){grid-column:2;grid-row:1;margin:0}.comparing .fee-block>.fee-fields:last-child{grid-column:2;grid-row:2}.comparing .summary{grid-template-columns:1fr 1fr}.comparing .year-detail,.comparing .breakdown{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.comparing .cost-option+.cost-option{border-left:1px solid var(--line);padding-left:26px}
@media(max-width:1050px){.shell{width:calc(100% - 36px)}.workspace{grid-template-columns:280px minmax(0,1fr);gap:17px}.card{padding:21px}.input-card{padding:21px 18px}.result-card{padding:21px}.summary-details{gap:20px}.summary-details b{font-size:12px}.hero-mark{width:150px}.hero-mark svg{width:135px}.card-heading{gap:12px}.chart-card .card-heading{flex-wrap:wrap}.comparing .fee-block{grid-template-columns:1fr}.comparing .fee-block h3:nth-child(3){grid-column:1;grid-row:3;margin-top:18px}.comparing .fee-block>.fee-fields:last-child{grid-column:1;grid-row:4}.explanation-grid{gap:22px}.comparison-result{flex-wrap:wrap;gap:8px 18px}.comparison-result small{margin-left:0}}
@media(max-width:780px){.workspace{grid-template-columns:1fr}.hero{padding:27px 0 20px}.hero-mark{display:none}.hero h1{font-size:43px}.toolbar{flex-wrap:wrap;gap:13px 20px;font-size:11px;margin-bottom:20px}.horizon{width:100%}.currency{margin-left:auto}.input-card .capital-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.input-card .rate-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.input-card .return-slider{grid-column:1;grid-row:2;margin:0}.input-card .rate-fields .field:last-child{grid-column:2;grid-row:1}.input-card .fee-block{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.input-card .fee-block h3:nth-child(3){grid-column:2;grid-row:1;margin:0}.input-card .fee-block>.fee-fields:nth-child(2){grid-column:1;grid-row:2}.input-card .fee-block>.fee-fields:last-child{grid-column:2;grid-row:2}.settings{gap:13px}.input-card .card-heading{margin-bottom:8px}.results{gap:16px}.explanation-grid{grid-template-columns:1fr;gap:18px}.explanation article+article{border-top:1px solid var(--line);padding-top:20px}.comparing .settings{grid-template-columns:1fr 1fr}.comparing .input-card .capital-fields,.comparing .input-card .rate-fields{display:block}.comparing .input-card .fee-block{display:block}.comparing .input-card .fee-block h3:nth-child(3){margin-top:18px}.comparing .capital-fields .field:first-child{margin-top:14px}.comparing .input-card .return-slider{margin-top:10px}.explanation{padding:24px}}
@media(max-width:520px){.shell{width:calc(100% - 24px)}.hero h1{font-size:36px}.hero>div>p:last-child{font-size:13px}.eyebrow{font-size:9px}.toolbar{font-size:10px}.currency{font-size:10px}.currency select{font-size:10px;padding:5px 7px}.workspace{gap:16px}.card{padding:19px;border-radius:16px}.card-heading{margin-bottom:16px}.card-heading h2{font-size:18px}.input-card{padding:20px 18px}.input-card .fee-block{display:block}.input-card .fee-block h3:nth-child(3){margin-top:18px}.capital-fields,.rate-fields{gap:13px!important}.field>span{font-size:10px}.field small{font-size:9px}.input-wrap input{font-size:16px;padding:10px 40px 10px 9px}.fee-fields input{font-size:14px}.fee-fields{gap:13px}.result-card{padding:21px;border-radius:16px}.result-card>strong{font-size:32px}.summary-details{gap:20px}.summary-details span{font-size:8px}.summary-details b{font-size:12px}.chart svg{min-height:150px}.chart text{font-size:14px}.year-control{gap:10px}.year-option strong{font-size:19px}.year-option small{font-size:9px}.chart-extra{font-size:9px}.legend{gap:14px;font-size:9px}.cost-line{font-size:10px;gap:8px}.cost-insight strong{font-size:20px}.table-card .card-heading{flex-wrap:wrap}.secondary{font-size:10px;padding:9px 11px}.comparing .settings{grid-template-columns:1fr}.comparing .reset,.comparing .input-note{grid-column:1}.comparing .capital-fields,.comparing .rate-fields{display:grid!important;grid-template-columns:1fr 1fr}.comparing .input-card .return-slider{grid-column:1;grid-row:2;margin-top:0}.comparing .input-card .rate-fields .field:last-child{grid-column:2;grid-row:1}.comparing .summary,.comparing .year-detail,.comparing .breakdown{grid-template-columns:1fr}.comparing .cost-option+.cost-option{border-left:0;border-top:1px solid var(--line);padding:21px 0 0}.comparison-result{padding:17px}.comparison-result strong{font-size:20px}.comparison-result small{width:100%;font-size:10px}.explanation{padding:22px 19px}footer{font-size:9px;flex-direction:column;gap:3px}.chip{font-size:8px;padding:5px 8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media print{.settings,.toolbar,#download,.year-control,.chart-extra,footer{display:none}.shell{width:100%}.workspace{display:block}.card,.result-card{box-shadow:none;break-inside:avoid}.explanation-grid{grid-template-columns:1fr}.result-card{color:var(--ink);background:white}.result-card p,.result-card .result-label,.result-card .summary-details span{color:var(--muted)}}
