:root{color-scheme:light;--paper:#faf9f5;--surface:#fff;--ink:#202f38;--muted:#53616a;--line:#cbd1cf;--accent:#285d49;--accent-hover:#194735;--tint:#edf3ee;--danger:#9b3027;--focus:#1d6984;--feedback-surface:var(--paper);--feedback-focus:var(--focus);background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}::selection{color:#142d25;background:#d0e3d6}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button,input,select{font:inherit}button,input,select,summary{touch-action:manipulation}button{cursor:pointer;border-radius:7px;min-height:46px;padding:.65rem 1rem;font-weight:650;line-height:1.35;transition:background-color .16s ease-out}button:disabled{cursor:not-allowed;color:#59655e;background:#e1e5e1;border-color:#cbd1cf}.primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.secondary:hover:not(:disabled){background:#edf0eb}.skip-link{z-index:10;background:var(--paper);padding:12px;position:absolute;top:-80px;left:16px}.skip-link:focus{top:10px}.site-header,main,.site-footer{width:min(100% - 40px,960px);margin-inline:auto}.site-header{padding-block:23px 20px}.brand{color:var(--ink);letter-spacing:-.015em;align-items:center;gap:10px;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand svg{color:#203a42;flex:none}main{padding-bottom:32px}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;line-height:1.2}h1{margin:0 0 22px;font-size:1.75rem;font-weight:720}h2{font-size:1.35rem;font-weight:700}h3{font-size:1.0625rem}p{margin-block:0 14px}.calculator{max-width:740px}fieldset{border:0;min-width:0;margin:0;padding:0}.mode-choice{margin-bottom:23px}.mode-choice legend{margin-bottom:8px;font-size:.875rem;font-weight:600}.mode-options{background:#e9ede7;border-radius:8px;gap:4px;width:100%;padding:4px;display:flex}.mode-options label{cursor:pointer;flex:1;min-width:0;position:relative}.mode-options input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.mode-options span{min-height:42px;color:var(--muted);border-radius:5px;justify-content:center;align-items:center;padding:7px 9px;font-size:.9375rem;font-weight:600;display:flex}.mode-options input:checked+span{background:var(--surface);color:var(--accent);box-shadow:0 2px 5px #1c2f2317}.mode-options input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.mode-options input:hover+span{color:var(--ink)}.fields{grid-template-columns:1fr 1fr;align-items:start;gap:18px 20px;display:grid}.field{min-width:0}.field label{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:.875rem;font-weight:650;line-height:1.4;display:flex}.unit{color:var(--muted);white-space:nowrap;font-size:.75rem;font-weight:500}.field input,.field select{background:var(--surface);width:100%;min-width:0;height:48px;color:var(--ink);caret-color:var(--accent);font-variant-numeric:tabular-nums;border:1px solid #98a5a5;border-radius:6px;padding:10px 12px;line-height:1.4}.field input::placeholder{color:#647178;opacity:1}.field input:hover,.field select:hover{border-color:var(--ink)}.field input[aria-invalid=true]{border-color:var(--danger)}.field input[type=date]{-webkit-appearance:none;appearance:none;min-height:48px}.field input[type=date]::-webkit-date-and-time-value{text-align:left}.field-hint,.field-error{margin:5px 0 0;font-size:.75rem;line-height:1.4}.field-hint{color:var(--muted)}.field-error{color:var(--danger)}.currency-field{grid-column:1/-1;max-width:calc(50% - 10px)}.select-wrap{position:relative}.select-wrap select{appearance:none;background-image:url(/chevron.svg);background-position:right 12px center;background-repeat:no-repeat;background-size:14px 10px;padding-right:40px}.plan-date{color:var(--muted);margin:18px 0 14px;font-size:.8125rem}.plan-date strong{color:var(--ink);font-weight:600}.actions{gap:10px;display:flex}.actions .primary{min-width:150px}.input-note{color:var(--muted);margin:9px 0 0;font-size:.75rem}.tool-support{flex-wrap:wrap;align-items:center;gap:24px;margin-top:4px;font-size:.8125rem;display:flex}.tool-support .portfolio-feedback{margin-block:0}.tool-support>a{align-items:center;min-height:44px;display:inline-flex}.error-summary{color:#762c25;background:#faeeea;border:1px solid #d8a29b;border-radius:6px;margin-bottom:18px;padding:12px 14px;font-size:.875rem}.error-summary p{margin:0}.error-summary ul{margin:6px 0 0;padding-left:20px}.error-summary a{color:inherit}.result,.calculation-message{border-top:2px solid var(--ink);margin-top:26px;padding-top:24px}.result-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.result-heading h2{margin:0}.result-heading button{flex:none;min-height:42px;padding:8px 12px;font-size:.8125rem}.result-answer{letter-spacing:-.015em;overflow-wrap:anywhere;margin-bottom:8px;font-size:1.3125rem;font-weight:680;line-height:1.4}.result-timing,.partial-month{color:var(--muted);font-size:.875rem}.partial-month{color:var(--ink);background:var(--tint);border-radius:5px;padding:10px 12px}.stale-notice{color:#66511c;background:#f4edda;border-radius:5px;margin-bottom:16px;padding:11px 13px;font-size:.875rem;font-weight:650}.is-stale .result-answer,.is-stale .result-breakdown{color:var(--muted)}.result-breakdown{grid-template-columns:1fr 1fr;gap:0 24px;margin:20px 0 24px;display:grid}.result-breakdown>div{border-top:1px solid var(--line);min-width:0;padding:10px 0}.result-breakdown dt{color:var(--muted);font-size:.8125rem}.result-breakdown dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:2px 0 0;font-size:1rem;font-weight:650}.schedule-preview h3{margin:0 0 10px}.schedule-preview p{color:var(--muted);font-size:.8125rem}.table-scroll{scrollbar-color:#83958a #eef1eb;scrollbar-width:thin;max-width:100%;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;text-align:right;width:100%;margin-bottom:10px;font-size:.8125rem}caption{text-align:left;margin-bottom:8px;font-weight:650}.schedule-preview caption{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}th,td{white-space:nowrap;border-bottom:1px solid var(--line);padding:10px 12px}th{color:var(--ink);background:#edf0eb;font-weight:650}th:first-child,td:first-child,th:nth-child(2),td:nth-child(2){text-align:left}.full-schedule{margin-top:10px}.full-schedule .table-scroll{max-height:510px;margin-top:12px}.full-schedule th{z-index:1;position:sticky;top:0}summary{cursor:pointer;min-height:44px;color:var(--accent);padding-block:10px;font-size:.875rem;font-weight:650}summary:hover{text-underline-offset:.2em;text-decoration:underline}.result-assumptions{color:var(--muted);margin:16px 0 0;font-size:.8125rem}.print-inputs{display:none}.method{border-top:1px solid var(--line);margin-top:36px;padding-top:28px}.prose{max-width:74ch;font-size:.9375rem}.prose p,.prose li{line-height:1.65}.prose h2{margin-top:28px;margin-bottom:12px}.prose h2:first-child{margin-top:0}.prose details{border-bottom:1px solid var(--line);margin-block:6px}.prose details p,.prose details ul{margin-block:8px 16px}.prose li{margin-bottom:10px}.prose code{white-space:normal;overflow-wrap:anywhere;font-size:.8125rem}.information{min-height:45vh;padding-top:12px}.information h1{margin-bottom:20px}.information dt{margin-top:14px;font-weight:650}.information dd{margin:0}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding-block:22px 28px;font-size:.8125rem}.site-footer nav{flex-wrap:wrap;gap:24px;margin-bottom:8px;display:flex}.site-footer nav a{align-items:center;min-height:34px;display:flex}.site-footer p{margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=900px){.site-header{padding-top:28px;padding-bottom:26px}.calculator{padding-top:8px}.fields{gap:20px 24px}.currency-field{max-width:calc(50% - 12px)}}@media (width<=500px){.site-header,main,.site-footer{width:calc(100% - 32px)}.site-header{padding-block:18px}.brand{font-size:.9375rem}.brand svg{width:27px;height:27px}h1{margin-bottom:19px;font-size:1.5rem}.mode-choice{margin-bottom:19px}.fields{gap:15px 14px}.field label{gap:4px;font-size:.8125rem}.unit{font-size:.6875rem}.field input,.field select{padding-inline:10px}.field select{padding-right:36px;font-size:.875rem}.currency-field{max-width:none}.plan-date{margin-top:14px}.input-note{max-width:40ch}.tool-support{gap:16px}.result-breakdown{gap:0 16px}.result-heading{gap:8px}.result-heading h2{font-size:1.2rem}.result-answer{font-size:1.1875rem}.result-breakdown dd{font-size:.9375rem}th,td{padding:9px 10px}.prose{font-size:.875rem}.method{margin-top:28px}}@media (width<=350px){.fields{grid-template-columns:1fr}.currency-field{grid-column:auto}.mode-options span{padding-inline:5px;font-size:.8125rem}.result-breakdown{grid-template-columns:1fr}.result-heading{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{@page{margin:14mm}:root{color:#000;background:#fff;font-size:10pt}body{background:#fff}.skip-link,.site-footer,.tool-support,.mode-choice,.actions,.input-note,.method,noscript,#savings-advertisement,.result-heading button,.schedule-preview,.stale-notice,.calculation-message{display:none!important}.site-header,main{width:100%;max-width:none;margin:0;padding:0}.site-header{margin-bottom:15pt}.brand{color:#000;font-size:12pt}.brand svg{width:24px;height:24px}.calculator{max-width:none}h1{margin-bottom:12pt;font-size:17pt}#savings-form{display:none!important}.result{border-top:1px solid #000;margin:0;padding-top:12pt}.result-heading{margin-bottom:10pt}.result-answer{font-size:13pt}.result-breakdown{grid-template-columns:1fr 1fr 1fr;gap:0 12pt;margin-block:12pt}.result-breakdown>div{break-inside:avoid;padding:6pt 0}.result-breakdown dd{font-size:10pt}.print-inputs{break-inside:avoid;margin-block:12pt;display:block}.print-inputs h3{margin:0 0 6pt}.print-inputs dl{grid-template-columns:auto 1fr;gap:3pt 15pt;margin:0;font-size:9pt;display:grid}.print-inputs dt{font-weight:600}.print-inputs dd{margin:0}.full-schedule{display:block!important}.full-schedule::details-content{content-visibility:visible}.full-schedule summary{display:none}.full-schedule .table-scroll{max-height:none;margin:0;overflow:visible}.full-schedule:not([open])>:not(summary){content-visibility:visible;display:block!important}.full-schedule table{width:100%;font-size:8pt}.full-schedule caption{text-align:left;font-size:10pt;display:table-caption}th,td{white-space:normal;overflow-wrap:anywhere;padding:5pt 6pt}.full-schedule th{background:#eee;position:static}thead{display:table-header-group}tr{break-inside:avoid}.result-assumptions{margin-top:12pt;font-size:8pt}body[data-print-current=false] .result{display:none!important}body[data-print-current=false] .calculator:after{content:"No current savings plan. Calculate again before printing.";display:block}.information{max-width:none;min-height:0}a{color:inherit}}
