:root{--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#eef2ff;--secondary:#7c3aed;--secondary-hover:#6d28d9;--secondary-light:#f3e8ff;--background:#f8fafc;--surface:#fff;--surface-hover:#f1f5f9;--border:#e2e8f0;--border-focus:#c7d2fe;--text:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--success:#10b981;--success-bg:#ecfdf5;--success-border:#a7f3d0;--danger:#ef4444;--danger-bg:#fef2f2;--danger-border:#fca5a5;--warning:#f59e0b;--warning-bg:#fffbeb;--font-sans:"Inter", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}[data-theme=dark]{--primary:#6366f1;--primary-hover:#818cf8;--primary-light:#6366f126;--secondary:#8b5cf6;--secondary-hover:#a78bfa;--secondary-light:#8b5cf626;--background:#0f172a;--surface:#1e293b;--surface-hover:#334155;--border:#334155;--border-focus:#4945ff;--text:#f8fafc;--text-muted:#94a3b8;--text-light:#64748b;--success-bg:#10b98126;--success-border:#10b98166;--danger-bg:#ef444426;--danger-border:#ef444466;--warning-bg:#f59e0b26;--shadow-sm:0 1px 2px 0 #0006;--shadow-md:0 4px 6px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006;--shadow-xl:0 20px 25px -5px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal), color var(--transition-normal);min-height:100vh;line-height:1.6}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem}@media (width<=640px){.main-content{padding:1.25rem 1rem 3rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #4f46e566}50%{box-shadow:0 0 0 8px #4f46e500}}.animate-fade-in{animation:.35s cubic-bezier(.16,1,.3,1) forwards fadeIn}.badge{border-radius:var(--radius-full);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 2px 4px #4f46e540}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e559}.btn-secondary{background-color:var(--secondary-light);color:var(--secondary);border-color:#0000}.btn-secondary:hover:not(:disabled){background-color:var(--secondary);color:#fff;transform:translateY(-1px)}.btn-outline{color:var(--text);border-color:var(--border);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:var(--surface-hover);border-color:var(--text-muted)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
