:root{--primary-blue: #6366f1;--primary-blue-light: #818cf8;--primary-blue-dark: #4f46e5;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--gradient-primary-hover: linear-gradient(135deg, #818cf8 0%, #6366f1 100%);--glass-bg-light: rgba(255, 255, 255, .72);--glass-bg-dark: rgba(17, 24, 39, .72);--glass-border-light: rgba(15, 23, 42, .08);--glass-border-dark: rgba(148, 163, 184, .12);--glass-shadow-light: 0 8px 32px 0 rgba(15, 23, 42, .12);--glass-shadow-dark: 0 8px 32px 0 rgba(0, 0, 0, .5);--accent-glow: rgba(99, 102, 241, .4);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .1);--shadow-xl: 0 12px 24px rgba(0, 0, 0, .12);--shadow-2xl: 0 16px 32px rgba(0, 0, 0, .14);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px}[data-theme=dark]{--glass-bg-light: var(--glass-bg-dark);--glass-border-light: var(--glass-border-dark);--glass-shadow-light: var(--glass-shadow-dark)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.glass{background:var(--glass-bg-light);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border-light);box-shadow:var(--glass-shadow-light)}.glass-dark{background:var(--glass-bg-dark);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border-dark);box-shadow:var(--glass-shadow-dark)}.gradient-primary{background:var(--gradient-primary)}.gradient-primary-hover{background:var(--gradient-primary-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideIn{animation:slideIn .3s ease-out}.animate-slideInRight{animation:slideInRight .3s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-float{animation:float 3s ease-in-out infinite}.transition-all{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 20px var(--accent-glow)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#0000004d}[data-theme=dark] ::-webkit-scrollbar-thumb,.dark ::-webkit-scrollbar-thumb{background:#fff3}[data-theme=dark] ::-webkit-scrollbar-thumb:hover,.dark ::-webkit-scrollbar-thumb:hover{background:#ffffff4d}*:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}::selection{background-color:var(--primary-blue);color:#fff}::-moz-selection{background-color:var(--primary-blue);color:#fff}
