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