:root{--bg:#f3f2f2;--surface:#eae9e9;--text:#201e1d;--muted:#605d5d;--divider:#bab6b6;--accent:#dd2b0f;--accent-ink:#7c1405;--accent-wash:#fff2ef;--step-1:.25rem;--step-2:.5rem;--step-3:.75rem;--step-4:1rem;--step-6:1.5rem;--step-8:2rem}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:1rem;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:800;line-height:1.15}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{letter-spacing:.08em;text-transform:uppercase;font-size:.8125rem}p{margin:0}a{color:var(--accent-ink)}a:hover{color:var(--accent)}code{font-family:ui-monospace,Menlo,monospace;font-size:.875em}.nav{background:var(--bg);border-bottom:2px solid var(--text);align-items:baseline;gap:var(--step-2) var(--step-4);padding:var(--step-3) var(--step-4);flex-wrap:wrap;justify-content:space-between;display:flex}.nav-brand{letter-spacing:-.02em;font-weight:800}.nav-brand span{color:var(--accent)}.step{color:var(--muted);font-size:.75rem}.page{gap:var(--step-6);max-width:47.5rem;padding:var(--step-6) var(--step-4) var(--step-8);flex-direction:column;margin:0 auto;display:flex}.lede{color:var(--muted);max-width:52ch;font-size:.875rem}.muted{color:var(--muted);font-size:.8125rem}.rule{background:var(--divider);border:0;height:1px;margin:0}.cards{gap:var(--step-3);grid-template-columns:1fr;display:grid}@media (min-width:46rem){.cards{grid-template-columns:repeat(3,1fr)}}.card{background:var(--surface);border:1px solid var(--divider);color:inherit;gap:var(--step-2);padding:var(--step-4);text-align:left;flex-direction:column;text-decoration:none;transition:border-color .12s,box-shadow .12s;display:flex}.card:hover,.card:focus-visible{border-color:var(--accent);color:inherit;box-shadow:0 3px 10px #2d2b2b29}.card-kicker{color:var(--muted);letter-spacing:.1em;font-size:.6875rem}.card-title{font-weight:800}.card-body{color:var(--muted);font-size:.8125rem}.form{gap:var(--step-4);flex-direction:column;display:flex}.pair{gap:var(--step-4);grid-template-columns:1fr;display:grid}@media (min-width:34rem){.pair{grid-template-columns:1fr 1fr}.pair-amount{grid-template-columns:2fr 1fr}}.field{gap:var(--step-1);flex-direction:column;display:flex}.field>label,.field>.label{font-size:.8125rem;font-weight:600}.required{color:var(--accent)}.hint{color:var(--muted);font-size:.75rem}.input{border:1px solid var(--divider);color:inherit;font:inherit;background:#fff;width:100%;padding:.625rem .75rem;font-size:1rem}.input:focus-visible{border-color:var(--text);outline:2px solid var(--accent);outline-offset:-2px}textarea.input{resize:vertical;min-height:4.5rem}.input[aria-invalid=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.fieldset{gap:var(--step-4);border:0;flex-direction:column;min-inline-size:0;margin:0;padding:0;display:flex}.input:disabled{background:var(--surface);color:color-mix(in srgb, var(--text) 72%, transparent);cursor:not-allowed;opacity:1;border-style:dashed}.choices:has(input:disabled)>label{background:var(--surface);color:color-mix(in srgb, var(--text) 72%, transparent);cursor:not-allowed;opacity:1;border-style:dashed}.btn-quiet:disabled{color:var(--muted);cursor:not-allowed;text-decoration-style:dashed}.problem{color:var(--accent-ink);font-size:.75rem;font-weight:600}.choices{flex-direction:column;display:flex}.choices>label{border:1px solid var(--divider);cursor:pointer;align-items:center;gap:var(--step-2);background:#fff;padding:.5rem .75rem;font-size:.875rem;display:flex}.choices>label+label{border-top:0}.choices[aria-invalid=true]>label{border-color:var(--accent)}.suggested{background:var(--bg);border:1px solid var(--divider);color:var(--muted);letter-spacing:.06em;margin-left:var(--step-1);text-transform:uppercase;vertical-align:1px;padding:0 .25rem;font-size:.625rem;font-weight:600}.btn{background:var(--bg);border:1px solid var(--text);color:inherit;cursor:pointer;font:inherit;padding:.625rem 1.125rem;font-size:.875rem;font-weight:600;text-decoration:none}.btn:hover{background:var(--surface);color:inherit}.btn-primary{background:var(--text);border-color:var(--text);color:var(--bg)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn-quiet{color:var(--accent-ink);background:0 0;border:0;padding:0;font-size:.75rem;text-decoration:underline}.btn[disabled]{cursor:progress;opacity:.6}.actions{align-items:center;gap:var(--step-3);flex-wrap:wrap;display:flex}.notice{background:var(--surface);border:1px solid var(--divider);gap:var(--step-1);padding:var(--step-3) var(--step-4);flex-direction:column;display:flex}.notice-loud{background:var(--accent-wash);border-color:var(--accent);color:var(--accent-ink)}.notice-title{font-weight:800}.notice ul{margin:var(--step-1) 0 0;padding-left:1.125rem;font-size:.8125rem}.dropzone{background:var(--surface);border:2px dashed var(--divider);align-items:flex-start;gap:var(--step-2);padding:var(--step-8) var(--step-4);flex-direction:column;display:flex}.dropzone-title{font-size:1.125rem;font-weight:800}.filelist{background:var(--surface);border:1px solid var(--divider);gap:var(--step-1);padding:var(--step-3) var(--step-4);flex-direction:column;display:flex}.filerow{align-items:baseline;gap:var(--step-2) var(--step-3);flex-wrap:wrap;font-size:.875rem;display:flex}.filerow-name{overflow-wrap:anywhere;flex:100%}@media (min-width:30rem){.filerow-name{flex:10rem}}.filerow .tag{margin-left:auto}.filerow-size{color:var(--muted);text-align:right;width:3.25rem;font-size:.8125rem}.tag{background:var(--bg);border:1px solid var(--divider);white-space:nowrap;padding:0 .25rem;font-size:.6875rem;font-weight:600}.tag-loud{background:var(--accent);border-color:var(--accent);color:#fff}.reading{background:var(--divider);height:3px;overflow:hidden}.reading>span{background:var(--accent);height:100%;animation:1.4s ease-in-out infinite sweep;display:block}@keyframes sweep{0%{transform-origin:0;transform:scaleX(0)}50%{transform-origin:0;transform:scaleX(1)}51%{transform-origin:100%;transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.reading>span{animation:none;transform:scaleX(1)}}.summary{border-collapse:collapse;width:100%}.summary th,.summary td{border-bottom:1px solid var(--divider);padding:var(--step-2) 0;text-align:left;vertical-align:top;font-size:.875rem}.summary th{color:var(--muted);width:42%;font-weight:400}.summary td{overflow-wrap:anywhere}dl.facts{gap:var(--step-1) var(--step-6);grid-template-columns:max-content 1fr;margin:0;display:grid}dl.facts dt{color:var(--muted)}dl.facts dd{overflow-wrap:anywhere;margin:0}.footnote{color:var(--muted);font-size:.875rem}:root{--color-bg:var(--bg);--color-surface:var(--surface);--color-text:var(--text);--color-divider:var(--divider);--color-accent:var(--accent);--color-accent-100:var(--accent-wash);--color-accent-700:var(--accent-ink);--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:var(--muted);--color-neutral-800:#444141;--color-accent-200:#ffe0d9;--color-accent-400:#ff9783;--color-accent-600:#dd2b0f;--space-1:var(--step-1);--space-2:var(--step-2);--space-3:var(--step-3);--space-4:var(--step-4);--space-6:var(--step-6);--space-8:var(--step-8);--font-body:ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading:var(--font-body);--font-mono:ui-monospace, Menlo, monospace;--shadow-sm:0 1px 2px #2d2b2b24;--shadow-md:0 3px 10px #2d2b2b29}html,body{height:100%}h4{color:var(--muted);letter-spacing:.08em;margin:0 0 var(--step-2);text-transform:uppercase;font-size:.75rem;font-weight:800}.missing{color:var(--color-neutral-500);font-style:italic}.tabular{font-variant-numeric:tabular-nums}.hr{background:var(--divider);height:2px;margin:var(--step-6) 0 var(--step-4);border:0}.panel{background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);padding:var(--step-4)}.panel-accent{background:var(--accent-wash);border:2px solid var(--accent)}.btn-secondary{border-color:var(--divider)}.tag-outline{border-color:var(--color-neutral-400);color:var(--color-neutral-800)}.tag-neutral{background:var(--color-neutral-200);border-color:var(--color-neutral-200);color:var(--color-neutral-800)}.tag-accent{background:var(--accent-wash);border-color:var(--color-accent-400);color:var(--accent-ink)}
