*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-tertiary:#242424;--bg-input:#1e1e1e;--text-primary:#e0e0e0;--text-secondary:#999;--text-muted:#666;--border-color:#2a2a2a;--border-focus:#555;--accent:#f97316;--accent-hover:#fb923c;--accent-muted:#f9731626;--purple:#a855f7;--purple-hover:#c084fc;--purple-muted:#a855f726;--success:#4caf50;--success-hover:#66bb6a;--warning:#ff9800;--danger:#f44336;--radius:8px;--radius-sm:4px;--font:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", "Fira Code", "Fira Mono", monospace}html,body{height:100%;font-family:var(--font);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,.btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}button:hover:not(:disabled),.btn:hover:not(:disabled){border-color:var(--border-focus);background:#333}button:disabled,.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:var(--success-hover);border-color:var(--success-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#e53935;border-color:#e53935}.btn-outline{border-color:var(--border-color);color:var(--text-secondary);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.btn-sm{padding:4px 10px;font-size:12px}.btn-lg{padding:12px 24px;font-size:15px}input[type=text],input[type=url],input[type=email],input[type=password],input[type=search],textarea,select{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font);outline:none;padding:10px 14px;font-size:14px;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-muted)}input::placeholder,textarea::placeholder{color:var(--text-muted)}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);padding:20px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-header h2{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-size:15px;font-weight:600}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.w-full{width:100%}.text-center{text-align:center}.text-sm{font-size:12px}.text-muted{color:var(--text-secondary)}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.status-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.connected{background:var(--success);box-shadow:0 0 6px var(--success)}.status-dot.collecting{background:var(--warning);box-shadow:0 0 6px var(--warning);animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.toggle-label{cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:inline-flex}.toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.error-toast{background:var(--danger);color:#fff;border-radius:var(--radius);z-index:1000;max-width:400px;padding:12px 20px;font-size:13px;animation:.2s ease-out slide-in;position:fixed;bottom:20px;right:20px}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444}
