:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #1c2333;--bg-hover: #252d3a;--bg-input: #141a24;--text-primary: #e0e0e8;--text-secondary: #8b949e;--text-muted: #555e6b;--accent-primary: #a855f7;--accent-purple: #a855f7;--accent-red: #e74c3c;--accent-blue: #3498db;--accent-green: #2ecc71;--accent-white: #bdc3c7;--accent-hacktivism: #f39c12;--border-color: #2a3140;--border-focus: #a855f7;--danger: #e74c3c;--success: #2ecc71;--warning: #f39c12;--sidebar-width: 240px;--header-height: 56px;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-speed: .3s}[data-theme=hacker]{--bg-primary: #0a0a0a;--bg-secondary: #0d0d0d;--bg-tertiary: #141414;--bg-hover: #1a1a1a;--bg-input: #0d0d0d;--text-primary: #00ff41;--text-secondary: #00cc33;--text-muted: #006b20;--accent-primary: #00ff41;--accent-purple: #00ff41;--accent-red: #ff0040;--accent-blue: #00d4ff;--accent-green: #00ff41;--accent-white: #00ff41;--accent-hacktivism: #ffcc00;--border-color: #1a3a1a;--border-focus: #00ff41;--danger: #ff0040;--success: #00ff41;--warning: #ffcc00;--font-sans: var(--font-mono)}[data-theme=hacker] body{text-shadow:0 0 1px rgba(0,255,65,.3)}[data-theme=hacker] .sidebar{border-right-color:#00ff41}[data-theme=hacker] input,[data-theme=hacker] textarea,[data-theme=hacker] select{font-family:var(--font-mono)}[data-theme=professional]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-hover: #e2e8f0;--bg-input: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--accent-primary: #2563eb;--accent-purple: #2563eb;--accent-red: #dc2626;--accent-blue: #2563eb;--accent-green: #16a34a;--accent-white: #64748b;--accent-hacktivism: #d97706;--border-color: #e2e8f0;--border-focus: #2563eb;--danger: #dc2626;--success: #16a34a;--warning: #d97706}[data-theme=professional] .btn-primary{background:var(--accent-primary)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;overflow:hidden;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-purple);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-color)}input,textarea,select{font-family:var(--font-sans);font-size:.9rem;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-color);border-radius:6px;padding:10px 14px;outline:none;transition:border-color .2s,background-color var(--transition-speed) ease}input:focus,textarea:focus,select:focus{border-color:var(--border-focus)}input::placeholder,textarea::placeholder,select::placeholder{color:var(--text-muted)}button{font-family:var(--font-sans);font-size:.9rem;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;transition:background .2s,opacity .2s}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-purple);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.hat-purple{color:var(--accent-purple)}.hat-red{color:var(--accent-red)}.hat-blue{color:var(--accent-blue)}.hat-green{color:var(--accent-green)}.hat-white{color:var(--accent-white)}.hat-hacktivist{color:var(--accent-hacktivism)}.text-muted{color:var(--text-secondary)}.text-small{font-size:.8rem}.mono{font-family:var(--font-mono)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;border-radius:10px;background:var(--danger);color:#fff}.spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--accent-purple);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
