:root{--ink:#282b33;--muted:#777b86;--blue:#5269c9;--blue-soft:#f0f2fc;--line:#e9e9ee;--paper:#fff;--bg:#faf9f7;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b8c2f5;outline-offset:3px}svg{height:20px;width:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{max-width:1000px;margin:0 auto;height:100px;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:650;letter-spacing:.5px}.brand-mark{width:33px;height:33px;border-radius:11px;display:grid;place-items:center;background:#e9ecf8;color:var(--blue)}.brand-mark svg{width:20px;height:20px}.text-button{border:0;background:transparent;color:var(--blue);padding:4px 0;font-size:13px;display:inline-flex;align-items:center;gap:7px;line-height:1.5}.text-button:hover{color:#354aab}.text-button svg{width:16px;height:16px}.page-content{max-width:672px;margin:27px auto 88px;padding:0 20px}.entry-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 26px;padding:0 2px}h1{font-size:30px;line-height:1.3;letter-spacing:-.7px;font-weight:650;margin:0}h1:focus{outline:0}h2{font-size:17px;font-weight:600;margin:0;line-height:1.5}h3{font-size:14px;font-weight:600}.data-status{display:flex;align-items:center;gap:15px;font-size:12px;white-space:nowrap}.data-status>span{color:var(--muted)}.data-status .text-button{font-size:12px}.card{background:var(--paper);border-radius:22px}.input-card{padding:28px 32px 24px;border:1px solid #f0eff2;box-shadow:0 8px 32px #28283404}.tabs{display:flex;gap:24px;margin:0 0 27px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:transparent;padding:0 0 14px;position:relative;font-size:15px;color:#888c97;display:flex;align-items:center;gap:7px}.tabs button svg{width:16px;height:16px}.tabs .active{color:var(--ink);font-weight:600}.tabs .active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ink);border-radius:2px}.form-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 22px;font-size:12px;color:var(--muted)}.form-switch select{background-color:transparent;width:auto;max-width:250px;border:0;min-height:30px;padding:2px 23px 2px 0;font-size:12px;color:#777b86}.field{min-width:0;margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.field label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:450;color:#555963}.field-note,.optional{font-size:11px;color:#9699a3;font-weight:400}.field-note{margin-left:auto}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{width:100%;min-width:0;border:1px solid #e4e5ec;background:#fff;border-radius:10px;padding:11px 14px;min-height:48px;color:var(--ink);line-height:1.5;transition:border-color .15s,box-shadow .15s}input{font-size:17px;font-variant-numeric:tabular-nums}input::placeholder,textarea::placeholder{color:#a5a8b3;font-size:13px}input:hover,select:hover,textarea:hover{border-color:#c4c8d8}input:focus,select:focus,textarea:focus{border-color:#8d9bdc}select{appearance:none;padding-right:35px;font-size:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='m3 4 3 3 3-3' stroke='%23868a97' fill='none' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}textarea{resize:vertical;font-size:13px;line-height:1.8}.input-with-unit{position:relative}.input-with-unit input{padding-right:54px}.input-with-unit>span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;color:#858996;pointer-events:none}.field small,.field-help{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.field-help{margin-top:10px}.form-details{padding:14px 0;border-top:1px solid var(--line)}summary{list-style:none}summary::-webkit-details-marker{display:none}.form-details summary{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#737784;align-items:center}.form-details summary span{font-size:12px;color:#a3a6af}.form-details[open]>summary{margin-bottom:19px}.details-inner{padding-top:2px}.checkbox-line{font-size:12px;display:flex;align-items:flex-start;gap:9px;color:#727682;line-height:1.8}.checkbox-line input{width:16px;height:16px;min-height:0;padding:0;margin:3px 0;accent-color:var(--blue)}.section-divider{height:1px;background:var(--line);margin:12px 0 25px}.subheading{margin-bottom:14px}.subheading h2{font-size:14px;font-weight:500}.amount-input{display:flex;align-items:center;gap:8px;background:#f6f7fc;padding:12px 17px;border:1px solid #eff0f8;border-radius:12px}.amount-input>span{font-size:22px;color:#9199bd}.amount-input input{font-size:34px;font-weight:550;border:0;background:transparent;padding:0;height:50px;min-height:0;outline:none;color:#34488f;box-shadow:none}.amount-input input:focus-visible{outline:2px solid #b8c2f5;outline-offset:6px}.amount-input b{font-size:13px;font-weight:400;color:#8a91aa;white-space:nowrap}.amount-chips{display:flex;gap:9px;margin:12px 0 22px}.amount-chips button{flex:1;white-space:nowrap;border:1px solid #e7e8f0;border-radius:8px;background:#fff;min-height:35px;font-size:12px;color:#737988}.amount-chips button.active{background:var(--blue-soft);color:#5269c9;border-color:#b9c3ec}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:10px;padding:11px 18px;font-size:14px;border:1px solid transparent}.button.primary{background:#5269c9;color:#fff;border-color:#5269c9}.button.primary:hover{background:#445bb8}.button.outline,.button.secondary{border-color:#dce0ed;background:#fff;color:var(--blue)}.small{font-size:12px;min-height:36px;padding:8px 12px}.full{width:100%}.calculate{margin-top:16px;min-height:50px;font-weight:500;position:relative}.calculate svg{position:absolute;right:18px;width:18px;height:18px}.input-footnote{text-align:center;margin:12px 0 0;font-size:11px;color:#9a9da7}.form-error{color:#a34f3a;background:#fff2ee;border-radius:10px;padding:12px 14px;font-size:13px;margin:14px 0 0}.inline-note{font-size:12px;line-height:1.8;background:#f5f6fa;border-radius:9px;padding:12px;color:#797e8b}.history-record{background:#f8f8fc;border-radius:12px;padding:16px;margin:16px 0}.record-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:12px}.history-record .field{margin-bottom:14px}.history-record input,.history-record select{font-size:13px;min-height:42px}.icon-button{border:0;background:transparent;width:30px;height:30px;display:grid;place-items:center;color:#858b9c;border-radius:8px}.icon-button svg{width:16px;height:16px}.icon-button:hover{background:#eeeef6}
.results-intro{margin-bottom:26px}.results-title{display:flex;align-items:center;justify-content:space-between;gap:18px}.pill{color:#9296a2;font-size:11px}.results-context{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px;color:#858996;margin-top:14px}.results-context .text-button{font-size:12px;white-space:nowrap}.result-card{padding:28px 32px 10px;border:1px solid #f0eff2;box-shadow:0 8px 32px #28283404}.result-controls{display:flex;flex-direction:column-reverse;gap:18px;align-items:center}.result-controls>span{font-size:13px;color:#858996}.segmented{display:flex;gap:4px;background:#f3f4f8;border-radius:10px;padding:4px}.segmented button{border:0;background:transparent;border-radius:7px;padding:9px 27px;font-size:13px;color:#848998;min-height:38px}.segmented button.active{background:#fff;color:#353b50;box-shadow:0 2px 6px #252c4610}.metrics{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:0;margin:24px 0}.metric{padding:4px 10px 18px;min-width:0}.metric.primary-metric{grid-column:1/-1;padding:0 0 27px}.metric:last-child{border-left:1px solid #ededf3}.metric>span{font-size:12px;color:#868b98;display:flex;justify-content:center;align-items:center;gap:6px}.metric>div{display:flex;justify-content:center;align-items:baseline;gap:6px;margin:7px 0 3px;white-space:nowrap}.metric b{font-size:31px;font-weight:550;letter-spacing:-1px;font-variant-numeric:tabular-nums;line-height:1.4}.metric em{font-size:12px;font-style:normal;color:#9499a6}.primary-metric b{font-size:64px;font-weight:550;color:#5269c9;letter-spacing:-2.5px;line-height:1.2}.primary-metric>div{margin:7px 0 5px;gap:9px}.primary-metric em{font-size:14px}.metric small{display:block;color:#a0a4ae;font-size:11px;line-height:1.6}.metric i{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid #c1c6d6;border-radius:50%;font-size:9px;font-style:normal;color:#989fb5}.conclusion{background:#f3f5fc;border-radius:12px;padding:16px 18px;margin-bottom:23px}.conclusion strong{font-size:14px;font-weight:500;color:#4f609b}.conclusion p{font-size:12px;color:#8992af;line-height:1.9;margin:6px 0 0}.disclosure{border-top:1px solid var(--line);padding:17px 0}.disclosure>summary,.advanced-details>summary,.methodology>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:#6b7180}.disclosure>summary>span,.advanced-details>summary>span,.methodology>summary>span{color:#a7acb8;font-size:14px}.disclosure[open]>summary{margin-bottom:18px}.disclosure[open]>summary>span,.form-details[open]>summary>span,.advanced-details[open]>summary>span,.methodology[open]>summary>span{transform:rotate(45deg)}.advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:19px}.advanced-grid select,.advanced-grid input{font-size:14px}.comparison-wrap,.amount-table-wrap{overflow:auto}.comparison{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}.comparison th{font-size:11px;font-weight:400;color:#9ba0ac;text-align:right;padding:10px 8px;border-bottom:1px solid #eceef4}.comparison td{padding:14px 8px;text-align:right;color:#656c7c;border-bottom:1px solid #f0f1f6;font-variant-numeric:tabular-nums}.comparison th:first-child,.comparison td:first-child{text-align:left;padding-left:3px}.comparison td small{font-size:10px;color:#9ca2af}.comparison tr.chosen{background:#f8f9fd}.table-tag{font-size:9px;display:inline-block;padding:1px 4px;margin-left:5px;color:#7887ba;background:#eef1fc;border-radius:4px}.result-footnote{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;color:#9fa4b1;padding-top:13px}.result-footnote .text-button{font-size:11px}.amount-table-wrap{padding-top:18px}.amount-table-wrap table{min-width:460px}.amount-table-wrap .field-help{font-size:11px}.chart-card{margin:12px 5px 0}.chart-content{padding:0 5px}.legend{display:flex;justify-content:flex-end;gap:18px;font-size:11px;color:#9299aa}.legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{height:5px;width:5px;border-radius:50%;display:inline-block}.orange{background:#b9bcca}.green{background:#7c8dce}.interest-chart{margin:13px 0 0}.interest-chart svg{width:100%;height:auto;stroke:none}.chart-bottom{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#989eaf}.chart-bottom b{font-size:11px;font-weight:400;color:#7a89bf}.future-card{margin:14px 5px 0;padding-top:15px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.card-heading h2{font-size:15px;font-weight:500}.muted{color:var(--muted)}.tiny{font-size:11px;color:#a4a8b4}.scenario-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:18px 0 21px}.scenario{padding:15px 10px;border:1px solid #e9eaf1;border-radius:12px;text-align:center;background:#fff;color:#83899a;min-width:0;line-height:1.6}.scenario strong{display:block;font-size:12px;font-weight:500;white-space:nowrap}.scenario small{font-size:10px;color:#a7acb8;display:block;margin-top:5px}.scenario.active{background:#eef1fc;border-color:#bcc6ee;color:#5269c9}.scenario.active small{color:#98a4d0}.scenario:hover{border-color:#b9c3e6}.advanced-details{padding:17px 0;border-top:1px solid var(--line)}.advanced-details[open]>summary{margin-bottom:18px}.reference-empty{font-size:12px;line-height:1.9;padding:6px 0 0;color:#9ba1af;display:flex;gap:13px}.reference-empty>svg{display:none}.reference-empty strong{font-size:12px;font-weight:400}.reference-empty p{margin:5px 0}.reference-empty a{color:#7585b9;font-size:12px}.methodology{margin:0 5px;padding:17px 0;border-top:1px solid var(--line);border-radius:0;background:none}.methodology-body{padding-top:16px;font-size:12px;color:#939aa9;line-height:1.9}.methodology-body h3{font-size:12px;font-weight:500;color:#767f93}.methodology-body a{color:#7b8ab7}.audit-list{border-top:1px solid var(--line);margin-top:18px;padding-top:10px}.audit-rate{display:inline-block;padding:3px 6px;margin:4px 4px 4px 0;border:1px solid #e4e7f0;border-radius:5px;font-size:10px}.schedule-scroll{overflow:auto;max-height:330px;margin-top:16px}.schedule-scroll table{min-width:480px}
.drop-zone{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;cursor:pointer;padding:36px 20px;background:#f8f9fd;border:1px dashed #c4cce7;border-radius:14px}.drop-zone.dragover{background:#eef1fc;border-color:#8295d9}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-icon{width:50px;height:50px;background:#eef1fc;color:#7e8fc6;display:grid;place-items:center;border-radius:15px;margin-bottom:2px}.upload-icon svg{width:23px;height:23px}.drop-zone strong{font-size:14px;font-weight:500;color:#646f95}.drop-zone>span:not(.upload-icon):not(.upload-button){font-size:11px;color:#a0a8bd}.upload-button{background:#fff;color:#7485b9;border:1px solid #d9dff1;padding:7px 19px;border-radius:8px;font-size:12px;margin-top:5px}.privacy-hint{color:#a0a6b5;font-size:11px;line-height:1.9;margin:16px 0}.import-status{background:#f0f3fc;border-radius:12px;padding:15px;font-size:12px;line-height:1.9;color:#7786b4;margin:16px 0;overflow-wrap:anywhere}.import-status.error{color:#a2644f;background:#fff2ec}.import-status .text-button{margin-top:12px;display:block}.import-status strong{font-weight:500}.toast{position:fixed;z-index:50;bottom:26px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#41485d;color:#fff;border-radius:12px;box-shadow:0 8px 30px #25325b22;font-size:12px;max-width:calc(100vw - 32px);text-align:center}dialog{width:calc(100vw - 40px);max-width:420px;border:1px solid #e5e7ef;border-radius:22px;padding:28px;color:var(--ink);box-shadow:0 20px 80px #333d5922}dialog::backdrop{background:#252f4455;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-heading h2{font-size:17px}dialog p{font-size:12px;line-height:1.9;color:#929aab;margin:16px 0 22px}dialog label{display:block;font-size:13px;margin-bottom:9px;color:#737f98}dialog input{margin-bottom:20px}
@media(min-width:1300px){.site-header{height:108px}.page-content{margin-top:35px}}
@media(max-width:600px){.site-header{height:76px;padding:0 24px}.brand{font-size:16px}.brand-mark{height:30px;width:30px;border-radius:10px}.export-action{font-size:12px}.page-content{padding:0 18px;margin:25px auto 60px}.entry-intro{margin-bottom:22px;gap:12px}h1{font-size:26px}.data-status{gap:10px;font-size:10px}.data-status .text-button{font-size:11px}.input-card{padding:24px 22px 21px;border-radius:19px}.tabs{gap:24px;margin-bottom:23px}.tabs button{font-size:14px}.form-switch{margin-bottom:19px}.form-switch select{max-width:210px;font-size:11px}.form-switch label{font-size:11px}.field{margin-bottom:18px}.field-row{gap:12px}.field label{font-size:12px}.field-note{font-size:10px}input,select{min-height:46px}input{font-size:17px}select{font-size:13px;padding-left:12px}.form-details{padding:13px 0}.form-details summary{font-size:12px}.section-divider{margin:12px 0 21px}.amount-input{padding:10px 13px}.amount-input input{font-size:32px;height:46px}.amount-chips{gap:7px;margin:11px 0 19px}.amount-chips button{font-size:11px;min-height:33px}.calculate{margin-top:14px;min-height:48px}.input-footnote{font-size:10px}.result-card{padding:24px 22px 8px;border-radius:19px}.results-context{font-size:11px}.segmented button{padding:9px 24px}.primary-metric b{font-size:58px}.metric b{font-size:28px}.metric small{font-size:10px}.metric>span{font-size:11px}.primary-metric>span{font-size:12px}.scenario-grid{gap:7px}.scenario{padding:13px 5px;border-radius:10px}.scenario strong{font-size:10px}.scenario small{font-size:8px}.advanced-grid{grid-template-columns:1fr}.advanced-grid input,.advanced-grid select{font-size:16px}.result-footnote{flex-wrap:wrap;gap:8px;font-size:9px}.comparison{font-size:11px}.comparison th{font-size:10px}.comparison td{padding:13px 6px}.table-tag{font-size:8px}.disclosure>summary,.advanced-details>summary,.methodology>summary{font-size:12px}.future-card .card-heading h2{font-size:14px}.chart-bottom{flex-wrap:wrap;gap:6px}.conclusion strong{font-size:13px}.conclusion p{font-size:11px}.history-record{padding:12px}.history-record .field label{font-size:11px}.history-record .field-row{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

#current-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}#current-fields>.field-row{display:contents}#current-fields>.form-details{grid-column:1/-1}
@media(max-width:600px){#current-fields{gap:0 12px}}
html{overflow-anchor:none}
@media(max-width:600px){.metric.primary-metric b{font-size:58px}}

/* Inputs and results stay in one workspace. */
.site-header{max-width:1180px;height:84px}
.page-content{max-width:1180px;margin:20px auto 70px;padding:0 30px}
.entry-intro{margin-bottom:28px}
.entry-intro h1{font-size:28px}
.workspace{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:28px;align-items:start}
.input-card{padding:24px;min-width:0}
.input-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.input-heading h2,.results-title h2{font-size:16px;font-weight:550;line-height:1.5}
.input-toggle{display:none;font-size:12px}
.input-summary{font-size:12px;line-height:1.9;color:#858b9b}
.form-switch select{max-width:225px}
.form-switch{gap:9px}
.tabs{gap:23px;margin-bottom:23px}
.results-column{min-width:0}
.results-intro{margin:0 0 18px;padding:3px 3px 0}
.results-context{margin-top:10px;font-size:11px;min-height:18px}
.results-title{min-height:24px}
.results-title h2:focus{outline:none}
.empty-results{min-height:470px;border:1px solid #f0eff2;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#b3b8c7;gap:17px}
.empty-results>svg{height:30px;width:30px;color:#c2c9df;stroke-width:1.3}
.empty-results p{margin:0;font-size:13px;color:#a5abba}
.results-feedback{font-size:12px;line-height:1.7;color:#969daf;margin:0 3px 14px}
.results-feedback.error{color:#a26b5c}
.results-column.is-updating #results-content{opacity:.5}
.result-card{padding:25px 26px 10px}
.results-column .metrics{margin:23px 0 18px}
.result-controls{gap:14px}
.result-controls>span{font-size:12px}
.primary-metric b{font-size:58px}
.scenario-grid{gap:8px}
.scenario strong{font-size:11px}
.scenario small{font-size:9px}
.is-collapsed .input-body{display:none}
.is-collapsed .input-heading{margin-bottom:10px}
@media(min-width:1300px){.site-header{height:92px}.page-content{margin-top:26px}}
@media(min-width:900px) and (max-width:1050px){.workspace{gap:22px;grid-template-columns:minmax(315px,.86fr) minmax(0,1.14fr)}.page-content{padding:0 24px}.input-card{padding:22px}.form-switch select{max-width:211px;font-size:11px}.form-switch label{font-size:11px}.result-card{padding:23px 22px 8px}.scenario strong{font-size:10px}.scenario small{font-size:8px}.field-row,#current-fields{gap:0 12px}}
@media(max-width:899px){.site-header{height:76px;max-width:700px;padding:0 24px}.page-content{max-width:700px;margin:20px auto 60px;padding:0 22px}.workspace{grid-template-columns:1fr;gap:27px}.input-toggle{display:inline-flex}.empty-results{min-height:270px}.input-heading{margin-bottom:22px}.results-intro{margin-bottom:17px}.results-context{margin-top:9px}.scenario strong{font-size:12px}.scenario small{font-size:10px}}
@media(max-width:600px){.page-content{padding:0 18px}.entry-intro{margin-bottom:22px}.entry-intro h1{font-size:25px}.input-card{padding:22px}.input-heading h2,.results-title h2{font-size:15px}.results-intro{padding:0 3px}.result-card{padding:23px 22px 8px}.metric.primary-metric b{font-size:58px}.scenario strong{font-size:10px}.scenario small{font-size:8px}.form-switch select{max-width:210px}.empty-results{min-height:250px}.results-context{font-size:10px}.input-card.is-collapsed{padding:19px 22px}.is-collapsed .input-heading{margin-bottom:8px}}
.amount-input input::placeholder{font-size:25px;font-weight:400;color:#b5bdd3}

.balance-timing{grid-column:1/-1}.balance-timing small{font-size:11px}

/* Keep the main task short, with its current assumptions visible. */
.site-header{height:56px}
.page-content{margin-top:8px}
.entry-intro{margin-bottom:18px}
.entry-intro h1{font-size:26px}
.input-card{padding:20px}
.input-heading{margin-bottom:14px}
.tabs{margin-bottom:16px}
.tabs button{min-height:42px;padding-bottom:11px}
.form-switch{margin-bottom:14px}
.form-switch select{min-height:36px;font-size:12px}
.field{margin-bottom:14px;gap:6px}
input,select{min-height:46px;padding-top:9px;padding-bottom:9px}
.section-divider{margin:8px 0 16px}
.subheading{margin-bottom:10px}
.amount-input{padding:8px 14px}
.amount-chips{margin:10px 0 16px}
.form-details,.advanced-details{padding:11px 0}
.form-details>summary,.advanced-details>summary{min-height:30px}
.summary-content{display:flex;flex:1;justify-content:space-between;align-items:baseline;gap:6px 10px;flex-wrap:wrap;transform:none!important}
.summary-value{font-size:11px;font-weight:400;color:#687187}
.form-details[open]>summary,.advanced-details[open]>summary{margin-bottom:14px}
.calculate{margin-top:12px;min-height:46px}
.update-status{text-align:center;font-size:12px;color:#687187;margin:14px 0 0}
.input-footnote{margin-top:9px;color:#737986}
.text-button{min-height:36px;min-width:36px;justify-content:center}
.data-status .text-button{padding:6px}
.optional,.field-note{color:#747a88}
.input-with-unit>span,.amount-input b{color:#707789}
.privacy-hint{color:#727988;font-size:12px}
.field-error{font-size:12px;line-height:1.65;color:#a24430;margin:6px 0 10px}
[aria-invalid="true"]{border-color:#b95540!important;background-color:#fff9f6}
.amount-input:has([aria-invalid="true"]){border-color:#b95540;background:#fff9f6}

.result-card{padding:20px 22px 8px}
.result-controls{gap:10px}
.segmented{width:100%;gap:5px}
.segmented button{flex:1;padding:9px 8px;min-height:60px}
.segmented button strong{display:block;font-size:13px;font-weight:500}
.segmented button small{display:block;font-size:11px;margin-top:3px;line-height:1.5;color:#687187;font-variant-numeric:tabular-nums}
.segmented button.active small{color:#5269a8}
.results-column .metrics{margin:18px 0 12px}
.metric.primary-metric{padding-bottom:16px}
.metric.primary-metric b{font-size:52px}
.metric{padding-bottom:12px}
.metric>span{color:#656d7e}
.metric small{font-size:11px;color:#6f7788}
.metric:not(.primary-metric)>span{min-height:28px}
.return-comparison{border-top:1px solid var(--line);padding:14px 0 4px}
.return-comparison .advanced-grid{margin-top:0;gap:0 14px}
.return-comparison .field{margin-bottom:10px}
.return-comparison .field small{font-size:11px}
.conclusion{margin:6px 0 16px;padding:13px 15px}
.conclusion p{color:#69748f}
.help-button{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:0;border:1px solid #c3cada;border-radius:50%;background:#fff;color:#62709a;font-size:12px}
.help-popover{max-width:310px;border:1px solid #dce0ee;border-radius:16px;padding:22px;color:var(--ink);box-shadow:0 16px 70px #20263a25}
.help-popover h2{font-size:16px}
.help-popover p{font-size:13px;color:#687187;line-height:1.8}
.help-popover .text-button{display:flex;margin-left:auto}
.mobile-amount-editor{display:none}
.live-results{position:fixed;top:12px;z-index:20;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:4px 10px;padding:13px 18px 10px;border:1px solid #dce1f3;border-radius:14px;box-shadow:0 6px 24px #26325118;background:#fff}
.live-results>div{min-width:0}
.live-results span{display:block;font-size:11px;color:#687187}
.live-results b{display:block;font-size:20px;font-weight:550;font-variant-numeric:tabular-nums;color:#3f519b;white-space:nowrap}
.live-results>small{grid-column:1/-1;font-size:10px;color:#737b8d}
.live-results.is-updating{opacity:.55}
.results-column:has(.mobile-amount-editor:not([hidden])) .empty-results{min-height:160px}
.results-column[data-recovery] .result-controls,.results-column[data-recovery] .metrics,.results-column[data-recovery] .conclusion,.results-column[data-recovery] .comparison-details,.results-column[data-recovery] .chart-card,.results-column[data-recovery] .methodology{display:none}
.results-column[data-recovery="return"] .future-card{display:none}
.results-column[data-recovery="return"] .return-comparison{border-top:0;padding-top:0}
.results-column[data-recovery="repricing"] .result-card{display:none}
.results-column[data-recovery="repricing"] .future-card .card-heading,.results-column[data-recovery="repricing"] .future-card .scenario-grid,.results-column[data-recovery="repricing"] .future-summary,.results-column[data-recovery="repricing"] .future-card>.advanced-details:last-child{display:none}
@media(min-width:900px){.page-content{margin-top:8px}.site-header{height:56px}}
@media(max-width:899px){
  .site-header{height:54px}.page-content{margin-top:8px}.workspace{gap:20px}
  .live-results{display:none!important}
  .mobile-amount-editor{display:block;padding:15px 18px;margin-bottom:16px;border:1px solid #f0eff2}
  .quick-amount-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}
  .quick-amount-heading label{font-size:13px;white-space:nowrap}
  .quick-amount-heading .text-button{font-size:11px;text-align:right;min-height:36px}
  .quick-amount-row{display:flex;gap:10px;align-items:center}
  .quick-amount-row>.input-with-unit{flex:1;min-width:0}
  .quick-all{min-height:46px;padding:8px 15px;border:1px solid #dce1f1;border-radius:10px;background:#fff;color:#5269c9;font-size:13px}
  .quick-all.active{background:var(--blue-soft);border-color:#aab8ed}
  .inputs-collapsed .results-context{display:none}
  .inputs-collapsed .input-summary{font-size:12px;color:#687187}
  .input-toggle{min-height:40px;min-width:40px}
  .return-comparison .advanced-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .entry-intro{margin-bottom:16px}.entry-intro h1{font-size:24px}
  .input-card{padding:18px}.input-heading{margin-bottom:10px}.tabs{margin-bottom:12px}
  .form-switch{margin-bottom:12px}.form-switch select{font-size:12px}
  .field{margin-bottom:13px}.field label{font-size:12px}
  .amount-input input{font-size:30px;height:44px}
  .amount-chips button{min-height:38px}.balance-timing small{font-size:11px}
  .result-card{padding:18px 18px 7px}.result-controls{gap:10px}
  .metric.primary-metric b{font-size:48px}.metric b{font-size:27px}
  .metric>span,.metric small{font-size:11px}.metric{padding-right:5px;padding-left:5px}
  .help-button{min-width:26px;min-height:26px}
  .return-comparison .advanced-grid{gap:0 10px}.return-comparison .field label{font-size:11px;gap:3px;flex-wrap:wrap}
  .return-comparison input,.return-comparison select{font-size:16px}
  .return-comparison select{font-size:16px;padding-left:10px;padding-right:25px;background-position:right 8px center}
  .field select,.form-switch select{font-size:16px}
  .scenario small{font-size:10px}.scenario strong{font-size:10px}
  .summary-value{font-size:11px}.input-card.is-collapsed{padding:15px 18px}
}

.import-confirm{margin:18px 0;padding-top:8px}.import-confirm .field{margin:16px 0}.import-confirm select:disabled{opacity:1;color:var(--ink);background:#f5f6f9}.import-check{align-items:flex-start;line-height:1.8;margin:18px 0;font-size:12px}.import-check input{flex:none;margin-top:4px}.import-confirm .field-error{margin:12px 0}.import-confirm button:disabled{opacity:.45;cursor:not-allowed}

/* Clear, quiet local UI. Layout and calculation behavior remain in style.css. */
:root{--ink:#2e3336;--muted:#6b7277;--blue:#307d70;--blue-soft:#e7f1ec;--line:#294e4012;--paper:#ffffffa8;--bg:#f3f7f4}
body{background:radial-gradient(ellipse at 83% 8%,#d5e9e581,transparent 44%),radial-gradient(ellipse at 5% 37%,#f2e9d766,transparent 42%),linear-gradient(140deg,#f5f8f4,#f0f6f4 55%,#f8f8f2);background-attachment:fixed;color:var(--ink)}
.site-header{max-width:1230px;height:92px;padding:0 36px}.brand{font-size:16px;font-weight:500;letter-spacing:1px;gap:11px}.brand-mark{background:#fff9;color:#487c6f;border:1px solid #fff;border-radius:50%;width:34px;height:34px;box-shadow:0 4px 12px #326e5606}.brand-mark svg{width:17px;height:17px}.export-action{color:#667d78;font-size:12px}
.page-content{max-width:1230px;padding:0 36px;margin:24px auto 90px}.entry-intro{margin-bottom:36px}.entry-intro h1{font-family:'Songti SC','Noto Serif CJK SC','STSong',serif;font-weight:400;font-size:34px;letter-spacing:2px;line-height:1.4}.data-status{font-size:11px;color:var(--muted)}.workspace{grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr);gap:60px}
.card{background:var(--paper);border-radius:26px}.input-card{padding:28px;border:1px solid #fff;box-shadow:0 12px 55px #3e6b5012,inset 0 1px 0 #fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.input-heading{margin-bottom:26px}.input-heading h2,.results-title h2{font-size:15px;font-weight:500;letter-spacing:.5px}.tabs{border-color:#294e4014;gap:26px}.tabs button{font-size:14px;color:#73857f;padding-bottom:13px}.tabs .active{font-weight:500;color:#2e6c5c}.tabs .active:after{height:2px;background:#498e79;right:45%;border-radius:5px}.form-switch{color:#7d8e87}.form-switch select{color:#61756e}.field label{color:#4f6660;font-size:13px}.optional,.field-note{color:#798c84}.field small,.field-help{color:#6d8179;font-size:11px;line-height:1.8}
input,select,textarea{border-color:#b7ccc24d;background-color:#ffffff9e;border-radius:12px;min-height:49px;color:#29423b;box-shadow:0 1px 2px #294e4003}input{font-size:18px;font-weight:450}input::placeholder,textarea::placeholder{color:#87998f}input:hover,select:hover,textarea:hover{border-color:#8cae9e80;background-color:#fffd}input:focus,select:focus,textarea:focus{border-color:#6eac95;background-color:#fff;box-shadow:0 0 0 3px #579e7f0d}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#79a895}.input-with-unit>span{color:#6f8378}.section-divider{background:var(--line);margin:14px 0 26px}.subheading h2{font-size:13px;color:#52695d}.amount-input{background:#e7f1e9b5;border:1px solid #d9e9dc7d;border-radius:17px;padding:12px 16px}.amount-input input{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:39px;color:#356c57;box-shadow:none}.amount-input>span{color:#759582;font-size:22px}.amount-input b{color:#718a78;font-size:12px}.amount-input input:focus-visible{outline-color:#79a895}.amount-chips{gap:8px}.amount-chips button{border:1px solid #d7e3d975;background:#fffa;border-radius:20px;color:#607a69;min-height:34px;font-size:11px}.amount-chips button.active{background:#dceee2;border-color:#91bba280;color:#356b4e}.form-details{border-color:var(--line)}.form-details summary,.form-details summary span{color:#637a6c}.summary-value{color:#70777b!important}.input-footnote,.update-status{color:#7a8e7c}.button.primary{background:linear-gradient(118deg,#527d63 0%,#44795e 48%,#2f6653 100%);color:#fff;border-color:#48765d;box-shadow:inset 0 1px 0 #ffffff38,0 5px 16px #315f491c;border-radius:13px;transition:background .16s,border-color .16s,box-shadow .16s}.button.primary:hover{background:linear-gradient(118deg,#4d785f 0%,#3d7056 48%,#285e4b 100%);border-color:#406e55;box-shadow:inset 0 1px 0 #ffffff40,0 6px 18px #315f4926}.button.primary:active{background:linear-gradient(118deg,#456e56,#2b5f4b);box-shadow:inset 0 2px 4px #193d251f}.button.outline,.button.secondary{border-color:#cadbd0;background:#ffffffa6;color:#417659}.text-button{color:#407d68}.text-button:hover{color:#245f4b}
.results-intro{padding:4px 3px 0;margin-bottom:23px}.results-context{margin-top:8px;color:#70877b;font-size:11px}.pill{color:#748c7d;font-size:10px}.result-card{padding:7px 3px 10px;background:transparent;border:0;box-shadow:none;border-radius:0}.result-controls{gap:19px}.result-controls>span{color:#688171;font-size:12px}.segmented{width:100%;background:#e2ede6a6;border:1px solid #fff7;border-radius:17px;padding:5px;gap:6px}.segmented button{border-radius:12px;flex:1;padding:12px 8px;color:#668373;min-width:0}.segmented button.active{background:#ffffffe6;color:#305e49;box-shadow:0 3px 10px #345d4610}.segmented strong{font-weight:500;font-size:14px}.segmented small{color:#738d7c;font-size:11px}.metrics{margin:34px 0 25px}.metric.primary-metric{padding-bottom:28px}.metric.primary-metric b{font-family:Georgia,'Times New Roman',serif;font-size:84px;letter-spacing:-4px;font-weight:400;color:#376d58;line-height:1.14}.primary-metric>div{margin:9px 0 6px}.metric>span{color:#587365;font-size:12px}.metric b{font-size:29px;font-weight:450;color:#365847}.metric em{color:#718979}.metric small{color:#718878;font-size:11px}.metric:last-child{border-color:#8eab951f}.primary-metric em{font-size:13px}.help-button{color:#779481;border-color:#a4b8a5}.return-comparison{border-color:var(--line);padding:22px 0}.return-comparison input,.return-comparison select{background:#ffffff80;border-color:#cadacf66}.return-comparison .field small{color:#738777}.comparison-details{border-color:var(--line)}.comparison th{color:#74897b;font-weight:400;border-color:var(--line)}.comparison td{color:#44634f;border-color:var(--line)}.comparison tr.chosen{background:#e7f0e740}.table-tag{color:#598367;background:#e0ecdf}.result-footnote{color:#758975}.conclusion{background:#e1eee2a6;border:1px solid #d5e8d566;border-radius:15px;padding:17px}.conclusion strong{color:#3b6c4a;font-weight:500}.conclusion p{color:#688168}
.empty-results{min-height:510px;border:1px solid #ffffffb3;border-radius:27px;background:linear-gradient(150deg,#ffffff75,#ffffff2e);box-shadow:inset 0 1px 0 #fff8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.empty-results>svg{color:#a0b5a5;opacity:.65;stroke-width:1.1;width:32px;height:32px}.empty-results p{color:#869c8a;font-size:13px;letter-spacing:1px}.disclosure>summary,.advanced-details>summary,.methodology>summary{color:#617d69;font-size:13px}.chart-card,.future-card,.methodology{background:transparent;box-shadow:none;border:0;border-top:1px solid var(--line);border-radius:0}.future-card{padding-top:22px}.future-card .card-heading h2{font-size:14px;font-weight:500;color:#42664e}.muted,.tiny{color:#7d9380}.scenario-grid{gap:9px}.scenario{background:#ffffff65;border:1px solid #fff8;border-radius:13px;padding:15px 5px;color:#6a836f}.scenario.active{background:#e1eee2aa;border-color:#92b79d99;color:#396747}.scenario strong{font-size:11px;font-weight:500}.scenario small{color:#7c9180;font-size:9px}.advanced-details{border-color:var(--line)}.chart-bottom{color:#7b9181}.chart-bottom b{color:#527858;font-weight:500}.methodology-body{color:#6b8270}.methodology-body h3{color:#45644b}.live-results{background:#f8fcf7e8;border:1px solid #fff;box-shadow:0 10px 28px #3a6a4c15;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:18px}.live-results b{color:#3d7050}.live-results span,.live-results small{color:#738b76}.help-popover{background:#f9fcf6;color:#476449;border-color:#dbe7d6}.help-popover p{color:#68816b}
.drop-zone{background:#f2f7f6b3;border-color:#b0cbc4;border-radius:18px;padding:34px 15px}.drop-zone.dragover{background:#e0f0e7;border-color:#6caa8a}.drop-zone strong{color:#5f8271}.drop-zone>span:not(.upload-icon):not(.upload-button){color:#7b9588}.upload-icon{background:#e4eee9;color:#75a18a;border-radius:16px}.upload-button{border-color:#d7e5dc;color:#56836a;background:#fffb;border-radius:20px}.privacy-hint{color:#778e7d}.import-status{background:#e4efe8a1;color:#5c816a;border-radius:13px}.import-status.error{background:#fff1e9;color:#a2644f}.import-confirm select:disabled{background:#eff6f0;color:#44634c}.checkbox-line{color:#617f68}.checkbox-line input{accent-color:#548567}.mobile-amount-editor{background:#f9fcf6e6;border:1px solid #fff}.quick-all{color:#528363;border-color:#b8cebd}.quick-all.active{background:#deeddf;border-color:#8caf94}.toast{background:#3e6550}dialog{background:#fafcf8;border-color:#fff;color:#3d5f46}dialog p,dialog label{color:#6f8975}
@media(min-width:1300px){.site-header{height:102px}.page-content{margin-top:27px}.workspace{gap:72px}}
@media(min-width:900px) and (max-width:1100px){.workspace{gap:32px;grid-template-columns:minmax(335px,.94fr) minmax(0,1.06fr)}.input-card{padding:25px}.page-content{padding:0 26px}.site-header{padding:0 26px}}
@media(max-width:899px){.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}.page-content{max-width:640px;margin-top:20px;padding:0 23px}.site-header{max-width:640px;padding:0 25px;height:77px}.entry-intro{margin-bottom:27px}.entry-intro h1{font-size:30px}.input-card{padding:26px}.results-intro{padding:0 3px}.empty-results{min-height:275px}.result-card{padding:3px 4px 14px}.input-toggle{color:#66816d}.input-summary{color:#6f8873}.metric.primary-metric b{font-size:78px}.is-collapsed .input-heading{margin-bottom:0}.is-collapsed{padding:20px 23px}.quick-amount-editor input{background:#fff9}.results-feedback.error{color:#a34f3a}.scenario strong{font-size:12px}.scenario small{font-size:10px}}
@media(max-width:480px){.site-header{height:73px;padding:0 22px}.page-content{padding:0 19px;margin-top:18px}.brand{font-size:14px;letter-spacing:.6px}.brand-mark{height:30px;width:30px}.entry-intro{gap:10px;margin-bottom:24px}.entry-intro h1{font-size:27px;letter-spacing:1.5px}.input-card{padding:23px;border-radius:23px}.data-status{gap:9px;font-size:10px}.data-status .text-button{font-size:11px}.tabs{margin-bottom:23px}.field label{font-size:12px}.field small,.field-help{font-size:11px}.field-row{gap:12px}.form-switch select{font-size:11px}.metric.primary-metric b{font-size:76px}.metric b{font-size:28px}.scenario strong{font-size:10px}.scenario small{font-size:9px}.segmented strong{font-size:13px}.segmented small{font-size:10px}.amount-chips button{font-size:11px}.result-controls{gap:16px}.results-context{font-size:11px}.comparison-wrap{overflow-x:auto}.import-check{font-size:11px}}
@media(prefers-reduced-transparency:reduce){.input-card,.live-results,.empty-results{backdrop-filter:none;-webkit-backdrop-filter:none;background:#f9fbf7}}

.segmented button small{color:#738d7c}.segmented button.active small{color:#577d65}

/* Neutral frosted surfaces: quiet background, opaque text, restrained green accents. */
body{background:radial-gradient(ellipse at 83% 5%,#a6c3b824,transparent 50%),radial-gradient(ellipse at 12% 52%,#cfc6b51f,transparent 45%),linear-gradient(145deg,#f7f8f6,#f1f3f0 58%,#f7f6f3);background-attachment:fixed}
.input-card,.empty-results,.mobile-amount-editor{background:linear-gradient(138deg,#ffffffb3,#ffffff80 52%,#ffffffa3);border:1px solid #ffffffa6;box-shadow:inset 0 1px 0 #ffffffe0,inset 1px 0 0 #ffffff73,inset 0 -1px 0 #748d7710,0 18px 54px #3c65410b;backdrop-filter:blur(30px) saturate(100%);-webkit-backdrop-filter:blur(30px) saturate(100%)}
input,select,textarea,.return-comparison input,.return-comparison select,.quick-amount-editor input{background-color:#ffffff42;border-color:#ffffffb0;box-shadow:inset 0 1px 0 #ffffffb3,0 2px 8px #4b715103}
input:hover,select:hover,textarea:hover{background-color:#ffffff61;border-color:#b5cdbb8c}
input:focus,select:focus,textarea:focus{background-color:#ffffff99;border-color:#82ac96;box-shadow:0 0 0 3px #5d8e7310,inset 0 1px 0 #ffffffb3}
.amount-input{background:linear-gradient(125deg,#ffffff8a,#ffffff4d);border-color:#ffffff94;box-shadow:inset 0 1px 0 #ffffffb3}
.amount-input input,.amount-input input:hover,.amount-input input:focus{background:transparent;box-shadow:none}
.amount-chips button{background:#ffffff52;border-color:#ffffffad;box-shadow:inset 0 1px 0 #ffffff94}
.amount-chips button.active{background:#c9e2cf70;border-color:#9aba9d78}
.segmented{background:#e6e9e64d;border-color:#ffffff78;box-shadow:inset 0 1px 0 #ffffffb3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.segmented button.active{background:linear-gradient(140deg,#ffffffab,#ffffff61);box-shadow:inset 0 1px 0 #ffffffe0,0 3px 12px #3e65460c}
.scenario{background:#ffffff38;border-color:#ffffff99;box-shadow:inset 0 1px 0 #ffffff94}
.scenario.active{background:#d8e9da61;border-color:#91b09a91}
.conclusion{background:linear-gradient(130deg,#f1f4f080,#ffffff4d);border-color:#ffffff8f;box-shadow:inset 0 1px 0 #ffffff99}
.live-results{background:linear-gradient(135deg,#f8fcf7ad,#f8fcf766);border-color:#ffffffbf;box-shadow:inset 0 1px 0 #fff,0 12px 36px #345b4214;backdrop-filter:blur(30px) saturate(100%);-webkit-backdrop-filter:blur(30px) saturate(100%)}
.drop-zone{background:#ffffff29;border-color:#8eae9d80;box-shadow:inset 0 1px 0 #ffffff85}
.upload-icon,.import-status{background:#e7f0e759}.upload-button{background:#ffffff61;border-color:#ffffffb3}.import-status.error{background:#fff1e9d9}
.brand-mark{background:#ffffff70;border-color:#ffffffbf;box-shadow:inset 0 1px 0 #fff,0 4px 12px #326e5606}
@media(max-width:899px){.input-card,.empty-results,.mobile-amount-editor{backdrop-filter:blur(22px) saturate(100%);-webkit-backdrop-filter:blur(22px) saturate(100%)}}
@media(prefers-reduced-transparency:reduce){.input-card,.empty-results,.mobile-amount-editor,.live-results,.segmented{background:#f9fbf7;backdrop-filter:none;-webkit-backdrop-filter:none}input,select,textarea,.return-comparison input,.return-comparison select{background-color:#fff}}

/* Reading hierarchy uses neutral ink; green marks action and the primary result. */
.brand,.field label,.input-heading h2,.results-title h2,.subheading h2,.future-card .card-heading h2,.methodology-body h3{color:#434a4e}
input,select,textarea,.amount-input input,.metric b,.comparison td,.conclusion strong,.live-results b{color:#30363a}
.metric.primary-metric b{color:#376d58}
.export-action,.form-switch,.form-switch select,.tabs button,.amount-chips button,.segmented button,.scenario,.disclosure>summary,.advanced-details>summary,.methodology>summary,.form-details summary,.form-details summary span,.checkbox-line,dialog label{color:#626a6f}
.tabs .active,.amount-chips button.active,.segmented button.active,.scenario.active{color:#376d58}
.field small,.field-help,.optional,.field-note,.input-with-unit>span,.amount-input>span,.amount-input b,.input-footnote,.update-status,.input-summary,.input-toggle,.results-context,.pill,.result-controls>span,.metric>span,.metric em,.metric small,.return-comparison .field small,.segmented button small,.segmented button.active small,.scenario small,.result-footnote,.conclusion p,.muted,.tiny,.chart-bottom,.methodology-body,.live-results span,.live-results small,.help-popover p,.privacy-hint,dialog p{color:#6c7479}
input::placeholder,textarea::placeholder{color:#858c90}
.empty-results p{color:#70797d}.empty-results>svg{color:#a3ada9}.help-button{color:#727b7f;border-color:#bec8c2}.comparison th{color:#70797d}
.drop-zone strong,.drop-zone>span:not(.upload-icon):not(.upload-button),.import-status,.import-confirm select:disabled{color:#626e70}.help-popover,dialog{color:#414a4d}

/* A light green glass treatment for the calculator's primary action. */
#calculate-button{background:linear-gradient(118deg,#cfebdad1 0%,#b1dac3b8 52%,#91c1a6a3 100%);color:#345b47;border-color:#b0d4be70;box-shadow:inset 0 1px 0 #ffffffeb,inset 0 -1px 0 #497a5814,0 4px 14px #3b695012;backdrop-filter:blur(12px) saturate(110%);-webkit-backdrop-filter:blur(12px) saturate(110%)}
#calculate-button:hover{background:linear-gradient(118deg,#c1e2cedb,#9ecdb5c2);border-color:#98c2a99c;box-shadow:inset 0 1px 0 #ffffffed,0 5px 15px #3b695018}
#calculate-button:active{background:linear-gradient(118deg,#b9dbc6d9,#a7cdb7c7);box-shadow:inset 0 1px 3px #345b4714}
@media(prefers-reduced-transparency:reduce){#calculate-button,#calculate-button:hover,#calculate-button:active{background:linear-gradient(118deg,#d3e9dc,#b1d6c0);backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Balanced sizing at 100% browser zoom; reflow instead of shrinking the interface. */
:root {
  font-size:100%;
  --text-body:clamp(.9375rem,.91rem + .06vw,1rem);
  --text-small:clamp(.8125rem,.78rem + .035vw,.875rem);
  --page-gutter:clamp(1rem,3vw,4rem);
  --panel-padding:clamp(1.25rem,2vw,1.875rem);
}
html { -webkit-text-size-adjust:100%; }
body { font-size:var(--text-body); line-height:1.65; }
.local-start { max-width:32rem; margin:12vh auto; padding:2rem; width:calc(100% - 2rem); }
.local-start h1 { font-size:1.5rem; }
.local-start p { margin:1rem 0 1.5rem; color:var(--muted); }
.site-header,.page-content {
  width:calc(100% - var(--page-gutter) * 2);
  max-width:82.5rem;
  padding-inline:0;
  margin-inline:auto;
}
.site-header { height:4.5rem; }
.page-content { margin-top:1rem; margin-bottom:5rem; }
.brand { font-size:1rem; }
.brand-mark { width:2rem; height:2rem; }
.entry-intro { gap:.75rem 1.5rem; flex-wrap:wrap; margin-bottom:1.75rem; }
.entry-intro h1 { font-size:clamp(1.75rem,1.35rem + .8vw,2.125rem); }
.data-status { font-size:var(--text-small); flex-wrap:wrap; white-space:normal; gap:.25rem .75rem; max-width:100%; }
.text-button,.data-status .text-button,.export-action { font-size:var(--text-small); min-height:2.5rem; }
.workspace { grid-template-columns:minmax(20rem,.9fr) minmax(0,1.1fr); gap:clamp(1.5rem,3vw,3rem); }
.workspace > * { min-width:0; }
.input-card { padding:clamp(1.25rem,2vw,1.875rem); }
.input-heading { margin-bottom:1.125rem; }
.input-heading h2,.results-title h2,.subheading h2,.future-card .card-heading h2 { font-size:1rem; }
.tabs { gap:1.5rem; margin-bottom:1.125rem; }
.tabs button { font-size:var(--text-body); min-height:2.75rem; }
.form-switch { font-size:var(--text-body); flex-wrap:wrap; gap:.625rem 1rem; margin-bottom:1rem; }
.form-switch label { font-size:inherit; white-space:nowrap; }
.form-switch select { flex:1 1 14rem; width:auto; max-width:100%; font-size:.9375rem; min-height:3rem; padding:.625rem 2.25rem .625rem 1rem; text-align:right; text-align-last:right; }
.form-switch option { text-align:right; }
.field { margin-bottom:1rem; gap:.375rem; }
.field label { font-size:var(--text-body); flex-wrap:wrap; line-height:1.5; }
.field-row,#current-fields { column-gap:1rem; }
input,select,textarea { min-height:3rem; font-size:1rem; padding:.625rem .875rem; }
input { font-size:1.125rem; }
select { padding-right:2.125rem; }
input::placeholder,textarea::placeholder { font-size:.9375rem; }
input[type="month"],input[type="date"] { max-width:100%; min-inline-size:0; }
.field small,.field-help,.balance-timing small,.optional,.field-note,
.input-with-unit>span,.amount-input b,.summary-value,.input-summary,
.input-footnote,.update-status,.results-context,.pill,.result-controls>span,
.metric>span,.metric small,.metric em,.primary-metric em,.return-comparison .field small,
.segmented button small,.segmented button.active small,.scenario small,
.muted,.tiny,.privacy-hint,.import-status,.import-check,.checkbox-line,
.results-feedback,.field-error,.inline-note,.record-top,.audit-rate,
.drop-zone>span:not(.upload-icon):not(.upload-button),.live-results span,.live-results>small {
  font-size:var(--text-small);
  line-height:1.65;
}
.section-divider { margin:.75rem 0 1.25rem; }
.amount-input { padding:.5rem .875rem; }
.amount-input input { font-size:2.25rem; height:3rem; }
.amount-input input::placeholder { font-size:1.375rem; }
.amount-chips { gap:clamp(.25rem,.65vw,.625rem); margin:.625rem 0 1.25rem; }
.amount-chips button { font-size:.875rem; min-height:2.5rem; padding:.5rem .25rem; }
.form-details,.advanced-details,.disclosure,.methodology { padding:.75rem 0; }
.form-details summary,.form-details summary span,.disclosure>summary,
.advanced-details>summary,.methodology>summary { font-size:var(--text-body); min-height:2.5rem; }
.summary-value { font-size:var(--text-small)!important; }
.summary-content { gap:.25rem 1rem; }
.button,.quick-all { font-size:var(--text-body); min-height:2.75rem; }
.calculate { min-height:3rem; }
.history-record input,.history-record select,.advanced-grid input,.advanced-grid select { font-size:1rem; min-height:3rem; }
.history-record .field label { font-size:var(--text-body); }
.checkbox-line input { width:1.125rem; height:1.125rem; min-height:0; margin-top:.25rem; }
.results-intro { margin-bottom:1.125rem; }
.empty-results { min-height:clamp(20rem,32vw,30rem); }
.empty-results p,.drop-zone strong,.upload-button { font-size:var(--text-body); }
.result-controls { gap:1rem; }
.segmented button { min-height:4rem; padding:.75rem .625rem; }
.segmented strong,.segmented button strong { font-size:1rem; }
.segmented small { white-space:normal; }
.results-column .metrics { margin:1.5rem 0 1rem; }
.metric.primary-metric { padding-bottom:1.25rem; }
.metric.primary-metric b { font-size:clamp(4rem,5vw,5.25rem); }
.metric b { font-size:clamp(1.75rem,1.9vw,2.125rem); }
.metric small { white-space:normal; overflow-wrap:anywhere; }
.metric>div { flex-wrap:wrap; row-gap:0; }
.help-button { min-width:1.75rem; min-height:1.75rem; font-size:var(--text-small); }
.return-comparison { padding:1.125rem 0 .5rem; }
.return-comparison .field label { font-size:var(--text-body); }
.return-comparison input,.return-comparison select { font-size:1rem; }
.conclusion strong,.conclusion p,.methodology-body,.methodology-body h3,
.reference-empty,.reference-empty strong,.reference-empty a,dialog p,dialog label,
.help-popover p { font-size:var(--text-body); }
.conclusion { padding:1rem; }
.comparison { font-size:var(--text-body); }
.comparison th,.comparison td small,.table-tag,.result-footnote,.result-footnote .text-button,
.amount-table-wrap .field-help,.legend,.chart-bottom,.chart-bottom b { font-size:var(--text-small); }
.comparison-wrap,.amount-table-wrap,.schedule-scroll { max-width:100%; overflow-x:auto; }
.comparison-wrap table,.amount-table-wrap table { min-width:32rem; }
.result-footnote { flex-wrap:wrap; }
.scenario-grid { gap:.75rem; }
.scenario { padding:.875rem .5rem; }
.scenario strong { font-size:var(--text-body); white-space:normal; }
.scenario small { margin-top:.5rem; }
.quick-amount-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem; margin-bottom:.5rem; }
.quick-amount-row { display:flex; align-items:center; gap:.625rem; }
.quick-amount-row>.input-with-unit { flex:1; min-width:0; }
.quick-amount-heading label,.quick-all { font-size:1rem; }
.quick-amount-heading .text-button { font-size:var(--text-small); }
.quick-all { padding:.5rem .875rem; border:1px solid #b8cebd; border-radius:.625rem; background:#fff9; }
.quick-amount-row input { font-size:1.125rem; }
.toast { font-size:var(--text-body); }
dialog { max-width:30rem; }

/* The layout and app controls use the same breakpoint. */
@media (min-width:60rem) {
  .input-toggle { display:none; }
  .input-body { display:block; }
  .input-summary { display:none; }
  .mobile-amount-editor { display:none!important; }
}
@media (max-width:59.999rem) {
  .workspace { grid-template-columns:minmax(0,1fr); gap:2rem; }
  .page-content,.site-header { max-width:44rem; }
  .input-toggle { display:inline-flex; font-size:1rem; }
  .form-switch select { font-size:1rem; }
  .mobile-amount-editor { display:block; padding:1.25rem; }
  .live-results { display:none!important; }
  .input-card.is-collapsed { padding:1.25rem; }
  .inputs-collapsed .input-summary { font-size:var(--text-small); }
  .empty-results { min-height:18rem; }
  .result-card { padding:.25rem 0 1rem; }
  .metric.primary-metric b { font-size:4.25rem; }
  .return-comparison .advanced-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1rem; }
}
@media (max-width:25rem) {
  :root { --panel-padding:1.125rem; }
  .entry-intro h1 { letter-spacing:.025em; }
  .input-card { padding:1.125rem; }
  .field-row,#current-fields { column-gap:.75rem; }
  .field label { font-size:.9375rem; }
  select { font-size:1rem; padding-left:.625rem; padding-right:1.75rem; }
  .amount-chips button { font-size:.875rem; }
  .return-comparison .advanced-grid { grid-template-columns:minmax(0,1fr); gap:0; }
  .metric { padding-inline:.125rem; }
  .metric b { font-size:1.75rem; }
  .scenario-grid { gap:.5rem; }
  .scenario { padding:.875rem .375rem; }
  .scenario strong { font-size:.875rem; }
}

/* Inputs and results share one panel language, with flat sections inside. */
.workspace-panel {
  padding:var(--panel-padding);
  background:linear-gradient(138deg,#ffffffb3,#ffffff80 52%,#ffffffa3);
  border:1px solid #ffffffa6;
  border-radius:26px;
  box-shadow:inset 0 1px 0 #ffffffe0,inset 1px 0 0 #ffffff73,inset 0 -1px 0 #748d7710,0 18px 54px #3c65410b;
  backdrop-filter:blur(30px) saturate(100%);
  -webkit-backdrop-filter:blur(30px) saturate(100%);
}
.workspace-panel .results-intro { padding:0; margin:0 0 1.125rem; }
.results-title { min-height:24px; }
.results-context { margin-top:1rem; flex-wrap:wrap; gap:.375rem .75rem; }
.results-column:has(> #results-empty:not([hidden])) { align-self:stretch; display:flex; flex-direction:column; }
.results-column>.empty-results {
  flex:1;
  min-height:20rem;
  padding:1.25rem 0;
  align-items:stretch;
  justify-content:flex-start;
  gap:1.5rem;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.report-preview { width:100%; color:#66766f; }
.preview-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:var(--text-small); }
.preview-tag { padding:.125rem .5rem; border:1px solid #becfc354; border-radius:1rem; color:#677b70; }
.preview-saving { margin:2rem 0 1.25rem; text-align:center; }
.preview-saving>span,.preview-metrics>div>span { font-size:var(--text-small); }
.preview-saving>div { display:flex; align-items:baseline; justify-content:center; gap:.625rem; margin-top:.25rem; }
.preview-saving b { font:400 clamp(3.5rem,5vw,4.5rem)/1.1 Georgia,'Times New Roman',serif; color:#83a995; }
.preview-saving>div>span,.preview-metrics>div>div>span { font-size:var(--text-small); color:#6f7b75; }
.preview-metrics { display:grid; grid-template-columns:1fr 1fr; text-align:center; margin-bottom:1.75rem; }
.preview-metrics>div+div { border-left:1px solid var(--line); }
.preview-metrics>div>div { display:flex; align-items:baseline; justify-content:center; gap:.5rem; margin-top:.5rem; }
.preview-metrics b { font-size:1.75rem; font-weight:400; line-height:1.2; color:#8a9c92; }
.preview-interest { padding-top:1.25rem; border-top:1px solid var(--line); }
.preview-chart-heading { display:flex; align-items:center; justify-content:space-between; gap:.75rem; font-size:var(--text-small); }
.preview-legend { display:flex; gap:.75rem; font-size:.75rem; }
.preview-legend>span { display:flex; align-items:center; gap:.375rem; white-space:nowrap; }
.preview-legend i { display:inline-block; width:.75rem; border-top:2px dashed #a4b2aa; }
.preview-legend>span+span i { border-top-style:solid; border-color:#80ab96; }
.report-preview .preview-chart { display:block; width:100%; height:8.5rem; margin-top:1rem; stroke:none; }
.preview-grid { fill:none; stroke:#c5d1c72e; stroke-width:1; }
.preview-area { fill:url(#preview-fade); }
.preview-original { fill:none; stroke:#a9b5ac; stroke-width:2; stroke-dasharray:5 6; }
.preview-after { fill:none; stroke:#80ab96; stroke-width:2.5; }
.preview-features { display:flex; justify-content:space-between; gap:.75rem; padding-top:1.5rem; margin-top:.75rem; border-top:1px solid var(--line); }
.preview-features>span { display:flex; align-items:center; gap:.5rem; font-size:var(--text-small); white-space:nowrap; }
.preview-features svg { width:1.125rem; height:1.125rem; color:#789987; }
.results-column>.empty-results>#empty-message { margin:.25rem 0 0; text-align:center; font-size:var(--text-small); letter-spacing:0; color:#6d7972; }
@media (max-width:25rem) {
  .preview-features { gap:.5rem; }
  .preview-features>span { flex-direction:column; gap:.5rem; }
  .preview-legend { gap:.5rem; font-size:.6875rem; }
  .preview-chart-heading { gap:.5rem; }
}
.results-column .result-card { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.results-column .result-controls { align-items:stretch; gap:.75rem; }
.result-controls .segmented {
  padding:0;
  gap:1.5rem;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.result-controls .segmented button {
  position:relative;
  padding:0 0 .5rem;
  min-height:3.25rem;
  border-radius:0;
  text-align:left;
}
.result-controls .segmented button strong { font-size:var(--text-body); }
.result-controls .segmented button.active { background:transparent; box-shadow:none; }
.result-controls .segmented button.active::after {
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:2rem;
  height:2px;
  border-radius:2px;
  background:#498e79;
}
.results-column .chart-card,.results-column .future-card,.results-column .methodology { margin-inline:0; }
.results-column .mobile-amount-editor {
  padding:0 0 1rem;
  margin-bottom:1rem;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
@media (max-width:59.999rem) {
  .workspace-panel { backdrop-filter:blur(22px) saturate(100%); -webkit-backdrop-filter:blur(22px) saturate(100%); }
  .results-column>.empty-results { min-height:15rem; }
}
@media (max-width:25rem) {
  .workspace-panel { border-radius:23px; }
  .result-controls .segmented { gap:.75rem; }
}
@media (prefers-reduced-transparency:reduce) {
  .workspace-panel { background:#f9fbf7; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* A file fills the same form; it is not a separate calculator view. */
.input-heading-actions { display:flex; align-items:center; gap:.75rem; flex-shrink:0; }
#import-toggle { gap:.375rem; min-height:2.5rem; }
#import-toggle svg { width:1rem; height:1rem; }
.inline-import { padding:1rem 0; margin-bottom:1.25rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.inline-import .drop-zone { padding:1rem; gap:.5rem; }
.upload-copy { display:flex; flex-direction:column; align-items:center; gap:.375rem; min-width:0; }
.upload-copy #upload-detail,.upload-copy #import-range { color:#69776f; font-size:var(--text-small); line-height:1.5; }
.upload-copy #import-range { font-size:.75rem; }
.inline-import .drop-zone:is([data-state="ready"],[data-state="reading"],[data-state="error"]) { display:grid; grid-template-columns:2.25rem minmax(0,1fr) auto; align-items:center; column-gap:.75rem; text-align:left; cursor:pointer; }
.inline-import .drop-zone[data-state="ready"] { border-style:solid; border-color:#95bda7; background:linear-gradient(120deg,#e1f0e8b3,#f5faf6a6); }
.inline-import .drop-zone[data-state="ready"] #upload-title { color:#376d58; font-weight:600; }
.inline-import .drop-zone[data-state="error"] { border-color:#d5aa97; }
.inline-import .drop-zone:is([data-state="ready"],[data-state="reading"],[data-state="error"]) .upload-copy { align-items:flex-start; }
.inline-import .drop-zone:is([data-state="ready"],[data-state="reading"],[data-state="error"]) .upload-icon { display:grid; width:2.25rem; height:2.25rem; border-radius:50%; margin:0; background:#d7eade; color:#477e61; }
.inline-import .drop-zone[data-state="ready"] .upload-icon svg { width:1.25rem; height:1.25rem; stroke-width:2; }
.inline-import .drop-zone:is([data-state="ready"],[data-state="reading"],[data-state="error"]) .upload-button { padding:.375rem .625rem; margin:0; white-space:nowrap; font-size:var(--text-small); }
.inline-import:has(.drop-zone[data-state="ready"]) .import-confirm { margin:1rem 0 0; padding:0; }
.inline-import .import-status { margin:.75rem 0; padding:.375rem 0; background:transparent; border-radius:0; }
.inline-import .import-status.error { padding:.625rem .75rem; background:#fff1e9d9; border-radius:.625rem; }
.inline-import .upload-icon { display:none; }
.inline-import .upload-button { margin-top:.25rem; }
.inline-import .privacy-hint { margin:.75rem 0; }
.import-status.success { background:#dceee24d; color:#376d58; }
.import-applied-note { margin:0 0 1rem; padding:.625rem .875rem; border-left:2px solid #94b9a3; border-radius:0 .5rem .5rem 0; background:#dceee233; color:#376d58; font-size:var(--text-small); }
input[data-imported],select[data-imported] { border-color:#b7d7c6; background-color:#f2faf66b; }
@media (max-width:25rem) {
  .input-heading { gap:.5rem; }
  .input-heading-actions { gap:.5rem; }
  #import-toggle { font-size:.8125rem; }
  .inline-import .drop-zone:is([data-state="ready"],[data-state="reading"],[data-state="error"]) { grid-template-columns:2rem minmax(0,1fr); padding:.875rem; }
  .inline-import .drop-zone:is([data-state="ready"],[data-state="reading"],[data-state="error"]) .upload-icon { width:2rem; height:2rem; }
  .inline-import .drop-zone:is([data-state="ready"],[data-state="reading"],[data-state="error"]) .upload-button { grid-column:2; justify-self:start; }
}

:root{--mortgage-styles-ready:1}
