:root{color:#102f37;font-synthesis:none;text-rendering:optimizelegibility;--ink:#102f37;--navy:#0b2a55;--green:#087a50;--paper:#fbfaf5;--cream:#f4f0e7;--line:#cfcabe;--muted:#68777a;--orange:#b06f36;--purple:#735c8f;background:#f4f0e7;font-family:Noto Sans SC,Noto Sans JP,PingFang SC,Hiragino Sans,Yu Gothic,sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--cream);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--navy);text-underline-offset:3px}:focus-visible{outline-offset:3px;outline:3px solid #d49343}.site-header{background:#f4f0e7f5;border-bottom:1px solid #102f372e;justify-content:space-between;align-items:center;height:84px;padding:0 clamp(20px,5vw,80px);display:flex}.brand img{width:218px;height:auto;display:block}.language,.secondary,.export-actions button{border:1px solid var(--ink);color:var(--ink);background:0 0;border-radius:999px;padding:10px 18px;font-weight:700}.language:hover,.secondary:hover,.export-actions button:hover{background:#102f370f}main{overflow:hidden}.intro{color:#f8f6ef;background:var(--ink);grid-template-columns:minmax(0,780px) 1fr;align-items:start;gap:clamp(24px,5vw,80px);min-height:min(480px,100svh - 84px);padding:clamp(60px,8vw,96px) clamp(20px,8vw,120px) 64px;display:grid;position:relative}.intro:after{content:"";aspect-ratio:1;border:1px solid #ffffff29;border-radius:50%;width:64vw;position:absolute;bottom:-32vw;right:-16vw;box-shadow:0 0 0 8vw #ffffff06,0 0 0 16vw #ffffff05}.intro__copy{z-index:1;position:relative}.intro h1{letter-spacing:-.045em;max-width:760px;margin:0;font-size:clamp(42px,6.8vw,92px);font-weight:730;line-height:1.04}.intro__lines{z-index:1;justify-content:flex-end;gap:12px;padding-top:12px;display:flex;position:relative}.intro__lines i{border:1px solid #9dc9b980;border-radius:8px;width:12px;height:clamp(110px,20vw,240px);display:block}.intro__lines i:nth-child(2){margin-top:34px}.intro__lines i:nth-child(3){background:#9dc9b91f;margin-top:68px}.workspace,.inputs,.results{width:min(1180px,100% - 40px);margin:0 auto;padding:clamp(72px,9vw,126px) 0}.workspace{border-bottom:1px solid var(--line)}.workspace__title,.results__header{display:block}h2{letter-spacing:-.035em;margin:0;font-size:clamp(34px,4vw,58px);line-height:1.06}.results__header p{color:var(--muted);margin:12px 0 0}.common-fields{grid-template-columns:1.4fr .7fr 1fr;gap:18px;margin:64px 0 0;display:grid}.inputs{padding-top:86px}.input-group{border-bottom:1px solid var(--line);padding:54px 0 68px}.input-group__heading{margin-bottom:38px}.input-group h3{letter-spacing:-.02em;margin:0;font-size:clamp(25px,3vw,36px)}.input-group__heading p{color:var(--muted);margin:8px 0 0;line-height:1.6}.product-fact{border-block:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:12px 24px;margin-bottom:30px;padding:22px 0;display:flex}.product-fact span{color:var(--muted)}.product-fact strong{color:var(--green);font:750 clamp(24px,3vw,36px)/1 ui-monospace,monospace}.product-fact em{color:#8a4b28;width:100%;font-size:13px;font-style:normal}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px;display:grid}.field-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{color:#354e53;gap:8px;font-size:13px;font-weight:700;display:grid}.field__control{background:#ffffff52;border-bottom:1px solid #7e8988;align-items:center;min-height:52px;display:flex}.field__control:focus-within{border-color:var(--green);box-shadow:inset 0 -2px var(--green)}.field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:14px 12px;font-size:17px;font-weight:650}.field em{color:var(--muted);padding:0 12px 0 0;font-size:12px;font-style:normal;font-weight:700}.field--error{color:#a23e34}.field--error .field__control{border-color:#a23e34}.segmented{border:0;margin:26px 0 0;padding:0}.segmented legend{color:#354e53;margin-bottom:10px;font-size:13px;font-weight:700}.segmented>div{flex-wrap:wrap;gap:8px;display:flex}.segmented label{position:relative}.segmented input{opacity:0;position:absolute;inset:0}.segmented span{color:#4d6063;border:1px solid #85918f;border-radius:999px;padding:10px 16px;font-weight:700;display:block}.segmented input:checked+span{color:#fff;background:var(--ink);border-color:var(--ink)}.segmented input:focus-visible+span{outline-offset:3px;outline:3px solid #d49343}.toggle-row{grid-template-columns:1fr 1fr;gap:18px;margin-top:28px;display:grid}.toggle{cursor:pointer;grid-template-columns:44px 1fr;align-items:center;gap:12px;display:grid}.toggle input{opacity:0;position:absolute}.toggle>span{background:#e4e1d8;border:1px solid #82908f;border-radius:99px;width:44px;height:24px;padding:3px}.toggle>span:after{content:"";background:#60706f;border-radius:50%;width:16px;height:16px;display:block}.toggle input:checked+span{background:var(--green);border-color:var(--green)}.toggle input:checked+span:after{background:#fff;transform:translate(20px)}.toggle input:focus-visible+span{outline-offset:3px;outline:3px solid #d49343}.toggle strong{font-size:14px;line-height:1.5}.advanced{border-top:1px dashed var(--line);margin-top:26px;padding-top:18px}.advanced summary{cursor:pointer;color:var(--navy);font-weight:750}.scenario-fields{border-top:1px dashed var(--line);margin-top:36px;padding-top:28px}.actions,.export-actions{justify-content:flex-end;gap:12px;margin:42px 0 0;display:flex}.primary{background:var(--green);color:#fff;border:0;border-radius:999px;padding:16px 30px;font-weight:800;box-shadow:0 10px 30px #087a502e}.primary:hover{background:#066945}.secondary{padding-inline:24px}.error-summary{color:#7c2f29;background:#fff3ef;border-left:4px solid #a23e34;margin:28px 0 0;padding:20px 24px}.error-summary ul{margin:8px 0 0;padding-left:18px}.empty-state{width:min(1084px,100% - 40px);color:var(--muted);margin:-40px auto 90px}.results{border-top:1px solid var(--ink);padding-top:90px}.results__header p{max-width:640px;line-height:1.6}.summary-grid{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:58px 0 0;display:grid}.summary-item{min-width:0;padding:28px 26px 32px 0}.summary-item+.summary-item{border-left:1px solid var(--line);padding-left:26px}.summary-item>span{color:var(--muted);font-weight:800;display:block}.summary-item__metric{color:var(--muted);margin-top:18px;font-size:11px;display:block}.summary-item>strong{letter-spacing:-.04em;overflow-wrap:anywhere;margin:6px 0 26px;font:750 clamp(24px,3vw,38px)/1.1 ui-monospace,monospace;display:block}.summary-item--insurance>strong{color:#214d57}.summary-item--nisa>strong{color:var(--orange)}.summary-item--property>strong{color:var(--purple)}.summary-item dl{gap:8px;margin:0;display:grid}.summary-item dl div{justify-content:space-between;gap:16px;font-size:13px;display:flex}.summary-item dt{color:var(--muted)}.summary-item dd{font-variant-numeric:tabular-nums;margin:0}.summary-item ul{color:var(--muted);margin:22px 0 0;padding-left:18px;font-size:12px;line-height:1.6}.unavailable{color:#8a4b28;min-height:58px;font-weight:700}.result-section{margin:82px 0 0}.result-section__title{margin-bottom:28px}.result-section h3{margin:0;font-size:clamp(24px,3vw,34px)}.chart{background:var(--paper);border:1px solid #ded9cd;padding:20px}.chart svg{width:100%;height:auto;min-height:260px;display:block}.chart line{stroke:#ddd8cc;stroke-width:1px}.chart text{fill:#788381;font:12px ui-monospace,monospace}.chart path{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.chart__legend{flex-wrap:wrap;justify-content:center;gap:22px;font-size:13px;font-weight:700;display:flex}.chart__legend span{align-items:center;gap:7px;display:inline-flex}.chart__legend i{border-radius:3px;width:22px;height:4px}details>summary{cursor:pointer;color:var(--navy);margin-top:16px;font-weight:700}.table-scroll{overflow-x:auto}table{border-collapse:collapse;background:#fff3;width:100%;min-width:700px}th,td{border-bottom:1px solid var(--line);text-align:right;vertical-align:top;padding:15px 14px;font-size:13px}th:first-child,td:first-child{text-align:left}thead th{color:var(--muted);letter-spacing:.05em;font-size:11px}tbody th{color:var(--ink)}.sources ul{margin:24px 0;padding:0;list-style:none}.sources li{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:12px 0;display:flex}.sources small{color:var(--muted)}.sources p{color:var(--muted);max-width:880px;font-size:13px;line-height:1.7}.export-actions{width:min(1084px,100% - 40px);margin:-50px auto 100px}footer{color:var(--muted);background:#e7e3d8;align-items:flex-start;gap:24px;padding:42px clamp(20px,8vw,120px);display:flex}footer img{width:46px}footer p{max-width:820px;margin:0;font-size:12px;line-height:1.7}@media (max-width:900px){.intro{grid-template-columns:1fr;min-height:360px}.intro__lines{display:none}.common-fields,.field-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{grid-template-columns:1fr}.summary-item+.summary-item{border-left:0;border-top:1px solid var(--line);padding-left:0}}@media (max-width:640px){.site-header{height:70px;padding-inline:16px}.brand img{width:168px}.language{padding:8px 12px;font-size:12px}.intro{grid-template-columns:1fr;gap:28px;min-height:300px;padding:56px 20px 48px}.intro h1{font-size:clamp(42px,13vw,60px)}.workspace,.inputs,.results{width:min(100% - 32px,1180px);padding-block:64px}.common-fields,.field-grid,.field-grid--three,.toggle-row{grid-template-columns:1fr}.input-group{padding-block:44px 54px}.segmented>div{gap:6px}.segmented span{padding:9px 12px;font-size:13px}.actions,.export-actions{justify-content:stretch}.actions button,.export-actions button{flex:1}.results{padding-top:68px}.summary-grid{margin-top:40px}.result-section{margin-top:62px}.chart{padding:6px}.chart svg{min-height:230px}.sources li{display:block}.sources small{margin-top:4px;display:block}.export-actions{margin-top:-30px}footer{padding:34px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}@media print{@page{size:A4;margin:14mm}body{color:#000;background:#fff}.site-header,.intro,.workspace,.inputs,.export-actions,.empty-state{display:none!important}.results{border:0;width:100%;padding:0}.summary-grid,.result-section{margin-left:0}.summary-grid{break-inside:avoid}.result-section{break-inside:avoid;margin-top:28px}.chart{border:1px solid #bbb}footer{background:#fff;padding:24px 0 0}a{color:#000;text-decoration:none}}
