:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f6f4;--fg:#1d1d1b;--muted:#5d5d58;--panel:#fff;--border:#d9d9d4;--accent:#1e6fd9;--accent-fg:#fff;--warn-bg:#fff4e0;--warn-border:#d9822b;--error:#b42318;--radius:10px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#161615;--fg:#ececea;--muted:#a5a5a0;--panel:#20201f;--border:#3a3a37;--accent:#5b9dff;--accent-fg:#0b0b0b;--warn-bg:#3a2a12;--warn-border:#d9822b;--error:#ff8a80}}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);max-width:72rem;color:var(--fg);margin:0 auto;padding:0 1rem}h1{margin:0;font-size:1.35rem}h2{margin:0 0 .75rem;font-size:1.05rem}h3{margin:1rem 0 .25rem;font-size:.95rem}button,select,input{font:inherit}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding:1rem 0;display:flex}.tagline{color:var(--muted);max-width:40rem;margin:.2rem 0 0;font-size:.9rem}.tools{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.printer-slot{display:inline-flex}.lang{border:1px solid var(--border);border-radius:999px;display:inline-flex;overflow:hidden}.lang button{color:var(--fg);cursor:pointer;background:0 0;border:0;padding:.3rem .75rem}.lang button[aria-pressed=true]{background:var(--accent);color:var(--accent-fg)}.lang button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.banners{gap:.5rem;margin-bottom:1rem;display:grid}.printer-banner{margin-bottom:1rem}.link-button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dismiss{color:var(--muted)}.banner{border:1px solid var(--warn-border);background:var(--warn-bg);border-radius:var(--radius);margin:0;padding:.65rem 1rem}code{overflow-wrap:anywhere;font:.85em ui-monospace,Cascadia Mono,monospace}.layout{grid-template:"templates preview""data preview"1fr/minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.templates-panel{grid-area:templates}.data{grid-area:data}.preview{grid-area:preview;max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow:auto}.print-bar{background:var(--panel);border-top:1px solid var(--border);margin:1rem -1rem -1rem;padding:.75rem 1rem 1rem;position:sticky;bottom:0}.print-bar .button{width:100%;padding:.55rem 1rem;font-weight:600}.print-bar .hint{margin:.4rem 0 0}@media (width<=52rem){.layout{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"preview""templates""data"}.preview{max-height:none;position:static;overflow:visible}.print-bar{z-index:20;margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000001f}body{padding-bottom:6rem}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:1rem}.templates{border:0;margin:0;padding:0}#template-list{gap:.5rem;display:grid}.template-option{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:.6rem;padding:.6rem .75rem;display:flex}.template-option:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.template-option input{margin-top:.25rem}.template-option small{color:var(--muted);display:block}.field{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.field select{max-width:100%;padding:.3rem .5rem}.hint{color:var(--muted);margin:.5rem 0;font-size:.85rem}.stage{border:1px solid var(--border);background:#fff;width:100%;position:relative}.stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}#image{image-rendering:pixelated}.legend{flex-wrap:wrap;gap:.25rem 1rem;padding:0;list-style:none;display:flex}.swatch{vertical-align:-.15rem;border:1px solid var(--border);width:.9rem;height:.9rem;margin-right:.35rem;display:inline-block}.swatch.head{background:#e5393566}.swatch.shape{background:#77777778}.swatch.safe{border:2px dashed #1e88e5}.warnings{margin:0;padding-left:1.2rem}.footer{color:var(--muted);margin:2rem 0 1.5rem;font-size:.85rem}.footer p{margin:.25rem 0}.footer a{color:inherit}.panel-dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);width:min(40rem,100vw - 2rem);max-height:calc(100vh - 2rem);color:var(--fg);padding:0}.panel-dialog::backdrop{background:#00000073}.panel-head{background:var(--panel);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.panel-head h2{margin:0}.panel-body{padding:.25rem 1rem 1rem}.help-section h3{margin-top:1.1rem}.help-section h3:focus-visible,.help-section h3:focus{outline:2px solid var(--accent);outline-offset:2px}.help-section p{margin:.4rem 0}.setting{gap:.2rem;margin-bottom:.75rem;display:grid}.setting label{font-size:.9rem;font-weight:600}.setting input{width:8rem;padding:.3rem .5rem}.setting input[aria-invalid=true]{border-color:var(--error);outline-color:var(--error)}.setting .hint{margin:0}.field-error{color:var(--error);margin:0;font-size:.85rem}.button{border:1px solid var(--border);background:var(--panel);color:var(--fg);cursor:pointer;border-radius:8px;padding:.4rem .85rem}.button:hover{border-color:var(--accent)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.button.small{padding:.2rem .6rem;font-size:.9rem}.button:disabled{opacity:.6;cursor:default}.button:focus-visible,.data input:focus-visible,.data select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sources{flex-wrap:wrap;gap:.5rem;display:flex}.api-form{gap:.3rem;max-width:40rem;margin-top:.75rem;display:grid}.api-form input{width:100%;padding:.35rem .5rem}.api-form .hint{margin:0 0 .4rem}.status{min-height:1.45em;margin:.75rem 0}.status.error{border:1px solid var(--warn-border);background:var(--warn-bg);border-radius:var(--radius);padding:.65rem 1rem}.status.loading:before{content:"";vertical-align:-.1em;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:.9em;height:.9em;margin-right:.5rem;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.status.loading:before{animation-duration:3s}}.source-bar{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.source-bar .hint{overflow-wrap:anywhere;margin:0}.mapping{border:1px solid var(--border);border-radius:8px;margin:.75rem 0;padding:.5rem .75rem .75rem}.mapping legend{padding:0 .25rem;font-size:.9rem;font-weight:600}.mapping-fields{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.5rem 1rem;display:grid}.pick{gap:.15rem;display:grid}.pick label{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}.pick select{width:100%;padding:.3rem .4rem}.data .field input[type=search]{flex:14rem;max-width:28rem;padding:.35rem .5rem}.selection-bar{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;margin-bottom:.5rem;display:flex}.select-all{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.count{color:var(--muted)}.table-wrap{border:1px solid var(--border);border-radius:8px;max-height:28rem;overflow:auto}.rows{border-collapse:collapse;width:100%;font-size:.9rem}.rows th,.rows td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere;padding:.35rem .6rem}.rows thead th{background:var(--panel);z-index:1;position:sticky;top:0}.rows .check{width:2rem}.rows tbody tr{cursor:pointer}.rows tbody tr:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.rows tbody tr[aria-current=true]{background:color-mix(in srgb, var(--accent) 18%, transparent)}.rows tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rows td.empty{color:var(--muted);cursor:default}.more{margin:.5rem 0 .25rem}@media (width<=40rem){.rows thead{display:none}.rows,.rows tbody,.rows tr,.rows td{width:100%;display:block}.rows tbody tr{border-bottom:1px solid var(--border);padding:.5rem .5rem .5rem 2.5rem;position:relative}.rows td{border:0;padding:.1rem 0}.rows td.check{width:auto;padding:0;position:absolute;top:.55rem;left:.6rem}.rows td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.75rem;display:block}.rows td.empty{padding:.5rem}}
