:root{--color-bg: #0c0c0e;--color-surface: #141416;--color-surface-light: #1c1c20;--color-surface-hover: #232328;--color-accent: #6366f1;--color-accent-light: #818cf8;--color-accent-dim: rgba(99, 102, 241, .12);--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-text: #e4e4e7;--color-text-secondary: #a1a1aa;--color-text-dim: #71717a;--color-border: #27272a;--color-border-light: #3f3f46;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:#6366f14d;color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:600;letter-spacing:-.01em}a{color:var(--color-accent-light);text-decoration:none;transition:color .15s}a:hover{color:var(--color-accent)}input,textarea,select{font-family:var(--font-sans);font-size:14px;color:var(--color-text);background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px 14px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim)}button{font-family:var(--font-sans);font-size:14px;color:var(--color-text);background:var(--color-surface-light);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px 20px;cursor:pointer;transition:all .15s;outline:none}button:hover{background:var(--color-surface-hover);border-color:var(--color-border-light)}button:active{transform:scale(.98)}button:disabled{opacity:.4;cursor:not-allowed}button:disabled:hover{background:var(--color-surface-light);border-color:var(--color-border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.animate-fade-in{animation:fadeIn .2s ease-out}
