*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:light dark}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.55 var(--font);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}h1,h2,h3{line-height:1.15;margin:0;font-weight:600;letter-spacing:-.012em}p{margin:0}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.vh{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[hidden]{display:none !important}.small{font-size:.875rem;color:var(--muted)}.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:.5rem .75rem;z-index:10}.skip:focus{left:.5rem;top:.5rem}.masthead{border-bottom:1px solid var(--line);background:var(--bg)}.masthead__in{display:flex;align-items:center;gap:1.25rem;min-height:3.5rem}.brand{display:flex;align-items:center;gap:.55rem;color:var(--ink);text-decoration:none;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.brand__mark{width:1.75rem;height:1.75rem}.brand__bead{fill:var(--accent)}.topnav{display:flex;gap:1.1rem;margin-left:auto}.topnav a{color:var(--muted);text-decoration:none;font-size:.9375rem;padding:.25rem 0}.topnav a:hover,.topnav a[aria-current]{color:var(--ink)}.prefs{display:flex;align-items:center;gap:.4rem}.prefs__cur select{appearance:none;background:transparent;border:1px solid var(--line);border-radius:var(--r-s);padding:.3rem 1.6rem .3rem .55rem;font-size:.875rem;font-weight:600;cursor:pointer;background-image:var(--chev);background-repeat:no-repeat;background-position:right .45rem center;background-size:.6rem}.prefs__theme{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;color:var(--ink);padding:0}.prefs__theme svg{width:1.05rem;height:1.05rem}.kind-text .prefs__cur,.kind-home .prefs__cur{display:none}.tool-head{padding:1.6rem 0 1.25rem;max-width:46rem}.tool-head h1{font-size:var(--h1)}.lead{color:var(--muted);font-size:1.0625rem;margin-top:.5rem;max-width:62ch}.instrument{display:grid;gap:1rem;align-items:start}@media (min-width:60rem){.instrument{grid-template-columns:minmax(0,1fr) minmax(0,27rem);gap:1.5rem}.readout{position:sticky;top:1rem}}.inputs{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:.2rem .85rem 1rem}@media (min-width:40rem){.inputs{padding:.35rem 1.1rem 1.1rem}}.inputs__top{padding:.85rem 0 .35rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:end}.inputs__top .seg{grid-column:1 / -1}@media (min-width:40rem){.inputs__top{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.inputs__top .seg{grid-column:auto}.inputs__top .seg:only-child,.inputs__top .seg:has(~ [hidden]:last-child):has(+ [hidden]){grid-column:1 / -1}}.inputs__top .field input{font-size:1.25rem}.group{border:0;margin:0;padding:.95rem 0 0;min-width:0}.group + .group{border-top:1px solid var(--line);margin-top:1rem}.group__title{padding:0;font-weight:600;font-size:.9375rem;margin-bottom:.6rem;float:left;width:100%;display:flex;align-items:baseline;gap:.6rem}.group__title>span:first-child{flex:1;display:flex;align-items:baseline;gap:.6rem}.group__title>span:first-child::after{content:"";flex:1;border-bottom:1px dotted var(--field-line)}.group__total{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.group__total:empty{display:none}.group__fields{clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem .75rem}@media (min-width:40rem){.group__fields{grid-template-columns:repeat(3,minmax(0,1fr))}}.group__note{font-size:.8125rem;color:var(--muted);margin-top:.6rem;max-width:70ch}.field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.field--wide{grid-column:1 / -1}@media (min-width:40rem){.field--wide{grid-column:span 2}}.field label{font-size:.8125rem;color:var(--muted);line-height:1.3}.field__box{display:flex;align-items:center;background:var(--field);border:1px solid var(--field-line);border-radius:var(--r-s);min-height:2.625rem;transition:border-color .12s}.field__box:hover{border-color:var(--muted)}.field__box:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.field input{flex:1;min-width:0;width:100%;border:0;background:transparent;padding:.45rem .1rem .45rem .65rem;font-size:1.0625rem;font-weight:600;text-align:right;outline:none;font-variant-numeric:tabular-nums}.field input:last-child{padding-right:.65rem}.field__unit{color:var(--muted);font-size:.8125rem;padding-right:.65rem;padding-left:.3rem;white-space:nowrap}.field__unit--pre{padding:0 0 0 .65rem;font-size:.9375rem;font-weight:600;color:var(--muted)}.field__unit--pre + input{padding-left:.2rem}.field input[aria-invalid="true"]{color:var(--accent)}.field__box:has(input[aria-invalid="true"]){border-color:var(--accent);background:var(--accent-wash)}.field select{flex:1;min-width:0;appearance:none;border:0;background:transparent var(--chev) no-repeat right .7rem center / .65rem;padding:.5rem 2rem .5rem .65rem;font-weight:600;font-size:.9375rem;cursor:pointer;outline:none}.field select option{background:var(--surface);color:var(--ink)}.field__hint{font-size:.75rem;color:var(--muted);line-height:1.35}.seg{display:flex;border:0;margin:0;padding:3px;background:var(--field);border:1px solid var(--field-line);border-radius:calc(var(--r-s) + 3px)}.seg__opt{flex:1;position:relative;cursor:pointer}.seg__opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.seg__opt span{display:block;text-align:center;padding:.55rem .5rem;border-radius:var(--r-s);font-weight:600;font-size:.9375rem;color:var(--muted);transition:background .15s,color .15s}.seg__opt input:checked + span{background:var(--ink);color:var(--bg)}.seg__opt input:focus-visible + span{outline:2px solid var(--accent);outline-offset:1px}.readout{display:flex;flex-direction:column;gap:.5rem;scroll-margin-top:1rem}.readout__screen{background:var(--screen);color:var(--screen-ink);border-radius:var(--r-l);padding:1.25rem 1.25rem 1.1rem;background-image:var(--layers);box-shadow:var(--screen-edge);min-height:12rem}.readout__boot{color:var(--screen-muted)}.ro__head{padding-bottom:1rem}.ro__label{font-size:.875rem;color:var(--screen-muted)}.ro__value{font-size:var(--display);font-weight:600;line-height:1.02;letter-spacing:-.035em;margin-top:.15rem;font-variant-numeric:tabular-nums}.ro__value.is-neg,.is-neg dd,.is-neg td,.legend .is-neg .legend__v{color:var(--neg)}.ro__value--none{color:var(--screen-muted)}.ro__sub{font-size:.875rem;color:var(--screen-muted);margin-top:.45rem;max-width:40ch}.ro__error{margin-top:.6rem;color:var(--screen-ink);background:var(--screen-2);border-left:3px solid var(--accent-on-screen);padding:.6rem .75rem;border-radius:0 var(--r-s) var(--r-s) 0;font-size:.9375rem}.ro__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:1px;margin:0;background:var(--screen-line);border-top:1px solid var(--screen-line);border-bottom:1px solid var(--screen-line)}.ro__stats div{background:var(--screen);padding:.65rem .1rem .7rem}.ro__stats div + div{padding-left:.75rem}.ro__stats dt{font-size:.75rem;color:var(--screen-muted)}.ro__stats dd{margin:.1rem 0 0;font-size:1.1875rem;font-weight:600;letter-spacing:-.01em}.ro__bar{margin-top:1.1rem}.ro__cap{font-size:.75rem;color:var(--screen-muted);margin-bottom:.5rem}.bar{height:16px}.bar rect[class^="tone-"]{stroke:var(--screen);stroke-width:2}.legend{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.05rem;font-size:.875rem}.legend li{display:grid;grid-template-columns:.75rem 1fr auto 2.6rem;align-items:center;gap:.55rem;padding:.18rem 0}.legend__v{font-weight:600;text-align:right}.legend__p{color:var(--screen-muted);text-align:right;font-size:.8125rem}.sw{width:.75rem;height:.75rem;border-radius:2px}.ro__lines,.ro__table table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9375rem}.ro__lines th,.ro__lines td{padding:.42rem 0;border-top:1px solid var(--screen-line);font-weight:400;text-align:left}.ro__lines td{text-align:right;font-weight:600}.ro__lines .is-strong th,.ro__lines .is-strong td{font-weight:600}.ro__lines .is-keep th,.ro__lines .is-keep td{color:var(--accent-on-screen)}.ro__table{margin-top:1.1rem}.ro__table table{margin-top:0;font-size:.875rem}.ro__table th,.ro__table td{padding:.4rem 0;border-top:1px solid var(--screen-line);text-align:right;font-weight:400}.ro__table thead th{color:var(--screen-muted);font-size:.75rem;border-top:0}.ro__table th.l,.ro__table tbody th{text-align:left}.ro__table td{font-weight:600}.ro__table .is-current th,.ro__table .is-current td{background:var(--screen-2)}.ro__table .is-current th{box-shadow:inset 3px 0 0 var(--screen-ink);padding-left:.6rem}.ro__table tbody th{padding-left:.6rem}.ro__note{font-size:.75rem;color:var(--screen-muted);margin-top:.9rem}.ro__note--cur{font-size:.8125rem;margin:.6rem 0 0;max-width:46ch}.readout__tools{display:flex;gap:.5rem;flex-wrap:wrap}.btn-ghost{background:transparent;border:1px solid var(--line);border-radius:var(--r-s);padding:.45rem .8rem;font-size:.875rem;font-weight:600;cursor:pointer;color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}.dock{position:fixed;left:.5rem;right:.5rem;bottom:.5rem;z-index:5;display:flex;align-items:center;gap:.75rem;background:var(--screen);color:var(--screen-ink);border-radius:var(--r-l);padding:.6rem .6rem .6rem 1rem;box-shadow:0 6px 24px rgba(0,0,0,.28)}.dock__label{font-size:.8125rem;color:var(--screen-muted)}.dock__value{font-size:1.375rem;font-weight:600;letter-spacing:-.02em;margin-right:auto}.dock__more{color:var(--screen-ink);font-size:.8125rem;font-weight:600;text-decoration:none;border:1px solid var(--screen-line);border-radius:var(--r-s);padding:.45rem .65rem}@media (min-width:60rem){.dock{display:none !important}}@media (max-width:59.99rem){.page--tool .foot{padding-bottom:5rem}}.tool-body{display:grid;gap:2.5rem;padding:3rem 0 3.5rem}@media (min-width:60rem){.tool-body{grid-template-columns:minmax(0,1fr) 18rem;gap:4rem}}.tool-body>*{min-width:0}.tool-body__side{display:flex;flex-direction:column;gap:1.5rem}@media (min-width:60rem){.tool-body__side{position:sticky;top:1rem;align-self:start}}.prose{max-width:42rem}.prose h2,.faq h2,.related h2{font-size:var(--h2);margin-bottom:.9rem}.prose h3{font-size:1.0625rem;margin:1.6rem 0 .5rem}.prose p,.prose ul{margin:0 0 .9rem}.prose ul{padding-left:1.15rem}.prose li{margin-bottom:.45rem}.prose li::marker{color:var(--muted)}.formula{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:.9rem 1.1rem;margin:0 0 1rem;font-size:.9375rem}.formula p{margin:0;padding:.32rem 0}.formula p + p{border-top:1px dashed var(--line)}.formula b{font-weight:600}.sources{margin-top:2rem}.sources h3{margin-top:0}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface)}.sources table{width:100%;border-collapse:collapse;font-size:.8125rem}.sources th,.sources td{text-align:left;padding:.5rem .7rem;border-top:1px solid var(--line);vertical-align:top}.sources thead th{border-top:0;color:var(--muted);font-weight:600}.sources td:nth-child(2){font-weight:600}.sources tr.cont td{border-top-style:dotted}.sources .small{margin-top:.6rem}.faq{margin-top:3rem;max-width:42rem}.faq__item{border-top:1px solid var(--line)}.faq__item:last-child{border-bottom:1px solid var(--line)}.faq__item summary{cursor:pointer;list-style:none;padding:.95rem 2rem .95rem 0;font-weight:600;position:relative}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary::after{content:"";position:absolute;right:.25rem;top:50%;width:.7rem;height:.7rem;margin-top:-.35rem;background:linear-gradient(currentColor,currentColor) center / 100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center / 1.5px 100% no-repeat;color:var(--muted);transition:transform .15s}.faq__item[open] summary::after{transform:rotate(45deg)}.faq__a{padding:0 0 1rem;color:var(--ink-2)}.faq__a p + p{margin-top:.6rem}.related ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.related li{border-bottom:1px solid var(--line)}.related a{display:block;padding:.8rem 0;text-decoration:none;color:var(--ink)}.related a:hover .rel__name{text-decoration:underline;text-underline-offset:.18em}.rel__name{display:block;font-weight:600}.rel__what{display:block;font-size:.875rem;color:var(--muted);margin-top:.1rem}.updated{font-size:.875rem;color:var(--muted)}.ad{display:block;margin:1.5rem auto;background:var(--surface);border:1px dashed var(--line);contain:strict}.ad--banner{width:100%;max-width:728px;height:100px}@media (min-width:48rem){.ad--banner{height:90px}}.ad--rect{width:300px;max-width:100%;height:250px}.page--home{padding-bottom:3rem}.home-hero{display:grid;gap:2rem;padding:2rem 0 2.5rem;align-items:start}@media (min-width:60rem){.home-hero{grid-template-columns:minmax(0,1fr) 25rem;gap:4.5rem;padding:3.5rem 0 3rem}}.home-hero h1{font-size:var(--h1-home);letter-spacing:-.03em;line-height:1.02;max-width:12ch}.home-hero .lead{font-size:1.1875rem;margin-top:1rem;max-width:34rem}.home-hero__example{margin:0}.home-hero__example figcaption{font-size:.8125rem;color:var(--muted);margin-top:.6rem}.readout__screen--static{min-height:0}.toollist{list-style:none;margin:2.25rem 0 0;padding:0;border-top:2px solid var(--ink)}.toollist__item{border-bottom:1px solid var(--line)}.toollist__item a{display:grid;grid-template-columns:minmax(0,1fr) 1.5rem;gap:.2rem 1rem;padding:1.15rem 0;text-decoration:none;color:var(--ink);align-items:center}.toollist__name{font-size:var(--h2);font-weight:600;letter-spacing:-.015em}.toollist__what{color:var(--muted);grid-row:2}.toollist__go{width:1.4rem;height:1.4rem;color:var(--accent);grid-row:1 / span 2;grid-column:2;transition:transform .15s}.toollist__item a:hover .toollist__name{color:var(--accent)}.toollist__item a:hover .toollist__go{transform:translateX(3px)}.home-notes{display:grid;gap:1.5rem;margin-top:1rem;padding-top:2rem;border-top:1px solid var(--line)}@media (min-width:48rem){.home-notes{grid-template-columns:repeat(3,1fr);gap:2.5rem}}.home-notes h2{font-size:1.0625rem;margin-bottom:.35rem}.home-notes p{color:var(--muted);font-size:.9375rem}.page--text{padding-top:2.25rem;padding-bottom:4rem}.prose--page h1{font-size:var(--h1);margin-bottom:.25rem}.prose--page .lead{margin-bottom:1.75rem}.prose--page h2{font-size:1.25rem;margin:2rem 0 .6rem}.foot{border-top:1px solid var(--line);background:var(--surface);font-size:.875rem;color:var(--muted)}.foot__in{display:grid;gap:1.5rem;padding-top:2rem;padding-bottom:2.25rem}@media (min-width:48rem){.foot__in{grid-template-columns:1fr auto}}.foot__name{color:var(--ink);font-weight:600;margin-bottom:.25rem}.foot__about p + p{margin-top:.25rem}.foot__nav{display:flex;gap:2.5rem}.foot__nav ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.foot a{color:var(--ink);text-decoration:none}.foot a:hover{text-decoration:underline}@media (max-width:29.99rem){.topnav{display:none}.prefs{margin-left:auto}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important}}@font-face{font-family:"Plex";src:url(/assets/fonts/plex-sans-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:"Plex";src:url(/assets/fonts/plex-sans-600.woff2) format("woff2");font-weight:600;font-display:swap}:root{--font:"Plex",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--max:76rem;--gutter:1rem;--h1:clamp(1.625rem,1.2rem + 1.6vw,2.25rem);--h1-home:clamp(2.375rem,1.5rem + 3.6vw,4rem);--h2:clamp(1.25rem,1.1rem + .5vw,1.5rem);--display:clamp(2.75rem,2.2rem + 2vw,3.5rem);--r-s:6px;--r-m:8px;--r-l:12px;--bg:#f4f5f6;--surface:#ffffff;--ink:#1a1d21;--ink-2:#33383e;--muted:#5d646c;--line:#dadee2;--field:#f7f8f9;--field-line:#c9ced3;--link:#1a1d21;--accent:#c2135d;--accent-wash:#fbeaf1;--screen:#1c2025;--screen-2:#262b31;--screen-ink:#f3f5f7;--screen-muted:#a2aab3;--screen-line:#353b42;--accent-on-screen:#ff5c9b;--neg:#ff8a8a;--screen-edge:inset 0 0 0 1px rgba(255,255,255,.04);--layers:repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 4px);--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235d646c' stroke-width='1.5'/%3E%3C/svg%3E");--t1:#eef1f4;--t2:#c8ced5;--t3:#9ba4ad;--t4:#78818b;--t5:#5a626b;--t6:#454c54;--hatch-bg:#2a2f35;--hatch-fg:#c8ced5}@media (min-width:40rem){:root{--gutter:1.5rem}}:root[data-theme="dark"]{--bg:#121417;--surface:#1a1d21;--ink:#e8ebee;--ink-2:#cdd2d7;--muted:#9aa2ab;--line:#2c3137;--field:#15181b;--field-line:#353b42;--link:#e8ebee;--accent:#ff5c9b;--accent-wash:#2b1620;--screen:#0c0e10;--screen-2:#181b1f;--screen-line:#2a2f35;--screen-edge:inset 0 0 0 1px #2c3137;--hatch-bg:#1d2126;--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%239aa2ab' stroke-width='1.5'/%3E%3C/svg%3E")}.tone-n1{fill:var(--t1);background:var(--t1)}.tone-n2{fill:var(--t2);background:var(--t2)}.tone-n3{fill:var(--t3);background:var(--t3)}.tone-n4{fill:var(--t4);background:var(--t4)}.tone-n5{fill:var(--t5);background:var(--t5)}.tone-n6{fill:var(--t6);background:var(--t6)}.tone-keep{fill:var(--accent-on-screen);background:var(--accent-on-screen)}.tone-fee{fill:url(#pat-fee);background:repeating-linear-gradient(45deg,var(--hatch-fg) 0 1.5px,var(--hatch-bg) 1.5px 3.5px)}.tone-tax{fill:url(#pat-tax);background:radial-gradient(circle,var(--hatch-fg) 0 1px,var(--hatch-bg) 1.2px) 0 0 / 3.5px 3.5px}.pat-bg{fill:var(--hatch-bg)}.pat-fg{fill:var(--hatch-fg)}