:root{--ink:#10252a;--muted:#728084;--paper:#f5f7f5;--surface:#fff;--surface-soft:#f7faf8;--mint:#bfe4d0;--green:#1f8b61;--orange:#ff835e;--line:#d9e2dd;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans SC',Manrope,sans-serif}a{color:inherit;text-decoration:none}.app-shell{max-width:1440px;margin:auto;padding:0 6vw}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:24px;letter-spacing:-1px}.brand-dot{color:var(--orange)}.brand-mark{height:27px;width:26px;display:flex;align-items:end;gap:3px}.brand-mark span{display:block;width:6px;border-radius:8px;background:var(--green)}.brand-mark span:nth-child(1){height:13px}.brand-mark span:nth-child(2){height:21px;background:#66bc8f}.brand-mark span:nth-child(3){height:27px;background:var(--orange)}.nav-links{display:flex;gap:34px;color:#7a8888;font-size:14px}.nav-links a{padding:38px 0 34px}.nav-links .active{color:var(--ink);font-weight:700;border-bottom:2px solid var(--orange)}.header-meta{font-size:12px;color:#879492}.status-dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:6px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:84px 4vw 92px;align-items:center}.eyebrow,.card-kicker,.section-label{font-family:'DM Mono',monospace;letter-spacing:1.5px;font-size:11px;color:var(--green)}h1{font-size:clamp(48px,5.6vw,81px);line-height:1.07;letter-spacing:-4px;margin:22px 0 28px;font-weight:800}h1 em,h2 em{font-family:var(--serif);font-weight:400;color:var(--orange)}.hero-text{color:#667677;font-size:17px;line-height:1.9;margin:0 0 34px}.hero-note{display:flex;gap:12px;align-items:flex-start;color:#8c9999;font-size:12px;line-height:1.8}.note-icon{display:grid;place-items:center;background:var(--mint);color:var(--green);border-radius:50%;height:24px;width:24px;font-size:17px}.calculator-card{background:var(--surface);border:1px solid #e4ece7;border-radius:5px;padding:34px 37px 28px;box-shadow:0 20px 50px rgba(37,74,56,.07)}.card-heading{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:21px;margin-bottom:26px}.card-kicker{margin:0 0 7px}.card-heading h2{margin:0;font-size:25px}.step-tag{font-family:'DM Mono',monospace;color:#99a5a3;font-size:11px}.field-group label{display:block;font-size:12px;font-weight:700;margin-bottom:9px;color:#405657}.field-group label span{color:#9aa5a3;font-weight:400}.input-wrap{display:flex;align-items:center;border-bottom:2px solid var(--ink);padding:4px 0 9px}.input-wrap input{border:0;outline:0;width:100%;font:700 42px Manrope,sans-serif;color:var(--ink);background:none}.input-wrap span{white-space:nowrap;font-size:12px;color:#899593}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}.select-wrap{position:relative;border:1px solid var(--line);border-radius:3px;padding:12px}.select-wrap select{width:100%;border:0;outline:0;appearance:none;font:500 14px inherit;color:var(--ink);background:transparent}.select-wrap span{position:absolute;right:12px;color:#879795}.deduction-row{display:flex;justify-content:space-between;align-items:center;margin-top:27px;padding-top:21px;border-top:1px solid var(--line)}.deduction-row strong{display:block;font-size:13px}.deduction-row small{display:block;color:#9aa5a3;margin-top:4px}.switch input{display:none}.switch span{display:block;width:40px;height:23px;border-radius:23px;background:#cdd9d4;padding:3px;cursor:pointer}.switch span:before{content:'';display:block;width:17px;height:17px;background:var(--surface);border-radius:50%;transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:before{transform:translateX(17px)}.deduction-input{display:flex;justify-content:space-between;align-items:center;background:var(--surface-soft);padding:12px;margin-top:12px;color:#687978;font-size:12px}.small-input{border-bottom:1px solid #aebbb6}.small-input input{border:0;outline:0;width:80px;background:none;text-align:right;font:600 14px Manrope}.small-input span{font-size:11px}.hidden{display:none}.calculate-btn{width:100%;margin-top:27px;border:0;border-radius:3px;background:var(--ink);color:#fff;padding:16px;font:700 14px inherit;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.calculate-btn:hover{background:var(--green)}.calculate-btn span{font-size:22px;font-weight:400}.updated{font-size:10px;color:#a1adaa;text-align:center;margin:15px 0 0}.result-section{background:var(--ink);color:#fff;padding:69px 4vw 75px;margin:0 -6vw}.section-label{display:flex;gap:13px;align-items:center;color:#9bcbb2}.section-label .line{height:1px;width:34px;background:var(--orange)}.result-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:10vw;margin-top:37px;align-items:center}.take-home>p:first-child{font-size:14px;color:#b0c0bb}.money{display:flex;align-items:baseline;gap:10px;margin:15px 0 7px}.money span{font:400 25px var(--serif);color:var(--orange)}.money strong{font:700 clamp(48px,6vw,78px) Manrope;letter-spacing:-4px}.muted{font-size:12px;color:#859895}.annual-pill{display:inline-flex;align-items:center;gap:7px;background:#213d3a;border:1px solid #385450;color:#c3d4ce;padding:9px 13px;border-radius:3px;font-size:12px;margin-top:20px}.annual-pill strong{color:#fff}.annual-pill span{color:var(--orange)}.breakdown-card{border-left:1px solid #35514b;padding-left:45px}.breakdown-head{display:flex;justify-content:space-between;align-items:center}.breakdown-head h3{font-size:15px;margin:0}.breakdown-head span{font-size:11px;color:#8fa49f}.bar{height:11px;width:100%;display:flex;margin:30px 0 22px;border-radius:12px;overflow:hidden}.bar span{display:block}.bar-net{background:var(--orange)}.bar-social{background:#7cc99f}.bar-tax{background:#d6eee2}.legend{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.legend div{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;align-items:center;font-size:11px;color:#9db0aa}.legend strong{grid-column:2;color:#fff;font:500 14px Manrope}.dot{height:8px;width:8px;border-radius:50%;grid-row:span 2}.dot.net{background:var(--orange)}.dot.social{background:#7cc99f}.dot.tax{background:#d6eee2}.details-section{padding:82px 4vw 85px}.details-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:10vw;margin-top:38px}.details-grid h2{font-size:45px;line-height:1.12;letter-spacing:-2px;margin:0 0 19px}.section-intro{font-size:14px;color:#7f8d8b;line-height:1.8;max-width:270px}.detail-table{border-top:1px solid var(--line)}.detail-row{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}.detail-row span{color:#536463}.detail-row small{font-size:11px;color:#a1aeaa;margin-left:8px}.detail-row strong{font:500 15px Manrope}.detail-row.total strong{color:var(--green)}.tips-section{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 4vw 85px}.tip-card{position:relative;display:flex;gap:18px;border-top:2px solid var(--green);padding:21px 0}.tip-number{font:500 12px 'DM Mono';color:var(--orange)}.tip-card h3{margin:0 0 9px;font-size:15px}.tip-card p{margin:0;color:#82908e;font-size:12px;line-height:1.8}.tip-arrow{margin-left:auto;color:var(--orange)}footer{border-top:1px solid var(--line);padding:22px 4vw 30px;display:flex;justify-content:space-between;color:#9aa6a3;font-size:11px}
@media(max-width:800px){.app-shell{padding:0 22px}.site-header{height:72px}.nav-links{display:none}.header-meta{font-size:10px}.hero{display:block;padding:58px 5px 60px}.hero h1{letter-spacing:-2px}.hero-text{font-size:15px}.calculator-card{margin-top:42px;padding:26px 22px}.result-section{margin:0 -22px;padding:55px 27px}.result-layout,.details-grid{display:block}.breakdown-card{border-left:0;border-top:1px solid #35514b;padding:30px 0 0;margin-top:42px}.details-section{padding:64px 5px}.details-grid h2{font-size:38px}.detail-table{margin-top:38px}.tips-section{display:block;padding:0 5px 60px}.tip-card+ .tip-card{margin-top:25px}footer{display:block;padding:20px 5px 28px}footer span{display:block;margin-top:7px}}
.custom-settings{background:var(--surface-soft);padding:15px;margin-top:18px;border-left:3px solid var(--green)}.settings-title{font-size:12px;font-weight:700;margin-bottom:12px}.settings-title small{color:#93a29e;font-weight:400;margin-left:8px}.custom-settings .field-grid{margin-top:0}.custom-settings .small-input,.custom-fund-row{border-bottom:1px solid var(--line);padding:7px 0}.custom-settings .small-input input,.custom-fund-row input{width:80px;border:0;background:transparent;outline:0;font-size:14px}.custom-fund-row{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px}.custom-fund-row input{margin-left:auto;text-align:right}.mode-row{display:flex;justify-content:space-between;align-items:center;margin-top:16px;color:#667775;font-size:12px}.mode-row select{border:1px solid var(--line);padding:7px;background:var(--surface);color:var(--ink);font:inherit}@media(max-width:800px){.calculator-card input,.calculator-card select{font-size:16px}.calculate-btn{min-height:50px}}
.custom-settings .field-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:800px){.custom-settings .field-grid{grid-template-columns:1fr}}
.deduction-options{display:flex;flex-wrap:wrap;gap:9px;margin:9px 0 12px}.deduction-options label{font-size:11px;font-weight:400;background:var(--surface);border:1px solid var(--line);padding:7px 8px;border-radius:3px}.bonus-field{margin-top:20px}.bonus-field .small-input{border-bottom:1px solid var(--line);padding:8px 0}.bonus-field input{border:0;outline:0;background:transparent;font-size:16px;width:100%}
.field-group label small,.custom-fund-row label small{display:block;color:#97a5a1;font-size:10px;font-weight:400;margin-top:4px}
.custom-fund-row.hidden{display:none}
.bonus-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:24px;padding-top:18px;border-top:1px solid #35514b}.bonus-result>div{display:flex;flex-direction:column;gap:6px;color:#9db0aa;font-size:12px}.bonus-result>div:first-child{grid-column:1}.bonus-result>div:last-child{grid-column:3}.bonus-result strong{color:#fff;font:500 16px Manrope}
#fund-hint{display:inline;margin-left:6px}
.select-wrap{cursor:pointer}
.select-wrap > span{pointer-events:none}
/* Full hit area for native selects */
.select-wrap{padding:0;height:44px;overflow:hidden}
.select-wrap select{display:block;width:100%;height:100%;padding:0 38px 0 12px;cursor:pointer}
.select-wrap span{top:50%;transform:translateY(-50%);pointer-events:none}
.mode-row select{cursor:pointer;min-height:38px;padding:0 30px 0 10px;border-radius:3px}
.bonus-field{display:flex;align-items:center;gap:14px}
.bonus-field>label{margin:0;white-space:nowrap}
.bonus-field .small-input{display:flex;align-items:center;flex:1}
.bonus-field input{text-align:right}
.bonus-field .small-input span{white-space:nowrap;color:#899593;font-size:12px}
/* Align all dropdown arrows and hit areas */
.select-wrap,.mode-row select{height:44px;min-height:44px}
.select-wrap select,.mode-row select{box-sizing:border-box;line-height:44px}
.select-wrap span{right:14px;top:22px;line-height:1}
.mode-row select{appearance:none;padding:0 38px 0 12px;line-height:normal}
.mode-select-wrap{width:190px}
.bonus-mode-row{margin-top:14px}
.eyebrow,.card-kicker,.section-label{font-size:12px}
.hero-copy .section-label{display:flex;gap:13px;align-items:center;color:var(--green)}
.header-meta{font-size:13px}
.field-group label,.deduction-row strong,.mode-row,.settings-title{font-size:13px}
.field-group label small,.custom-fund-row label small,#fund-hint{font-size:12px}
.select-wrap select,.mode-row select{font-size:15px}
.input-wrap span,.small-input span,.bonus-field .small-input span{font-size:13px}
.deduction-row small,.hero-note,.updated{font-size:12px}
.annual-pill,.legend div,.detail-row,.tip-card p{font-size:13px}
.legend strong,.detail-row strong{font-size:15px}
.section-intro{font-size:15px}
footer{font-size:12px}
.step-tag{font-size:12px}
.custom-fund-row{font-size:12px}
.field-grid > .field-group > label{min-height:20px;display:flex;align-items:baseline;white-space:nowrap}
.custom-fund-row{border:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-soft);border-radius:3px;padding:10px 12px;margin-top:10px}
.custom-fund-row input{border:0!important;box-shadow:none;outline:0;background:transparent;padding:0;text-align:right}
.mode-select-wrap{border:1px solid var(--line);background:var(--surface);border-radius:3px;padding:0;height:44px;overflow:hidden}
.mode-select-wrap select{display:block;width:100%;height:100%;border:0;outline:0;appearance:none;background:transparent;color:var(--ink);padding:0 38px 0 12px;line-height:normal}
.mode-select-wrap span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#879795;pointer-events:none}
.bonus-result.hidden{display:none}
#tax-mode-hint{display:block;color:#97a5a1;font-size:11px;font-weight:400;margin-top:4px}
.detail-row.hidden{display:none}
.faq-label{grid-column:1/-1;margin-bottom:2px}
.faq-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:800px){.faq-grid{display:block}.faq-grid .tip-card+ .tip-card{margin-top:25px}}
.hero-note{align-items:center}
.note-icon{flex:0 0 26px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;line-height:1;font-family:Arial,sans-serif;font-size:16px;padding:0 0 2px 1px}
.select-wrap > span{width:7px;height:7px;padding:0;border-right:1.5px solid #879795;border-bottom:1.5px solid #879795;right:15px;top:calc(50% - 5px);font-size:0;line-height:0;transform:rotate(45deg);}
.bonus-result span{display:flex;align-items:center;gap:8px}.bonus-result .dot{display:inline-block;width:8px;height:8px;flex:0 0 8px}
.legend div{display:grid;grid-template-columns:8px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;row-gap:6px;align-items:center}
.legend div>span{grid-column:2;grid-row:1}
.legend div>strong{grid-column:2;grid-row:2}
.legend div>.dot{grid-column:1;grid-row:1;align-self:center;margin:0}
.bonus-result .dot{grid-row:auto}
.bonus-result>div{min-width:0}
.bonus-result>div>span{min-height:20px;white-space:nowrap}
.bonus-result>div>strong{display:block;margin-top:2px}
.bonus-result>div>strong{padding-left:16px}
.calculate-btn{position:relative;justify-content:center;min-height:56px;padding:18px;font-size:16px}
.calculate-btn span{position:absolute;right:18px;font-size:24px;line-height:1}
.input-wrap,.small-input{position:relative;padding-right:0;display:flex;align-items:center}
.input-wrap input,.small-input input{flex:1;min-width:0}
.input-unit{margin-right:8px}
.stepper{display:flex;flex-direction:column;gap:1px;margin:0 7px 0 6px}
.stepper button{width:18px;height:14px;padding:0;border:0;background:transparent;color:#93a19e;font-size:0;line-height:0;cursor:pointer;position:relative}
.stepper button:first-child::before{content:'';position:absolute;left:6px;top:3px;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid currentColor}
.stepper button:last-child::before{content:'';position:absolute;left:6px;top:3px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor}
.stepper button:hover{color:var(--green)}
input[type="number"]{-moz-appearance:textfield}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.employer-row strong{color:#668b78}
.bilateral-table{border-top:1px solid var(--line)}.bilateral-head,.bilateral-row,.bilateral-total{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.bilateral-head{color:#94a29f;font-size:12px}.bilateral-head strong,.bilateral-row strong,.bilateral-total strong{text-align:right;font:500 14px Manrope}.bilateral-row span,.bilateral-total span{color:#536463}.bilateral-row small{font-size:11px;color:#a1aeaa;margin-left:7px}.bilateral-total{color:var(--green);font-weight:700}.bilateral-total strong{color:var(--green)}.employer-row strong{color:#668b78}
@media(max-width:800px){.bilateral-head,.bilateral-row,.bilateral-total{grid-template-columns:1.2fr .8fr .8fr;gap:7px;font-size:12px}.bilateral-head strong,.bilateral-row strong,.bilateral-total strong{font-size:13px}}
.tax-info-label{margin-top:20px;padding:14px 0 8px;border-top:1px solid var(--line);font-size:12px;color:var(--green);font-family:'DM Mono',monospace;letter-spacing:1px}
.tax-info-label{font-family:'Noto Sans SC',Manrope,sans-serif;font-size:13px;font-weight:600;letter-spacing:0;color:#536463;padding:15px 0 8px}
.bilateral-table>.detail-row{font-size:13px;padding:15px 0}
.bilateral-table>.detail-row span{color:#536463}
.bilateral-table>.detail-row strong{font:500 14px Manrope;color:var(--ink)}
.bilateral-head{font-family:'Noto Sans SC',Manrope,sans-serif;font-size:13px;font-weight:500;color:#536463}
.bilateral-head strong{font:500 13px 'Noto Sans SC',Manrope,sans-serif;color:#536463}
.menu-toggle,.mobile-nav{display:none}
.theme-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);padding:7px 11px;font:500 12px inherit;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.theme-toggle:hover{border-color:var(--green);color:var(--green)}
.theme-toggle span:first-child{font-size:15px;line-height:1}
@media(max-width:800px){.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;border:1px solid var(--line);border-radius:4px;background:var(--surface);cursor:pointer}.menu-toggle span{display:block;width:17px;height:1.5px;background:var(--ink);margin:auto}.mobile-nav{position:absolute;z-index:10;left:22px;right:22px;top:72px;display:none;flex-direction:column;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 28px rgba(37,74,56,.12)}.mobile-nav.open{display:flex}.mobile-nav a{padding:14px 18px;border-bottom:1px solid var(--line);font-size:14px}.mobile-nav a:last-child{border-bottom:0}}
.copy-result{margin-top:18px;border:1px solid #6fa88a;background:transparent;color:#9bd0b4;border-radius:3px;padding:10px 16px;font:500 13px inherit;cursor:pointer}.copy-result:hover{background:#213d3a;color:#fff}
.custom-error{display:none;margin:12px 0 0;color:#c65c4f;font-size:12px;line-height:1.5}.custom-error.visible{display:block}
.custom-settings[aria-invalid="true"]{border-left-color:#c65c4f}
.input-error{color:#c65c4f!important;border-bottom-color:#c65c4f!important}
.custom-settings .stepper{gap:0;margin:0 4px 0 3px}
.custom-settings .stepper button{width:15px;height:11px}
.custom-settings .stepper button:first-child::before{left:5px;top:2px;border-left-width:3px;border-right-width:3px;border-bottom-width:4px}
.custom-settings .stepper button:last-child::before{left:5px;top:2px;border-left-width:3px;border-right-width:3px;border-top-width:4px}
.fund-base-field .stepper{margin:0 7px 0 6px}
.fund-base-field .stepper button{width:18px;height:14px}

html[data-theme="dark"] { --ink:#e8f0ed;--muted:#a7b8b2;--paper:#101918;--surface:#182523;--surface-soft:#1e2d2a;--mint:#29483d;--green:#73c99b;--orange:#ff9270;--line:#31443f; }
html[data-theme="dark"] .calculator-card,html[data-theme="dark"] .select-wrap,html[data-theme="dark"] .mode-select-wrap,html[data-theme="dark"] .mobile-nav { border-color:var(--line);background:var(--surface); }
html[data-theme="dark"] .custom-settings,html[data-theme="dark"] .deduction-input,html[data-theme="dark"] .custom-fund-row { background:var(--surface-soft); }
html[data-theme="dark"] .result-section { background:#1b2830;color:#f3faf7;border-top:1px solid #34464e;border-bottom:1px solid #34464e; }
html[data-theme="dark"] .calculate-btn { background:#e8f0ed;color:#10252a; }
html[data-theme="dark"] .calculate-btn:hover { background:var(--green); }
html[data-theme="dark"] .details-section { background:var(--paper); }
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select { color:var(--ink); caret-color:var(--orange); }
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color:#8fa49f; }
html[data-theme="light"] { --ink:#10252a;--muted:#728084;--paper:#f5f7f5;--surface:#fff;--surface-soft:#f7faf8;--mint:#bfe4d0;--green:#1f8b61;--orange:#ff835e;--line:#d9e2dd; }
html[data-theme="light"] .calculator-card,html[data-theme="light"] .select-wrap,html[data-theme="light"] .mode-select-wrap,html[data-theme="light"] .mobile-nav { border-color:#e4ece7;background:#fff; }
html[data-theme="light"] .custom-settings,html[data-theme="light"] .deduction-input,html[data-theme="light"] .custom-fund-row { background:#f7faf8; }
html[data-theme="light"] .result-section { background:var(--ink);color:#fff; }
html[data-theme="light"] .calculate-btn { background:var(--ink);color:#fff; }
html[data-theme="light"] .details-section { background:var(--paper); }
html[data-theme="light"] body { background:var(--paper); color:var(--ink); }
html[data-theme="light"] .field-group label,html[data-theme="light"] .bilateral-head,html[data-theme="light"] .bilateral-head strong { color:#405657; }
html[data-theme="light"] .select-wrap,html[data-theme="light"] .mode-select-wrap { background:#fff; }
html[data-theme="light"] .updated,html[data-theme="light"] .muted,html[data-theme="light"] .deduction-row small,html[data-theme="light"] #tax-mode-hint { color:#97a5a1; }
html[data-theme="light"] input,html[data-theme="light"] textarea,html[data-theme="light"] select { color:var(--ink); }
@media(max-width:800px){
  .theme-toggle{padding:7px 9px}.theme-toggle-text{display:none}
  .stepper button{min-width:32px;min-height:32px;padding:4px}
  .stepper button:first-child::before{left:11px;top:9px}
  .stepper button:last-child::before{left:11px;top:9px}
  .custom-settings .stepper button{min-width:32px;min-height:32px}
  .custom-settings .stepper button:first-child::before,.custom-settings .stepper button:last-child::before{left:11px;top:9px}
  .select-wrap,.mode-select-wrap,.mode-row select{min-height:48px;height:48px}
  .select-wrap select,.mode-select-wrap select{min-height:48px;height:48px;padding-left:14px;padding-right:44px;font-size:16px;line-height:48px}
  .mode-row select{font-size:16px;padding-left:14px;padding-right:44px}
  .select-wrap span,.mode-select-wrap span{right:16px}
  .calculate-btn{min-height:56px}
}

/* System dark theme: reuses the same design tokens without changing layout. */
@media (prefers-color-scheme: dark) {
  :root {
    --ink: #e8f0ed;
    --muted: #a7b8b2;
    --paper: #101918;
    --surface: #182523;
    --surface-soft: #1e2d2a;
    --mint: #29483d;
    --green: #73c99b;
    --orange: #ff9270;
    --line: #31443f;
  }
  body { background: var(--paper); color: var(--ink); }
  .site-header { border-color: var(--line); }
  .nav-links, .header-meta, .hero-text, .section-intro, footer { color: #a7b8b2; }
  .nav-links .active { color: var(--ink); }
  .calculator-card { background: var(--surface); border-color: var(--line); box-shadow: 0 20px 50px rgba(0,0,0,.22); }
  .field-group label, .bilateral-head, .bilateral-head strong { color: #c4d2cd; }
  .field-group label span, .step-tag, .input-wrap span, .small-input span, .bonus-field .small-input span { color: #9fb0aa; }
  .select-wrap, .mode-select-wrap { border-color: var(--line); background: var(--surface); }
  .select-wrap select, .mode-select-wrap select, .mode-row select { color: var(--ink); }
  .select-wrap > span, .mode-select-wrap span { border-color: #9fb0aa; color: #9fb0aa; }
  .custom-settings, .deduction-input, .custom-fund-row { background: var(--surface-soft); }
  .custom-settings .small-input, .custom-fund-row, .small-input { border-color: #536762; }
  .deduction-row, .card-heading, .detail-table, .bilateral-table { border-color: var(--line); }
  .switch span { background: #435650; }
  .calculate-btn { background: #e8f0ed; color: #10252a; }
  .calculate-btn:hover { background: var(--green); color: #10252a; }
  .updated, .muted, .deduction-row small, #tax-mode-hint { color: #9fb0aa; }
  .result-section { background: #1b2830; color: #f3faf7; border-top:1px solid #34464e; border-bottom:1px solid #34464e; }
  .result-section .muted, .result-section .breakdown-head span { color: #a8bbb4; }
  .details-section { background: var(--paper); }
  .details-grid h2, .detail-row strong, .bilateral-table > .detail-row strong { color: var(--ink); }
  .detail-row span, .bilateral-row span, .bilateral-total span, .tax-info-label, .bilateral-table > .detail-row span, .bilateral-head { color: #b9c9c3; }
  .detail-row, .bilateral-row, .bilateral-head, .bilateral-total { border-color: var(--line); }
  .detail-row small, .bilateral-row small { color: #91a59d; }
  .tip-card { border-color: var(--green); }
  .tip-card p { color: #a7b8b2; }
  .mobile-nav { background: var(--surface); border-color: var(--line); box-shadow: 0 12px 28px rgba(0,0,0,.28); }
  .mobile-nav a { border-color: var(--line); }
  .copy-result { border-color: #73b994; color: #a8dbbf; }
  .copy-result:hover { background: #29483d; color: #fff; }
}

/* Contrast-safe supporting text for both themes. */
.hero-text,.section-intro,.tip-card p{color:#536763}
.nav-links,.header-meta,footer{color:#5f716d}
.updated,.muted,.deduction-row small,#tax-mode-hint{color:#637772}
.detail-row small,.bilateral-row small,.field-group label span,.input-wrap span,.small-input span{color:#647872}
html[data-theme="dark"] .hero-text,html[data-theme="dark"] .section-intro,html[data-theme="dark"] .tip-card p{color:#b4c5bf}
html[data-theme="dark"] .nav-links,html[data-theme="dark"] .header-meta,html[data-theme="dark"] footer{color:#b1c2bc}
html[data-theme="dark"] .updated,html[data-theme="dark"] .muted,html[data-theme="dark"] .deduction-row small,html[data-theme="dark"] #tax-mode-hint{color:#afc1bb}
html[data-theme="dark"] .detail-row small,html[data-theme="dark"] .bilateral-row small,html[data-theme="dark"] .field-group label span,html[data-theme="dark"] .input-wrap span,html[data-theme="dark"] .small-input span{color:#a8bbb4}
html[data-theme="dark"] .result-section .muted,html[data-theme="dark"] .result-section .breakdown-head span{color:#b9cbc4}
@media (prefers-color-scheme: dark){
  html:not([data-theme]) .hero-text,html:not([data-theme]) .section-intro,html:not([data-theme]) .tip-card p{color:#b4c5bf}
  html:not([data-theme]) .nav-links,html:not([data-theme]) .header-meta,html:not([data-theme]) footer{color:#b1c2bc}
  html:not([data-theme]) .updated,html:not([data-theme]) .muted,html:not([data-theme]) .deduction-row small,html:not([data-theme]) #tax-mode-hint{color:#afc1bb}
  html:not([data-theme]) .detail-row small,html:not([data-theme]) .bilateral-row small,html:not([data-theme]) .field-group label span,html:not([data-theme]) .input-wrap span,html:not([data-theme]) .small-input span{color:#a8bbb4}
}
