@lukeashford/aurelius 1.0.1 → 2.0.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,537 +1,8 @@
1
- @import './fonts.css';
2
-
3
- @tailwind base;
4
- @tailwind components;
5
- @tailwind utilities;
6
-
7
- /* === BASE RESET & DEFAULTS === */
8
-
9
- @layer base {
10
- /* Import fonts */
11
- html {
12
- font-family: theme('fontFamily.body'), serif;
13
- background-color: theme('colors.obsidian');
14
- color: theme('colors.white');
15
- -webkit-font-smoothing: antialiased;
16
- -moz-osx-font-smoothing: grayscale;
17
- }
18
-
19
- body {
20
- min-height: 100vh;
21
- line-height: 1.5;
22
- }
23
-
24
- /* Tables: thin gold borders, squared corners, subtle hover glow */
25
- table {
26
- border-collapse: collapse;
27
- width: 100%;
28
- }
29
-
30
- table, th, td {
31
- border: 1px solid theme('colors.gold.muted');
32
- }
33
-
34
- th, td {
35
- padding: 0.5rem 0.75rem;
36
- }
37
-
38
- table:hover {
39
- box-shadow: theme('boxShadow.glow');
40
- }
41
-
42
- /* Progress bars: squared, thin gold border */
43
- progress {
44
- appearance: none;
45
- -webkit-appearance: none;
46
- border: 1px solid theme('colors.gold.muted');
47
- border-radius: 0;
48
- background-color: theme('colors.charcoal');
49
- width: 100%;
50
- height: 0.5rem;
51
- }
52
-
53
- progress::-webkit-progress-bar {
54
- background-color: theme('colors.charcoal');
55
- }
56
-
57
- progress::-webkit-progress-value {
58
- background-color: theme('colors.gold.DEFAULT');
59
- }
60
-
61
- progress::-moz-progress-bar {
62
- background-color: theme('colors.gold.DEFAULT');
63
- }
64
-
65
- /* Headings use Marcellus */
66
- h1, h2, h3, h4, h5, h6 {
67
- font-family: theme('fontFamily.heading'), serif;
68
- font-weight: 600;
69
- letter-spacing: -0.025em;
70
- color: theme('colors.white');
71
- }
72
-
73
- h1 {
74
- font-size: 2.25rem;
75
- line-height: 1.25;
76
- }
77
-
78
- h2 {
79
- font-size: 1.875rem;
80
- line-height: 1.25;
81
- }
82
-
83
- h3 {
84
- font-size: 1.5rem;
85
- line-height: 1.375;
86
- }
87
-
88
- h4 {
89
- font-size: 1.25rem;
90
- line-height: 1.375;
91
- }
92
-
93
- h5 {
94
- font-size: 1.125rem;
95
- line-height: 1.5;
96
- }
97
-
98
- h6 {
99
- font-size: 1rem;
100
- line-height: 1.5;
101
- }
102
-
103
- /* Code uses JetBrains Mono */
104
- code, pre, kbd, samp {
105
- font-family: theme('fontFamily.mono'), serif;
106
- font-size: 0.875em;
107
- }
108
-
109
- /* Links */
110
- a {
111
- color: theme('colors.gold.DEFAULT');
112
- text-decoration: none;
113
- transition: color theme('transitionDuration.fast') ease-out;
114
- }
115
-
116
- a:hover {
117
- color: theme('colors.gold.light');
118
- }
119
-
120
- /* Focus styles */
121
- :focus-visible {
122
- outline: 2px solid theme('colors.gold.DEFAULT');
123
- outline-offset: 2px;
124
- }
125
-
126
- /* Selection */
127
- ::selection {
128
- background-color: theme('colors.gold.DEFAULT');
129
- color: theme('colors.obsidian');
130
- }
131
-
132
- /* Scrollbar styling */
133
- ::-webkit-scrollbar {
134
- width: 8px;
135
- height: 8px;
136
- }
137
-
138
- ::-webkit-scrollbar-track {
139
- background: theme('colors.charcoal');
140
- }
141
-
142
- ::-webkit-scrollbar-thumb {
143
- background: theme('colors.ash');
144
- border-radius: theme('borderRadius.full');
145
- }
146
-
147
- ::-webkit-scrollbar-thumb:hover {
148
- background: theme('colors.silver');
149
- }
150
- }
151
-
152
- /* === COMPONENT CLASSES === */
153
-
154
- @layer components {
155
- /* Button base */
156
- .btn {
157
- @apply inline-flex items-center justify-center font-semibold tracking-wide
158
- transition-all duration-[150ms] ease-out rounded-none hover:shadow-glow
159
- disabled:opacity-50 disabled:cursor-not-allowed;
160
- }
161
-
162
- .btn-primary {
163
- @apply bg-charcoal text-white border border-gold/30
164
- hover:border-gold hover:shadow-glow hover:text-gold-light
165
- active:bg-white/5
166
- focus-visible:ring-2 focus-visible:ring-gold focus-visible:ring-offset-2
167
- focus-visible:ring-offset-obsidian;
168
- }
169
-
170
- .btn-important {
171
- @apply bg-gold text-obsidian border border-gold
172
- hover:bg-gold-light hover:text-obsidian
173
- active:bg-gold-bright
174
- focus-visible:ring-2 focus-visible:ring-gold focus-visible:ring-offset-2
175
- focus-visible:ring-offset-obsidian;
176
- }
177
-
178
- .btn-elevated {
179
- @apply bg-charcoal text-white border-0 shadow-lg
180
- hover:shadow-xl hover:text-gold-light
181
- active:bg-white/5
182
- focus-visible:ring-2 focus-visible:ring-gold focus-visible:ring-offset-2
183
- focus-visible:ring-offset-obsidian;
184
- }
185
-
186
- .btn-outlined {
187
- @apply bg-transparent text-white border border-ash
188
- hover:border-white hover:text-white
189
- active:bg-white/5
190
- focus-visible:ring-2 focus-visible:ring-gold focus-visible:ring-offset-2
191
- focus-visible:ring-offset-obsidian;
192
- }
193
-
194
- .btn-featured {
195
- @apply bg-charcoal text-white border border-gold shadow-[0_0_10px_rgba(201,162,39,0.2)]
196
- hover:shadow-[0_0_15px_rgba(201,162,39,0.4)] hover:text-gold-light
197
- active:bg-white/5
198
- focus-visible:ring-2 focus-visible:ring-gold focus-visible:ring-offset-2
199
- focus-visible:ring-offset-obsidian;
200
- }
201
-
202
- .btn-ghost {
203
- @apply bg-transparent text-gold hover:text-gold-light active:text-gold-bright
204
- focus-visible:ring-2 focus-visible:ring-gold focus-visible:ring-offset-2
205
- focus-visible:ring-offset-obsidian;
206
- }
207
-
208
- .btn-danger {
209
- @apply bg-error text-white hover:bg-error/90 active:bg-error/80
210
- focus-visible:ring-2 focus-visible:ring-error focus-visible:ring-offset-2
211
- focus-visible:ring-offset-obsidian;
212
- }
213
-
214
- .btn-sm {
215
- @apply h-8 px-3 text-sm rounded-none;
216
- }
217
-
218
- .btn-md {
219
- @apply h-10 px-4 text-sm rounded-none;
220
- }
221
-
222
- .btn-lg {
223
- @apply h-12 px-6 text-base rounded-none;
224
- }
225
-
226
- .btn-xl {
227
- @apply h-14 px-8 text-lg rounded-none;
228
- }
229
-
230
- /* Input base */
231
- .input {
232
- @apply w-full h-10 px-3 bg-graphite border border-ash rounded-none
233
- text-white placeholder:text-zinc
234
- transition-all duration-[150ms] ease-out
235
- focus:border-gold focus:ring-1 focus:ring-gold focus:outline-none
236
- disabled:bg-slate disabled:text-dim disabled:cursor-not-allowed;
237
- }
238
-
239
- .input-error {
240
- @apply border-error focus:border-error focus:ring-error;
241
- }
242
-
243
- /* Textarea */
244
- .textarea {
245
- @apply w-full px-3 py-2 bg-graphite border border-ash rounded-none
246
- text-white placeholder:text-zinc min-h-[80px]
247
- transition-all duration-[150ms] ease-out
248
- focus:border-gold focus:ring-1 focus:ring-gold focus:outline-none
249
- disabled:bg-slate disabled:text-dim disabled:cursor-not-allowed;
250
- }
251
-
252
- .textarea-error {
253
- @apply border-error focus:border-error focus:ring-error;
254
- }
255
-
256
- /* Card base */
257
- .card {
258
- @apply bg-charcoal rounded-none p-6 shadow-sm border border-gold/30;
259
- }
260
-
261
- .card-elevated {
262
- @apply shadow-lg border-0;
263
- }
264
-
265
- .card-outlined {
266
- @apply shadow-none border border-ash;
267
- }
268
-
269
- .card-featured {
270
- @apply border border-gold shadow-[0_0_10px_rgba(201,162,39,0.2)];
271
- }
272
-
273
- .card-interactive {
274
- @apply transition-all duration-[200ms]
275
- hover:border-gold hover:shadow-glow
276
- cursor-pointer;
277
- }
1
+ /* Aurelius Design System - Base CSS
2
+ * Import this file to get the complete Aurelius design system
3
+ * Includes Tailwind v4, fonts, and theme variables
4
+ */
278
5
 
279
- /* Badge base */
280
- .badge {
281
- @apply inline-flex items-center px-2.5 py-0.5 rounded-full
282
- text-xs font-medium border;
283
- }
284
-
285
- .badge-default {
286
- @apply bg-slate text-silver border-slate;
287
- }
288
-
289
- .badge-gold {
290
- @apply bg-gold/20 text-gold border-gold/30;
291
- }
292
-
293
- .badge-success {
294
- @apply bg-success/20 text-success border-success/30;
295
- }
296
-
297
- .badge-error {
298
- @apply bg-error/20 text-error border-error/30;
299
- }
300
-
301
- .badge-warning {
302
- @apply bg-warning/20 text-warning border-warning/30;
303
- }
304
-
305
- .badge-info {
306
- @apply bg-info/20 text-info border-info/30;
307
- }
308
-
309
- /* Avatar base */
310
- .avatar {
311
- @apply inline-flex items-center justify-center
312
- rounded-full border-2 border-ash
313
- bg-slate text-silver font-semibold
314
- overflow-hidden;
315
- }
316
-
317
- .avatar-xs {
318
- @apply w-6 h-6 text-xs;
319
- }
320
-
321
- .avatar-sm {
322
- @apply w-8 h-8 text-sm;
323
- }
324
-
325
- .avatar-md {
326
- @apply w-10 h-10 text-base;
327
- }
328
-
329
- .avatar-lg {
330
- @apply w-12 h-12 text-lg;
331
- }
332
-
333
- .avatar-xl {
334
- @apply w-16 h-16 text-xl;
335
- }
336
-
337
- .avatar-2xl {
338
- @apply w-24 h-24 text-2xl;
339
- }
340
-
341
- /* Tooltip */
342
- .tooltip {
343
- @apply absolute z-50 px-3 py-1.5
344
- bg-graphite text-white text-sm
345
- rounded-md shadow-lg border border-ash
346
- pointer-events-none;
347
- }
348
-
349
- /* Divider */
350
- .divider {
351
- @apply border-t border-ash my-4;
352
- }
353
-
354
- .divider-vertical {
355
- @apply border-l border-ash mx-4;
356
- }
357
-
358
- /* Label */
359
- .label {
360
- @apply block text-sm font-medium text-silver mb-1.5;
361
- }
362
-
363
- .label-required::after {
364
- @apply text-error ml-1;
365
- content: '*';
366
- }
367
-
368
- /* Form Elements */
369
- .select {
370
- @apply appearance-none bg-graphite border border-ash rounded-none
371
- text-white px-3 py-2 pr-8
372
- focus:border-gold focus:ring-1 focus:ring-gold focus:outline-none
373
- disabled:opacity-50 disabled:cursor-not-allowed;
374
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23C9A227' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
375
- background-position: right 0.5rem center;
376
- background-repeat: no-repeat;
377
- background-size: 1.5em 1.5em;
378
- }
379
-
380
- .textarea {
381
- @apply w-full bg-graphite border border-ash rounded-none
382
- text-white px-3 py-2
383
- focus:border-gold focus:ring-1 focus:ring-gold focus:outline-none
384
- disabled:opacity-50 disabled:cursor-not-allowed;
385
- }
386
-
387
- .checkbox {
388
- @apply appearance-none h-4 w-4 border border-ash rounded-sm bg-graphite
389
- checked:bg-gold checked:border-gold focus:ring-1 focus:ring-gold focus:ring-offset-1 focus:ring-offset-obsidian
390
- transition duration-200 ease-in-out cursor-pointer
391
- disabled:opacity-50 disabled:cursor-not-allowed;
392
- background-position: center;
393
- background-size: contain;
394
- background-repeat: no-repeat;
395
- }
396
-
397
- .checkbox:checked {
398
- background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='obsidian' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
399
- }
400
-
401
- .radio {
402
- @apply appearance-none h-4 w-4 border border-ash rounded-full bg-graphite
403
- checked:bg-gold checked:border-gold focus:ring-1 focus:ring-gold focus:ring-offset-1 focus:ring-offset-obsidian
404
- transition duration-200 ease-in-out cursor-pointer
405
- disabled:opacity-50 disabled:cursor-not-allowed;
406
- background-position: center;
407
- background-size: contain;
408
- background-repeat: no-repeat;
409
- }
410
-
411
- .radio:checked {
412
- background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='obsidian' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
413
- }
414
-
415
- .switch {
416
- @apply relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus-visible:ring-2 focus-visible:ring-gold focus-visible:ring-offset-2 focus-visible:ring-offset-obsidian disabled:opacity-50 disabled:cursor-not-allowed bg-charcoal;
417
- }
418
-
419
- .switch[data-state="checked"] {
420
- @apply bg-gold;
421
- }
422
-
423
- .switch-thumb {
424
- @apply pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out translate-x-0;
425
- }
426
-
427
- .switch[data-state="checked"] .switch-thumb {
428
- @apply translate-x-5;
429
- }
430
-
431
- /* Modal */
432
- .modal-backdrop {
433
- @apply fixed inset-0 z-40 bg-obsidian/80 backdrop-blur-sm;
434
- }
435
-
436
- .modal-content {
437
- @apply bg-charcoal border border-gold/30 shadow-2xl z-50
438
- w-full max-w-lg p-6 rounded-none relative;
439
- }
440
-
441
- /* Alert */
442
- .alert {
443
- @apply relative w-full p-4 rounded-none border border-l-4;
444
- }
445
-
446
- .alert-info {
447
- @apply bg-info/10 border-info text-info;
448
- }
449
-
450
- .alert-success {
451
- @apply bg-success/10 border-success text-success;
452
- }
453
-
454
- .alert-warning {
455
- @apply bg-warning/10 border-warning text-warning;
456
- }
457
-
458
- .alert-error {
459
- @apply bg-error/10 border-error text-error;
460
- }
461
- }
462
-
463
- /* === UTILITY CLASSES === */
464
-
465
- @layer utilities {
466
- /* Gold gradient text */
467
- .text-gradient-gold {
468
- @apply bg-gradient-to-r from-gold via-gold-light to-gold
469
- bg-clip-text text-transparent;
470
- }
471
-
472
- /* Glow effects */
473
- .glow {
474
- box-shadow: theme('boxShadow.glow');
475
- }
476
-
477
- .glow-sm {
478
- box-shadow: theme('boxShadow.glow-sm');
479
- }
480
-
481
- .glow-lg {
482
- box-shadow: theme('boxShadow.glow-lg');
483
- }
484
-
485
- /* Smooth scrolling container */
486
- .scroll-smooth {
487
- scroll-behavior: smooth;
488
- -webkit-overflow-scrolling: touch;
489
- }
490
-
491
- /* Hide scrollbar but allow scroll */
492
- .scrollbar-hide {
493
- -ms-overflow-style: none;
494
- scrollbar-width: none;
495
- }
496
-
497
- .scrollbar-hide::-webkit-scrollbar {
498
- display: none;
499
- }
500
-
501
- /* Backdrop blur */
502
- .backdrop-glass {
503
- @apply backdrop-blur-md bg-charcoal/80;
504
- }
505
-
506
- /* Focus ring utilities */
507
- .focus-ring {
508
- @apply focus-visible:outline-none focus-visible:ring-2
509
- focus-visible:ring-gold focus-visible:ring-offset-2
510
- focus-visible:ring-offset-obsidian;
511
- }
512
-
513
- /* Truncate text */
514
- .truncate {
515
- @apply overflow-hidden text-ellipsis whitespace-nowrap;
516
- }
517
-
518
- /* Line clamp */
519
- .line-clamp-2 {
520
- display: -webkit-box;
521
- -webkit-line-clamp: 2;
522
- -webkit-box-orient: vertical;
523
- overflow: hidden;
524
- }
525
-
526
- .line-clamp-3 {
527
- display: -webkit-box;
528
- -webkit-line-clamp: 3;
529
- -webkit-box-orient: vertical;
530
- overflow: hidden;
531
- }
532
-
533
- /* Center absolutely */
534
- .center-absolute {
535
- @apply absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2;
536
- }
537
- }
6
+ @import 'tailwindcss';
7
+ @import './fonts.css';
8
+ @import './theme.css';