@font-face{font-family:"Code Grotesk";src:url("/fonts/spacegrotesk.ttf") format("truetype");font-display:swap}
@font-face{font-family:"Code Text";src:url("/fonts/figtree.ttf") format("truetype");font-display:swap}
:root{--bg:#f5f6f2;--surface:#fff;--ink:#173246;--muted:#485d67;--line:#c4ced0;--accent:#a44322;--accent-ink:#fff;font-family:"Code Text",sans-serif;color:var(--ink);background:var(--bg)}
html[data-theme="dark"],:root[data-theme="dark"]{--bg:#10202b;--surface:#192f3d;--ink:#f0f5f4;--muted:#bed0d4;--line:#476371;--accent:#e58b65;--accent-ink:#10202b}
body{font-family:"Code Text",sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,.brand,.form-title{font-family:"Code Grotesk",sans-serif}h1{max-width:18ch;font-size:clamp(2rem,4.4vw,3.9rem);line-height:1.06;letter-spacing:-.03em}h2{font-size:1.6rem}.code-workbench{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.3fr);gap:0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin:2rem 0 3rem}
#code-form{padding:1.7rem 2rem 1.7rem 0;border-right:1px solid var(--line);min-width:0}.form-title{font-size:1.25rem;margin-bottom:1.4rem}label{display:block;font-weight:650;margin:.95rem 0 .35rem}input,select,textarea{width:100%;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:3px;padding:.75rem;background:var(--surface);color:var(--ink);font:inherit;font-size:1rem}textarea{resize:vertical;line-height:1.5}.choice{display:flex;align-items:center;gap:.6rem}.choice input{width:1.2rem;height:1.2rem}.field-help{color:var(--muted);font-size:.92rem;line-height:1.45}.output-personalization{margin:1.2rem 0;border-top:1px solid var(--line);padding-top:.85rem}summary{cursor:pointer;font-weight:600}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.2rem .8rem}.label-settings{border:0;padding:0;margin:1.3rem 0}.label-settings legend{font-weight:700}
button{font:inherit;font-weight:650;border-radius:3px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.75rem 1rem;cursor:pointer;min-height:44px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);margin:.3rem .4rem .3rem 0}button.quiet{background:transparent;border-color:transparent}button:hover:not(:disabled){filter:brightness(.93)}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.proof-pane{padding:1.7rem 0 1.7rem 2rem;min-width:0}.proof-toolbar{display:flex;justify-content:space-between;gap:.8rem;border-bottom:1px solid var(--line);padding-bottom:.7rem;font-weight:650}.paper-note{font-size:.85rem;color:var(--muted);font-weight:400}.code-preview{min-height:280px;padding:1.5rem 0;display:flex;flex-wrap:wrap;align-content:flex-start;gap:1rem}.code-result{background:white;padding:1rem;max-width:100%;flex:1 1 200px;border:1px solid #d1d8d6}.code-result svg{display:block;width:100%;height:220px;max-width:100%}.label-sheet{max-width:100%;width:100%;background:white;border:1px solid #d1d8d6}.label-sheet svg{display:block;width:100%;height:auto}.empty{align-self:center;color:var(--muted);max-width:30ch}.actions{display:flex;flex-wrap:wrap;gap:.5rem}#code-status{font-size:.9rem;color:var(--muted);min-height:2.5rem}#code-errors{white-space:pre-wrap;color:#a42d22;background:#fff1eb;padding:1rem;margin-top:1rem}html[data-theme="dark"] #code-errors{background:#4c261f;color:#ffe0d7}.reading{max-width:72ch;line-height:1.7;margin-bottom:3rem}.reading h2{margin-top:2rem}::selection{background:#efb194;color:#173246}#code-print-area{display:none}
@media(max-width:48em){.code-workbench{grid-template-columns:1fr}#code-form{padding:1.4rem 0;border-right:0;border-bottom:1px solid var(--line)}.proof-pane{padding:1.4rem 0}.code-preview{min-height:200px}.code-result svg{height:180px}}
@media print{@page{size:A4;margin:0}body:has(#code-print-area:not(:empty))>*{display:none!important}body:has(#code-print-area:not(:empty)) main,body:has(#code-print-area:not(:empty)) #code-print-area{display:block!important}body:has(#code-print-area:not(:empty)) main>*{display:none!important}body:has(#code-print-area:not(:empty)) #code-print-area{position:absolute;inset:0}.print-sheet{page-break-after:always;width:210mm;height:297mm}.print-sheet:last-child{page-break-after:auto}.print-sheet svg{width:210mm;height:297mm}}
