@import url('https://fonts.googleapis.com/css2?family=Bangers&display=swap'); @tailwind base; @tailwind components; @tailwind utilities; @keyframes loading { 0% { transform: translateX(-100%); } 100% { transform: translateX(400%); } } :root { --background: 210 40% 98%; --foreground: 222.2 84% 4.9%; --card: 0 0% 100%; --card-foreground: 222.2 84% 4.9%; --popover: 0 0% 100%; --popover-foreground: 222.2 84% 4.9%; --primary: 0 100% 40%; --primary-foreground: 210 40% 98%; --secondary: 210 40% 96.1%; --secondary-foreground: 222.2 47.4% 11.2%; --muted: 210 40% 96.1%; --muted-foreground: 215.4 16.3% 46.9%; --accent: 210 40% 96.1%; --accent-foreground: 222.2 47.4% 11.2%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 210 40% 98%; --border: 214.3 31.8% 91.4%; --input: 214.3 31.8% 91.4%; --ring: 0 100% 40%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 0 100% 40%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 210 40% 96.1%; --sidebar-accent-foreground: 222.2 84% 4.9%; --sidebar-border: 214.3 31.8% 91.4%; --sidebar-ring: 0 100% 40%; --radius: 0.5rem; } .dark { --background: 222.2 84% 4.9%; --foreground: 210 40% 98%; --card: 222.2 84% 4.9%; --card-foreground: 210 40% 98%; --popover: 222.2 84% 4.9%; --popover-foreground: 210 40% 98%; --primary: 0 100% 53%; --primary-foreground: 222.2 47.4% 11.2%; --secondary: 217.2 32.6% 17.5%; --secondary-foreground: 210 40% 98%; --muted: 217.2 32.6% 17.5%; --muted-foreground: 215 20.2% 65.1%; --accent: 217.2 32.6% 17.5%; --accent-foreground: 210 40% 98%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 210 40% 98%; --border: 217.2 32.6% 17.5%; --input: 217.2 32.6% 17.5%; --ring: 0 100% 53%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 0 100% 53%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 0 100% 53%; } .ocean { --primary: 187 75% 42%; --primary-foreground: 210 40% 98%; --ring: 187 75% 42%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 187 75% 42%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 187 30% 94%; --sidebar-accent-foreground: 187 50% 20%; --sidebar-border: 187 20% 88%; --sidebar-ring: 187 75% 42%; } .dark.ocean { --primary: 187 75% 50%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 187 75% 50%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 187 75% 55%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 187 75% 50%; } .forest { --primary: 142 76% 36%; --primary-foreground: 210 40% 98%; --ring: 142 76% 36%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 142 76% 36%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 142 30% 94%; --sidebar-accent-foreground: 142 50% 20%; --sidebar-border: 142 20% 88%; --sidebar-ring: 142 76% 36%; } .dark.forest { --primary: 142 76% 44%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 142 76% 44%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 142 76% 50%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 142 76% 44%; } .sunset { --primary: 24 95% 53%; --primary-foreground: 210 40% 98%; --ring: 24 95% 53%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 24 95% 53%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 24 30% 94%; --sidebar-accent-foreground: 24 50% 20%; --sidebar-border: 24 20% 88%; --sidebar-ring: 24 95% 53%; } .dark.sunset { --primary: 24 95% 58%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 24 95% 58%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 24 95% 65%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 24 95% 58%; } .midnight { --primary: 230 75% 55%; --primary-foreground: 210 40% 98%; --ring: 230 75% 55%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 230 75% 55%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 230 30% 94%; --sidebar-accent-foreground: 230 50% 20%; --sidebar-border: 230 20% 88%; --sidebar-ring: 230 75% 55%; } .dark.midnight { --primary: 230 75% 62%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 230 75% 62%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 230 75% 65%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 230 75% 62%; } .rose { --primary: 346 77% 50%; --primary-foreground: 210 40% 98%; --ring: 346 77% 50%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 346 77% 50%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 346 30% 94%; --sidebar-accent-foreground: 346 50% 20%; --sidebar-border: 346 20% 88%; --sidebar-ring: 346 77% 50%; } .dark.rose { --primary: 346 77% 58%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 346 77% 58%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 346 77% 60%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 346 77% 58%; } .amber { --primary: 38 92% 50%; --primary-foreground: 210 40% 98%; --ring: 38 92% 50%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 38 92% 50%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 38 30% 94%; --sidebar-accent-foreground: 38 50% 20%; --sidebar-border: 38 20% 88%; --sidebar-ring: 38 92% 50%; } .dark.amber { --primary: 38 92% 56%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 38 92% 56%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 38 92% 60%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 38 92% 56%; } .violet { --primary: 262 83% 58%; --primary-foreground: 210 40% 98%; --ring: 262 83% 58%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 262 83% 58%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 262 30% 94%; --sidebar-accent-foreground: 262 50% 20%; --sidebar-border: 262 20% 88%; --sidebar-ring: 262 83% 58%; } .dark.violet { --primary: 262 83% 65%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 262 83% 65%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 262 83% 68%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 262 83% 65%; } .slate { --primary: 215 20% 45%; --primary-foreground: 210 40% 98%; --ring: 215 20% 45%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 215 20% 45%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 215 20% 94%; --sidebar-accent-foreground: 215 50% 20%; --sidebar-border: 215 20% 88%; --sidebar-ring: 215 20% 45%; } .dark.slate { --primary: 215 20% 60%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 215 20% 60%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 215 20% 65%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 215 20% 60%; } .ruby { --primary: 351 85% 45%; --primary-foreground: 210 40% 98%; --ring: 351 85% 45%; --sidebar: 0 0% 100%; --sidebar-foreground: 222.2 84% 4.9%; --sidebar-primary: 351 85% 45%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 351 30% 94%; --sidebar-accent-foreground: 351 50% 20%; --sidebar-border: 351 20% 88%; --sidebar-ring: 351 85% 45%; } .dark.ruby { --primary: 351 85% 52%; --primary-foreground: 222.2 47.4% 11.2%; --ring: 351 85% 52%; --sidebar: 222.2 84% 4.9%; --sidebar-foreground: 210 40% 98%; --sidebar-primary: 351 85% 55%; --sidebar-primary-foreground: 0 0% 100%; --sidebar-accent: 217.2 32.6% 17.5%; --sidebar-accent-foreground: 210 40% 98%; --sidebar-border: 217.2 32.6% 17.5%; --sidebar-ring: 351 85% 52%; } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; font-family: var(--font-inter), ui-sans-serif, system-ui, sans-serif; } } /* Login page custom styles */ .left-panel { background: #0a0a0f; position: relative; overflow: hidden; } .right-panel { background: #111118; width: 420px; flex: none; position: relative; } .panel-divider { width: 1px; background: rgba(180, 192, 210, 0.1); flex: none; } .growth-word { position: relative; color: #1BB0CE; } .growth-word::after { content: ""; position: absolute; bottom: -2px; left: 0; width: 100%; height: 2px; background: #1BB0CE; animation: pulseUnderline 2.5s ease-in-out infinite; } @keyframes pulseUnderline { 0%, 100% { background-color: #1BB0CE; } 50% { background-color: rgba(180, 192, 210, 0.6); } } .stats-row { display: flex; justify-content: center; margin-top: 32px; gap: 0; } .stat { flex: 1; max-width: 120px; text-align: center; position: relative; padding-top: 12px; } .stat::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, #1BB0CE, rgba(180,192,210,1), #1BB0CE); background-size: 200% 100%; animation: statSweep 2.5s ease-in-out infinite; } .stat:nth-child(2)::before { animation-delay: 0.6s; } .stat:nth-child(3)::before { animation-delay: 1.2s; } @keyframes statSweep { 0% { background-position: 0% 0; } 100% { background-position: -200% 0; } } .stat-number { font-size: 24px; font-weight: 700; color: #1BB0CE; line-height: 1.2; } .stat-label { font-size: 11px; color: rgba(232,232,239,0.3); margin-top: 4px; letter-spacing: 0.3px; } .testimonial { border-left: 2px solid rgba(27,176,206,0.25); background: rgba(27,176,206,0.06); padding: 10px 14px; } .stars-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; } .wave-canvas { position: absolute; bottom: 0; left: 0; width: 100%; height: 200px; z-index: 0; pointer-events: none; background: #0a0a0f; } .accent-line { position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, transparent, #1BB0CE, rgba(232,232,239,0.15), transparent); animation: pulseAccent 3s ease-in-out infinite; } @keyframes pulseAccent { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } } .input-sheen { position: relative; overflow: hidden; border-radius: 4px; } .input-sheen::before { content: ""; position: absolute; top: -10%; left: -100%; width: 60%; height: 120%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent); transform: rotate(-15deg); animation: sheenFloat 3.2s ease-in-out infinite; pointer-events: none; z-index: 2; } .input-sheen-delayed::before { animation-delay: 1s; } .input-sheen:focus-within::before { animation: none; opacity: 0; } @keyframes sheenFloat { 0% { left: -100%; } 100% { left: 200%; } } .login-input { width: 100%; height: 44px; background: linear-gradient(135deg, #0d0d15, #151520, #0d0d15); background-size: 200% 200%; animation: bgShift 6s ease-in-out infinite; border: 1.5px solid rgba(180,192,210,0.15); border-radius: 4px; font-size: 13px; color: #e8e8ef; padding: 0 12px; position: relative; z-index: 1; transition: border-color 0.2s ease, background 0.2s ease; box-sizing: border-box; } .login-input::placeholder { color: rgba(232,232,239,0.2); } .login-input:focus { border-color: #1BB0CE; outline: none; background: #111118; animation: none; } @keyframes bgShift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } .password-toggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); background: none; border: none; color: rgba(232,232,239,0.3); cursor: pointer; padding: 4px; display: flex; align-items: center; z-index: 3; } .password-toggle:hover { color: rgba(232,232,239,0.5); } .login-checkbox { accent-color: #1BB0CE; width: 16px; height: 16px; cursor: pointer; } .auth-btn { width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #1BB0CE; color: #ffffff; font-size: 14px; font-weight: 700; padding: 13px; border-radius: 4px; border: none; cursor: pointer; position: relative; overflow: hidden; transition: background 0.2s ease; } .auth-btn:hover { background: #17a0bc; } .auth-btn:disabled { opacity: 0.5; cursor: not-allowed; } .auth-btn::before { content: ""; position: absolute; top: 0; left: -100%; width: 60%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); animation: btnSweep 2.2s ease-in-out infinite; pointer-events: none; } @keyframes btnSweep { 0% { left: -100%; } 100% { left: 200%; } } .login-label { font-size: 12px; font-weight: 600; color: rgba(232,232,239,0.4); display: block; margin-bottom: 6px; } .body-text { color: rgba(232,232,239,0.5); } .subheading-text { color: rgba(232,232,239,0.38); } .checkbox-text { color: rgba(232,232,239,0.38); } .footer-text { color: rgba(232,232,239,0.2); }