*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light;--bg:#f5f7fa;--surface:#fff;--surface2:#f1f5f9;--surface-elevated:#fff;--border:#e2e8f0;--border-strong:#cbd5e1;--text:#0f172a;--text-secondary:#475569;--text-dim:#94a3b8;--input-text:#1e3a5f;--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#eef2ff;--success:#10b981;--success-light:#ecfdf5;--warning:#d97706;--warning-light:#fffbeb;--danger:#dc2626;--danger-light:#fef2f2;--teal:#0d9488;--teal-light:#f0fdfa;--sidebar-width:240px}[data-theme=dark]{color-scheme:dark;--bg:#0b1020;--surface:#111827;--surface2:#1f2937;--surface-elevated:#172033;--border:#263244;--border-strong:#3b4a60;--text:#f8fafc;--text-secondary:#cbd5e1;--text-dim:#8ea0b8;--input-text:#e5edf8;--primary:#8b8cff;--primary-hover:#a5b4fc;--primary-light:rgba(139,140,255,.15);--success:#34d399;--success-light:rgba(16,185,129,.14);--warning:#fbbf24;--warning-light:rgba(251,191,36,.14);--danger:#fb7185;--danger-light:rgba(251,113,133,.14);--teal:#2dd4bf;--teal-light:rgba(45,212,191,.12)}html{font-size:16px}body{font-family:Inter,Outfit,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:15px;color:var(--input-text)!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}textarea{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}::-moz-placeholder{color:#94a3b8}::placeholder{color:#94a3b8}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .2s ease}