:root{--brand:#4f46e5;--brand-600:#4338ca;--brand-700:#3730a3;--brand-soft:#eef2ff;--brand-contrast:#fff;--accent:#7c3aed;--grad:linear-gradient(135deg, #6366f1 0%, #7c3aed 55%, #a855f7 100%);--grad-soft:linear-gradient(135deg, #eef2ff 0%, #f5f3ff 100%);--bg:#f6f7fb;--surface:#fff;--surface-2:#f3f5f9;--surface-3:#e9edf4;--surface-hover:#f7f8fc;--border:#e5e8f0;--border-strong:#cdd4e3;--text:#0f172a;--text-muted:#586173;--text-subtle:#94a0b3;--success:#16a34a;--success-bg:#ecfdf3;--success-text:#067647;--warning:#d97706;--warning-bg:#fffaeb;--danger:#dc2626;--danger-bg:#fef3f2;--danger-text:#b42318;--radius:12px;--radius-sm:8px;--radius-lg:18px;--radius-pill:999px;--shadow-1:0 1px 2px #1018280d, 0 1px 3px #10182814;--shadow-2:0 4px 10px -2px #10182814, 0 2px 6px -2px #1018280d;--shadow-3:0 18px 40px -12px #10182838, 0 6px 14px -8px #1018281f;--shadow-brand:0 8px 24px -6px #4f46e559;--ring:0 0 0 4px #4f46e529;--grid-dot:#dbe1ee;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--brand:#818cf8;--brand-600:#6366f1;--brand-700:#a5b4fc;--brand-soft:#1e2236;--brand-contrast:#0b1020;--accent:#c4b5fd;--grad:linear-gradient(135deg, #6366f1 0%, #8b5cf6 55%, #a855f7 100%);--grad-soft:linear-gradient(135deg, #1a1f33 0%, #201a36 100%);--bg:#0b0e16;--surface:#141926;--surface-2:#1a2030;--surface-3:#232b3d;--surface-hover:#1e2638;--border:#28303f;--border-strong:#3a4458;--text:#e8ecf4;--text-muted:#9aa6ba;--text-subtle:#69748a;--success:#34d399;--success-bg:#0f2a1d;--success-text:#6ee7b7;--warning:#fbbf24;--warning-bg:#2a2008;--danger:#f87171;--danger-bg:#2a1514;--danger-text:#fca5a5;--shadow-1:0 1px 2px #0006;--shadow-2:0 6px 16px #00000073;--shadow-3:0 20px 48px #0009;--shadow-brand:0 8px 24px -6px #6366f173;--ring:0 0 0 4px #818cf838;--grid-dot:#1e2738;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);font-feature-settings:"cv02", "cv03", "cv04", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}#root{width:100%;min-height:100vh}h1,h2,h3,h4{color:var(--text);letter-spacing:-.014em;margin:0 0 8px;font-weight:700}button{font:inherit;cursor:pointer;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 11px}button:disabled{color:var(--text-subtle);cursor:not-allowed;opacity:.55}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;transition:border-color .14s,box-shadow .14s}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:focus,select:focus,textarea:focus,button:focus-visible{border-color:var(--brand);box-shadow:var(--ring);outline:none}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:content-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle);background-clip:content-box}::-webkit-scrollbar-track{background:0 0}.ui-btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:550;line-height:1;transition:background .14s,border-color .14s,box-shadow .14s,transform 60ms,color .14s;display:inline-flex}.ui-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);box-shadow:var(--shadow-1)}.ui-btn:active:not(:disabled){transform:translateY(.5px)}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn.primary{background-image:var(--grad);background-color:var(--brand);color:#fff;box-shadow:var(--shadow-brand);border-color:#0000;font-weight:600}.ui-btn.primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:var(--shadow-brand)}.ui-btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.ui-btn.ghost:hover:not(:disabled){background:var(--surface-2);box-shadow:none}.ui-btn.danger{color:var(--danger)}.ui-btn.danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger)}.ui-btn.icon{width:36px;height:36px;padding:0}.ui-btn.sm{border-radius:7px;height:28px;padding:0 10px;font-size:12px}.ui-btn.icon.sm{width:28px;padding:0}.ui-badge{letter-spacing:.01em;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;line-height:1.3;display:inline-flex}.ui-badge.success{background:var(--success-bg);color:var(--success-text);border-color:#0000}.ui-badge.danger{background:var(--danger-bg);color:var(--danger-text);border-color:#0000}.ui-badge.warn{background:var(--warning-bg,#fef3c7);color:var(--warning-text,#92400e);border-color:#0000}.ui-tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:12px;display:flex}.ui-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:8px 12px}.ui-tab:hover{color:var(--text)}.ui-tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.ui-kbd{font-family:var(--font-mono);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11px}.ui-overlay{z-index:1000;background:#080c1473;justify-content:center;align-items:flex-start;padding:7vh 16px 16px;display:flex;position:fixed;inset:0}.ui-modal{width:560px;max-width:92vw;max-height:86vh}.ui-modal.ui-modal-wide{width:880px}.ui-modal.ui-modal-sm{width:440px}.ui-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);flex-direction:column;display:flex;overflow:hidden}.ui-cmd-input{border:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;width:100%;padding:14px 16px;font-size:15px}.ui-cmd-input:focus{outline:none}.ui-cmd-list{max-height:320px;padding:6px;overflow:auto}.ui-cmd-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;padding:9px 12px;display:flex}.ui-cmd-item.active,.ui-cmd-item:hover{background:var(--surface-2)}.ui-cmd-group{text-transform:uppercase;letter-spacing:.5px;color:var(--text-subtle);padding:8px 12px 2px;font-size:11px}.ui-toasts{z-index:1100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.ui-toast{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--radius);min-width:240px;max-width:380px;box-shadow:var(--shadow-2);align-items:flex-start;gap:8px;padding:10px 10px 10px 12px;font-size:13px;display:flex}.ui-toast.success{border-left-color:var(--success)}.ui-toast.error{border-left-color:var(--danger)}.ui-toast-msg{overflow-wrap:anywhere;word-break:break-word;flex:1;min-width:0;line-height:1.4}.ui-toast-x{cursor:pointer;background:color-mix(in srgb, var(--text) 8%, transparent);width:22px;height:22px;color:var(--text-subtle);border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:-2px -2px 0 0;font-size:12px;line-height:1;display:inline-flex}.ui-toast-x:hover{background:color-mix(in srgb, var(--text) 16%, transparent);color:var(--text)}.ui-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1)}.ui-toggle{border:1px solid var(--border-strong);background:var(--surface-3);border-radius:999px;flex:none;width:38px;height:22px;padding:0;transition:background .15s,border-color .15s;position:relative}.ui-toggle .knob{background:var(--surface);width:16px;height:16px;box-shadow:var(--shadow-1);border-radius:50%;transition:transform .15s;position:absolute;top:2px;left:2px}.ui-toggle.on{background:var(--brand);border-color:var(--brand)}.ui-toggle.on .knob{transform:translate(16px)}.cfg-row{justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.cfg-label{font-size:13px}.cfg-chip{background:var(--surface-3);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.cfg-section{text-transform:uppercase;letter-spacing:.5px;color:var(--text-subtle);margin:10px 0 4px;font-size:11px}.jb{flex-direction:column;gap:6px;min-width:440px;display:flex}.jb-head{justify-content:space-between;align-items:center;display:flex}.jb-row{flex-direction:column;gap:4px;font-size:13px;display:flex}.jb-section{text-transform:uppercase;letter-spacing:.5px;color:var(--text-subtle);margin:8px 0 2px;font-size:11px}.jb-filter{align-items:center;gap:6px;padding:4px 0;display:flex}.jb-expr{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--brand);word-break:break-all;padding:8px 10px;font-family:ui-monospace,monospace;font-size:12px;display:block}.jb-preview{background:var(--surface-3);border-radius:var(--radius-sm);min-height:20px;padding:8px 10px;font-size:13px}.jb-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.rt-cfg{flex-direction:column;gap:12px;display:flex}.ui-btn.xs{border-radius:6px;height:22px;padding:0 7px;font-size:11px}.rt-modes{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.rt-mode{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:9px;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 9px;display:flex}.rt-mode:hover{border-color:var(--border-strong)}.rt-mode.on{border-color:var(--brand);background:var(--brand-soft)}.rt-mode .t{font-size:12.5px;font-weight:650}.rt-mode .h{color:var(--text-subtle);font-size:10px}.rt-field{flex-direction:column;gap:5px;display:flex}.rt-label{color:var(--text-muted);font-size:12px;font-weight:600}.rt-input,.rt-key,.rt-desc,.rt-rules,.rt-num{width:100%;font:inherit;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 9px}.rt-input:focus,.rt-key:focus,.rt-desc:focus,.rt-rules:focus,.rt-num:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 15%, transparent);outline:none}.rt-routes-head{justify-content:space-between;align-items:center;display:flex}.rt-empty{color:var(--text-subtle);text-align:center;border:1px dashed var(--border);border-radius:8px;padding:10px;font-size:12.5px}.rt-routes{flex-direction:column;gap:8px;display:flex}.rt-route{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;padding:9px;display:flex}.rt-route-top{align-items:center;gap:6px;display:flex}.rt-key{font-family:var(--mono,monospace);flex:1;font-weight:600}.rt-default-tag{color:var(--success);background:color-mix(in srgb, var(--success) 14%, transparent);border-radius:var(--radius-pill);padding:2px 8px;font-size:10.5px;font-weight:700}.rt-inline{align-items:center;gap:10px;display:flex}.rt-inline .rt-num{width:90px}.rt-toggle{color:var(--text-muted);font-size:12.5px}.rt-note{color:var(--text-subtle);font-size:11.5px}.rt-note code{font-family:var(--mono,monospace);background:var(--surface-2);border-radius:5px;padding:1px 5px}.pl-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--brand);background:var(--brand-soft);border-radius:var(--radius-pill);padding:1px 7px;font-size:10px;font-weight:700}.pl-target{color:var(--text-muted);font-size:11.5px}.pl-target code{font-family:var(--mono,monospace)}.pl-add{border:1px dashed var(--border-strong);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;padding:9px;display:flex}.pl-add-row{align-items:center;gap:6px;display:flex}.pl-add-row .rt-input{flex:1;min-width:0}
