*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary: #8b5cf6;--accent: #ec4899;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--radius-sm: .375rem;--radius: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;width:100%;min-height:100vh;overflow-x:hidden;background:linear-gradient(135deg,#667eea,#764ba2);background-attachment:fixed}#root{width:100%;min-height:100vh}a{font-weight:500;color:var(--primary);text-decoration:inherit;transition:color .2s ease}a:hover{color:var(--primary-dark)}button{cursor:pointer;font-family:inherit;transition:all .2s ease}button:hover{transform:translateY(-2px)}button:active{transform:translateY(0)}button:focus,button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}html{scroll-behavior:smooth}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fadeIn{animation:fadeIn .5s ease-out}.animate-fadeInUp{animation:fadeInUp .6s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.animate-spin{animation:spin 1s linear infinite}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-8px);box-shadow:0 25px 50px -12px #00000040}.shimmer{background:linear-gradient(90deg,#f0f0f0,#e0e0e0,#f0f0f0);background-size:1000px 100%;animation:shimmer 2s infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.float{animation:float 3s ease-in-out infinite}
