Spaces:
Paused
Paused
| @import "tailwindcss"; | |
| @import "tw-animate-css"; | |
| @custom-variant dark (&:is(.dark *)); | |
| @theme { | |
| --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif, | |
| "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; | |
| } | |
| html, | |
| body { | |
| @apply bg-white dark:bg-gray-950; | |
| @media (prefers-color-scheme: dark) { | |
| color-scheme: dark; | |
| } | |
| } | |
| @theme inline { | |
| --radius-sm: calc(var(--radius) - 4px); | |
| --radius-md: calc(var(--radius) - 2px); | |
| --radius-lg: var(--radius); | |
| --radius-xl: calc(var(--radius) + 4px); | |
| --color-background: var(--background); | |
| --color-foreground: var(--foreground); | |
| --color-card: var(--card); | |
| --color-card-foreground: var(--card-foreground); | |
| --color-popover: var(--popover); | |
| --color-popover-foreground: var(--popover-foreground); | |
| --color-primary: var(--primary); | |
| --color-primary-foreground: var(--primary-foreground); | |
| --color-secondary: var(--secondary); | |
| --color-secondary-foreground: var(--secondary-foreground); | |
| --color-muted: var(--muted); | |
| --color-muted-foreground: var(--muted-foreground); | |
| --color-accent: var(--accent); | |
| --color-accent-foreground: var(--accent-foreground); | |
| --color-destructive: var(--destructive); | |
| --color-border: var(--border); | |
| --color-input: var(--input); | |
| --color-ring: var(--ring); | |
| --color-chart-1: var(--chart-1); | |
| --color-chart-2: var(--chart-2); | |
| --color-chart-3: var(--chart-3); | |
| --color-chart-4: var(--chart-4); | |
| --color-chart-5: var(--chart-5); | |
| --color-sidebar: var(--sidebar); | |
| --color-sidebar-foreground: var(--sidebar-foreground); | |
| --color-sidebar-primary: var(--sidebar-primary); | |
| --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); | |
| --color-sidebar-accent: var(--sidebar-accent); | |
| --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); | |
| --color-sidebar-border: var(--sidebar-border); | |
| --color-sidebar-ring: var(--sidebar-ring); | |
| } | |
| :root { | |
| --radius: 0.625rem; | |
| --background: oklch(1 0 0); | |
| --foreground: oklch(0.141 0.005 285.823); | |
| --card: oklch(1 0 0); | |
| --card-foreground: oklch(0.141 0.005 285.823); | |
| --popover: oklch(1 0 0); | |
| --popover-foreground: oklch(0.141 0.005 285.823); | |
| --primary: oklch(0.21 0.006 285.885); | |
| --primary-foreground: oklch(0.985 0 0); | |
| --secondary: oklch(0.967 0.001 286.375); | |
| --secondary-foreground: oklch(0.21 0.006 285.885); | |
| --muted: oklch(0.967 0.001 286.375); | |
| --muted-foreground: oklch(0.552 0.016 285.938); | |
| --accent: oklch(0.967 0.001 286.375); | |
| --accent-foreground: oklch(0.21 0.006 285.885); | |
| --destructive: oklch(0.577 0.245 27.325); | |
| --border: oklch(0.92 0.004 286.32); | |
| --input: oklch(0.92 0.004 286.32); | |
| --ring: oklch(0.705 0.015 286.067); | |
| --chart-1: oklch(0.646 0.222 41.116); | |
| --chart-2: oklch(0.6 0.118 184.704); | |
| --chart-3: oklch(0.398 0.07 227.392); | |
| --chart-4: oklch(0.828 0.189 84.429); | |
| --chart-5: oklch(0.769 0.188 70.08); | |
| --sidebar: oklch(0.985 0 0); | |
| --sidebar-foreground: oklch(0.141 0.005 285.823); | |
| --sidebar-primary: oklch(0.21 0.006 285.885); | |
| --sidebar-primary-foreground: oklch(0.985 0 0); | |
| --sidebar-accent: oklch(0.967 0.001 286.375); | |
| --sidebar-accent-foreground: oklch(0.21 0.006 285.885); | |
| --sidebar-border: oklch(0.92 0.004 286.32); | |
| --sidebar-ring: oklch(0.705 0.015 286.067); | |
| } | |
| .dark { | |
| --background: oklch(0.141 0.005 285.823); | |
| --foreground: oklch(0.985 0 0); | |
| --card: oklch(0.21 0.006 285.885); | |
| --card-foreground: oklch(0.985 0 0); | |
| --popover: oklch(0.21 0.006 285.885); | |
| --popover-foreground: oklch(0.985 0 0); | |
| --primary: oklch(0.92 0.004 286.32); | |
| --primary-foreground: oklch(0.21 0.006 285.885); | |
| --secondary: oklch(0.274 0.006 286.033); | |
| --secondary-foreground: oklch(0.985 0 0); | |
| --muted: oklch(0.274 0.006 286.033); | |
| --muted-foreground: oklch(0.705 0.015 286.067); | |
| --accent: oklch(0.274 0.006 286.033); | |
| --accent-foreground: oklch(0.985 0 0); | |
| --destructive: oklch(0.704 0.191 22.216); | |
| --border: oklch(1 0 0 / 10%); | |
| --input: oklch(1 0 0 / 15%); | |
| --ring: oklch(0.552 0.016 285.938); | |
| --chart-1: oklch(0.488 0.243 264.376); | |
| --chart-2: oklch(0.696 0.17 162.48); | |
| --chart-3: oklch(0.769 0.188 70.08); | |
| --chart-4: oklch(0.627 0.265 303.9); | |
| --chart-5: oklch(0.645 0.246 16.439); | |
| --sidebar: oklch(0.21 0.006 285.885); | |
| --sidebar-foreground: oklch(0.985 0 0); | |
| --sidebar-primary: oklch(0.488 0.243 264.376); | |
| --sidebar-primary-foreground: oklch(0.985 0 0); | |
| --sidebar-accent: oklch(0.274 0.006 286.033); | |
| --sidebar-accent-foreground: oklch(0.985 0 0); | |
| --sidebar-border: oklch(1 0 0 / 10%); | |
| --sidebar-ring: oklch(0.552 0.016 285.938); | |
| } | |
| @layer base { | |
| * { | |
| @apply border-border outline-ring/50; | |
| } | |
| body { | |
| @apply bg-background text-foreground; | |
| } | |
| } | |
| /* Custom Glow Effects */ | |
| @layer utilities { | |
| /* Hero Title Glow */ | |
| .glow-text { | |
| text-shadow: 0 0 40px oklch(var(--primary) / 0.3), | |
| 0 0 80px oklch(var(--primary) / 0.2); | |
| } | |
| /* Card Glow Effect */ | |
| .glow-card { | |
| box-shadow: 0 0 0 1px oklch(var(--border)), | |
| 0 0 60px -15px oklch(var(--primary) / 0.4), | |
| 0 20px 40px -10px oklch(0 0 0 / 0.1); | |
| } | |
| .glow-card-hover { | |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| } | |
| .glow-card-hover:hover { | |
| box-shadow: 0 0 0 1px oklch(var(--primary) / 0.5), | |
| 0 0 80px -10px oklch(var(--primary) / 0.5), | |
| 0 25px 50px -12px oklch(0 0 0 / 0.25); | |
| transform: translateY(-4px); | |
| } | |
| /* Icon Glow Ring */ | |
| .icon-glow { | |
| position: relative; | |
| } | |
| .icon-glow::before { | |
| content: ""; | |
| position: absolute; | |
| inset: -8px; | |
| border-radius: 50%; | |
| background: radial-gradient( | |
| circle, | |
| oklch(var(--primary) / 0.15) 0%, | |
| transparent 70% | |
| ); | |
| opacity: 0; | |
| transition: opacity 0.3s ease; | |
| } | |
| .icon-glow:hover::before { | |
| opacity: 1; | |
| } | |
| /* Button Glow on Hover */ | |
| .shadow-glow-hover { | |
| transition: all 0.3s ease; | |
| } | |
| .shadow-glow-hover:hover { | |
| box-shadow: 0 0 30px oklch(var(--primary) / 0.4), | |
| 0 0 60px oklch(var(--primary) / 0.2); | |
| } | |
| /* Static Button Glow */ | |
| .shadow-glow { | |
| box-shadow: 0 0 20px oklch(var(--primary) / 0.3), | |
| 0 0 40px oklch(var(--primary) / 0.15); | |
| } | |
| /* Gradient Background Glow */ | |
| .gradient-glow { | |
| background: linear-gradient( | |
| 135deg, | |
| oklch(var(--card)), | |
| oklch(var(--muted) / 0.5) | |
| ); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .gradient-glow::before { | |
| content: ""; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient( | |
| 90deg, | |
| transparent, | |
| oklch(var(--primary) / 0.1), | |
| transparent | |
| ); | |
| transition: left 0.5s ease; | |
| } | |
| .gradient-glow:hover::before { | |
| left: 100%; | |
| } | |
| /* Floating Animation */ | |
| @keyframes float { | |
| 0%, 100% { | |
| transform: translateY(0px); | |
| } | |
| 50% { | |
| transform: translateY(-10px); | |
| } | |
| } | |
| .animate-float { | |
| animation: float 3s ease-in-out infinite; | |
| } | |
| /* Fade In Animation */ | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| .animate-fadeIn { | |
| animation: fadeIn 0.2s ease-out; | |
| } | |
| /* Scale In Animation */ | |
| @keyframes scaleIn { | |
| from { | |
| opacity: 0; | |
| transform: scale(0.95); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| .animate-scaleIn { | |
| animation: scaleIn 0.2s ease-out; | |
| } | |
| /* Pulse Glow Animation */ | |
| @keyframes pulseGlow { | |
| 0%, 100% { | |
| box-shadow: 0 0 20px oklch(var(--primary) / 0.3), | |
| 0 0 40px oklch(var(--primary) / 0.1); | |
| } | |
| 50% { | |
| box-shadow: 0 0 30px oklch(var(--primary) / 0.4), | |
| 0 0 60px oklch(var(--primary) / 0.2); | |
| } | |
| } | |
| .animate-pulse-glow { | |
| animation: pulseGlow 2s ease-in-out infinite; | |
| } | |
| } | |