@inspirare/design-system 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/package.json +5 -3
- package/src/App.css +184 -0
- package/src/App.tsx +222 -0
- package/src/assets/hero.png +0 -0
- package/src/assets/react.svg +1 -0
- package/src/assets/vite.svg +1 -0
- package/src/components/ui/accessibility-improvements.tsx +117 -0
- package/src/components/ui/accordion.tsx +66 -0
- package/src/components/ui/alert-dialog.tsx +151 -0
- package/src/components/ui/avatar.tsx +53 -0
- package/src/components/ui/badge.tsx +46 -0
- package/src/components/ui/button.tsx +59 -0
- package/src/components/ui/calendar.tsx +220 -0
- package/src/components/ui/card.tsx +92 -0
- package/src/components/ui/checkbox.tsx +32 -0
- package/src/components/ui/collapsible.tsx +36 -0
- package/src/components/ui/color-picker.tsx +183 -0
- package/src/components/ui/command.tsx +184 -0
- package/src/components/ui/dialog.tsx +157 -0
- package/src/components/ui/drawer.tsx +149 -0
- package/src/components/ui/dropdown-menu.tsx +259 -0
- package/src/components/ui/form.tsx +168 -0
- package/src/components/ui/hover-card.tsx +49 -0
- package/src/components/ui/input.tsx +21 -0
- package/src/components/ui/label.tsx +24 -0
- package/src/components/ui/popover.tsx +55 -0
- package/src/components/ui/progress.tsx +31 -0
- package/src/components/ui/radio-group.tsx +43 -0
- package/src/components/ui/scroll-area.tsx +32 -0
- package/src/components/ui/select.tsx +185 -0
- package/src/components/ui/separator.tsx +28 -0
- package/src/components/ui/sheet.tsx +153 -0
- package/src/components/ui/skeleton.tsx +121 -0
- package/src/components/ui/slider.tsx +63 -0
- package/src/components/ui/sonner.tsx +25 -0
- package/src/components/ui/switch.tsx +35 -0
- package/src/components/ui/table.tsx +116 -0
- package/src/components/ui/tabs.tsx +66 -0
- package/src/components/ui/textarea.tsx +18 -0
- package/src/components/ui/theme-toggle.tsx +106 -0
- package/src/components/ui/toggle-group.tsx +73 -0
- package/src/components/ui/toggle.tsx +47 -0
- package/src/components/ui/tooltip.tsx +68 -0
- package/src/demo/ButtonsDemo.tsx +82 -0
- package/src/demo/CalendarDemo.tsx +25 -0
- package/src/demo/FeedbackDemo.tsx +113 -0
- package/src/demo/FormsDemo.tsx +100 -0
- package/src/demo/NavigationDemo.tsx +141 -0
- package/src/demo/OverlaysDemo.tsx +187 -0
- package/src/index.css +1434 -0
- package/src/index.ts +41 -0
- package/src/lib/utils.ts +6 -0
- package/src/main.tsx +13 -0
package/src/index.css
ADDED
|
@@ -0,0 +1,1434 @@
|
|
|
1
|
+
@import "tailwindcss";
|
|
2
|
+
@custom-variant dark (&:is(.dark *));
|
|
3
|
+
|
|
4
|
+
:root {
|
|
5
|
+
--background: #fafaf9;
|
|
6
|
+
--foreground: #09090b;
|
|
7
|
+
--card: #fafaf9;
|
|
8
|
+
--card-foreground: #09090b;
|
|
9
|
+
--popover: #fdfdfd;
|
|
10
|
+
--popover-foreground: #09090b;
|
|
11
|
+
--primary: #dc663e;
|
|
12
|
+
--primary-foreground: #fceed7;
|
|
13
|
+
--secondary: #e3ac8e;
|
|
14
|
+
--secondary-foreground: #2c2c2c;
|
|
15
|
+
--muted: #f4f4f5;
|
|
16
|
+
--muted-foreground: #71717a;
|
|
17
|
+
--accent: #f4f4f5;
|
|
18
|
+
--accent-foreground: #171717;
|
|
19
|
+
--destructive: #ef4444;
|
|
20
|
+
--destructive-foreground: #ffffff;
|
|
21
|
+
--border: #e4e4e7;
|
|
22
|
+
--input: #e4e4e7;
|
|
23
|
+
--ring: #861e11;
|
|
24
|
+
--chart-1: #dc663e;
|
|
25
|
+
--chart-2: #e3ac8e;
|
|
26
|
+
--chart-3: #fceed7;
|
|
27
|
+
--chart-4: #71717a;
|
|
28
|
+
--chart-5: #f4f4f5;
|
|
29
|
+
--sidebar: #f4f4f5;
|
|
30
|
+
--sidebar-foreground: #09090b;
|
|
31
|
+
--sidebar-primary: #dc663e;
|
|
32
|
+
--sidebar-primary-foreground: #ffffff;
|
|
33
|
+
--sidebar-accent: #f4f4f5;
|
|
34
|
+
--sidebar-accent-foreground: #09090b;
|
|
35
|
+
--sidebar-border: #e4e4e7;
|
|
36
|
+
--sidebar-ring: #dc663e;
|
|
37
|
+
--font-sans: Josefin Sans, ui-sans-serif, sans-serif, system-ui;
|
|
38
|
+
--font-serif: Special Elite, ui-serif, serif;
|
|
39
|
+
--font-mono: Fira Code;
|
|
40
|
+
--radius: 0.5rem;
|
|
41
|
+
/* 8px */
|
|
42
|
+
--shadow-2xs: 0px 4px 8px 0px hsl(0 0% 0% / 0.01);
|
|
43
|
+
--shadow-xs: 0px 4px 8px 0px hsl(0 0% 0% / 0.01);
|
|
44
|
+
--shadow-sm:
|
|
45
|
+
0px 4px 8px 0px hsl(0 0% 0% / 0.02), 0px 1px 2px -1px hsl(0 0% 0% / 0.02);
|
|
46
|
+
--shadow:
|
|
47
|
+
0px 4px 8px 0px hsl(0 0% 0% / 0.02), 0px 1px 2px -1px hsl(0 0% 0% / 0.02);
|
|
48
|
+
--shadow-md:
|
|
49
|
+
0px 4px 8px 0px hsl(0 0% 0% / 0.02), 0px 2px 4px -1px hsl(0 0% 0% / 0.02);
|
|
50
|
+
--shadow-lg:
|
|
51
|
+
0px 4px 8px 0px hsl(0 0% 0% / 0.02), 0px 4px 6px -1px hsl(0 0% 0% / 0.02);
|
|
52
|
+
--shadow-xl:
|
|
53
|
+
0px 4px 8px 0px hsl(0 0% 0% / 0.02), 0px 8px 10px -1px hsl(0 0% 0% / 0.02);
|
|
54
|
+
--shadow-2xl: 0px 4px 8px 0px hsl(0 0% 0% / 0.05);
|
|
55
|
+
--tracking-normal: 0.05em;
|
|
56
|
+
--spacing: 0.25rem;
|
|
57
|
+
|
|
58
|
+
/* Additional Editor and Generic Variables */
|
|
59
|
+
--tt-radius-xxs: 0.125rem;
|
|
60
|
+
/* 2px */
|
|
61
|
+
--tt-radius-xs: 0.25rem;
|
|
62
|
+
/* 4px */
|
|
63
|
+
--tt-radius-sm: 0.375rem;
|
|
64
|
+
/* 6px */
|
|
65
|
+
--tt-radius-md: 0.5rem;
|
|
66
|
+
/* 8px */
|
|
67
|
+
--tt-radius-lg: 0.75rem;
|
|
68
|
+
/* 12px */
|
|
69
|
+
--tt-radius-xl: 1rem;
|
|
70
|
+
/* 16px */
|
|
71
|
+
--tt-transition-duration-short: 0.1s;
|
|
72
|
+
--tt-transition-duration-default: 0.2s;
|
|
73
|
+
--tt-transition-duration-long: 0.64s;
|
|
74
|
+
--tt-transition-easing-default: cubic-bezier(0.46, 0.03, 0.52, 0.96);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.dark {
|
|
78
|
+
--background: #2a2a2a;
|
|
79
|
+
--foreground: #fceed7;
|
|
80
|
+
--card: #353535;
|
|
81
|
+
--card-foreground: #fceed7;
|
|
82
|
+
--popover: #303030;
|
|
83
|
+
--popover-foreground: #fceed7;
|
|
84
|
+
--primary: #dc663e;
|
|
85
|
+
--primary-dark: #ff7512;
|
|
86
|
+
--primary-foreground: #fceed7;
|
|
87
|
+
--secondary: #fceed7;
|
|
88
|
+
--secondary-foreground: #2a2a2a;
|
|
89
|
+
--muted: #404040;
|
|
90
|
+
--muted-foreground: #b8b8b8;
|
|
91
|
+
--accent: #fceed7;
|
|
92
|
+
--accent-foreground: #2a2a2a;
|
|
93
|
+
--destructive: #ef4444;
|
|
94
|
+
--destructive-foreground: #fceed7;
|
|
95
|
+
--border: #454545;
|
|
96
|
+
--input: #404040;
|
|
97
|
+
--ring: #dc663e;
|
|
98
|
+
--chart-1: #dc663e;
|
|
99
|
+
--chart-2: #fceed7;
|
|
100
|
+
--chart-3: #e3ac8e;
|
|
101
|
+
--chart-4: #b8b8b8;
|
|
102
|
+
--chart-5: #404040;
|
|
103
|
+
--sidebar: #303030;
|
|
104
|
+
--sidebar-foreground: #fceed7;
|
|
105
|
+
--sidebar-primary: #dc663e;
|
|
106
|
+
--sidebar-primary-foreground: #fceed7;
|
|
107
|
+
--sidebar-accent: #404040;
|
|
108
|
+
--sidebar-accent-foreground: #fceed7;
|
|
109
|
+
--sidebar-border: #454545;
|
|
110
|
+
--sidebar-ring: #dc663e;
|
|
111
|
+
--radius: 0.5rem;
|
|
112
|
+
/* 8px */
|
|
113
|
+
--shadow-2xs: 0px 4px 8px 0px hsl(0 0% 0% / 0.1);
|
|
114
|
+
--shadow-xs: 0px 4px 8px 0px hsl(0 0% 0% / 0.1);
|
|
115
|
+
--shadow-sm:
|
|
116
|
+
0px 4px 8px 0px hsl(0 0% 0% / 0.15), 0px 1px 2px -1px hsl(0 0% 0% / 0.15);
|
|
117
|
+
--shadow:
|
|
118
|
+
0px 4px 8px 0px hsl(0 0% 0% / 0.15), 0px 1px 2px -1px hsl(0 0% 0% / 0.15);
|
|
119
|
+
--shadow-md:
|
|
120
|
+
0px 4px 8px 0px hsl(0 0% 0% / 0.15), 0px 2px 4px -1px hsl(0 0% 0% / 0.15);
|
|
121
|
+
--shadow-lg:
|
|
122
|
+
0px 4px 8px 0px hsl(0 0% 0% / 0.15), 0px 4px 6px -1px hsl(0 0% 0% / 0.15);
|
|
123
|
+
--shadow-xl:
|
|
124
|
+
0px 4px 8px 0px hsl(0 0% 0% / 0.15), 0px 8px 10px -1px hsl(0 0% 0% / 0.15);
|
|
125
|
+
--shadow-2xl: 0px 4px 8px 0px hsl(0 0% 0% / 0.3);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
@theme inline {
|
|
129
|
+
--color-background: var(--background);
|
|
130
|
+
--color-foreground: var(--foreground);
|
|
131
|
+
--color-card: var(--card);
|
|
132
|
+
--color-card-foreground: var(--card-foreground);
|
|
133
|
+
--color-popover: var(--popover);
|
|
134
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
135
|
+
--color-primary: var(--primary);
|
|
136
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
137
|
+
--color-secondary: var(--secondary);
|
|
138
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
139
|
+
--color-muted: var(--muted);
|
|
140
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
141
|
+
--color-accent: var(--accent);
|
|
142
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
143
|
+
--color-destructive: var(--destructive);
|
|
144
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
145
|
+
--color-border: var(--border);
|
|
146
|
+
--color-input: var(--input);
|
|
147
|
+
--color-ring: var(--ring);
|
|
148
|
+
--color-chart-1: var(--chart-1);
|
|
149
|
+
--color-chart-2: var(--chart-2);
|
|
150
|
+
--color-chart-3: var(--chart-3);
|
|
151
|
+
--color-chart-4: var(--chart-4);
|
|
152
|
+
--color-chart-5: var(--chart-5);
|
|
153
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
154
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
155
|
+
--radius-lg: var(--radius);
|
|
156
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
157
|
+
--color-sidebar: var(--sidebar);
|
|
158
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
159
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
160
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
161
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
162
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
163
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
164
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
165
|
+
--font-sans: var(--font-sans);
|
|
166
|
+
--font-serif: var(--font-serif);
|
|
167
|
+
--font-mono: var(--font-mono);
|
|
168
|
+
|
|
169
|
+
/* Inspirare Brand Colors */
|
|
170
|
+
--color-Inspirare-purple-50: oklch(0.95 0.05 270);
|
|
171
|
+
--color-Inspirare-purple-100: oklch(0.9 0.1 270);
|
|
172
|
+
--color-Inspirare-purple-200: oklch(0.85 0.15 270);
|
|
173
|
+
--color-Inspirare-purple-300: oklch(0.8 0.18 270);
|
|
174
|
+
--color-Inspirare-purple-400: oklch(0.7 0.2 270);
|
|
175
|
+
--color-Inspirare-purple-500: oklch(0.6 0.2 270);
|
|
176
|
+
--color-Inspirare-purple-600: oklch(0.55 0.22 270);
|
|
177
|
+
--color-Inspirare-purple-700: oklch(0.5 0.24 270);
|
|
178
|
+
--color-Inspirare-purple-800: oklch(0.4 0.26 270);
|
|
179
|
+
--color-Inspirare-purple-900: oklch(0.3 0.28 270);
|
|
180
|
+
|
|
181
|
+
--color-Inspirare-blue-50: oklch(0.95 0.05 200);
|
|
182
|
+
--color-Inspirare-blue-100: oklch(0.9 0.08 200);
|
|
183
|
+
--color-Inspirare-blue-200: oklch(0.85 0.12 200);
|
|
184
|
+
--color-Inspirare-blue-300: oklch(0.8 0.15 200);
|
|
185
|
+
--color-Inspirare-blue-400: oklch(0.75 0.15 200);
|
|
186
|
+
--color-Inspirare-blue-500: oklch(0.7 0.18 200);
|
|
187
|
+
--color-Inspirare-blue-600: oklch(0.65 0.2 200);
|
|
188
|
+
--color-Inspirare-blue-700: oklch(0.6 0.22 200);
|
|
189
|
+
--color-Inspirare-blue-800: oklch(0.5 0.24 200);
|
|
190
|
+
--color-Inspirare-blue-900: oklch(0.4 0.26 200);
|
|
191
|
+
|
|
192
|
+
/* Animations & Keyframes */
|
|
193
|
+
--animate-accordion-down: accordion-down 0.2s ease-out;
|
|
194
|
+
--animate-accordion-up: accordion-up 0.2s ease-out;
|
|
195
|
+
--animate-fade-in: fade-in 0.3s ease-out;
|
|
196
|
+
--animate-fade-in-up: fade-in-up 0.6s ease-out;
|
|
197
|
+
--animate-slide-in-from-top: slide-in-from-top 0.3s ease-out;
|
|
198
|
+
--animate-slide-in-from-bottom: slide-in-from-bottom 0.3s ease-out;
|
|
199
|
+
--animate-float: float 3s ease-in-out infinite;
|
|
200
|
+
--animate-gradient: gradient 3s ease infinite;
|
|
201
|
+
--animate-glow: glow 2s ease-in-out infinite alternate;
|
|
202
|
+
|
|
203
|
+
@keyframes accordion-down {
|
|
204
|
+
from {
|
|
205
|
+
height: 0;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
to {
|
|
209
|
+
height: var(--radix-accordion-content-height);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
@keyframes accordion-up {
|
|
214
|
+
from {
|
|
215
|
+
height: var(--radix-accordion-content-height);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
to {
|
|
219
|
+
height: 0;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
@keyframes fade-in {
|
|
224
|
+
0% {
|
|
225
|
+
opacity: 0;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
100% {
|
|
229
|
+
opacity: 1;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
@keyframes fade-in-up {
|
|
234
|
+
0% {
|
|
235
|
+
opacity: 0;
|
|
236
|
+
transform: translateY(20px);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
100% {
|
|
240
|
+
opacity: 1;
|
|
241
|
+
transform: translateY(0);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
@keyframes slide-in-from-top {
|
|
246
|
+
0% {
|
|
247
|
+
transform: translateY(-100%);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
100% {
|
|
251
|
+
transform: translateY(0);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
@keyframes slide-in-from-bottom {
|
|
256
|
+
0% {
|
|
257
|
+
transform: translateY(100%);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
100% {
|
|
261
|
+
transform: translateY(0);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
@keyframes float {
|
|
266
|
+
|
|
267
|
+
0%,
|
|
268
|
+
100% {
|
|
269
|
+
transform: translateY(0px);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
50% {
|
|
273
|
+
transform: translateY(-20px);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
@keyframes gradient {
|
|
278
|
+
|
|
279
|
+
0%,
|
|
280
|
+
100% {
|
|
281
|
+
background-position: 0% 50%;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
50% {
|
|
285
|
+
background-position: 100% 50%;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
@keyframes glow {
|
|
290
|
+
|
|
291
|
+
0%,
|
|
292
|
+
100% {
|
|
293
|
+
box-shadow: 0 0 20px rgba(139, 92, 246, 0.3);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
50% {
|
|
297
|
+
box-shadow: 0 0 40px rgba(139, 92, 246, 0.6);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
@layer utilities {
|
|
303
|
+
.glass {
|
|
304
|
+
@apply bg-white/70 backdrop-blur-xl border-white/20;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.glass-dark {
|
|
308
|
+
@apply bg-gray-900/70 backdrop-blur-xl border-gray-700/20;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.gradient-text {
|
|
312
|
+
background: linear-gradient(135deg,
|
|
313
|
+
var(--primary) 0%,
|
|
314
|
+
var(--secondary) 100%);
|
|
315
|
+
-webkit-background-clip: text;
|
|
316
|
+
-webkit-text-fill-color: transparent;
|
|
317
|
+
background-clip: text;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.gradient-bg {
|
|
321
|
+
background: linear-gradient(135deg,
|
|
322
|
+
var(--primary) 0%,
|
|
323
|
+
var(--secondary) 100%);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.gradient-blob {
|
|
327
|
+
position: absolute;
|
|
328
|
+
border-radius: 50%;
|
|
329
|
+
filter: blur(40px);
|
|
330
|
+
opacity: 0.05;
|
|
331
|
+
animation: float 20s ease-in-out infinite;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.gradient-blob-1 {
|
|
335
|
+
width: 300px;
|
|
336
|
+
height: 300px;
|
|
337
|
+
background: linear-gradient(45deg, var(--primary), var(--secondary));
|
|
338
|
+
opacity: 0.05;
|
|
339
|
+
top: 10%;
|
|
340
|
+
left: 10%;
|
|
341
|
+
animation-delay: 0s;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.gradient-blob-2 {
|
|
345
|
+
width: 200px;
|
|
346
|
+
height: 200px;
|
|
347
|
+
background: linear-gradient(135deg, var(--secondary), var(--primary));
|
|
348
|
+
opacity: 0.05;
|
|
349
|
+
top: 60%;
|
|
350
|
+
right: 15%;
|
|
351
|
+
animation-delay: -10s;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
.gradient-blob-3 {
|
|
355
|
+
width: 250px;
|
|
356
|
+
height: 250px;
|
|
357
|
+
background: linear-gradient(225deg, var(--primary), var(--accent));
|
|
358
|
+
opacity: 0.05;
|
|
359
|
+
bottom: 20%;
|
|
360
|
+
left: 50%;
|
|
361
|
+
animation-delay: -5s;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
.aurora-bg {
|
|
365
|
+
background: linear-gradient(135deg,
|
|
366
|
+
hsla(from var(--primary) h s l / 0.1) 0%,
|
|
367
|
+
hsla(from var(--secondary) h s l / 0.1) 50%,
|
|
368
|
+
hsla(from var(--primary) h s l / 0.1) 100%);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.font-heading {
|
|
372
|
+
@apply font-serif font-semibold;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.font-body {
|
|
376
|
+
@apply font-sans;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
@keyframes shimmer {
|
|
380
|
+
0% {
|
|
381
|
+
transform: translateX(-100%);
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
100% {
|
|
385
|
+
transform: translateX(100%);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
@layer base {
|
|
391
|
+
* {
|
|
392
|
+
@apply border-border outline-ring/50;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
body {
|
|
396
|
+
@apply bg-background text-foreground;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
/* Fix for Radix Popper z-index auto issues in MFE / Host environments */
|
|
400
|
+
[data-radix-popper-content-wrapper] {
|
|
401
|
+
z-index: 99999 !important;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
/* === MIGRATED FROM _variables.scss === */
|
|
406
|
+
:root {
|
|
407
|
+
/******************
|
|
408
|
+
Basics
|
|
409
|
+
******************/
|
|
410
|
+
|
|
411
|
+
overflow-wrap: break-word;
|
|
412
|
+
text-size-adjust: none;
|
|
413
|
+
text-rendering: optimizeLegibility;
|
|
414
|
+
-webkit-font-smoothing: antialiased;
|
|
415
|
+
-moz-osx-font-smoothing: grayscale;
|
|
416
|
+
|
|
417
|
+
/******************
|
|
418
|
+
Colors variables - Mapped from globals.css
|
|
419
|
+
******************/
|
|
420
|
+
|
|
421
|
+
/* Gray alpha -> Mapped to accent/muted with opacity */
|
|
422
|
+
--tt-gray-light-a-50: hsl(from var(--muted) h s l / 0.04);
|
|
423
|
+
--tt-gray-light-a-100: hsl(from var(--accent) h s l / 0.05);
|
|
424
|
+
--tt-gray-light-a-200: hsl(from var(--accent) h s l / 0.1);
|
|
425
|
+
--tt-gray-light-a-300: hsl(from var(--accent) h s l / 0.2);
|
|
426
|
+
--tt-gray-light-a-400: hsl(from var(--muted-foreground) h s l / 0.42);
|
|
427
|
+
--tt-gray-light-a-500: hsl(from var(--muted-foreground) h s l / 0.64);
|
|
428
|
+
--tt-gray-light-a-600: hsl(from var(--foreground) h s l / 0.78);
|
|
429
|
+
--tt-gray-light-a-700: hsl(from var(--foreground) h s l / 0.87);
|
|
430
|
+
--tt-gray-light-a-800: hsl(from var(--foreground) h s l / 0.95);
|
|
431
|
+
--tt-gray-light-a-900: hsl(from var(--foreground) h s l / 0.98);
|
|
432
|
+
|
|
433
|
+
/* Gray -> Mapped to semantic grays */
|
|
434
|
+
--tt-gray-light-50: var(--card);
|
|
435
|
+
--tt-gray-light-100: var(--muted);
|
|
436
|
+
--tt-gray-light-200: var(--accent);
|
|
437
|
+
--tt-gray-light-300: var(--border);
|
|
438
|
+
--tt-gray-light-400: var(--muted-foreground);
|
|
439
|
+
--tt-gray-light-500: var(--muted-foreground);
|
|
440
|
+
--tt-gray-light-600: var(--foreground);
|
|
441
|
+
--tt-gray-light-700: var(--foreground);
|
|
442
|
+
--tt-gray-light-800: var(--foreground);
|
|
443
|
+
--tt-gray-light-900: var(--foreground);
|
|
444
|
+
|
|
445
|
+
/* Brand colors -> Mapped to primary/secondary */
|
|
446
|
+
--tt-brand-color-50: hsl(from var(--primary) h s l / 0.05);
|
|
447
|
+
--tt-brand-color-100: hsl(from var(--primary) h s l / 0.1);
|
|
448
|
+
--tt-brand-color-200: hsl(from var(--primary) h s l / 0.2);
|
|
449
|
+
--tt-brand-color-300: hsl(from var(--primary) h s l / 0.4);
|
|
450
|
+
--tt-brand-color-400: hsl(from var(--primary) h s l / 0.6);
|
|
451
|
+
--tt-brand-color-500: var(--primary);
|
|
452
|
+
--tt-brand-color-600: var(--primary);
|
|
453
|
+
--tt-brand-color-700: var(--primary);
|
|
454
|
+
--tt-brand-color-800: var(--primary);
|
|
455
|
+
--tt-brand-color-900: var(--primary-foreground);
|
|
456
|
+
--tt-brand-color-950: var(--primary-foreground);
|
|
457
|
+
|
|
458
|
+
--transparent: rgba(255, 255, 255, 0);
|
|
459
|
+
|
|
460
|
+
/******************
|
|
461
|
+
Shadow variables
|
|
462
|
+
******************/
|
|
463
|
+
|
|
464
|
+
/* Shadows Light */
|
|
465
|
+
--tt-shadow-elevated-md:
|
|
466
|
+
0px 16px 48px 0px rgba(17, 24, 39, 0.04),
|
|
467
|
+
0px 12px 24px 0px rgba(17, 24, 39, 0.04),
|
|
468
|
+
0px 6px 8px 0px rgba(17, 24, 39, 0.02),
|
|
469
|
+
0px 2px 3px 0px rgba(17, 24, 39, 0.02);
|
|
470
|
+
|
|
471
|
+
/**************************************************
|
|
472
|
+
Radius variables
|
|
473
|
+
**************************************************/
|
|
474
|
+
|
|
475
|
+
--tt-radius-xxs: 0.125rem; /* 2px */
|
|
476
|
+
--tt-radius-xs: 0.25rem; /* 4px */
|
|
477
|
+
--tt-radius-sm: 0.375rem; /* 6px */
|
|
478
|
+
--tt-radius-md: 0.5rem; /* 8px */
|
|
479
|
+
--tt-radius-lg: 0.75rem; /* 12px */
|
|
480
|
+
--tt-radius-xl: 1rem; /* 16px */
|
|
481
|
+
|
|
482
|
+
/**************************************************
|
|
483
|
+
Transition variables
|
|
484
|
+
**************************************************/
|
|
485
|
+
|
|
486
|
+
--tt-transition-duration-short: 0.1s;
|
|
487
|
+
--tt-transition-duration-default: 0.2s;
|
|
488
|
+
--tt-transition-duration-long: 0.64s;
|
|
489
|
+
--tt-transition-easing-default: cubic-bezier(0.46, 0.03, 0.52, 0.96);
|
|
490
|
+
--tt-transition-easing-cubic: cubic-bezier(0.65, 0.05, 0.36, 1);
|
|
491
|
+
--tt-transition-easing-quart: cubic-bezier(0.77, 0, 0.18, 1);
|
|
492
|
+
--tt-transition-easing-circ: cubic-bezier(0.79, 0.14, 0.15, 0.86);
|
|
493
|
+
--tt-transition-easing-back: cubic-bezier(0.68, -0.55, 0.27, 1.55);
|
|
494
|
+
|
|
495
|
+
&,
|
|
496
|
+
*,
|
|
497
|
+
::before,
|
|
498
|
+
::after {
|
|
499
|
+
box-sizing: border-box;
|
|
500
|
+
transition: none var(--tt-transition-duration-default)
|
|
501
|
+
var(--tt-transition-easing-default);
|
|
502
|
+
}
|
|
503
|
+
/**************************************************
|
|
504
|
+
Global colors
|
|
505
|
+
**************************************************/
|
|
506
|
+
|
|
507
|
+
--tt-bg-color: var(--background);
|
|
508
|
+
--tt-border-color: var(--tt-gray-light-a-200);
|
|
509
|
+
--tt-border-color-tint: var(--tt-gray-light-a-100);
|
|
510
|
+
--tt-sidebar-bg-color: var(--sidebar);
|
|
511
|
+
--tt-scrollbar-color: var(--tt-gray-light-a-200);
|
|
512
|
+
--tt-cursor-color: var(--tt-brand-color-500);
|
|
513
|
+
--tt-selection-color: hsl(from var(--primary) h s l / 0.3);
|
|
514
|
+
--tt-card-bg-color: var(--card);
|
|
515
|
+
--tt-card-border-color: var(--border);
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
/* Text colors */
|
|
519
|
+
:root {
|
|
520
|
+
--tt-color-text-gray: var(--muted-foreground);
|
|
521
|
+
--tt-color-text-brown: var(--secondary);
|
|
522
|
+
--tt-color-text-orange: var(--primary);
|
|
523
|
+
--tt-color-text-yellow: var(--primary);
|
|
524
|
+
--tt-color-text-green: var(--secondary);
|
|
525
|
+
--tt-color-text-blue: var(--primary);
|
|
526
|
+
--tt-color-text-purple: var(--primary);
|
|
527
|
+
--tt-color-text-pink: var(--primary);
|
|
528
|
+
--tt-color-text-red: var(--destructive);
|
|
529
|
+
|
|
530
|
+
--tt-color-text-gray-contrast: hsl(from var(--muted-foreground) h s l / 0.15);
|
|
531
|
+
--tt-color-text-brown-contrast: hsl(from var(--secondary) h s l / 0.2);
|
|
532
|
+
--tt-color-text-orange-contrast: hsl(from var(--primary) h s l / 0.2);
|
|
533
|
+
--tt-color-text-yellow-contrast: hsl(from var(--primary) h s l / 0.2);
|
|
534
|
+
--tt-color-text-green-contrast: hsl(from var(--secondary) h s l / 0.2);
|
|
535
|
+
--tt-color-text-blue-contrast: hsl(from var(--primary) h s l / 0.2);
|
|
536
|
+
--tt-color-text-purple-contrast: hsl(from var(--primary) h s l / 0.2);
|
|
537
|
+
--tt-color-text-pink-contrast: hsl(from var(--primary) h s l / 0.2);
|
|
538
|
+
--tt-color-text-red-contrast: hsl(from var(--destructive) h s l / 0.2);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
/* Highlight colors */
|
|
542
|
+
:root {
|
|
543
|
+
--tt-color-highlight-yellow: hsl(from var(--primary) h s l / 0.1);
|
|
544
|
+
--tt-color-highlight-green: hsl(from var(--secondary) h s l / 0.1);
|
|
545
|
+
--tt-color-highlight-blue: hsl(from var(--primary) h s l / 0.1);
|
|
546
|
+
--tt-color-highlight-purple: hsl(from var(--primary) h s l / 0.1);
|
|
547
|
+
--tt-color-highlight-red: hsl(from var(--destructive) h s l / 0.1);
|
|
548
|
+
--tt-color-highlight-gray: var(--accent);
|
|
549
|
+
--tt-color-highlight-brown: hsl(from var(--secondary) h s l / 0.1);
|
|
550
|
+
--tt-color-highlight-orange: hsl(from var(--primary) h s l / 0.1);
|
|
551
|
+
--tt-color-highlight-pink: hsl(from var(--primary) h s l / 0.1);
|
|
552
|
+
|
|
553
|
+
--tt-color-highlight-yellow-contrast: hsl(from var(--primary) h s l / 0.2);
|
|
554
|
+
--tt-color-highlight-green-contrast: hsl(from var(--secondary) h s l / 0.2);
|
|
555
|
+
--tt-color-highlight-blue-contrast: hsl(from var(--primary) h s l / 0.2);
|
|
556
|
+
--tt-color-highlight-purple-contrast: hsl(from var(--primary) h s l / 0.2);
|
|
557
|
+
--tt-color-highlight-red-contrast: hsl(from var(--destructive) h s l / 0.2);
|
|
558
|
+
--tt-color-highlight-gray-contrast: var(--border);
|
|
559
|
+
--tt-color-highlight-brown-contrast: hsl(from var(--secondary) h s l / 0.2);
|
|
560
|
+
--tt-color-highlight-orange-contrast: hsl(from var(--primary) h s l / 0.2);
|
|
561
|
+
--tt-color-highlight-pink-contrast: hsl(from var(--primary) h s l / 0.2);
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
/**************************************************
|
|
565
|
+
Dark Mode Overrides
|
|
566
|
+
**************************************************/
|
|
567
|
+
|
|
568
|
+
.dark {
|
|
569
|
+
/******************
|
|
570
|
+
Dark Mode Shadow variables
|
|
571
|
+
******************/
|
|
572
|
+
|
|
573
|
+
/* Shadows Dark - More pronounced for dark backgrounds */
|
|
574
|
+
--tt-shadow-elevated-md:
|
|
575
|
+
0px 16px 48px 0px rgba(0, 0, 0, 0.3), 0px 12px 24px 0px rgba(0, 0, 0, 0.2),
|
|
576
|
+
0px 6px 8px 0px rgba(0, 0, 0, 0.15), 0px 2px 3px 0px rgba(0, 0, 0, 0.1);
|
|
577
|
+
|
|
578
|
+
/******************
|
|
579
|
+
Dark Mode Transparency adjustments
|
|
580
|
+
******************/
|
|
581
|
+
|
|
582
|
+
/* Adjusted transparency for better contrast in dark mode */
|
|
583
|
+
--transparent: rgba(0, 0, 0, 0);
|
|
584
|
+
|
|
585
|
+
/******************
|
|
586
|
+
Dark Mode Selection and cursor
|
|
587
|
+
******************/
|
|
588
|
+
|
|
589
|
+
/* Enhanced selection visibility in dark mode */
|
|
590
|
+
--tt-selection-color: hsl(from var(--primary) h s l / 0.4);
|
|
591
|
+
|
|
592
|
+
/* Cursor remains vibrant in dark mode */
|
|
593
|
+
--tt-cursor-color: var(--primary);
|
|
594
|
+
|
|
595
|
+
/******************
|
|
596
|
+
Dark Mode Scrollbar
|
|
597
|
+
******************/
|
|
598
|
+
|
|
599
|
+
/* More visible scrollbar in dark mode */
|
|
600
|
+
--tt-scrollbar-color: var(--tt-gray-light-a-300);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
/* === MIGRATED FROM shared/styles/globals.css === */
|
|
605
|
+
@keyframes fadeIn {
|
|
606
|
+
from {
|
|
607
|
+
opacity: 0;
|
|
608
|
+
}
|
|
609
|
+
to {
|
|
610
|
+
opacity: 1;
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
@keyframes fadeOut {
|
|
615
|
+
from {
|
|
616
|
+
opacity: 1;
|
|
617
|
+
}
|
|
618
|
+
to {
|
|
619
|
+
opacity: 0;
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
@keyframes zoomIn {
|
|
624
|
+
from {
|
|
625
|
+
transform: scale(0.95);
|
|
626
|
+
}
|
|
627
|
+
to {
|
|
628
|
+
transform: scale(1);
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
@keyframes zoomOut {
|
|
633
|
+
from {
|
|
634
|
+
transform: scale(1);
|
|
635
|
+
}
|
|
636
|
+
to {
|
|
637
|
+
transform: scale(0.95);
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
@keyframes zoom {
|
|
642
|
+
0% {
|
|
643
|
+
opacity: 0;
|
|
644
|
+
transform: scale(0.95);
|
|
645
|
+
}
|
|
646
|
+
100% {
|
|
647
|
+
opacity: 1;
|
|
648
|
+
transform: scale(1);
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
@keyframes slideFromTop {
|
|
653
|
+
from {
|
|
654
|
+
transform: translateY(-0.5rem);
|
|
655
|
+
}
|
|
656
|
+
to {
|
|
657
|
+
transform: translateY(0);
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
@keyframes slideFromRight {
|
|
662
|
+
from {
|
|
663
|
+
transform: translateX(0.5rem);
|
|
664
|
+
}
|
|
665
|
+
to {
|
|
666
|
+
transform: translateX(0);
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
@keyframes slideFromLeft {
|
|
671
|
+
from {
|
|
672
|
+
transform: translateX(-0.5rem);
|
|
673
|
+
}
|
|
674
|
+
to {
|
|
675
|
+
transform: translateX(0);
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
@keyframes slideFromBottom {
|
|
680
|
+
from {
|
|
681
|
+
transform: translateY(0.5rem);
|
|
682
|
+
}
|
|
683
|
+
to {
|
|
684
|
+
transform: translateY(0);
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
@keyframes spin {
|
|
689
|
+
from {
|
|
690
|
+
transform: rotate(0deg);
|
|
691
|
+
}
|
|
692
|
+
to {
|
|
693
|
+
transform: rotate(360deg);
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
/* React Flow Theme Integration */
|
|
701
|
+
.react-flow {
|
|
702
|
+
--xy-background-color: transparent;
|
|
703
|
+
--xy-minimap-background-color: var(--card);
|
|
704
|
+
--xy-minimap-mask-background-color: var(--muted);
|
|
705
|
+
--xy-minimap-mask-stroke-color: var(--border);
|
|
706
|
+
--xy-controls-button-background-color: var(--card);
|
|
707
|
+
--xy-controls-button-background-color-hover: var(--muted);
|
|
708
|
+
--xy-controls-button-color: var(--foreground);
|
|
709
|
+
--xy-controls-button-color-hover: var(--foreground);
|
|
710
|
+
--xy-controls-button-border-color: var(--border);
|
|
711
|
+
--xy-node-border-color: var(--border);
|
|
712
|
+
--xy-node-background-color: var(--card);
|
|
713
|
+
--xy-node-color: var(--foreground);
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
body {
|
|
717
|
+
letter-spacing: var(--tracking-normal);
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
/* ============================================================
|
|
721
|
+
Book Editor — Page Sheet
|
|
722
|
+
The .page-sheet class represents a book/document page inside
|
|
723
|
+
the multi-page editor. It uses CSS variables so it adapts to
|
|
724
|
+
the active theme (light/dark) without JavaScript.
|
|
725
|
+
============================================================ */
|
|
726
|
+
.page-sheet {
|
|
727
|
+
background-color: #ffffff;
|
|
728
|
+
color: #09090b;
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
.dark .page-sheet {
|
|
732
|
+
background-color: var(--card);
|
|
733
|
+
color: var(--card-foreground);
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
/* Ensure Tailwind prose typography respects page-sheet theme */
|
|
737
|
+
.dark .page-sheet .prose,
|
|
738
|
+
.dark .page-sheet .prose-invert {
|
|
739
|
+
color: var(--card-foreground);
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
/* Inspector Panel Styles - Correções de Layout */
|
|
743
|
+
.inspector-container {
|
|
744
|
+
@apply flex flex-col h-full overflow-hidden;
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
.inspector-content {
|
|
748
|
+
@apply flex-1 overflow-y-auto p-4 space-y-4;
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
.inspector-field {
|
|
752
|
+
@apply space-y-2;
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
.inspector-label {
|
|
756
|
+
@apply text-sm font-medium text-foreground leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70;
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
.inspector-input {
|
|
760
|
+
@apply flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50;
|
|
761
|
+
word-wrap: break-word;
|
|
762
|
+
overflow-wrap: break-word;
|
|
763
|
+
hyphens: auto;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
.inspector-textarea {
|
|
767
|
+
@apply flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50;
|
|
768
|
+
word-wrap: break-word;
|
|
769
|
+
overflow-wrap: break-word;
|
|
770
|
+
hyphens: auto;
|
|
771
|
+
white-space: pre-wrap;
|
|
772
|
+
resize: vertical;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
@theme inline {
|
|
776
|
+
--color-background: var(--background);
|
|
777
|
+
--color-foreground: var(--foreground);
|
|
778
|
+
--color-card: var(--card);
|
|
779
|
+
--color-card-foreground: var(--card-foreground);
|
|
780
|
+
--color-popover: var(--popover);
|
|
781
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
782
|
+
--color-primary: var(--primary);
|
|
783
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
784
|
+
--color-secondary: var(--secondary);
|
|
785
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
786
|
+
--color-muted: var(--muted);
|
|
787
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
788
|
+
--color-accent: var(--accent);
|
|
789
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
790
|
+
--color-destructive: var(--destructive);
|
|
791
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
792
|
+
--color-border: var(--border);
|
|
793
|
+
--color-input: var(--input);
|
|
794
|
+
--color-ring: var(--ring);
|
|
795
|
+
--color-chart-1: var(--chart-1);
|
|
796
|
+
--color-chart-2: var(--chart-2);
|
|
797
|
+
--color-chart-3: var(--chart-3);
|
|
798
|
+
--color-chart-4: var(--chart-4);
|
|
799
|
+
--color-chart-5: var(--chart-5);
|
|
800
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
801
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
802
|
+
--radius-lg: var(--radius);
|
|
803
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
804
|
+
--color-sidebar: var(--sidebar);
|
|
805
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
806
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
807
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
808
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
809
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
810
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
811
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
812
|
+
--font-sans: var(--font-sans);
|
|
813
|
+
--font-serif: var(--font-serif);
|
|
814
|
+
--font-mono: var(--font-mono);
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
/* Added glassmorphism utilities and custom styles */
|
|
818
|
+
@layer utilities {
|
|
819
|
+
.glass {
|
|
820
|
+
@apply bg-white/70 backdrop-blur-xl border-white/20;
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
.glass-dark {
|
|
824
|
+
@apply bg-gray-900/70 backdrop-blur-xl border-gray-700/20;
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
.gradient-text {
|
|
828
|
+
background: linear-gradient(
|
|
829
|
+
135deg,
|
|
830
|
+
var(--primary) 0%,
|
|
831
|
+
var(--secondary) 100%
|
|
832
|
+
);
|
|
833
|
+
-webkit-background-clip: text;
|
|
834
|
+
-webkit-text-fill-color: transparent;
|
|
835
|
+
background-clip: text;
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
.gradient-bg {
|
|
839
|
+
background: linear-gradient(
|
|
840
|
+
135deg,
|
|
841
|
+
var(--primary) 0%,
|
|
842
|
+
var(--secondary) 100%
|
|
843
|
+
);
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
/* Added animated gradient blobs for background decoration */
|
|
847
|
+
.gradient-blob {
|
|
848
|
+
position: absolute;
|
|
849
|
+
border-radius: 50%;
|
|
850
|
+
filter: blur(40px);
|
|
851
|
+
opacity: 0.05;
|
|
852
|
+
animation: float 20s ease-in-out infinite;
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
.gradient-blob-1 {
|
|
856
|
+
width: 300px;
|
|
857
|
+
height: 300px;
|
|
858
|
+
background: linear-gradient(45deg, var(--primary), var(--secondary));
|
|
859
|
+
opacity: 0.05;
|
|
860
|
+
top: 10%;
|
|
861
|
+
left: 10%;
|
|
862
|
+
animation-delay: 0s;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
.gradient-blob-2 {
|
|
866
|
+
width: 200px;
|
|
867
|
+
height: 200px;
|
|
868
|
+
background: linear-gradient(135deg, var(--secondary), var(--primary));
|
|
869
|
+
opacity: 0.05;
|
|
870
|
+
top: 60%;
|
|
871
|
+
right: 15%;
|
|
872
|
+
animation-delay: -10s;
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
.gradient-blob-3 {
|
|
876
|
+
width: 250px;
|
|
877
|
+
height: 250px;
|
|
878
|
+
background: linear-gradient(225deg, var(--primary), var(--accent));
|
|
879
|
+
opacity: 0.05;
|
|
880
|
+
bottom: 20%;
|
|
881
|
+
left: 50%;
|
|
882
|
+
animation-delay: -5s;
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
.aurora-bg {
|
|
886
|
+
background: linear-gradient(
|
|
887
|
+
135deg,
|
|
888
|
+
hsla(from var(--primary) h s l / 0.1) 0%,
|
|
889
|
+
hsla(from var(--secondary) h s l / 0.1) 50%,
|
|
890
|
+
hsla(from var(--primary) h s l / 0.1) 100%
|
|
891
|
+
);
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
.font-heading {
|
|
895
|
+
@apply font-serif font-semibold;
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
.font-body {
|
|
899
|
+
@apply font-sans;
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
/* Skeleton shimmer animation */
|
|
903
|
+
@keyframes shimmer {
|
|
904
|
+
0% {
|
|
905
|
+
transform: translateX(-100%);
|
|
906
|
+
}
|
|
907
|
+
100% {
|
|
908
|
+
transform: translateX(100%);
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
@layer base {
|
|
914
|
+
* {
|
|
915
|
+
@apply border-border outline-ring/50;
|
|
916
|
+
}
|
|
917
|
+
body, .remotion-container {
|
|
918
|
+
@apply bg-background text-foreground;
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
/* For Remotion Commercial Video - Hide specific scrollbars */
|
|
923
|
+
.hide-scrollbar::-webkit-scrollbar {
|
|
924
|
+
display: none;
|
|
925
|
+
}
|
|
926
|
+
.hide-scrollbar {
|
|
927
|
+
-ms-overflow-style: none; /* IE and Edge */
|
|
928
|
+
scrollbar-width: none; /* Firefox */
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
/* Fallback fonts removed. Next.js handles fonts via next/font, and these unresolved absolute URLs cause Webpack/Remotion bundling errors. */
|
|
934
|
+
|
|
935
|
+
/* Tour Styles - React Joyride */
|
|
936
|
+
[data-tour] {
|
|
937
|
+
position: relative;
|
|
938
|
+
z-index: 1;
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
/* Tour Responsive Styles */
|
|
942
|
+
.inspirare-tour [data-tour-elem="tooltip"] {
|
|
943
|
+
max-width: 420px;
|
|
944
|
+
width: 90vw;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
/* Mobile Tour Styles (up to 640px) */
|
|
948
|
+
@media (max-width: 640px) {
|
|
949
|
+
.inspirare-tour [data-tour-elem="tooltip"] {
|
|
950
|
+
max-width: 320px;
|
|
951
|
+
width: 95vw;
|
|
952
|
+
padding: 16px !important;
|
|
953
|
+
font-size: 14px;
|
|
954
|
+
margin: 8px;
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
.inspirare-tour [data-tour-elem="tooltip"] h3 {
|
|
958
|
+
font-size: 16px !important;
|
|
959
|
+
line-height: 1.4 !important;
|
|
960
|
+
margin-bottom: 8px !important;
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
.inspirare-tour [data-tour-elem="tooltip"] p {
|
|
964
|
+
font-size: 13px !important;
|
|
965
|
+
line-height: 1.5 !important;
|
|
966
|
+
margin-bottom: 6px !important;
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
.inspirare-tour [data-tour-elem="tooltip"] .glass,
|
|
970
|
+
.inspirare-tour [data-tour-elem="tooltip"] .bg-primary\/5 {
|
|
971
|
+
padding: 8px !important;
|
|
972
|
+
margin-top: 8px !important;
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
.inspirare-tour [data-tour-elem="tooltip"] .glass p,
|
|
976
|
+
.inspirare-tour [data-tour-elem="tooltip"] .bg-primary\/5 p {
|
|
977
|
+
font-size: 11px !important;
|
|
978
|
+
line-height: 1.4 !important;
|
|
979
|
+
margin-bottom: 0 !important;
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
.inspirare-tour [data-tour-elem="controls"] {
|
|
983
|
+
margin-top: 12px !important;
|
|
984
|
+
gap: 8px !important;
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
.inspirare-tour [data-tour-elem="controls"] button {
|
|
988
|
+
padding: 8px 12px !important;
|
|
989
|
+
font-size: 12px !important;
|
|
990
|
+
min-width: 60px !important;
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
.inspirare-tour .space-y-4 > * + * {
|
|
994
|
+
margin-top: 12px !important;
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
.inspirare-tour .space-y-3 > * + * {
|
|
998
|
+
margin-top: 8px !important;
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
/* Tablet Tour Styles (641px to 1024px) */
|
|
1003
|
+
@media (min-width: 641px) and (max-width: 1024px) {
|
|
1004
|
+
.inspirare-tour [data-tour-elem="tooltip"] {
|
|
1005
|
+
max-width: 380px;
|
|
1006
|
+
width: 85vw;
|
|
1007
|
+
padding: 20px !important;
|
|
1008
|
+
font-size: 14px;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
.inspirare-tour [data-tour-elem="tooltip"] h3 {
|
|
1012
|
+
font-size: 17px !important;
|
|
1013
|
+
line-height: 1.4 !important;
|
|
1014
|
+
margin-bottom: 10px !important;
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
.inspirare-tour [data-tour-elem="tooltip"] p {
|
|
1018
|
+
font-size: 13px !important;
|
|
1019
|
+
line-height: 1.6 !important;
|
|
1020
|
+
margin-bottom: 8px !important;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
.inspirare-tour [data-tour-elem="tooltip"] .glass,
|
|
1024
|
+
.inspirare-tour [data-tour-elem="tooltip"] .bg-primary\/5 {
|
|
1025
|
+
padding: 10px !important;
|
|
1026
|
+
margin-top: 10px !important;
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
.inspirare-tour [data-tour-elem="tooltip"] .glass p,
|
|
1030
|
+
.inspirare-tour [data-tour-elem="tooltip"] .bg-primary\/5 p {
|
|
1031
|
+
font-size: 11px !important;
|
|
1032
|
+
line-height: 1.4 !important;
|
|
1033
|
+
margin-bottom: 0 !important;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
.inspirare-tour [data-tour-elem="controls"] {
|
|
1037
|
+
margin-top: 16px !important;
|
|
1038
|
+
gap: 10px !important;
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
.inspirare-tour [data-tour-elem="controls"] button {
|
|
1042
|
+
padding: 10px 16px !important;
|
|
1043
|
+
font-size: 13px !important;
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
.inspirare-tour .space-y-4 > * + * {
|
|
1047
|
+
margin-top: 14px !important;
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1050
|
+
.inspirare-tour .space-y-3 > * + * {
|
|
1051
|
+
margin-top: 10px !important;
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
/* Desktop Tour Styles (1025px and up) */
|
|
1056
|
+
@media (min-width: 1025px) {
|
|
1057
|
+
.inspirare-tour [data-tour-elem="tooltip"] {
|
|
1058
|
+
max-width: 420px;
|
|
1059
|
+
width: auto;
|
|
1060
|
+
padding: 24px !important;
|
|
1061
|
+
font-size: 14px;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
.inspirare-tour [data-tour-elem="tooltip"] h3 {
|
|
1065
|
+
font-size: 18px !important;
|
|
1066
|
+
line-height: 1.4 !important;
|
|
1067
|
+
margin-bottom: 12px !important;
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
.inspirare-tour [data-tour-elem="tooltip"] p {
|
|
1071
|
+
font-size: 14px !important;
|
|
1072
|
+
line-height: 1.6 !important;
|
|
1073
|
+
margin-bottom: 10px !important;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
.inspirare-tour [data-tour-elem="tooltip"] .glass,
|
|
1077
|
+
.inspirare-tour [data-tour-elem="tooltip"] .bg-primary\/5 {
|
|
1078
|
+
padding: 12px !important;
|
|
1079
|
+
margin-top: 12px !important;
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
.inspirare-tour [data-tour-elem="tooltip"] .glass p,
|
|
1083
|
+
.inspirare-tour [data-tour-elem="tooltip"] .bg-primary\/5 p {
|
|
1084
|
+
font-size: 12px !important;
|
|
1085
|
+
line-height: 1.4 !important;
|
|
1086
|
+
margin-bottom: 0 !important;
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
.inspirare-tour [data-tour-elem="controls"] {
|
|
1090
|
+
margin-top: 20px !important;
|
|
1091
|
+
gap: 12px !important;
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
.inspirare-tour [data-tour-elem="controls"] button {
|
|
1095
|
+
padding: 12px 20px !important;
|
|
1096
|
+
font-size: 14px !important;
|
|
1097
|
+
}
|
|
1098
|
+
|
|
1099
|
+
.inspirare-tour .space-y-4 > * + * {
|
|
1100
|
+
margin-top: 16px !important;
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
.inspirare-tour .space-y-3 > * + * {
|
|
1104
|
+
margin-top: 12px !important;
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
/* Tour Spotlight Responsive Adjustments */
|
|
1109
|
+
@media (max-width: 640px) {
|
|
1110
|
+
.inspirare-tour [data-tour-elem="spotlight"] {
|
|
1111
|
+
border-width: 1px !important;
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
@media (min-width: 641px) and (max-width: 1024px) {
|
|
1116
|
+
.inspirare-tour [data-tour-elem="spotlight"] {
|
|
1117
|
+
border-width: 1.5px !important;
|
|
1118
|
+
}
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
@media (min-width: 1025px) {
|
|
1122
|
+
.inspirare-tour [data-tour-elem="spotlight"] {
|
|
1123
|
+
border-width: 2px !important;
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1127
|
+
/* Focus Mode Styles */
|
|
1128
|
+
.focus-mode-active {
|
|
1129
|
+
overflow: hidden;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
.focus-mode-active .main-header,
|
|
1133
|
+
.focus-mode-active .sidebar,
|
|
1134
|
+
.focus-mode-active .bottom-toolbar,
|
|
1135
|
+
.focus-mode-active [data-hide-in-focus] {
|
|
1136
|
+
display: none !important;
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
/* Z-Index Hierarchy */
|
|
1140
|
+
.focus-mode-overlay {
|
|
1141
|
+
z-index: 9999 !important;
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
.floating-stats {
|
|
1145
|
+
z-index: 9998 !important;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
.writer-toolbar-focus {
|
|
1149
|
+
z-index: 9997 !important;
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
/* Floating Stats Specific Styles */
|
|
1153
|
+
.stats-container {
|
|
1154
|
+
position: fixed;
|
|
1155
|
+
bottom: 16px;
|
|
1156
|
+
right: 16px;
|
|
1157
|
+
z-index: 9998;
|
|
1158
|
+
transition: all 0.3s ease;
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
.stats-container.focus-mode {
|
|
1162
|
+
bottom: 24px;
|
|
1163
|
+
right: 24px;
|
|
1164
|
+
backdrop-filter: blur(20px);
|
|
1165
|
+
background: rgba(255, 255, 255, 0.1);
|
|
1166
|
+
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
1167
|
+
border-radius: 24px;
|
|
1168
|
+
padding: 16px;
|
|
1169
|
+
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
.stats-container.focus-mode.dark {
|
|
1173
|
+
background: rgba(0, 0, 0, 0.2);
|
|
1174
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
/* Focus Mode Editor - Removed conflicting styles to prevent interference with component-level styles */
|
|
1178
|
+
|
|
1179
|
+
/* Writer Toolbar in Focus Mode */
|
|
1180
|
+
.writer-toolbar-focus {
|
|
1181
|
+
backdrop-filter: blur(20px);
|
|
1182
|
+
background: rgba(255, 255, 255, 0.05);
|
|
1183
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1184
|
+
border-radius: 16px;
|
|
1185
|
+
padding: 12px;
|
|
1186
|
+
margin-bottom: 16px;
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
.writer-toolbar-focus .toolbar-button {
|
|
1190
|
+
background: rgba(255, 255, 255, 0.1);
|
|
1191
|
+
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
1192
|
+
color: white;
|
|
1193
|
+
transition: all 0.3s ease;
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
.writer-toolbar-focus .toolbar-button:hover {
|
|
1197
|
+
background: rgba(255, 255, 255, 0.2);
|
|
1198
|
+
transform: scale(1.05);
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
.writer-toolbar-focus .toolbar-button.active {
|
|
1202
|
+
background: linear-gradient(135deg, #dc663e, #e3ac8e);
|
|
1203
|
+
border-color: #dc663e;
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
/* Elegant Button Styles */
|
|
1207
|
+
.btn-elegant-primary {
|
|
1208
|
+
background: linear-gradient(135deg, #dc663e, #e3ac8e);
|
|
1209
|
+
border: none;
|
|
1210
|
+
color: white;
|
|
1211
|
+
font-weight: 600;
|
|
1212
|
+
padding: 12px 24px;
|
|
1213
|
+
border-radius: 12px;
|
|
1214
|
+
transition: all 0.3s ease;
|
|
1215
|
+
box-shadow: 0 4px 15px rgba(220, 102, 62, 0.3);
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
.btn-elegant-primary:hover {
|
|
1219
|
+
transform: translateY(-2px);
|
|
1220
|
+
box-shadow: 0 8px 25px rgba(220, 102, 62, 0.4);
|
|
1221
|
+
background: linear-gradient(135deg, #e3ac8e, #dc663e);
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1224
|
+
.btn-elegant-secondary {
|
|
1225
|
+
background: linear-gradient(
|
|
1226
|
+
135deg,
|
|
1227
|
+
rgba(227, 172, 142, 0.8),
|
|
1228
|
+
rgba(227, 172, 142, 1)
|
|
1229
|
+
);
|
|
1230
|
+
border: 1px solid rgba(220, 102, 62, 0.3);
|
|
1231
|
+
color: #8b4513;
|
|
1232
|
+
font-weight: 500;
|
|
1233
|
+
padding: 10px 20px;
|
|
1234
|
+
border-radius: 10px;
|
|
1235
|
+
transition: all 0.3s ease;
|
|
1236
|
+
backdrop-filter: blur(10px);
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
.btn-elegant-secondary:hover {
|
|
1240
|
+
background: linear-gradient(
|
|
1241
|
+
135deg,
|
|
1242
|
+
rgba(227, 172, 142, 1),
|
|
1243
|
+
rgba(227, 172, 142, 0.8)
|
|
1244
|
+
);
|
|
1245
|
+
transform: translateY(-1px);
|
|
1246
|
+
box-shadow: 0 4px 15px rgba(227, 172, 142, 0.3);
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1249
|
+
/* Glass Effect Utilities */
|
|
1250
|
+
.glass-effect {
|
|
1251
|
+
backdrop-filter: blur(20px);
|
|
1252
|
+
background: rgba(255, 255, 255, 0.1);
|
|
1253
|
+
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
1254
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
.glass-effect-dark {
|
|
1258
|
+
backdrop-filter: blur(20px);
|
|
1259
|
+
background: rgba(0, 0, 0, 0.2);
|
|
1260
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1261
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1264
|
+
/* Responsive adjustments for mobile */
|
|
1265
|
+
@media (max-width: 768px) {
|
|
1266
|
+
.stats-container.focus-mode {
|
|
1267
|
+
bottom: 16px;
|
|
1268
|
+
right: 16px;
|
|
1269
|
+
left: 16px;
|
|
1270
|
+
width: auto;
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
/* Animation keyframes */
|
|
1276
|
+
@keyframes fadeInUp {
|
|
1277
|
+
from {
|
|
1278
|
+
opacity: 0;
|
|
1279
|
+
transform: translateY(20px);
|
|
1280
|
+
}
|
|
1281
|
+
to {
|
|
1282
|
+
opacity: 1;
|
|
1283
|
+
transform: translateY(0);
|
|
1284
|
+
}
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
@keyframes slideInRight {
|
|
1288
|
+
from {
|
|
1289
|
+
opacity: 0;
|
|
1290
|
+
transform: translateX(20px);
|
|
1291
|
+
}
|
|
1292
|
+
to {
|
|
1293
|
+
opacity: 1;
|
|
1294
|
+
transform: translateX(0);
|
|
1295
|
+
}
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1298
|
+
@keyframes float {
|
|
1299
|
+
0%,
|
|
1300
|
+
100% {
|
|
1301
|
+
transform: translateY(0px) rotate(0deg);
|
|
1302
|
+
opacity: 0.3;
|
|
1303
|
+
}
|
|
1304
|
+
50% {
|
|
1305
|
+
transform: translateY(-8px) rotate(180deg);
|
|
1306
|
+
opacity: 0.7;
|
|
1307
|
+
}
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1310
|
+
.animate-fade-in-up {
|
|
1311
|
+
animation: fadeInUp 0.6s ease-out;
|
|
1312
|
+
}
|
|
1313
|
+
|
|
1314
|
+
.animate-slide-in-right {
|
|
1315
|
+
animation: slideInRight 0.5s ease-out;
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
.animate-float {
|
|
1319
|
+
animation: float 6s ease-in-out infinite;
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1322
|
+
/* Navigation tree visual connectors and refined hierarchy effects */
|
|
1323
|
+
.nav-tree {
|
|
1324
|
+
position: relative;
|
|
1325
|
+
/* Slightly wider default offset to align with improved paddings */
|
|
1326
|
+
--tree-offset: 1rem;
|
|
1327
|
+
--tree-stroke: 1.25px;
|
|
1328
|
+
--tree-color: hsla(from var(--primary) h s l / 0.18);
|
|
1329
|
+
}
|
|
1330
|
+
.nav-tree--indent-sm {
|
|
1331
|
+
--tree-offset: 0.875rem;
|
|
1332
|
+
}
|
|
1333
|
+
.nav-tree--indent-md {
|
|
1334
|
+
--tree-offset: 1rem;
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1337
|
+
.nav-tree::before {
|
|
1338
|
+
content: "";
|
|
1339
|
+
position: absolute;
|
|
1340
|
+
left: var(--tree-offset);
|
|
1341
|
+
top: 6px;
|
|
1342
|
+
bottom: 6px;
|
|
1343
|
+
width: var(--tree-stroke);
|
|
1344
|
+
background: linear-gradient(
|
|
1345
|
+
to bottom,
|
|
1346
|
+
hsla(from var(--primary) h s l / 0.18),
|
|
1347
|
+
hsla(from var(--primary) h s l / 0.1),
|
|
1348
|
+
hsla(from var(--primary) h s l / 0.08)
|
|
1349
|
+
);
|
|
1350
|
+
border-radius: 6px;
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
.nav-tree-item {
|
|
1354
|
+
position: relative;
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
.nav-tree-item::before {
|
|
1358
|
+
content: "";
|
|
1359
|
+
position: absolute;
|
|
1360
|
+
left: calc(var(--tree-offset) - 0.25rem);
|
|
1361
|
+
top: 50%;
|
|
1362
|
+
width: 16px;
|
|
1363
|
+
height: var(--tree-stroke);
|
|
1364
|
+
background: hsla(from var(--primary) h s l / 0.2);
|
|
1365
|
+
transform: translateY(-50%);
|
|
1366
|
+
border-radius: 6px;
|
|
1367
|
+
}
|
|
1368
|
+
.nav-tree-item:hover::before {
|
|
1369
|
+
background: hsla(from var(--primary) h s l / 0.28);
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1372
|
+
/* Subtle hover — reduced glow to keep elegance */
|
|
1373
|
+
.nav-tree-item:hover {
|
|
1374
|
+
box-shadow: 0 0 0 2px rgba(220, 102, 62, 0.06);
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1377
|
+
/* Children connector (secondary vertical line for nested items) */
|
|
1378
|
+
.nav-tree-children {
|
|
1379
|
+
position: relative;
|
|
1380
|
+
}
|
|
1381
|
+
.nav-tree-children::before {
|
|
1382
|
+
content: "";
|
|
1383
|
+
position: absolute;
|
|
1384
|
+
left: calc(var(--tree-offset) + 0.65rem);
|
|
1385
|
+
top: 4px;
|
|
1386
|
+
bottom: 4px;
|
|
1387
|
+
width: var(--tree-stroke);
|
|
1388
|
+
background: hsla(from var(--primary) h s l / 0.14);
|
|
1389
|
+
border-radius: 6px;
|
|
1390
|
+
}
|
|
1391
|
+
|
|
1392
|
+
/* ============================================================
|
|
1393
|
+
Ad Banner — Themed Container
|
|
1394
|
+
The AdSense <ins> iframe always renders white internally;
|
|
1395
|
+
we can't reach inside it. What we CAN do is style the
|
|
1396
|
+
wrapping container so it blends with each theme gracefully.
|
|
1397
|
+
============================================================ */
|
|
1398
|
+
.ad-container {
|
|
1399
|
+
background-color: var(--background);
|
|
1400
|
+
border: 1px solid var(--border);
|
|
1401
|
+
transition: background-color 0.2s ease, border-color 0.2s ease;
|
|
1402
|
+
}
|
|
1403
|
+
|
|
1404
|
+
.dark .ad-container {
|
|
1405
|
+
/* #404040 — close enough to the dark page bg to soften the white iframe */
|
|
1406
|
+
background-color: var(--muted);
|
|
1407
|
+
border-color: var(--border);
|
|
1408
|
+
/* Subtle inner shadow to visually "frame" the white ad block */
|
|
1409
|
+
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
|
|
1410
|
+
}
|
|
1411
|
+
|
|
1412
|
+
/* Placeholder shimmer while the ad is loading */
|
|
1413
|
+
.ad-container:empty::after,
|
|
1414
|
+
.ad-container .adsbygoogle:not([data-adsbygoogle-status])::after {
|
|
1415
|
+
content: "";
|
|
1416
|
+
display: block;
|
|
1417
|
+
width: 100%;
|
|
1418
|
+
min-height: 90px;
|
|
1419
|
+
border-radius: 0.375rem;
|
|
1420
|
+
background: linear-gradient(
|
|
1421
|
+
90deg,
|
|
1422
|
+
var(--muted) 25%,
|
|
1423
|
+
var(--border) 50%,
|
|
1424
|
+
var(--muted) 75%
|
|
1425
|
+
);
|
|
1426
|
+
background-size: 200% 100%;
|
|
1427
|
+
animation: adShimmer 1.6s ease-in-out infinite;
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
@keyframes adShimmer {
|
|
1431
|
+
0% { background-position: 200% 0; }
|
|
1432
|
+
100% { background-position: -200% 0; }
|
|
1433
|
+
}
|
|
1434
|
+
|