.calc-root{--line-a:#1f6f64;--line-b:#c45a1c;position:relative}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .calc-root{--line-a:#5cc2b1;--line-b:#e58a52}}:root[data-theme=dark] .calc-root{--line-a:#5cc2b1;--line-b:#e58a52}.calc-grid{align-items:start;gap:20px;display:grid}@media (width>=1000px){.calc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:32px}}@media (width>=1000px) and (height>=980px){.calc-result{position:sticky;top:76px}}.calc-form{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius-l);padding:4px 18px 8px}@media (width>=720px){.calc-form{padding:8px 26px 14px}}.group{border-bottom:1px solid var(--rule);gap:14px;padding:18px 0 20px;display:grid}.group:last-child{border-bottom:0}.group-more{gap:0;padding:4px 0}.group-title{margin:0;font-size:1.05rem;font-weight:760;font-stretch:112%}.field{grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;display:grid}.field>label,.field .label,.segmented legend{color:var(--ink-2);padding:0;font-size:.9rem;font-weight:620}.hint,.calc-note{color:var(--ink-3);margin:0;font-size:.85rem;line-height:1.4}.calc-note{margin-top:-4px}.row-2{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start;gap:12px 14px;display:grid}.salary-row{grid-template-columns:minmax(0,1.6fr) minmax(120px,1fr)}.affix{border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--sheet);align-items:center;min-height:48px;transition:border-color .15s,box-shadow .15s;display:flex}.affix:focus-within{border-color:var(--security);box-shadow:0 0 0 3px color-mix(in srgb, var(--security) 22%, transparent)}.affix input{font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:10px 12px;font-size:1.0625rem;font-weight:600}.affix-pre,.affix-post{color:var(--ink-3);white-space:nowrap;font-weight:600}.affix-pre{margin-right:-6px;padding-left:12px}.affix-post{padding-right:12px;font-size:.85rem}.field-l .affix{min-height:56px}.field-l .affix input{letter-spacing:-.01em;font-size:1.45rem;font-weight:760;font-stretch:112%}.field-l .affix-pre{font-size:1.3rem}.select-wrap{position:relative}.select-wrap:after,.freq-other:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;right:14px;transform:translateY(-70%)rotate(45deg)}.select-wrap select,.freq-other select{appearance:none;border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--sheet);width:100%;min-height:48px;padding:10px 36px 10px 12px;font-size:1rem;font-weight:560}.field-l+.field .select-wrap select{min-height:56px}.segmented{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.seg-track{background:var(--paper-2);border-radius:var(--radius-m);gap:3px;padding:3px;display:flex}.seg-track label{flex:1 1 0;min-width:0;position:relative}.seg-track input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg-track span{text-align:center;min-height:42px;color:var(--ink-2);border-radius:8px;justify-content:center;align-items:center;padding:6px 8px;font-size:.93rem;font-weight:600;line-height:1.15;transition:background .15s,color .15s;display:flex}.seg-track label:hover span{color:var(--ink)}.seg-track label.on span{background:var(--sheet);color:var(--ink);box-shadow:0 1px 2px #17233a1f, 0 0 0 1px var(--rule)}.seg-track input:focus-visible+span{outline:3px solid var(--focus);outline-offset:1px}.freq{gap:8px;display:grid}@media (width<=480px){.freq .seg-track{grid-template-columns:1fr 1fr;display:grid}}.freq-other{max-width:260px;display:block;position:relative}.freq-other select{min-height:40px;color:var(--ink-2);font-size:.92rem}.stepper-row{border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--sheet);align-items:center;width:fit-content;display:inline-flex}.step-btn{cursor:pointer;width:48px;height:46px;color:var(--ink);border-radius:var(--radius-m);background:0 0;border:0;font-size:1.35rem;line-height:1}.step-btn:hover:not(:disabled){background:var(--paper-2)}.step-btn:disabled{color:var(--rule-strong);cursor:default}.step-val{text-align:center;min-width:36px;font-size:1.1rem;font-weight:700}.check{grid-template-columns:22px 1fr;align-items:start;gap:10px}.check input{width:20px;height:20px;accent-color:var(--security);margin:2px 0 0}.check label{color:var(--ink);gap:2px;font-size:.95rem;font-weight:560;display:grid}.more{border-top:1px solid var(--rule)}.group-more .more:first-child{border-top:0}.group>.more{margin-top:2px}.more summary{cursor:pointer;align-items:center;gap:12px;min-height:52px;padding:6px 0;list-style:none;display:flex}.more summary::-webkit-details-marker{display:none}.more summary:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);width:8px;height:8px;transition:transform .2s var(--ease-out);flex:none;margin-left:4px;transform:rotate(45deg)translateY(-3px)}.more[open] summary:after{transform:rotate(-135deg)translateY(-2px)}.more-title{font-weight:700}.more-detail{max-width:48%;color:var(--ink-3);text-align:right;margin-left:auto;font-size:.85rem;line-height:1.3}.more-body{gap:14px;padding:4px 0 18px;display:grid}.stub{background:var(--sheet);border:1px solid var(--rule);border-radius:4px 4px var(--radius-l) var(--radius-l);box-shadow:var(--shadow-sheet);position:relative}.stub:before{content:"";background:radial-gradient(circle at 7px 0, var(--paper) 4.2px, transparent 4.8px) repeat-x;z-index:2;background-size:14px 7px;height:7px;position:absolute;top:-1px;left:0;right:0}.stub-band{background-color:var(--security);opacity:.85;border-bottom:1px solid var(--rule);height:46px;-webkit-mask:url(/guilloche.svg) 50%/auto 100% repeat-x;mask:url(/guilloche.svg) 50%/auto 100% repeat-x}.stub-body{padding:18px}@media (width>=720px){.stub-body{padding:22px 28px 24px}}.stub-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.stub-label{color:var(--ink-2);margin:0;font-weight:650}.view-toggle{background:var(--paper-2);border-radius:999px;padding:3px;display:inline-flex}.view-toggle button{min-height:36px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 14px;font-size:.88rem;font-weight:620}.view-toggle button[aria-pressed=true]{background:var(--sheet);color:var(--ink);box-shadow:0 1px 2px #17233a24}.stub-net{letter-spacing:-.03em;color:var(--highlight-ink);margin:6px 0 2px;font-size:clamp(2.7rem,11vw,4.1rem);font-weight:820;font-stretch:122%;line-height:1.05}:root[data-theme=dark] .stub-net .hl,.stub-net .hl{color:var(--ink)}.stub-net .hl{animation:swipe .76s .22s var(--ease-out) both;background-size:100% .5em}@keyframes swipe{0%{background-size:0% .5em}to{background-size:100% .5em}}.stub-sub{color:var(--ink-2);margin:0 0 18px}.stub-note,.warn{background:var(--paper-2);border-radius:var(--radius-s);color:var(--ink-2);margin:12px 0 0;padding:10px 12px;font-size:.88rem}.warn{color:var(--danger)}.stub-foot{color:var(--ink-3);margin:16px 0 0;font-size:.82rem}.flow{margin:0 0 14px}.flow-bar{height:28px;animation:flow-in .9s var(--ease-out) both;gap:2px;display:flex}@keyframes flow-in{0%{clip-path:inset(0 100% 0 0 round 4px)}to{clip-path:inset(0 round 4px)}}.flow-seg{min-width:3px;transition:flex-grow .52s var(--ease-out);border-radius:4px;flex-basis:0;align-items:center;display:flex;overflow:hidden}.flow-seg-label{white-space:nowrap;padding-left:7px;font-size:.76rem;font-weight:760}.legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.82rem;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.key-line{border-radius:2px;width:16px;height:3px;display:inline-block}.wf{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.wf-row{border-bottom:1px solid var(--rule)}.wf-head{text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1.35fr) minmax(56px,1fr) auto 14px;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 0;font-size:.95rem;display:grid}div.wf-head{grid-template-columns:minmax(0,1.35fr) minmax(56px,1fr) auto 14px}button.wf-head{cursor:pointer}button.wf-head:hover .wf-label{color:var(--security)}.wf-label{align-items:center;gap:8px;min-width:0;font-weight:560;display:flex}.wf-total .wf-label{font-weight:760}.wf-track{background:var(--paper-2);border-radius:3px;height:10px;position:relative}.wf-bar{transition:left .52s var(--ease-out), width .52s var(--ease-out);border-radius:3px;position:absolute;top:0;bottom:0}.wf-amt{text-align:right;white-space:nowrap;font-weight:650}.wf-net .wf-amt{font-size:1.12rem;font-weight:800}.chev{color:var(--ink-3);transition:transform .2s var(--ease-out)}.wf-row.open .chev{transform:rotate(180deg)}.approx{color:var(--ink-2);border:1px solid var(--rule-strong);border-radius:999px;padding:0 6px;font-size:.7rem;font-weight:650}.trace{background:var(--paper);border-radius:var(--radius-s);margin:0 0 10px;padding:8px 12px;font-size:.86rem}.trace th{text-align:left;color:var(--ink-2);padding:4px 8px 4px 0;font-weight:500}.trace td{text-align:right;white-space:nowrap;vertical-align:top;padding:4px 0}.trace-detail{color:var(--ink-3);font-size:.8rem;display:block}.trace-note{color:var(--ink-3);margin:6px 0 2px;font-size:.82rem}.rates{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 0;display:grid}.rates>div{border-top:2px solid var(--ink);padding-top:8px}.rates dt{color:var(--ink-2);font-size:.82rem;font-weight:650}.rates dd{letter-spacing:-.01em;margin:2px 0 0;font-size:1.55rem;font-weight:800;font-stretch:115%}.rates .rate-note{color:var(--ink-3);margin:0;font-size:.76rem;line-height:1.3}.share{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.insights{align-items:start;gap:20px;margin-top:40px;display:grid}@media (width>=1000px){.insights{grid-template-columns:1fr 1fr;gap:28px}.insights .insight:first-child,.insights .insight:last-child:nth-child(2){grid-column:1/-1}}.insight{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius-l);min-width:0;padding:20px 18px}@media (width>=720px){.insight{padding:24px 28px}}.insight h2{font-size:var(--step-1);margin-bottom:6px}.insight-lede{color:var(--ink-2);max-width:70ch}.chart{margin:0}.chart-box{width:100%;margin-top:8px;position:relative}.chart-box svg{touch-action:pan-y;overflow:visible}.chart .grid{stroke:var(--chart-grid);stroke-width:1px}.chart .axis{stroke:var(--chart-axis);stroke-width:1px}.chart .tick{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.chart .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .dot{stroke:var(--sheet);stroke-width:2px}.chart .you-rule{stroke:var(--ink-3);stroke-width:1px}.chart .you-label{fill:var(--ink);font-size:12px;font-weight:700}.chart .cross{stroke:var(--ink-2);stroke-width:1px}.chart .col{fill:var(--security-2)}.chart .col.on{fill:var(--ink)}.tooltip{background:var(--sheet);border:1px solid var(--rule-strong);border-radius:var(--radius-s);box-shadow:var(--shadow-sheet);pointer-events:none;white-space:nowrap;z-index:3;gap:2px;padding:8px 10px;font-size:.82rem;display:grid;position:absolute;top:0;transform:translate(-50%,-100%)}.tooltip span{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:flex}.tooltip i{border-radius:2px;width:10px;height:3px;display:inline-block}.table-view{margin-top:10px;font-size:.9rem}.table-view summary{cursor:pointer;color:var(--security);align-items:center;min-height:36px;font-weight:600;display:inline-flex}.state-rank{margin:0 0 12px}.sb-list{max-width:760px;margin:0;padding:0;list-style:none}.sb-row{border-radius:var(--radius-s);grid-template-columns:2.2ch minmax(7.5rem,9.5rem) minmax(40px,1fr) auto;align-items:center;gap:10px;min-height:34px;padding:2px 6px;font-size:.92rem;display:grid}.sb-row.current{background:color-mix(in srgb, var(--highlight) 38%, transparent);font-weight:700}.sb-row.current .sb-rank{color:var(--ink)}.sb-rank{color:var(--ink-3);text-align:right;font-size:.8rem}.sb-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.sb-name:hover{color:var(--security);text-decoration:underline}.sb-track{background:var(--paper-2);border-radius:999px;height:8px;overflow:hidden}.sb-bar{background:var(--security-2);height:100%;transition:width .52s var(--ease-out);border-radius:999px;display:block}.sb-row.current .sb-bar{background:var(--ink)}.sb-val{text-align:right;min-width:6ch}.sb-more{margin-top:12px}.mobile-summary{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:50;background:var(--ink);color:var(--paper);transition:transform .3s var(--ease-out);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;text-decoration:none;display:flex;position:fixed;transform:translateY(160%);box-shadow:0 10px 30px -10px #00000080}.mobile-summary strong{box-shadow:inset 0 -.42em 0 color-mix(in srgb, var(--highlight) 55%, transparent);font-size:1.25rem;font-stretch:115%}.mobile-summary.show{transform:translateY(0)}@media (width>=1000px){.mobile-summary{display:none}}@media print{.calc-grid{grid-template-columns:1fr 1fr}.insights,.share,.view-toggle,.more:not([open]){display:none}}.tool-form .group{border-bottom:0}.tool-h{margin:22px 0 8px;font-size:1rem}.compare-methods{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.compare-methods div{border-top:2px solid var(--ink);padding-top:8px;display:grid}.compare-methods span{color:var(--ink-2);font-size:.85rem;font-weight:600}.compare-methods strong{font-size:1.35rem;font-stretch:115%}.deduction-note p{color:var(--ink-2);font-size:.95rem}.conv-table{margin-top:6px}@media (width<=480px){.wf-head,div.wf-head{grid-template-columns:minmax(0,1fr) 44px auto 14px;gap:8px;font-size:.92rem}.rates dd{font-size:1.3rem}}
