/* Comfortable reading and touch controls, shared by every calculator. */
:root{--reading-body:16px;--reading-small:15px;--reading-heading:20px;--reading-input:18px}
:root.comfortable-large{--reading-body:19px;--reading-small:17px;--reading-heading:23px;--reading-input:20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.result-panel{scroll-margin-top:100px}
body{font-size:var(--reading-body);color:#263650;line-height:1.75}
button,input,select,textarea{font-family:inherit}
.reading-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:104px;min-height:48px;border:1px solid #d9dfee;border-radius:12px;background:#fff;color:#364560;font-size:16px;font-weight:650;white-space:nowrap;padding:9px 13px}
.reading-toggle[aria-pressed=true]{background:#eeeaff;border-color:#7460d9;color:#473798}
.reading-toggle b{font-size:20px}.header-inner{gap:18px}.header-inner nav{gap:25px}.header-inner nav a,.header-favorite{font-size:var(--reading-small);min-height:48px;display:inline-flex;align-items:center}
.brand-caption{font-size:13px;color:#54657b}.section-head h2{font-size:var(--reading-heading)}
.section-head p,.hero-description,.page-subtitle,.service-lead{font-size:var(--reading-body);color:#4d5e74;line-height:1.8}
.section-head>a,.quick-links a,.filter-bar a,.category-shortcuts a{font-size:var(--reading-small);min-height:48px}
.hero-search-wrap input,.list-search input{font-size:var(--reading-input);min-height:58px}
.home-page .home-hero .hero-description,.home-page .section-head p{font-size:var(--reading-body);color:#526279;line-height:1.85}
.home-page .home-hero .eyebrow{font-size:var(--reading-small);line-height:1.7}
.home-page .home-hero .search-box input{font-size:var(--reading-input)}
.home-page .home-hero .search-box button{font-size:var(--reading-body);min-height:48px;min-width:64px}
.home-page .section-head h2{font-size:var(--reading-heading)}
.category-grid{gap:18px}.category-card h3{font-size:var(--reading-heading);line-height:1.5}.category-card .mini-label,.category-card .card-count{font-size:var(--reading-small);color:#536379}
.category-card{min-height:194px;padding:26px}.card-count{gap:8px}.category-card .category-icon{width:54px;height:54px}
.home-tools h3,#list-grid h3,.calculator-footer .tool-card h3,.tool-card h3{font-size:var(--reading-body);line-height:1.55;color:#263650}
.home-tools .tool-card p,#list-grid .tool-card p,.calculator-page .calculator-footer .tool-card p,.tool-card p{font-size:var(--reading-small);line-height:1.7;color:#526279;white-space:normal}
.home-tools .tool-card,#list-grid .tool-card,.calculator-page .calculator-footer .tool-card{min-height:140px}.tool-copy{padding-right:34px}
.favorite-toggle{min-width:48px;min-height:48px;padding:14px;right:5px;top:5px}.favorite-toggle svg{width:20px;height:20px}.calc-title-actions button{min-width:48px;min-height:48px}
.breadcrumb,.result-count,.browse-all{font-size:var(--reading-small)}.breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.calculator-page .page-subtitle,.calculator-purpose{font-size:var(--reading-body);color:#4d5e74;line-height:1.85}.calculator-page .page-heading h1{font-size:30px;line-height:1.5}
.calculator-page .panel-title,.detail-bottom-grid h2,.faq-panel h2{font-size:var(--reading-heading)}
.calculator-page .field-grid label{font-size:var(--reading-body);font-weight:650;line-height:1.65;color:#30435e}
.calculator-page .input-wrap input,.calculator-page .input-wrap select,.calculator-page .input-wrap textarea{font-size:var(--reading-input);min-height:56px;line-height:1.6;color:#263650;background:#fbfcff;border-color:#cbd4e5;padding:13px 15px}
.calculator-page .input-wrap input[data-unit]{padding-right:67px}.calculator-page .input-wrap textarea{min-height:150px}.input-unit{font-size:var(--reading-small);color:#526279}.amount-hint{font-size:var(--reading-small);font-weight:600;color:#5a469d;margin-top:7px;min-height:0}
.calculator-page .field-grid{gap:24px 20px}.calculator-page .field-help,.calculator-page .input-footnote,.calculator-page .input-tips ul,.calculator-page .result-note,.calculator-page .result-formula,.calculator-page .guide-formula,.calculator-page .conditions-note p,.calculator-page .metric-explanation,.calculator-page .metric-explanation p,.calculator-page .insight-card p,.calculator-page .report-checklist,.calculator-page .body-report-note,.calculator-page .body-report-note p,.calculator-page .result-visual p,.calculator-page .faq-list details p,.calculator-trust p{font-size:var(--reading-small);line-height:1.85;color:#526279}
.calculator-trust strong,.calculator-trust span,.calculator-trust a,.calculator-page .source-links a,.calculator-page .preset-row,.calculator-page .example-inputs,.calculator-page .body-change p,.calculator-page .body-history-prompt p,.calculator-page .metric-open-hint,.calculator-page .result-context,.calculator-page .detail-tags{font-size:var(--reading-small);line-height:1.7;color:#526279}
.calculator-trust a{display:inline-flex;min-height:44px;align-items:center;color:#5341b5}.calculator-trust{margin-bottom:12px}.calculator-trust>div{gap:10px;flex-wrap:wrap}
.calculator-page .source-links a,.calculator-page .preset-row button,.example-apply,.calculator-page .inline-tools button{font-size:var(--reading-small);min-height:48px;padding:10px 12px}
.calculator-page .form-actions .button,.result-actions button,.example-apply,.feedback-actions .button{min-height:54px;font-size:var(--reading-body);font-weight:650}
.result-actions button{padding:12px 8px}.form-error,.result-status{font-size:var(--reading-body);line-height:1.8}
.result-primary>p{font-size:var(--reading-body);color:#41546b}.calculator-page .result-number{font-size:42px;line-height:1.4}.result-number small{font-size:20px}.result-summary{font-size:var(--reading-body);color:#40516b;line-height:1.85;margin:18px 0;padding:17px 18px;background:#f6f7fb;border-radius:12px}
.report-metric summary{min-height:64px;gap:14px;font-size:var(--reading-body);line-height:1.65}.report-metric summary strong{font-size:var(--reading-body);overflow-wrap:anywhere}.metric-name small{font-size:var(--reading-small);color:#617086}.report-metric .metric-explanation{padding:15px 16px}
.calculator-page .result-items .report-metric summary{min-height:64px;gap:12px}
.calculator-page .result-items .report-metric .metric-name,.calculator-page .result-items .report-metric summary strong{font-size:var(--reading-body);line-height:1.7}
.calculator-page .result-items .report-metric .metric-name small{font-size:var(--reading-small)}
.explanation-toggle{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;border:1px solid #dbe0ec;border-radius:10px;font-size:var(--reading-small);color:#5141ad;background:#fff;margin:14px 0}
.calculation-steps li,.example-inputs,.calculator-page .faq-list summary,.calculator-page .faq-list details p{font-size:var(--reading-body);line-height:1.85}.faq-list summary{min-height:56px}.example-answer strong{font-size:28px}.conditions-note h3,.sources-title{font-size:var(--reading-body)}
.report-section-title h2,.insight-card h3{font-size:var(--reading-heading)}.report-section-title p,.report-section-title button,.report-checklist summary,.report-assumptions h3{font-size:var(--reading-body);line-height:1.85}.report-section-title button{min-height:48px}.insight-grid{gap:18px}
.optional-inputs summary,.compact-report>summary,.detail-more>summary{font-size:var(--reading-body);min-height:54px;line-height:1.6}.optional-inputs>p{font-size:var(--reading-small);line-height:1.85}.calculator-page .optional-inputs .field-grid{margin-top:20px}
.example-notice{font-size:var(--reading-small);line-height:1.8;color:#526279;padding:13px 15px;background:#f4f3fb;border-radius:10px;margin:0 0 20px}.example-notice strong{color:#4e429b}
.easy-steps{display:flex;gap:10px 22px;flex-wrap:wrap;margin:0 0 24px;color:#536279;font-size:var(--reading-small);list-style:none;padding:0}.easy-steps li{display:flex;gap:7px;align-items:center}.easy-steps b{background:#eeebfb;color:#5845b5;border-radius:50%;width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.terms-guide{margin-top:24px}.terms-guide h2{font-size:var(--reading-heading);margin:0 0 16px}.terms-guide dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0}.terms-guide dt{font-size:var(--reading-body);font-weight:650;color:#344760}.terms-guide dd{font-size:var(--reading-small);line-height:1.85;color:#526279;margin:4px 0 0}
.field>.input-wrap:empty{display:none}.row-editor{border:1px solid #dce1ec;background:#fafbfe;border-radius:14px;padding:18px;margin-top:12px}.row-editor-heading h3{font-size:var(--reading-body);line-height:1.7;margin:0 0 7px;color:#344760}.row-editor-heading p,.row-editor-raw p,.row-editor-unsupported{font-size:var(--reading-small);line-height:1.85;color:#526279;margin:0 0 16px}.row-editor-body{display:flex;flex-direction:column;gap:16px}.row-editor-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;background:white;border:1px solid #e0e5ee;border-radius:12px;min-width:0}.row-editor-row-title{grid-column:1/-1;font-size:var(--reading-body);color:#4e429b;margin:0}.calculator-page .row-editor-cell{display:block;min-width:0}.row-editor-cell-label{display:block;font-size:var(--reading-small);margin-bottom:7px}.row-editor-input-wrap{position:relative;min-width:0}.row-editor-input{font-size:var(--reading-input);width:100%;min-width:0;min-height:54px;border:1px solid #cbd4e5;background:#fbfcff;border-radius:10px;padding:12px 42px 12px 12px;color:#263650}.row-editor-input[type=date]{padding:12px;font-size:var(--reading-body)}.row-editor-unit{position:absolute;right:10px;top:16px;font-size:var(--reading-small);color:#526279}.row-editor-remove,.row-editor-add,.row-editor-calendar{min-height:48px;font-size:var(--reading-small);border:1px solid #dce1ec;border-radius:10px;background:white;color:#5141ad;padding:10px 14px}.row-editor-remove{grid-column:1/-1;justify-self:end;color:#914457}.row-editor-add{margin-top:16px;width:100%}.row-editor-calendar{margin-top:8px;width:100%}.row-editor-error{font-size:var(--reading-small);line-height:1.8;color:#a13f4c;background:#fff1f3;border-radius:10px;padding:12px;margin-top:14px}.row-editor-raw{margin-top:16px;border-top:1px solid #e1e5ed;padding-top:9px}.row-editor-raw summary{min-height:48px;display:flex;align-items:center;font-size:var(--reading-small);color:#526279;cursor:pointer}.row-editor-raw-slot textarea{font-size:var(--reading-body);line-height:1.8;width:100%;min-height:130px;border:1px solid #cbd4e5;border-radius:10px;padding:13px;color:#263650}.row-editor-input[aria-invalid=true]{border:2px solid #b74757;background:#fff8f9}
@media(max-width:800px){.row-editor-row{grid-template-columns:1fr;gap:13px;padding:16px}.row-editor{padding:16px}.row-editor-input{min-height:56px}.row-editor-remove{justify-self:stretch}.row-editor-unit{top:17px}}
.economic-intro{padding:22px 26px;background:linear-gradient(110deg,#edf0ff,#edf7f5);border-radius:18px;margin-top:26px}.economic-intro h2{font-size:var(--reading-heading);margin:0 0 8px}.economic-intro p{font-size:var(--reading-body);color:#4d5e74;margin:0 0 16px}.economic-intro-links{display:flex;gap:10px;flex-wrap:wrap}.economic-intro-links a{background:white;border:1px solid #d8dfeb;border-radius:10px;padding:10px 15px;min-height:48px;display:inline-flex;align-items:center;font-size:var(--reading-small);color:#344760}
.service-grid p,#feedback-form label,.feedback-consent,.feedback-status,.service-grid li,.maintenance-panel li{font-size:var(--reading-body);line-height:1.85}.site-footer a,.site-footer button,.site-footer p{font-size:var(--reading-small);line-height:1.8}.site-footer a,.site-footer button{min-height:44px;display:inline-flex;align-items:center}
#feedback-form select,#feedback-form textarea,#feedback-email{font-size:var(--reading-input);line-height:1.7}
#feedback-form .feedback-consent{font-size:var(--reading-body);line-height:1.85}
.compare-panel h2>span{font-size:var(--reading-small)!important}.compare-card p,.compare-card h3{font-size:var(--reading-small);line-height:1.8}.compare-card>button{width:48px;height:48px;font-size:24px}
.dialog-close{width:48px;height:48px;font-size:24px}.dialog-content p,#dialog-content p{font-size:var(--reading-body);line-height:1.9}
:focus-visible{outline:3px solid #6250c9;outline-offset:4px}#result-heading:focus-visible{outline-offset:8px}
@media(max-width:1100px){.header-inner{gap:12px}.header-inner nav{gap:16px}.header-inner nav a{font-size:14px}.brand-caption{display:none}}
@media(max-width:800px){.header-inner{min-height:80px;gap:10px}.header-inner nav{display:none}.reading-toggle{margin-left:auto;min-width:96px;font-size:14px;padding:8px 10px}.header-favorite{margin-left:0;padding:9px;min-width:48px;justify-content:center}.header-favorite>span:nth-child(2){display:none}.brand{font-size:23px}.brand-mark{width:40px;height:40px}.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-card .tool-icon{width:42px;height:42px;flex:0 0 42px}.home-tools .tool-card,#list-grid .tool-card{min-height:196px;padding:16px 14px;display:block}.home-tools .tool-copy,#list-grid .tool-copy{padding:10px 0 0}.home-tools .tool-card .tool-icon,#list-grid .tool-card .tool-icon{margin-bottom:3px}.category-card{padding:22px 18px;min-height:195px}.category-icon{bottom:15px;right:15px}.category-card h3{font-size:18px}.category-card .mini-label{font-size:var(--reading-small);max-width:100%;line-height:1.7}.category-card .card-count{font-size:var(--reading-small);margin-top:25px}.calculator-page .page-heading h1{font-size:25px}.calculator-page .panel{padding:24px 20px}.calculator-page .calculator-layout{grid-template-columns:1fr;gap:20px}.calculator-page .field-grid{grid-template-columns:1fr;gap:22px}.calculator-page .result-number{font-size:38px}.report-metric summary{flex-wrap:wrap;gap:9px}.metric-name{flex:1;min-width:110px}.report-metric summary strong{max-width:100%;text-align:right}.terms-guide dl{grid-template-columns:1fr}.report-section-title{display:block}.report-section-title button{margin-top:14px}.easy-steps{gap:10px}.economic-intro{padding:22px 18px}.hero-description{font-size:var(--reading-body)}.hero-search-wrap input{font-size:17px}.service-grid .panel{padding:24px 20px}}
@media(max-width:380px){.header-inner{gap:7px}.brand{font-size:21px}.brand-mark{width:34px;height:36px}.reading-toggle{min-width:86px;font-size:13px;gap:4px}.reading-toggle b{font-size:17px}.category-grid,.tools-grid{gap:10px}.category-card{padding:20px 14px}.category-card h3{font-size:17px}.home-tools .tool-card,#list-grid .tool-card{padding:14px 12px}.calculator-page .panel{padding:22px 16px}.calculator-page .result-number{font-size:34px}.result-number small{font-size:17px}}
@media(max-width:800px){.comfortable-large .home-tools,.comfortable-large #list-grid,.comfortable-large .calculator-footer .tools-grid{grid-template-columns:1fr}.comfortable-large .home-tools .tool-card,.comfortable-large #list-grid .tool-card{display:flex;align-items:flex-start;gap:14px;min-height:140px;padding:22px 18px}.comfortable-large .home-tools .tool-copy,.comfortable-large #list-grid .tool-copy{padding-top:0;padding-right:34px}.comfortable-large .category-card h3{font-size:20px}.comfortable-large .category-card{min-height:215px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.investment-choices{margin:24px 0 28px;padding:25px;background:#fff4f7;border:1px solid #eed8e0;border-radius:18px}
.investment-choices h2{font-size:var(--reading-heading);margin:0 0 8px}.investment-choices>p{font-size:var(--reading-body);line-height:1.8;color:#526279;margin:0 0 18px}
.investment-choices>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.investment-choices a{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px 48px 20px 20px;background:white;border:1px solid #eadde4;border-radius:12px;min-height:112px;color:#344760}
.investment-choices strong{font-size:var(--reading-body)}.investment-choices a span{font-size:var(--reading-small);line-height:1.8;color:#526279}.investment-choices a svg{position:absolute;width:22px;height:22px;right:16px;top:22px;stroke:currentColor;fill:none;stroke-width:1.7}.investment-choices a:hover{border-color:#bc7c98;background:#fffafd}
.calculator-page .result-number{overflow-wrap:anywhere}
.calculator-page .field[hidden]{display:none!important}
.field-details{border-top:1px solid #e2e6ee;margin-top:10px}.field-details summary{display:flex;align-items:center;min-height:44px;font-size:var(--reading-small);color:#5346a6;cursor:pointer;list-style:none;gap:8px}.field-details summary::before{content:'+';font-size:22px;line-height:1}.field-details[open] summary::before{content:'−'}.field-details p{font-size:var(--reading-small);line-height:1.85;color:#526279;padding:12px 14px;border-radius:10px;background:#f6f7fb;margin:0}
.calculator-page .amount-hint{font-size:var(--reading-body);color:#54449f;font-weight:650;overflow-wrap:anywhere}
.calculator-page .result-readable-amount{font-size:var(--reading-body);font-weight:650;margin:13px 0 0;color:#3c4964;overflow-wrap:anywhere}
.detail-mobile-bar{display:none}
.input-panel{scroll-margin-top:100px}.result-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:22px}.result-panel-heading .panel-title{margin:0}.result-return{min-height:44px;font-size:var(--reading-small);padding:8px 12px;border:1px solid #ded8f0;border-radius:10px;color:#5346a6;background:#faf9ff}
@media(max-width:800px){.calculator-page{padding-bottom:98px}.detail-mobile-bar{position:fixed;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;bottom:0;left:0;right:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);border-top:1px solid #dce1ec;box-shadow:0 -4px 18px #2537530d;z-index:30}.detail-mobile-bar button{min-height:58px;font-size:var(--reading-body);border-radius:11px;min-width:0}.detail-mobile-bar .button{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 8px}.detail-mobile-bar svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;flex:none}.detail-mobile-bar [data-jump-result]{background:#f5f3fe;border:1px solid #dad3f1;color:#4e4199;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:8px 10px}.detail-mobile-bar small{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.comfortable-large .detail-mobile-bar small{font-size:15px}}
@media(max-width:800px) and (max-height:450px){.detail-mobile-bar{display:none}.calculator-page{padding-bottom:24px}}
@media(max-width:800px){body.calculator-active{padding-bottom:calc(130px + env(safe-area-inset-bottom))}.calculator-page{padding-bottom:24px}}
@media(max-width:800px) and (max-height:450px){body.calculator-active{padding-bottom:0}}
@media(max-width:800px){.investment-choices{padding:22px 18px}.investment-choices>div{grid-template-columns:1fr}.investment-choices a{padding:20px 46px 20px 18px}}
.featured-more[hidden]{display:none}.featured-more{margin-top:14px}.featured-toggle{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin-top:18px;padding:12px 16px;border:1px solid #d9d2ef;border-radius:12px;background:#f5f3fd;color:#4e4199;font-size:var(--reading-body)}
.preset-picker{border:1px solid #e0dcec;border-radius:12px;margin-top:20px;padding:0 16px;background:#fbfaff}.preset-picker summary{display:flex;align-items:center;gap:8px;min-height:54px;font-size:var(--reading-body);color:#5141a0;list-style:none;cursor:pointer}.preset-picker summary::before{content:'+';font-size:22px;flex:none}.preset-picker[open] summary::before{content:'−'}.preset-picker label{display:block;font-size:var(--reading-small);color:#40516b;margin:9px 0}.preset-picker select{display:block;width:100%;min-width:0;min-height:54px;font-size:var(--reading-input);color:#263650;border:1px solid #cbd4e5;border-radius:10px;background:#fff;padding:12px}.preset-picker p{font-size:var(--reading-small);line-height:1.8;color:#526279;margin:12px 0 17px}
.calculator-page .form-actions .secondary{flex:0 0 auto;min-width:138px;white-space:nowrap}
@media(max-width:480px){.calculator-page .form-actions{display:grid;grid-template-columns:1fr;gap:10px}.calculator-page .form-actions .button{width:100%;min-height:56px;white-space:nowrap;justify-content:center}.calculator-page .form-actions .secondary{min-width:0}.preset-picker{padding:0 13px}}
