|
|
|
@tailwind base; |
|
@tailwind components; |
|
@tailwind utilities; |
|
|
|
@layer base { |
|
:root { |
|
--background: 0 0% 100%; |
|
--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: 222.2 47.4% 11.2%; |
|
--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: 222.2 84% 4.9%; |
|
--radius: 0.5rem; |
|
} |
|
|
|
body { |
|
@apply bg-neutral-light text-neutral-dark antialiased; |
|
overflow: auto; |
|
height: 100%; |
|
margin:0; |
|
|
|
} |
|
} |
|
|
|
.conference-card { |
|
@apply bg-white rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300 p-4 flex flex-col; |
|
} |
|
|
|
.tag { |
|
@apply inline-flex items-center px-2 py-1 rounded-full text-sm font-medium bg-primary/10 text-primary; |
|
} |
|
|
|
.countdown { |
|
@apply text-2xl font-semibold text-primary; |
|
} |
|
|
|
@keyframes scale-up { |
|
from { |
|
transform: scale(0.8); |
|
opacity: 0; |
|
filter: blur(8px); |
|
} |
|
to { |
|
transform: scale(1); |
|
opacity: 1; |
|
filter: blur(0); |
|
} |
|
} |
|
|
|
@keyframes scale-down { |
|
from { |
|
transform: scale(1); |
|
opacity: 1; |
|
filter: blur(0); |
|
} |
|
to { |
|
transform: scale(0.8); |
|
opacity: 0; |
|
filter: blur(8px); |
|
} |
|
} |
|
|
|
.dialog-content { |
|
animation: scale-up 0.4s cubic-bezier(0.16, 1, 0.3, 1); |
|
will-change: transform, opacity, filter; |
|
} |
|
|
|
.dialog-overlay { |
|
animation: fade-in 0.4s cubic-bezier(0.16, 1, 0.3, 1); |
|
} |
|
|
|
[data-state="closed"] .dialog-content { |
|
animation: scale-down 0.3s cubic-bezier(0.16, 1, 0.3, 1); |
|
} |
|
|
|
[data-state="closed"] .dialog-overlay { |
|
animation: fade-out 0.3s cubic-bezier(0.16, 1, 0.3, 1); |
|
} |
|
|
|
@keyframes fade-in { |
|
from { |
|
opacity: 0; |
|
backdrop-filter: blur(0px); |
|
} |
|
to { |
|
opacity: 1; |
|
backdrop-filter: blur(4px); |
|
} |
|
} |
|
|
|
@keyframes fade-out { |
|
from { |
|
opacity: 1; |
|
backdrop-filter: blur(4px); |
|
} |
|
to { |
|
opacity: 0; |
|
backdrop-filter: blur(0px); |
|
} |
|
} |
|
|