:root{--bg: #121212;--surface: #1E1E1E;--surface-2: #252525;--surface-3: #2C2C2C;--border: #333333;--border-2: #444444;--primary: #FFB800;--primary-hover:#E6C200;--primary-dark: #CCAC00;--primary-glow: rgba(255, 215, 0, .14);--primary-glow-strong: rgba(255, 215, 0, .22);--text: #FFFFFF;--text-muted: #BDBDBD;--text-subtle: #777777;--success: #4CAF50;--success-bg: rgba(76, 175, 80, .12);--error: #E04035;--error-bg: rgba(224, 64, 53, .12);--warning: #FFB800;--warning-bg: rgba(255, 215, 0, .12);--info: #4A9AE5;--info-bg: rgba(74, 154, 229, .12);--purple: #9561E2;--purple-bg: rgba(149, 97, 226, .12);--font-display: "Barlow Condensed", sans-serif;--font-body: "Outfit", sans-serif;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--radius-sm: 4px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow: 0 4px 16px rgba(0,0,0,.5);--shadow-lg: 0 8px 32px rgba(0,0,0,.6);--shadow-primary: 0 4px 20px rgba(232, 134, 10, .35);--ease: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--duration: .18s;--sidebar-width: 240px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.55;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@keyframes pulse-ring{0%{transform:scale(1);opacity:.8}to{transform:scale(1.6);opacity:0}}@keyframes waveform{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fade-in .3s var(--ease) forwards}
