:root{--ink:#16232c;--ink-soft:#52646f;--bg:#f6f8f7;--card:#fff;--border:#dfe6e3;--accent:#0d7a5f;--accent-dark:#0a614c;--ok:#15803d;--warn:#b45309;--warn-bg:#fef6ec;--error:#b42331;--radius:10px}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.55}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}.accent{color:var(--accent)}.site-header{background:var(--card);border-bottom:1px solid var(--border)}.header-row{align-items:center;gap:10px;padding:14px 20px;display:flex}.logo{letter-spacing:-.02em;font-size:1.15rem;font-weight:700}.hero{padding:48px 0 28px}.hero h1{letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15}.hero .sub{color:var(--ink-soft);max-width:68ch;margin:0 0 18px;font-size:1.05rem}.converter{margin:26px 0 40px}.dropzone{background:var(--card);border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;padding:56px 24px;transition:border-color .15s,background .15s}.dropzone.over,.dropzone:hover{border-color:var(--accent);background:#f2faf7}.dz-title{margin:0 0 6px;font-size:1.15rem;font-weight:600}.dz-sub{color:var(--ink-soft);margin:0}.dz-error{color:var(--error);margin:12px 0 0;font-weight:500}.dz-agent{color:var(--accent);margin:12px 0 0;font-weight:500}.password-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.password-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.password-row input{flex:1;min-width:200px}.result{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.summary{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:18px 32px;padding-bottom:16px;display:flex}.summary-item{flex-direction:column;display:flex}.summary-item .label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:.75rem}.summary-item .value{font-variant-numeric:tabular-nums;font-weight:650}.summary .badge{border-radius:999px;margin-left:auto;padding:6px 14px;font-size:.9rem;font-weight:600}.summary .badge.ok{color:var(--ok);background:#e9f7ee}.summary .badge.warn{background:var(--warn-bg);color:var(--warn)}.warnings{background:var(--warn-bg);color:var(--warn);border:1px solid #f3dfc2;border-radius:8px;margin:14px 0 0;padding:10px 16px 10px 32px;font-size:.92rem}.table-scroll{max-height:70vh;margin-top:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);box-shadow:inset 0 -1px 0 var(--border);z-index:1;background:var(--card);padding:10px 8px 6px;font-size:.72rem;position:sticky;top:0}td{vertical-align:middle;border-bottom:1px solid #edf1ef;padding:3px 8px}th.num,td.num{text-align:right}.col-narr{min-width:320px}td.status{text-align:center;width:26px;font-weight:700}td.status.ok{color:var(--ok)}td.status.mismatch{color:var(--warn)}td.status.unchecked{color:var(--ink-soft)}tr.row-mismatch td{background:var(--warn-bg)}td input{width:100%;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 6px}td input.num{text-align:right;font-variant-numeric:tabular-nums;max-width:120px}td input:hover{border-color:var(--border)}td input:focus{border-color:var(--accent);background:#fff;outline:none}.export-bar{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-top:18px;padding-top:16px;display:flex}.tally-settings{flex-wrap:wrap;gap:12px;display:flex}.tally-settings label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.export-buttons{flex-wrap:wrap;gap:10px;display:flex}input{border:1px solid var(--border);font:inherit;color:var(--ink);border-radius:8px;padding:8px 10px}input:focus{border-color:var(--accent);outline:2px solid #bfe3d6}@media (pointer:coarse),(width<=760px){td input,.tally-settings label input{font-size:16px}}.btn{border:1px solid var(--border);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:8px;padding:9px 16px;font-weight:600}.btn:hover{border-color:var(--accent);color:var(--accent-dark)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark);color:#fff}.btn.ghost{background:0 0}.info-grid{margin:12px 0 40px}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.card h3{margin:0 0 8px;font-size:1rem}.card p{color:var(--ink-soft);margin:0;font-size:.94rem}.faq{margin:0 0 48px}.faq h2{letter-spacing:-.01em;font-size:1.3rem}.faq details{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;padding:12px 16px}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--ink-soft);margin:10px 0 2px}.site-footer{border-top:1px solid var(--border);background:var(--card);color:var(--ink-soft);padding:20px 0 28px;font-size:.88rem}.site-footer a{color:var(--accent)}a.logo{color:inherit;text-decoration:none}.site-nav{gap:18px;margin-left:auto;font-size:.92rem;font-weight:600;display:flex}.site-nav a{color:var(--ink-soft);text-decoration:none}.site-nav a:hover{color:var(--accent)}.section-head,.banks h2,.howto h2,.read-next h2{letter-spacing:-.01em;margin:0 0 6px;font-size:1.3rem}.section-lede{color:var(--ink-soft);max-width:62ch;margin:0 0 16px}.note{color:var(--ink-soft);font-size:.9rem}.note a,.read-next a{color:var(--accent)}.banks{margin:0 0 40px}.bank-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.bank{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:11px 14px 12px}.bank-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.bank-head strong{white-space:nowrap}.bank-full{color:var(--ink-soft);margin-top:1px;font-size:.82rem;display:block}@media (width<=880px){.bank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=460px){.bank-grid{grid-template-columns:1fr}}.bank .badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:700}.badge-verified{color:var(--ok);background:#eaf6ee}.badge-experimental{color:var(--warn);background:var(--warn-bg)}.howto{margin:0 0 40px}.steps{margin:0 0 12px;padding-left:20px}.steps li{color:var(--ink-soft);max-width:72ch;margin-bottom:10px}.steps strong{color:var(--ink)}.read-next{margin:0 0 44px}.read-next ul{margin:0;padding-left:20px}.read-next li{margin-bottom:6px}.prose-wrap{max-width:760px}.crumbs{color:var(--ink-soft);padding:18px 0 0;font-size:.84rem}.crumbs a{color:var(--ink-soft)}.crumbs span{margin:0 5px}.post-list{margin:24px 0 48px;padding:0;list-style:none}.post-list li{border-top:1px solid var(--border);padding:18px 0}.post-list a{color:inherit;text-decoration:none}.post-list h2{letter-spacing:-.01em;margin:0 0 6px;font-size:1.15rem}.post-list a:hover h2{color:var(--accent)}.post-list p{color:var(--ink-soft);margin:0 0 6px}.post-list time{color:var(--ink-soft);font-size:.8rem}.prose{padding-bottom:8px}.prose h1{letter-spacing:-.02em;margin:14px 0 8px;font-size:1.9rem;line-height:1.2}.prose h2{letter-spacing:-.01em;margin:32px 0 8px;font-size:1.25rem}.byline{color:var(--ink-soft);margin:0 0 24px;font-size:.84rem}.prose p,.prose li{max-width:70ch}.prose a{color:var(--accent)}.prose table{border-collapse:collapse;width:100%;margin:18px 0;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 10px}.prose th{background:var(--card)}.prose pre{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:.86rem;overflow-x:auto}.prose blockquote{border-left:3px solid var(--accent);color:var(--ink-soft);margin:18px 0;padding-left:14px}.post-faq{margin-top:36px}.cta{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 48px;padding:18px 20px}.cta p{color:var(--ink-soft);margin:0 0 10px}.cta strong{color:var(--ink)}.cta-link{color:var(--accent);font-weight:600;text-decoration:none}
