:root{--paper:#f7f8ef;--grid:#dce6df;--ink:#183b57;--muted:#536b76;--green:#17644f;--soft:#edf4e9;--red:#b84d41;--line:#d2ddd4;--white:#fff;--body:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 var(--body);background-color:var(--paper);background-image:linear-gradient(#dce6df66 1px,transparent 1px),linear-gradient(90deg,#dce6df66 1px,transparent 1px);background-size:24px 24px}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bb7843;outline-offset:4px}[hidden]{display:none!important}a{color:inherit}.skip{position:fixed;top:-80px;left:12px;z-index:50;background:white;padding:12px}.skip:focus{top:8px}.site-header{max-width:1184px;margin:auto;padding:25px 32px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;font-weight:650;text-decoration:none;letter-spacing:.06em}.brand svg{width:30px;height:30px;fill:none;stroke:var(--green);stroke-width:1.8}.text-button{background:none;border:0;color:var(--green);padding:10px 0;min-height:44px;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#17644f40}.text-button:hover{text-decoration-color:var(--green)}.page{max-width:1120px;margin:0 auto;padding:0 24px}.intro{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:36px 18px 48px}.intro-copy{display:flex;align-items:flex-end;gap:42px}.intro h1{font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;font-size:58px;line-height:1.14;letter-spacing:.04em;margin:0;font-weight:800}.title-dot{color:var(--green)}.intro-copy>p{font-size:17px;margin:0 0 5px;line-height:1.9;color:var(--muted)}.intro-note{width:250px;transform:rotate(-2deg);padding:6px 0 0 20px;border-left:2px solid #b84d4160}.intro-note>p{margin:0 0 20px;font-size:17px;font-family:"Songti SC","STSong",serif;font-weight:600}.timeline{display:flex;gap:9px;align-items:center;font-size:12px;color:var(--muted)}.timeline i{height:1px;background:var(--muted);flex:1;min-width:16px;position:relative}.timeline i:after{content:'';width:4px;height:4px;border-radius:50%;background:var(--muted);position:absolute;right:0;top:-1.5px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}.input-sheet{background:var(--white);border:1px solid var(--line);border-top:5px solid var(--ink);border-radius:5px 5px 16px 16px;padding:28px;box-shadow:0 5px 0 #dce6df60}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.sheet-heading h2{font-size:23px;line-height:1.4;letter-spacing:-.03em;margin:0}.sheet-heading .text-button{font-size:13px;white-space:nowrap}.section-intro{color:var(--muted);margin:7px 0 24px;font-size:14px}.primary-fields,.advanced-fields{display:grid;grid-template-columns:1fr 1fr;gap:19px 16px}.field{min-width:0}.full{grid-column:1/-1}.field label{display:block;font-size:15px;font-weight:600;margin-bottom:7px}.input-wrap{display:flex;align-items:center;position:relative;min-width:0}.input-wrap input{width:100%;min-width:0;min-height:52px;padding:10px 68px 10px 13px;border:1px solid #bccdc7;background:#fcfdf9;border-radius:6px;font-variant-numeric:tabular-nums;transition:border-color .15s;font-size:20px}.primary-fields>.field:not(.full) input{padding-right:37px}.input-wrap input::placeholder{color:#95a3a8;font-size:17px}.input-wrap input:focus{border-color:var(--green);background:white}.input-wrap>span{position:absolute;right:13px;pointer-events:none;color:var(--muted);font-size:13px}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hint{font-size:12px;color:var(--muted);line-height:1.6;margin:6px 0 0}.error{font-size:13px;color:var(--red);line-height:1.5;margin:5px 0 0}.error:empty{display:none}input[aria-invalid=true]{border-color:var(--red);background:#fff8f4}.budget-preview{background:var(--soft);border-radius:7px;margin:22px 0 25px;padding:16px 18px;font-size:13px;color:var(--green)}.budget-preview>p{margin:0}.preview-heading{font-weight:650;font-size:14px;display:flex;justify-content:space-between}.preview-list{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin:10px 0 0;color:var(--muted);font-size:13px}.preview-list dd,.preview-list dt{margin:0}.preview-list dd{text-align:right;font-variant-numeric:tabular-nums}.preview-total{display:flex;justify-content:space-between;border-top:1px solid #cbdcc9;margin-top:11px;padding-top:10px;gap:12px;align-items:baseline}.preview-total strong{font-size:20px;font-variant-numeric:tabular-nums}.preview-total small{font-size:12px}.assumptions{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:23px}.assumptions>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;padding:16px 0}.assumptions>summary::-webkit-details-marker{display:none}.assumptions strong{font-size:15px}.assumptions small{display:block;font-size:12px;font-weight:400;line-height:1.7;color:var(--muted)}.chevron{width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);margin-right:4px;flex-shrink:0}.assumptions[open] .chevron{transform:rotate(225deg)}.advanced-fields{padding:10px 0 22px;gap:20px 16px}.advanced-fields .field label{font-size:13px}.advanced-fields input{font-size:17px}.field select{width:100%;min-height:48px;background:#fcfdf9;border:1px solid #bccdc7;border-radius:6px;padding:10px 12px}.checkbox-label{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer;padding:8px 0;min-height:44px}.checkbox-label input{width:20px;height:20px;flex-shrink:0;accent-color:var(--green);margin:3px 0 0}.checkbox-label small{display:block;font-size:12px;color:var(--muted)}.primary-button{width:100%;min-height:56px;background:var(--green);color:var(--white);border:0;border-radius:7px;padding:12px 20px;display:flex;justify-content:center;align-items:center;gap:18px;font-weight:600;font-size:17px;box-shadow:0 3px 0 #0d4032}.primary-button:hover{background:#11503e}.primary-button:active{transform:translateY(1px);box-shadow:0 2px 0 #0d4032}.primary-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.form-status{font-size:12px;text-align:center;color:var(--muted);min-height:22px;margin:14px 0 0}.form-status.has-error{color:var(--red);font-size:14px}.reset-button{display:block;margin:0 auto;font-size:12px;min-height:40px;font-weight:400}.output-column{min-width:0}.empty-result{padding:66px 30px 80px;text-align:center;border:1px dashed #a6b9ad;border-radius:6px;background:#f7f8ef99}.notebook-mark{display:flex;justify-content:center;align-items:center;margin:0 auto 25px;width:64px;height:72px;border:1.5px solid #829e8f;border-left:6px double #829e8f;border-radius:4px;font-family:"Songti SC",serif;font-size:35px;color:#829e8f;transform:rotate(7deg)}.empty-result h2{font:600 30px/1.5 "Songti SC","STSong",serif;margin:0 0 18px}.empty-result p{color:var(--muted);font-size:14px;max-width:280px;margin:0 auto}.empty-method{display:flex;justify-content:center;gap:20px;font-size:12px;color:#637b71;margin-top:35px}.empty-method span+span:before{content:'＋';position:relative;left:-10px;margin-left:-10px;color:#8ba295}#results{scroll-margin-top:20px;outline:none}#results[data-stale=true] .result-content{opacity:.48}.stale-banner{color:var(--red);border:1px solid #e7c4b7;background:#fff7ee;padding:10px 14px;font-size:14px;margin-bottom:12px;border-radius:6px}.result-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;gap:12px}.result-heading h2{font-size:23px;margin:0}.result-heading span{border:1px solid #a4bca8;color:var(--green);font-size:11px;border-radius:3px;padding:2px 7px}.principal{padding:28px 26px;background:var(--green);color:#f7f8ef;border-radius:10px 10px 0 0;position:relative}.principal:after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:10px;background:radial-gradient(circle at 5px 10px,var(--paper) 4px,transparent 4.5px) 0 0/10px 10px}.principal>p{font-size:14px;margin:0}.amount{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:7px;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.amount strong{font-weight:650;font-size:clamp(34px,3.8vw,48px);letter-spacing:-.045em}.amount span{font-size:14px;font-weight:400}.principal .amount{margin:13px 0 5px}.principal .exact{font-size:12px;opacity:.8}.principal .period-note{font-size:11px;opacity:.82;border-top:1px solid #ffffff35;padding-top:12px;margin-top:17px}.budget-result{background:white;border:1px solid var(--line);border-top:0;padding:26px 24px 20px}.result-label{font-size:14px;font-weight:600;margin:0 0 7px}.budget-result .amount strong,.funding-option .amount strong{font-size:34px;color:var(--green)}.rounding-note{font-size:12px;color:var(--muted);margin:7px 0 16px}.breakdown{font-size:12px;margin:0;display:grid;grid-template-columns:1fr auto;gap:5px 12px}.breakdown dt,.breakdown dd{margin:0}.breakdown dd{text-align:right;font-variant-numeric:tabular-nums}.breakdown dt{color:var(--muted)}.breakdown .buffer{border-top:1px dashed var(--line);padding-top:7px;margin-top:3px}.funding{background:#fff;border:1px solid var(--line);border-top:0;border-bottom-left-radius:10px;border-bottom-right-radius:10px;padding:22px 24px}.funding-title{font-size:17px;margin:0 0 19px;display:flex;align-items:center;gap:9px}.funding-title:before{content:'';height:15px;width:3px;background:var(--green)}.funding-option p{font-size:12px;color:var(--muted);margin:7px 0 0}.funding-option .option-title{font-size:13px;font-weight:600;color:var(--ink);margin:0 0 7px}.or{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:11px;margin:19px 0}.or:before,.or:after{content:'';height:1px;flex:1;background:var(--line)}.surplus{font-size:12px;color:var(--green);background:var(--soft);padding:12px;border-radius:5px;margin-top:17px}.nominal{padding:20px 2px;display:flex;justify-content:space-between;gap:20px;align-items:center}.nominal p{margin:0;font-size:12px;max-width:145px}.nominal .badge{display:block;color:var(--muted);font-size:11px}.nominal .amount strong{font-size:23px;letter-spacing:-.025em}.nominal .amount span{font-size:11px}.pension-note{font-size:11px;color:var(--muted);margin:0 0 22px;padding-top:10px;border-top:1px dashed #b8c9bd}.longevity-panel,.chart-panel,.details-panel{margin:0 0 22px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:8px}.longevity-panel{background:#f0f3eb}.longevity-panel h3,.chart-panel h3{font-size:17px;margin:0 0 8px}.longevity-panel p{font-size:12px;color:var(--muted);margin:7px 0}.longevity-panel a{color:var(--green);text-underline-offset:3px}.source-details summary{font-size:12px;cursor:pointer;min-height:44px;display:flex;align-items:center}.source-details p{font-size:11px}.chart-tabs{display:flex;border-bottom:1px solid var(--line);margin:12px 0 15px;gap:24px}.chart-tabs button{border:0;background:none;padding:9px 0;min-height:44px;color:var(--muted);font-size:14px;border-bottom:2px solid transparent}.chart-tabs button[aria-selected=true]{border-color:var(--green);color:var(--green);font-weight:600}.chart-caption{font-size:11px;color:var(--muted);margin:0 0 7px}.chart-svg{width:100%;display:block;overflow:visible}.chart-svg text{font-family:var(--body);fill:var(--muted);font-size:11px}.chart-svg .actual{fill:none;stroke:var(--green);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-svg .goal{stroke:var(--red);stroke-width:1;stroke-dasharray:5 5}.chart-slider{width:100%;height:44px;margin:2px 0;accent-color:var(--green);cursor:pointer}.slider-label{display:block;font-size:12px;color:var(--muted)}.chart-readout{background:#f2f6ef;border-radius:5px;padding:13px;font-size:12px}.chart-readout strong{font-size:15px}.chart-readout dl{margin:8px 0 0;display:grid;grid-template-columns:1fr auto;gap:4px 10px}.chart-readout dt,.chart-readout dd{margin:0}.chart-readout dd{text-align:right;font-variant-numeric:tabular-nums}.chart-readout dt{color:var(--muted)}.details-panel{padding:0 20px}.detail-group>summary{font-size:15px;font-weight:600;padding:18px 0;cursor:pointer;min-height:56px}.detail-group+.detail-group{border-top:1px solid var(--line)}.detail-group p{font-size:12px;color:var(--muted)}.year-row{border-top:1px solid #e3eae2}.year-row>summary{font-size:13px;cursor:pointer;min-height:44px;padding:10px 0}.year-row .breakdown{padding:0 3px 14px}.formula-list{font-size:12px;color:var(--muted);padding-left:18px;margin:0 0 18px}.formula-list li{margin:9px 0}.formula{background:#f2f6ef;padding:10px;border-radius:4px;overflow-wrap:anywhere;font-size:12px}footer{text-align:center;margin:50px auto 30px;color:var(--muted);max-width:600px;font-size:11px}footer p{margin:5px 0}footer>span{display:block;font-family:"Songti SC",serif;font-size:16px;color:var(--green);margin-top:24px}.toast:not(:empty){position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;box-shadow:0 4px 18px #183b5730;padding:13px 20px;border-radius:7px;font-size:14px;z-index:40;max-width:90vw}.noscript{padding:20px;text-align:center}
@media(min-width:1000px){.advanced-fields{grid-template-columns:1fr 1fr}.output-column{padding-top:5px}}@media(max-width:800px){.intro{padding:24px 4px 35px}.intro-copy{gap:25px}.intro h1{font-size:46px}.intro-note{display:none}.workspace{gap:24px}.input-sheet{padding:22px}.sheet-heading{flex-wrap:wrap;gap:0}.sheet-heading h2{font-size:21px}.sheet-heading .text-button{font-size:12px}.advanced-fields{grid-template-columns:1fr}.primary-fields{gap:18px 12px}.principal{padding:24px 20px}.budget-result,.funding{padding:23px 20px}}
@media(max-width:640px){.site-header{padding:17px 22px 8px}.brand{font-size:14px}.brand svg{width:26px;height:26px}.site-header .text-button{font-size:13px}.page{padding:0 18px}.intro{padding:24px 4px 30px;display:block}.intro-copy{justify-content:space-between;align-items:flex-end;gap:12px}.intro h1{font-size:44px;white-space:nowrap;letter-spacing:.01em}.intro-copy>p{font-size:12px;line-height:1.9;margin-bottom:3px;max-width:135px}.workspace{display:block}.input-sheet{padding:23px 20px;border-top-width:4px}.sheet-heading{flex-wrap:nowrap}.sheet-heading h2{font-size:20px}.section-intro{font-size:12px;margin-bottom:21px}.primary-fields .field label{font-size:14px}.input-wrap input{font-size:20px}.primary-fields{gap:18px 14px}.primary-fields .full{grid-column:1/-1}.empty-result{margin-top:27px;padding:35px 25px}.empty-result h2{font-size:25px}.notebook-mark{width:46px;height:53px;font-size:27px;margin-bottom:18px}.empty-method{margin-top:23px}.empty-result p{font-size:12px}.output-column{margin-top:32px}.result-heading h2{font-size:22px}.principal{padding:25px 23px}.principal .amount strong{font-size:48px}.budget-result,.funding{padding:24px 23px}.longevity-panel,.chart-panel{padding:20px}.nominal{padding:20px 0;gap:14px}.nominal .amount strong{font-size:25px}.amount{max-width:100%}.advanced-fields{grid-template-columns:1fr}.advanced-fields .field label{font-size:14px}.hint{font-size:12px}footer{margin-top:36px;font-size:10px}.result-content,.chart-panel,.details-panel{min-width:0}.year-row>summary{font-size:12px}}
@media(max-width:374px){.page{padding:0 14px}.intro h1{font-size:40px}.intro-copy>p{font-size:11px;max-width:125px}.input-sheet{padding:21px 17px}.sheet-heading h2{font-size:19px}.principal .amount strong{font-size:44px}.nominal .amount strong{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.skip{position:absolute;top:8px;left:12px;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}.skip:focus-visible{width:auto;height:auto;padding:12px;clip-path:none}
