@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Zen+Old+Mincho:wght@600;700&display=swap";:root{color:#222621;font-synthesis:none;--ink:#222621;--paper:#faf8f3;--line:#d9d4c9;--owner:#225a50;--owner-soft:#dce9e4;--renter:#c06b3e;--renter-soft:#f5dfd1;--positive:#24735f;--negative:#bc4d3f;--radius:2px;background:#f4f1ea;font-family:Noto Sans JP,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0;padding-bottom:72px}button,input{font:inherit}button{color:inherit}.hero{border-bottom:1px solid var(--line);background:#e8e4d9;grid-template-columns:1fr 3fr 1fr;align-items:end;gap:40px;min-height:450px;padding:28px clamp(24px,6vw,92px) 64px;display:grid;position:relative;overflow:hidden}.hero:after{content:"";border:1px solid #225a5038;border-radius:50%;width:360px;height:360px;position:absolute;top:-100px;right:-90px;box-shadow:0 0 0 70px #225a500a,0 0 0 140px #225a5006}.brand{letter-spacing:.08em;align-items:center;gap:10px;font-weight:700;display:flex;position:absolute;top:28px;left:clamp(24px,6vw,92px)}.brand-mark{color:#fff;background:var(--owner);border-radius:50% 50% 48% 52%/52% 48%;place-items:center;width:32px;height:32px;font-family:Zen Old Mincho,serif;display:grid}.hero-copy{z-index:1;grid-column:2;max-width:760px;position:relative}.eyebrow,.section-heading p,.card-heading p{letter-spacing:.2em;color:var(--owner);margin:0 0 12px;font-size:11px;font-weight:700}h1{letter-spacing:-.035em;margin:0;font-family:Zen Old Mincho,serif;font-size:clamp(42px,5vw,72px);font-weight:600;line-height:1.25}h1 em{color:var(--owner);font-style:normal;position:relative}h1 em:after{content:"";z-index:-1;opacity:.6;background:#d6aa65;height:8px;position:absolute;bottom:2px;left:0;right:0}.lead{color:#595c56;max-width:640px;margin:26px 0 0;font-size:15px;line-height:1.9}.hero-note{z-index:1;border-top:1px solid #aba79d;align-items:flex-start;gap:14px;padding-top:16px;display:flex;position:relative}.hero-note span{color:var(--owner);font-family:Zen Old Mincho,serif;font-size:24px}.hero-note p{color:#696b65;margin:2px 0;font-size:12px;line-height:1.7}.workspace{grid-template-columns:minmax(330px,430px) minmax(0,1fr);max-width:1440px;margin:0 auto;display:grid}.panel{border-right:1px solid var(--line)}.inputs-panel{background:#f7f4ed;padding:56px 42px 64px}.section-heading{align-items:center;gap:18px;margin-bottom:38px;display:flex}.section-heading>span{color:var(--owner);border-right:1px solid var(--line);padding-right:18px;font-family:Zen Old Mincho,serif;font-size:30px}.section-heading p{margin:0 0 5px}.section-heading h2{margin:0;font-family:Zen Old Mincho,serif;font-size:26px}.form-section{border-top:1px solid var(--line);padding:28px 0}.plan-saver{background:#ebe8df;border:1px solid #d6d1c5;margin:-8px 0 30px;padding:16px}.save-controls{grid-template-columns:1fr auto;gap:8px;display:grid}.save-controls input{background:#fff;border:1px solid #c9c4b9;outline:none;min-width:0;padding:10px 11px}.save-controls input:focus{border-color:var(--owner)}.save-controls button{color:#fff;background:var(--owner);cursor:pointer;border:0;padding:10px 12px;font-size:11px;font-weight:600}.plan-saver>p{color:#777970;margin:8px 0 0;font-size:9px;line-height:1.6}.saved-plans{border-top:1px solid #d4cfc3;gap:5px;margin-top:12px;padding-top:12px;display:grid}.saved-plan{grid-template-columns:1fr auto;gap:5px;display:grid}.saved-plan button{cursor:pointer;border:0}.plan-load{text-align:left;background:#fff;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.plan-load strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.plan-load small{color:#999b94;font-size:8px}.plan-delete{color:#9a6259;background:0 0;padding:7px 9px;font-size:9px}.form-section h3{letter-spacing:.08em;margin:0 0 24px;font-size:14px}.field{gap:9px;margin-bottom:20px;display:grid}.field:last-child{margin-bottom:0}.field-label{color:#62655e;font-size:12px;font-weight:600}.input-wrap{background:#fff;border:1px solid #ccc7bc;align-items:center;padding:0 14px;transition:border .2s,box-shadow .2s;display:flex}.input-wrap:focus-within{border-color:var(--owner);box-shadow:0 0 0 3px #225a5014}.input-wrap input{text-align:right;background:0 0;border:0;outline:0;width:100%;padding:13px 4px;font-weight:600}.input-wrap span{color:#777970;white-space:nowrap;font-size:11px}.field small{color:#85877f;font-size:10px}.field-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.field-grid .field:last-child{grid-column:1/-1}.segmented{background:#fff;border:1px solid #c9c4b9;grid-template-columns:1fr 1fr;padding:3px;display:grid}.segmented button{cursor:pointer;background:0 0;border:0;padding:11px;font-size:13px}.segmented button.active{background:var(--owner);color:#fff;font-weight:600}.assumption{color:#6c6e67;background:#ebe8df;margin:4px 0 0;padding:10px 12px;font-size:10px}.loan-formula{border-left:3px solid var(--owner);color:#565951;background:#f4f1e9;margin:8px 0 0;padding:12px;font-size:11px;line-height:1.6}.loan-formula strong{color:var(--ink);font-size:13px}.advanced-toggle{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;background:0 0;justify-content:space-between;width:100%;padding:18px 2px;font-weight:600;display:flex}.advanced-toggle span:last-child{color:var(--owner);font-size:20px;line-height:1}.advanced-fields{padding:24px 0 2px}.insurance-note{color:#59665e;background:#e8efe9;margin:8px 0 18px;padding:11px 12px;font-size:9px;line-height:1.7}.results-column{background:var(--paper);min-width:0;padding:56px clamp(24px,5vw,72px) 64px;scroll-margin-top:20px}.result-heading{margin-bottom:26px}.verdict{color:#fff;grid-template-columns:auto 1fr;align-items:end;margin-bottom:18px;padding:26px 30px;display:grid;position:relative;overflow:hidden}.verdict:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:180px;height:180px;position:absolute;top:-80px;right:-40px}.verdict.owner{background:var(--owner)}.verdict.renter{background:var(--renter)}.verdict p{opacity:.75;letter-spacing:.1em;grid-column:1/-1;margin:0 0 4px;font-size:11px}.verdict strong{font-family:Zen Old Mincho,serif;font-size:clamp(38px,5vw,58px)}.verdict span{justify-self:end;margin-bottom:10px;font-size:12px}.result-cards{grid-template-columns:1fr 1fr;gap:18px;display:grid}.result-card,.chart-card,.cost-card{border:1px solid var(--line);background:#fff;padding:26px}.result-card.winner{border-top:4px solid var(--owner);padding-top:23px}.result-card:nth-child(2).winner{border-top-color:var(--renter)}.card-title{align-items:center;gap:9px;display:flex}.card-title p{margin:0;font-weight:700}.card-title b{color:#55584f;background:#ece8de;margin-left:auto;padding:5px 8px;font-size:9px}.dot{border-radius:50%;width:9px;height:9px}.owner-dot,.owner-bg{background:var(--owner)}.renter-dot,.renter-bg{background:var(--renter)}.total{border-top:1px solid #ebe8df;border-bottom:1px solid #ebe8df;margin:12px 0;padding:22px 0}.total small{color:#777970;margin-bottom:4px;font-size:10px;display:block}.total strong{font-family:Zen Old Mincho,serif;font-size:clamp(28px,3vw,42px);display:block}.breakdown{gap:8px;display:grid}.breakdown-row{justify-content:space-between;align-items:baseline;gap:16px;font-size:11px;display:flex}.breakdown-row>span{color:#6f716a;min-width:0}.breakdown-row strong{white-space:nowrap;font-size:12px}.breakdown-row small{color:#999b94;margin-top:3px;font-size:8px;font-weight:400;line-height:1.55;display:block}.breakdown-row.positive strong{color:var(--positive)}.breakdown-row.negative strong{color:var(--negative)}.breakdown-row.neutral strong{color:var(--ink)}.chart-card,.cost-card{margin-top:18px}.card-heading{justify-content:space-between;align-items:flex-end;display:flex}.card-heading p{margin-bottom:5px}.card-heading h3{margin:0;font-family:Zen Old Mincho,serif;font-size:22px}.legend{color:#6b6e66;gap:14px;font-size:10px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend i{border-radius:50%;width:8px;height:8px}.bar-chart{background:repeating-linear-gradient(#0000 0 59px,#eeebe4 60px);border-bottom:1px solid #bdb8ad;justify-content:space-around;align-items:stretch;height:250px;margin-top:34px;padding-top:10px;display:flex}.bar-group{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;max-width:90px;display:flex}.bars{align-items:flex-end;gap:3px;width:70%;height:calc(100% - 24px);display:flex}.bar{opacity:.92;width:50%;min-height:2px;transition:height .35s}.bar-group>span{color:#777970;height:16px;font-size:9px}.cost-columns{grid-template-columns:1fr 1fr;gap:40px;margin-top:28px;display:grid}.cost-columns h4{border-bottom:1px solid #e5e1d8;margin:0 0 14px;padding-bottom:10px;font-size:12px}.cost-columns .breakdown-row{padding:4px 0}.monthly-summary{border:1px solid var(--line);background:#ede9df;grid-template-columns:repeat(3,1fr);margin-top:18px;display:grid}.monthly-summary div{border-right:1px solid var(--line);padding:16px 18px}.monthly-summary div:last-child{border:0}.monthly-summary span{color:#71736c;margin-bottom:5px;font-size:9px;display:block}.monthly-summary strong{font-size:13px}footer{border-top:1px solid var(--line);color:#74766f;background:#e8e4d9;justify-content:space-between;gap:30px;padding:28px clamp(24px,6vw,92px);font-size:10px;display:flex}footer p{margin:0}footer span{color:var(--ink);white-space:nowrap;font-weight:700}.plan-saver,.save-controls input,.save-controls button,.plan-load,.plan-delete,.input-wrap,.segmented,.segmented button,.assumption,.loan-formula,.insurance-note,.verdict,.result-card,.chart-card,.cost-card,.card-title b,.monthly-summary{border-radius:var(--radius)}.bar{border-radius:var(--radius) var(--radius) 0 0}.sticky-result{z-index:50;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf8f3f5;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #22262114}.sticky-result-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1440px;min-height:72px;margin:0 auto;padding:10px clamp(20px,5vw,72px);display:flex}.sticky-result-copy{align-items:baseline;gap:14px;min-width:0;display:flex}.sticky-result-copy>span{color:#71736c;white-space:nowrap;font-size:10px}.sticky-result-copy strong{white-space:nowrap;font-family:Zen Old Mincho,serif;font-size:25px}.sticky-result.owner .sticky-result-copy strong{color:var(--owner)}.sticky-result.renter .sticky-result-copy strong{color:var(--renter)}.sticky-result-copy p{color:#63665f;margin:0;font-size:11px}.sticky-result a{border-radius:var(--radius);color:#fff;background:var(--owner);flex:none;padding:11px 16px;font-size:11px;font-weight:700;text-decoration:none}.sticky-result.renter a{background:var(--renter)}.sticky-result a:focus-visible{outline-offset:2px;outline:3px solid #225a503d}@media (width<=900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:120px}.hero-copy{grid-column:1}.hero-note{display:none}.workspace{grid-template-columns:1fr}.panel{border-right:0;border-bottom:1px solid var(--line)}.inputs-panel{padding:44px clamp(20px,6vw,52px)}}@media (width<=620px){body{padding-bottom:82px}.hero{padding:105px 20px 44px}.brand{left:20px}h1{font-size:38px}.lead{font-size:13px}.results-column{padding:42px 16px}.result-cards,.cost-columns,.verdict{grid-template-columns:1fr}.verdict span{justify-self:start;margin:8px 0 0}.monthly-summary{grid-template-columns:1fr}.monthly-summary div{border-right:0;border-bottom:1px solid var(--line)}.field-grid{grid-template-columns:1fr}.field-grid .field:last-child{grid-column:auto}.save-controls{grid-template-columns:1fr}.chart-card{padding:20px 14px}.bar-chart{height:210px}footer{flex-direction:column}.sticky-result-inner{gap:12px;min-height:82px;padding:10px 16px}.sticky-result-copy{grid-template-columns:auto auto;align-items:baseline;gap:1px 8px;display:grid}.sticky-result-copy>span{grid-column:1/-1;font-size:9px}.sticky-result-copy strong{font-size:21px}.sticky-result-copy p{display:none}.sticky-result a{padding:10px 12px}}
