:root{--font-mono: "SF Mono", "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 14px;--transition-fast: .12s ease;--transition-normal: .2s ease;--header-h: 62px}.theme-dark{--color-bg-base: #060a12;--color-bg-panel: #0b1022;--color-bg-node: #0c1224;--color-bg-card: #0e1529;--color-bg-interactive: #111827;--color-bg-elevated: #131b33;--color-bg-disabled: #0b101f;--color-bg-overlay: #0b1022ee;--color-bg-hover: #1a234044;--color-border-primary: #1a2340;--color-border-secondary: #334155;--color-border-subtle: #131b33;--color-text-bright: #e2e8f0;--color-text-primary: #94a3b8;--color-text-secondary: #64748b;--color-text-dim: #475569;--color-text-muted: #334155;--color-accent: #6366f1;--color-accent-hover: #818cf8;--color-danger: #ef4444;--color-danger-bg: #ef444414;--color-warning: #f59e0b;--color-warning-bg: #f59e0b14;--color-success: #22c55e;--color-success-bg: #22c55e18;--shadow-panel: 0 4px 20px rgba(0, 0, 0, .3);--shadow-float: 0 12px 40px rgba(0, 0, 0, .5);--color-scrollbar-thumb: #1a2340;--color-scrollbar-track: transparent}.theme-light{--color-bg-base: #f1f5f9;--color-bg-panel: #ffffff;--color-bg-node: #ffffff;--color-bg-card: #f8fafc;--color-bg-interactive: #f1f5f9;--color-bg-elevated: #e2e8f0;--color-bg-disabled: #f1f5f9;--color-bg-overlay: #ffffffee;--color-bg-hover: #e2e8f044;--color-border-primary: #cbd5e1;--color-border-secondary: #94a3b8;--color-border-subtle: #e2e8f0;--color-text-bright: #0f172a;--color-text-primary: #334155;--color-text-secondary: #475569;--color-text-dim: #64748b;--color-text-muted: #94a3b8;--color-accent: #4f46e5;--color-accent-hover: #6366f1;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-success: #16a34a;--color-success-bg: #f0fdf4;--shadow-panel: 0 1px 3px rgba(0, 0, 0, .1);--shadow-float: 0 8px 30px rgba(0, 0, 0, .12);--color-scrollbar-thumb: #cbd5e1;--color-scrollbar-track: transparent}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%}body{font-family:var(--font-mono);font-size:13px;-webkit-font-smoothing:antialiased;background:var(--color-bg-base);color:var(--color-text-bright);transition:background var(--transition-normal),color var(--transition-normal)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}.page{padding:var(--space-6);max-width:1600px;margin:0 auto}.page-title{font-size:18px;font-weight:700;color:var(--color-text-bright);margin-bottom:var(--space-4)}.panel{background:var(--color-bg-panel);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim)}.muted{color:var(--color-text-secondary)}.hint{font-size:11.5px;color:var(--color-text-dim)}.mono{font-family:var(--font-mono)}.banner{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid;font-size:12.5px;margin-bottom:var(--space-3)}.banner-error{color:var(--color-danger);background:var(--color-danger-bg);border-color:var(--color-danger)}.banner-warn{color:var(--color-warning);background:var(--color-warning-bg);border-color:var(--color-warning)}.input{background:var(--color-bg-interactive);color:var(--color-text-bright);border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);padding:6px 10px;font-family:inherit;font-size:12.5px;min-width:0}.input:focus{outline:none;border-color:var(--color-accent)}.input::placeholder{color:var(--color-text-dim)}select.input{cursor:pointer}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>label,.field>.label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-dim)}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-bg-interactive);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);font-family:inherit;font-size:12.5px;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn:hover:not(:disabled){background:var(--color-bg-elevated);color:var(--color-text-bright)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:3px 8px;font-size:11.5px}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff}.btn-success{color:var(--color-success);border-color:var(--color-success);background:transparent}.btn-success:hover:not(:disabled){background:var(--color-success-bg);color:var(--color-success)}.btn-danger{color:var(--color-danger);border-color:var(--color-danger);background:transparent}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}.btn-warn{color:var(--color-warning);border-color:var(--color-warning);background:transparent}.btn-warn:hover:not(:disabled){background:var(--color-warning-bg);color:var(--color-warning)}.btn-ghost{border-color:transparent;background:transparent}.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--color-bg-elevated);color:var(--color-text-primary);white-space:nowrap}.pill-success{background:var(--color-success-bg);color:var(--color-success)}.pill-warn{background:var(--color-warning-bg);color:var(--color-warning)}.pill-danger{background:var(--color-danger-bg);color:var(--color-danger)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{position:sticky;top:0;z-index:1;text-align:left;padding:7px 10px;background:var(--color-bg-card);border-bottom:1px solid var(--color-border-primary);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-dim);white-space:nowrap}.data-table td{padding:6px 10px;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-primary);vertical-align:top}.data-table tbody tr:hover{background:var(--color-bg-hover)}.data-table .empty-row td{padding:var(--space-6);text-align:center;color:var(--color-text-secondary)}
