:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #ffffff;--fg: #2c2c2c;--muted: #666666;--link: #4f46e5;--footer-fg: #555555;--panel-bg: #fafafa;--panel-border: #e0e0e0;--soft-bg: #fbfbff;--card-bg: #ffffff;--card-border: #e2e8f0;--pre-bg: #f7f9ff;--chip-bg: #eff6ff;--chip-bg-hover: #dbeafe;--chip-selected-bg: #2563eb;--chip-selected-fg: #ffffff;--chip-multi-left-bg: #dbeafe;--chip-multi-right-bg: #ecfeff;--chip-multi-left-bg-hover: #bfdbfe;--chip-multi-right-bg-hover: #cffafe;--chip-multi-left-bg-selected: #2563eb;--chip-multi-right-bg-selected: #06b6d4;--input-border: #bcbcbc;--secondary-bg: #f5f5f5;--secondary-bg-hover: #ececec;--secondary-bg-active: #dedede;--primary-border: #b5b5b5;--primary-grad-start: #fdfdfd;--primary-grad-end: #d7d7d7;--alert-info-bg: #E5F6FD;--alert-info-border: #81D4FA;--alert-info-fg: #01579B;--alert-warn-bg: #FFF8E1;--alert-warn-border: #FFB74D;--alert-warn-fg: #F57C00;--alert-error-bg: #FFEBEE;--alert-error-border: #EF9A9A;--alert-error-fg: #B71C1C}@media (prefers-color-scheme: dark){:root{--bg: #0f172a;--fg: #e5e7eb;--muted: #9ca3af;--link: #818cf8;--footer-fg: #9ca3af;--panel-bg: #111827;--panel-border: #374151;--soft-bg: #0b1220;--card-bg: #111827;--card-border: #374151;--pre-bg: #0b1220;--chip-bg: #1e40af;--chip-bg-hover: #1d4ed8;--chip-selected-bg: #3b82f6;--chip-selected-fg: #ffffff;--chip-multi-left-bg: #1e40af;--chip-multi-right-bg: #155e75;--chip-multi-left-bg-hover: #1d4ed8;--chip-multi-right-bg-hover: #0e7490;--chip-multi-left-bg-selected: #3b82f6;--chip-multi-right-bg-selected: #06b6d4;--input-border: #4b5563;--secondary-bg: #1f2937;--secondary-bg-hover: #334155;--secondary-bg-active: #475569;--primary-border: #4b5563;--primary-grad-start: #374151;--primary-grad-end: #1f2937;--alert-info-bg: #0b3b4a;--alert-info-border: #0ea5b7;--alert-info-fg: #7dd3fc;--alert-warn-bg: #3a2a03;--alert-warn-border: #d97706;--alert-warn-fg: #fde68a;--alert-error-bg: #3f1d2e;--alert-error-border: #f87171;--alert-error-fg: #fecaca}}#root{max-width:960px;margin:0 auto;padding:3rem 4rem;font-family:Helvetica Neue,Arial,sans-serif;color:var(--fg);background-color:var(--bg)}.app{display:flex;flex-direction:column;gap:1.25rem}.app-footer{margin-top:2rem;font-size:.85rem;color:var(--footer-fg);text-align:center}.app-footer a{color:var(--link);text-decoration:none}.app-footer a:hover{text-decoration:underline}header h1{margin:0;font-size:1.9rem;font-weight:700}.template-form{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}.input-group{display:flex;align-items:center;gap:.45rem;font-size:1rem;width:100%}.input-group span{min-width:150px}.input-group input{width:100%;padding:.45rem .5rem;font-size:1rem;border:1px solid var(--input-border);border-radius:4px}.labels-panel{flex:1;width:100%}.empty-row{margin:0;color:var(--muted);font-style:italic}.secondary-action{padding:.35rem .9rem;border-radius:4px;border:1px solid var(--input-border);background:var(--secondary-bg);color:var(--fg);cursor:pointer;font-size:.9rem}.secondary-action.icon-only{padding:.35rem .7rem;font-size:1.1rem;line-height:1}.secondary-action:hover{background:var(--secondary-bg-hover)}.secondary-action:active{background:var(--secondary-bg-active)}.primary-action[disabled],.secondary-action[disabled]{opacity:.55;cursor:not-allowed;filter:grayscale(40%)}.primary-action[disabled]:hover,.primary-action[disabled]:active{background:linear-gradient(180deg,var(--primary-grad-start),var(--primary-grad-end))}.secondary-action[disabled]:hover,.secondary-action[disabled]:active{background:var(--secondary-bg)}.load-template{align-self:flex-start}.alert{margin-top:.75rem;font-size:.95rem;padding:.6rem .8rem;font-weight:600;width:100%;display:block;border-radius:0;align-self:stretch}.alert--info{background:var(--alert-info-bg);border:1px solid var(--alert-info-border);color:var(--alert-info-fg)}.alert--warning{background:var(--alert-warn-bg);border:1px solid var(--alert-warn-border);color:var(--alert-warn-fg)}.alert--error{background:var(--alert-error-bg);border:1px solid var(--alert-error-border);color:var(--alert-error-fg)}.template-load-status{margin-top:.25rem;font-size:.9rem;font-weight:600;width:100%;display:block}.config-loader{display:flex;gap:.5rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.load-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.available-labels{margin-top:1rem;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:6px;padding:.75rem 1rem;width:100%}.available-labels h3{margin:0 0 .5rem;font-size:.95rem;font-weight:600}.available-labels ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem .75rem}.available-labels li{background:var(--chip-bg);border-radius:999px;padding:.25rem .7rem;font-size:.9rem;cursor:pointer;transition:background .2s ease,color .2s ease}.label-chip.selected{background:var(--chip-selected-bg);color:var(--chip-selected-fg)}.available-labels li:hover{background:var(--chip-bg-hover)}.label-chip.multi{display:grid;grid-template-columns:1fr 1fr;padding:0;overflow:hidden;background:none}.label-chip.multi .chip-seg{padding:.25rem .5rem}.label-chip.multi .chip-seg--name{background:var(--chip-multi-left-bg)}.label-chip.multi .chip-seg--value{background:var(--chip-multi-right-bg)}.label-chip.multi:hover .chip-seg--name{background:var(--chip-multi-left-bg-hover)}.label-chip.multi:hover .chip-seg--value{background:var(--chip-multi-right-bg-hover)}.label-chip.multi.selected{color:var(--chip-selected-fg)}.label-chip.multi.selected .chip-seg--name{background:var(--chip-multi-left-bg-selected)}.label-chip.multi.selected .chip-seg--value{background:var(--chip-multi-right-bg-selected)}.available-labels .empty-label{color:var(--muted);font-style:italic;list-style:none}.drop-rules-panel{width:100%;border:1px solid var(--panel-border);border-radius:8px;padding:.75rem 1rem;background:var(--panel-bg);display:flex;flex-direction:column;gap:.75rem}.drop-header{display:flex;align-items:center;justify-content:space-between}.drop-header h3{margin:0;font-size:1rem}.drop-rules-table{width:100%;border-collapse:collapse}.drop-rules-table th,.drop-rules-table td{border-top:1px solid var(--panel-border);padding:.5rem;text-align:left}.drop-rules-table th{font-weight:600;color:var(--fg)}.preview-panel{width:100%;border:1px solid var(--panel-border);border-radius:8px;padding:1rem;background:var(--soft-bg);display:flex;flex-direction:column;gap:.75rem}.preview-header{display:flex;gap:.5rem}.disabled-hint{align-self:center;color:var(--muted);font-size:.9rem}.preview-body{display:flex;flex-direction:column;gap:.75rem}.preview-view{border:1px solid var(--card-border);border-radius:6px;background:var(--card-bg);padding:.75rem}.preview-view h4{margin:0 0 .5rem;font-size:.95rem}.preview-file{font-weight:400;color:var(--muted)}.preview-view pre{margin:0;background:var(--pre-bg);border-radius:4px;padding:.75rem;overflow-x:auto;overflow-y:auto;max-height:30lh;white-space:pre-wrap}.preview-sections{display:grid;gap:.75rem}.preview-sections details{border:1px solid var(--card-border);border-radius:4px;background:var(--card-bg);padding:.5rem .75rem}.preview-sections summary{font-weight:600;cursor:pointer;outline:none}.primary-action{padding:.55rem 1.6rem;border-radius:4px;border:1px solid var(--primary-border);background:linear-gradient(180deg,var(--primary-grad-start),var(--primary-grad-end));color:var(--fg);cursor:pointer;font-size:.95rem;box-shadow:0 1px #fffc inset}.primary-action:hover{background:linear-gradient(180deg,var(--primary-grad-start),var(--secondary-bg-hover))}.primary-action:active{background:var(--secondary-bg-active)}
