@charset "UTF-8";
:root{--bg:#f7f8f4;--surface:#fff;--ink:#263b33;--muted:#6f7c73;--line:#e3e8df;--green:#214f41;--green-hover:#173e32;--mint:#e9f1e5;--lime:#dcebb2;--accent:#a2bb7e;--radius:16px;font-family:Inter,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic UI",Meiryo,sans-serif;font-synthesis:none;color:var(--ink);background:var(--bg);font-weight:400;line-height:1.65;font-size:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button{color:inherit}a{color:inherit;text-decoration:none}input{min-width:0;color:var(--ink)}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #739b72;outline-offset:4px}h1,h2,h3,p{margin:0}h2{font-size:16px;font-weight:650}h3{font-size:14px}svg{display:block}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.skip-link{position:fixed;left:20px;top:-70px;z-index:99;background:var(--green);color:white;padding:12px}.skip-link:focus{top:10px}
.site-header{height:88px;max-width:1400px;margin:auto;padding:0 56px;display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:750;letter-spacing:2px;font-size:27px;line-height:1}.brand-dot{color:#76944a}.brand-icon{width:36px;height:36px;border-radius:10px;background:var(--green);display:grid;place-items:center}.brand-icon svg{width:22px;height:22px;fill:none;stroke:#edf3de;stroke-width:1.7;stroke-linejoin:round}.brand-caption{font-size:11px;letter-spacing:.08em;color:var(--muted);padding-left:24px;border-left:1px solid #dce2d7}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600}.site-header nav a{display:flex;align-items:center;gap:9px}.site-header nav a span,.counter{min-width:21px;height:21px;border-radius:6px;background:var(--mint);color:var(--green);display:inline-grid;place-items:center;font-size:11px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:none;border:0;padding:4px 0;font-size:12px;font-weight:600}.text-button:hover,.inline-link:hover{color:#527242}.text-button .icon{width:17px;height:17px}.subtle{color:var(--muted);font-weight:400}
main{max-width:1312px;padding:0 32px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;padding:56px 0 40px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:650;color:#758278;display:flex;align-items:center;gap:8px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:#8da773}h1{font-size:clamp(25px,3vw,38px);font-weight:650;letter-spacing:.055em;line-height:1.55;margin:14px 0 13px}.intro-text{color:var(--muted);font-size:13px;line-height:1.9}.mobile-break{display:none}.intro-aside{display:flex;align-items:center;gap:22px;padding:0 20px 0 10px}.intro-aside p{font-size:12px;letter-spacing:.06em;line-height:1.9;color:var(--muted)}.tiny-house{width:105px;transform:rotate(-4deg)}.tiny-house svg{stroke:#78916b;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.tiny-house .sun{stroke:#b5ad77}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-heading>span{font-size:11px;color:var(--muted)}.section-heading h2{font-size:14px;letter-spacing:.03em}.preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.preset{position:relative;display:flex;align-items:flex-start;text-align:left;gap:13px;background:white;border:1px solid var(--line);border-radius:12px;padding:19px 16px;transition:border-color .18s,background .18s,transform .18s;min-height:110px}.preset:hover{border-color:#9cb696;transform:translateY(-2px)}.preset[aria-pressed=true]{border-color:#789969;background:#f0f5e9;box-shadow:0 0 0 1px #789969}.preset-icon{width:35px;height:35px;border-radius:10px;background:#edf1e8;display:grid;place-items:center;color:#58734f;flex-shrink:0}.preset .preset-tag{display:block;font-size:9px;color:#7c8873;margin-bottom:3px}.preset strong{font-size:13px;font-weight:650;display:block;white-space:nowrap}.preset small{font-size:11px;color:var(--muted);display:block;margin-top:5px}.preset .preset-arrow{width:14px;height:14px;position:absolute;bottom:19px;right:13px;color:#7c8b73}.caption{font-size:11px;line-height:1.8;color:var(--muted)}.preset-caption{margin-top:10px;font-size:10px}
.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;align-items:start;margin-top:34px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.conditions{overflow:hidden;scroll-margin-top:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:21px 24px;border-bottom:1px solid var(--line)}.panel-heading h2{display:flex;align-items:center;gap:9px;font-size:15px}.basic-fields{padding:25px 24px 19px}.field{margin-bottom:25px}.field>label,.method-field legend{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.field>label small{font-size:9px;color:var(--muted);font-weight:400;margin-left:7px}.number-box{display:flex;align-items:center;gap:8px;border:1px solid #dce2d8;border-radius:8px;padding:9px 13px;background:#fff;transition:border-color .18s,box-shadow .18s}.number-box:focus-within{border-color:#789969;box-shadow:0 0 0 3px #78996918}.number-box input{border:0;outline:0!important;padding:0;width:100%;font-size:23px;font-weight:600;letter-spacing:.025em;background:transparent;line-height:1.3;font-variant-numeric:tabular-nums}.number-box span{font-size:12px;color:var(--muted);white-space:nowrap}.number-box input[aria-invalid=true]{color:#a3493a}.number-box.compact input{font-size:16px}.number-box.compact{padding:9px 11px}.range{--progress:40%;appearance:none;width:100%;height:4px;margin:18px 0 0;background:linear-gradient(to right,#698d5d var(--progress),#e3e8df var(--progress));border-radius:10px;display:block;cursor:pointer}.range::-webkit-slider-thumb{appearance:none;height:15px;width:15px;border:3px solid white;background:#648854;border-radius:50%;box-shadow:0 0 0 1px #648854,0 2px 5px #0001}.range::-moz-range-thumb{height:10px;width:10px;border:3px solid white;background:#648854;border-radius:50%;box-shadow:0 0 0 1px #648854}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:#7f887e;margin-top:10px}.loan-amount{display:flex;justify-content:space-between;align-items:center;background:#f1f5ed;border-radius:6px;padding:9px 11px;font-size:11px;margin-top:15px;color:#5b7154}.loan-amount strong{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.method-field{border:0;margin:0;padding:0}.method-field legend{padding:0}.segmented{display:flex;background:#f1f3ed;padding:4px;border-radius:8px;gap:4px}.segmented label{flex:1;position:relative;text-align:center;cursor:pointer}.segmented input{position:absolute;opacity:0;width:1px}.segmented span{display:block;font-size:12px;border-radius:5px;padding:8px;transition:background .16s}.segmented input:checked+span{background:white;box-shadow:0 1px 5px #263b3314;color:var(--green);font-weight:650}.segmented input:focus-visible+span{outline:3px solid #789969}.method-field .caption{font-size:10px;margin-top:8px}
.advanced-section{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px}summary::-webkit-details-marker{display:none}.advanced-section summary{padding:17px 24px;font-size:12px;font-weight:600}.advanced-section summary>span:first-child{display:flex;align-items:center;gap:8px}.chevron{border-right:1.5px solid #73816b;border-bottom:1.5px solid #73816b;transform:rotate(45deg);width:6px;height:6px;margin-right:3px;transition:transform .15s}details[open]>summary .chevron{transform:rotate(225deg)}.details-body{padding:0 24px 17px}.details-body>.caption{margin-bottom:12px}.add-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;border:1px dashed #c0cdb8;background:#f8faf6;color:#4c6e43;border-radius:7px;padding:9px;font-size:11px;margin:10px 0}.add-button .icon{width:14px;height:14px}.extra-fields .field{margin:0 0 17px}.event-card{border:1px solid var(--line);background:#f9faf7;border-radius:8px;padding:12px;margin:12px 0}.event-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:10px;color:#617657}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.event-card label{display:block;font-size:10px;color:var(--muted)}.event-card label input,.event-card label select{margin-top:5px;width:100%;border:1px solid #dce2d8;padding:7px 8px;background:white;border-radius:5px;font-size:12px;color:var(--ink)}.event-card label.full{grid-column:1/-1}.event-date{font-size:10px;color:var(--muted);margin-top:7px}.icon-button{display:inline-grid;place-items:center;width:30px;height:30px;border:0;background:transparent;border-radius:5px;flex-shrink:0}.icon-button:hover{background:#edf1e7}.icon-button .icon{width:17px;height:17px}.local-note{padding:17px 20px;background:#f7f9f4;border-top:1px solid var(--line);font-size:9px;color:var(--muted);display:flex;align-items:center;gap:7px}.local-note .icon{width:13px;height:13px}
.result-topline{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px}.result-topline .eyebrow{font-size:9px}.live-tag{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.live-tag i{width:5px;height:5px;border-radius:50%;background:#8bab73}.monthly-card{padding:25px 30px 0;border-radius:var(--radius);background:var(--green);color:#fff;position:relative;overflow:hidden}.monthly-card:after{content:"";pointer-events:none;position:absolute;width:230px;height:230px;border:1px solid #ffffff0a;transform:rotate(35deg);border-radius:45px;right:-65px;top:5px}.monthly-card-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#f1f4ee}.light-label{font-size:10px;color:#b8cbbd;margin-left:9px}.method-badge{background:#ffffff0d;border:1px solid #ffffff24;font-size:10px;padding:3px 10px;border-radius:5px}.monthly-value{display:flex;align-items:baseline;gap:12px;margin:7px 0 0;white-space:nowrap}.monthly-value strong{font-size:clamp(35px,4.2vw,57px);letter-spacing:.015em;line-height:1.4;font-weight:550;font-variant-numeric:tabular-nums}.monthly-value>span{font-size:17px;color:#d7e2d7}.per-month{font-size:12px;color:#b4c7b9}.monthly-detail{font-size:10px;color:#b5c9b8;margin:4px 0 21px}.monthly-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff21;margin:0 -30px;padding:16px 30px;background:#ffffff05}.monthly-bottom>div{display:flex;align-items:baseline;gap:22px}.monthly-bottom span{font-size:11px;color:#d6e1d5}.monthly-bottom strong{font-size:19px;font-weight:500;letter-spacing:.02em}.monthly-bottom>.icon{color:#adc49c;width:24px;height:24px}.stat-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;margin:24px 0 26px}.stat{padding:0 17px;border-right:1px solid #dce3d5;min-width:0}.stat:first-child{padding-left:2px}.stat:last-child{border:0;padding-right:0}.stat>span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.stat>strong{font-size:25px;font-weight:550;letter-spacing:-.02em;white-space:nowrap;line-height:1.4;display:block;font-variant-numeric:tabular-nums}.stat strong small{font-size:12px;font-weight:400;letter-spacing:0;margin-left:3px}.stat>small{display:block;font-size:9px;color:#7d887b;margin-top:6px}.chart-panel{padding:0 24px;min-height:340px}.chart-heading{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);align-items:center;gap:8px}.view-tabs{display:flex;gap:22px}.view-tabs button{padding:19px 0 15px;font-size:12px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted)}.view-tabs button[aria-selected=true]{border-bottom-color:#4a724b;color:var(--green);font-weight:650}.csv-button{font-size:10px;color:var(--muted)}.csv-button .icon{width:15px;height:15px}.chart-summary{display:flex;justify-content:space-between;align-items:center;margin-top:19px;font-size:11px}.chart-summary p{color:#64795d}.chart-legend{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted)}.chart-legend i{height:7px;width:7px;background:#6e925c;border-radius:2px}.chart-container{margin-top:8px}.chart-container svg{width:100%;height:auto;overflow:visible;aspect-ratio:650/220}.chart-container svg text{font-family:inherit;font-size:11px;fill:#869080}.chart-foot{border-top:1px solid #ecf0e6;display:flex;gap:12px;align-items:center;font-size:10px;color:var(--muted);padding:13px 0}.chart-foot strong{font-weight:500;color:#56714b}.chart-foot .icon{width:15px;height:15px}.table-caption{margin-top:16px;font-size:10px}.table-scroll{overflow:auto;max-height:278px;margin:12px 0 15px}table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}thead{background:#f6f8f2;position:sticky;top:0}th,td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);padding:11px 9px}th{font-size:10px;font-weight:500;color:var(--muted)}th:first-child,td:first-child{text-align:left}td small{display:block;font-size:9px;color:var(--muted)}
.household-panel{margin-top:19px;background:#eef2e8;padding:20px 23px;border-radius:12px;border:1px solid #e6ebdc}.household-heading{display:flex;align-items:center;gap:8px;color:#4d6745}.household-heading h3{font-size:12px;font-weight:600}.household-heading .icon{width:16px;height:16px}.household-grid{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:13px;margin-top:15px}.household-grid>div>span{font-size:9px;color:#6e7d63;display:block}.household-grid strong{display:block;font-weight:550;font-size:21px;letter-spacing:-.02em;line-height:1.8;white-space:nowrap}.household-grid strong small{font-size:11px;margin-left:3px}.household-grid>div>small{font-size:9px;color:#7e8977;display:block}.household-panel>.caption{margin-top:12px;font-size:9px;line-height:1.8;color:#7c8875}.result-actions{display:flex;gap:10px;margin-top:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;font-weight:550;font-size:12px;padding:12px 18px;transition:background .15s,transform .15s;min-height:43px}.button:active{transform:translateY(1px)}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:var(--green-hover)}.button.secondary{background:white;border-color:#d8e0d1;color:#536c49}.button.secondary:hover{background:#f0f4e9}.button .icon{width:16px;height:16px}.result-actions .primary{flex:1}.result-actions .secondary{flex:1}.result-note{margin-top:13px;font-size:10px}.inline-link{border:0;background:none;padding:0;font-size:inherit;color:#4b7046;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.validation-errors{border:1px solid #e0a995;background:#fff5ef;border-radius:14px;padding:24px;color:#994632}.validation-errors h3{margin-bottom:12px}.validation-errors ul{margin:0;padding-left:20px;font-size:12px}
.comparison-section{margin:52px 0 30px;scroll-margin-top:30px}.comparison-section .eyebrow{font-size:9px;margin-bottom:7px}.comparison-section .section-heading h2{font-size:21px;font-weight:600;letter-spacing:.02em}.comparison-section .section-heading{margin-bottom:20px}.comparison-section>.caption{margin-top:10px;font-size:10px}.compare-empty{display:flex;align-items:center;justify-content:space-between;padding:26px 30px;border:1px dashed #cad6bd;border-radius:12px;background:#f3f6ee;gap:20px}.compare-empty>div{display:flex;gap:18px;align-items:center}.compare-empty .empty-icon{color:#8da277;display:grid;place-items:center;width:44px;height:44px;border:1px solid #d4dfc6;border-radius:12px;background:#f9fbf4}.compare-empty h3{font-size:12px;font-weight:550}.compare-empty p{font-size:10px;color:var(--muted);margin-top:3px}.compare-empty>.text-button{color:#5b764e;font-size:11px}.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.compare-card{border:1px solid var(--line);border-radius:12px;background:white;padding:20px}.compare-card-heading{display:flex;align-items:center;gap:8px;justify-content:space-between}.compare-card h3{font-size:13px;overflow-wrap:anywhere}.compare-number{font-size:10px;letter-spacing:.12em;color:#7f9372;margin-bottom:9px}.compare-subtitle{font-size:10px;color:var(--muted);margin-top:3px}.compare-monthly{font-size:29px;letter-spacing:-.03em;line-height:1.4;margin-top:14px;font-weight:550;font-variant-numeric:tabular-nums}.compare-monthly small{font-size:11px;letter-spacing:0}.compare-first{font-size:9px;color:var(--muted)}.compare-metrics{margin:17px 0 19px}.compare-metrics>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #edf0e8;font-size:11px}.compare-metrics dt{color:var(--muted)}.compare-metrics dd{margin:0}.compare-card .button{width:100%;padding:8px;font-size:11px}.compare-slot{border:1px dashed #d2dcc8;border-radius:12px;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#829176;gap:11px;font-size:11px;background:#f4f6f0}.compare-slot button{background:transparent;border:0;color:#5f7951;font-size:11px;display:flex;gap:7px;align-items:center}.compare-slot .icon{width:17px;height:17px}
.assumptions{background:transparent;border-radius:10px;margin:30px 0 48px}.assumptions>summary{padding:19px 23px;color:#61725a;font-size:11px}.assumptions>summary>span:first-child{display:flex;align-items:center;gap:8px}.assumptions>summary .icon{width:16px;height:16px}.assumptions-body{border-top:1px solid var(--line);padding:22px 25px;display:grid;grid-template-columns:1fr 1fr;gap:32px}.assumptions h3{font-size:12px;font-weight:600}.assumptions ul{padding-left:17px;margin:12px 0;font-size:11px;color:var(--muted);line-height:1.9}.assumptions li{margin:8px 0}.assumptions a{text-decoration:underline;text-underline-offset:3px}footer{max-width:1400px;margin:auto;border-top:1px solid var(--line);padding:27px 56px 35px;display:flex;align-items:center;gap:25px;color:#7b8676;font-size:10px}.footer-brand{font-size:20px;color:#57714d;gap:0;letter-spacing:1px}footer>span{margin-left:auto;font-size:9px}.mobile-result-link{display:none}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:13px 22px;background:#243e32;color:#fff;border-radius:9px;box-shadow:0 8px 30px #0002;font-size:12px;z-index:50;max-width:min(560px,90vw);width:max-content;line-height:1.7}.noscript{position:fixed;inset:0;background:white;color:var(--ink);display:grid;place-items:center;z-index:100}
dialog{border:1px solid #dce3d5;border-radius:16px;padding:28px;width:480px;max-width:calc(100% - 32px);color:var(--ink);box-shadow:0 25px 100px #16352422}dialog::backdrop{background:#15271f80;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.dialog-heading h2{font-size:17px}dialog p{font-size:12px;color:var(--muted);line-height:1.9;margin:10px 0 20px}dialog label{font-size:12px;font-weight:600}.plain-input{display:block;border:1px solid #cad5c0;width:100%;border-radius:7px;padding:11px 13px;font-size:14px;margin-top:8px;color:var(--ink);background:white}.dialog-actions{margin-top:24px;display:flex;gap:10px;justify-content:flex-end}.guide-steps{list-style:none;counter-reset:guide;padding:0;margin:25px 0}.guide-steps li{counter-increment:guide;position:relative;padding-left:45px;margin:20px 0}.guide-steps li:before{content:"0" counter(guide);position:absolute;left:0;top:0;background:#edf2e5;width:30px;height:30px;border-radius:7px;display:grid;place-items:center;color:#607c4b;font-size:11px}.guide-steps strong{font-size:13px}.guide-steps p{font-size:11px;margin:5px 0}.full-width{width:100%;margin-top:18px}
@media(min-width:1450px){.workspace{grid-template-columns:360px minmax(0,1fr);gap:32px}.basic-fields{padding:27px}.chart-container svg{max-height:250px}.monthly-card{padding-top:29px}.monthly-detail{margin-bottom:25px}}
@media(max-width:1100px){.site-header{padding:0 32px}.intro-aside{gap:14px;padding:0}.intro-aside p{font-size:10px}.preset{padding:15px 12px;gap:9px}.preset-icon{width:29px;height:29px}.preset-icon .icon{width:17px;height:17px}.preset strong{font-size:11px}.preset .preset-tag{font-size:8px}.preset small{font-size:10px}.workspace{grid-template-columns:300px minmax(0,1fr);gap:22px}.stat>strong{font-size:22px}.stat{padding:0 11px}.stat>small{font-size:8px}.monthly-bottom>div{gap:15px}.monthly-bottom strong{font-size:16px}.monthly-bottom span{font-size:10px}.household-grid{gap:9px}.household-grid strong{font-size:19px}.household-grid>div>span{font-size:8px}.household-grid>div>small{font-size:8px}.result-actions .button{padding:11px 9px;font-size:10px}.comparison-section{margin-top:40px}}
@media(max-width:860px){.site-header{height:74px;padding:0 24px}.brand-caption{display:none}.site-header nav{gap:20px}.intro{padding:36px 0 30px}.intro-aside{display:none}main{padding:0 24px}.preset-grid{grid-template-columns:repeat(2,1fr);gap:10px}.preset{padding:14px 16px;min-height:94px}.preset strong{font-size:13px}.preset .preset-tag{font-size:9px}.preset small{font-size:11px}.preset-icon{width:32px;height:32px}.workspace{grid-template-columns:280px minmax(0,1fr);gap:18px;margin-top:27px}.basic-fields{padding:22px 20px}.panel-heading{padding:19px 20px}.advanced-section summary{padding:17px 20px}.details-body{padding:0 20px 16px}.monthly-card{padding:22px 22px 0}.monthly-value strong{font-size:39px}.monthly-bottom{padding:14px 22px;margin:0 -22px}.monthly-bottom>div{display:block}.monthly-bottom strong{display:block;margin-top:3px;font-size:19px}.stat-grid{gap:12px;grid-template-columns:1fr 1fr}.stat{padding:0;border:0}.stat:last-child{grid-column:1/-1;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.stat:last-child>span{margin:0}.stat:last-child>strong{font-size:19px}.stat:last-child>small{margin:0;font-size:10px}.stat>small{font-size:9px}.chart-panel{padding:0 17px;min-height:280px}.chart-summary{display:block}.chart-legend{margin-top:6px}.chart-container svg{min-height:175px}.chart-container svg text{font-size:13px}.chart-heading{gap:5px}.view-tabs{gap:15px}.view-tabs button{font-size:11px}.chart-foot{font-size:9px}.household-panel{padding:18px}.household-grid{grid-template-columns:1fr;gap:10px}.household-grid>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 7px}.household-grid>div>span{font-size:10px}.household-grid>div>small{font-size:9px;grid-column:1/-1}.household-grid strong{font-size:20px}.result-actions{flex-direction:column}.result-actions .button{font-size:12px}.compare-grid{gap:10px}.compare-card{padding:15px}.compare-card h3{font-size:12px}.compare-monthly{font-size:23px}.compare-metrics>div{font-size:10px;gap:5px;flex-wrap:wrap}.compare-metrics dd{margin-left:auto}.comparison-section .section-heading h2{font-size:18px}.compare-empty{padding:22px}.compare-empty>div{gap:12px}.compare-empty>.text-button{font-size:10px}footer{padding:25px 24px 30px;gap:15px}}
@media(max-width:650px){.site-header{padding:0 20px;height:70px}.brand{font-size:24px}.brand-icon{width:31px;height:31px;border-radius:9px}.brand-icon svg{width:19px;height:19px}.site-header nav{gap:17px;font-size:11px}.site-header nav .text-button{font-size:11px}.site-header nav .text-button .icon{display:none}main{padding:0 18px}.intro{padding:31px 2px 27px}.intro .eyebrow{font-size:9px}h1{font-size:28px;line-height:1.6;letter-spacing:.035em;margin:11px 0 11px}.mobile-break{display:block}.intro-text{font-size:11px;line-height:1.9}.section-heading{align-items:flex-end}.section-heading h2{font-size:12px}.presets-section .section-heading>span{font-size:9px}.preset{padding:14px 10px;gap:8px;min-height:100px}.preset strong{font-size:11px}.preset small{font-size:10px}.preset .preset-tag{font-size:8px}.preset-icon{width:25px;height:25px;border-radius:8px}.preset-icon .icon{width:15px;height:15px}.preset .preset-arrow{width:12px;height:12px;bottom:15px;right:9px}.preset-caption{font-size:9px;margin-top:9px}.workspace{grid-template-columns:1fr;gap:29px;margin-top:26px}.panel-heading{padding:18px 21px}.basic-fields{padding:24px 22px 20px;display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.field{margin:0}.number-box{padding:10px 11px}.number-box input{font-size:23px}.field>label{font-size:11px}.field>label small{display:block;font-size:8px;margin-left:0;line-height:1.6}.basic-fields .field:nth-child(3)>label small{display:none}.range-labels{font-size:8px}.loan-amount{margin-top:13px;padding:7px 8px;font-size:9px;gap:5px}.loan-amount strong{font-size:13px}.method-field{grid-column:1/-1}.range{margin-top:17px}.number-box span{font-size:10px}.advanced-section summary{padding:16px 22px}.details-body{padding:0 22px 17px}.local-note{font-size:9px;padding:14px 22px}.result-topline{margin-bottom:11px}.result-topline .eyebrow{font-size:9px}.monthly-card{padding:24px 24px 0}.monthly-card-top{font-size:12px}.monthly-value strong{font-size:51px}.monthly-value>span{font-size:15px}.monthly-detail{font-size:9px;margin-bottom:20px}.monthly-bottom{padding:15px 24px;margin:0 -24px}.monthly-bottom>div{display:flex;gap:17px}.monthly-bottom strong{font-size:18px;margin:0}.monthly-bottom span{font-size:10px}.stat-grid{grid-template-columns:1fr 1fr 1fr;gap:0;margin:22px 0}.stat{padding:0 10px;border-right:1px solid #dce3d5}.stat>strong{font-size:20px}.stat strong small{font-size:10px}.stat>span{font-size:9px;margin-bottom:7px}.stat>small{font-size:8px;line-height:1.7}.stat:last-child{display:block;padding:0 0 0 11px;grid-column:auto;border:0}.stat:last-child>strong{font-size:19px}.stat:last-child>small{margin-top:6px;font-size:8px}.stat:last-child>span{margin-bottom:7px}.chart-panel{padding:0 20px;min-height:300px}.chart-summary{display:flex;font-size:10px}.chart-legend{font-size:9px;margin:0}.chart-container svg{min-height:185px}.chart-container svg text{font-size:13px}.chart-foot{font-size:9px;padding:12px 0}.household-panel{padding:19px 22px}.household-grid{gap:10px}.household-grid>div>span{font-size:11px}.household-grid strong{font-size:21px}.household-heading h3{font-size:12px}.result-actions{flex-direction:column;margin-top:19px;gap:9px}.result-actions .button{font-size:12px;min-height:46px}.result-note{font-size:9px}.comparison-section{margin:39px 0 24px}.comparison-section .section-heading{align-items:end;gap:8px}.comparison-section .section-heading h2{font-size:17px}.comparison-section .section-heading>span{font-size:9px;white-space:nowrap}.comparison-section .eyebrow{font-size:8px}.compare-empty{display:block;padding:22px 18px}.compare-empty .empty-icon{width:35px;height:35px;flex-shrink:0}.compare-empty h3{font-size:11px}.compare-empty p{font-size:9px}.compare-empty>.text-button{margin:15px 0 0 47px}.compare-grid{grid-template-columns:1fr}.compare-card{padding:21px}.compare-card h3{font-size:14px}.compare-monthly{font-size:31px}.compare-metrics>div{font-size:12px;padding:9px 0}.compare-card .button{padding:11px}.compare-slot{min-height:105px}.assumptions{margin:24px 0 29px}.assumptions>summary{padding:17px 19px;font-size:11px}.assumptions-body{grid-template-columns:1fr;gap:18px;padding:22px}.assumptions ul{font-size:10px}footer{padding:25px 20px 104px;gap:15px;flex-wrap:wrap}.footer-brand{font-size:20px}footer p{font-size:9px}footer>span{margin-left:0;width:100%;font-size:9px}.mobile-result-link{position:fixed;display:flex;align-items:center;justify-content:space-between;left:0;right:0;bottom:0;background:#ffffffed;backdrop-filter:blur(15px);border-top:1px solid #dce4d5;padding:12px 20px calc(12px + env(safe-area-inset-bottom));z-index:20;gap:10px}.mobile-result-link>span:first-child{display:flex;flex-direction:column;font-size:9px;color:var(--muted)}.mobile-result-link strong{font-size:18px;color:var(--ink);font-weight:600;line-height:1.5}.mobile-result-link>span:last-child{font-size:11px;color:var(--green);font-weight:650}.toast{bottom:93px;font-size:11px;padding:12px 17px}dialog{padding:23px}.dialog-heading h2{font-size:15px}.dialog-actions .button{font-size:11px}}
@media(max-width:370px){.site-header nav{gap:11px}.preset strong{font-size:10px}.preset-icon{display:none}.monthly-value strong{font-size:45px}.monthly-bottom>div{gap:9px}.monthly-bottom strong{font-size:16px}.stat>strong{font-size:18px}.stat:last-child>strong{font-size:17px}.stat{padding:0 7px}.stat:last-child{padding-left:7px}.comparison-section .section-heading h2{font-size:15px}.comparison-section .section-heading>span{font-size:8px}.chart-summary p{font-size:9px}}
.workspace>*{min-width:0}.field{min-width:0}.household-grid>div{min-width:0}.compare-card{min-width:0}.chart-container svg{aspect-ratio:auto;height:220px;min-height:0}
.monthly-value strong.large-number{font-size:42px}.stat>strong.large-number{font-size:20px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:650px){.workspace{grid-template-columns:minmax(0,1fr)}.basic-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{gap:12px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.monthly-value strong{font-size:clamp(36px,12vw,51px)}.monthly-card-top{gap:10px}.monthly-bottom>div{flex-wrap:wrap;gap:3px 12px}.monthly-bottom>.icon{margin-left:8px}}
@media(max-width:370px){.site-header{padding-left:16px;padding-right:16px}.site-header .brand{font-size:22px;gap:8px}.brand-icon{width:28px;height:28px}.site-header nav,.site-header nav .text-button{font-size:10px}.site-header nav a{gap:5px}.site-header nav a span{min-width:18px;height:18px}.comparison-section .section-heading{flex-wrap:wrap}}
@media(max-width:650px){.monthly-value strong.large-number{font-size:clamp(27px,8vw,35px)}.stat>strong.large-number{font-size:15px}.stat>strong#payoff-duration{white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{body{background:#fff}.site-header,footer,.conditions,.presets-section,.result-actions,.mobile-result-link,.toast,.compare-slot,.compare-card .button,.icon-button{display:none!important}main{padding:0}.intro{padding:10px 0 20px}.intro-aside{display:none}.workspace{display:block}.monthly-card{color:#000;background:#eef2e8;print-color-adjust:exact}.monthly-detail,.monthly-bottom span,.monthly-card-top,.monthly-value>span{color:#333}.monthly-bottom{border-color:#ccc}.comparison-section{break-before:page}.compare-grid{grid-template-columns:repeat(3,1fr)}.assumptions{break-inside:avoid}}
