:root{--bg: #0a0f1e;--surface: rgba(10, 15, 30, .4);--surface-solid: #0f1525;--border: rgba(0, 212, 255, .2);--border-subtle: rgba(0, 212, 255, .1);--text: #e0e0e0;--muted: #888;--primary: #00D4FF;--primary-dark: #0099FF;--success: #4ade80;--warning: #ffc107;--danger: #FF6B6B;--accent: #9D4EDD}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%}#root{height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,sans-serif;font-size:14px;line-height:1.5;overflow-x:hidden}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 40%,#9d4edd1f,#00d4ff0a 30%,#000000b3);z-index:-1}.glass-panel{background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:12px}.app{max-width:1100px;margin:0 auto;padding:16px;min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;margin-bottom:12px}.header-left{display:flex;align-items:center;gap:12px}.header h1{font-size:20px;font-weight:600;color:#fff;letter-spacing:-.5px}.header h1 .accent{color:var(--primary)}.header-right{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid;border-radius:20px;padding:3px 10px}.pulse{width:6px;height:6px;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.mode-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);border:1px solid rgba(157,78,221,.4);border-radius:20px;padding:3px 10px}.connection-dot{width:8px;height:8px;border-radius:50%}.connection-dot.connected{background:var(--success);box-shadow:0 0 6px var(--success)}.connection-dot.disconnected{background:var(--danger)}.error-banner{background:#ff6b6b26;border:1px solid rgba(255,107,107,.4);border-radius:8px;padding:10px 16px;margin-bottom:12px;color:var(--danger);font-size:13px}.controls{padding:14px 20px;margin-bottom:12px}.controls-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.mode-selector{display:flex;gap:6px}.btn{font-family:inherit;font-size:13px;font-weight:500;border:1px solid var(--border);border-radius:8px;padding:8px 16px;cursor:pointer;transition:all .2s;background:var(--surface);color:var(--text)}.btn:hover{border-color:var(--primary);color:#fff}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:#00d4ff26;border-color:var(--primary);color:var(--primary)}.btn-primary:hover{background:#00d4ff40}.btn-success{background:#4ade8026;border-color:var(--success);color:var(--success)}.btn-success:hover{background:#4ade8040}.btn-danger{background:#ff6b6b26;border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:#ff6b6b40}.btn-mode{font-size:12px;padding:6px 14px;text-transform:capitalize}.btn-mode.active{background:#00d4ff33;border-color:var(--primary);color:var(--primary)}.tabs{display:flex;gap:4px;margin-bottom:12px}.tab{font-family:inherit;font-size:13px;font-weight:500;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--muted);padding:8px 16px;cursor:pointer;transition:all .2s}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px}.stat-card{background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-subtle);border-radius:10px;padding:14px 16px;text-align:center}.stat-value{font-size:24px;font-weight:700;color:#fff;font-family:JetBrains Mono,monospace}.stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.stat-sub{font-size:11px;color:var(--primary);margin-top:2px}.log-panel{padding:16px 20px}.log-panel h3{font-size:14px;font-weight:600;margin-bottom:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.log-list{max-height:350px;overflow-y:auto}.log-entry{display:flex;gap:10px;padding:4px 0;font-size:12px;font-family:JetBrains Mono,monospace;border-bottom:1px solid rgba(255,255,255,.03)}.log-time{color:var(--muted);min-width:70px}.log-level{min-width:40px;font-weight:600;text-transform:uppercase;font-size:10px}.log-msg{color:var(--text)}.results-tab{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.table-wrap{overflow-x:auto;background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-subtle);border-radius:10px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--border-subtle)}td{padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.03)}.mono{font-family:JetBrains Mono,monospace;font-size:11px}.row-skipped{opacity:.4}.rule-tag{font-size:10px;padding:2px 8px;border-radius:4px;background:#00d4ff1a;color:var(--primary)}.rule-skip{background:#8888881a;color:var(--muted)}.settings-panel{padding:20px;max-width:500px}.settings-panel h3{font-size:16px;font-weight:600;margin-bottom:16px}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:4px}.form-group input{width:100%;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:13px;background:#0000004d;border:1px solid var(--border);border-radius:8px;color:var(--text);outline:none;transition:border-color .2s}.form-group input:focus{border-color:var(--primary)}.form-group input::placeholder{color:#88888880}.form-actions{display:flex;align-items:center;gap:12px}.form-msg{font-size:12px;color:var(--success)}.empty-state{text-align:center;padding:40px;color:var(--muted);font-size:14px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00d4ff33;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00d4ff66}
