@formant/aesthetics 0.0.8 → 0.1.0

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.
@@ -1,692 +0,0 @@
1
- /**
2
- * @formant/aesthetics - Complete Component Styles
3
- * This file contains all utility classes used by @formant/aesthetics components.
4
- * Import this file to get styled components without Tailwind CSS in your project.
5
- */
6
-
7
- /* Base Theme */
8
- @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@300;400;500&display=swap');
9
-
10
- :root {
11
- --background: #202428;
12
- --foreground: #F2F3F4;
13
- --card: #0A0F11;
14
- --card-foreground: #F2F3F4;
15
- --popover: #202428;
16
- --popover-foreground: #F2F3F4;
17
- --primary: #ACC3B3;
18
- --primary-foreground: #0A0F11;
19
- --secondary: #202428;
20
- --secondary-foreground: #F2F3F4;
21
- --muted: #202428;
22
- --muted-foreground: #A3ABA9;
23
- --accent: #2C4142;
24
- --accent-foreground: #F2F3F4;
25
- --destructive: #E8AB7F;
26
- --destructive-foreground: #0A0F11;
27
- --border: rgba(163, 171, 169, 0.1);
28
- --input: rgba(163, 171, 169, 0.2);
29
- --ring: #ACC3B3;
30
- --radius: 0.25rem;
31
- --font-heading: 'Space Grotesk', sans-serif;
32
- --font-sans: 'Inter', sans-serif;
33
- --font-mono: 'JetBrains Mono', monospace;
34
- }
35
-
36
- * {
37
- box-sizing: border-box;
38
- border-color: var(--border);
39
- }
40
-
41
- body {
42
- background-color: var(--background);
43
- color: var(--foreground);
44
- font-family: var(--font-sans);
45
- margin: 0;
46
- min-height: 100vh;
47
- }
48
-
49
- html {
50
- font-family: var(--font-sans);
51
- }
52
-
53
- h1, h2, h3, h4, h5, h6 {
54
- font-family: var(--font-heading);
55
- letter-spacing: -0.02em;
56
- margin: 0;
57
- }
58
-
59
- p { margin: 0; }
60
-
61
- a {
62
- color: inherit;
63
- text-decoration: none;
64
- }
65
-
66
- button {
67
- font-family: inherit;
68
- }
69
-
70
- /* Flex & Layout */
71
- .flex { display: flex; }
72
- .inline-flex { display: inline-flex; }
73
- .grid { display: grid; }
74
- .block { display: block; }
75
- .inline { display: inline; }
76
- .hidden { display: none; }
77
- .contents { display: contents; }
78
-
79
- /* Grid */
80
- .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
81
- .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
82
- .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
83
- .grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
84
-
85
- /* Flex direction */
86
- .flex-row { flex-direction: row; }
87
- .flex-col { flex-direction: column; }
88
- .flex-row-reverse { flex-direction: row-reverse; }
89
- .flex-col-reverse { flex-direction: column-reverse; }
90
-
91
- /* Flex wrap */
92
- .flex-wrap { flex-wrap: wrap; }
93
- .flex-nowrap { flex-wrap: nowrap; }
94
-
95
- /* Alignment */
96
- .items-start { align-items: flex-start; }
97
- .items-end { align-items: flex-end; }
98
- .items-center { align-items: center; }
99
- .items-baseline { align-items: baseline; }
100
- .items-stretch { align-items: stretch; }
101
-
102
- .justify-start { justify-content: flex-start; }
103
- .justify-end { justify-content: flex-end; }
104
- .justify-center { justify-content: center; }
105
- .justify-between { justify-content: space-between; }
106
- .justify-around { justify-content: space-around; }
107
- .justify-evenly { justify-content: space-evenly; }
108
-
109
- /* Flex properties */
110
- .flex-1 { flex: 1 1 0%; }
111
- .flex-auto { flex: 1 1 auto; }
112
- .flex-initial { flex: 0 1 auto; }
113
- .flex-none { flex: none; }
114
- .shrink-0 { flex-shrink: 0; }
115
- .shrink { flex-shrink: 1; }
116
- .grow { flex-grow: 1; }
117
- .grow-0 { flex-grow: 0; }
118
-
119
- /* Spacing - Padding */
120
- .p-0 { padding: 0; }
121
- .p-1 { padding: 0.25rem; }
122
- .p-2 { padding: 0.5rem; }
123
- .p-3 { padding: 0.75rem; }
124
- .p-4 { padding: 1rem; }
125
- .p-5 { padding: 1.25rem; }
126
- .p-6 { padding: 1.5rem; }
127
- .p-8 { padding: 2rem; }
128
-
129
- .px-0 { padding-left: 0; padding-right: 0; }
130
- .px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
131
- .px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
132
- .px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
133
- .px-4 { padding-left: 1rem; padding-right: 1rem; }
134
- .px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
135
- .px-8 { padding-left: 2rem; padding-right: 2rem; }
136
-
137
- .py-0 { padding-top: 0; padding-bottom: 0; }
138
- .py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
139
- .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
140
- .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
141
- .py-4 { padding-top: 1rem; padding-bottom: 1rem; }
142
- .py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
143
- .py-8 { padding-top: 2rem; padding-bottom: 2rem; }
144
-
145
- .pb-0 { padding-bottom: 0; }
146
- .pb-2 { padding-bottom: 0.5rem; }
147
- .pb-4 { padding-bottom: 1rem; }
148
- .pb-6 { padding-bottom: 1.5rem; }
149
-
150
- .pt-0 { padding-top: 0; }
151
- .pt-4 { padding-top: 1rem; }
152
- .pt-6 { padding-top: 1.5rem; }
153
-
154
- .pl-4 { padding-left: 1rem; }
155
- .pl-8 { padding-left: 2rem; }
156
-
157
- .pr-2 { padding-right: 0.5rem; }
158
- .pr-4 { padding-right: 1rem; }
159
-
160
- /* Spacing - Margin */
161
- .m-0 { margin: 0; }
162
- .m-1 { margin: 0.25rem; }
163
- .m-2 { margin: 0.5rem; }
164
- .m-4 { margin: 1rem; }
165
- .m-auto { margin: auto; }
166
-
167
- .mx-auto { margin-left: auto; margin-right: auto; }
168
- .mx-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
169
- .mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
170
- .mx-4 { margin-left: 1rem; margin-right: 1rem; }
171
-
172
- .my-0 { margin-top: 0; margin-bottom: 0; }
173
- .my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; }
174
- .my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
175
- .my-4 { margin-top: 1rem; margin-bottom: 1rem; }
176
-
177
- .mb-0 { margin-bottom: 0; }
178
- .mb-1 { margin-bottom: 0.25rem; }
179
- .mb-2 { margin-bottom: 0.5rem; }
180
- .mb-4 { margin-bottom: 1rem; }
181
- .mb-6 { margin-bottom: 1.5rem; }
182
- .mb-8 { margin-bottom: 2rem; }
183
-
184
- .mt-0 { margin-top: 0; }
185
- .mt-1 { margin-top: 0.25rem; }
186
- .mt-2 { margin-top: 0.5rem; }
187
- .mt-4 { margin-top: 1rem; }
188
- .mt-6 { margin-top: 1.5rem; }
189
- .mt-8 { margin-top: 2rem; }
190
-
191
- .ml-1 { margin-left: 0.25rem; }
192
- .ml-2 { margin-left: 0.5rem; }
193
- .ml-4 { margin-left: 1rem; }
194
- .ml-auto { margin-left: auto; }
195
-
196
- .mr-1 { margin-right: 0.25rem; }
197
- .mr-2 { margin-right: 0.5rem; }
198
- .mr-4 { margin-right: 1rem; }
199
-
200
- .-mx-1 { margin-left: -0.25rem; margin-right: -0.25rem; }
201
- .-mx-4 { margin-left: -1rem; margin-right: -1rem; }
202
-
203
- .-my-1 { margin-top: -0.25rem; margin-bottom: -0.25rem; }
204
- .-mb-4 { margin-bottom: -1rem; }
205
-
206
- /* Gap */
207
- .gap-0 { gap: 0; }
208
- .gap-1 { gap: 0.25rem; }
209
- .gap-2 { gap: 0.5rem; }
210
- .gap-3 { gap: 0.75rem; }
211
- .gap-4 { gap: 1rem; }
212
- .gap-6 { gap: 1.5rem; }
213
- .gap-8 { gap: 2rem; }
214
-
215
- /* Space between */
216
- .space-y-0 > * + * { margin-top: 0; }
217
- .space-y-1 > * + * { margin-top: 0.25rem; }
218
- .space-y-2 > * + * { margin-top: 0.5rem; }
219
- .space-y-4 > * + * { margin-top: 1rem; }
220
- .space-y-6 > * + * { margin-top: 1.5rem; }
221
- .space-y-8 > * + * { margin-top: 2rem; }
222
-
223
- .space-x-0 > * + * { margin-left: 0; }
224
- .space-x-1 > * + * { margin-left: 0.25rem; }
225
- .space-x-2 > * + * { margin-left: 0.5rem; }
226
- .space-x-4 > * + * { margin-left: 1rem; }
227
- .space-x-8 > * + * { margin-left: 2rem; }
228
-
229
- /* Width */
230
- .w-full { width: 100%; }
231
- .w-auto { width: auto; }
232
- .w-fit { width: fit-content; }
233
- .w-min { width: min-content; }
234
- .w-max { width: max-content; }
235
-
236
- /* Height */
237
- .h-full { height: 100%; }
238
- .h-auto { height: auto; }
239
- .h-fit { height: fit-content; }
240
- .h-min { height: min-content; }
241
- .h-max { height: max-content; }
242
-
243
- /* Size */
244
- .size-4 { width: 1rem; height: 1rem; }
245
- .size-8 { width: 2rem; height: 2rem; }
246
- .size-9 { width: 2.25rem; height: 2.25rem; }
247
- .size-10 { width: 2.5rem; height: 2.5rem; }
248
-
249
- /* Min/Max width */
250
- .min-w-0 { min-width: 0px; }
251
- .min-w-full { min-width: 100%; }
252
- .min-w-fit { min-width: fit-content; }
253
- .min-w-max { min-width: max-content; }
254
- .min-w-min { min-width: min-content; }
255
-
256
- .max-w-full { max-width: 100%; }
257
- .max-w-sm { max-width: 24rem; }
258
- .max-w-md { max-width: 28rem; }
259
- .max-w-lg { max-width: 32rem; }
260
- .max-w-xl { max-width: 36rem; }
261
- .max-w-2xl { max-width: 42rem; }
262
- .max-w-3xl { max-width: 48rem; }
263
- .max-w-4xl { max-width: 56rem; }
264
- .max-w-5xl { max-width: 64rem; }
265
- .max-w-96 { max-width: 24rem; }
266
- .max-w-fit { max-width: fit-content; }
267
-
268
- /* Min/Max height */
269
- .min-h-full { min-height: 100%; }
270
- .min-h-screen { min-height: 100vh; }
271
- .min-h-svh { min-height: 100svh; }
272
-
273
- .max-h-full { max-height: 100%; }
274
- .max-h-screen { max-height: 100vh; }
275
-
276
- /* Position */
277
- .relative { position: relative; }
278
- .absolute { position: absolute; }
279
- .fixed { position: fixed; }
280
- .sticky { position: sticky; }
281
- .static { position: static; }
282
-
283
- .inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
284
- .inset-x-0 { left: 0; right: 0; }
285
- .inset-y-0 { top: 0; bottom: 0; }
286
-
287
- .top-0 { top: 0; }
288
- .top-1 { top: 0.25rem; }
289
- .top-2 { top: 0.5rem; }
290
- .top-4 { top: 1rem; }
291
- .top-full { top: 100%; }
292
-
293
- .bottom-0 { bottom: 0; }
294
- .bottom-2 { bottom: 0.5rem; }
295
- .bottom-4 { bottom: 1rem; }
296
- .bottom-full { bottom: 100%; }
297
-
298
- .left-0 { left: 0; }
299
- .left-1 { left: 0.25rem; }
300
- .left-2 { left: 0.5rem; }
301
- .left-full { left: 100%; }
302
-
303
- .right-0 { right: 0; }
304
- .right-1 { right: 0.25rem; }
305
- .right-2 { right: 0.5rem; }
306
- .right-full { right: 100%; }
307
-
308
- /* Z-index */
309
- .z-0 { z-index: 0; }
310
- .z-10 { z-index: 10; }
311
- .z-20 { z-index: 20; }
312
- .z-30 { z-index: 30; }
313
- .z-40 { z-index: 40; }
314
- .z-50 { z-index: 50; }
315
-
316
- /* Overflow */
317
- .overflow-auto { overflow: auto; }
318
- .overflow-hidden { overflow: hidden; }
319
- .overflow-visible { overflow: visible; }
320
- .overflow-scroll { overflow: scroll; }
321
- .overflow-x-auto { overflow-x: auto; }
322
- .overflow-y-auto { overflow-y: auto; }
323
- .overflow-x-hidden { overflow-x: hidden; }
324
- .overflow-y-hidden { overflow-y: hidden; }
325
-
326
- /* Text overflow */
327
- .truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
328
- .text-ellipsis { text-overflow: ellipsis; }
329
- .text-clip { text-overflow: clip; }
330
- .whitespace-nowrap { white-space: nowrap; }
331
- .whitespace-pre { white-space: pre; }
332
- .whitespace-pre-wrap { white-space: pre-wrap; }
333
- .whitespace-pre-line { white-space: pre-line; }
334
- .whitespace-normal { white-space: normal; }
335
-
336
- /* Border Radius */
337
- .rounded-none { border-radius: 0; }
338
- .rounded-sm { border-radius: calc(var(--radius) * 0.6); }
339
- .rounded { border-radius: var(--radius); }
340
- .rounded-md { border-radius: calc(var(--radius) * 0.8); }
341
- .rounded-lg { border-radius: var(--radius); }
342
- .rounded-xl { border-radius: calc(var(--radius) * 1.4); }
343
- .rounded-2xl { border-radius: calc(var(--radius) * 1.8); }
344
- .rounded-3xl { border-radius: calc(var(--radius) * 2.2); }
345
- .rounded-full { border-radius: 9999px; }
346
-
347
- .rounded-t-none { border-top-left-radius: 0; border-top-right-radius: 0; }
348
- .rounded-t { border-top-left-radius: var(--radius); border-top-right-radius: var(--radius); }
349
- .rounded-b { border-bottom-left-radius: var(--radius); border-bottom-right-radius: var(--radius); }
350
- .rounded-b-xl { border-bottom-left-radius: calc(var(--radius) * 1.4); border-bottom-right-radius: calc(var(--radius) * 1.4); }
351
- .rounded-l { border-top-left-radius: var(--radius); border-bottom-left-radius: var(--radius); }
352
- .rounded-r { border-top-right-radius: var(--radius); border-bottom-right-radius: var(--radius); }
353
- .rounded-tl { border-top-left-radius: var(--radius); }
354
- .rounded-tr { border-top-right-radius: var(--radius); }
355
- .rounded-bl { border-bottom-left-radius: var(--radius); }
356
- .rounded-br { border-bottom-right-radius: var(--radius); }
357
-
358
- /* Border width */
359
- .border-0 { border-width: 0px; }
360
- .border { border-width: 1px; }
361
- .border-2 { border-width: 2px; }
362
- .border-4 { border-width: 4px; }
363
- .border-8 { border-width: 8px; }
364
-
365
- .border-t { border-top-width: 1px; }
366
- .border-t-2 { border-top-width: 2px; }
367
- .border-b { border-bottom-width: 1px; }
368
- .border-l { border-left-width: 1px; }
369
- .border-r { border-right-width: 1px; }
370
-
371
- /* Border style */
372
- .border-solid { border-style: solid; }
373
- .border-dashed { border-style: dashed; }
374
- .border-dotted { border-style: dotted; }
375
- .border-double { border-style: double; }
376
- .border-hidden { border-style: hidden; }
377
- .border-none { border-style: none; }
378
-
379
- /* Border color */
380
- .border-transparent { border-color: transparent; }
381
- .border-inherit { border-color: inherit; }
382
- .border-current { border-color: currentColor; }
383
-
384
- /* Background color using theme */
385
- .bg-background { background-color: var(--background); }
386
- .bg-foreground { background-color: var(--foreground); }
387
- .bg-card { background-color: var(--card); }
388
- .bg-card-foreground { background-color: var(--card-foreground); }
389
- .bg-popover { background-color: var(--popover); }
390
- .bg-popover-foreground { background-color: var(--popover-foreground); }
391
- .bg-primary { background-color: var(--primary); }
392
- .bg-primary-foreground { background-color: var(--primary-foreground); }
393
- .bg-secondary { background-color: var(--secondary); }
394
- .bg-secondary-foreground { background-color: var(--secondary-foreground); }
395
- .bg-muted { background-color: var(--muted); }
396
- .bg-muted-foreground { background-color: var(--muted-foreground); }
397
- .bg-accent { background-color: var(--accent); }
398
- .bg-accent-foreground { background-color: var(--accent-foreground); }
399
- .bg-destructive { background-color: var(--destructive); }
400
- .bg-destructive-foreground { background-color: var(--destructive-foreground); }
401
- .bg-border { background-color: var(--border); }
402
- .bg-input { background-color: var(--input); }
403
- .bg-ring { background-color: var(--ring); }
404
- .bg-transparent { background-color: transparent; }
405
- .bg-black { background-color: #000; }
406
- .bg-white { background-color: #fff; }
407
-
408
- /* Text color using theme */
409
- .text-background { color: var(--background); }
410
- .text-foreground { color: var(--foreground); }
411
- .text-card { color: var(--card); }
412
- .text-card-foreground { color: var(--card-foreground); }
413
- .text-popover { color: var(--popover); }
414
- .text-popover-foreground { color: var(--popover-foreground); }
415
- .text-primary { color: var(--primary); }
416
- .text-primary-foreground { color: var(--primary-foreground); }
417
- .text-secondary { color: var(--secondary); }
418
- .text-secondary-foreground { color: var(--secondary-foreground); }
419
- .text-muted { color: var(--muted); }
420
- .text-muted-foreground { color: var(--muted-foreground); }
421
- .text-accent { color: var(--accent); }
422
- .text-accent-foreground { color: var(--accent-foreground); }
423
- .text-destructive { color: var(--destructive); }
424
- .text-destructive-foreground { color: var(--destructive-foreground); }
425
- .text-transparent { color: transparent; }
426
- .text-black { color: #000; }
427
- .text-white { color: #fff; }
428
-
429
- /* Font size */
430
- .text-xs { font-size: 0.75rem; line-height: 1rem; }
431
- .text-sm { font-size: 0.875rem; line-height: 1.25rem; }
432
- .text-base { font-size: 1rem; line-height: 1.5rem; }
433
- .text-lg { font-size: 1.125rem; line-height: 1.75rem; }
434
- .text-xl { font-size: 1.25rem; line-height: 1.75rem; }
435
- .text-2xl { font-size: 1.5rem; line-height: 2rem; }
436
- .text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
437
-
438
- /* Font weight */
439
- .font-light { font-weight: 300; }
440
- .font-normal { font-weight: 400; }
441
- .font-medium { font-weight: 500; }
442
- .font-semibold { font-weight: 600; }
443
- .font-bold { font-weight: 700; }
444
-
445
- /* Line height */
446
- .leading-3 { line-height: .75rem; }
447
- .leading-4 { line-height: 1rem; }
448
- .leading-5 { line-height: 1.25rem; }
449
- .leading-6 { line-height: 1.5rem; }
450
- .leading-7 { line-height: 1.75rem; }
451
- .leading-8 { line-height: 2rem; }
452
- .leading-none { line-height: 1; }
453
- .leading-tight { line-height: 1.25; }
454
- .leading-snug { line-height: 1.375; }
455
- .leading-normal { line-height: 1.5; }
456
- .leading-relaxed { line-height: 1.625; }
457
-
458
- /* Letter spacing */
459
- .tracking-tight { letter-spacing: -0.025em; }
460
- .tracking-normal { letter-spacing: 0em; }
461
- .tracking-wide { letter-spacing: 0.025em; }
462
- .tracking-wider { letter-spacing: 0.05em; }
463
- .tracking-widest { letter-spacing: 0.1em; }
464
-
465
- /* Text alignment */
466
- .text-left { text-align: left; }
467
- .text-center { text-align: center; }
468
- .text-right { text-align: right; }
469
- .text-justify { text-align: justify; }
470
- .text-start { text-align: start; }
471
- .text-end { text-align: end; }
472
-
473
- /* Text transform */
474
- .uppercase { text-transform: uppercase; }
475
- .lowercase { text-transform: lowercase; }
476
- .capitalize { text-transform: capitalize; }
477
- .normal-case { text-transform: none; }
478
-
479
- /* Text decoration */
480
- .underline { text-decoration-line: underline; }
481
- .overline { text-decoration-line: overline; }
482
- .line-through { text-decoration-line: line-through; }
483
- .no-underline { text-decoration-line: none; }
484
-
485
- /* Cursor */
486
- .cursor-auto { cursor: auto; }
487
- .cursor-default { cursor: default; }
488
- .cursor-pointer { cursor: pointer; }
489
- .cursor-wait { cursor: wait; }
490
- .cursor-text { cursor: text; }
491
- .cursor-move { cursor: move; }
492
- .cursor-help { cursor: help; }
493
- .cursor-not-allowed { cursor: not-allowed; }
494
-
495
- /* Pointer events */
496
- .pointer-events-auto { pointer-events: auto; }
497
- .pointer-events-none { pointer-events: none; }
498
-
499
- /* Select */
500
- .select-none { user-select: none; }
501
- .select-text { user-select: text; }
502
- .select-all { user-select: all; }
503
- .select-auto { user-select: auto; }
504
-
505
- /* Resize */
506
- .resize-none { resize: none; }
507
- .resize-y { resize: vertical; }
508
- .resize-x { resize: horizontal; }
509
- .resize { resize: both; }
510
-
511
- /* Appearance */
512
- .appearance-none { appearance: none; }
513
-
514
- /* Scroll behavior */
515
- .scroll-auto { scroll-behavior: auto; }
516
- .scroll-smooth { scroll-behavior: smooth; }
517
-
518
- /* List style */
519
- .list-none { list-style-type: none; }
520
- .list-disc { list-style-type: disc; }
521
- .list-decimal { list-style-type: decimal; }
522
-
523
- /* Outline */
524
- .outline-none { outline: 2px solid transparent; outline-offset: 2px; }
525
-
526
- /* Ring */
527
- .ring-0 { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); }
528
- .ring-1 { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); }
529
- .ring-2 { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); }
530
-
531
- /* Focus ring */
532
- .focus-visible\:ring-2:focus-visible { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); }
533
- .focus-visible\:outline-none:focus-visible { outline: 2px solid transparent; outline-offset: 2px; }
534
-
535
- /* Shadow */
536
- .shadow-sm { box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); }
537
- .shadow { box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); }
538
- .shadow-md { box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); }
539
- .shadow-lg { box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); }
540
- .shadow-xl { box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); }
541
-
542
- /* Opacity */
543
- .opacity-0 { opacity: 0; }
544
- .opacity-25 { opacity: 0.25; }
545
- .opacity-50 { opacity: 0.5; }
546
- .opacity-75 { opacity: 0.75; }
547
- .opacity-100 { opacity: 1; }
548
-
549
- /* Screen readers */
550
- .sr-only {
551
- position: absolute;
552
- width: 1px;
553
- height: 1px;
554
- padding: 0;
555
- margin: -1px;
556
- overflow: hidden;
557
- clip: rect(0, 0, 0, 0);
558
- white-space: nowrap;
559
- border-width: 0;
560
- }
561
-
562
- .not-sr-only {
563
- position: static;
564
- width: auto;
565
- height: auto;
566
- padding: 0;
567
- margin: 0;
568
- overflow: visible;
569
- clip: auto;
570
- white-space: normal;
571
- }
572
-
573
- /* Print */
574
- .print\:hidden { display: none; }
575
-
576
- /* Line clamp */
577
- .line-clamp-1 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
578
- .line-clamp-2 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
579
- .line-clamp-3 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
580
-
581
- /* Placeholder */
582
- .placeholder\:text-muted-foreground::placeholder { color: var(--muted-foreground); }
583
-
584
- /* File */
585
- .file\:border-0::file-selector-button { border-width: 0px; }
586
- .file\:bg-transparent::file-selector-button { background-color: transparent; }
587
- .file\:text-sm::file-selector-button { font-size: 0.875rem; line-height: 1.25rem; }
588
- .file\:font-medium::file-selector-button { font-weight: 500; }
589
-
590
- /* Marker */
591
- .marker\:text-foreground *::marker { color: var(--foreground); }
592
-
593
- /* Selection */
594
- .selection\:bg-primary *::selection { background-color: var(--primary); }
595
- .selection\:text-primary-foreground *::selection { color: var(--primary-foreground); }
596
-
597
- /* Animations */
598
- @keyframes fadeUp {
599
- from { opacity: 0; transform: translateY(24px); }
600
- to { opacity: 1; transform: translateY(0); }
601
- }
602
-
603
- .animate-fade-up { animation: fadeUp 0.7s ease forwards; }
604
-
605
- /* Section label */
606
- .section-label {
607
- font-family: 'JetBrains Mono', monospace;
608
- font-size: 10px;
609
- letter-spacing: 0.3em;
610
- color: #E8AB7F;
611
- text-transform: uppercase;
612
- display: flex;
613
- align-items: center;
614
- gap: 12px;
615
- }
616
-
617
- .section-label::before {
618
- content: '';
619
- display: block;
620
- width: 24px;
621
- height: 1px;
622
- background: #E8AB7F;
623
- }
624
-
625
- /* Brand colors */
626
- .bg-deep-command { background-color: #0A0F11; }
627
- .bg-slate-mist { background-color: #202428; }
628
- .bg-formant-white { background-color: #F2F3F4; }
629
- .bg-horizon-glow { background-color: #ACC3B3; }
630
- .bg-terminal-amber { background-color: #E8AB7F; }
631
-
632
- /* Arbitrary color classes used by components */
633
- .bg-[#0A0F11] { background-color: #0A0F11; }
634
- .bg-[#151B1C] { background-color: #151B1C; }
635
- .bg-[#1A2A22] { background-color: #1A2A22; }
636
- .bg-[#202428] { background-color: #202428; }
637
- .bg-[#2A1E14] { background-color: #2A1E14; }
638
- .bg-[#8B8CF4] { background-color: #8B8CF4; }
639
- .bg-[#ACC3B3] { background-color: #ACC3B3; }
640
- .bg-[#E8AB7F] { background-color: #E8AB7F; }
641
- .bg-[#F2F3F4] { background-color: #F2F3F4; }
642
- .bg-[#f0c090] { background-color: #f0c090; }
643
-
644
- .bg-[rgba(172,195,179,0.08)] { background-color: rgba(172,195,179,0.08); }
645
- .bg-[rgba(172,195,179,0.4)] { background-color: rgba(172,195,179,0.4); }
646
- .bg-[rgba(163,171,169,0.2)] { background-color: rgba(163,171,169,0.2); }
647
-
648
- .text-horizon-glow { color: #ACC3B3; }
649
- .text-terminal-amber { color: #E8AB7F; }
650
- .text-muted-foreground { color: var(--muted-foreground); }
651
-
652
- /* Border utilities */
653
- .border-border { border-color: var(--border); }
654
- .border-input { border-color: var(--input); }
655
- .border-ring { border-color: var(--ring); }
656
-
657
- /* Focus utilities */
658
- .focus-visible\:ring-1:focus-visible { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); }
659
- .focus-visible\:ring-ring\/50:focus-visible { --tw-ring-color: rgb(var(--ring) / 0.5); }
660
- .focus-visible\:ring-offset-2:focus-visible { --tw-ring-offset-width: 2px; }
661
- .focus-visible\:ring-offset-background:focus-visible { --tw-ring-offset-color: var(--background); }
662
-
663
- /* Disabled */
664
- .disabled\:pointer-events-none:disabled { pointer-events: none; }
665
- .disabled\:opacity-50:disabled { opacity: 0.5; }
666
- .disabled\:cursor-not-allowed:disabled { cursor: not-allowed; }
667
-
668
- /* Active */
669
- .active\:translate-y-px:active { --tw-translate-y: 1px; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); }
670
-
671
- /* ARIA states */
672
- .aria-invalid\:border-destructive[aria-invalid="true"] { border-color: var(--destructive); }
673
- .aria-invalid\:ring-2[aria-invalid="true"] { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); }
674
- .aria-invalid\:ring-destructive\/20[aria-invalid="true"] { --tw-ring-color: rgb(var(--destructive) / 0.2); }
675
-
676
- /* Data states */
677
- .data\[state\=checked\]\:bg-primary[data-state="checked"] { background-color: var(--primary); }
678
- .data\[state\=checked\]\:text-primary-foreground[data-state="checked"] { color: var(--primary-foreground); }
679
- .data\[state\=open\]\:bg-accent[data-state="open"] { background-color: var(--accent); }
680
- .data\[state\=open\]\:text-accent-foreground[data-state="open"] { color: var(--accent-foreground); }
681
-
682
- /* Group hover */
683
- .group:hover .group-hover\:text-accent-foreground { color: var(--accent-foreground); }
684
-
685
- /* Group data */
686
- .group[data-state="open"] .group-data\[state\=open\]\:text-accent-foreground { color: var(--accent-foreground); }
687
-
688
- /* Custom scrollbar */
689
- ::-webkit-scrollbar { width: 8px; height: 8px; }
690
- ::-webkit-scrollbar-track { background: #0A0F11; }
691
- ::-webkit-scrollbar-thumb { background: #4B5E53; border-radius: 4px; }
692
- ::-webkit-scrollbar-thumb:hover { background: #ACC3B3; }