File size: 2,581 Bytes
02e5bb9
 
255baa6
 
 
 
 
 
02e5bb9
 
255baa6
02e5bb9
255baa6
02e5bb9
 
 
 
 
 
 
 
 
255baa6
 
02e5bb9
 
 
255baa6
02e5bb9
255baa6
 
d0bb5d8
 
 
 
 
 
 
f46336a
 
02e5bb9
 
 
 
 
 
 
 
 
 
255baa6
 
 
f46336a
13083aa
f46336a
255baa6
f46336a
02e5bb9
f46336a
 
 
02e5bb9
f46336a
4efd7ff
 
 
78dc268
4efd7ff
78dc268
4efd7ff
 
 
 
78dc268
4efd7ff
 
 
 
 
 
 
78dc268
4efd7ff
 
78dc268
4efd7ff
78dc268
4efd7ff
 
 
 
78dc268
 
4efd7ff
 
 
78dc268
4efd7ff
 
 
78dc268
4efd7ff
 
 
78dc268
4efd7ff
 
 
 
 
78dc268
4efd7ff
 
 
78dc268
4efd7ff
 
 
 
 
 
78dc268
4efd7ff
 
 
78dc268
4efd7ff
 
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
@import url("https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600&family=Inter:wght@300;400;500;600&display=swap");

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 40 33.3% 98.2%;
    --foreground: 240 3.4% 11.4%;
    --card: 0 0% 100%;
    --card-foreground: 240 3.4% 11.4%;
    --popover: 0 0% 100%;
    --popover-foreground: 240 3.4% 11.4%;
    --primary: 0 0% 35.7%;
    --primary-foreground: 40 33.3% 98.2%;
    --secondary: 9.2 7.7% 66.9%;
    --secondary-foreground: 240 3.4% 11.4%;
    --muted: 20 8% 90%;
    --muted-foreground: 0 0% 35.7%;
    --accent: 9.2 7.7% 66.9%;
    --accent-foreground: 240 3.4% 11.4%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;
    --border: 20 8% 90%;
    --input: 20 8% 90%;
    --ring: 255 30% 70%;
    --radius: 0.5rem;
    --violet: 255 30% 70%;
  }

  html, body {
    @apply h-full w-full;
    -webkit-overflow-scrolling: touch;
    position: relative;
    overscroll-behavior-y: none;
  }

  body {
    @apply bg-neutral-light text-neutral-dark antialiased;
    font-family: "Inter", sans-serif;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: "Crimson Text", serif;
  }
}

.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-violet/15 text-violet;
}

.countdown {
  @apply text-2xl font-semibold text-violet;
}

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