:root{--bg:oklch(84.5% .04 84);--surface:oklch(91% .03 89);--paper:oklch(94.5% .017 94);--fg:oklch(22% .02 62);--muted:oklch(43% .022 68);--border:oklch(63% .034 80);--accent:oklch(44.5% .11 28);--danger:oklch(45% .13 20);--rule:oklch(68% .045 235);--stamp:oklch(48% .09 32);--accent-soft:color-mix(in oklch, var(--accent) 12%, transparent);--fg-soft:color-mix(in oklch, var(--fg) 6%, transparent);--rule-soft:color-mix(in oklch, var(--rule) 55%, var(--paper));--margin-line:color-mix(in oklch, var(--stamp) 42%, var(--paper));--shadow-menu:0 12px 32px -14px color-mix(in oklch, var(--fg) 45%, transparent);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='d'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.055 0'/%3E%3C/filter%3E%3Cfilter id='l'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23d)'/%3E%3Crect width='200' height='200' filter='url(%23l)'/%3E%3C/svg%3E");--font-display:"Iowan Old Style", "Charter", Georgia, serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{background-color:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100vh;margin:0;font-size:16px;line-height:1.55;display:flex;position:relative}body:before{content:"";z-index:-1;pointer-events:none;background-image:var(--grain), radial-gradient(1150px 640px at 86% -10%, oklch(93% .018 92/.6), transparent 68%), radial-gradient(1000px 780px at -8% 38%, oklch(70% .042 78/.3), transparent 66%), radial-gradient(1250px 950px at 58% 115%, oklch(67% .045 76/.32), transparent 66%), linear-gradient(102deg, oklch(70% .04 78/.14), transparent 32% 68%, oklch(66% .045 76/.2));position:absolute;inset:0}@media print{body:before{display:none}}main{flex:1}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2{text-wrap:balance}.container{width:100%;max-width:1040px;margin-inline:auto;padding-inline:32px}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 20px;font-size:12px}.hero .eyebrow,.page-head .eyebrow,.panel .eyebrow{color:var(--accent)}.meta{font-family:var(--font-mono);color:var(--muted);font-size:13px}code{font-family:var(--font-mono);background:var(--paper);border:1px solid var(--border);border-radius:2px;padding:.1em .35em;font-size:.92em}.topnav{border-bottom:1px solid var(--border)}.topnav-inner{justify-content:space-between;align-items:baseline;padding-block:18px;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.01em;font-size:21px;font-weight:600}.logo em{color:var(--muted);font-style:normal}.topnav nav{align-items:baseline;gap:28px;display:flex}.topnav nav>a,.navmenu>a{color:var(--muted);font-size:14px;transition:color .15s}.topnav nav>a:hover,.navmenu>a:hover{color:var(--fg)}.caret{margin-left:4px;font-size:10px}.navmenu{margin-bottom:-14px;padding-bottom:14px;position:relative}.menu{z-index:20;background-color:var(--paper);background-image:var(--grain);border:1px solid var(--border);min-width:224px;box-shadow:var(--shadow-menu);opacity:0;visibility:hidden;padding:8px 0;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:100%;right:0;transform:translateY(-4px)}.navmenu:hover .menu,.navmenu:focus-within .menu{opacity:1;visibility:visible;transform:none}.menu .grp{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 16px 4px;font-size:10.5px}.menu a{color:var(--fg);padding:7px 16px;font-size:14px;transition:background .15s;display:block}.menu a:hover{background:var(--fg-soft)}.hero{border-bottom:1px solid var(--border);padding-block:72px 40px}.hero h1{font-family:var(--font-display);letter-spacing:-.015em;max-width:17ch;margin:0 0 20px;font-size:clamp(40px,4.6vw,58px);line-height:1.06}.lead{color:var(--muted);max-width:56ch;margin:0 0 20px;font-size:18px}.badge-line{font-family:var(--font-mono);letter-spacing:.02em;color:var(--fg);flex-wrap:wrap;gap:18px;margin:0;font-size:12.5px;display:flex}.badge-line span:before{content:"· ";color:var(--muted)}.badge-line span:first-child:before{content:""}.page-head{border-bottom:1px solid var(--border);padding-block:56px 36px}.page-head h1{font-family:var(--font-display);letter-spacing:-.015em;max-width:22ch;margin:0 0 16px;font-size:clamp(30px,3.8vw,44px);line-height:1.08}.page-head .lead{max-width:60ch;margin-bottom:0;font-size:17px}.converter{padding-block:44px 64px}.conv-head{border-top:4px double var(--fg);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding-top:14px;display:flex}.conv-title{font-family:var(--font-display);font-size:20px;font-weight:600}.conv-body{border-bottom:1px solid var(--fg);padding-bottom:28px}.conv-state:not([hidden]){animation:.2s both panel-in;display:block}.filebar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0;display:flex}.filename{font-family:var(--font-mono);word-break:break-all;font-size:14px}.filestat{font-family:var(--font-mono);color:var(--muted);font-size:13px}.conv-state[data-state=result] .filestat{letter-spacing:.08em;text-transform:uppercase;color:var(--stamp);background-color:var(--paper);border:1.5px solid var(--stamp);border-radius:3px;padding:3px 9px;font-size:12px;transform:rotate(-1deg)}.dropzone{border:1.5px dashed var(--border);background-color:var(--surface);background-image:var(--grain);width:100%;min-height:216px;color:var(--fg);text-align:center;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin-top:40px;padding:32px;transition:border-color .15s,background-color .15s;display:flex;position:relative}.dropzone:before{content:"";background-color:var(--surface);background-image:var(--grain);border:1.5px solid var(--border);border-bottom:0;border-radius:5px 5px 0 0;width:150px;height:14px;transition:border-color .15s;position:absolute;top:-14px;left:28px}.dropzone svg{color:var(--muted)}.dropzone strong{font-family:var(--font-display);font-size:19px;font-weight:600}.dropzone .dz-sub{color:var(--muted);font-size:14px}.dropzone:hover,.dropzone:hover:before{border-color:var(--muted)}.dropzone.is-over{border-color:var(--fg);background-color:color-mix(in oklch, var(--fg) 4%, var(--surface));border-style:solid}.dropzone.is-over:before{border-color:var(--fg)}.dz-after{flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;display:flex}.pbar{background:var(--border);border-radius:2px;height:3px;margin:30px 0 12px;overflow:hidden}.pbar-fill{background:var(--fg);border-radius:2px;width:0;height:100%;transition:width .2s;position:relative;overflow:hidden}.pbar-fill:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklch, var(--bg) 65%, transparent), transparent);animation:1.8s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.parse-status{font-family:var(--font-mono);color:var(--muted);margin:0;font-size:13px}.parse-status.error{color:var(--danger)}.tablewrap{background-color:var(--paper);background-image:var(--grain), linear-gradient(to right, transparent 44px, var(--margin-line) 44px, var(--margin-line) 45.5px, transparent 45.5px);border:1px solid var(--border);margin-top:12px;padding:4px 18px 10px 58px;overflow-x:auto}table.ds{border-collapse:collapse;width:100%;margin-top:4px;font-size:14px}.ds th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--fg);padding:10px 14px 10px 0;font-size:11.5px;font-weight:500}.ds td{border-bottom:1px solid var(--rule-soft);padding:10px 14px 10px 0}.ds .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.ds .neg:before{content:"("}.ds .neg:after{content:")"}.ds .neg .minus{display:none}.ds tbody tr:hover{background:var(--fg-soft)}.ds .more td{font-family:var(--font-mono);color:var(--muted);font-size:12.5px}.conv-state[data-state=result] .ds tbody{animation:.22s 50ms both fade-in}.preview-note{font-family:var(--font-mono);color:var(--muted);margin:12px 0 0;font-size:12.5px}.mapping{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.mapping summary{cursor:pointer;color:var(--muted);align-items:baseline;gap:8px;font-size:14px;list-style:none;transition:color .15s;display:inline-flex}.mapping summary::-webkit-details-marker{display:none}.mapping summary:before{content:"+";font-family:var(--font-mono)}.mapping[open] summary:before{content:"−"}.mapping summary:hover{color:var(--fg)}.mapgrid{flex-wrap:wrap;gap:24px;margin-top:14px;display:flex}.mapfield label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.mapfield select{font:inherit;border:1px solid var(--border);background:var(--paper);min-width:168px;color:var(--fg);border-radius:2px;padding:7px 10px;font-size:14px}.btnrow{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.btn{border:1px solid var(--fg);border-radius:2px;align-items:center;gap:8px;min-height:44px;padding:11px 20px;font-size:15px;font-weight:500;transition:background .15s,color .15s,border-color .15s,transform .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.btn-primary:hover{background:color-mix(in oklch, var(--accent) 82%, black);border-color:color-mix(in oklch, var(--accent) 82%, black)}.btn-secondary{color:var(--fg);background:0 0}.btn-secondary:hover{background:var(--fg);color:var(--bg)}.btn-ghost{color:var(--muted);border-color:#0000;min-height:0;padding-inline:8px}.btn-ghost:hover{color:var(--fg)}.btn-sm{min-height:44px;padding:8px 16px;font-size:14px}:where(a,button,input,select,summary,label):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.conv-state[data-state=result] .upsell{animation:.25s .15s both upsell-in}.upsell{border-top:1px solid var(--fg);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;margin-top:28px;padding:18px 0;display:flex}.upsell p{margin:0;font-size:15px}.upsell p strong{font-family:var(--font-display);font-size:17px}.keyrow{font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:14px;font-size:12.5px;display:flex}.keyrow input,.field input{font:inherit;border:1px solid var(--border);background:var(--paper);color:var(--fg);border-radius:2px;padding:8px 12px}.keyrow input{width:230px}.keyrow input:focus,.field input:focus,.mapfield select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.textlink{text-underline-offset:3px;color:var(--fg);font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.textlink:hover{color:var(--muted)}.note{border-left:2px solid var(--fg);background-color:var(--paper);background-image:var(--grain);margin-top:22px;padding:18px 22px}.note-err{border-left-color:var(--danger)}.note-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--stamp);border:1.5px solid var(--stamp);border-radius:2px;margin:0 0 10px;padding:2px 8px;font-size:11.5px;display:inline-block}.note-err .note-label{color:var(--danger);border-color:var(--danger)}.note h3{font-family:var(--font-display);margin:0 0 6px;font-size:18px;font-weight:600}.note p{color:var(--muted);max-width:62ch;margin:0 0 14px}.note p:last-of-type{margin-bottom:0}.page-section{border-top:1px solid var(--border);padding-block:60px}.page-section h2{font-family:var(--font-display);letter-spacing:-.01em;max-width:24ch;margin:0 0 14px;font-size:clamp(26px,2.6vw,32px);line-height:1.15}.page-section .sub{color:var(--muted);max-width:62ch;margin:0;font-size:15.5px}.steps{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px;display:grid}.step{border-top:2px solid var(--fg);padding-top:14px}.step .num{font-family:var(--font-mono);color:var(--muted);font-size:13px}.step h3{font-family:var(--font-display);margin:10px 0 6px;font-size:19px;font-weight:600}.step p{color:var(--muted);margin:0;font-size:14.5px}.split{grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}.fact{border-bottom:1px solid var(--border);align-items:baseline;gap:14px;padding:13px 0;display:flex}.fact:first-child{border-top:1px solid var(--fg)}.fact .tick{font-family:var(--font-mono);color:var(--fg);font-size:13px}.fact div p{color:var(--muted);margin:2px 0 0;font-size:14px}.fact div strong{font-size:15px;font-weight:600}.csv{font-family:var(--font-mono);background-color:var(--paper);background-image:var(--grain), repeating-linear-gradient(to bottom, transparent 0 calc(1.75em - 1px), var(--rule-soft) calc(1.75em - 1px) 1.75em);border:1px solid var(--border);white-space:pre;margin:24px 0 12px;padding:18px 20px;font-size:13px;line-height:1.75;overflow-x:auto}.csv .h{color:var(--muted)}.bankgrid{grid-template-columns:1fr 1fr;gap:40px;margin-top:36px;display:grid}.bankcol .grp{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--fg);margin-bottom:0;padding-bottom:8px;font-size:11px}.bankrow{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:10px 0;font-size:15px;transition:background .15s;display:flex}.bankrow:hover{background:var(--fg-soft)}.bankrow .arr{font-family:var(--font-mono);color:var(--muted);font-size:12px}.wrap{align-items:center;padding-block:72px;display:flex}.panel{background-color:var(--surface);background-image:var(--grain);border:1px solid var(--border);width:100%;max-width:560px;margin-inline:auto;padding:40px 36px;position:relative}.panel:before{content:"";background-color:var(--surface);background-image:var(--grain);border:1px solid var(--border);border-bottom:0;border-radius:4px 4px 0 0;width:120px;height:12px;position:absolute;top:-13px;left:36px}.panel h1{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 16px;font-size:clamp(34px,4vw,46px);line-height:1.08}.panel .lead{color:var(--muted);max-width:46ch;margin:0 0 32px;font-size:17px}.price-line{font-family:var(--font-mono);color:var(--fg);margin:0 0 32px;font-size:13px}.price-line strong{font-family:var(--font-display);font-size:20px}.field{flex-wrap:wrap;gap:10px;display:flex}.field input{min-width:220px;font:inherit;border:1px solid var(--border);background:var(--paper);color:var(--fg);border-radius:2px;flex:1;padding:11px 14px;font-size:15px}.fineprint{font-family:var(--font-mono);color:var(--muted);margin-top:14px;font-size:12px}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.done-mark{border:1.5px solid var(--stamp);width:40px;height:40px;color:var(--stamp);outline:1px solid var(--stamp);outline-offset:-5px;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;font-size:16px;display:flex}.state-done h2{font-family:var(--font-display);margin:0 0 10px;font-size:26px;font-weight:600}.state-done p{color:var(--muted);max-width:46ch;margin:0 0 20px}.state-done .addr{font-family:var(--font-mono);color:var(--fg)}.wl-state:not([hidden]){animation:.2s both panel-in}.doc{max-width:720px;padding-block:16px 64px}.doc h2{font-family:var(--font-display);border-top:1px solid var(--border);margin:40px 0 10px;padding-top:22px;font-size:22px;font-weight:600}.doc h2:first-of-type{margin-top:8px}.doc p,.doc li{color:var(--fg);font-size:15.5px}.doc p{margin:0 0 14px}.doc ul,.doc ol{margin:0 0 14px;padding-left:22px}.doc li{margin-bottom:6px}.doc .sub{color:var(--muted)}.keybox{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 16px;display:flex}.keybox code{padding:8px 14px;font-size:1.05rem}.foot{border-top:3px double var(--border);padding-block:28px}.foot .container{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.foot nav{flex-wrap:wrap;gap:22px;display:flex}.foot nav a{font-family:var(--font-mono);color:var(--muted);font-size:13px;transition:color .15s}.foot nav a:hover{color:var(--fg)}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes upsell-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=920px){.steps,.split,.bankgrid{grid-template-columns:1fr}.split{gap:32px}}@media (width<=720px){.container{padding-inline:20px}.topnav-inner{flex-wrap:wrap;row-gap:10px}.topnav nav{gap:14px}.topnav nav>a,.navmenu>a{font-size:13.5px}.topnav nav>a:nth-child(2){display:none}.menu{left:-20px;right:auto}.conv-head{flex-direction:column;gap:8px}.dropzone{min-height:180px;padding:24px 16px}.dropzone:before{width:110px;left:18px}.tablewrap{background-image:var(--grain);padding:4px 14px 10px}.panel{padding:32px 22px}.panel:before{width:90px;left:22px}.hero{padding-block:52px 32px}.page-head{padding-block:44px 28px}.page-section{padding-block:44px}.wrap{align-items:flex-start;padding-block:44px}.field input{min-width:100%}.field input,.keyrow input,.mapfield select,.hp input{font-size:16px}}
