@owodesign/owoui 0.1.5 → 0.1.6

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,3203 +1,95 @@
1
- /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
2
1
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
3
- @layer properties;
4
- @layer theme, base, components, utilities;
5
- @layer theme {
6
- :root, :host {
7
- --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
8
- "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
9
- --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
10
- "Courier New", monospace;
11
- --color-white: #fff;
12
- --spacing: 0.25rem;
13
- --container-xs: 20rem;
14
- --container-sm: 24rem;
15
- --container-md: 28rem;
16
- --container-lg: 32rem;
17
- --container-2xl: 42rem;
18
- --text-xs: 0.75rem;
19
- --text-xs--line-height: calc(1 / 0.75);
20
- --text-sm: 0.875rem;
21
- --text-sm--line-height: calc(1.25 / 0.875);
22
- --text-base: 1rem;
23
- --text-base--line-height: calc(1.5 / 1);
24
- --text-lg: 1.125rem;
25
- --text-lg--line-height: calc(1.75 / 1.125);
26
- --text-xl: 1.25rem;
27
- --text-xl--line-height: calc(1.75 / 1.25);
28
- --text-2xl: 1.5rem;
29
- --text-2xl--line-height: calc(2 / 1.5);
30
- --text-3xl: 1.875rem;
31
- --text-3xl--line-height: calc(2.25 / 1.875);
32
- --text-4xl: 2.25rem;
33
- --text-4xl--line-height: calc(2.5 / 2.25);
34
- --font-weight-medium: 500;
35
- --font-weight-semibold: 600;
36
- --font-weight-bold: 700;
37
- --font-weight-extrabold: 800;
38
- --tracking-tighter: -0.05em;
39
- --tracking-tight: -0.025em;
40
- --tracking-wider: 0.05em;
41
- --tracking-widest: 0.1em;
42
- --leading-tight: 1.25;
43
- --leading-snug: 1.375;
44
- --leading-relaxed: 1.625;
45
- --radius-md: 0.375rem;
46
- --radius-lg: 0.5rem;
47
- --radius-xl: 0.75rem;
48
- --animate-spin: spin 1s linear infinite;
49
- --blur-sm: 8px;
50
- --default-transition-duration: 150ms;
51
- --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
52
- --default-font-family: var(--font-sans);
53
- --default-mono-font-family: var(--font-mono);
54
- --owo-ref-color-neutral-900: #1a1a1a;
55
- --owo-ref-color-neutral-800: #2d2d2d;
56
- --owo-ref-color-neutral-700: #4a4a4a;
57
- --owo-ref-color-neutral-600: #71717a;
58
- --owo-ref-color-neutral-500: #a1a1aa;
59
- --owo-ref-color-neutral-400: #d4d4d8;
60
- --owo-ref-color-neutral-300: #e4e4e7;
61
- --owo-ref-color-neutral-200: #f0f0f2;
62
- --owo-ref-color-neutral-100: #f8f8f9;
63
- --owo-ref-color-brand-primary: #1a1a1a;
64
- --owo-ref-color-brand-primary-hover: #000000;
65
- --owo-ref-color-surface-canvas: #ffffff;
66
- --owo-ref-color-surface-base: #ffffff;
67
- --owo-ref-color-surface-subtle: #fafaf9;
68
- --owo-ref-color-surface-raised: #ffffff;
69
- --owo-ref-color-surface-inset: #f5f5f4;
70
- --owo-ref-color-surface-border: #e5e7eb;
71
- --owo-ref-color-surface-ring: #d6d3d1;
72
- --owo-ref-color-overlay-strong: rgba(15, 23, 42, 0.18);
73
- --owo-ref-color-highlight-soft: rgba(255, 255, 255, 0.56);
74
- --owo-ref-color-highlight-sheen: rgba(255, 255, 255, 0.34);
75
- --owo-ref-color-text-on-brand: #ffffff;
76
- --owo-ref-color-code-block-bg: #f4f4f5;
77
- --owo-ref-shadow-raised: 0 10px 20px rgba(15, 23, 42, 0.08);
78
- --owo-ref-shadow-popover: 0 18px 40px rgba(15, 23, 42, 0.10);
79
- --owo-ref-color-status-success-bg: rgba(16, 185, 129, 0.10);
80
- --owo-ref-color-status-success-border: rgba(16, 185, 129, 0.20);
81
- --owo-ref-color-status-success-text: #047857;
82
- --owo-ref-color-status-warning-bg: rgba(245, 158, 11, 0.10);
83
- --owo-ref-color-status-warning-border: rgba(245, 158, 11, 0.20);
84
- --owo-ref-color-status-warning-text: #b45309;
85
- --owo-ref-color-status-danger-bg: rgba(239, 68, 68, 0.10);
86
- --owo-ref-color-status-danger-border: rgba(239, 68, 68, 0.20);
87
- --owo-ref-color-status-danger-text: #b91c1c;
88
- --owo-ref-color-status-info-bg: rgba(14, 165, 233, 0.10);
89
- --owo-ref-color-status-info-border: rgba(14, 165, 233, 0.20);
90
- --owo-ref-color-status-info-text: #0369a1;
91
- --owo-ref-font-sans: var(--font-inter), var(--font-noto-sans-sc), system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", Roboto, sans-serif;
92
- --owo-ref-font-heading: var(--font-source-serif-pro), var(--font-noto-serif-sc), "Source Serif 4", Georgia, "Times New Roman", serif;
93
- --owo-ref-font-mono: "JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
94
- --owo-ref-radius-xs: 0.375rem;
95
- --owo-ref-radius-sm: 0.5rem;
96
- --owo-ref-radius-md: 0.75rem;
97
- --owo-ref-radius-lg: 1rem;
98
- --owo-ref-radius-xl: 1.5rem;
99
- --owo-ref-radius-2xl: 2rem;
100
- --owo-ref-radius-full: 9999px;
101
- --owo-ref-motion-ease-standard: cubic-bezier(0.2, 0, 0, 1);
102
- --owo-ref-motion-ease-decelerate: cubic-bezier(0, 0, 0, 1);
103
- --owo-ref-motion-ease-accelerate: cubic-bezier(0.4, 0, 1, 1);
104
- }
105
- }
106
- @layer base {
107
- *, ::after, ::before, ::backdrop, ::file-selector-button {
108
- box-sizing: border-box;
109
- margin: 0;
110
- padding: 0;
111
- border: 0 solid;
112
- }
113
- html, :host {
114
- line-height: 1.5;
115
- -webkit-text-size-adjust: 100%;
116
- tab-size: 4;
117
- font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
118
- font-feature-settings: var(--default-font-feature-settings, normal);
119
- font-variation-settings: var(--default-font-variation-settings, normal);
120
- -webkit-tap-highlight-color: transparent;
121
- }
122
- hr {
123
- height: 0;
124
- color: inherit;
125
- border-top-width: 1px;
126
- }
127
- abbr:where([title]) {
128
- -webkit-text-decoration: underline dotted;
129
- text-decoration: underline dotted;
130
- }
131
- h1, h2, h3, h4, h5, h6 {
132
- font-size: inherit;
133
- font-weight: inherit;
134
- }
135
- a {
136
- color: inherit;
137
- -webkit-text-decoration: inherit;
138
- text-decoration: inherit;
139
- }
140
- b, strong {
141
- font-weight: bolder;
142
- }
143
- code, kbd, samp, pre {
144
- font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
145
- font-feature-settings: var(--default-mono-font-feature-settings, normal);
146
- font-variation-settings: var(--default-mono-font-variation-settings, normal);
147
- font-size: 1em;
148
- }
149
- small {
150
- font-size: 80%;
151
- }
152
- sub, sup {
153
- font-size: 75%;
154
- line-height: 0;
155
- position: relative;
156
- vertical-align: baseline;
157
- }
158
- sub {
159
- bottom: -0.25em;
160
- }
161
- sup {
162
- top: -0.5em;
163
- }
164
- table {
165
- text-indent: 0;
166
- border-color: inherit;
167
- border-collapse: collapse;
168
- }
169
- :-moz-focusring {
170
- outline: auto;
171
- }
172
- progress {
173
- vertical-align: baseline;
174
- }
175
- summary {
176
- display: list-item;
177
- }
178
- ol, ul, menu {
179
- list-style: none;
180
- }
181
- img, svg, video, canvas, audio, iframe, embed, object {
182
- display: block;
183
- vertical-align: middle;
184
- }
185
- img, video {
186
- max-width: 100%;
187
- height: auto;
188
- }
189
- button, input, select, optgroup, textarea, ::file-selector-button {
190
- font: inherit;
191
- font-feature-settings: inherit;
192
- font-variation-settings: inherit;
193
- letter-spacing: inherit;
194
- color: inherit;
195
- border-radius: 0;
196
- background-color: transparent;
197
- opacity: 1;
198
- }
199
- :where(select:is([multiple], [size])) optgroup {
200
- font-weight: bolder;
201
- }
202
- :where(select:is([multiple], [size])) optgroup option {
203
- padding-inline-start: 20px;
204
- }
205
- ::file-selector-button {
206
- margin-inline-end: 4px;
207
- }
208
- ::placeholder {
209
- opacity: 1;
210
- }
211
- @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
212
- ::placeholder {
213
- color: currentcolor;
214
- @supports (color: color-mix(in lab, red, red)) {
215
- color: color-mix(in oklab, currentcolor 50%, transparent);
216
- }
217
- }
218
- }
219
- textarea {
220
- resize: vertical;
221
- }
222
- ::-webkit-search-decoration {
223
- -webkit-appearance: none;
224
- }
225
- ::-webkit-date-and-time-value {
226
- min-height: 1lh;
227
- text-align: inherit;
228
- }
229
- ::-webkit-datetime-edit {
230
- display: inline-flex;
231
- }
232
- ::-webkit-datetime-edit-fields-wrapper {
233
- padding: 0;
234
- }
235
- ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
236
- padding-block: 0;
237
- }
238
- ::-webkit-calendar-picker-indicator {
239
- line-height: 1;
240
- }
241
- :-moz-ui-invalid {
242
- box-shadow: none;
243
- }
244
- button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
245
- appearance: button;
246
- }
247
- ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
248
- height: auto;
249
- }
250
- [hidden]:where(:not([hidden="until-found"])) {
251
- display: none !important;
252
- }
253
- }
254
- @layer utilities {
255
- .pointer-events-auto {
256
- pointer-events: auto;
257
- }
258
- .pointer-events-none {
259
- pointer-events: none;
260
- }
261
- .invisible {
262
- visibility: hidden;
263
- }
264
- .visible {
265
- visibility: visible;
266
- }
267
- .sr-only {
268
- position: absolute;
269
- width: 1px;
270
- height: 1px;
271
- padding: 0;
272
- margin: -1px;
273
- overflow: hidden;
274
- clip-path: inset(50%);
275
- white-space: nowrap;
276
- border-width: 0;
277
- }
278
- .absolute {
279
- position: absolute;
280
- }
281
- .fixed {
282
- position: fixed;
283
- }
284
- .relative {
285
- position: relative;
286
- }
287
- .static {
288
- position: static;
289
- }
290
- .inset-0 {
291
- inset: calc(var(--spacing) * 0);
292
- }
293
- .inset-y-0 {
294
- inset-block: calc(var(--spacing) * 0);
295
- }
296
- .start {
297
- inset-inline-start: var(--spacing);
298
- }
299
- .end {
300
- inset-inline-end: var(--spacing);
301
- }
302
- .top-0 {
303
- top: calc(var(--spacing) * 0);
304
- }
305
- .top-1\/2 {
306
- top: calc(1 / 2 * 100%);
307
- }
308
- .top-16 {
309
- top: calc(var(--spacing) * 16);
310
- }
311
- .top-full {
312
- top: 100%;
313
- }
314
- .right-0 {
315
- right: calc(var(--spacing) * 0);
316
- }
317
- .right-4 {
318
- right: calc(var(--spacing) * 4);
319
- }
320
- .bottom-4 {
321
- bottom: calc(var(--spacing) * 4);
322
- }
323
- .left-0 {
324
- left: calc(var(--spacing) * 0);
325
- }
326
- .left-2\.5 {
327
- left: calc(var(--spacing) * 2.5);
328
- }
329
- .left-4 {
330
- left: calc(var(--spacing) * 4);
331
- }
332
- .z-10 {
333
- z-index: 10;
334
- }
335
- .z-40 {
336
- z-index: 40;
337
- }
338
- .z-50 {
339
- z-index: 50;
340
- }
341
- .z-\[calc\(var\(--owo-cmp-z-modal\)\+1\)\] {
342
- z-index: calc(var(--owo-cmp-z-modal) + 1);
343
- }
344
- .z-\[var\(--owo-cmp-z-dropdown\)\] {
345
- z-index: var(--owo-cmp-z-dropdown);
346
- }
347
- .z-\[var\(--owo-cmp-z-modal\)\] {
348
- z-index: var(--owo-cmp-z-modal);
349
- }
350
- .z-\[var\(--owo-cmp-z-toast\)\] {
351
- z-index: var(--owo-cmp-z-toast);
352
- }
353
- .container {
354
- width: 100%;
355
- @media (width >= 40rem) {
356
- max-width: 40rem;
357
- }
358
- @media (width >= 48rem) {
359
- max-width: 48rem;
360
- }
361
- @media (width >= 64rem) {
362
- max-width: 64rem;
363
- }
364
- @media (width >= 80rem) {
365
- max-width: 80rem;
366
- }
367
- @media (width >= 96rem) {
368
- max-width: 96rem;
369
- }
370
- }
371
- .mx-auto {
372
- margin-inline: auto;
373
- }
374
- .-mt-0\.5 {
375
- margin-top: calc(var(--spacing) * -0.5);
376
- }
377
- .mt-0\.5 {
378
- margin-top: calc(var(--spacing) * 0.5);
379
- }
380
- .mt-1 {
381
- margin-top: calc(var(--spacing) * 1);
382
- }
383
- .mt-2 {
384
- margin-top: calc(var(--spacing) * 2);
385
- }
386
- .mt-3 {
387
- margin-top: calc(var(--spacing) * 3);
388
- }
389
- .mt-auto {
390
- margin-top: auto;
391
- }
392
- .-mr-1 {
393
- margin-right: calc(var(--spacing) * -1);
394
- }
395
- .-mb-px {
396
- margin-bottom: -1px;
397
- }
398
- .mb-1 {
399
- margin-bottom: calc(var(--spacing) * 1);
400
- }
401
- .mb-2 {
402
- margin-bottom: calc(var(--spacing) * 2);
403
- }
404
- .mb-3 {
405
- margin-bottom: calc(var(--spacing) * 3);
406
- }
407
- .mb-4 {
408
- margin-bottom: calc(var(--spacing) * 4);
409
- }
410
- .ml-2 {
411
- margin-left: calc(var(--spacing) * 2);
412
- }
413
- .ml-64 {
414
- margin-left: calc(var(--spacing) * 64);
415
- }
416
- .ml-auto {
417
- margin-left: auto;
418
- }
419
- .line-clamp-2 {
420
- overflow: hidden;
421
- display: -webkit-box;
422
- -webkit-box-orient: vertical;
423
- -webkit-line-clamp: 2;
424
- }
425
- .block {
426
- display: block;
427
- }
428
- .contents {
429
- display: contents;
430
- }
431
- .flex {
432
- display: flex;
433
- }
434
- .grid {
435
- display: grid;
436
- }
437
- .hidden {
438
- display: none;
439
- }
440
- .inline-block {
441
- display: inline-block;
442
- }
443
- .inline-flex {
444
- display: inline-flex;
445
- }
446
- .table {
447
- display: table;
448
- }
449
- .h-2 {
450
- height: calc(var(--spacing) * 2);
451
- }
452
- .h-3 {
453
- height: calc(var(--spacing) * 3);
454
- }
455
- .h-3\.5 {
456
- height: calc(var(--spacing) * 3.5);
457
- }
458
- .h-4 {
459
- height: calc(var(--spacing) * 4);
460
- }
461
- .h-4\.5 {
462
- height: calc(var(--spacing) * 4.5);
463
- }
464
- .h-5 {
465
- height: calc(var(--spacing) * 5);
466
- }
467
- .h-6 {
468
- height: calc(var(--spacing) * 6);
469
- }
470
- .h-7 {
471
- height: calc(var(--spacing) * 7);
472
- }
473
- .h-8 {
474
- height: calc(var(--spacing) * 8);
475
- }
476
- .h-10 {
477
- height: calc(var(--spacing) * 10);
478
- }
479
- .h-14 {
480
- height: calc(var(--spacing) * 14);
481
- }
482
- .h-16 {
483
- height: calc(var(--spacing) * 16);
484
- }
485
- .h-24 {
486
- height: calc(var(--spacing) * 24);
487
- }
488
- .h-28 {
489
- height: calc(var(--spacing) * 28);
490
- }
491
- .h-48 {
492
- height: calc(var(--spacing) * 48);
493
- }
494
- .h-\[20rem\] {
495
- height: 20rem;
496
- }
497
- .h-\[26rem\] {
498
- height: 26rem;
499
- }
500
- .h-\[500px\] {
501
- height: 500px;
502
- }
503
- .h-full {
504
- height: 100%;
505
- }
506
- .max-h-52 {
507
- max-height: calc(var(--spacing) * 52);
508
- }
509
- .max-h-60 {
510
- max-height: calc(var(--spacing) * 60);
511
- }
512
- .min-h-7 {
513
- min-height: calc(var(--spacing) * 7);
514
- }
515
- .min-h-8 {
516
- min-height: calc(var(--spacing) * 8);
517
- }
518
- .min-h-9 {
519
- min-height: calc(var(--spacing) * 9);
520
- }
521
- .min-h-52 {
522
- min-height: calc(var(--spacing) * 52);
523
- }
524
- .min-h-64 {
525
- min-height: calc(var(--spacing) * 64);
526
- }
527
- .min-h-dvh {
528
- min-height: 100dvh;
529
- }
530
- .min-h-screen {
531
- min-height: 100vh;
532
- }
533
- .w-2 {
534
- width: calc(var(--spacing) * 2);
535
- }
536
- .w-2\/5 {
537
- width: calc(2 / 5 * 100%);
538
- }
539
- .w-3\.5 {
540
- width: calc(var(--spacing) * 3.5);
541
- }
542
- .w-3\/4 {
543
- width: calc(3 / 4 * 100%);
544
- }
545
- .w-3\/5 {
546
- width: calc(3 / 5 * 100%);
547
- }
548
- .w-4 {
549
- width: calc(var(--spacing) * 4);
550
- }
551
- .w-4\.5 {
552
- width: calc(var(--spacing) * 4.5);
553
- }
554
- .w-5\/6 {
555
- width: calc(5 / 6 * 100%);
556
- }
557
- .w-6 {
558
- width: calc(var(--spacing) * 6);
559
- }
560
- .w-7 {
561
- width: calc(var(--spacing) * 7);
562
- }
563
- .w-8 {
564
- width: calc(var(--spacing) * 8);
565
- }
566
- .w-9 {
567
- width: calc(var(--spacing) * 9);
568
- }
569
- .w-10 {
570
- width: calc(var(--spacing) * 10);
571
- }
572
- .w-11 {
573
- width: calc(var(--spacing) * 11);
574
- }
575
- .w-14 {
576
- width: calc(var(--spacing) * 14);
577
- }
578
- .w-16 {
579
- width: calc(var(--spacing) * 16);
580
- }
581
- .w-20 {
582
- width: calc(var(--spacing) * 20);
583
- }
584
- .w-24 {
585
- width: calc(var(--spacing) * 24);
586
- }
587
- .w-32 {
588
- width: calc(var(--spacing) * 32);
589
- }
590
- .w-36 {
591
- width: calc(var(--spacing) * 36);
592
- }
593
- .w-44 {
594
- width: calc(var(--spacing) * 44);
595
- }
596
- .w-48 {
597
- width: calc(var(--spacing) * 48);
598
- }
599
- .w-64 {
600
- width: calc(var(--spacing) * 64);
601
- }
602
- .w-80 {
603
- width: calc(var(--spacing) * 80);
604
- }
605
- .w-full {
606
- width: 100%;
607
- }
608
- .max-w-2xl {
609
- max-width: var(--container-2xl);
610
- }
611
- .max-w-\[26rem\] {
612
- max-width: 26rem;
613
- }
614
- .max-w-\[32rem\] {
615
- max-width: 32rem;
616
- }
617
- .max-w-\[200px\] {
618
- max-width: 200px;
619
- }
620
- .max-w-\[1400px\] {
621
- max-width: 1400px;
622
- }
623
- .max-w-full {
624
- max-width: 100%;
625
- }
626
- .max-w-lg {
627
- max-width: var(--container-lg);
628
- }
629
- .max-w-md {
630
- max-width: var(--container-md);
631
- }
632
- .max-w-sm {
633
- max-width: var(--container-sm);
634
- }
635
- .max-w-xs {
636
- max-width: var(--container-xs);
637
- }
638
- .min-w-0 {
639
- min-width: calc(var(--spacing) * 0);
640
- }
641
- .min-w-\[3ch\] {
642
- min-width: 3ch;
643
- }
644
- .flex-1 {
645
- flex: 1;
646
- }
647
- .shrink-0 {
648
- flex-shrink: 0;
649
- }
650
- .border-collapse {
651
- border-collapse: collapse;
652
- }
653
- .-translate-x-full {
654
- --tw-translate-x: -100%;
655
- translate: var(--tw-translate-x) var(--tw-translate-y);
656
- }
657
- .translate-x-0 {
658
- --tw-translate-x: calc(var(--spacing) * 0);
659
- translate: var(--tw-translate-x) var(--tw-translate-y);
660
- }
661
- .translate-x-0\.5 {
662
- --tw-translate-x: calc(var(--spacing) * 0.5);
663
- translate: var(--tw-translate-x) var(--tw-translate-y);
664
- }
665
- .translate-x-4 {
666
- --tw-translate-x: calc(var(--spacing) * 4);
667
- translate: var(--tw-translate-x) var(--tw-translate-y);
668
- }
669
- .translate-x-5 {
670
- --tw-translate-x: calc(var(--spacing) * 5);
671
- translate: var(--tw-translate-x) var(--tw-translate-y);
672
- }
673
- .translate-x-full {
674
- --tw-translate-x: 100%;
675
- translate: var(--tw-translate-x) var(--tw-translate-y);
676
- }
677
- .-translate-y-1\/2 {
678
- --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
679
- translate: var(--tw-translate-x) var(--tw-translate-y);
680
- }
681
- .rotate-180 {
682
- rotate: 180deg;
683
- }
684
- .transform {
685
- transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
686
- }
687
- .animate-\[dialog-in_0\.2s_var\(--owo-cmp-motion-ease-standard\)\] {
688
- animation: dialog-in 0.2s var(--owo-cmp-motion-ease-standard);
689
- }
690
- .animate-\[toast-in_0\.25s_var\(--owo-cmp-motion-ease-standard\)\] {
691
- animation: toast-in 0.25s var(--owo-cmp-motion-ease-standard);
692
- }
693
- .animate-\[tooltip-in_0\.15s_var\(--owo-cmp-motion-ease-standard\)\] {
694
- animation: tooltip-in 0.15s var(--owo-cmp-motion-ease-standard);
695
- }
696
- .animate-spin {
697
- animation: var(--animate-spin);
698
- }
699
- .cursor-default {
700
- cursor: default;
701
- }
702
- .cursor-not-allowed {
703
- cursor: not-allowed;
704
- }
705
- .cursor-pointer {
706
- cursor: pointer;
707
- }
708
- .cursor-wait {
709
- cursor: wait;
710
- }
711
- .resize {
712
- resize: both;
713
- }
714
- .grid-cols-1 {
715
- grid-template-columns: repeat(1, minmax(0, 1fr));
716
- }
717
- .grid-cols-2 {
718
- grid-template-columns: repeat(2, minmax(0, 1fr));
719
- }
720
- .grid-cols-\[auto_minmax\(0\,1fr\)\] {
721
- grid-template-columns: auto minmax(0,1fr);
722
- }
723
- .flex-col {
724
- flex-direction: column;
725
- }
726
- .flex-col-reverse {
727
- flex-direction: column-reverse;
728
- }
729
- .flex-wrap {
730
- flex-wrap: wrap;
731
- }
732
- .items-baseline {
733
- align-items: baseline;
734
- }
735
- .items-center {
736
- align-items: center;
737
- }
738
- .items-end {
739
- align-items: flex-end;
740
- }
741
- .items-start {
742
- align-items: flex-start;
743
- }
744
- .justify-between {
745
- justify-content: space-between;
746
- }
747
- .justify-center {
748
- justify-content: center;
749
- }
750
- .justify-end {
751
- justify-content: flex-end;
752
- }
753
- .justify-start {
754
- justify-content: flex-start;
755
- }
756
- .gap-1 {
757
- gap: calc(var(--spacing) * 1);
758
- }
759
- .gap-2 {
760
- gap: calc(var(--spacing) * 2);
761
- }
762
- .gap-2\.5 {
763
- gap: calc(var(--spacing) * 2.5);
764
- }
765
- .gap-3 {
766
- gap: calc(var(--spacing) * 3);
767
- }
768
- .gap-4 {
769
- gap: calc(var(--spacing) * 4);
770
- }
771
- .gap-5 {
772
- gap: calc(var(--spacing) * 5);
773
- }
774
- .gap-6 {
775
- gap: calc(var(--spacing) * 6);
776
- }
777
- .gap-8 {
778
- gap: calc(var(--spacing) * 8);
779
- }
780
- .space-y-1 {
781
- :where(& > :not(:last-child)) {
782
- --tw-space-y-reverse: 0;
783
- margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
784
- margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
785
- }
786
- }
787
- .space-y-2 {
788
- :where(& > :not(:last-child)) {
789
- --tw-space-y-reverse: 0;
790
- margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
791
- margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
792
- }
793
- }
794
- .space-y-3 {
795
- :where(& > :not(:last-child)) {
796
- --tw-space-y-reverse: 0;
797
- margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
798
- margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
799
- }
800
- }
801
- .space-y-4 {
802
- :where(& > :not(:last-child)) {
803
- --tw-space-y-reverse: 0;
804
- margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
805
- margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
806
- }
807
- }
808
- .space-y-5 {
809
- :where(& > :not(:last-child)) {
810
- --tw-space-y-reverse: 0;
811
- margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
812
- margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
813
- }
814
- }
815
- .space-y-6 {
816
- :where(& > :not(:last-child)) {
817
- --tw-space-y-reverse: 0;
818
- margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
819
- margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
820
- }
821
- }
822
- .space-y-8 {
823
- :where(& > :not(:last-child)) {
824
- --tw-space-y-reverse: 0;
825
- margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
826
- margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
827
- }
828
- }
829
- .space-y-12 {
830
- :where(& > :not(:last-child)) {
831
- --tw-space-y-reverse: 0;
832
- margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));
833
- margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
834
- }
835
- }
836
- .divide-y {
837
- :where(& > :not(:last-child)) {
838
- --tw-divide-y-reverse: 0;
839
- border-bottom-style: var(--tw-border-style);
840
- border-top-style: var(--tw-border-style);
841
- border-top-width: calc(1px * var(--tw-divide-y-reverse));
842
- border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
843
- }
844
- }
845
- .divide-\[var\(--owo-cmp-surface-border\)\] {
846
- :where(& > :not(:last-child)) {
847
- border-color: var(--owo-cmp-surface-border);
848
- }
849
- }
850
- .truncate {
851
- overflow: hidden;
852
- text-overflow: ellipsis;
853
- white-space: nowrap;
854
- }
855
- .overflow-auto {
856
- overflow: auto;
857
- }
858
- .overflow-hidden {
859
- overflow: hidden;
860
- }
861
- .overflow-x-auto {
862
- overflow-x: auto;
863
- }
864
- .overflow-y-auto {
865
- overflow-y: auto;
866
- }
867
- .rounded {
868
- border-radius: 0.25rem;
869
- }
870
- .rounded-\[var\(--owo-cmp-control-radius-full\)\] {
871
- border-radius: var(--owo-cmp-control-radius-full);
872
- }
873
- .rounded-\[var\(--owo-cmp-control-radius-lg\)\] {
874
- border-radius: var(--owo-cmp-control-radius-lg);
875
- }
876
- .rounded-\[var\(--owo-cmp-control-radius-md\)\] {
877
- border-radius: var(--owo-cmp-control-radius-md);
878
- }
879
- .rounded-\[var\(--owo-cmp-control-radius-sm\)\] {
880
- border-radius: var(--owo-cmp-control-radius-sm);
881
- }
882
- .rounded-\[var\(--owo-cmp-control-radius-xl\)\] {
883
- border-radius: var(--owo-cmp-control-radius-xl);
884
- }
885
- .rounded-full {
886
- border-radius: calc(infinity * 1px);
887
- }
888
- .rounded-lg {
889
- border-radius: var(--radius-lg);
890
- }
891
- .rounded-md {
892
- border-radius: var(--radius-md);
893
- }
894
- .rounded-xl {
895
- border-radius: var(--radius-xl);
896
- }
897
- .rounded-t {
898
- border-top-left-radius: 0.25rem;
899
- border-top-right-radius: 0.25rem;
900
- }
901
- .rounded-t-\[var\(--owo-cmp-control-radius-md\)\] {
902
- border-top-left-radius: var(--owo-cmp-control-radius-md);
903
- border-top-right-radius: var(--owo-cmp-control-radius-md);
904
- }
905
- .border {
906
- border-style: var(--tw-border-style);
907
- border-width: 1px;
908
- }
909
- .border-2 {
910
- border-style: var(--tw-border-style);
911
- border-width: 2px;
912
- }
913
- .border-t {
914
- border-top-style: var(--tw-border-style);
915
- border-top-width: 1px;
916
- }
917
- .border-r {
918
- border-right-style: var(--tw-border-style);
919
- border-right-width: 1px;
920
- }
921
- .border-b {
922
- border-bottom-style: var(--tw-border-style);
923
- border-bottom-width: 1px;
924
- }
925
- .border-b-2 {
926
- border-bottom-style: var(--tw-border-style);
927
- border-bottom-width: 2px;
928
- }
929
- .border-l {
930
- border-left-style: var(--tw-border-style);
931
- border-left-width: 1px;
932
- }
933
- .border-\[var\(--drawer-border\)\] {
934
- border-color: var(--drawer-border);
935
- }
936
- .border-\[var\(--owo-cmp-surface-border\)\] {
937
- border-color: var(--owo-cmp-surface-border);
938
- }
939
- .border-\[var\(--owo-cmp-surface-border-muted\)\] {
940
- border-color: var(--owo-cmp-surface-border-muted);
941
- }
942
- .border-\[var\(--owo-cmp-text-primary\)\] {
943
- border-color: var(--owo-cmp-text-primary);
944
- }
945
- .border-\[var\(--owo-ref-color-surface-border\)\] {
946
- border-color: var(--owo-ref-color-surface-border);
947
- }
948
- .border-\[var\(--panel-section-border\,var\(--owo-ref-color-surface-border\)\)\] {
949
- border-color: var(--panel-section-border,var(--owo-ref-color-surface-border));
950
- }
951
- .border-transparent {
952
- border-color: transparent;
953
- }
954
- .bg-\[var\(--owo-cmp-canvas-bg\)\] {
955
- background-color: var(--owo-cmp-canvas-bg);
956
- }
957
- .bg-\[var\(--owo-cmp-overlay-bg\)\] {
958
- background-color: var(--owo-cmp-overlay-bg);
959
- }
960
- .bg-\[var\(--owo-cmp-surface-bg\)\] {
961
- background-color: var(--owo-cmp-surface-bg);
962
- }
963
- .bg-\[var\(--owo-cmp-surface-bg-inset\)\] {
964
- background-color: var(--owo-cmp-surface-bg-inset);
965
- }
966
- .bg-\[var\(--owo-cmp-surface-bg-subtle\)\] {
967
- background-color: var(--owo-cmp-surface-bg-subtle);
968
- }
969
- .bg-\[var\(--owo-ref-color-code-block-bg\)\] {
970
- background-color: var(--owo-ref-color-code-block-bg);
971
- }
972
- .bg-\[var\(--owo-ref-color-surface-base\)\] {
973
- background-color: var(--owo-ref-color-surface-base);
974
- }
975
- .bg-\[var\(--owo-ref-color-surface-canvas\)\] {
976
- background-color: var(--owo-ref-color-surface-canvas);
977
- }
978
- .bg-\[var\(--owo-ref-color-surface-subtle\)\] {
979
- background-color: var(--owo-ref-color-surface-subtle);
980
- }
981
- .bg-white {
982
- background-color: var(--color-white);
983
- }
984
- .object-cover {
985
- object-fit: cover;
986
- }
987
- .p-0\.5 {
988
- padding: calc(var(--spacing) * 0.5);
989
- }
990
- .p-3 {
991
- padding: calc(var(--spacing) * 3);
992
- }
993
- .p-4 {
994
- padding: calc(var(--spacing) * 4);
995
- }
996
- .p-5 {
997
- padding: calc(var(--spacing) * 5);
998
- }
999
- .p-6 {
1000
- padding: calc(var(--spacing) * 6);
1001
- }
1002
- .p-8 {
1003
- padding: calc(var(--spacing) * 8);
1004
- }
1005
- .p-10 {
1006
- padding: calc(var(--spacing) * 10);
1007
- }
1008
- .p-12 {
1009
- padding: calc(var(--spacing) * 12);
1010
- }
1011
- .px-1 {
1012
- padding-inline: calc(var(--spacing) * 1);
1013
- }
1014
- .px-2 {
1015
- padding-inline: calc(var(--spacing) * 2);
1016
- }
1017
- .px-2\.5 {
1018
- padding-inline: calc(var(--spacing) * 2.5);
1019
- }
1020
- .px-3 {
1021
- padding-inline: calc(var(--spacing) * 3);
1022
- }
1023
- .px-4 {
1024
- padding-inline: calc(var(--spacing) * 4);
1025
- }
1026
- .px-5 {
1027
- padding-inline: calc(var(--spacing) * 5);
1028
- }
1029
- .px-6 {
1030
- padding-inline: calc(var(--spacing) * 6);
1031
- }
1032
- .px-8 {
1033
- padding-inline: calc(var(--spacing) * 8);
1034
- }
1035
- .py-0\.5 {
1036
- padding-block: calc(var(--spacing) * 0.5);
1037
- }
1038
- .py-1 {
1039
- padding-block: calc(var(--spacing) * 1);
1040
- }
1041
- .py-1\.5 {
1042
- padding-block: calc(var(--spacing) * 1.5);
1043
- }
1044
- .py-2 {
1045
- padding-block: calc(var(--spacing) * 2);
1046
- }
1047
- .py-3 {
1048
- padding-block: calc(var(--spacing) * 3);
1049
- }
1050
- .py-4 {
1051
- padding-block: calc(var(--spacing) * 4);
1052
- }
1053
- .py-5 {
1054
- padding-block: calc(var(--spacing) * 5);
1055
- }
1056
- .py-6 {
1057
- padding-block: calc(var(--spacing) * 6);
1058
- }
1059
- .py-8 {
1060
- padding-block: calc(var(--spacing) * 8);
1061
- }
1062
- .py-12 {
1063
- padding-block: calc(var(--spacing) * 12);
1064
- }
1065
- .py-20 {
1066
- padding-block: calc(var(--spacing) * 20);
1067
- }
1068
- .pt-1 {
1069
- padding-top: calc(var(--spacing) * 1);
1070
- }
1071
- .pt-2 {
1072
- padding-top: calc(var(--spacing) * 2);
1073
- }
1074
- .pt-3 {
1075
- padding-top: calc(var(--spacing) * 3);
1076
- }
1077
- .pt-4 {
1078
- padding-top: calc(var(--spacing) * 4);
1079
- }
1080
- .pt-5 {
1081
- padding-top: calc(var(--spacing) * 5);
1082
- }
1083
- .pt-6 {
1084
- padding-top: calc(var(--spacing) * 6);
1085
- }
1086
- .pt-16 {
1087
- padding-top: calc(var(--spacing) * 16);
1088
- }
1089
- .pt-20 {
1090
- padding-top: calc(var(--spacing) * 20);
1091
- }
1092
- .pb-1 {
1093
- padding-bottom: calc(var(--spacing) * 1);
1094
- }
1095
- .pb-2 {
1096
- padding-bottom: calc(var(--spacing) * 2);
1097
- }
1098
- .pb-3 {
1099
- padding-bottom: calc(var(--spacing) * 3);
1100
- }
1101
- .pb-4 {
1102
- padding-bottom: calc(var(--spacing) * 4);
1103
- }
1104
- .pb-5 {
1105
- padding-bottom: calc(var(--spacing) * 5);
1106
- }
1107
- .pb-6 {
1108
- padding-bottom: calc(var(--spacing) * 6);
1109
- }
1110
- .pb-10 {
1111
- padding-bottom: calc(var(--spacing) * 10);
1112
- }
1113
- .pb-28 {
1114
- padding-bottom: calc(var(--spacing) * 28);
1115
- }
1116
- .pb-36 {
1117
- padding-bottom: calc(var(--spacing) * 36);
1118
- }
1119
- .pb-44 {
1120
- padding-bottom: calc(var(--spacing) * 44);
1121
- }
1122
- .pb-48 {
1123
- padding-bottom: calc(var(--spacing) * 48);
1124
- }
1125
- .pl-8 {
1126
- padding-left: calc(var(--spacing) * 8);
1127
- }
1128
- .text-center {
1129
- text-align: center;
1130
- }
1131
- .text-left {
1132
- text-align: left;
1133
- }
1134
- .font-\[family-name\:var\(--font-headline\)\] {
1135
- font-family: var(--font-headline);
1136
- }
1137
- .font-mono {
1138
- font-family: var(--font-mono);
1139
- }
1140
- .text-2xl {
1141
- font-size: var(--text-2xl);
1142
- line-height: var(--tw-leading, var(--text-2xl--line-height));
1143
- }
1144
- .text-3xl {
1145
- font-size: var(--text-3xl);
1146
- line-height: var(--tw-leading, var(--text-3xl--line-height));
1147
- }
1148
- .text-4xl {
1149
- font-size: var(--text-4xl);
1150
- line-height: var(--tw-leading, var(--text-4xl--line-height));
1151
- }
1152
- .text-base {
1153
- font-size: var(--text-base);
1154
- line-height: var(--tw-leading, var(--text-base--line-height));
1155
- }
1156
- .text-lg {
1157
- font-size: var(--text-lg);
1158
- line-height: var(--tw-leading, var(--text-lg--line-height));
1159
- }
1160
- .text-sm {
1161
- font-size: var(--text-sm);
1162
- line-height: var(--tw-leading, var(--text-sm--line-height));
1163
- }
1164
- .text-xl {
1165
- font-size: var(--text-xl);
1166
- line-height: var(--tw-leading, var(--text-xl--line-height));
1167
- }
1168
- .text-xs {
1169
- font-size: var(--text-xs);
1170
- line-height: var(--tw-leading, var(--text-xs--line-height));
1171
- }
1172
- .text-\[10px\] {
1173
- font-size: 10px;
1174
- }
1175
- .text-\[11px\] {
1176
- font-size: 11px;
1177
- }
1178
- .leading-relaxed {
1179
- --tw-leading: var(--leading-relaxed);
1180
- line-height: var(--leading-relaxed);
1181
- }
1182
- .leading-snug {
1183
- --tw-leading: var(--leading-snug);
1184
- line-height: var(--leading-snug);
1185
- }
1186
- .leading-tight {
1187
- --tw-leading: var(--leading-tight);
1188
- line-height: var(--leading-tight);
1189
- }
1190
- .font-bold {
1191
- --tw-font-weight: var(--font-weight-bold);
1192
- font-weight: var(--font-weight-bold);
1193
- }
1194
- .font-extrabold {
1195
- --tw-font-weight: var(--font-weight-extrabold);
1196
- font-weight: var(--font-weight-extrabold);
1197
- }
1198
- .font-medium {
1199
- --tw-font-weight: var(--font-weight-medium);
1200
- font-weight: var(--font-weight-medium);
1201
- }
1202
- .font-semibold {
1203
- --tw-font-weight: var(--font-weight-semibold);
1204
- font-weight: var(--font-weight-semibold);
1205
- }
1206
- .tracking-\[0\.2em\] {
1207
- --tw-tracking: 0.2em;
1208
- letter-spacing: 0.2em;
1209
- }
1210
- .tracking-tight {
1211
- --tw-tracking: var(--tracking-tight);
1212
- letter-spacing: var(--tracking-tight);
1213
- }
1214
- .tracking-tighter {
1215
- --tw-tracking: var(--tracking-tighter);
1216
- letter-spacing: var(--tracking-tighter);
1217
- }
1218
- .tracking-wider {
1219
- --tw-tracking: var(--tracking-wider);
1220
- letter-spacing: var(--tracking-wider);
1221
- }
1222
- .tracking-widest {
1223
- --tw-tracking: var(--tracking-widest);
1224
- letter-spacing: var(--tracking-widest);
1225
- }
1226
- .whitespace-pre-wrap {
1227
- white-space: pre-wrap;
1228
- }
1229
- .text-\[var\(--badge-text\)\] {
1230
- color: var(--badge-text);
1231
- }
1232
- .text-\[var\(--owo-cmp-accent-bg\)\] {
1233
- color: var(--owo-cmp-accent-bg);
1234
- }
1235
- .text-\[var\(--owo-cmp-text-muted\)\] {
1236
- color: var(--owo-cmp-text-muted);
1237
- }
1238
- .text-\[var\(--owo-cmp-text-primary\)\] {
1239
- color: var(--owo-cmp-text-primary);
1240
- }
1241
- .text-\[var\(--owo-cmp-text-secondary\)\] {
1242
- color: var(--owo-cmp-text-secondary);
1243
- }
1244
- .text-\[var\(--owo-ref-color-neutral-500\)\] {
1245
- color: var(--owo-ref-color-neutral-500);
1246
- }
1247
- .text-\[var\(--owo-ref-color-neutral-600\)\] {
1248
- color: var(--owo-ref-color-neutral-600);
1249
- }
1250
- .text-\[var\(--owo-ref-color-neutral-700\)\] {
1251
- color: var(--owo-ref-color-neutral-700);
1252
- }
1253
- .text-\[var\(--owo-ref-color-neutral-800\)\] {
1254
- color: var(--owo-ref-color-neutral-800);
1255
- }
1256
- .text-current {
1257
- color: currentcolor;
1258
- }
1259
- .uppercase {
1260
- text-transform: uppercase;
1261
- }
1262
- .italic {
1263
- font-style: italic;
1264
- }
1265
- .opacity-50 {
1266
- opacity: 50%;
1267
- }
1268
- .opacity-60 {
1269
- opacity: 60%;
1270
- }
1271
- .opacity-80 {
1272
- opacity: 80%;
1273
- }
1274
- .shadow {
1275
- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1276
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1277
- }
1278
- .shadow-lg {
1279
- --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1280
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1281
- }
1282
- .shadow-sm {
1283
- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1284
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1285
- }
1286
- .shadow-xl {
1287
- --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1288
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1289
- }
1290
- .ring {
1291
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1292
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1293
- }
1294
- .ring-1 {
1295
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1296
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1297
- }
1298
- .outline {
1299
- outline-style: var(--tw-outline-style);
1300
- outline-width: 1px;
1301
- }
1302
- .blur {
1303
- --tw-blur: blur(8px);
1304
- filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
1305
- }
1306
- .backdrop-blur-sm {
1307
- --tw-backdrop-blur: blur(var(--blur-sm));
1308
- -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
1309
- backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
1310
- }
1311
- .transition-all {
1312
- transition-property: all;
1313
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1314
- transition-duration: var(--tw-duration, var(--default-transition-duration));
1315
- }
1316
- .transition-colors {
1317
- transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
1318
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1319
- transition-duration: var(--tw-duration, var(--default-transition-duration));
1320
- }
1321
- .transition-opacity {
1322
- transition-property: opacity;
1323
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1324
- transition-duration: var(--tw-duration, var(--default-transition-duration));
1325
- }
1326
- .transition-transform {
1327
- transition-property: transform, translate, scale, rotate;
1328
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1329
- transition-duration: var(--tw-duration, var(--default-transition-duration));
1330
- }
1331
- .duration-200 {
1332
- --tw-duration: 200ms;
1333
- transition-duration: 200ms;
1334
- }
1335
- .duration-\[var\(--owo-cmp-motion-duration-default\)\] {
1336
- --tw-duration: var(--owo-cmp-motion-duration-default);
1337
- transition-duration: var(--owo-cmp-motion-duration-default);
1338
- }
1339
- .ease-\[var\(--owo-cmp-motion-ease-standard\)\] {
1340
- --tw-ease: var(--owo-cmp-motion-ease-standard);
1341
- transition-timing-function: var(--owo-cmp-motion-ease-standard);
1342
- }
1343
- .select-none {
1344
- -webkit-user-select: none;
1345
- user-select: none;
1346
- }
1347
- .placeholder\:text-\[var\(--field-placeholder\)\] {
1348
- &::placeholder {
1349
- color: var(--field-placeholder);
1350
- }
1351
- }
1352
- .hover\:bg-\[var\(--owo-cmp-surface-bg-inset\)\] {
1353
- &:hover {
1354
- @media (hover: hover) {
1355
- background-color: var(--owo-cmp-surface-bg-inset);
1356
- }
1357
- }
1358
- }
1359
- .hover\:bg-\[var\(--owo-cmp-surface-bg-subtle\)\] {
1360
- &:hover {
1361
- @media (hover: hover) {
1362
- background-color: var(--owo-cmp-surface-bg-subtle);
1363
- }
1364
- }
1365
- }
1366
- .hover\:bg-\[var\(--owo-cmp-surface-container-highest\)\] {
1367
- &:hover {
1368
- @media (hover: hover) {
1369
- background-color: var(--owo-cmp-surface-container-highest);
1370
- }
1371
- }
1372
- }
1373
- .hover\:text-\[var\(--owo-cmp-text-primary\)\] {
1374
- &:hover {
1375
- @media (hover: hover) {
1376
- color: var(--owo-cmp-text-primary);
1377
- }
1378
- }
1379
- }
1380
- .hover\:opacity-80 {
1381
- &:hover {
1382
- @media (hover: hover) {
1383
- opacity: 80%;
1384
- }
1385
- }
1386
- }
1387
- .hover\:opacity-100 {
1388
- &:hover {
1389
- @media (hover: hover) {
1390
- opacity: 100%;
1391
- }
1392
- }
1393
- }
1394
- .focus\:not-sr-only {
1395
- &:focus {
1396
- position: static;
1397
- width: auto;
1398
- height: auto;
1399
- padding: 0;
1400
- margin: 0;
1401
- overflow: visible;
1402
- clip-path: none;
1403
- white-space: normal;
1404
- }
1405
- }
1406
- .focus\:absolute {
1407
- &:focus {
1408
- position: absolute;
1409
- }
1410
- }
1411
- .focus\:z-50 {
1412
- &:focus {
1413
- z-index: 50;
1414
- }
1415
- }
1416
- .focus\:rounded {
1417
- &:focus {
1418
- border-radius: 0.25rem;
1419
- }
1420
- }
1421
- .focus\:bg-\[var\(--owo-cmp-surface-bg\)\] {
1422
- &:focus {
1423
- background-color: var(--owo-cmp-surface-bg);
1424
- }
1425
- }
1426
- .focus\:px-4 {
1427
- &:focus {
1428
- padding-inline: calc(var(--spacing) * 4);
1429
- }
1430
- }
1431
- .focus\:py-2 {
1432
- &:focus {
1433
- padding-block: calc(var(--spacing) * 2);
1434
- }
1435
- }
1436
- .focus\:text-sm {
1437
- &:focus {
1438
- font-size: var(--text-sm);
1439
- line-height: var(--tw-leading, var(--text-sm--line-height));
1440
- }
1441
- }
1442
- .focus\:shadow {
1443
- &:focus {
1444
- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1445
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1446
- }
1447
- }
1448
- .focus\:ring-1 {
1449
- &:focus {
1450
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1451
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1452
- }
1453
- }
1454
- .focus\:outline-none {
1455
- &:focus {
1456
- --tw-outline-style: none;
1457
- outline-style: none;
1458
- }
1459
- }
1460
- .focus-visible\:ring-1 {
1461
- &:focus-visible {
1462
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1463
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1464
- }
1465
- }
1466
- .focus-visible\:ring-2 {
1467
- &:focus-visible {
1468
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1469
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1470
- }
1471
- }
1472
- .focus-visible\:ring-offset-2 {
1473
- &:focus-visible {
1474
- --tw-ring-offset-width: 2px;
1475
- --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1476
- }
1477
- }
1478
- .focus-visible\:ring-inset {
1479
- &:focus-visible {
1480
- --tw-ring-inset: inset;
1481
- }
1482
- }
1483
- .disabled\:cursor-not-allowed {
1484
- &:disabled {
1485
- cursor: not-allowed;
1486
- }
1487
- }
1488
- .disabled\:opacity-50 {
1489
- &:disabled {
1490
- opacity: 50%;
1491
- }
1492
- }
1493
- .disabled\:opacity-\[var\(--button-disabled-opacity\)\] {
1494
- &:disabled {
1495
- opacity: var(--button-disabled-opacity);
1496
- }
1497
- }
1498
- .sm\:block {
1499
- @media (width >= 40rem) {
1500
- display: block;
1501
- }
1502
- }
1503
- .sm\:grid-cols-3 {
1504
- @media (width >= 40rem) {
1505
- grid-template-columns: repeat(3, minmax(0, 1fr));
1506
- }
1507
- }
1508
- .md\:flex {
1509
- @media (width >= 48rem) {
1510
- display: flex;
1511
- }
1512
- }
1513
- .md\:flex-row {
1514
- @media (width >= 48rem) {
1515
- flex-direction: row;
1516
- }
1517
- }
1518
- .md\:items-center {
1519
- @media (width >= 48rem) {
1520
- align-items: center;
1521
- }
1522
- }
1523
- .md\:justify-between {
1524
- @media (width >= 48rem) {
1525
- justify-content: space-between;
1526
- }
1527
- }
1528
- .lg\:grid-cols-3 {
1529
- @media (width >= 64rem) {
1530
- grid-template-columns: repeat(3, minmax(0, 1fr));
1531
- }
1532
- }
1533
- .lg\:grid-cols-4 {
1534
- @media (width >= 64rem) {
1535
- grid-template-columns: repeat(4, minmax(0, 1fr));
1536
- }
1537
- }
1538
- .xl\:col-span-2 {
1539
- @media (width >= 80rem) {
1540
- grid-column: span 2 / span 2;
1541
- }
1542
- }
1543
- .xl\:grid-cols-3 {
1544
- @media (width >= 80rem) {
1545
- grid-template-columns: repeat(3, minmax(0, 1fr));
1546
- }
1547
- }
1548
- .xl\:grid-cols-4 {
1549
- @media (width >= 80rem) {
1550
- grid-template-columns: repeat(4, minmax(0, 1fr));
1551
- }
1552
- }
1553
- }
1554
- :root {
1555
- --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
1556
- --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
1557
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
1558
- --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
1559
- --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border);
1560
- --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
1561
- --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
1562
- --owo-sys-preset-surface-shadow: var(--owo-ref-shadow-raised);
1563
- --owo-sys-preset-surface-shadow-strong: var(--owo-ref-shadow-popover);
1564
- --owo-sys-preset-surface-blur: 0px;
1565
- --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
1566
- --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
1567
- --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
1568
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container-high);
1569
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-highest);
1570
- --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-sm);
1571
- --owo-sys-preset-control-radius-md: var(--owo-ref-radius-md);
1572
- --owo-sys-preset-control-radius-lg: var(--owo-ref-radius-lg);
1573
- --owo-sys-preset-control-radius-xl: var(--owo-ref-radius-xl);
1574
- --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-2xl);
1575
- --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
1576
- --owo-sys-preset-control-border-width: 1px;
1577
- --owo-cmp-surface-bg: var(--owo-sys-preset-surface-bg);
1578
- --owo-cmp-surface-bg-subtle: var(--owo-sys-preset-surface-bg-subtle);
1579
- --owo-cmp-surface-bg-raised: var(--owo-sys-preset-surface-bg-raised);
1580
- --owo-cmp-surface-bg-inset: var(--owo-sys-preset-surface-bg-inset);
1581
- --owo-cmp-surface-border: var(--owo-sys-preset-surface-border);
1582
- --owo-cmp-surface-border-muted: var(--owo-sys-preset-surface-border-muted);
1583
- --owo-cmp-surface-border-strong: var(--owo-sys-preset-surface-border-strong);
1584
- --owo-cmp-surface-shadow: var(--owo-sys-preset-surface-shadow);
1585
- --owo-cmp-surface-shadow-strong: var(--owo-sys-preset-surface-shadow-strong);
1586
- --owo-cmp-surface-blur: var(--owo-sys-preset-surface-blur);
1587
- --owo-cmp-canvas-bg: var(--owo-sys-preset-canvas-bg);
1588
- --owo-cmp-canvas-bg-subtle: var(--owo-sys-preset-canvas-bg-subtle);
1589
- --owo-cmp-surface-container: var(--owo-sys-preset-surface-container);
1590
- --owo-cmp-surface-container-high: var(--owo-sys-preset-surface-container-high);
1591
- --owo-cmp-surface-container-highest: var(--owo-sys-preset-surface-container-highest);
1592
- --owo-cmp-text-primary: var(--owo-sys-theme-text-primary);
1593
- --owo-cmp-text-secondary: var(--owo-sys-theme-text-secondary);
1594
- --owo-cmp-text-muted: var(--owo-sys-theme-text-muted);
1595
- --owo-cmp-text-on-accent: var(--owo-sys-theme-text-on-accent);
1596
- --owo-cmp-accent-bg: var(--owo-sys-theme-accent-bg);
1597
- --owo-cmp-accent-bg-hover: var(--owo-sys-theme-accent-bg-hover);
1598
- --owo-cmp-accent-bg-muted: var(--owo-sys-theme-accent-bg-muted);
1599
- --owo-cmp-accent-text: var(--owo-sys-theme-text-on-accent);
1600
- --owo-cmp-accent-border: var(--owo-sys-theme-accent-border);
1601
- --owo-cmp-success-bg: var(--owo-sys-theme-success-bg);
1602
- --owo-cmp-success-border: var(--owo-sys-theme-success-border);
1603
- --owo-cmp-success-text: var(--owo-sys-theme-success-text);
1604
- --owo-cmp-warning-bg: var(--owo-sys-theme-warning-bg);
1605
- --owo-cmp-warning-border: var(--owo-sys-theme-warning-border);
1606
- --owo-cmp-warning-text: var(--owo-sys-theme-warning-text);
1607
- --owo-cmp-danger-bg: var(--owo-sys-theme-danger-bg);
1608
- --owo-cmp-danger-bg-emphasis: var(--owo-sys-theme-danger-bg-emphasis);
1609
- --owo-cmp-danger-border: var(--owo-sys-theme-danger-border);
1610
- --owo-cmp-danger-text: var(--owo-sys-theme-danger-text);
1611
- --owo-cmp-info-bg: var(--owo-sys-theme-info-bg);
1612
- --owo-cmp-info-border: var(--owo-sys-theme-info-border);
1613
- --owo-cmp-info-text: var(--owo-sys-theme-info-text);
1614
- --owo-cmp-control-radius-sm: var(--owo-sys-preset-control-radius-sm);
1615
- --owo-cmp-control-radius-md: var(--owo-sys-preset-control-radius-md);
1616
- --owo-cmp-control-radius-lg: var(--owo-sys-preset-control-radius-lg);
1617
- --owo-cmp-control-radius-xl: var(--owo-sys-preset-control-radius-xl);
1618
- --owo-cmp-control-radius-2xl: var(--owo-sys-preset-control-radius-2xl);
1619
- --owo-cmp-control-radius-full: var(--owo-sys-preset-control-radius-full);
1620
- --owo-cmp-control-border-width: var(--owo-sys-preset-control-border-width);
1621
- --owo-cmp-control-focus-ring: var(--owo-sys-theme-control-focus-ring);
1622
- --owo-cmp-control-focus-ring-offset: var(--owo-sys-theme-control-focus-ring-offset);
1623
- --owo-cmp-font-heading: var(--owo-ref-font-heading);
1624
- --owo-cmp-motion-duration-fast: 0.15s;
1625
- --owo-cmp-motion-duration-default: 0.2s;
1626
- --owo-cmp-motion-ease-standard: var(--owo-ref-motion-ease-standard);
1627
- --owo-cmp-motion-ease-decelerate: var(--owo-ref-motion-ease-decelerate);
1628
- --owo-cmp-motion-ease-accelerate: var(--owo-ref-motion-ease-accelerate);
1629
- --owo-cmp-density-compact: 0.875;
1630
- --owo-cmp-density-default: 1;
1631
- --owo-cmp-density-comfortable: 1.125;
1632
- --owo-cmp-overlay-bg: var(--owo-sys-theme-overlay-bg);
1633
- --owo-cmp-z-dropdown: 1000;
1634
- --owo-cmp-z-modal: 1100;
1635
- --owo-cmp-z-toast: 1200;
1636
- --owo-feedback-neutral-bg: var(--owo-cmp-surface-bg-raised);
1637
- --owo-feedback-neutral-border: var(--owo-cmp-surface-border);
1638
- --owo-feedback-neutral-text: var(--owo-cmp-text-primary);
1639
- --owo-feedback-neutral-icon: var(--owo-cmp-text-secondary);
1640
- --owo-feedback-info-bg: var(--owo-cmp-info-bg);
1641
- --owo-feedback-info-border: var(--owo-cmp-info-border);
1642
- --owo-feedback-info-text: var(--owo-cmp-info-text);
1643
- --owo-feedback-info-icon: var(--owo-cmp-info-text);
1644
- --owo-feedback-success-bg: var(--owo-cmp-success-bg);
1645
- --owo-feedback-success-border: var(--owo-cmp-success-border);
1646
- --owo-feedback-success-text: var(--owo-cmp-success-text);
1647
- --owo-feedback-success-icon: var(--owo-cmp-success-text);
1648
- --owo-feedback-warning-bg: var(--owo-cmp-warning-bg);
1649
- --owo-feedback-warning-border: var(--owo-cmp-warning-border);
1650
- --owo-feedback-warning-text: var(--owo-cmp-warning-text);
1651
- --owo-feedback-warning-icon: var(--owo-cmp-warning-text);
1652
- --owo-feedback-danger-bg: var(--owo-cmp-danger-bg);
1653
- --owo-feedback-danger-border: var(--owo-cmp-danger-border);
1654
- --owo-feedback-danger-text: var(--owo-cmp-danger-text);
1655
- --owo-feedback-danger-icon: var(--owo-cmp-danger-text);
1656
- }
1657
- :root {
1658
- --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
1659
- --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
1660
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
1661
- --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
1662
- --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border);
1663
- --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
1664
- --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
1665
- --owo-sys-preset-surface-shadow: var(--owo-ref-shadow-raised);
1666
- --owo-sys-preset-surface-shadow-strong: var(--owo-ref-shadow-popover);
1667
- --owo-sys-preset-surface-blur: 0px;
1668
- --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
1669
- --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
1670
- --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
1671
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container-high);
1672
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-highest);
1673
- --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-sm);
1674
- --owo-sys-preset-control-radius-md: var(--owo-ref-radius-md);
1675
- --owo-sys-preset-control-radius-lg: var(--owo-ref-radius-lg);
1676
- --owo-sys-preset-control-radius-xl: var(--owo-ref-radius-xl);
1677
- --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-2xl);
1678
- --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
1679
- --owo-sys-preset-control-border-width: 1px;
1680
- --owo-cmp-surface-bg: var(--owo-sys-preset-surface-bg);
1681
- --owo-cmp-surface-bg-subtle: var(--owo-sys-preset-surface-bg-subtle);
1682
- --owo-cmp-surface-bg-raised: var(--owo-sys-preset-surface-bg-raised);
1683
- --owo-cmp-surface-bg-inset: var(--owo-sys-preset-surface-bg-inset);
1684
- --owo-cmp-surface-border: var(--owo-sys-preset-surface-border);
1685
- --owo-cmp-surface-border-muted: var(--owo-sys-preset-surface-border-muted);
1686
- --owo-cmp-surface-border-strong: var(--owo-sys-preset-surface-border-strong);
1687
- --owo-cmp-surface-shadow: var(--owo-sys-preset-surface-shadow);
1688
- --owo-cmp-surface-shadow-strong: var(--owo-sys-preset-surface-shadow-strong);
1689
- --owo-cmp-surface-blur: var(--owo-sys-preset-surface-blur);
1690
- --owo-cmp-canvas-bg: var(--owo-sys-preset-canvas-bg);
1691
- --owo-cmp-canvas-bg-subtle: var(--owo-sys-preset-canvas-bg-subtle);
1692
- --owo-cmp-surface-container: var(--owo-sys-preset-surface-container);
1693
- --owo-cmp-surface-container-high: var(--owo-sys-preset-surface-container-high);
1694
- --owo-cmp-surface-container-highest: var(--owo-sys-preset-surface-container-highest);
1695
- --owo-cmp-text-primary: var(--owo-sys-theme-text-primary);
1696
- --owo-cmp-text-secondary: var(--owo-sys-theme-text-secondary);
1697
- --owo-cmp-text-muted: var(--owo-sys-theme-text-muted);
1698
- --owo-cmp-text-on-accent: var(--owo-sys-theme-text-on-accent);
1699
- --owo-cmp-accent-bg: var(--owo-sys-theme-accent-bg);
1700
- --owo-cmp-accent-bg-hover: var(--owo-sys-theme-accent-bg-hover);
1701
- --owo-cmp-accent-bg-muted: var(--owo-sys-theme-accent-bg-muted);
1702
- --owo-cmp-accent-text: var(--owo-sys-theme-text-on-accent);
1703
- --owo-cmp-accent-border: var(--owo-sys-theme-accent-border);
1704
- --owo-cmp-success-bg: var(--owo-sys-theme-success-bg);
1705
- --owo-cmp-success-border: var(--owo-sys-theme-success-border);
1706
- --owo-cmp-success-text: var(--owo-sys-theme-success-text);
1707
- --owo-cmp-warning-bg: var(--owo-sys-theme-warning-bg);
1708
- --owo-cmp-warning-border: var(--owo-sys-theme-warning-border);
1709
- --owo-cmp-warning-text: var(--owo-sys-theme-warning-text);
1710
- --owo-cmp-danger-bg: var(--owo-sys-theme-danger-bg);
1711
- --owo-cmp-danger-bg-emphasis: var(--owo-sys-theme-danger-bg-emphasis);
1712
- --owo-cmp-danger-border: var(--owo-sys-theme-danger-border);
1713
- --owo-cmp-danger-text: var(--owo-sys-theme-danger-text);
1714
- --owo-cmp-info-bg: var(--owo-sys-theme-info-bg);
1715
- --owo-cmp-info-border: var(--owo-sys-theme-info-border);
1716
- --owo-cmp-info-text: var(--owo-sys-theme-info-text);
1717
- --owo-cmp-control-radius-sm: var(--owo-sys-preset-control-radius-sm);
1718
- --owo-cmp-control-radius-md: var(--owo-sys-preset-control-radius-md);
1719
- --owo-cmp-control-radius-lg: var(--owo-sys-preset-control-radius-lg);
1720
- --owo-cmp-control-radius-xl: var(--owo-sys-preset-control-radius-xl);
1721
- --owo-cmp-control-radius-2xl: var(--owo-sys-preset-control-radius-2xl);
1722
- --owo-cmp-control-radius-full: var(--owo-sys-preset-control-radius-full);
1723
- --owo-cmp-control-border-width: var(--owo-sys-preset-control-border-width);
1724
- --owo-cmp-control-focus-ring: var(--owo-sys-theme-control-focus-ring);
1725
- --owo-cmp-control-focus-ring-offset: var(--owo-sys-theme-control-focus-ring-offset);
1726
- --owo-cmp-font-heading: var(--owo-ref-font-heading);
1727
- --owo-cmp-motion-duration-fast: 0.15s;
1728
- --owo-cmp-motion-duration-default: 0.2s;
1729
- --owo-cmp-motion-ease-standard: var(--owo-ref-motion-ease-standard);
1730
- --owo-cmp-motion-ease-decelerate: var(--owo-ref-motion-ease-decelerate);
1731
- --owo-cmp-motion-ease-accelerate: var(--owo-ref-motion-ease-accelerate);
1732
- --owo-cmp-density-compact: 0.875;
1733
- --owo-cmp-density-default: 1;
1734
- --owo-cmp-density-comfortable: 1.125;
1735
- --owo-cmp-overlay-bg: var(--owo-sys-theme-overlay-bg);
1736
- --owo-cmp-z-dropdown: 1000;
1737
- --owo-cmp-z-modal: 1100;
1738
- --owo-cmp-z-toast: 1200;
1739
- --owo-feedback-neutral-bg: var(--owo-cmp-surface-bg-raised);
1740
- --owo-feedback-neutral-border: var(--owo-cmp-surface-border);
1741
- --owo-feedback-neutral-text: var(--owo-cmp-text-primary);
1742
- --owo-feedback-neutral-icon: var(--owo-cmp-text-secondary);
1743
- --owo-feedback-info-bg: var(--owo-cmp-info-bg);
1744
- --owo-feedback-info-border: var(--owo-cmp-info-border);
1745
- --owo-feedback-info-text: var(--owo-cmp-info-text);
1746
- --owo-feedback-info-icon: var(--owo-cmp-info-text);
1747
- --owo-feedback-success-bg: var(--owo-cmp-success-bg);
1748
- --owo-feedback-success-border: var(--owo-cmp-success-border);
1749
- --owo-feedback-success-text: var(--owo-cmp-success-text);
1750
- --owo-feedback-success-icon: var(--owo-cmp-success-text);
1751
- --owo-feedback-warning-bg: var(--owo-cmp-warning-bg);
1752
- --owo-feedback-warning-border: var(--owo-cmp-warning-border);
1753
- --owo-feedback-warning-text: var(--owo-cmp-warning-text);
1754
- --owo-feedback-warning-icon: var(--owo-cmp-warning-text);
1755
- --owo-feedback-danger-bg: var(--owo-cmp-danger-bg);
1756
- --owo-feedback-danger-border: var(--owo-cmp-danger-border);
1757
- --owo-feedback-danger-text: var(--owo-cmp-danger-text);
1758
- --owo-feedback-danger-icon: var(--owo-cmp-danger-text);
1759
- }
1760
- :root, :root[data-theme="light"], .owoui-theme-light {
1761
- --owo-ref-color-neutral-900: #1a1a1a;
1762
- --owo-ref-color-neutral-800: #2d2d2d;
1763
- --owo-ref-color-neutral-700: #4a4a4a;
1764
- --owo-ref-color-neutral-600: #71717a;
1765
- --owo-ref-color-neutral-500: #a1a1aa;
1766
- --owo-ref-color-neutral-400: #d4d4d8;
1767
- --owo-ref-color-neutral-300: #e4e4e7;
1768
- --owo-ref-color-neutral-200: #f0f0f2;
1769
- --owo-ref-color-neutral-100: #f8f8f9;
1770
- --owo-ref-color-brand-primary: #1a1a1a;
1771
- --owo-ref-color-brand-primary-hover: #000000;
1772
- --owo-ref-color-brand-accent: #4a4a4a;
1773
- --owo-ref-color-surface-canvas: #ffffff;
1774
- --owo-ref-color-surface-base: #ffffff;
1775
- --owo-ref-color-surface-subtle: #fafaf9;
1776
- --owo-ref-color-surface-raised: #ffffff;
1777
- --owo-ref-color-surface-inset: #f5f5f4;
1778
- --owo-ref-color-surface-border: #e5e7eb;
1779
- --owo-ref-color-surface-ring: #d6d3d1;
1780
- --owo-ref-color-surface-overlay: rgba(0, 0, 0, 0.4);
1781
- --owo-ref-color-overlay-soft: rgba(244, 238, 230, 0.56);
1782
- --owo-ref-color-overlay-strong: rgba(15, 23, 42, 0.18);
1783
- --owo-ref-color-highlight-soft: rgba(255, 255, 255, 0.56);
1784
- --owo-ref-color-highlight-sheen: rgba(255, 255, 255, 0.34);
1785
- --owo-ref-color-text-on-brand: #ffffff;
1786
- --owo-ref-color-code-block-bg: #f4f4f5;
1787
- --owo-ref-color-code-block-border: #e4e4e7;
1788
- --owo-ref-color-code-block-divider: #ececed;
1789
- --owo-ref-color-code-inline-bg: #f4f4f5;
1790
- --owo-ref-color-status-success-bg: rgba(16, 185, 129, 0.10);
1791
- --owo-ref-color-status-success-border: rgba(16, 185, 129, 0.20);
1792
- --owo-ref-color-status-success-text: #047857;
1793
- --owo-ref-color-status-warning-bg: rgba(245, 158, 11, 0.10);
1794
- --owo-ref-color-status-warning-border: rgba(245, 158, 11, 0.20);
1795
- --owo-ref-color-status-warning-text: #b45309;
1796
- --owo-ref-color-status-danger-bg: rgba(239, 68, 68, 0.10);
1797
- --owo-ref-color-status-danger-border: rgba(239, 68, 68, 0.20);
1798
- --owo-ref-color-status-danger-text: #b91c1c;
1799
- --owo-ref-color-status-info-bg: rgba(14, 165, 233, 0.10);
1800
- --owo-ref-color-status-info-border: rgba(14, 165, 233, 0.20);
1801
- --owo-ref-color-status-info-text: #0369a1;
1802
- --owo-sys-theme-surface-canvas: var(--owo-ref-color-surface-canvas);
1803
- --owo-sys-theme-surface-base: var(--owo-ref-color-surface-base);
1804
- --owo-sys-theme-surface-subtle: var(--owo-ref-color-surface-subtle);
1805
- --owo-sys-theme-surface-raised: var(--owo-ref-color-surface-raised);
1806
- --owo-sys-theme-surface-inset: var(--owo-ref-color-surface-inset);
1807
- --owo-sys-theme-surface-border: var(--owo-ref-color-surface-border);
1808
- --owo-sys-theme-surface-border-muted: rgba(0, 0, 0, 0.06);
1809
- --owo-sys-theme-surface-border-strong: var(--owo-ref-color-surface-ring);
1810
- --owo-sys-theme-canvas-bg-subtle: #f5f5f4;
1811
- --owo-sys-theme-surface-container: #f4f4f5;
1812
- --owo-sys-theme-surface-container-high: #ececed;
1813
- --owo-sys-theme-surface-container-highest: #e4e4e7;
1814
- --owo-sys-theme-text-primary: var(--owo-ref-color-neutral-900);
1815
- --owo-sys-theme-text-secondary: var(--owo-ref-color-neutral-700);
1816
- --owo-sys-theme-text-muted: var(--owo-ref-color-neutral-600);
1817
- --owo-sys-theme-text-on-accent: var(--owo-ref-color-text-on-brand);
1818
- --owo-sys-theme-accent-bg: var(--owo-ref-color-brand-primary);
1819
- --owo-sys-theme-accent-bg-hover: var(--owo-ref-color-brand-primary-hover);
1820
- --owo-sys-theme-accent-bg-muted: color-mix(in srgb, #1a1a1a 10%, #ffffff);
1821
- @supports (color: color-mix(in lab, red, red)) {
1822
- --owo-sys-theme-accent-bg-muted: color-mix(in srgb, var(--owo-ref-color-brand-primary) 10%, var(--owo-ref-color-surface-base));
1823
- }
1824
- --owo-sys-theme-accent-border: color-mix(in srgb, #1a1a1a 40%, transparent);
1825
- @supports (color: color-mix(in lab, red, red)) {
1826
- --owo-sys-theme-accent-border: color-mix(in srgb, var(--owo-ref-color-brand-primary) 40%, transparent);
1827
- }
1828
- --owo-sys-theme-success-bg: var(--owo-ref-color-status-success-bg);
1829
- --owo-sys-theme-success-border: var(--owo-ref-color-status-success-border);
1830
- --owo-sys-theme-success-text: var(--owo-ref-color-status-success-text);
1831
- --owo-sys-theme-warning-bg: var(--owo-ref-color-status-warning-bg);
1832
- --owo-sys-theme-warning-border: var(--owo-ref-color-status-warning-border);
1833
- --owo-sys-theme-warning-text: var(--owo-ref-color-status-warning-text);
1834
- --owo-sys-theme-danger-bg: var(--owo-ref-color-status-danger-bg);
1835
- --owo-sys-theme-danger-bg-emphasis: rgba(239, 68, 68, 0.18);
1836
- --owo-sys-theme-danger-border: var(--owo-ref-color-status-danger-border);
1837
- --owo-sys-theme-danger-text: var(--owo-ref-color-status-danger-text);
1838
- --owo-sys-theme-info-bg: var(--owo-ref-color-status-info-bg);
1839
- --owo-sys-theme-info-border: var(--owo-ref-color-status-info-border);
1840
- --owo-sys-theme-info-text: var(--owo-ref-color-status-info-text);
1841
- --owo-sys-theme-control-focus-ring: var(--owo-ref-color-surface-ring);
1842
- --owo-sys-theme-control-focus-ring-offset: var(--owo-ref-color-surface-base);
1843
- --owo-sys-theme-overlay-bg: var(--owo-ref-color-overlay-strong);
1844
- }
1845
- :root {
1846
- --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
1847
- --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
1848
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
1849
- --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
1850
- --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border);
1851
- --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
1852
- --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
1853
- --owo-sys-preset-surface-shadow: var(--owo-ref-shadow-raised);
1854
- --owo-sys-preset-surface-shadow-strong: var(--owo-ref-shadow-popover);
1855
- --owo-sys-preset-surface-blur: 0px;
1856
- --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
1857
- --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
1858
- --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
1859
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container-high);
1860
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-highest);
1861
- --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-sm);
1862
- --owo-sys-preset-control-radius-md: var(--owo-ref-radius-md);
1863
- --owo-sys-preset-control-radius-lg: var(--owo-ref-radius-lg);
1864
- --owo-sys-preset-control-radius-xl: var(--owo-ref-radius-xl);
1865
- --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-2xl);
1866
- --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
1867
- --owo-sys-preset-control-border-width: 1px;
1868
- --owo-cmp-surface-bg: var(--owo-sys-preset-surface-bg);
1869
- --owo-cmp-surface-bg-subtle: var(--owo-sys-preset-surface-bg-subtle);
1870
- --owo-cmp-surface-bg-raised: var(--owo-sys-preset-surface-bg-raised);
1871
- --owo-cmp-surface-bg-inset: var(--owo-sys-preset-surface-bg-inset);
1872
- --owo-cmp-surface-border: var(--owo-sys-preset-surface-border);
1873
- --owo-cmp-surface-border-muted: var(--owo-sys-preset-surface-border-muted);
1874
- --owo-cmp-surface-border-strong: var(--owo-sys-preset-surface-border-strong);
1875
- --owo-cmp-surface-shadow: var(--owo-sys-preset-surface-shadow);
1876
- --owo-cmp-surface-shadow-strong: var(--owo-sys-preset-surface-shadow-strong);
1877
- --owo-cmp-surface-blur: var(--owo-sys-preset-surface-blur);
1878
- --owo-cmp-canvas-bg: var(--owo-sys-preset-canvas-bg);
1879
- --owo-cmp-canvas-bg-subtle: var(--owo-sys-preset-canvas-bg-subtle);
1880
- --owo-cmp-surface-container: var(--owo-sys-preset-surface-container);
1881
- --owo-cmp-surface-container-high: var(--owo-sys-preset-surface-container-high);
1882
- --owo-cmp-surface-container-highest: var(--owo-sys-preset-surface-container-highest);
1883
- --owo-cmp-text-primary: var(--owo-sys-theme-text-primary);
1884
- --owo-cmp-text-secondary: var(--owo-sys-theme-text-secondary);
1885
- --owo-cmp-text-muted: var(--owo-sys-theme-text-muted);
1886
- --owo-cmp-text-on-accent: var(--owo-sys-theme-text-on-accent);
1887
- --owo-cmp-accent-bg: var(--owo-sys-theme-accent-bg);
1888
- --owo-cmp-accent-bg-hover: var(--owo-sys-theme-accent-bg-hover);
1889
- --owo-cmp-accent-bg-muted: var(--owo-sys-theme-accent-bg-muted);
1890
- --owo-cmp-accent-text: var(--owo-sys-theme-text-on-accent);
1891
- --owo-cmp-accent-border: var(--owo-sys-theme-accent-border);
1892
- --owo-cmp-success-bg: var(--owo-sys-theme-success-bg);
1893
- --owo-cmp-success-border: var(--owo-sys-theme-success-border);
1894
- --owo-cmp-success-text: var(--owo-sys-theme-success-text);
1895
- --owo-cmp-warning-bg: var(--owo-sys-theme-warning-bg);
1896
- --owo-cmp-warning-border: var(--owo-sys-theme-warning-border);
1897
- --owo-cmp-warning-text: var(--owo-sys-theme-warning-text);
1898
- --owo-cmp-danger-bg: var(--owo-sys-theme-danger-bg);
1899
- --owo-cmp-danger-bg-emphasis: var(--owo-sys-theme-danger-bg-emphasis);
1900
- --owo-cmp-danger-border: var(--owo-sys-theme-danger-border);
1901
- --owo-cmp-danger-text: var(--owo-sys-theme-danger-text);
1902
- --owo-cmp-info-bg: var(--owo-sys-theme-info-bg);
1903
- --owo-cmp-info-border: var(--owo-sys-theme-info-border);
1904
- --owo-cmp-info-text: var(--owo-sys-theme-info-text);
1905
- --owo-cmp-control-radius-sm: var(--owo-sys-preset-control-radius-sm);
1906
- --owo-cmp-control-radius-md: var(--owo-sys-preset-control-radius-md);
1907
- --owo-cmp-control-radius-lg: var(--owo-sys-preset-control-radius-lg);
1908
- --owo-cmp-control-radius-xl: var(--owo-sys-preset-control-radius-xl);
1909
- --owo-cmp-control-radius-2xl: var(--owo-sys-preset-control-radius-2xl);
1910
- --owo-cmp-control-radius-full: var(--owo-sys-preset-control-radius-full);
1911
- --owo-cmp-control-border-width: var(--owo-sys-preset-control-border-width);
1912
- --owo-cmp-control-focus-ring: var(--owo-sys-theme-control-focus-ring);
1913
- --owo-cmp-control-focus-ring-offset: var(--owo-sys-theme-control-focus-ring-offset);
1914
- --owo-cmp-font-heading: var(--owo-ref-font-heading);
1915
- --owo-cmp-motion-duration-fast: 0.15s;
1916
- --owo-cmp-motion-duration-default: 0.2s;
1917
- --owo-cmp-motion-ease-standard: var(--owo-ref-motion-ease-standard);
1918
- --owo-cmp-motion-ease-decelerate: var(--owo-ref-motion-ease-decelerate);
1919
- --owo-cmp-motion-ease-accelerate: var(--owo-ref-motion-ease-accelerate);
1920
- --owo-cmp-density-compact: 0.875;
1921
- --owo-cmp-density-default: 1;
1922
- --owo-cmp-density-comfortable: 1.125;
1923
- --owo-cmp-overlay-bg: var(--owo-sys-theme-overlay-bg);
1924
- --owo-cmp-z-dropdown: 1000;
1925
- --owo-cmp-z-modal: 1100;
1926
- --owo-cmp-z-toast: 1200;
1927
- --owo-feedback-neutral-bg: var(--owo-cmp-surface-bg-raised);
1928
- --owo-feedback-neutral-border: var(--owo-cmp-surface-border);
1929
- --owo-feedback-neutral-text: var(--owo-cmp-text-primary);
1930
- --owo-feedback-neutral-icon: var(--owo-cmp-text-secondary);
1931
- --owo-feedback-info-bg: var(--owo-cmp-info-bg);
1932
- --owo-feedback-info-border: var(--owo-cmp-info-border);
1933
- --owo-feedback-info-text: var(--owo-cmp-info-text);
1934
- --owo-feedback-info-icon: var(--owo-cmp-info-text);
1935
- --owo-feedback-success-bg: var(--owo-cmp-success-bg);
1936
- --owo-feedback-success-border: var(--owo-cmp-success-border);
1937
- --owo-feedback-success-text: var(--owo-cmp-success-text);
1938
- --owo-feedback-success-icon: var(--owo-cmp-success-text);
1939
- --owo-feedback-warning-bg: var(--owo-cmp-warning-bg);
1940
- --owo-feedback-warning-border: var(--owo-cmp-warning-border);
1941
- --owo-feedback-warning-text: var(--owo-cmp-warning-text);
1942
- --owo-feedback-warning-icon: var(--owo-cmp-warning-text);
1943
- --owo-feedback-danger-bg: var(--owo-cmp-danger-bg);
1944
- --owo-feedback-danger-border: var(--owo-cmp-danger-border);
1945
- --owo-feedback-danger-text: var(--owo-cmp-danger-text);
1946
- --owo-feedback-danger-icon: var(--owo-cmp-danger-text);
1947
- }
1948
- :root[data-preset="default"], .owoui-preset-default {
1949
- --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
1950
- --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
1951
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
1952
- --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
1953
- --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border);
1954
- --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
1955
- --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
1956
- --owo-sys-preset-surface-shadow: var(--owo-ref-shadow-raised);
1957
- --owo-sys-preset-surface-shadow-strong: var(--owo-ref-shadow-popover);
1958
- --owo-sys-preset-surface-blur: 0px;
1959
- --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
1960
- --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
1961
- --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
1962
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container-high);
1963
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-highest);
1964
- --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-sm);
1965
- --owo-sys-preset-control-radius-md: var(--owo-ref-radius-md);
1966
- --owo-sys-preset-control-radius-lg: var(--owo-ref-radius-lg);
1967
- --owo-sys-preset-control-radius-xl: var(--owo-ref-radius-xl);
1968
- --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-2xl);
1969
- --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
1970
- --owo-sys-preset-control-border-width: 1px;
1971
- }
1972
- .owo-avatar {
1973
- --avatar-bg: var(--owo-cmp-surface-bg-inset);
1974
- --avatar-text: var(--owo-cmp-text-secondary);
1975
- --avatar-border: transparent;
1976
- background: var(--avatar-bg);
1977
- color: var(--avatar-text);
1978
- border: 1px solid var(--avatar-border);
1979
- }
1980
- .owo-avatar[data-tone="subtle"] {
1981
- --avatar-bg: var(--owo-cmp-surface-bg-subtle);
1982
- --avatar-text: var(--owo-cmp-text-muted);
1983
- }
1984
- .owo-badge {
1985
- --badge-bg: var(--owo-cmp-surface-bg-inset);
1986
- --badge-text: var(--owo-cmp-text-secondary);
1987
- --badge-border: transparent;
1988
- background: var(--badge-bg);
1989
- border-color: var(--badge-border);
1990
- }
1991
- .owo-badge[data-variant="outline"] {
1992
- --badge-bg: transparent;
1993
- --badge-border: var(--owo-cmp-surface-border);
1994
- }
1995
- .owo-badge[data-tone="info"] {
1996
- --badge-bg: var(--owo-cmp-info-bg);
1997
- --badge-text: var(--owo-cmp-info-text);
1998
- --badge-border: var(--owo-cmp-info-border);
1999
- }
2000
- .owo-badge[data-tone="info"][data-variant="outline"] {
2001
- --badge-bg: transparent;
2002
- }
2003
- .owo-badge[data-tone="success"] {
2004
- --badge-bg: var(--owo-cmp-success-bg);
2005
- --badge-text: var(--owo-cmp-success-text);
2006
- --badge-border: var(--owo-cmp-success-border);
2007
- }
2008
- .owo-badge[data-tone="success"][data-variant="outline"] {
2009
- --badge-bg: transparent;
2010
- }
2011
- .owo-badge[data-tone="warning"] {
2012
- --badge-bg: var(--owo-cmp-warning-bg);
2013
- --badge-text: var(--owo-cmp-warning-text);
2014
- --badge-border: var(--owo-cmp-warning-border);
2015
- }
2016
- .owo-badge[data-tone="warning"][data-variant="outline"] {
2017
- --badge-bg: transparent;
2018
- }
2019
- .owo-badge[data-tone="danger"] {
2020
- --badge-bg: var(--owo-cmp-danger-bg);
2021
- --badge-text: var(--owo-cmp-danger-text);
2022
- --badge-border: var(--owo-cmp-danger-border);
2023
- }
2024
- .owo-badge[data-tone="danger"][data-variant="outline"] {
2025
- --badge-bg: transparent;
2026
- }
2027
- .owo-button {
2028
- --button-bg: var(--owo-cmp-surface-bg);
2029
- --button-bg-hover: var(--owo-cmp-surface-bg-inset);
2030
- --button-bg-active: var(--owo-cmp-surface-bg-subtle);
2031
- --button-text: var(--owo-cmp-text-primary);
2032
- --button-border: var(--owo-cmp-surface-border);
2033
- --button-ring: var(--owo-cmp-control-focus-ring);
2034
- --button-disabled-opacity: 0.5;
2035
- background: var(--button-bg);
2036
- color: var(--button-text);
2037
- border-color: var(--button-border);
2038
- }
2039
- .owo-button:hover {
2040
- background: var(--button-bg-hover);
2041
- }
2042
- .owo-button:active {
2043
- background: var(--button-bg-active);
2044
- }
2045
- .owo-button:focus-visible {
2046
- --tw-ring-color: var(--button-ring);
2047
- }
2048
- .owo-button[data-variant="primary"] {
2049
- --button-bg: var(--owo-cmp-accent-bg);
2050
- --button-bg-hover: var(--owo-cmp-accent-bg-hover);
2051
- --button-bg-active: var(--owo-cmp-accent-bg-hover);
2052
- @supports (color: color-mix(in lab, red, red)) {
2053
- --button-bg-active: color-mix(in srgb, var(--owo-cmp-accent-bg-hover) 88%, black);
2054
- }
2055
- --button-text: var(--owo-cmp-accent-text);
2056
- --button-border: transparent;
2057
- }
2058
- .owo-button[data-variant="ghost"] {
2059
- --button-bg: transparent;
2060
- --button-bg-hover: var(--owo-cmp-surface-bg-inset);
2061
- --button-bg-active: var(--owo-cmp-surface-bg-subtle);
2062
- --button-text: var(--owo-cmp-text-secondary);
2063
- --button-border: transparent;
2064
- }
2065
- .owo-button[data-variant="danger"] {
2066
- --button-bg: var(--owo-cmp-danger-bg);
2067
- --button-bg-hover: var(--owo-cmp-danger-bg);
2068
- @supports (color: color-mix(in lab, red, red)) {
2069
- --button-bg-hover: color-mix(in srgb, var(--owo-cmp-danger-bg) 92%, var(--owo-cmp-danger-border));
2070
- }
2071
- --button-bg-active: var(--owo-cmp-danger-bg);
2072
- @supports (color: color-mix(in lab, red, red)) {
2073
- --button-bg-active: color-mix(in srgb, var(--owo-cmp-danger-bg) 84%, var(--owo-cmp-danger-border));
2074
- }
2075
- --button-text: var(--owo-cmp-danger-text);
2076
- --button-border: var(--owo-cmp-danger-border);
2077
- --button-ring: var(--owo-cmp-danger-border);
2078
- }
2079
- .owo-collapsible__trigger {
2080
- cursor: pointer;
2081
- }
2082
- .owo-collapsible__content {
2083
- height: auto;
2084
- overflow: hidden;
2085
- transition: height 180ms ease;
2086
- }
2087
- .owo-collapsible__content-inner {
2088
- min-height: 0;
2089
- }
2090
- .owo-dialog-backdrop {
2091
- animation: dialog-backdrop-in 0.2s var(--owo-cmp-motion-ease-standard);
2092
- }
2093
- .owo-dialog {
2094
- background: var(--owo-cmp-surface-bg-raised);
2095
- border: 1px solid var(--owo-cmp-surface-border);
2096
- color: var(--owo-cmp-text-primary);
2097
- }
2098
- .owo-dialog__header {
2099
- color: var(--owo-cmp-text-primary);
2100
- }
2101
- .owo-dialog__body {
2102
- color: var(--owo-cmp-text-secondary);
2103
- }
2104
- @keyframes dialog-in {
2105
- from {
2106
- opacity: 0;
2107
- transform: scale(0.95) translateY(4px);
2108
- }
2109
- to {
2110
- opacity: 1;
2111
- transform: scale(1) translateY(0);
2112
- }
2113
- }
2114
- @keyframes dialog-backdrop-in {
2115
- from {
2116
- opacity: 0;
2117
- }
2118
- to {
2119
- opacity: 1;
2120
- }
2121
- }
2122
- .owo-dropdown-menu__content {
2123
- min-width: 12rem;
2124
- overflow-y: auto;
2125
- border: 1px solid var(--owo-cmp-surface-border);
2126
- border-radius: var(--owo-cmp-control-radius-lg);
2127
- background: var(--owo-cmp-surface-bg-raised);
2128
- box-shadow: var(--_owo-dropdown-menu-shadow, var(--owo-cmp-surface-shadow-strong));
2129
- padding: 0.375rem;
2130
- color: var(--owo-cmp-text-primary);
2131
- outline: none;
2132
- z-index: var(--owo-cmp-z-dropdown);
2133
- animation: owo-dropdown-menu-in var(--owo-cmp-motion-duration-fast) var(--owo-cmp-motion-ease-standard);
2134
- }
2135
- .owo-dropdown-menu__content[data-side="top"] {
2136
- transform-origin: bottom center;
2137
- }
2138
- .owo-dropdown-menu__content[data-side="bottom"] {
2139
- transform-origin: top center;
2140
- }
2141
- .owo-dropdown-menu__content[data-side="left"] {
2142
- transform-origin: center right;
2143
- }
2144
- .owo-dropdown-menu__content[data-side="right"] {
2145
- transform-origin: center left;
2146
- }
2147
- .owo-dropdown-menu__group + .owo-dropdown-menu__group {
2148
- margin-top: 0.375rem;
2149
- padding-top: 0.375rem;
2150
- border-top: 1px solid var(--owo-cmp-surface-border);
2151
- @supports (color: color-mix(in lab, red, red)) {
2152
- border-top: 1px solid color-mix(in srgb, var(--owo-cmp-surface-border) 80%, transparent);
2153
- }
2154
- }
2155
- .owo-dropdown-menu__label {
2156
- padding: 0.35rem 0.625rem 0.25rem;
2157
- font-size: 0.675rem;
2158
- font-weight: 700;
2159
- letter-spacing: 0.12em;
2160
- text-transform: uppercase;
2161
- color: var(--owo-cmp-text-muted);
2162
- }
2163
- .owo-dropdown-menu__separator {
2164
- margin: 0.375rem 0.25rem;
2165
- border-top: 1px solid var(--owo-cmp-surface-border);
2166
- @supports (color: color-mix(in lab, red, red)) {
2167
- border-top: 1px solid color-mix(in srgb, var(--owo-cmp-surface-border) 82%, transparent);
2168
- }
2169
- }
2170
- .owo-dropdown-menu__item {
2171
- display: flex;
2172
- width: 100%;
2173
- align-items: center;
2174
- gap: 0.75rem;
2175
- border: 0;
2176
- border-radius: calc(var(--owo-cmp-control-radius-md) - 0.125rem);
2177
- background: transparent;
2178
- padding: 0.625rem 0.75rem;
2179
- text-align: left;
2180
- color: inherit;
2181
- cursor: default;
2182
- transition: background-color var(--owo-cmp-motion-duration-fast) var(--owo-cmp-motion-ease-standard), color var(--owo-cmp-motion-duration-fast) var(--owo-cmp-motion-ease-standard);
2183
- }
2184
- .owo-dropdown-menu__item:hover, .owo-dropdown-menu__item[data-highlighted] {
2185
- background: var(--owo-cmp-surface-bg-inset);
2186
- }
2187
- .owo-dropdown-menu__item[data-selected] {
2188
- background: var(--owo-cmp-accent-bg);
2189
- @supports (color: color-mix(in lab, red, red)) {
2190
- background: color-mix(in srgb, var(--owo-cmp-accent-bg) 10%, var(--owo-cmp-surface-bg-raised));
2191
- }
2192
- }
2193
- .owo-dropdown-menu__item[data-selected] .owo-dropdown-menu__item-main {
2194
- color: var(--owo-cmp-text-primary);
2195
- font-weight: 600;
2196
- }
2197
- .owo-dropdown-menu__item[data-disabled] {
2198
- opacity: 0.5;
2199
- cursor: not-allowed;
2200
- }
2201
- .owo-dropdown-menu__item[data-destructive] {
2202
- color: var(--owo-cmp-danger-text);
2203
- }
2204
- .owo-dropdown-menu__item--inset {
2205
- padding-left: 1rem;
2206
- }
2207
- .owo-dropdown-menu__item-main {
2208
- min-width: 0;
2209
- flex: 1 1 auto;
2210
- overflow: hidden;
2211
- text-overflow: ellipsis;
2212
- white-space: nowrap;
2213
- }
2214
- .owo-dropdown-menu__shortcut, .owo-dropdown-menu__indicator, .owo-dropdown-menu__submenu-indicator {
2215
- flex: 0 0 auto;
2216
- color: var(--owo-cmp-text-muted);
2217
- font-size: 0.75rem;
2218
- }
2219
- .owo-dropdown-menu__indicator {
2220
- min-width: 1rem;
2221
- text-align: center;
2222
- color: var(--owo-cmp-accent-bg);
2223
- font-weight: 700;
2224
- }
2225
- .owo-dropdown-menu__sub-trigger[data-state="open"] {
2226
- background: var(--owo-cmp-surface-bg-inset);
2227
- }
2228
- @keyframes owo-dropdown-menu-in {
2229
- from {
2230
- opacity: 0;
2231
- transform: scale(0.98);
2232
- }
2233
- to {
2234
- opacity: 1;
2235
- transform: scale(1);
2236
- }
2237
- }
2238
- .owo-drawer {
2239
- --drawer-surface: var(--owo-cmp-surface-bg-raised);
2240
- --drawer-border: var(--owo-cmp-surface-border);
2241
- --drawer-shadow: var(--owo-cmp-surface-shadow-strong);
2242
- will-change: transform;
2243
- background: var(--drawer-surface);
2244
- border-color: var(--drawer-border);
2245
- box-shadow: var(--drawer-shadow);
2246
- }
2247
- .owo-drawer-backdrop {
2248
- --drawer-backdrop: var(--owo-cmp-overlay-bg);
2249
- border: 0;
2250
- background: var(--drawer-backdrop);
2251
- }
2252
- .owo-field {
2253
- --field-label: var(--owo-cmp-text-secondary);
2254
- --field-help: var(--owo-cmp-text-muted);
2255
- }
2256
- .owo-field__label {
2257
- color: var(--field-label);
2258
- }
2259
- .owo-field__help {
2260
- color: var(--field-help);
2261
- }
2262
- .owo-icon-button {
2263
- --icon-button-bg: transparent;
2264
- --icon-button-bg-hover: var(--owo-cmp-surface-bg-inset);
2265
- --icon-button-bg-active: var(--owo-cmp-surface-bg-subtle);
2266
- --icon-button-text: var(--owo-cmp-text-muted);
2267
- --icon-button-ring: var(--owo-cmp-control-focus-ring);
2268
- background: var(--icon-button-bg);
2269
- color: var(--icon-button-text);
2270
- }
2271
- .owo-icon-button:hover {
2272
- background: var(--icon-button-bg-hover);
2273
- color: var(--owo-cmp-text-primary);
2274
- }
2275
- .owo-icon-button:active {
2276
- background: var(--icon-button-bg-active);
2277
- }
2278
- .owo-icon-button:focus-visible {
2279
- --tw-ring-color: var(--icon-button-ring);
2280
- }
2281
- .owo-icon-button[data-variant="subtle"] {
2282
- --icon-button-bg: var(--owo-cmp-surface-bg-inset);
2283
- --icon-button-bg-hover: var(--owo-cmp-surface-bg-subtle);
2284
- --icon-button-bg-active: var(--owo-cmp-surface-bg-raised);
2285
- --icon-button-text: var(--owo-cmp-text-primary);
2286
- }
2287
- .owo-input {
2288
- --field-bg: var(--owo-cmp-surface-bg);
2289
- --field-border: var(--owo-cmp-surface-border);
2290
- --field-text: var(--owo-cmp-text-primary);
2291
- --field-placeholder: var(--owo-cmp-text-muted);
2292
- --field-ring: var(--owo-cmp-control-focus-ring);
2293
- background: var(--field-bg);
2294
- border: 1px solid var(--field-border);
2295
- color: var(--field-text);
2296
- --tw-ring-color: var(--field-ring);
2297
- }
2298
- .owo-input[data-tone="warning"] {
2299
- --field-border: var(--owo-cmp-warning-border);
2300
- --field-ring: var(--owo-cmp-warning-border);
2301
- }
2302
- .owo-panel {
2303
- --panel-bg: var(--owo-cmp-surface-bg);
2304
- --panel-border: var(--owo-cmp-surface-border);
2305
- --panel-section-border: var(--owo-cmp-surface-border);
2306
- --panel-shadow: none;
2307
- background: var(--panel-bg);
2308
- border-color: var(--panel-border);
2309
- box-shadow: var(--panel-shadow);
2310
- }
2311
- .owo-panel-header, .owo-panel-footer {
2312
- border-color: var(--panel-section-border);
2313
- }
2314
- .owo-panel[data-variant="subtle"] {
2315
- --panel-bg: var(--owo-cmp-surface-bg-subtle);
2316
- }
2317
- .owo-panel[data-variant="raised"] {
2318
- --panel-bg: var(--owo-cmp-surface-bg-raised);
2319
- --panel-shadow: var(--owo-cmp-surface-shadow);
2320
- }
2321
- .owo-segmented-control {
2322
- --segmented-bg: var(--owo-cmp-surface-bg-inset);
2323
- --segmented-border: var(--owo-cmp-surface-border);
2324
- --segmented-item-text: var(--owo-cmp-text-muted);
2325
- --segmented-item-hover-text: var(--owo-cmp-text-secondary);
2326
- --segmented-item-active-bg: var(--owo-cmp-surface-bg-raised);
2327
- --segmented-item-active-text: var(--owo-cmp-text-primary);
2328
- --segmented-ring: var(--owo-cmp-control-focus-ring);
2329
- background: var(--segmented-bg);
2330
- --tw-ring-color: var(--segmented-border);
2331
- }
2332
- .owo-segmented-control__item {
2333
- color: var(--segmented-item-text);
2334
- }
2335
- .owo-segmented-control__item:hover {
2336
- color: var(--segmented-item-hover-text);
2337
- }
2338
- .owo-segmented-control__item[data-active="true"] {
2339
- background: var(--segmented-item-active-bg);
2340
- color: var(--segmented-item-active-text);
2341
- }
2342
- .owo-segmented-control__item:focus-visible {
2343
- --tw-ring-color: var(--segmented-ring);
2344
- }
2345
- .owo-select__trigger {
2346
- --select-bg: var(--owo-cmp-surface-bg);
2347
- --select-border: var(--owo-cmp-surface-border);
2348
- --select-text: var(--owo-cmp-text-primary);
2349
- --select-ring: var(--owo-cmp-control-focus-ring);
2350
- background: var(--select-bg);
2351
- border: 0.5px solid var(--select-border);
2352
- color: var(--select-text);
2353
- --tw-ring-color: var(--select-ring);
2354
- }
2355
- .owo-select__trigger:hover:not(:disabled) {
2356
- --select-border: var(--owo-cmp-surface-border-strong);
2357
- }
2358
- .owo-select__trigger[data-open] {
2359
- --select-border: var(--owo-cmp-surface-border-strong);
2360
- }
2361
- .owo-select__trigger[data-tone="warning"] {
2362
- --select-border: var(--owo-cmp-warning-border);
2363
- --select-ring: var(--owo-cmp-warning-border);
2364
- }
2365
- .owo-select__trigger:disabled {
2366
- cursor: not-allowed;
2367
- opacity: 0.5;
2368
- }
2369
- .owo-select__placeholder {
2370
- color: var(--owo-cmp-text-muted);
2371
- }
2372
- .owo-select__chevron {
2373
- color: var(--owo-cmp-text-muted);
2374
- }
2375
- .owo-select__dropdown {
2376
- --select-dropdown-shadow: var(--owo-cmp-surface-shadow-strong);
2377
- background: var(--owo-cmp-surface-bg-raised);
2378
- --tw-ring-color: var(--owo-cmp-surface-border);
2379
- box-shadow: var(--select-dropdown-shadow);
2380
- }
2381
- .owo-select__option[data-focused] {
2382
- background: var(--owo-cmp-surface-bg-inset);
2383
- }
2384
- .owo-select__option[data-selected] {
2385
- color: var(--owo-cmp-accent-bg);
2386
- font-weight: 500;
2387
- }
2388
- .owo-skeleton {
2389
- --_owo-skeleton-scan-duration: 3.6s;
2390
- --skeleton-bg: linear-gradient(
2391
- 180deg,
2392
- var(--owo-cmp-surface-bg-inset) 0%,
2393
- var(--owo-cmp-surface-bg-inset) 100%
2394
- );
2395
- @supports (color: color-mix(in lab, red, red)) {
2396
- --skeleton-bg: linear-gradient(
2397
- 180deg,
2398
- color-mix(in srgb, var(--owo-cmp-surface-bg-inset) 94%, white) 0%,
2399
- color-mix(in srgb, var(--owo-cmp-surface-bg-inset) 100%, var(--owo-cmp-surface-border)) 100%
2400
- );
2401
- }
2402
- --skeleton-bg-emphasis: linear-gradient(
2403
- 180deg,
2404
- var(--owo-cmp-surface-bg-subtle) 0%,
2405
- var(--owo-cmp-surface-bg-inset) 100%
2406
- );
2407
- @supports (color: color-mix(in lab, red, red)) {
2408
- --skeleton-bg-emphasis: linear-gradient(
2409
- 180deg,
2410
- color-mix(in srgb, var(--owo-cmp-surface-bg-subtle) 78%, var(--owo-ref-color-highlight-soft)) 0%,
2411
- color-mix(in srgb, var(--owo-cmp-surface-bg-inset) 86%, var(--owo-cmp-surface-border)) 100%
2412
- );
2413
- }
2414
- --skeleton-sheen: linear-gradient(
2415
- 100deg,
2416
- transparent 0%,
2417
- color-mix(in srgb, rgba(255, 255, 255, 0.34) 10%, transparent) 28%,
2418
- color-mix(in srgb, rgba(255, 255, 255, 0.34) 35%, transparent) 40%,
2419
- var(--owo-ref-color-highlight-sheen) 50%,
2420
- color-mix(in srgb, rgba(255, 255, 255, 0.34) 35%, transparent) 60%,
2421
- color-mix(in srgb, rgba(255, 255, 255, 0.34) 10%, transparent) 72%,
2422
- transparent 100%
2423
- );
2424
- @supports (color: color-mix(in lab, red, red)) {
2425
- --skeleton-sheen: linear-gradient(
2426
- 100deg,
2427
- transparent 0%,
2428
- color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 10%, transparent) 28%,
2429
- color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 35%, transparent) 40%,
2430
- var(--owo-ref-color-highlight-sheen) 50%,
2431
- color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 35%, transparent) 60%,
2432
- color-mix(in srgb, var(--owo-ref-color-highlight-sheen) 10%, transparent) 72%,
2433
- transparent 100%
2434
- );
2435
- }
2436
- --skeleton-top-highlight: var(--owo-ref-color-highlight-soft);
2437
- position: relative;
2438
- overflow: hidden;
2439
- background: var(--skeleton-bg);
2440
- box-shadow: inset 0 1px 0 var(--skeleton-top-highlight);
2441
- transform: translateZ(0);
2442
- }
2443
- .owo-skeleton[data-tone='emphasis'] {
2444
- background: var(--skeleton-bg-emphasis);
2445
- }
2446
- .owo-skeleton::before {
2447
- content: "";
2448
- position: absolute;
2449
- inset: 0;
2450
- background: inherit;
2451
- opacity: 0.84;
2452
- }
2453
- .owo-skeleton::after {
2454
- content: "";
2455
- position: absolute;
2456
- inset: -35%;
2457
- background: var(--skeleton-sheen);
2458
- transform: translateX(-140%) skewX(-14deg);
2459
- opacity: 0;
2460
- will-change: transform, opacity;
2461
- }
2462
- .owo-skeleton[data-animation='pulse']::after {
2463
- display: none;
2464
- }
2465
- .owo-skeleton[data-animation='pulse']::before {
2466
- animation: owo-skeleton-breathe 2.6s var(--owo-cmp-motion-ease-standard) infinite;
2467
- }
2468
- .owo-skeleton[data-animation='scan']::before {
2469
- opacity: 1;
2470
- filter: none;
2471
- }
2472
- .owo-skeleton[data-animation='scan']::after {
2473
- opacity: 1;
2474
- animation: owo-skeleton-scan var(--_owo-skeleton-scan-duration) cubic-bezier(0.3, 0, 0.2, 1) infinite;
2475
- }
2476
- @keyframes owo-skeleton-breathe {
2477
- 0%, 100% {
2478
- opacity: 0.8;
2479
- filter: saturate(0.96) brightness(0.98);
2480
- }
2481
- 50% {
2482
- opacity: 1;
2483
- filter: saturate(1.04) brightness(1.04);
2484
- }
2485
- }
2486
- @keyframes owo-skeleton-scan {
2487
- 0% {
2488
- transform: translateX(-140%) skewX(-14deg);
2489
- opacity: 0;
2490
- }
2491
- 18% {
2492
- opacity: 0.82;
2493
- }
2494
- 52% {
2495
- transform: translateX(6%) skewX(-14deg);
2496
- opacity: 1;
2497
- }
2498
- 82% {
2499
- opacity: 0.82;
2500
- }
2501
- 100% {
2502
- transform: translateX(140%) skewX(-14deg);
2503
- opacity: 0;
2504
- }
2505
- }
2506
- @media (prefers-reduced-motion: reduce) {
2507
- .owo-skeleton::before {
2508
- animation: none;
2509
- opacity: 0.94;
2510
- filter: none;
2511
- }
2512
- .owo-skeleton::after {
2513
- animation: none;
2514
- opacity: 0;
2515
- }
2516
- }
2517
- .owo-status-notice {
2518
- --status-notice-bg: var(--owo-feedback-neutral-bg);
2519
- --status-notice-border: var(--owo-feedback-neutral-border);
2520
- --status-notice-text: var(--owo-feedback-neutral-text);
2521
- --status-notice-icon: var(--owo-feedback-neutral-icon);
2522
- background: var(--status-notice-bg);
2523
- border-color: var(--status-notice-border);
2524
- color: var(--status-notice-text);
2525
- }
2526
- .owo-status-notice__icon {
2527
- color: var(--status-notice-icon);
2528
- }
2529
- .owo-status-notice__title {
2530
- color: var(--owo-cmp-text-primary);
2531
- }
2532
- .owo-status-notice[data-layout="vertical"] .owo-status-notice__title {
2533
- color: var(--status-notice-text);
2534
- }
2535
- .owo-status-notice[data-tone="info"] {
2536
- --status-notice-bg: var(--owo-feedback-info-bg);
2537
- --status-notice-border: var(--owo-feedback-info-border);
2538
- --status-notice-text: var(--owo-feedback-info-text);
2539
- --status-notice-icon: var(--owo-feedback-info-icon);
2540
- }
2541
- .owo-status-notice[data-tone="success"] {
2542
- --status-notice-bg: var(--owo-feedback-success-bg);
2543
- --status-notice-border: var(--owo-feedback-success-border);
2544
- --status-notice-text: var(--owo-feedback-success-text);
2545
- --status-notice-icon: var(--owo-feedback-success-icon);
2546
- }
2547
- .owo-status-notice[data-tone="warning"] {
2548
- --status-notice-bg: var(--owo-feedback-warning-bg);
2549
- --status-notice-border: var(--owo-feedback-warning-border);
2550
- --status-notice-text: var(--owo-feedback-warning-text);
2551
- --status-notice-icon: var(--owo-feedback-warning-icon);
2552
- }
2553
- .owo-status-notice[data-tone="danger"] {
2554
- --status-notice-bg: var(--owo-feedback-danger-bg);
2555
- --status-notice-border: var(--owo-feedback-danger-border);
2556
- --status-notice-text: var(--owo-feedback-danger-text);
2557
- --status-notice-icon: var(--owo-feedback-danger-icon);
2558
- }
2559
- .owo-switch {
2560
- background: var(--owo-cmp-surface-border-strong);
2561
- --tw-ring-color: var(--owo-cmp-control-focus-ring);
2562
- --tw-ring-offset-color: var(--owo-cmp-surface-bg);
2563
- }
2564
- .owo-switch[aria-checked="true"] {
2565
- background: var(--owo-cmp-accent-bg);
2566
- }
2567
- .owo-switch:hover:not(:disabled) {
2568
- background: var(--owo-cmp-surface-border-strong);
2569
- @supports (color: color-mix(in lab, red, red)) {
2570
- background: color-mix(in srgb, var(--owo-cmp-surface-border-strong) 82%, var(--owo-cmp-text-muted));
2571
- }
2572
- }
2573
- .owo-switch[aria-checked="true"]:hover:not(:disabled) {
2574
- background: var(--owo-cmp-accent-bg-hover);
2575
- }
2576
- .owo-tabs__list {
2577
- --tabs-border: var(--owo-cmp-surface-border);
2578
- border-color: var(--tabs-border);
2579
- }
2580
- .owo-tabs__trigger {
2581
- --tabs-text: var(--owo-cmp-text-muted);
2582
- --tabs-hover-text: var(--owo-cmp-text-secondary);
2583
- --tabs-active-text: var(--owo-cmp-text-primary);
2584
- --tabs-active-border: var(--owo-cmp-accent-border);
2585
- --tabs-active-bg: var(--owo-cmp-accent-bg-muted);
2586
- @supports (color: color-mix(in lab, red, red)) {
2587
- --tabs-active-bg: color-mix(in srgb, var(--owo-cmp-accent-bg-muted) 35%, transparent);
2588
- }
2589
- --tabs-ring: var(--owo-cmp-control-focus-ring);
2590
- border-bottom-color: transparent;
2591
- color: var(--tabs-text);
2592
- }
2593
- .owo-tabs__trigger:hover {
2594
- color: var(--tabs-hover-text);
2595
- }
2596
- .owo-tabs__trigger[data-state="active"] {
2597
- background: var(--tabs-active-bg);
2598
- border-bottom-color: var(--tabs-active-border);
2599
- color: var(--tabs-active-text);
2600
- }
2601
- .owo-tabs__trigger:focus-visible {
2602
- --tw-ring-color: var(--tabs-ring);
2603
- }
2604
- .owo-tabs__content {
2605
- color: var(--owo-cmp-text-primary);
2606
- }
2607
- .owo-textarea {
2608
- min-height: calc(1.5em * 3 + 1rem);
2609
- line-height: 1.5;
2610
- }
2611
- .owo-textarea[data-auto-resize="true"] {
2612
- overflow-y: hidden;
2613
- }
2614
- .owo-toast {
2615
- --toast-bg: var(--owo-feedback-neutral-bg);
2616
- --toast-border: var(--owo-feedback-neutral-border);
2617
- --toast-text: var(--owo-feedback-neutral-text);
2618
- --toast-icon: var(--owo-feedback-neutral-icon);
2619
- background: var(--toast-bg);
2620
- border-color: var(--toast-border);
2621
- color: var(--toast-text);
2622
- --toast-shadow: var(--owo-cmp-surface-shadow-strong);
2623
- box-shadow: var(--toast-shadow);
2624
- }
2625
- .owo-toast__icon {
2626
- color: var(--toast-icon);
2627
- }
2628
- .owo-toast__title {
2629
- color: inherit;
2630
- }
2631
- .owo-toast[data-tone="success"] {
2632
- --toast-bg: var(--owo-feedback-success-bg);
2633
- --toast-border: var(--owo-feedback-success-border);
2634
- --toast-text: var(--owo-feedback-success-text);
2635
- --toast-icon: var(--owo-feedback-success-icon);
2636
- }
2637
- .owo-toast[data-tone="warning"] {
2638
- --toast-bg: var(--owo-feedback-warning-bg);
2639
- --toast-border: var(--owo-feedback-warning-border);
2640
- --toast-text: var(--owo-feedback-warning-text);
2641
- --toast-icon: var(--owo-feedback-warning-icon);
2642
- }
2643
- .owo-toast[data-tone="danger"] {
2644
- --toast-bg: var(--owo-feedback-danger-bg);
2645
- --toast-border: var(--owo-feedback-danger-border);
2646
- --toast-text: var(--owo-feedback-danger-text);
2647
- --toast-icon: var(--owo-feedback-danger-icon);
2648
- }
2649
- .owo-toast[data-tone="info"] {
2650
- --toast-bg: var(--owo-feedback-info-bg);
2651
- --toast-border: var(--owo-feedback-info-border);
2652
- --toast-text: var(--owo-feedback-info-text);
2653
- --toast-icon: var(--owo-feedback-info-icon);
2654
- }
2655
- @keyframes toast-in {
2656
- from {
2657
- opacity: 0;
2658
- transform: translateY(8px) scale(0.96);
2659
- }
2660
- to {
2661
- opacity: 1;
2662
- transform: translateY(0) scale(1);
2663
- }
2664
- }
2665
- .owo-tooltip {
2666
- --tooltip-bg: var(--owo-cmp-surface-bg-raised);
2667
- --tooltip-border: var(--owo-cmp-surface-border);
2668
- --tooltip-text: var(--owo-cmp-text-primary);
2669
- --tooltip-shadow: var(--owo-cmp-surface-shadow-strong);
2670
- --tooltip-arrow-color: var(--tooltip-bg);
2671
- background: var(--tooltip-bg);
2672
- color: var(--tooltip-text);
2673
- border: 1px solid var(--tooltip-border);
2674
- box-shadow: 0 0 0 1px var(--tooltip-border), var(--tooltip-shadow);
2675
- @supports (color: color-mix(in lab, red, red)) {
2676
- box-shadow: 0 0 0 1px color-mix(in srgb, var(--tooltip-border) 55%, transparent), var(--tooltip-shadow);
2677
- }
2678
- backdrop-filter: blur(10px);
2679
- }
2680
- .owo-tooltip__arrow {
2681
- color: var(--tooltip-arrow-color);
2682
- filter: drop-shadow(0 1px 0 var(--tooltip-border)) drop-shadow(0 0 0.5px var(--tooltip-border));
2683
- @supports (color: color-mix(in lab, red, red)) {
2684
- filter: drop-shadow(0 1px 0 var(--tooltip-border)) drop-shadow(0 0 0.5px color-mix(in srgb, var(--tooltip-border) 55%, transparent));
2685
- }
2686
- }
2687
- @keyframes tooltip-in {
2688
- from {
2689
- opacity: 0;
2690
- transform: scale(0.96);
2691
- }
2692
- to {
2693
- opacity: 1;
2694
- transform: scale(1);
2695
- }
2696
- }
2697
- :root {
2698
- --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
2699
- --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
2700
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
2701
- --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
2702
- --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border);
2703
- --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
2704
- --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
2705
- --owo-sys-preset-surface-shadow: var(--owo-ref-shadow-raised);
2706
- --owo-sys-preset-surface-shadow-strong: var(--owo-ref-shadow-popover);
2707
- --owo-sys-preset-surface-blur: 0px;
2708
- --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
2709
- --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
2710
- --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
2711
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container-high);
2712
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-highest);
2713
- --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-sm);
2714
- --owo-sys-preset-control-radius-md: var(--owo-ref-radius-md);
2715
- --owo-sys-preset-control-radius-lg: var(--owo-ref-radius-lg);
2716
- --owo-sys-preset-control-radius-xl: var(--owo-ref-radius-xl);
2717
- --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-2xl);
2718
- --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
2719
- --owo-sys-preset-control-border-width: 1px;
2720
- --owo-cmp-surface-bg: var(--owo-sys-preset-surface-bg);
2721
- --owo-cmp-surface-bg-subtle: var(--owo-sys-preset-surface-bg-subtle);
2722
- --owo-cmp-surface-bg-raised: var(--owo-sys-preset-surface-bg-raised);
2723
- --owo-cmp-surface-bg-inset: var(--owo-sys-preset-surface-bg-inset);
2724
- --owo-cmp-surface-border: var(--owo-sys-preset-surface-border);
2725
- --owo-cmp-surface-border-muted: var(--owo-sys-preset-surface-border-muted);
2726
- --owo-cmp-surface-border-strong: var(--owo-sys-preset-surface-border-strong);
2727
- --owo-cmp-surface-shadow: var(--owo-sys-preset-surface-shadow);
2728
- --owo-cmp-surface-shadow-strong: var(--owo-sys-preset-surface-shadow-strong);
2729
- --owo-cmp-surface-blur: var(--owo-sys-preset-surface-blur);
2730
- --owo-cmp-canvas-bg: var(--owo-sys-preset-canvas-bg);
2731
- --owo-cmp-canvas-bg-subtle: var(--owo-sys-preset-canvas-bg-subtle);
2732
- --owo-cmp-surface-container: var(--owo-sys-preset-surface-container);
2733
- --owo-cmp-surface-container-high: var(--owo-sys-preset-surface-container-high);
2734
- --owo-cmp-surface-container-highest: var(--owo-sys-preset-surface-container-highest);
2735
- --owo-cmp-text-primary: var(--owo-sys-theme-text-primary);
2736
- --owo-cmp-text-secondary: var(--owo-sys-theme-text-secondary);
2737
- --owo-cmp-text-muted: var(--owo-sys-theme-text-muted);
2738
- --owo-cmp-text-on-accent: var(--owo-sys-theme-text-on-accent);
2739
- --owo-cmp-accent-bg: var(--owo-sys-theme-accent-bg);
2740
- --owo-cmp-accent-bg-hover: var(--owo-sys-theme-accent-bg-hover);
2741
- --owo-cmp-accent-bg-muted: var(--owo-sys-theme-accent-bg-muted);
2742
- --owo-cmp-accent-text: var(--owo-sys-theme-text-on-accent);
2743
- --owo-cmp-accent-border: var(--owo-sys-theme-accent-border);
2744
- --owo-cmp-success-bg: var(--owo-sys-theme-success-bg);
2745
- --owo-cmp-success-border: var(--owo-sys-theme-success-border);
2746
- --owo-cmp-success-text: var(--owo-sys-theme-success-text);
2747
- --owo-cmp-warning-bg: var(--owo-sys-theme-warning-bg);
2748
- --owo-cmp-warning-border: var(--owo-sys-theme-warning-border);
2749
- --owo-cmp-warning-text: var(--owo-sys-theme-warning-text);
2750
- --owo-cmp-danger-bg: var(--owo-sys-theme-danger-bg);
2751
- --owo-cmp-danger-bg-emphasis: var(--owo-sys-theme-danger-bg-emphasis);
2752
- --owo-cmp-danger-border: var(--owo-sys-theme-danger-border);
2753
- --owo-cmp-danger-text: var(--owo-sys-theme-danger-text);
2754
- --owo-cmp-info-bg: var(--owo-sys-theme-info-bg);
2755
- --owo-cmp-info-border: var(--owo-sys-theme-info-border);
2756
- --owo-cmp-info-text: var(--owo-sys-theme-info-text);
2757
- --owo-cmp-control-radius-sm: var(--owo-sys-preset-control-radius-sm);
2758
- --owo-cmp-control-radius-md: var(--owo-sys-preset-control-radius-md);
2759
- --owo-cmp-control-radius-lg: var(--owo-sys-preset-control-radius-lg);
2760
- --owo-cmp-control-radius-xl: var(--owo-sys-preset-control-radius-xl);
2761
- --owo-cmp-control-radius-2xl: var(--owo-sys-preset-control-radius-2xl);
2762
- --owo-cmp-control-radius-full: var(--owo-sys-preset-control-radius-full);
2763
- --owo-cmp-control-border-width: var(--owo-sys-preset-control-border-width);
2764
- --owo-cmp-control-focus-ring: var(--owo-sys-theme-control-focus-ring);
2765
- --owo-cmp-control-focus-ring-offset: var(--owo-sys-theme-control-focus-ring-offset);
2766
- --owo-cmp-font-heading: var(--owo-ref-font-heading);
2767
- --owo-cmp-motion-duration-fast: 0.15s;
2768
- --owo-cmp-motion-duration-default: 0.2s;
2769
- --owo-cmp-motion-ease-standard: var(--owo-ref-motion-ease-standard);
2770
- --owo-cmp-motion-ease-decelerate: var(--owo-ref-motion-ease-decelerate);
2771
- --owo-cmp-motion-ease-accelerate: var(--owo-ref-motion-ease-accelerate);
2772
- --owo-cmp-density-compact: 0.875;
2773
- --owo-cmp-density-default: 1;
2774
- --owo-cmp-density-comfortable: 1.125;
2775
- --owo-cmp-overlay-bg: var(--owo-sys-theme-overlay-bg);
2776
- --owo-cmp-z-dropdown: 1000;
2777
- --owo-cmp-z-modal: 1100;
2778
- --owo-cmp-z-toast: 1200;
2779
- --owo-feedback-neutral-bg: var(--owo-cmp-surface-bg-raised);
2780
- --owo-feedback-neutral-border: var(--owo-cmp-surface-border);
2781
- --owo-feedback-neutral-text: var(--owo-cmp-text-primary);
2782
- --owo-feedback-neutral-icon: var(--owo-cmp-text-secondary);
2783
- --owo-feedback-info-bg: var(--owo-cmp-info-bg);
2784
- --owo-feedback-info-border: var(--owo-cmp-info-border);
2785
- --owo-feedback-info-text: var(--owo-cmp-info-text);
2786
- --owo-feedback-info-icon: var(--owo-cmp-info-text);
2787
- --owo-feedback-success-bg: var(--owo-cmp-success-bg);
2788
- --owo-feedback-success-border: var(--owo-cmp-success-border);
2789
- --owo-feedback-success-text: var(--owo-cmp-success-text);
2790
- --owo-feedback-success-icon: var(--owo-cmp-success-text);
2791
- --owo-feedback-warning-bg: var(--owo-cmp-warning-bg);
2792
- --owo-feedback-warning-border: var(--owo-cmp-warning-border);
2793
- --owo-feedback-warning-text: var(--owo-cmp-warning-text);
2794
- --owo-feedback-warning-icon: var(--owo-cmp-warning-text);
2795
- --owo-feedback-danger-bg: var(--owo-cmp-danger-bg);
2796
- --owo-feedback-danger-border: var(--owo-cmp-danger-border);
2797
- --owo-feedback-danger-text: var(--owo-cmp-danger-text);
2798
- --owo-feedback-danger-icon: var(--owo-cmp-danger-text);
2799
- }
2800
- :root, :root[data-theme="light"], .owoui-theme-light {
2801
- --owo-ref-color-neutral-900: #1a1a1a;
2802
- --owo-ref-color-neutral-800: #2d2d2d;
2803
- --owo-ref-color-neutral-700: #4a4a4a;
2804
- --owo-ref-color-neutral-600: #71717a;
2805
- --owo-ref-color-neutral-500: #a1a1aa;
2806
- --owo-ref-color-neutral-400: #d4d4d8;
2807
- --owo-ref-color-neutral-300: #e4e4e7;
2808
- --owo-ref-color-neutral-200: #f0f0f2;
2809
- --owo-ref-color-neutral-100: #f8f8f9;
2810
- --owo-ref-color-brand-primary: #1a1a1a;
2811
- --owo-ref-color-brand-primary-hover: #000000;
2812
- --owo-ref-color-brand-accent: #4a4a4a;
2813
- --owo-ref-color-surface-canvas: #ffffff;
2814
- --owo-ref-color-surface-base: #ffffff;
2815
- --owo-ref-color-surface-subtle: #fafaf9;
2816
- --owo-ref-color-surface-raised: #ffffff;
2817
- --owo-ref-color-surface-inset: #f5f5f4;
2818
- --owo-ref-color-surface-border: #e5e7eb;
2819
- --owo-ref-color-surface-ring: #d6d3d1;
2820
- --owo-ref-color-surface-overlay: rgba(0, 0, 0, 0.4);
2821
- --owo-ref-color-overlay-soft: rgba(244, 238, 230, 0.56);
2822
- --owo-ref-color-overlay-strong: rgba(15, 23, 42, 0.18);
2823
- --owo-ref-color-highlight-soft: rgba(255, 255, 255, 0.56);
2824
- --owo-ref-color-highlight-sheen: rgba(255, 255, 255, 0.34);
2825
- --owo-ref-color-text-on-brand: #ffffff;
2826
- --owo-ref-color-code-block-bg: #f4f4f5;
2827
- --owo-ref-color-code-block-border: #e4e4e7;
2828
- --owo-ref-color-code-block-divider: #ececed;
2829
- --owo-ref-color-code-inline-bg: #f4f4f5;
2830
- --owo-ref-color-status-success-bg: rgba(16, 185, 129, 0.10);
2831
- --owo-ref-color-status-success-border: rgba(16, 185, 129, 0.20);
2832
- --owo-ref-color-status-success-text: #047857;
2833
- --owo-ref-color-status-warning-bg: rgba(245, 158, 11, 0.10);
2834
- --owo-ref-color-status-warning-border: rgba(245, 158, 11, 0.20);
2835
- --owo-ref-color-status-warning-text: #b45309;
2836
- --owo-ref-color-status-danger-bg: rgba(239, 68, 68, 0.10);
2837
- --owo-ref-color-status-danger-border: rgba(239, 68, 68, 0.20);
2838
- --owo-ref-color-status-danger-text: #b91c1c;
2839
- --owo-ref-color-status-info-bg: rgba(14, 165, 233, 0.10);
2840
- --owo-ref-color-status-info-border: rgba(14, 165, 233, 0.20);
2841
- --owo-ref-color-status-info-text: #0369a1;
2842
- --owo-sys-theme-surface-canvas: var(--owo-ref-color-surface-canvas);
2843
- --owo-sys-theme-surface-base: var(--owo-ref-color-surface-base);
2844
- --owo-sys-theme-surface-subtle: var(--owo-ref-color-surface-subtle);
2845
- --owo-sys-theme-surface-raised: var(--owo-ref-color-surface-raised);
2846
- --owo-sys-theme-surface-inset: var(--owo-ref-color-surface-inset);
2847
- --owo-sys-theme-surface-border: var(--owo-ref-color-surface-border);
2848
- --owo-sys-theme-surface-border-muted: rgba(0, 0, 0, 0.06);
2849
- --owo-sys-theme-surface-border-strong: var(--owo-ref-color-surface-ring);
2850
- --owo-sys-theme-canvas-bg-subtle: #f5f5f4;
2851
- --owo-sys-theme-surface-container: #f4f4f5;
2852
- --owo-sys-theme-surface-container-high: #ececed;
2853
- --owo-sys-theme-surface-container-highest: #e4e4e7;
2854
- --owo-sys-theme-text-primary: var(--owo-ref-color-neutral-900);
2855
- --owo-sys-theme-text-secondary: var(--owo-ref-color-neutral-700);
2856
- --owo-sys-theme-text-muted: var(--owo-ref-color-neutral-600);
2857
- --owo-sys-theme-text-on-accent: var(--owo-ref-color-text-on-brand);
2858
- --owo-sys-theme-accent-bg: var(--owo-ref-color-brand-primary);
2859
- --owo-sys-theme-accent-bg-hover: var(--owo-ref-color-brand-primary-hover);
2860
- --owo-sys-theme-accent-bg-muted: color-mix(in srgb, #1a1a1a 10%, #ffffff);
2861
- @supports (color: color-mix(in lab, red, red)) {
2862
- --owo-sys-theme-accent-bg-muted: color-mix(in srgb, var(--owo-ref-color-brand-primary) 10%, var(--owo-ref-color-surface-base));
2863
- }
2864
- --owo-sys-theme-accent-border: color-mix(in srgb, #1a1a1a 40%, transparent);
2865
- @supports (color: color-mix(in lab, red, red)) {
2866
- --owo-sys-theme-accent-border: color-mix(in srgb, var(--owo-ref-color-brand-primary) 40%, transparent);
2867
- }
2868
- --owo-sys-theme-success-bg: var(--owo-ref-color-status-success-bg);
2869
- --owo-sys-theme-success-border: var(--owo-ref-color-status-success-border);
2870
- --owo-sys-theme-success-text: var(--owo-ref-color-status-success-text);
2871
- --owo-sys-theme-warning-bg: var(--owo-ref-color-status-warning-bg);
2872
- --owo-sys-theme-warning-border: var(--owo-ref-color-status-warning-border);
2873
- --owo-sys-theme-warning-text: var(--owo-ref-color-status-warning-text);
2874
- --owo-sys-theme-danger-bg: var(--owo-ref-color-status-danger-bg);
2875
- --owo-sys-theme-danger-bg-emphasis: rgba(239, 68, 68, 0.18);
2876
- --owo-sys-theme-danger-border: var(--owo-ref-color-status-danger-border);
2877
- --owo-sys-theme-danger-text: var(--owo-ref-color-status-danger-text);
2878
- --owo-sys-theme-info-bg: var(--owo-ref-color-status-info-bg);
2879
- --owo-sys-theme-info-border: var(--owo-ref-color-status-info-border);
2880
- --owo-sys-theme-info-text: var(--owo-ref-color-status-info-text);
2881
- --owo-sys-theme-control-focus-ring: var(--owo-ref-color-surface-ring);
2882
- --owo-sys-theme-control-focus-ring-offset: var(--owo-ref-color-surface-base);
2883
- --owo-sys-theme-overlay-bg: var(--owo-ref-color-overlay-strong);
2884
- }
2885
- :root {
2886
- --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
2887
- --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
2888
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
2889
- --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
2890
- --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border);
2891
- --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
2892
- --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
2893
- --owo-sys-preset-surface-shadow: var(--owo-ref-shadow-raised);
2894
- --owo-sys-preset-surface-shadow-strong: var(--owo-ref-shadow-popover);
2895
- --owo-sys-preset-surface-blur: 0px;
2896
- --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
2897
- --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
2898
- --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
2899
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container-high);
2900
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-highest);
2901
- --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-sm);
2902
- --owo-sys-preset-control-radius-md: var(--owo-ref-radius-md);
2903
- --owo-sys-preset-control-radius-lg: var(--owo-ref-radius-lg);
2904
- --owo-sys-preset-control-radius-xl: var(--owo-ref-radius-xl);
2905
- --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-2xl);
2906
- --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
2907
- --owo-sys-preset-control-border-width: 1px;
2908
- --owo-cmp-surface-bg: var(--owo-sys-preset-surface-bg);
2909
- --owo-cmp-surface-bg-subtle: var(--owo-sys-preset-surface-bg-subtle);
2910
- --owo-cmp-surface-bg-raised: var(--owo-sys-preset-surface-bg-raised);
2911
- --owo-cmp-surface-bg-inset: var(--owo-sys-preset-surface-bg-inset);
2912
- --owo-cmp-surface-border: var(--owo-sys-preset-surface-border);
2913
- --owo-cmp-surface-border-muted: var(--owo-sys-preset-surface-border-muted);
2914
- --owo-cmp-surface-border-strong: var(--owo-sys-preset-surface-border-strong);
2915
- --owo-cmp-surface-shadow: var(--owo-sys-preset-surface-shadow);
2916
- --owo-cmp-surface-shadow-strong: var(--owo-sys-preset-surface-shadow-strong);
2917
- --owo-cmp-surface-blur: var(--owo-sys-preset-surface-blur);
2918
- --owo-cmp-canvas-bg: var(--owo-sys-preset-canvas-bg);
2919
- --owo-cmp-canvas-bg-subtle: var(--owo-sys-preset-canvas-bg-subtle);
2920
- --owo-cmp-surface-container: var(--owo-sys-preset-surface-container);
2921
- --owo-cmp-surface-container-high: var(--owo-sys-preset-surface-container-high);
2922
- --owo-cmp-surface-container-highest: var(--owo-sys-preset-surface-container-highest);
2923
- --owo-cmp-text-primary: var(--owo-sys-theme-text-primary);
2924
- --owo-cmp-text-secondary: var(--owo-sys-theme-text-secondary);
2925
- --owo-cmp-text-muted: var(--owo-sys-theme-text-muted);
2926
- --owo-cmp-text-on-accent: var(--owo-sys-theme-text-on-accent);
2927
- --owo-cmp-accent-bg: var(--owo-sys-theme-accent-bg);
2928
- --owo-cmp-accent-bg-hover: var(--owo-sys-theme-accent-bg-hover);
2929
- --owo-cmp-accent-bg-muted: var(--owo-sys-theme-accent-bg-muted);
2930
- --owo-cmp-accent-text: var(--owo-sys-theme-text-on-accent);
2931
- --owo-cmp-accent-border: var(--owo-sys-theme-accent-border);
2932
- --owo-cmp-success-bg: var(--owo-sys-theme-success-bg);
2933
- --owo-cmp-success-border: var(--owo-sys-theme-success-border);
2934
- --owo-cmp-success-text: var(--owo-sys-theme-success-text);
2935
- --owo-cmp-warning-bg: var(--owo-sys-theme-warning-bg);
2936
- --owo-cmp-warning-border: var(--owo-sys-theme-warning-border);
2937
- --owo-cmp-warning-text: var(--owo-sys-theme-warning-text);
2938
- --owo-cmp-danger-bg: var(--owo-sys-theme-danger-bg);
2939
- --owo-cmp-danger-bg-emphasis: var(--owo-sys-theme-danger-bg-emphasis);
2940
- --owo-cmp-danger-border: var(--owo-sys-theme-danger-border);
2941
- --owo-cmp-danger-text: var(--owo-sys-theme-danger-text);
2942
- --owo-cmp-info-bg: var(--owo-sys-theme-info-bg);
2943
- --owo-cmp-info-border: var(--owo-sys-theme-info-border);
2944
- --owo-cmp-info-text: var(--owo-sys-theme-info-text);
2945
- --owo-cmp-control-radius-sm: var(--owo-sys-preset-control-radius-sm);
2946
- --owo-cmp-control-radius-md: var(--owo-sys-preset-control-radius-md);
2947
- --owo-cmp-control-radius-lg: var(--owo-sys-preset-control-radius-lg);
2948
- --owo-cmp-control-radius-xl: var(--owo-sys-preset-control-radius-xl);
2949
- --owo-cmp-control-radius-2xl: var(--owo-sys-preset-control-radius-2xl);
2950
- --owo-cmp-control-radius-full: var(--owo-sys-preset-control-radius-full);
2951
- --owo-cmp-control-border-width: var(--owo-sys-preset-control-border-width);
2952
- --owo-cmp-control-focus-ring: var(--owo-sys-theme-control-focus-ring);
2953
- --owo-cmp-control-focus-ring-offset: var(--owo-sys-theme-control-focus-ring-offset);
2954
- --owo-cmp-font-heading: var(--owo-ref-font-heading);
2955
- --owo-cmp-motion-duration-fast: 0.15s;
2956
- --owo-cmp-motion-duration-default: 0.2s;
2957
- --owo-cmp-motion-ease-standard: var(--owo-ref-motion-ease-standard);
2958
- --owo-cmp-motion-ease-decelerate: var(--owo-ref-motion-ease-decelerate);
2959
- --owo-cmp-motion-ease-accelerate: var(--owo-ref-motion-ease-accelerate);
2960
- --owo-cmp-density-compact: 0.875;
2961
- --owo-cmp-density-default: 1;
2962
- --owo-cmp-density-comfortable: 1.125;
2963
- --owo-cmp-overlay-bg: var(--owo-sys-theme-overlay-bg);
2964
- --owo-cmp-z-dropdown: 1000;
2965
- --owo-cmp-z-modal: 1100;
2966
- --owo-cmp-z-toast: 1200;
2967
- --owo-feedback-neutral-bg: var(--owo-cmp-surface-bg-raised);
2968
- --owo-feedback-neutral-border: var(--owo-cmp-surface-border);
2969
- --owo-feedback-neutral-text: var(--owo-cmp-text-primary);
2970
- --owo-feedback-neutral-icon: var(--owo-cmp-text-secondary);
2971
- --owo-feedback-info-bg: var(--owo-cmp-info-bg);
2972
- --owo-feedback-info-border: var(--owo-cmp-info-border);
2973
- --owo-feedback-info-text: var(--owo-cmp-info-text);
2974
- --owo-feedback-info-icon: var(--owo-cmp-info-text);
2975
- --owo-feedback-success-bg: var(--owo-cmp-success-bg);
2976
- --owo-feedback-success-border: var(--owo-cmp-success-border);
2977
- --owo-feedback-success-text: var(--owo-cmp-success-text);
2978
- --owo-feedback-success-icon: var(--owo-cmp-success-text);
2979
- --owo-feedback-warning-bg: var(--owo-cmp-warning-bg);
2980
- --owo-feedback-warning-border: var(--owo-cmp-warning-border);
2981
- --owo-feedback-warning-text: var(--owo-cmp-warning-text);
2982
- --owo-feedback-warning-icon: var(--owo-cmp-warning-text);
2983
- --owo-feedback-danger-bg: var(--owo-cmp-danger-bg);
2984
- --owo-feedback-danger-border: var(--owo-cmp-danger-border);
2985
- --owo-feedback-danger-text: var(--owo-cmp-danger-text);
2986
- --owo-feedback-danger-icon: var(--owo-cmp-danger-text);
2987
- }
2988
- :root[data-theme="dark"], .owoui-theme-dark {
2989
- --owo-ref-color-neutral-900: #fafafa;
2990
- --owo-ref-color-neutral-800: #e4e4e7;
2991
- --owo-ref-color-neutral-700: #d4d4d8;
2992
- --owo-ref-color-neutral-600: #a1a1aa;
2993
- --owo-ref-color-neutral-500: #71717a;
2994
- --owo-ref-color-neutral-400: #3f3f46;
2995
- --owo-ref-color-neutral-300: #27272a;
2996
- --owo-ref-color-neutral-200: #1f1f22;
2997
- --owo-ref-color-neutral-100: #18181a;
2998
- --owo-ref-color-brand-primary: #c6c6c7;
2999
- --owo-ref-color-brand-primary-hover: #d4d4d8;
3000
- --owo-ref-color-brand-accent: #a1a1aa;
3001
- --owo-ref-color-surface-canvas: #0e0e0e;
3002
- --owo-ref-color-surface-base: #18181b;
3003
- --owo-ref-color-surface-subtle: #1c1c1f;
3004
- --owo-ref-color-surface-raised: #27272a;
3005
- --owo-ref-color-surface-inset: #111113;
3006
- --owo-ref-color-surface-border: rgba(255, 255, 255, 0.12);
3007
- --owo-ref-color-surface-ring: rgba(255, 255, 255, 0.24);
3008
- --owo-ref-color-surface-overlay: rgba(0, 0, 0, 0.6);
3009
- --owo-ref-color-overlay-soft: rgba(0, 0, 0, 0.32);
3010
- --owo-ref-color-overlay-strong: rgba(0, 0, 0, 0.56);
3011
- --owo-ref-color-highlight-soft: rgba(255, 255, 255, 0.06);
3012
- --owo-ref-color-highlight-sheen: rgba(255, 255, 255, 0.08);
3013
- --owo-ref-color-text-on-brand: #1a1a1a;
3014
- --owo-ref-color-code-block-bg: #1e1e22;
3015
- --owo-ref-color-code-block-border: #2d2d32;
3016
- --owo-ref-color-code-block-divider: #27272c;
3017
- --owo-ref-color-code-inline-bg: #27272a;
3018
- --owo-ref-color-status-success-bg: rgba(16, 185, 129, 0.15);
3019
- --owo-ref-color-status-success-border: rgba(16, 185, 129, 0.3);
3020
- --owo-ref-color-status-success-text: #6ee7b7;
3021
- --owo-ref-color-status-warning-bg: rgba(245, 158, 11, 0.15);
3022
- --owo-ref-color-status-warning-border: rgba(245, 158, 11, 0.3);
3023
- --owo-ref-color-status-warning-text: #fbbf24;
3024
- --owo-ref-color-status-danger-bg: rgba(239, 68, 68, 0.15);
3025
- --owo-ref-color-status-danger-border: rgba(239, 68, 68, 0.3);
3026
- --owo-ref-color-status-danger-text: #fca5a5;
3027
- --owo-ref-color-status-info-bg: rgba(14, 165, 233, 0.15);
3028
- --owo-ref-color-status-info-border: rgba(14, 165, 233, 0.3);
3029
- --owo-ref-color-status-info-text: #7dd3fc;
3030
- --owo-sys-theme-surface-canvas: var(--owo-ref-color-surface-canvas);
3031
- --owo-sys-theme-surface-base: var(--owo-ref-color-surface-base);
3032
- --owo-sys-theme-surface-subtle: var(--owo-ref-color-surface-subtle);
3033
- --owo-sys-theme-surface-raised: var(--owo-ref-color-surface-raised);
3034
- --owo-sys-theme-surface-inset: var(--owo-ref-color-surface-inset);
3035
- --owo-sys-theme-surface-border: var(--owo-ref-color-surface-border);
3036
- --owo-sys-theme-surface-border-muted: rgba(255, 255, 255, 0.06);
3037
- --owo-sys-theme-surface-border-strong: var(--owo-ref-color-surface-ring);
3038
- --owo-sys-theme-canvas-bg-subtle: #0f0f11;
3039
- --owo-sys-theme-surface-container: #1e1e22;
3040
- --owo-sys-theme-surface-container-high: #252529;
3041
- --owo-sys-theme-surface-container-highest: #2d2d32;
3042
- --owo-sys-theme-text-primary: var(--owo-ref-color-neutral-900);
3043
- --owo-sys-theme-text-secondary: var(--owo-ref-color-neutral-700);
3044
- --owo-sys-theme-text-muted: var(--owo-ref-color-neutral-600);
3045
- --owo-sys-theme-text-on-accent: var(--owo-ref-color-text-on-brand);
3046
- --owo-sys-theme-accent-bg: var(--owo-ref-color-brand-primary);
3047
- --owo-sys-theme-accent-bg-hover: var(--owo-ref-color-brand-primary-hover);
3048
- --owo-sys-theme-accent-bg-muted: color-mix(in srgb, #1a1a1a 14%, #ffffff);
3049
- @supports (color: color-mix(in lab, red, red)) {
3050
- --owo-sys-theme-accent-bg-muted: color-mix(in srgb, var(--owo-ref-color-brand-primary) 14%, var(--owo-ref-color-surface-base));
3051
- }
3052
- --owo-sys-theme-accent-border: color-mix(in srgb, #1a1a1a 50%, transparent);
3053
- @supports (color: color-mix(in lab, red, red)) {
3054
- --owo-sys-theme-accent-border: color-mix(in srgb, var(--owo-ref-color-brand-primary) 50%, transparent);
3055
- }
3056
- --owo-sys-theme-success-bg: var(--owo-ref-color-status-success-bg);
3057
- --owo-sys-theme-success-border: var(--owo-ref-color-status-success-border);
3058
- --owo-sys-theme-success-text: var(--owo-ref-color-status-success-text);
3059
- --owo-sys-theme-warning-bg: var(--owo-ref-color-status-warning-bg);
3060
- --owo-sys-theme-warning-border: var(--owo-ref-color-status-warning-border);
3061
- --owo-sys-theme-warning-text: var(--owo-ref-color-status-warning-text);
3062
- --owo-sys-theme-danger-bg: var(--owo-ref-color-status-danger-bg);
3063
- --owo-sys-theme-danger-bg-emphasis: rgba(239, 68, 68, 0.24);
3064
- --owo-sys-theme-danger-border: var(--owo-ref-color-status-danger-border);
3065
- --owo-sys-theme-danger-text: var(--owo-ref-color-status-danger-text);
3066
- --owo-sys-theme-info-bg: var(--owo-ref-color-status-info-bg);
3067
- --owo-sys-theme-info-border: var(--owo-ref-color-status-info-border);
3068
- --owo-sys-theme-info-text: var(--owo-ref-color-status-info-text);
3069
- --owo-sys-theme-control-focus-ring: var(--owo-ref-color-surface-ring);
3070
- --owo-sys-theme-control-focus-ring-offset: var(--owo-ref-color-surface-base);
3071
- --owo-sys-theme-overlay-bg: var(--owo-ref-color-overlay-strong);
3072
- }
3073
- :root {
3074
- --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
3075
- --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
3076
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
3077
- --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
3078
- --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border);
3079
- --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
3080
- --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
3081
- --owo-sys-preset-surface-shadow: var(--owo-ref-shadow-raised);
3082
- --owo-sys-preset-surface-shadow-strong: var(--owo-ref-shadow-popover);
3083
- --owo-sys-preset-surface-blur: 0px;
3084
- --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
3085
- --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
3086
- --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
3087
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container-high);
3088
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-highest);
3089
- --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-sm);
3090
- --owo-sys-preset-control-radius-md: var(--owo-ref-radius-md);
3091
- --owo-sys-preset-control-radius-lg: var(--owo-ref-radius-lg);
3092
- --owo-sys-preset-control-radius-xl: var(--owo-ref-radius-xl);
3093
- --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-2xl);
3094
- --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
3095
- --owo-sys-preset-control-border-width: 1px;
3096
- --owo-cmp-surface-bg: var(--owo-sys-preset-surface-bg);
3097
- --owo-cmp-surface-bg-subtle: var(--owo-sys-preset-surface-bg-subtle);
3098
- --owo-cmp-surface-bg-raised: var(--owo-sys-preset-surface-bg-raised);
3099
- --owo-cmp-surface-bg-inset: var(--owo-sys-preset-surface-bg-inset);
3100
- --owo-cmp-surface-border: var(--owo-sys-preset-surface-border);
3101
- --owo-cmp-surface-border-muted: var(--owo-sys-preset-surface-border-muted);
3102
- --owo-cmp-surface-border-strong: var(--owo-sys-preset-surface-border-strong);
3103
- --owo-cmp-surface-shadow: var(--owo-sys-preset-surface-shadow);
3104
- --owo-cmp-surface-shadow-strong: var(--owo-sys-preset-surface-shadow-strong);
3105
- --owo-cmp-surface-blur: var(--owo-sys-preset-surface-blur);
3106
- --owo-cmp-canvas-bg: var(--owo-sys-preset-canvas-bg);
3107
- --owo-cmp-canvas-bg-subtle: var(--owo-sys-preset-canvas-bg-subtle);
3108
- --owo-cmp-surface-container: var(--owo-sys-preset-surface-container);
3109
- --owo-cmp-surface-container-high: var(--owo-sys-preset-surface-container-high);
3110
- --owo-cmp-surface-container-highest: var(--owo-sys-preset-surface-container-highest);
3111
- --owo-cmp-text-primary: var(--owo-sys-theme-text-primary);
3112
- --owo-cmp-text-secondary: var(--owo-sys-theme-text-secondary);
3113
- --owo-cmp-text-muted: var(--owo-sys-theme-text-muted);
3114
- --owo-cmp-text-on-accent: var(--owo-sys-theme-text-on-accent);
3115
- --owo-cmp-accent-bg: var(--owo-sys-theme-accent-bg);
3116
- --owo-cmp-accent-bg-hover: var(--owo-sys-theme-accent-bg-hover);
3117
- --owo-cmp-accent-bg-muted: var(--owo-sys-theme-accent-bg-muted);
3118
- --owo-cmp-accent-text: var(--owo-sys-theme-text-on-accent);
3119
- --owo-cmp-accent-border: var(--owo-sys-theme-accent-border);
3120
- --owo-cmp-success-bg: var(--owo-sys-theme-success-bg);
3121
- --owo-cmp-success-border: var(--owo-sys-theme-success-border);
3122
- --owo-cmp-success-text: var(--owo-sys-theme-success-text);
3123
- --owo-cmp-warning-bg: var(--owo-sys-theme-warning-bg);
3124
- --owo-cmp-warning-border: var(--owo-sys-theme-warning-border);
3125
- --owo-cmp-warning-text: var(--owo-sys-theme-warning-text);
3126
- --owo-cmp-danger-bg: var(--owo-sys-theme-danger-bg);
3127
- --owo-cmp-danger-bg-emphasis: var(--owo-sys-theme-danger-bg-emphasis);
3128
- --owo-cmp-danger-border: var(--owo-sys-theme-danger-border);
3129
- --owo-cmp-danger-text: var(--owo-sys-theme-danger-text);
3130
- --owo-cmp-info-bg: var(--owo-sys-theme-info-bg);
3131
- --owo-cmp-info-border: var(--owo-sys-theme-info-border);
3132
- --owo-cmp-info-text: var(--owo-sys-theme-info-text);
3133
- --owo-cmp-control-radius-sm: var(--owo-sys-preset-control-radius-sm);
3134
- --owo-cmp-control-radius-md: var(--owo-sys-preset-control-radius-md);
3135
- --owo-cmp-control-radius-lg: var(--owo-sys-preset-control-radius-lg);
3136
- --owo-cmp-control-radius-xl: var(--owo-sys-preset-control-radius-xl);
3137
- --owo-cmp-control-radius-2xl: var(--owo-sys-preset-control-radius-2xl);
3138
- --owo-cmp-control-radius-full: var(--owo-sys-preset-control-radius-full);
3139
- --owo-cmp-control-border-width: var(--owo-sys-preset-control-border-width);
3140
- --owo-cmp-control-focus-ring: var(--owo-sys-theme-control-focus-ring);
3141
- --owo-cmp-control-focus-ring-offset: var(--owo-sys-theme-control-focus-ring-offset);
3142
- --owo-cmp-font-heading: var(--owo-ref-font-heading);
3143
- --owo-cmp-motion-duration-fast: 0.15s;
3144
- --owo-cmp-motion-duration-default: 0.2s;
3145
- --owo-cmp-motion-ease-standard: var(--owo-ref-motion-ease-standard);
3146
- --owo-cmp-motion-ease-decelerate: var(--owo-ref-motion-ease-decelerate);
3147
- --owo-cmp-motion-ease-accelerate: var(--owo-ref-motion-ease-accelerate);
3148
- --owo-cmp-density-compact: 0.875;
3149
- --owo-cmp-density-default: 1;
3150
- --owo-cmp-density-comfortable: 1.125;
3151
- --owo-cmp-overlay-bg: var(--owo-sys-theme-overlay-bg);
3152
- --owo-cmp-z-dropdown: 1000;
3153
- --owo-cmp-z-modal: 1100;
3154
- --owo-cmp-z-toast: 1200;
3155
- --owo-feedback-neutral-bg: var(--owo-cmp-surface-bg-raised);
3156
- --owo-feedback-neutral-border: var(--owo-cmp-surface-border);
3157
- --owo-feedback-neutral-text: var(--owo-cmp-text-primary);
3158
- --owo-feedback-neutral-icon: var(--owo-cmp-text-secondary);
3159
- --owo-feedback-info-bg: var(--owo-cmp-info-bg);
3160
- --owo-feedback-info-border: var(--owo-cmp-info-border);
3161
- --owo-feedback-info-text: var(--owo-cmp-info-text);
3162
- --owo-feedback-info-icon: var(--owo-cmp-info-text);
3163
- --owo-feedback-success-bg: var(--owo-cmp-success-bg);
3164
- --owo-feedback-success-border: var(--owo-cmp-success-border);
3165
- --owo-feedback-success-text: var(--owo-cmp-success-text);
3166
- --owo-feedback-success-icon: var(--owo-cmp-success-text);
3167
- --owo-feedback-warning-bg: var(--owo-cmp-warning-bg);
3168
- --owo-feedback-warning-border: var(--owo-cmp-warning-border);
3169
- --owo-feedback-warning-text: var(--owo-cmp-warning-text);
3170
- --owo-feedback-warning-icon: var(--owo-cmp-warning-text);
3171
- --owo-feedback-danger-bg: var(--owo-cmp-danger-bg);
3172
- --owo-feedback-danger-border: var(--owo-cmp-danger-border);
3173
- --owo-feedback-danger-text: var(--owo-cmp-danger-text);
3174
- --owo-feedback-danger-icon: var(--owo-cmp-danger-text);
3175
- }
3176
- :root[data-preset="default"], .owoui-preset-default {
3177
- --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
3178
- --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
3179
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
3180
- --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
3181
- --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border);
3182
- --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
3183
- --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
3184
- --owo-sys-preset-surface-shadow: var(--owo-ref-shadow-raised);
3185
- --owo-sys-preset-surface-shadow-strong: var(--owo-ref-shadow-popover);
3186
- --owo-sys-preset-surface-blur: 0px;
3187
- --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
3188
- --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
3189
- --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
3190
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container-high);
3191
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-highest);
3192
- --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-sm);
3193
- --owo-sys-preset-control-radius-md: var(--owo-ref-radius-md);
3194
- --owo-sys-preset-control-radius-lg: var(--owo-ref-radius-lg);
3195
- --owo-sys-preset-control-radius-xl: var(--owo-ref-radius-xl);
3196
- --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-2xl);
3197
- --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
3198
- --owo-sys-preset-control-border-width: 1px;
3199
- }
2
+ /* ================================================================== */
3
+ /* tokens.css Standard CSS Variables (ref -> sys -> cmp) */
4
+ /* */
5
+ /* This file has TWO responsibilities: */
6
+ /* 1. :root: Raw/ref CSS variables as foundational primitives */
7
+ /* 2. :root: Shared ref -> sys -> cmp mapping chains */
8
+ /* */
9
+ /* Theme-specific values live in theme-light.css / theme-dark.css. */
10
+ /* Do NOT add theme-specific colors here. */
11
+ /* ================================================================== */
3200
12
  :root {
13
+ /* Neutral scale — initial values (light); overridden per-theme */
14
+ --owo-ref-color-neutral-900: #1a1a1a;
15
+ --owo-ref-color-neutral-800: #2d2d2d;
16
+ --owo-ref-color-neutral-700: #4a4a4a;
17
+ --owo-ref-color-neutral-600: #71717a;
18
+ --owo-ref-color-neutral-500: #a1a1aa;
19
+ --owo-ref-color-neutral-400: #d4d4d8;
20
+ --owo-ref-color-neutral-300: #e4e4e7;
21
+ --owo-ref-color-neutral-200: #f0f0f2;
22
+ --owo-ref-color-neutral-100: #f8f8f9;
23
+
24
+ /* Brand — initial values (light); overridden per-theme */
25
+ --owo-ref-color-brand-primary: #1a1a1a;
26
+ --owo-ref-color-brand-primary-hover: #000000;
27
+ --owo-ref-color-brand-accent: #4a4a4a;
28
+
29
+ /* Surface — initial values (light); overridden per-theme */
30
+ --owo-ref-color-surface-canvas: #ffffff;
31
+ --owo-ref-color-surface-base: #ffffff;
32
+ --owo-ref-color-surface-subtle: #fafaf9;
33
+ --owo-ref-color-surface-raised: #ffffff;
34
+ --owo-ref-color-surface-inset: #f5f5f4;
35
+ --owo-ref-color-surface-border: #e5e7eb;
36
+ --owo-ref-color-surface-ring: #d6d3d1;
37
+ --owo-ref-color-surface-overlay: rgba(0, 0, 0, 0.4);
38
+ --owo-ref-color-overlay-soft: rgba(244, 238, 230, 0.56);
39
+ --owo-ref-color-overlay-strong: rgba(15, 23, 42, 0.18);
40
+ --owo-ref-color-highlight-soft: rgba(255, 255, 255, 0.56);
41
+ --owo-ref-color-highlight-sheen: rgba(255, 255, 255, 0.34);
42
+ --owo-ref-color-text-on-brand: #ffffff;
43
+ --owo-ref-color-code-block-bg: #f4f4f5;
44
+ --owo-ref-color-code-block-border: #e4e4e7;
45
+ --owo-ref-color-code-block-divider: #ececed;
46
+ --owo-ref-color-code-inline-bg: #f4f4f5;
47
+ --owo-ref-shadow-raised: 0 10px 20px rgba(15, 23, 42, 0.08);
48
+ --owo-ref-shadow-popover: 0 18px 40px rgba(15, 23, 42, 0.10);
49
+
50
+ /* Status — initial values (light); overridden per-theme */
51
+ --owo-ref-color-status-success-bg: rgba(16, 185, 129, 0.10);
52
+ --owo-ref-color-status-success-border: rgba(16, 185, 129, 0.20);
53
+ --owo-ref-color-status-success-text: #047857;
54
+ --owo-ref-color-status-warning-bg: rgba(245, 158, 11, 0.10);
55
+ --owo-ref-color-status-warning-border: rgba(245, 158, 11, 0.20);
56
+ --owo-ref-color-status-warning-text: #b45309;
57
+ --owo-ref-color-status-danger-bg: rgba(239, 68, 68, 0.10);
58
+ --owo-ref-color-status-danger-border: rgba(239, 68, 68, 0.20);
59
+ --owo-ref-color-status-danger-text: #b91c1c;
60
+ --owo-ref-color-status-info-bg: rgba(14, 165, 233, 0.10);
61
+ --owo-ref-color-status-info-border: rgba(14, 165, 233, 0.20);
62
+ --owo-ref-color-status-info-text: #0369a1;
63
+
64
+ /* Typography — shared across all themes */
65
+ --owo-ref-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", Roboto, sans-serif;
66
+ --owo-ref-font-heading: "Source Serif 4", Georgia, "Times New Roman", serif;
67
+ --owo-ref-font-mono: "JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
68
+
69
+ /* Radius — shared across all themes */
70
+ --owo-ref-radius-0: 0px;
71
+ --owo-ref-radius-xs: 0.375rem;
72
+ --owo-ref-radius-sm: 0.5rem;
73
+ --owo-ref-radius-md: 0.75rem;
74
+ --owo-ref-radius-lg: 1rem;
75
+ --owo-ref-radius-xl: 1.5rem;
76
+ --owo-ref-radius-2xl: 2rem;
77
+ --owo-ref-radius-full: 9999px;
78
+
79
+ /* Motion — shared across all themes */
80
+ --owo-ref-motion-ease-standard: cubic-bezier(0.2, 0, 0, 1);
81
+ --owo-ref-motion-ease-decelerate: cubic-bezier(0, 0, 0, 1);
82
+ --owo-ref-motion-ease-accelerate: cubic-bezier(0.4, 0, 1, 1);
83
+ --owo-ref-motion-ease-exit: cubic-bezier(0.4, 0, 1, 1);
84
+
85
+ /* ================================================================ */
86
+ /* Shared mapping chains: ref -> sys -> cmp */
87
+ /* Theme files set --owo-sys-theme-*, presets set */
88
+ /* --owo-sys-preset-* and this layer exposes the final */
89
+ /* --owo-cmp-* component contracts. */
90
+ /* ================================================================ */
91
+
92
+ /* Preset defaults — theme -> preset (overridden by preset-*.css) */
3201
93
  --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
3202
94
  --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
3203
95
  --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
@@ -3219,7 +111,14 @@
3219
111
  --owo-sys-preset-control-radius-xl: var(--owo-ref-radius-xl);
3220
112
  --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-2xl);
3221
113
  --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
114
+ --owo-sys-preset-control-height-xs: 1.75rem;
115
+ --owo-sys-preset-control-height-sm: 2rem;
116
+ --owo-sys-preset-control-height-md: 2.25rem;
117
+ --owo-sys-preset-control-height-lg: 2.5rem;
118
+ --owo-sys-preset-control-height-xl: 3rem;
3222
119
  --owo-sys-preset-control-border-width: 1px;
120
+
121
+ /* Final component contract layer — preset/theme -> cmp */
3223
122
  --owo-cmp-surface-bg: var(--owo-sys-preset-surface-bg);
3224
123
  --owo-cmp-surface-bg-subtle: var(--owo-sys-preset-surface-bg-subtle);
3225
124
  --owo-cmp-surface-bg-raised: var(--owo-sys-preset-surface-bg-raised);
@@ -3230,20 +129,25 @@
3230
129
  --owo-cmp-surface-shadow: var(--owo-sys-preset-surface-shadow);
3231
130
  --owo-cmp-surface-shadow-strong: var(--owo-sys-preset-surface-shadow-strong);
3232
131
  --owo-cmp-surface-blur: var(--owo-sys-preset-surface-blur);
132
+
3233
133
  --owo-cmp-canvas-bg: var(--owo-sys-preset-canvas-bg);
3234
134
  --owo-cmp-canvas-bg-subtle: var(--owo-sys-preset-canvas-bg-subtle);
135
+
3235
136
  --owo-cmp-surface-container: var(--owo-sys-preset-surface-container);
3236
137
  --owo-cmp-surface-container-high: var(--owo-sys-preset-surface-container-high);
3237
138
  --owo-cmp-surface-container-highest: var(--owo-sys-preset-surface-container-highest);
139
+
3238
140
  --owo-cmp-text-primary: var(--owo-sys-theme-text-primary);
3239
141
  --owo-cmp-text-secondary: var(--owo-sys-theme-text-secondary);
3240
142
  --owo-cmp-text-muted: var(--owo-sys-theme-text-muted);
3241
143
  --owo-cmp-text-on-accent: var(--owo-sys-theme-text-on-accent);
144
+
3242
145
  --owo-cmp-accent-bg: var(--owo-sys-theme-accent-bg);
3243
146
  --owo-cmp-accent-bg-hover: var(--owo-sys-theme-accent-bg-hover);
3244
147
  --owo-cmp-accent-bg-muted: var(--owo-sys-theme-accent-bg-muted);
3245
148
  --owo-cmp-accent-text: var(--owo-sys-theme-text-on-accent);
3246
149
  --owo-cmp-accent-border: var(--owo-sys-theme-accent-border);
150
+
3247
151
  --owo-cmp-success-bg: var(--owo-sys-theme-success-bg);
3248
152
  --owo-cmp-success-border: var(--owo-sys-theme-success-border);
3249
153
  --owo-cmp-success-text: var(--owo-sys-theme-success-text);
@@ -3257,16 +161,25 @@
3257
161
  --owo-cmp-info-bg: var(--owo-sys-theme-info-bg);
3258
162
  --owo-cmp-info-border: var(--owo-sys-theme-info-border);
3259
163
  --owo-cmp-info-text: var(--owo-sys-theme-info-text);
164
+
3260
165
  --owo-cmp-control-radius-sm: var(--owo-sys-preset-control-radius-sm);
3261
166
  --owo-cmp-control-radius-md: var(--owo-sys-preset-control-radius-md);
3262
167
  --owo-cmp-control-radius-lg: var(--owo-sys-preset-control-radius-lg);
3263
168
  --owo-cmp-control-radius-xl: var(--owo-sys-preset-control-radius-xl);
3264
169
  --owo-cmp-control-radius-2xl: var(--owo-sys-preset-control-radius-2xl);
3265
170
  --owo-cmp-control-radius-full: var(--owo-sys-preset-control-radius-full);
171
+ --owo-cmp-control-height-xs: var(--owo-sys-preset-control-height-xs);
172
+ --owo-cmp-control-height-sm: var(--owo-sys-preset-control-height-sm);
173
+ --owo-cmp-control-height-md: var(--owo-sys-preset-control-height-md);
174
+ --owo-cmp-control-height-lg: var(--owo-sys-preset-control-height-lg);
175
+ --owo-cmp-control-height-xl: var(--owo-sys-preset-control-height-xl);
3266
176
  --owo-cmp-control-border-width: var(--owo-sys-preset-control-border-width);
3267
177
  --owo-cmp-control-focus-ring: var(--owo-sys-theme-control-focus-ring);
3268
178
  --owo-cmp-control-focus-ring-offset: var(--owo-sys-theme-control-focus-ring-offset);
179
+
3269
180
  --owo-cmp-font-heading: var(--owo-ref-font-heading);
181
+
182
+ /* Motion & density */
3270
183
  --owo-cmp-motion-duration-fast: 0.15s;
3271
184
  --owo-cmp-motion-duration-default: 0.2s;
3272
185
  --owo-cmp-motion-ease-standard: var(--owo-ref-motion-ease-standard);
@@ -3275,10 +188,14 @@
3275
188
  --owo-cmp-density-compact: 0.875;
3276
189
  --owo-cmp-density-default: 1;
3277
190
  --owo-cmp-density-comfortable: 1.125;
191
+
192
+ /* Overlay & layering */
3278
193
  --owo-cmp-overlay-bg: var(--owo-sys-theme-overlay-bg);
3279
194
  --owo-cmp-z-dropdown: 1000;
3280
195
  --owo-cmp-z-modal: 1100;
3281
196
  --owo-cmp-z-toast: 1200;
197
+
198
+ /* Feedback pattern — documented public contract (shared by Toast, StatusNotice) */
3282
199
  --owo-feedback-neutral-bg: var(--owo-cmp-surface-bg-raised);
3283
200
  --owo-feedback-neutral-border: var(--owo-cmp-surface-border);
3284
201
  --owo-feedback-neutral-text: var(--owo-cmp-text-primary);
@@ -3300,31 +217,8 @@
3300
217
  --owo-feedback-danger-text: var(--owo-cmp-danger-text);
3301
218
  --owo-feedback-danger-icon: var(--owo-cmp-danger-text);
3302
219
  }
3303
- :root[data-preset="flat"], .owoui-preset-flat {
3304
- --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
3305
- --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
3306
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-base);
3307
- --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
3308
- --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border);
3309
- --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
3310
- --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
3311
- --owo-sys-preset-surface-shadow: none;
3312
- --owo-sys-preset-surface-shadow-strong: none;
3313
- --owo-sys-preset-surface-blur: 0px;
3314
- --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
3315
- --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
3316
- --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
3317
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container);
3318
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-high);
3319
- --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-xs);
3320
- --owo-sys-preset-control-radius-md: calc(var(--owo-ref-radius-sm) + 0.125rem);
3321
- --owo-sys-preset-control-radius-lg: calc(var(--owo-ref-radius-md) + 0.125rem);
3322
- --owo-sys-preset-control-radius-xl: calc(var(--owo-ref-radius-lg) + 0.25rem);
3323
- --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-xl);
3324
- --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
3325
- --owo-sys-preset-control-border-width: 1px;
3326
- }
3327
- :root {
220
+ :root[data-preset="default"],
221
+ .owoui-preset-default {
3328
222
  --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
3329
223
  --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
3330
224
  --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
@@ -3346,289 +240,298 @@
3346
240
  --owo-sys-preset-control-radius-xl: var(--owo-ref-radius-xl);
3347
241
  --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-2xl);
3348
242
  --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
243
+ --owo-sys-preset-control-height-xs: 1.75rem;
244
+ --owo-sys-preset-control-height-sm: 2rem;
245
+ --owo-sys-preset-control-height-md: 2.25rem;
246
+ --owo-sys-preset-control-height-lg: 2.5rem;
247
+ --owo-sys-preset-control-height-xl: 3rem;
3349
248
  --owo-sys-preset-control-border-width: 1px;
3350
- --owo-cmp-surface-bg: var(--owo-sys-preset-surface-bg);
3351
- --owo-cmp-surface-bg-subtle: var(--owo-sys-preset-surface-bg-subtle);
3352
- --owo-cmp-surface-bg-raised: var(--owo-sys-preset-surface-bg-raised);
3353
- --owo-cmp-surface-bg-inset: var(--owo-sys-preset-surface-bg-inset);
3354
- --owo-cmp-surface-border: var(--owo-sys-preset-surface-border);
3355
- --owo-cmp-surface-border-muted: var(--owo-sys-preset-surface-border-muted);
3356
- --owo-cmp-surface-border-strong: var(--owo-sys-preset-surface-border-strong);
3357
- --owo-cmp-surface-shadow: var(--owo-sys-preset-surface-shadow);
3358
- --owo-cmp-surface-shadow-strong: var(--owo-sys-preset-surface-shadow-strong);
3359
- --owo-cmp-surface-blur: var(--owo-sys-preset-surface-blur);
3360
- --owo-cmp-canvas-bg: var(--owo-sys-preset-canvas-bg);
3361
- --owo-cmp-canvas-bg-subtle: var(--owo-sys-preset-canvas-bg-subtle);
3362
- --owo-cmp-surface-container: var(--owo-sys-preset-surface-container);
3363
- --owo-cmp-surface-container-high: var(--owo-sys-preset-surface-container-high);
3364
- --owo-cmp-surface-container-highest: var(--owo-sys-preset-surface-container-highest);
3365
- --owo-cmp-text-primary: var(--owo-sys-theme-text-primary);
3366
- --owo-cmp-text-secondary: var(--owo-sys-theme-text-secondary);
3367
- --owo-cmp-text-muted: var(--owo-sys-theme-text-muted);
3368
- --owo-cmp-text-on-accent: var(--owo-sys-theme-text-on-accent);
3369
- --owo-cmp-accent-bg: var(--owo-sys-theme-accent-bg);
3370
- --owo-cmp-accent-bg-hover: var(--owo-sys-theme-accent-bg-hover);
3371
- --owo-cmp-accent-bg-muted: var(--owo-sys-theme-accent-bg-muted);
3372
- --owo-cmp-accent-text: var(--owo-sys-theme-text-on-accent);
3373
- --owo-cmp-accent-border: var(--owo-sys-theme-accent-border);
3374
- --owo-cmp-success-bg: var(--owo-sys-theme-success-bg);
3375
- --owo-cmp-success-border: var(--owo-sys-theme-success-border);
3376
- --owo-cmp-success-text: var(--owo-sys-theme-success-text);
3377
- --owo-cmp-warning-bg: var(--owo-sys-theme-warning-bg);
3378
- --owo-cmp-warning-border: var(--owo-sys-theme-warning-border);
3379
- --owo-cmp-warning-text: var(--owo-sys-theme-warning-text);
3380
- --owo-cmp-danger-bg: var(--owo-sys-theme-danger-bg);
3381
- --owo-cmp-danger-bg-emphasis: var(--owo-sys-theme-danger-bg-emphasis);
3382
- --owo-cmp-danger-border: var(--owo-sys-theme-danger-border);
3383
- --owo-cmp-danger-text: var(--owo-sys-theme-danger-text);
3384
- --owo-cmp-info-bg: var(--owo-sys-theme-info-bg);
3385
- --owo-cmp-info-border: var(--owo-sys-theme-info-border);
3386
- --owo-cmp-info-text: var(--owo-sys-theme-info-text);
3387
- --owo-cmp-control-radius-sm: var(--owo-sys-preset-control-radius-sm);
3388
- --owo-cmp-control-radius-md: var(--owo-sys-preset-control-radius-md);
3389
- --owo-cmp-control-radius-lg: var(--owo-sys-preset-control-radius-lg);
3390
- --owo-cmp-control-radius-xl: var(--owo-sys-preset-control-radius-xl);
3391
- --owo-cmp-control-radius-2xl: var(--owo-sys-preset-control-radius-2xl);
3392
- --owo-cmp-control-radius-full: var(--owo-sys-preset-control-radius-full);
3393
- --owo-cmp-control-border-width: var(--owo-sys-preset-control-border-width);
3394
- --owo-cmp-control-focus-ring: var(--owo-sys-theme-control-focus-ring);
3395
- --owo-cmp-control-focus-ring-offset: var(--owo-sys-theme-control-focus-ring-offset);
3396
- --owo-cmp-font-heading: var(--owo-ref-font-heading);
3397
- --owo-cmp-motion-duration-fast: 0.15s;
3398
- --owo-cmp-motion-duration-default: 0.2s;
3399
- --owo-cmp-motion-ease-standard: var(--owo-ref-motion-ease-standard);
3400
- --owo-cmp-motion-ease-decelerate: var(--owo-ref-motion-ease-decelerate);
3401
- --owo-cmp-motion-ease-accelerate: var(--owo-ref-motion-ease-accelerate);
3402
- --owo-cmp-density-compact: 0.875;
3403
- --owo-cmp-density-default: 1;
3404
- --owo-cmp-density-comfortable: 1.125;
3405
- --owo-cmp-overlay-bg: var(--owo-sys-theme-overlay-bg);
3406
- --owo-cmp-z-dropdown: 1000;
3407
- --owo-cmp-z-modal: 1100;
3408
- --owo-cmp-z-toast: 1200;
3409
- --owo-feedback-neutral-bg: var(--owo-cmp-surface-bg-raised);
3410
- --owo-feedback-neutral-border: var(--owo-cmp-surface-border);
3411
- --owo-feedback-neutral-text: var(--owo-cmp-text-primary);
3412
- --owo-feedback-neutral-icon: var(--owo-cmp-text-secondary);
3413
- --owo-feedback-info-bg: var(--owo-cmp-info-bg);
3414
- --owo-feedback-info-border: var(--owo-cmp-info-border);
3415
- --owo-feedback-info-text: var(--owo-cmp-info-text);
3416
- --owo-feedback-info-icon: var(--owo-cmp-info-text);
3417
- --owo-feedback-success-bg: var(--owo-cmp-success-bg);
3418
- --owo-feedback-success-border: var(--owo-cmp-success-border);
3419
- --owo-feedback-success-text: var(--owo-cmp-success-text);
3420
- --owo-feedback-success-icon: var(--owo-cmp-success-text);
3421
- --owo-feedback-warning-bg: var(--owo-cmp-warning-bg);
3422
- --owo-feedback-warning-border: var(--owo-cmp-warning-border);
3423
- --owo-feedback-warning-text: var(--owo-cmp-warning-text);
3424
- --owo-feedback-warning-icon: var(--owo-cmp-warning-text);
3425
- --owo-feedback-danger-bg: var(--owo-cmp-danger-bg);
3426
- --owo-feedback-danger-border: var(--owo-cmp-danger-border);
3427
- --owo-feedback-danger-text: var(--owo-cmp-danger-text);
3428
- --owo-feedback-danger-icon: var(--owo-cmp-danger-text);
3429
249
  }
3430
- :root[data-preset="elevated"], .owoui-preset-elevated {
250
+ /* ================================================================== */
251
+ /* Light theme — all --owo-ref-* primitives + --owo-sys-theme-* maps */
252
+ /* */
253
+ /* :root (bare) is included so light acts as the default when no */
254
+ /* explicit data-theme is set. */
255
+ /* ================================================================== */
256
+ :root,
257
+ :root[data-theme="light"],
258
+ .owoui-theme-light {
259
+ /* Neutral scale */
260
+ --owo-ref-color-neutral-900: #1a1a1a;
261
+ --owo-ref-color-neutral-800: #2d2d2d;
262
+ --owo-ref-color-neutral-700: #4a4a4a;
263
+ --owo-ref-color-neutral-600: #71717a;
264
+ --owo-ref-color-neutral-500: #a1a1aa;
265
+ --owo-ref-color-neutral-400: #d4d4d8;
266
+ --owo-ref-color-neutral-300: #e4e4e7;
267
+ --owo-ref-color-neutral-200: #f0f0f2;
268
+ --owo-ref-color-neutral-100: #f8f8f9;
269
+
270
+ /* Brand */
271
+ --owo-ref-color-brand-primary: #1a1a1a;
272
+ --owo-ref-color-brand-primary-hover: #000000;
273
+ --owo-ref-color-brand-accent: #4a4a4a;
274
+
275
+ /* Surfaces */
276
+ --owo-ref-color-surface-canvas: #ffffff;
277
+ --owo-ref-color-surface-base: #ffffff;
278
+ --owo-ref-color-surface-subtle: #fafaf9;
279
+ --owo-ref-color-surface-raised: #ffffff;
280
+ --owo-ref-color-surface-inset: #f5f5f4;
281
+ --owo-ref-color-surface-border: #e5e7eb;
282
+ --owo-ref-color-surface-ring: #d6d3d1;
283
+ --owo-ref-color-surface-overlay: rgba(0, 0, 0, 0.4);
284
+
285
+ /* Overlays & highlights */
286
+ --owo-ref-color-overlay-soft: rgba(244, 238, 230, 0.56);
287
+ --owo-ref-color-overlay-strong: rgba(15, 23, 42, 0.18);
288
+ --owo-ref-color-highlight-soft: rgba(255, 255, 255, 0.56);
289
+ --owo-ref-color-highlight-sheen: rgba(255, 255, 255, 0.34);
290
+
291
+ /* Text on brand */
292
+ --owo-ref-color-text-on-brand: #ffffff;
293
+
294
+ /* Code blocks */
295
+ --owo-ref-color-code-block-bg: #f4f4f5;
296
+ --owo-ref-color-code-block-border: #e4e4e7;
297
+ --owo-ref-color-code-block-divider: #ececed;
298
+ --owo-ref-color-code-inline-bg: #f4f4f5;
299
+
300
+ /* Status */
301
+ --owo-ref-color-status-success-bg: rgba(16, 185, 129, 0.10);
302
+ --owo-ref-color-status-success-border: rgba(16, 185, 129, 0.20);
303
+ --owo-ref-color-status-success-text: #047857;
304
+ --owo-ref-color-status-warning-bg: rgba(245, 158, 11, 0.10);
305
+ --owo-ref-color-status-warning-border: rgba(245, 158, 11, 0.20);
306
+ --owo-ref-color-status-warning-text: #b45309;
307
+ --owo-ref-color-status-danger-bg: rgba(239, 68, 68, 0.10);
308
+ --owo-ref-color-status-danger-border: rgba(239, 68, 68, 0.20);
309
+ --owo-ref-color-status-danger-text: #b91c1c;
310
+ --owo-ref-color-status-info-bg: rgba(14, 165, 233, 0.10);
311
+ --owo-ref-color-status-info-border: rgba(14, 165, 233, 0.20);
312
+ --owo-ref-color-status-info-text: #0369a1;
313
+
314
+ /* ---- Theme semantic mappings (--owo-ref-* -> --owo-sys-theme-*) ---- */
315
+ --owo-sys-theme-surface-canvas: var(--owo-ref-color-surface-canvas);
316
+ --owo-sys-theme-surface-base: var(--owo-ref-color-surface-base);
317
+ --owo-sys-theme-surface-subtle: var(--owo-ref-color-surface-subtle);
318
+ --owo-sys-theme-surface-raised: var(--owo-ref-color-surface-raised);
319
+ --owo-sys-theme-surface-inset: var(--owo-ref-color-surface-inset);
320
+ --owo-sys-theme-surface-border: var(--owo-ref-color-surface-border);
321
+ --owo-sys-theme-surface-border-muted: rgba(0, 0, 0, 0.06);
322
+ --owo-sys-theme-surface-border-strong: var(--owo-ref-color-surface-ring);
323
+ --owo-sys-theme-canvas-bg-subtle: #f5f5f4;
324
+ --owo-sys-theme-surface-container: #f4f4f5;
325
+ --owo-sys-theme-surface-container-high: #ececed;
326
+ --owo-sys-theme-surface-container-highest: #e4e4e7;
327
+ --owo-sys-theme-text-primary: var(--owo-ref-color-neutral-900);
328
+ --owo-sys-theme-text-secondary: var(--owo-ref-color-neutral-700);
329
+ --owo-sys-theme-text-muted: var(--owo-ref-color-neutral-600);
330
+ --owo-sys-theme-text-on-accent: var(--owo-ref-color-text-on-brand);
331
+ --owo-sys-theme-accent-bg: var(--owo-ref-color-brand-primary);
332
+ --owo-sys-theme-accent-bg-hover: var(--owo-ref-color-brand-primary-hover);
333
+ --owo-sys-theme-accent-bg-muted: color-mix(in srgb, var(--owo-ref-color-brand-primary) 10%, var(--owo-ref-color-surface-base));
334
+ --owo-sys-theme-accent-border: color-mix(in srgb, var(--owo-ref-color-brand-primary) 40%, transparent);
335
+ --owo-sys-theme-success-bg: var(--owo-ref-color-status-success-bg);
336
+ --owo-sys-theme-success-border: var(--owo-ref-color-status-success-border);
337
+ --owo-sys-theme-success-text: var(--owo-ref-color-status-success-text);
338
+ --owo-sys-theme-warning-bg: var(--owo-ref-color-status-warning-bg);
339
+ --owo-sys-theme-warning-border: var(--owo-ref-color-status-warning-border);
340
+ --owo-sys-theme-warning-text: var(--owo-ref-color-status-warning-text);
341
+ --owo-sys-theme-danger-bg: var(--owo-ref-color-status-danger-bg);
342
+ --owo-sys-theme-danger-bg-emphasis: rgba(239, 68, 68, 0.18);
343
+ --owo-sys-theme-danger-border: var(--owo-ref-color-status-danger-border);
344
+ --owo-sys-theme-danger-text: var(--owo-ref-color-status-danger-text);
345
+ --owo-sys-theme-info-bg: var(--owo-ref-color-status-info-bg);
346
+ --owo-sys-theme-info-border: var(--owo-ref-color-status-info-border);
347
+ --owo-sys-theme-info-text: var(--owo-ref-color-status-info-text);
348
+ --owo-sys-theme-control-focus-ring: var(--owo-ref-color-surface-ring);
349
+ --owo-sys-theme-control-focus-ring-offset: var(--owo-ref-color-surface-base);
350
+ --owo-sys-theme-overlay-bg: var(--owo-ref-color-overlay-strong);
351
+ }
352
+ :root[data-theme="dark"],
353
+ .owoui-theme-dark {
354
+ --owo-ref-color-neutral-900: #fafafa;
355
+ --owo-ref-color-neutral-800: #e4e4e7;
356
+ --owo-ref-color-neutral-700: #d4d4d8;
357
+ --owo-ref-color-neutral-600: #a1a1aa;
358
+ --owo-ref-color-neutral-500: #71717a;
359
+ --owo-ref-color-neutral-400: #3f3f46;
360
+ --owo-ref-color-neutral-300: #27272a;
361
+ --owo-ref-color-neutral-200: #1f1f22;
362
+ --owo-ref-color-neutral-100: #18181a;
363
+
364
+ --owo-ref-color-brand-primary: #c6c6c7;
365
+ --owo-ref-color-brand-primary-hover: #d4d4d8;
366
+ --owo-ref-color-brand-accent: #a1a1aa;
367
+
368
+ --owo-ref-color-surface-canvas: #0e0e0e;
369
+ --owo-ref-color-surface-base: #18181b;
370
+ --owo-ref-color-surface-subtle: #1c1c1f;
371
+ --owo-ref-color-surface-raised: #27272a;
372
+ --owo-ref-color-surface-inset: #111113;
373
+ --owo-ref-color-surface-border: rgba(255, 255, 255, 0.12);
374
+ --owo-ref-color-surface-ring: rgba(255, 255, 255, 0.24);
375
+ --owo-ref-color-surface-overlay: rgba(0, 0, 0, 0.6);
376
+
377
+ --owo-ref-color-overlay-soft: rgba(0, 0, 0, 0.32);
378
+ --owo-ref-color-overlay-strong: rgba(0, 0, 0, 0.56);
379
+ --owo-ref-color-highlight-soft: rgba(255, 255, 255, 0.06);
380
+ --owo-ref-color-highlight-sheen: rgba(255, 255, 255, 0.08);
381
+
382
+ --owo-ref-color-text-on-brand: #1a1a1a;
383
+
384
+ --owo-ref-color-code-block-bg: #1e1e22;
385
+ --owo-ref-color-code-block-border: #2d2d32;
386
+ --owo-ref-color-code-block-divider: #27272c;
387
+ --owo-ref-color-code-inline-bg: #27272a;
388
+
389
+ --owo-ref-color-status-success-bg: rgba(16, 185, 129, 0.15);
390
+ --owo-ref-color-status-success-border: rgba(16, 185, 129, 0.3);
391
+ --owo-ref-color-status-success-text: #6ee7b7;
392
+ --owo-ref-color-status-warning-bg: rgba(245, 158, 11, 0.15);
393
+ --owo-ref-color-status-warning-border: rgba(245, 158, 11, 0.3);
394
+ --owo-ref-color-status-warning-text: #fbbf24;
395
+ --owo-ref-color-status-danger-bg: rgba(239, 68, 68, 0.15);
396
+ --owo-ref-color-status-danger-border: rgba(239, 68, 68, 0.3);
397
+ --owo-ref-color-status-danger-text: #fca5a5;
398
+ --owo-ref-color-status-info-bg: rgba(14, 165, 233, 0.15);
399
+ --owo-ref-color-status-info-border: rgba(14, 165, 233, 0.3);
400
+ --owo-ref-color-status-info-text: #7dd3fc;
401
+
402
+ --owo-sys-theme-surface-canvas: var(--owo-ref-color-surface-canvas);
403
+ --owo-sys-theme-surface-base: var(--owo-ref-color-surface-base);
404
+ --owo-sys-theme-surface-subtle: var(--owo-ref-color-surface-subtle);
405
+ --owo-sys-theme-surface-raised: var(--owo-ref-color-surface-raised);
406
+ --owo-sys-theme-surface-inset: var(--owo-ref-color-surface-inset);
407
+ --owo-sys-theme-surface-border: var(--owo-ref-color-surface-border);
408
+ --owo-sys-theme-surface-border-muted: rgba(255, 255, 255, 0.06);
409
+ --owo-sys-theme-surface-border-strong: var(--owo-ref-color-surface-ring);
410
+ --owo-sys-theme-canvas-bg-subtle: #0f0f11;
411
+ --owo-sys-theme-surface-container: #1e1e22;
412
+ --owo-sys-theme-surface-container-high: #252529;
413
+ --owo-sys-theme-surface-container-highest: #2d2d32;
414
+ --owo-sys-theme-text-primary: var(--owo-ref-color-neutral-900);
415
+ --owo-sys-theme-text-secondary: var(--owo-ref-color-neutral-700);
416
+ --owo-sys-theme-text-muted: var(--owo-ref-color-neutral-600);
417
+ --owo-sys-theme-text-on-accent: var(--owo-ref-color-text-on-brand);
418
+ --owo-sys-theme-accent-bg: var(--owo-ref-color-brand-primary);
419
+ --owo-sys-theme-accent-bg-hover: var(--owo-ref-color-brand-primary-hover);
420
+ --owo-sys-theme-accent-bg-muted: color-mix(in srgb, var(--owo-ref-color-brand-primary) 14%, var(--owo-ref-color-surface-base));
421
+ --owo-sys-theme-accent-border: color-mix(in srgb, var(--owo-ref-color-brand-primary) 50%, transparent);
422
+ --owo-sys-theme-success-bg: var(--owo-ref-color-status-success-bg);
423
+ --owo-sys-theme-success-border: var(--owo-ref-color-status-success-border);
424
+ --owo-sys-theme-success-text: var(--owo-ref-color-status-success-text);
425
+ --owo-sys-theme-warning-bg: var(--owo-ref-color-status-warning-bg);
426
+ --owo-sys-theme-warning-border: var(--owo-ref-color-status-warning-border);
427
+ --owo-sys-theme-warning-text: var(--owo-ref-color-status-warning-text);
428
+ --owo-sys-theme-danger-bg: var(--owo-ref-color-status-danger-bg);
429
+ --owo-sys-theme-danger-bg-emphasis: rgba(239, 68, 68, 0.24);
430
+ --owo-sys-theme-danger-border: var(--owo-ref-color-status-danger-border);
431
+ --owo-sys-theme-danger-text: var(--owo-ref-color-status-danger-text);
432
+ --owo-sys-theme-info-bg: var(--owo-ref-color-status-info-bg);
433
+ --owo-sys-theme-info-border: var(--owo-ref-color-status-info-border);
434
+ --owo-sys-theme-info-text: var(--owo-ref-color-status-info-text);
435
+ --owo-sys-theme-control-focus-ring: var(--owo-ref-color-surface-ring);
436
+ --owo-sys-theme-control-focus-ring-offset: var(--owo-ref-color-surface-base);
437
+ --owo-sys-theme-overlay-bg: var(--owo-ref-color-overlay-strong);
438
+ }
439
+ :root[data-preset="flat"],
440
+ .owoui-preset-flat {
3431
441
  --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
3432
- @supports (color: color-mix(in lab, red, red)) {
3433
- --owo-sys-preset-surface-bg: color-mix(in srgb, var(--owo-sys-theme-surface-base) 96%, var(--owo-sys-theme-surface-border-strong));
3434
- }
3435
442
  --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
3436
- @supports (color: color-mix(in lab, red, red)) {
3437
- --owo-sys-preset-surface-bg-subtle: color-mix(in srgb, var(--owo-sys-theme-surface-subtle) 96%, var(--owo-sys-theme-surface-border-strong));
3438
- }
3439
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
3440
- @supports (color: color-mix(in lab, red, red)) {
3441
- --owo-sys-preset-surface-bg-raised: color-mix(in srgb, var(--owo-sys-theme-surface-raised) 94%, var(--owo-sys-theme-surface-border-strong));
3442
- }
443
+ --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-base);
3443
444
  --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
3444
445
  --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border);
3445
- @supports (color: color-mix(in lab, red, red)) {
3446
- --owo-sys-preset-surface-border: color-mix(in srgb, var(--owo-sys-theme-surface-border) 88%, var(--owo-sys-theme-surface-border-strong));
3447
- }
3448
446
  --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
3449
447
  --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
3450
- --owo-sys-preset-surface-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
3451
- --owo-sys-preset-surface-shadow-strong: 0 28px 60px rgba(15, 23, 42, 0.18);
448
+ --owo-sys-preset-surface-shadow: none;
449
+ --owo-sys-preset-surface-shadow-strong: none;
3452
450
  --owo-sys-preset-surface-blur: 0px;
3453
451
  --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
3454
452
  --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
3455
453
  --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
3456
- @supports (color: color-mix(in lab, red, red)) {
3457
- --owo-sys-preset-surface-container: color-mix(in srgb, var(--owo-sys-theme-surface-container) 94%, var(--owo-sys-theme-surface-border-strong));
3458
- }
3459
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container-high);
3460
- @supports (color: color-mix(in lab, red, red)) {
3461
- --owo-sys-preset-surface-container-high: color-mix(in srgb, var(--owo-sys-theme-surface-container-high) 94%, var(--owo-sys-theme-surface-border-strong));
3462
- }
3463
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-highest);
3464
- @supports (color: color-mix(in lab, red, red)) {
3465
- --owo-sys-preset-surface-container-highest: color-mix(in srgb, var(--owo-sys-theme-surface-container-highest) 92%, var(--owo-sys-theme-surface-border-strong));
3466
- }
3467
- --owo-sys-preset-control-radius-sm: calc(var(--owo-ref-radius-sm) + 0.125rem);
3468
- --owo-sys-preset-control-radius-md: calc(var(--owo-ref-radius-md) + 0.125rem);
3469
- --owo-sys-preset-control-radius-lg: calc(var(--owo-ref-radius-lg) + 0.125rem);
3470
- --owo-sys-preset-control-radius-xl: calc(var(--owo-ref-radius-xl) + 0.125rem);
3471
- --owo-sys-preset-control-radius-2xl: calc(var(--owo-ref-radius-2xl) + 0.125rem);
454
+ --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container);
455
+ --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-high);
456
+ --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-xs);
457
+ --owo-sys-preset-control-radius-md: calc(var(--owo-ref-radius-sm) + 0.125rem);
458
+ --owo-sys-preset-control-radius-lg: calc(var(--owo-ref-radius-md) + 0.125rem);
459
+ --owo-sys-preset-control-radius-xl: calc(var(--owo-ref-radius-lg) + 0.25rem);
460
+ --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-xl);
3472
461
  --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
462
+ --owo-sys-preset-control-height-xs: 1.75rem;
463
+ --owo-sys-preset-control-height-sm: 2rem;
464
+ --owo-sys-preset-control-height-md: 2.25rem;
465
+ --owo-sys-preset-control-height-lg: 2.5rem;
466
+ --owo-sys-preset-control-height-xl: 3rem;
3473
467
  --owo-sys-preset-control-border-width: 1px;
3474
468
  }
3475
- :root {
3476
- --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
3477
- --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
3478
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
469
+ :root[data-preset="elevated"],
470
+ .owoui-preset-elevated {
471
+ --owo-sys-preset-surface-bg: color-mix(in srgb, var(--owo-sys-theme-surface-base) 96%, var(--owo-sys-theme-surface-border-strong));
472
+ --owo-sys-preset-surface-bg-subtle: color-mix(in srgb, var(--owo-sys-theme-surface-subtle) 96%, var(--owo-sys-theme-surface-border-strong));
473
+ --owo-sys-preset-surface-bg-raised: color-mix(in srgb, var(--owo-sys-theme-surface-raised) 94%, var(--owo-sys-theme-surface-border-strong));
3479
474
  --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
3480
- --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border);
475
+ --owo-sys-preset-surface-border: color-mix(in srgb, var(--owo-sys-theme-surface-border) 88%, var(--owo-sys-theme-surface-border-strong));
3481
476
  --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
3482
477
  --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
3483
- --owo-sys-preset-surface-shadow: var(--owo-ref-shadow-raised);
3484
- --owo-sys-preset-surface-shadow-strong: var(--owo-ref-shadow-popover);
478
+ --owo-sys-preset-surface-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
479
+ --owo-sys-preset-surface-shadow-strong: 0 28px 60px rgba(15, 23, 42, 0.18);
3485
480
  --owo-sys-preset-surface-blur: 0px;
3486
481
  --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
3487
482
  --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
3488
- --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
3489
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container-high);
3490
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-highest);
3491
- --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-sm);
3492
- --owo-sys-preset-control-radius-md: var(--owo-ref-radius-md);
3493
- --owo-sys-preset-control-radius-lg: var(--owo-ref-radius-lg);
3494
- --owo-sys-preset-control-radius-xl: var(--owo-ref-radius-xl);
3495
- --owo-sys-preset-control-radius-2xl: var(--owo-ref-radius-2xl);
483
+ --owo-sys-preset-surface-container: color-mix(in srgb, var(--owo-sys-theme-surface-container) 94%, var(--owo-sys-theme-surface-border-strong));
484
+ --owo-sys-preset-surface-container-high: color-mix(in srgb, var(--owo-sys-theme-surface-container-high) 94%, var(--owo-sys-theme-surface-border-strong));
485
+ --owo-sys-preset-surface-container-highest: color-mix(in srgb, var(--owo-sys-theme-surface-container-highest) 92%, var(--owo-sys-theme-surface-border-strong));
486
+ --owo-sys-preset-control-radius-sm: calc(var(--owo-ref-radius-sm) + 0.125rem);
487
+ --owo-sys-preset-control-radius-md: calc(var(--owo-ref-radius-md) + 0.125rem);
488
+ --owo-sys-preset-control-radius-lg: calc(var(--owo-ref-radius-lg) + 0.125rem);
489
+ --owo-sys-preset-control-radius-xl: calc(var(--owo-ref-radius-xl) + 0.125rem);
490
+ --owo-sys-preset-control-radius-2xl: calc(var(--owo-ref-radius-2xl) + 0.125rem);
3496
491
  --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
492
+ --owo-sys-preset-control-height-xs: 1.75rem;
493
+ --owo-sys-preset-control-height-sm: 2rem;
494
+ --owo-sys-preset-control-height-md: 2.25rem;
495
+ --owo-sys-preset-control-height-lg: 2.5rem;
496
+ --owo-sys-preset-control-height-xl: 3rem;
3497
497
  --owo-sys-preset-control-border-width: 1px;
3498
- --owo-cmp-surface-bg: var(--owo-sys-preset-surface-bg);
3499
- --owo-cmp-surface-bg-subtle: var(--owo-sys-preset-surface-bg-subtle);
3500
- --owo-cmp-surface-bg-raised: var(--owo-sys-preset-surface-bg-raised);
3501
- --owo-cmp-surface-bg-inset: var(--owo-sys-preset-surface-bg-inset);
3502
- --owo-cmp-surface-border: var(--owo-sys-preset-surface-border);
3503
- --owo-cmp-surface-border-muted: var(--owo-sys-preset-surface-border-muted);
3504
- --owo-cmp-surface-border-strong: var(--owo-sys-preset-surface-border-strong);
3505
- --owo-cmp-surface-shadow: var(--owo-sys-preset-surface-shadow);
3506
- --owo-cmp-surface-shadow-strong: var(--owo-sys-preset-surface-shadow-strong);
3507
- --owo-cmp-surface-blur: var(--owo-sys-preset-surface-blur);
3508
- --owo-cmp-canvas-bg: var(--owo-sys-preset-canvas-bg);
3509
- --owo-cmp-canvas-bg-subtle: var(--owo-sys-preset-canvas-bg-subtle);
3510
- --owo-cmp-surface-container: var(--owo-sys-preset-surface-container);
3511
- --owo-cmp-surface-container-high: var(--owo-sys-preset-surface-container-high);
3512
- --owo-cmp-surface-container-highest: var(--owo-sys-preset-surface-container-highest);
3513
- --owo-cmp-text-primary: var(--owo-sys-theme-text-primary);
3514
- --owo-cmp-text-secondary: var(--owo-sys-theme-text-secondary);
3515
- --owo-cmp-text-muted: var(--owo-sys-theme-text-muted);
3516
- --owo-cmp-text-on-accent: var(--owo-sys-theme-text-on-accent);
3517
- --owo-cmp-accent-bg: var(--owo-sys-theme-accent-bg);
3518
- --owo-cmp-accent-bg-hover: var(--owo-sys-theme-accent-bg-hover);
3519
- --owo-cmp-accent-bg-muted: var(--owo-sys-theme-accent-bg-muted);
3520
- --owo-cmp-accent-text: var(--owo-sys-theme-text-on-accent);
3521
- --owo-cmp-accent-border: var(--owo-sys-theme-accent-border);
3522
- --owo-cmp-success-bg: var(--owo-sys-theme-success-bg);
3523
- --owo-cmp-success-border: var(--owo-sys-theme-success-border);
3524
- --owo-cmp-success-text: var(--owo-sys-theme-success-text);
3525
- --owo-cmp-warning-bg: var(--owo-sys-theme-warning-bg);
3526
- --owo-cmp-warning-border: var(--owo-sys-theme-warning-border);
3527
- --owo-cmp-warning-text: var(--owo-sys-theme-warning-text);
3528
- --owo-cmp-danger-bg: var(--owo-sys-theme-danger-bg);
3529
- --owo-cmp-danger-bg-emphasis: var(--owo-sys-theme-danger-bg-emphasis);
3530
- --owo-cmp-danger-border: var(--owo-sys-theme-danger-border);
3531
- --owo-cmp-danger-text: var(--owo-sys-theme-danger-text);
3532
- --owo-cmp-info-bg: var(--owo-sys-theme-info-bg);
3533
- --owo-cmp-info-border: var(--owo-sys-theme-info-border);
3534
- --owo-cmp-info-text: var(--owo-sys-theme-info-text);
3535
- --owo-cmp-control-radius-sm: var(--owo-sys-preset-control-radius-sm);
3536
- --owo-cmp-control-radius-md: var(--owo-sys-preset-control-radius-md);
3537
- --owo-cmp-control-radius-lg: var(--owo-sys-preset-control-radius-lg);
3538
- --owo-cmp-control-radius-xl: var(--owo-sys-preset-control-radius-xl);
3539
- --owo-cmp-control-radius-2xl: var(--owo-sys-preset-control-radius-2xl);
3540
- --owo-cmp-control-radius-full: var(--owo-sys-preset-control-radius-full);
3541
- --owo-cmp-control-border-width: var(--owo-sys-preset-control-border-width);
3542
- --owo-cmp-control-focus-ring: var(--owo-sys-theme-control-focus-ring);
3543
- --owo-cmp-control-focus-ring-offset: var(--owo-sys-theme-control-focus-ring-offset);
3544
- --owo-cmp-font-heading: var(--owo-ref-font-heading);
3545
- --owo-cmp-motion-duration-fast: 0.15s;
3546
- --owo-cmp-motion-duration-default: 0.2s;
3547
- --owo-cmp-motion-ease-standard: var(--owo-ref-motion-ease-standard);
3548
- --owo-cmp-motion-ease-decelerate: var(--owo-ref-motion-ease-decelerate);
3549
- --owo-cmp-motion-ease-accelerate: var(--owo-ref-motion-ease-accelerate);
3550
- --owo-cmp-density-compact: 0.875;
3551
- --owo-cmp-density-default: 1;
3552
- --owo-cmp-density-comfortable: 1.125;
3553
- --owo-cmp-overlay-bg: var(--owo-sys-theme-overlay-bg);
3554
- --owo-cmp-z-dropdown: 1000;
3555
- --owo-cmp-z-modal: 1100;
3556
- --owo-cmp-z-toast: 1200;
3557
- --owo-feedback-neutral-bg: var(--owo-cmp-surface-bg-raised);
3558
- --owo-feedback-neutral-border: var(--owo-cmp-surface-border);
3559
- --owo-feedback-neutral-text: var(--owo-cmp-text-primary);
3560
- --owo-feedback-neutral-icon: var(--owo-cmp-text-secondary);
3561
- --owo-feedback-info-bg: var(--owo-cmp-info-bg);
3562
- --owo-feedback-info-border: var(--owo-cmp-info-border);
3563
- --owo-feedback-info-text: var(--owo-cmp-info-text);
3564
- --owo-feedback-info-icon: var(--owo-cmp-info-text);
3565
- --owo-feedback-success-bg: var(--owo-cmp-success-bg);
3566
- --owo-feedback-success-border: var(--owo-cmp-success-border);
3567
- --owo-feedback-success-text: var(--owo-cmp-success-text);
3568
- --owo-feedback-success-icon: var(--owo-cmp-success-text);
3569
- --owo-feedback-warning-bg: var(--owo-cmp-warning-bg);
3570
- --owo-feedback-warning-border: var(--owo-cmp-warning-border);
3571
- --owo-feedback-warning-text: var(--owo-cmp-warning-text);
3572
- --owo-feedback-warning-icon: var(--owo-cmp-warning-text);
3573
- --owo-feedback-danger-bg: var(--owo-cmp-danger-bg);
3574
- --owo-feedback-danger-border: var(--owo-cmp-danger-border);
3575
- --owo-feedback-danger-text: var(--owo-cmp-danger-text);
3576
- --owo-feedback-danger-icon: var(--owo-cmp-danger-text);
3577
498
  }
3578
- :root[data-preset="glass"], .owoui-preset-glass {
3579
- --owo-sys-preset-surface-bg: var(--owo-sys-theme-surface-base);
3580
- @supports (color: color-mix(in lab, red, red)) {
3581
- --owo-sys-preset-surface-bg: color-mix(in srgb, var(--owo-sys-theme-surface-base) 62%, transparent);
3582
- }
3583
- --owo-sys-preset-surface-bg-subtle: var(--owo-sys-theme-surface-subtle);
3584
- @supports (color: color-mix(in lab, red, red)) {
3585
- --owo-sys-preset-surface-bg-subtle: color-mix(in srgb, var(--owo-sys-theme-surface-subtle) 48%, transparent);
3586
- }
3587
- --owo-sys-preset-surface-bg-raised: var(--owo-sys-theme-surface-raised);
3588
- @supports (color: color-mix(in lab, red, red)) {
3589
- --owo-sys-preset-surface-bg-raised: color-mix(in srgb, var(--owo-sys-theme-surface-raised) 72%, transparent);
3590
- }
3591
- --owo-sys-preset-surface-bg-inset: var(--owo-sys-theme-surface-inset);
3592
- @supports (color: color-mix(in lab, red, red)) {
3593
- --owo-sys-preset-surface-bg-inset: color-mix(in srgb, var(--owo-sys-theme-surface-inset) 82%, transparent);
3594
- }
3595
- --owo-sys-preset-surface-border: var(--owo-sys-theme-surface-border-strong);
3596
- @supports (color: color-mix(in lab, red, red)) {
3597
- --owo-sys-preset-surface-border: color-mix(in srgb, var(--owo-sys-theme-surface-border-strong) 55%, transparent);
3598
- }
3599
- --owo-sys-preset-surface-border-muted: var(--owo-sys-theme-surface-border-muted);
3600
- @supports (color: color-mix(in lab, red, red)) {
3601
- --owo-sys-preset-surface-border-muted: color-mix(in srgb, var(--owo-sys-theme-surface-border-muted) 60%, transparent);
3602
- }
3603
- --owo-sys-preset-surface-border-strong: var(--owo-sys-theme-surface-border-strong);
3604
- @supports (color: color-mix(in lab, red, red)) {
3605
- --owo-sys-preset-surface-border-strong: color-mix(in srgb, var(--owo-sys-theme-surface-border-strong) 78%, transparent);
3606
- }
499
+ :root[data-preset="glass"],
500
+ .owoui-preset-glass {
501
+ --owo-sys-preset-surface-bg: color-mix(in srgb, var(--owo-sys-theme-surface-base) 62%, transparent);
502
+ --owo-sys-preset-surface-bg-subtle: color-mix(in srgb, var(--owo-sys-theme-surface-subtle) 48%, transparent);
503
+ --owo-sys-preset-surface-bg-raised: color-mix(in srgb, var(--owo-sys-theme-surface-raised) 72%, transparent);
504
+ --owo-sys-preset-surface-bg-inset: color-mix(in srgb, var(--owo-sys-theme-surface-inset) 82%, transparent);
505
+ --owo-sys-preset-surface-border: color-mix(in srgb, var(--owo-sys-theme-surface-border-strong) 55%, transparent);
506
+ --owo-sys-preset-surface-border-muted: color-mix(in srgb, var(--owo-sys-theme-surface-border-muted) 60%, transparent);
507
+ --owo-sys-preset-surface-border-strong: color-mix(in srgb, var(--owo-sys-theme-surface-border-strong) 78%, transparent);
3607
508
  --owo-sys-preset-surface-shadow: 0 16px 44px rgba(15, 23, 42, 0.1);
3608
509
  --owo-sys-preset-surface-shadow-strong: 0 24px 64px rgba(15, 23, 42, 0.14);
3609
510
  --owo-sys-preset-surface-blur: 18px;
3610
511
  --owo-sys-preset-canvas-bg: var(--owo-sys-theme-surface-canvas);
3611
512
  --owo-sys-preset-canvas-bg-subtle: var(--owo-sys-theme-canvas-bg-subtle);
3612
- --owo-sys-preset-surface-container: var(--owo-sys-theme-surface-container);
3613
- @supports (color: color-mix(in lab, red, red)) {
3614
- --owo-sys-preset-surface-container: color-mix(in srgb, var(--owo-sys-theme-surface-container) 70%, transparent);
3615
- }
3616
- --owo-sys-preset-surface-container-high: var(--owo-sys-theme-surface-container-high);
3617
- @supports (color: color-mix(in lab, red, red)) {
3618
- --owo-sys-preset-surface-container-high: color-mix(in srgb, var(--owo-sys-theme-surface-container-high) 74%, transparent);
3619
- }
3620
- --owo-sys-preset-surface-container-highest: var(--owo-sys-theme-surface-container-highest);
3621
- @supports (color: color-mix(in lab, red, red)) {
3622
- --owo-sys-preset-surface-container-highest: color-mix(in srgb, var(--owo-sys-theme-surface-container-highest) 78%, transparent);
3623
- }
513
+ --owo-sys-preset-surface-container: color-mix(in srgb, var(--owo-sys-theme-surface-container) 70%, transparent);
514
+ --owo-sys-preset-surface-container-high: color-mix(in srgb, var(--owo-sys-theme-surface-container-high) 74%, transparent);
515
+ --owo-sys-preset-surface-container-highest: color-mix(in srgb, var(--owo-sys-theme-surface-container-highest) 78%, transparent);
3624
516
  --owo-sys-preset-control-radius-sm: var(--owo-ref-radius-md);
3625
517
  --owo-sys-preset-control-radius-md: var(--owo-ref-radius-lg);
3626
518
  --owo-sys-preset-control-radius-lg: calc(var(--owo-ref-radius-lg) + 0.25rem);
3627
519
  --owo-sys-preset-control-radius-xl: calc(var(--owo-ref-radius-xl) + 0.25rem);
3628
520
  --owo-sys-preset-control-radius-2xl: calc(var(--owo-ref-radius-2xl) + 0.25rem);
3629
521
  --owo-sys-preset-control-radius-full: var(--owo-ref-radius-full);
522
+ --owo-sys-preset-control-height-xs: 1.75rem;
523
+ --owo-sys-preset-control-height-sm: 2rem;
524
+ --owo-sys-preset-control-height-md: 2.25rem;
525
+ --owo-sys-preset-control-height-lg: 2.5rem;
526
+ --owo-sys-preset-control-height-xl: 3rem;
3630
527
  --owo-sys-preset-control-border-width: 1px;
3631
528
  }
529
+ @source "../components/**/*.ts";
530
+ @source "../components/**/*.tsx";
531
+ @source "../storybook/**/*.ts";
532
+ @source "../storybook/**/*.tsx";
533
+ @source "./**/*.ts";
534
+ @source "./**/*.tsx";
3632
535
  :root {
3633
536
  --font-inter: 'Inter', sans-serif;
3634
537
  --font-headline: 'Manrope', sans-serif;
@@ -3639,6 +542,7 @@
3639
542
  #root {
3640
543
  min-height: 100%;
3641
544
  }
545
+
3642
546
  body {
3643
547
  margin: 0;
3644
548
  font-family: var(--owo-ref-font-sans);
@@ -3647,43 +551,29 @@
3647
551
  line-height: 1.5;
3648
552
  -webkit-font-smoothing: antialiased;
3649
553
  }
554
+
3650
555
  * {
3651
556
  box-sizing: border-box;
3652
557
  }
558
+
3653
559
  a {
3654
560
  color: inherit;
3655
561
  text-decoration: none;
3656
562
  }
3657
563
  }
564
+ /* ------------------------------------------------------------------ */
565
+ /* Storybook shell — uses owoui token system exclusively */
566
+ /* ------------------------------------------------------------------ */
567
+ /* Dot-grid background for preview canvases */
3658
568
  .sb-dot-grid {
3659
569
  background-image: radial-gradient(
3660
- circle at 1px 1px,
3661
- var(--owo-cmp-surface-border) 0.5px,
3662
- transparent 0
3663
- );
3664
- @supports (color: color-mix(in lab, red, red)) {
3665
- background-image: radial-gradient(
3666
570
  circle at 1px 1px,
3667
571
  color-mix(in srgb, var(--owo-cmp-surface-border) 50%, transparent) 0.5px,
3668
572
  transparent 0
3669
573
  );
3670
- }
3671
574
  background-size: 20px 20px;
3672
575
  }
3673
- .sb-glass-btn.owo-icon-button {
3674
- border-radius: var(--owo-cmp-control-radius-sm);
3675
- border: 1px solid var(--owo-cmp-surface-border);
3676
- background: var(--owo-cmp-surface-bg);
3677
- @supports (color: color-mix(in lab, red, red)) {
3678
- background: color-mix(in srgb, var(--owo-cmp-surface-bg) 80%, transparent);
3679
- }
3680
- backdrop-filter: blur(12px);
3681
- color: var(--owo-cmp-text-muted);
3682
- }
3683
- .sb-glass-btn.owo-icon-button:hover:not(:disabled) {
3684
- color: var(--owo-cmp-text-primary);
3685
- background: var(--owo-cmp-surface-bg);
3686
- }
576
+ /* Sidebar scrollbar */
3687
577
  .sb-sidebar::-webkit-scrollbar {
3688
578
  width: 4px;
3689
579
  }
@@ -3694,36 +584,7 @@
3694
584
  background: var(--owo-cmp-surface-border);
3695
585
  border-radius: 10px;
3696
586
  }
3697
- .sb-controls .owo-select__trigger {
3698
- min-height: unset;
3699
- padding: 0.5rem 0.75rem;
3700
- font-size: 0.875rem;
3701
- line-height: 1.25rem;
3702
- }
3703
- .sb-theme-toggle.owo-icon-button {
3704
- border-radius: 0.5rem;
3705
- border: 1px solid var(--owo-cmp-surface-border);
3706
- }
3707
- .sb-sidebar-select .owo-select__trigger {
3708
- min-height: unset;
3709
- padding: 0.5rem 0.75rem;
3710
- font-size: 0.75rem;
3711
- line-height: 1rem;
3712
- }
3713
- .sb-copy-btn.owo-button {
3714
- min-height: 2.5rem;
3715
- font-size: 0.75rem;
3716
- font-weight: 700;
3717
- }
3718
- .sb-search-input.owo-input {
3719
- padding-top: 0.375rem;
3720
- padding-bottom: 0.375rem;
3721
- }
3722
- .sb-code-toggle.owo-button {
3723
- font-size: 0.6875rem;
3724
- min-height: unset;
3725
- padding: 0.25rem 0.625rem;
3726
- }
587
+ /* Main area scrollbar */
3727
588
  #sb-main::-webkit-scrollbar {
3728
589
  width: 6px;
3729
590
  }
@@ -3734,296 +595,3 @@
3734
595
  background: var(--owo-cmp-surface-border);
3735
596
  border-radius: 10px;
3736
597
  }
3737
- @property --tw-translate-x {
3738
- syntax: "*";
3739
- inherits: false;
3740
- initial-value: 0;
3741
- }
3742
- @property --tw-translate-y {
3743
- syntax: "*";
3744
- inherits: false;
3745
- initial-value: 0;
3746
- }
3747
- @property --tw-translate-z {
3748
- syntax: "*";
3749
- inherits: false;
3750
- initial-value: 0;
3751
- }
3752
- @property --tw-rotate-x {
3753
- syntax: "*";
3754
- inherits: false;
3755
- }
3756
- @property --tw-rotate-y {
3757
- syntax: "*";
3758
- inherits: false;
3759
- }
3760
- @property --tw-rotate-z {
3761
- syntax: "*";
3762
- inherits: false;
3763
- }
3764
- @property --tw-skew-x {
3765
- syntax: "*";
3766
- inherits: false;
3767
- }
3768
- @property --tw-skew-y {
3769
- syntax: "*";
3770
- inherits: false;
3771
- }
3772
- @property --tw-space-y-reverse {
3773
- syntax: "*";
3774
- inherits: false;
3775
- initial-value: 0;
3776
- }
3777
- @property --tw-divide-y-reverse {
3778
- syntax: "*";
3779
- inherits: false;
3780
- initial-value: 0;
3781
- }
3782
- @property --tw-border-style {
3783
- syntax: "*";
3784
- inherits: false;
3785
- initial-value: solid;
3786
- }
3787
- @property --tw-leading {
3788
- syntax: "*";
3789
- inherits: false;
3790
- }
3791
- @property --tw-font-weight {
3792
- syntax: "*";
3793
- inherits: false;
3794
- }
3795
- @property --tw-tracking {
3796
- syntax: "*";
3797
- inherits: false;
3798
- }
3799
- @property --tw-shadow {
3800
- syntax: "*";
3801
- inherits: false;
3802
- initial-value: 0 0 #0000;
3803
- }
3804
- @property --tw-shadow-color {
3805
- syntax: "*";
3806
- inherits: false;
3807
- }
3808
- @property --tw-shadow-alpha {
3809
- syntax: "<percentage>";
3810
- inherits: false;
3811
- initial-value: 100%;
3812
- }
3813
- @property --tw-inset-shadow {
3814
- syntax: "*";
3815
- inherits: false;
3816
- initial-value: 0 0 #0000;
3817
- }
3818
- @property --tw-inset-shadow-color {
3819
- syntax: "*";
3820
- inherits: false;
3821
- }
3822
- @property --tw-inset-shadow-alpha {
3823
- syntax: "<percentage>";
3824
- inherits: false;
3825
- initial-value: 100%;
3826
- }
3827
- @property --tw-ring-color {
3828
- syntax: "*";
3829
- inherits: false;
3830
- }
3831
- @property --tw-ring-shadow {
3832
- syntax: "*";
3833
- inherits: false;
3834
- initial-value: 0 0 #0000;
3835
- }
3836
- @property --tw-inset-ring-color {
3837
- syntax: "*";
3838
- inherits: false;
3839
- }
3840
- @property --tw-inset-ring-shadow {
3841
- syntax: "*";
3842
- inherits: false;
3843
- initial-value: 0 0 #0000;
3844
- }
3845
- @property --tw-ring-inset {
3846
- syntax: "*";
3847
- inherits: false;
3848
- }
3849
- @property --tw-ring-offset-width {
3850
- syntax: "<length>";
3851
- inherits: false;
3852
- initial-value: 0px;
3853
- }
3854
- @property --tw-ring-offset-color {
3855
- syntax: "*";
3856
- inherits: false;
3857
- initial-value: #fff;
3858
- }
3859
- @property --tw-ring-offset-shadow {
3860
- syntax: "*";
3861
- inherits: false;
3862
- initial-value: 0 0 #0000;
3863
- }
3864
- @property --tw-outline-style {
3865
- syntax: "*";
3866
- inherits: false;
3867
- initial-value: solid;
3868
- }
3869
- @property --tw-blur {
3870
- syntax: "*";
3871
- inherits: false;
3872
- }
3873
- @property --tw-brightness {
3874
- syntax: "*";
3875
- inherits: false;
3876
- }
3877
- @property --tw-contrast {
3878
- syntax: "*";
3879
- inherits: false;
3880
- }
3881
- @property --tw-grayscale {
3882
- syntax: "*";
3883
- inherits: false;
3884
- }
3885
- @property --tw-hue-rotate {
3886
- syntax: "*";
3887
- inherits: false;
3888
- }
3889
- @property --tw-invert {
3890
- syntax: "*";
3891
- inherits: false;
3892
- }
3893
- @property --tw-opacity {
3894
- syntax: "*";
3895
- inherits: false;
3896
- }
3897
- @property --tw-saturate {
3898
- syntax: "*";
3899
- inherits: false;
3900
- }
3901
- @property --tw-sepia {
3902
- syntax: "*";
3903
- inherits: false;
3904
- }
3905
- @property --tw-drop-shadow {
3906
- syntax: "*";
3907
- inherits: false;
3908
- }
3909
- @property --tw-drop-shadow-color {
3910
- syntax: "*";
3911
- inherits: false;
3912
- }
3913
- @property --tw-drop-shadow-alpha {
3914
- syntax: "<percentage>";
3915
- inherits: false;
3916
- initial-value: 100%;
3917
- }
3918
- @property --tw-drop-shadow-size {
3919
- syntax: "*";
3920
- inherits: false;
3921
- }
3922
- @property --tw-backdrop-blur {
3923
- syntax: "*";
3924
- inherits: false;
3925
- }
3926
- @property --tw-backdrop-brightness {
3927
- syntax: "*";
3928
- inherits: false;
3929
- }
3930
- @property --tw-backdrop-contrast {
3931
- syntax: "*";
3932
- inherits: false;
3933
- }
3934
- @property --tw-backdrop-grayscale {
3935
- syntax: "*";
3936
- inherits: false;
3937
- }
3938
- @property --tw-backdrop-hue-rotate {
3939
- syntax: "*";
3940
- inherits: false;
3941
- }
3942
- @property --tw-backdrop-invert {
3943
- syntax: "*";
3944
- inherits: false;
3945
- }
3946
- @property --tw-backdrop-opacity {
3947
- syntax: "*";
3948
- inherits: false;
3949
- }
3950
- @property --tw-backdrop-saturate {
3951
- syntax: "*";
3952
- inherits: false;
3953
- }
3954
- @property --tw-backdrop-sepia {
3955
- syntax: "*";
3956
- inherits: false;
3957
- }
3958
- @property --tw-duration {
3959
- syntax: "*";
3960
- inherits: false;
3961
- }
3962
- @property --tw-ease {
3963
- syntax: "*";
3964
- inherits: false;
3965
- }
3966
- @keyframes spin {
3967
- to {
3968
- transform: rotate(360deg);
3969
- }
3970
- }
3971
- @layer properties {
3972
- @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
3973
- *, ::before, ::after, ::backdrop {
3974
- --tw-translate-x: 0;
3975
- --tw-translate-y: 0;
3976
- --tw-translate-z: 0;
3977
- --tw-rotate-x: initial;
3978
- --tw-rotate-y: initial;
3979
- --tw-rotate-z: initial;
3980
- --tw-skew-x: initial;
3981
- --tw-skew-y: initial;
3982
- --tw-space-y-reverse: 0;
3983
- --tw-divide-y-reverse: 0;
3984
- --tw-border-style: solid;
3985
- --tw-leading: initial;
3986
- --tw-font-weight: initial;
3987
- --tw-tracking: initial;
3988
- --tw-shadow: 0 0 #0000;
3989
- --tw-shadow-color: initial;
3990
- --tw-shadow-alpha: 100%;
3991
- --tw-inset-shadow: 0 0 #0000;
3992
- --tw-inset-shadow-color: initial;
3993
- --tw-inset-shadow-alpha: 100%;
3994
- --tw-ring-color: initial;
3995
- --tw-ring-shadow: 0 0 #0000;
3996
- --tw-inset-ring-color: initial;
3997
- --tw-inset-ring-shadow: 0 0 #0000;
3998
- --tw-ring-inset: initial;
3999
- --tw-ring-offset-width: 0px;
4000
- --tw-ring-offset-color: #fff;
4001
- --tw-ring-offset-shadow: 0 0 #0000;
4002
- --tw-outline-style: solid;
4003
- --tw-blur: initial;
4004
- --tw-brightness: initial;
4005
- --tw-contrast: initial;
4006
- --tw-grayscale: initial;
4007
- --tw-hue-rotate: initial;
4008
- --tw-invert: initial;
4009
- --tw-opacity: initial;
4010
- --tw-saturate: initial;
4011
- --tw-sepia: initial;
4012
- --tw-drop-shadow: initial;
4013
- --tw-drop-shadow-color: initial;
4014
- --tw-drop-shadow-alpha: 100%;
4015
- --tw-drop-shadow-size: initial;
4016
- --tw-backdrop-blur: initial;
4017
- --tw-backdrop-brightness: initial;
4018
- --tw-backdrop-contrast: initial;
4019
- --tw-backdrop-grayscale: initial;
4020
- --tw-backdrop-hue-rotate: initial;
4021
- --tw-backdrop-invert: initial;
4022
- --tw-backdrop-opacity: initial;
4023
- --tw-backdrop-saturate: initial;
4024
- --tw-backdrop-sepia: initial;
4025
- --tw-duration: initial;
4026
- --tw-ease: initial;
4027
- }
4028
- }
4029
- }