File size: 2,255 Bytes
3ad1409
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115

@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);
  }
}