:root{font-family:Avenir Next,Avenir,Segoe UI,sans-serif;color:#273e3d;background:#f7f8f5;font-synthesis:none;font-weight:400;--ink: #233f3c;--muted: #5d716a;--green: #32675d;--border: #e0e6df;--blue: #245a71;--paper: #fff;--focus: #2a7186;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{touch-action:manipulation}button:disabled{cursor:default;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}::selection{background:#c4dcd5;color:#183d36}input{caret-color:var(--green)}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-thumb{background:#baccc3;border:2px solid #f7f8f5;border-radius:8px}h1,h2,h3,p{margin:0}h2{font-size:17px;letter-spacing:-.035em;font-weight:600}h3{font-size:16px;font-weight:600}svg{flex-shrink:0;vertical-align:middle}button{border:0;background:none}input{min-width:0}.site-header{max-width:1280px;margin:auto;padding:24px 40px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:9px;color:var(--blue);text-decoration:none;font-family:Georgia,Times New Roman,serif;font-size:31px;letter-spacing:-1.5px}.brand-dot{color:#6e9985}.header-right{display:flex;gap:33px;align-items:center}.privacy{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:12px}.about-button{display:flex;align-items:center;gap:8px;font-size:13px;min-height:44px;padding:0 4px}.about-button:hover{color:var(--green)}main{max-width:1280px;margin:auto;padding:41px 40px 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:33px;gap:20px}h1{font-family:Georgia,Times New Roman,serif;font-size:42px;font-weight:400;line-height:1.2;letter-spacing:-1.6px;text-wrap:balance}h1 em{font-style:normal;color:#5d8272}.intro p{color:var(--muted);font-size:14px;margin-top:11px;line-height:1.6}.saved{font-size:11px;color:#526d5d;display:flex;align-items:center;gap:7px;white-space:nowrap;margin-top:33px}.saved>span{width:6px;height:6px;border-radius:50%;background:#69947c}.saved.unsaved{white-space:normal;color:#8b5c2f}.workspace{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:32px;align-items:start}.panel{background:var(--paper);border:1px solid var(--border);border-radius:14px;overflow:hidden}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.debts-panel>.section-top{padding:24px 24px 17px}.debts-panel h2{display:flex;align-items:center;gap:9px}.count{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#edf1e9;color:#5a6d56;font-size:12px;letter-spacing:0;font-weight:500}.total-balance{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.total-balance>span{font-size:11px;color:var(--muted);font-weight:400;margin-left:2px}.sample-note{margin:0 24px 3px;padding:11px 12px;background:#f2f5ef;color:#5d7056;font-size:11px;display:flex;align-items:center;gap:7px;border-radius:5px}.sample-dot{width:5px;height:5px;background:#8ca17c;border-radius:50%;flex-shrink:0}.debt-list{padding:0 24px}.debt{padding:14px 0 19px;border-bottom:1px solid #e9ede6}.debt:last-child{border-bottom:0}.debt-title{display:flex;align-items:center;gap:9px;margin-bottom:8px}.debt-marker{width:8px;height:8px;flex-shrink:0;background:#78998d;border-radius:2px}.marker-1{background:#b5a17e}.marker-2{background:#8b9fbe}.marker-3{background:#b7949e}.debt-name{flex:1;background:transparent;border:0;padding:7px 0;font-size:14px;line-height:1.3;font-weight:550;color:var(--ink);width:100%;min-height:44px}.debt-name:hover{color:var(--green)}.icon-button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:7px}.icon-button:hover{background:#edf2ec}.delete-button{width:44px;height:44px;min-height:44px;color:#8b9990;margin-right:-13px}.delete-button:hover{color:#9c5141;background:#fbf1ee}.debt-fields{display:grid;grid-template-columns:1.3fr .85fr 1.1fr;gap:12px}.number-field{display:block;min-width:0}.field-label{display:block;color:var(--muted);font-size:10px;margin-bottom:6px;line-height:1.5}.input-wrap{display:flex;align-items:center;gap:5px;border:1px solid #dfe5dd;border-radius:6px;padding:0 10px;background:#fdfefb;min-height:44px;color:#5e7162}.input-wrap:focus-within{border-color:var(--focus)}.input-wrap input{font-size:13px;width:100%;padding:10px 0;border:0;background:transparent;color:var(--ink);font-variant-numeric:tabular-nums;outline:none}.input-wrap>span{font-size:12px}.input-wrap input:focus-visible{outline:none}.input-wrap:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.invalid .input-wrap{border-color:#ad5d42}.field-error{display:block;color:#a74e35;font-size:10px;margin-top:5px}.add-debt{display:flex;align-items:center;justify-content:center;gap:7px;min-height:45px;width:calc(100% - 48px);margin:0 24px 23px;border:1px dashed #bccdbf;border-radius:7px;color:var(--green);font-size:13px}.add-debt:hover{background:#f2f6ef;border-color:#759681}.budget-panel{margin-top:20px;padding:22px 24px 19px}.monthly-unit{color:#5e7162;font-size:10px}.budget-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.budget-heading>span{font-size:12px;color:var(--muted);max-width:150px;line-height:1.6}.budget-heading .number-field{width:145px}.budget-heading .field-label{display:none}.budget-heading .input-wrap{background:#f5f8f0;padding:0 12px;gap:6px}.budget-heading .input-wrap input{font-size:27px;font-family:Georgia,serif;padding:6px 0;letter-spacing:-.6px}.budget-heading .input-wrap>span{font-family:Georgia,serif;font-size:23px;color:#5c7055}.budget-breakdown{display:flex;justify-content:space-between;margin-top:16px;font-size:11px;color:var(--muted);padding-bottom:17px;border-bottom:1px solid #e8ece5}.budget-breakdown strong{font-weight:500;margin-left:5px;color:var(--ink);font-variant-numeric:tabular-nums}.budget-breakdown .extra-total,.budget-breakdown .extra-total strong{color:var(--green)}.slider-label{font-size:12px;display:flex;align-items:center;justify-content:space-between;margin-top:18px;color:#46664e}.extra-slider{width:100%;height:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer;margin:11px 0 0}.extra-slider::-webkit-slider-runnable-track{height:5px;border-radius:8px;background:linear-gradient(to right,#678a68 var(--fill),#e8ede3 var(--fill))}.extra-slider::-moz-range-track{height:5px;border-radius:8px;background:#e8ede3}.extra-slider::-moz-range-progress{height:5px;background:#678a68}.extra-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:23px;height:23px;background:#fff;border:5px solid #648665;border-radius:50%;margin-top:-9px;box-shadow:0 2px 5px #294c2520}.extra-slider::-moz-range-thumb{width:13px;height:13px;background:#fff;border:5px solid #648665;border-radius:50%}.range-endpoints{display:flex;justify-content:space-between;font-size:10px;color:#5e7162}.budget-tip{font-size:10px;color:#5e7162;display:flex;align-items:center;gap:7px;line-height:1.7;margin-top:18px}.budget-tip svg{color:#95a48a}.reset-area{display:flex;align-items:center;gap:8px;font-size:11px;color:#5e7162;min-height:51px;flex-wrap:wrap}.reset-area button{display:flex;align-items:center;gap:6px;padding:10px 2px;min-height:44px;font-size:11px;text-decoration:none}.reset-area button:hover{text-decoration:underline;color:var(--green)}.reset-area>span{margin-right:auto}.forecast{position:relative;background:#e2eef0;border:1px solid #d7e5e8;border-radius:14px;overflow:hidden;min-height:307px;color:#244e60}.forecast-content{position:relative;z-index:1;padding:24px 26px 89px;pointer-events:none}.forecast-label{display:flex;align-items:center;gap:8px;color:#456b78}.forecast-label h2{font-size:12px;font-weight:500;letter-spacing:0}.tiny-snowflake{opacity:.8}.forecast-date{font-family:Georgia,serif;font-size:43px;letter-spacing:-1.7px;margin-top:14px;line-height:1.2;color:#234e60}.forecast-content>p{margin-top:9px;font-size:12px;color:#476c7b}.forecast-content>p strong{font-weight:600;color:#466f7e}.forecast-tag{display:inline-flex;align-items:center;gap:5px;background:#ffffff80;color:#456b78;font-size:10px;margin-top:18px;padding:5px 8px;border-radius:5px}.forecast-tag-dot{width:5px;height:5px;background:#7b9da5;border-radius:50%}.landscape{width:100%;position:absolute;bottom:39px;height:200px;left:0}.rolling-position{transition:transform .7s cubic-bezier(.16,1,.3,1)}.rolling-ball{animation:roll-in .9s cubic-bezier(.16,1,.3,1);transform:rotate(var(--turn));transform-origin:0 0}@keyframes roll-in{0%{transform:rotate(calc(var(--turn) - 100deg))}to{transform:rotate(var(--turn))}}.forecast-bottom{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;gap:6px;font-size:10px;line-height:1.5;background:#f3f8f4cf;padding:12px 14px;color:#486c5e;border-top:1px solid #d8e6e0}.forecast-bottom strong{font-weight:600;color:#3d695e}.plan-warning{display:flex;align-items:center;gap:10px;background:#fff2dd;color:#855d24;border-radius:8px;padding:14px 17px;margin-top:15px;font-size:12px;line-height:1.6}.comparison-section{margin-top:26px}.section-description{color:var(--muted);font-size:11px;margin-top:6px}.strategy-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.strategy-option{border:1px solid #dfe5df;background:#fff;border-radius:10px;padding:16px 17px 0;text-align:left;min-width:0}.strategy-option:hover{border-color:#83a291;background:#fbfdf9}.strategy-option.selected{background:#f1f5ed;border:1.5px solid #7f9976;padding:15.5px 16.5px 0}.strategy-title{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:600}.radio-indicator{width:16px;height:16px;border:1px solid #c8d1c7;border-radius:50%;display:flex;align-items:center;justify-content:center}.selected .radio-indicator{border-color:#65875e}.radio-indicator>span{width:8px;height:8px;background:#65875e;border-radius:50%}.strategy-description{display:block;color:var(--muted);font-size:10px;margin-top:7px}.strategy-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:21px}.strategy-stats>div>span{display:block;color:#5e7162;font-size:9px;margin-bottom:7px}.strategy-stats strong{font-size:16px;font-weight:550;letter-spacing:-.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.strategy-stats>div:last-child{text-align:right}.strategy-note{margin-top:16px;padding:11px 0;border-top:1px solid #e3e9df;display:flex;align-items:center;justify-content:space-between;gap:5px;color:#5e7162;font-size:9px;line-height:1.6}.selected .strategy-note{color:#506f49;border-color:#dce5d4}.comparison-insight{font-size:10px;color:#5e7162;text-align:center;line-height:1.7;margin:12px 0 0}.comparison-insight strong{font-weight:600;color:#54704f}.timeline-section{margin-top:28px}.subtle{font-size:10px;color:#5e7162}.chart{position:relative;margin-top:13px}.chart svg{width:100%;display:block;overflow:visible;touch-action:pan-y}.chart-label{fill:#617367;font-size:10px;font-family:Avenir Next,Segoe UI,sans-serif;font-variant-numeric:tabular-nums}.chart-tooltip{position:absolute;top:0;right:10px;border:1px solid #dce6dd;border-radius:5px;background:#fff;padding:7px 10px;font-size:10px;pointer-events:none;box-shadow:0 3px 10px #24422f0c}.chart-tooltip strong{margin-left:9px;font-weight:600;color:var(--green)}.chart-legend{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:6px;color:#5e7162;font-size:10px}.chart-legend>span{display:flex;align-items:center;gap:7px}.chart-legend i{width:17px;height:0;border-top:2px solid #2e6960}.chart-legend i.dashed{border-top:2px dashed #8caaa9}.scrub-label{display:flex;align-items:center;gap:6px;font-size:9px;margin-left:auto}.scrub-label input{width:60px;accent-color:#587f6b;height:44px;cursor:pointer}.milestones{margin-top:21px;border-top:1px solid var(--border);padding-top:4px}.milestones summary{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:500;cursor:pointer;min-height:44px;list-style:none}.milestones summary::-webkit-details-marker{display:none}.milestones summary>span{font-size:10px;font-weight:400;color:#5e7162;display:flex;align-items:center;gap:8px}.milestones[open] summary svg{transform:rotate(90deg)}.milestones ol{list-style:none;margin:0;padding:4px 0 0}.milestones li{display:flex;align-items:center;gap:9px;padding:10px 0;font-size:11px;border-top:1px solid #e8ede6}.milestones li strong{margin-left:auto;font-weight:500;font-size:10px;color:#5e7162}.milestone-check{width:20px;height:20px;border-radius:50%;background:#e4ede0;color:#65855a;display:flex;align-items:center;justify-content:center}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0 24px;margin-top:29px;border-top:1px solid var(--border);color:#5e7162;font-size:10px}footer>span{display:flex;align-items:center;gap:8px}footer>span svg{width:22px;height:22px;opacity:.7}footer p{display:flex;align-items:center;gap:9px}footer button{display:flex;align-items:center;gap:5px;font-size:10px;color:#5e7162;min-height:44px;padding:0}footer button:hover{text-decoration:underline}.about-dialog{border:0;border-radius:16px;background:#fbfcf8;color:var(--ink);max-width:520px;width:calc(100% - 32px);max-height:90dvh;padding:0;box-shadow:0 24px 80px #183c3433}.about-dialog::backdrop{background:#183c3466;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-inner{padding:25px 30px 30px}.dialog-inner h2{font-family:Georgia,serif;font-size:30px;font-weight:400}.dialog-inner h3{margin:26px 0 10px}.dialog-inner p{font-size:12px;line-height:1.85;color:#5e7162;margin-top:12px}.about-lines{padding-bottom:20px;border-bottom:1px solid #dce4d7;margin-top:8px}.about-lines p{margin-top:3px}.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;background:#386b5c;color:#fff;min-height:46px;padding:12px 20px;border-radius:7px;margin-top:24px;width:100%}.primary-button:hover{background:#285746}.empty-debts{text-align:center;padding:27px 15px 35px;color:#5e7162}.empty-debts h3{margin-top:12px;color:var(--ink)}.empty-debts p{margin-top:9px;font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1400px){.site-header{padding-top:30px;padding-bottom:28px}main{padding-top:46px}.intro{margin-bottom:38px}h1{font-size:47px}.workspace{gap:40px}.forecast{min-height:325px}.forecast-content{padding-bottom:105px}.landscape{height:215px}.debt{padding-top:18px;padding-bottom:23px}.debt-title{margin-bottom:10px}.budget-panel{padding-top:26px;padding-bottom:24px}.comparison-section{margin-top:30px}.timeline-section{margin-top:32px}.strategy-stats{margin-top:25px}}@media(max-width:1000px){.site-header{padding:18px 25px}main{padding:30px 25px 0}.workspace{gap:22px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}h1{font-size:35px}.saved{font-size:10px}.debts-panel>.section-top{padding:21px 18px 15px}.sample-note{margin-left:18px;margin-right:18px;font-size:10px;padding:10px}.debt-list{padding:0 18px}.add-debt{width:calc(100% - 36px);margin-left:18px;margin-right:18px}.debt-fields{gap:8px}.input-wrap{padding:0 8px}.budget-panel{padding:21px 18px 18px}.budget-heading>span{font-size:11px}.budget-heading{gap:12px}.budget-heading .number-field{width:130px}.budget-tip{font-size:9px}.forecast-date{font-size:36px}.forecast-content{padding-left:21px;padding-right:21px}.forecast-bottom{font-size:9px;gap:4px}.strategy-option{padding:14px 12px 0}.strategy-option.selected{padding:13.5px 11.5px 0}.strategy-stats strong{font-size:14px}.strategy-description,.strategy-note{font-size:9px}.strategy-stats>div>span{font-size:8px}.comparison-insight{font-size:9px}.section-top h2{font-size:16px}.strategy-title{font-size:14px}.strategy-options{gap:10px}.subtle{font-size:9px}}@media(max-width:760px){.site-header{padding:14px 21px}.brand{font-size:28px}.brand svg{width:33px;height:33px}.privacy{display:none}.about-button{font-size:12px}main{padding:29px 20px 0}.intro{display:block;margin-bottom:24px}h1{font-size:36px;line-height:1.22;max-width:420px;letter-spacing:-1.4px}.intro p{font-size:12px;margin-top:11px}.saved{margin-top:17px;font-size:10px}.workspace{grid-template-columns:minmax(0,1fr);gap:20px}.debts-panel>.section-top{padding:22px 20px 17px}.sample-note{margin-left:20px;margin-right:20px;font-size:10px}.debt-list{padding:0 20px}.debt{padding:15px 0 19px}.debt-title{margin-bottom:9px}.debt-fields{gap:12px;grid-template-columns:1.3fr .85fr 1.1fr}.input-wrap{min-height:44px;padding:0 11px}.input-wrap input{font-size:14px}.field-label{font-size:10px}.delete-button{min-height:44px;margin-top:-4px;margin-bottom:-4px}.add-debt{width:calc(100% - 40px);margin:0 20px 21px;min-height:46px}.budget-panel{padding:22px 20px 20px;margin-top:17px}.budget-heading{margin-top:18px}.budget-heading>span{font-size:12px}.budget-heading .number-field{width:145px}.budget-tip{font-size:10px}.reset-area{min-height:44px}.forecast{min-height:307px}.forecast-content{padding:23px 23px 94px}.forecast-date{font-size:40px}.forecast-bottom{font-size:10px;flex-wrap:wrap}.landscape{height:210px}.comparison-section{margin-top:25px}.strategy-options{gap:12px}.strategy-option{padding:16px 15px 0}.strategy-option.selected{padding:15.5px 14.5px 0}.strategy-title{font-size:15px}.strategy-description{font-size:10px}.strategy-stats strong{font-size:16px}.strategy-stats>div>span{font-size:9px}.strategy-note{font-size:9px}.comparison-insight{font-size:10px}.timeline-section{margin-top:28px}.subtle{font-size:10px}.chart{margin-left:-7px}.chart-legend{gap:16px}.scrub-label input{width:50px}footer{margin-top:30px;display:block;padding-top:21px}footer p{margin-top:8px;font-size:9px;gap:5px}footer button{font-size:9px}.dialog-inner{padding:20px 22px 25px}.chart-label{font-size:12px}.milestones summary{min-height:50px}.chart-tooltip{top:-4px;font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.strategy-stats .strategy-duration{display:block;font-size:9px;color:#5e7162;margin-top:5px;font-weight:400}.strategy-stats strong{font-size:15px}@media(max-width:1000px)and (min-width:761px){.strategy-stats strong{font-size:12px}}
