:root{--text:#1c1c1f;--bg:#fff;--border:#d8d8dc;--panel-bg:#f7f7f9;--accent:#7b3bff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:16px/1.4 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#e7e7ea;--bg:#16171d;--border:#33343c;--panel-bg:#1f2028;--accent:#a67bff}}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0}#root{flex-direction:column;min-height:100svh;display:flex}button{font:inherit;cursor:pointer}.editor-body{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;display:flex}.pattern-grid{touch-action:none}@media screen{[data-role=column-number],[data-role=row-number],[data-role=page-header-title],[data-role=page-header-range],[data-role=legend-symbol],[data-role=legend-label]{fill:var(--text)}}.toolbar{flex-wrap:wrap;gap:.4rem;margin:.75rem 0;display:flex}.toolbar-option{border:2px solid var(--border);border-radius:6px;width:2rem;height:2rem;padding:0}.toolbar-option.selected{border-color:var(--accent)}.toolbar-eraser{background:var(--bg);font-size:.6rem}.palette-editor{flex:320px;min-width:280px}.palette-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.palette-row{border:1px solid var(--border);background:var(--panel-bg);border-radius:6px;padding:.5rem}.palette-row-fields{align-items:center;gap:.5rem;display:flex}.palette-row-fields input[type=text]{flex:auto;min-width:0}.palette-symbol{text-align:center;width:1.5em;font-size:1.2rem}.reorder-buttons{gap:.15rem;display:flex}.symbol-picker{flex-wrap:wrap;gap:.25rem;margin-top:.4rem;display:flex}.symbol-option{border:1px solid var(--border);background:var(--bg);border-radius:4px;width:1.8em;height:1.8em;padding:0}.symbol-option.selected{border-color:var(--accent);background:var(--accent);color:var(--bg)}.palette-delete-blocked{color:var(--text);margin:.4rem 0 0}.palette-add-form{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.export-presets{flex-wrap:wrap;gap:.4rem;margin:.5rem 0;display:flex}.export-preset.selected{border-color:var(--accent)}.export-preview{border:1px solid var(--border);max-height:480px;margin:.5rem 0;overflow:auto}.export-page-sheet{margin-bottom:1rem}.export-page-sheet svg{max-width:100%;height:auto;display:block}@media print{body *{visibility:hidden}.export-preview,.export-preview *{visibility:visible}.export-preview{border:none;max-height:none;margin:0;position:absolute;top:0;left:0;overflow:visible}.export-page-sheet{page-break-after:always}}
