@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-latin-wght-normal.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:light dark;--paper: light-dark(#F7F8F5, #0F1215);--mist: light-dark(#E9EDE8, #161A1E);--stone: light-dark(#C6CEC8, #2E363D);--slate: light-dark(#9BA8A3, #3A444C);--ledger: light-dark(#DCE7F3, #1C2A3A);--coal: #1E2328;--graphite: #2B3138;--ink: light-dark(#111417, #EEF1EE);--muted: light-dark(#4E5862, #A9B3BC);--on-coal: #F7F8F5;--on-coal-muted: #A9B3BC;--control-border: light-dark(#7D8790, #6E7882);--money-in: light-dark(#1A6B3C, #6CC28E);--money-out: light-dark(#A12A1E, #F08A7E);--warning: light-dark(#8A5300, #E8B95A);--danger: light-dark(#A12A1E, #F08A7E);--ad-bg: var(--mist);--ad-border: var(--control-border);--font-serif: "Source Serif 4", Georgia, serif;--font-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--t-display: 7.5rem;--t-h1: 5.625rem;--t-h3: 3.4375rem;--t-sub: 1.5rem;--t-body: 1.125rem;--t-nav: 1rem;--t-ui: .8125rem;--t-mono: .6875rem;--t-tool-h1: clamp(2rem, 1.4rem + 2.6vw, 3rem);--t-tool-h2: clamp(1.5rem, 1.25rem + 1vw, 2rem);--t-tool-label: .8125rem;--t-amount: .9375rem;--w-light: 335;--w-body: 358;--w-strong: 420;--w-bold: 600;--lh-tight: .95;--lh-heading: 1.1;--lh-body: 1.4;--lh-mono: 1.3;--track-heading: -.02em;--track-body: .01em;--track-mono: .03em;--s1: 5px;--s2: 10px;--s3: 15px;--s4: 20px;--s6: 30px;--s8: 40px;--s9: 45px;--s18: 90px;--s21: 105px;--s24: 120px;--s29: 145px;--s36: 180px;--gutter: 45px;--gutter-m: 24px;--container: 1440px;--measure: 40ch;--control-h: 45px;--radius: 0;--radius-pill: 999px;--line: 1px;--line-2: 2px;--focus-offset: 3px;--rule: var(--line) solid var(--stone);--inset-rule: inset -1px 0 0 var(--ink);--dur-1: .15s;--dur-2: .3s;--ease: cubic-bezier(.4, 0, .2, 1)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media(prefers-reduced-motion:reduce){:root{--dur-1: 0ms;--dur-2: 0ms}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-serif);font-size:var(--t-body);font-weight:var(--w-body);line-height:var(--lh-body);letter-spacing:var(--track-body)}a{color:var(--ink);text-underline-offset:.15em;transition:color var(--dur-1) var(--ease)}a:hover{color:var(--muted)}img,svg{max-width:100%}h1,h2,h3{font-weight:var(--w-light);line-height:var(--lh-heading);letter-spacing:var(--track-heading)}h1{font-size:var(--t-tool-h1);margin:0 0 var(--s2)}h2{font-size:var(--t-tool-h2);margin:var(--s8) 0 var(--s3)}h3{font-size:var(--t-sub);font-weight:var(--w-strong);margin:var(--s6) 0 var(--s1)}p{margin:0 0 var(--s3)}strong,b{font-weight:var(--w-bold)}.wrap{max-width:61.25rem;margin:0 auto;padding:0 var(--s3)}.narrow{max-width:47.5rem}.muted{color:var(--muted)}.mono{font-family:var(--font-mono)}.skip{position:absolute;left:-999rem}.skip:focus{left:var(--s2);top:var(--s2);background:var(--paper);padding:var(--s2);z-index:10}:focus-visible{outline:var(--line-2) solid var(--ink);outline-offset:var(--focus-offset)}.site-header{border-bottom:var(--rule);background:var(--paper)}.header-row{display:flex;align-items:center;justify-content:space-between;height:var(--s18);gap:var(--s3)}.logo{display:inline-flex;align-items:center;gap:var(--s2);text-decoration:none;color:var(--ink);font-size:var(--t-sub);font-weight:var(--w-strong)}.logo svg{flex:none}.logo b{font-weight:var(--w-bold)}.logo.small{display:block;font-size:var(--t-body);margin-bottom:var(--s2)}.site-header nav{display:flex;gap:var(--s4)}.site-header nav a{color:var(--ink);text-decoration:none;font-size:var(--t-nav);white-space:nowrap}.site-header nav a:hover{color:var(--muted)}.hero{padding:var(--s8) 0 var(--s2)}.hero.home{padding-top:var(--s18)}.lead{font-size:var(--t-body);color:var(--muted);max-width:42.5rem}.badges{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s3) 0 0;padding:0;list-style:none}.badges li{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:var(--track-mono);text-transform:uppercase;background:var(--ledger);color:var(--ink);padding:var(--s1) var(--s2);border-radius:var(--radius-pill)}.card{background:var(--paper);border:var(--rule);border-radius:var(--radius)}.tool{margin:var(--s6) 0 var(--s2);padding:var(--s4)}.drop{border:var(--line-2) dashed var(--control-border);border-radius:var(--radius);padding:var(--s6) var(--s3);text-align:center;transition:border-color var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease)}.drop.over{border-style:solid;border-color:var(--ink);background:var(--ledger)}.drop p{margin:var(--s1) 0}.drop .big{font-size:var(--t-sub);font-weight:var(--w-strong)}.drop .note{margin-top:var(--s2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:var(--control-h);border:var(--line) solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:var(--t-tool-label);line-height:var(--lh-mono);letter-spacing:var(--track-mono);text-transform:uppercase;padding:0 var(--s4);border-radius:var(--radius-pill);cursor:pointer;text-decoration:none;transition:background-color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.btn:hover{background:var(--graphite);border-color:var(--graphite);color:var(--on-coal)}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--control-border)}.btn.secondary:hover{background:var(--mist)}.btn:disabled{background:var(--mist);border-color:var(--mist);color:var(--muted);cursor:not-allowed}.linkbtn{background:none;border:0;color:var(--ink);text-decoration:underline;text-underline-offset:.15em;cursor:pointer;font:inherit;padding:0}.row{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:end}.row+.row{margin-top:var(--s2)}.row.between{justify-content:space-between;align-items:center}.row.loose{gap:var(--s4)}.fileinfo{margin:0}.field{display:flex;flex-direction:column;gap:var(--s1);min-width:9.5rem;flex:1 1 9.5rem}.field span{font-family:var(--font-mono);font-size:var(--t-tool-label);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--muted)}.field select,.field input[type=text]{font:inherit;font-size:var(--t-nav);min-height:var(--control-h);padding:0 var(--s2);border:var(--line) solid var(--control-border);border-radius:var(--radius);background:var(--paper);color:var(--ink)}.field select:focus-visible,.field input[type=text]:focus-visible{outline-offset:0}.check{display:inline-flex;gap:var(--s2);align-items:center;font-size:var(--t-nav)}.check.wide{flex:1 1 13.75rem;padding-bottom:var(--s2)}fieldset{border:var(--rule);border-radius:var(--radius);padding:var(--s2) var(--s3) var(--s3);margin:var(--s3) 0 0}legend{font-family:var(--font-mono);font-size:var(--t-tool-label);letter-spacing:var(--track-mono);text-transform:uppercase;padding:0 var(--s1)}.notice{border-top:var(--line) solid var(--warning);color:var(--ink);padding:var(--s2) 0 0;font-size:var(--t-nav);margin:var(--s3) 0 0}.notice.error{border-top-color:var(--danger);color:var(--danger)}.stats{display:flex;flex-wrap:wrap;gap:var(--s4);margin:var(--s3) 0 var(--s2);font-size:var(--t-ui);color:var(--muted)}.stats strong{display:block;font-size:var(--t-sub);font-weight:var(--w-strong);color:var(--ink);font-variant-numeric:tabular-nums}.preview{overflow:auto;max-height:23.75rem;border-top:var(--rule);margin-top:var(--s2)}.preview table{border-collapse:collapse;width:100%}.preview th,.preview td{padding:var(--s1) var(--s2);border-bottom:var(--rule);text-align:left;white-space:nowrap}.preview td{font-size:var(--t-nav)}.preview td.desc{white-space:normal;min-width:13.75rem}.preview th{position:sticky;top:0;background:var(--paper);font-family:var(--font-mono);font-size:var(--t-tool-label);font-weight:400;letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--muted)}.preview .num{text-align:right}.preview td.num,.preview td:first-child{font-family:var(--font-mono);font-size:var(--t-amount)}.neg{color:var(--money-out)}.pos{color:var(--money-in)}.actions{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;margin-top:var(--s3)}.hidden{display:none!important}details.skipped{margin-top:var(--s2);font-size:var(--t-nav)}.upsell{margin:var(--s6) 0;padding:var(--s4);display:flex;gap:var(--s3);align-items:center;justify-content:space-between;flex-wrap:wrap}.upsell p{margin:0}.content ol li,.content ul li{margin-bottom:var(--s1)}.faq details{border-bottom:var(--rule);padding:var(--s3) 0}.faq summary{cursor:pointer;font-weight:var(--w-strong)}.faq details p{margin:var(--s2) 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.75rem,1fr));gap:var(--s2);margin:var(--s3) 0}.tile{padding:var(--s3);text-decoration:none;color:var(--ink);display:block;transition:background-color var(--dur-1) var(--ease)}.tile:hover{color:var(--ink);background:var(--mist)}.tile b{display:block;font-size:var(--t-sub);font-weight:var(--w-strong);margin-bottom:var(--s1)}.tile span{color:var(--muted);font-size:var(--t-nav)}.tag{display:inline-block;font-family:var(--font-mono);font-size:var(--t-mono);font-weight:400;letter-spacing:var(--track-mono);text-transform:uppercase;padding:var(--s1) var(--s2);border-radius:var(--radius-pill);background:var(--ledger);color:var(--ink);margin-left:var(--s1);vertical-align:middle}.crumbs{font-size:var(--t-ui);color:var(--muted);margin-top:var(--s4)}.crumbs a{color:var(--muted)}.site-footer{border-top:var(--rule);margin-top:var(--s9);padding:var(--s6) 0 var(--s4);background:var(--paper);font-size:var(--t-nav)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--s4)}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin-bottom:var(--s1)}.footer-grid a{color:var(--muted);text-decoration:none}.footer-grid a:hover{color:var(--ink)}.footer-title{font-family:var(--font-mono);font-size:var(--t-tool-label);letter-spacing:var(--track-mono);text-transform:uppercase;margin-bottom:var(--s2)}.fine{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--muted);margin-top:var(--s4)}@media(max-width:42.5rem){body{font-size:var(--t-nav)}.footer-grid{grid-template-columns:1fr}.site-header nav{gap:var(--s2)}.site-header nav a{font-size:var(--t-ui)}.tool{padding:var(--s3)}.logo{font-size:var(--t-nav);gap:var(--s1)}.preview td.desc{min-width:7.5rem}.preview th,.preview td{padding:var(--s1)}.stats{gap:var(--s3)}}
