sid-ui 0.0.0-stage → 0.1.1

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 (122) hide show
  1. package/README.md +54 -2
  2. package/package.json +51 -4
  3. package/src/brand/BrandFooter.tsx +45 -0
  4. package/src/brand/BrandHeading.tsx +24 -0
  5. package/src/brand/BrandLockup.tsx +47 -0
  6. package/src/brand/JoinedLogo.tsx +67 -0
  7. package/src/brand/JoinedMark.tsx +76 -0
  8. package/src/brand/geometry.ts +26 -0
  9. package/src/brand/index.ts +11 -0
  10. package/src/brand/name.ts +5 -0
  11. package/src/brand/paint.tsx +56 -0
  12. package/src/components/Action.tsx +44 -0
  13. package/src/components/AddressSelector.tsx +99 -0
  14. package/src/components/BarChart.tsx +132 -0
  15. package/src/components/Calendar.tsx +284 -0
  16. package/src/components/CalendarAgenda.tsx +87 -0
  17. package/src/components/CalendarMonth.tsx +223 -0
  18. package/src/components/CalendarSchedule.tsx +210 -0
  19. package/src/components/Card.tsx +80 -0
  20. package/src/components/Charts.tsx +64 -0
  21. package/src/components/Chat.tsx +35 -0
  22. package/src/components/CitySelector.tsx +81 -0
  23. package/src/components/Clock.tsx +196 -0
  24. package/src/components/CodeInput.tsx +183 -0
  25. package/src/components/Container.tsx +20 -0
  26. package/src/components/Content.tsx +50 -0
  27. package/src/components/Data.tsx +43 -0
  28. package/src/components/DataInput.tsx +107 -0
  29. package/src/components/DateField.tsx +162 -0
  30. package/src/components/DonutChart.tsx +123 -0
  31. package/src/components/Drawer.tsx +110 -0
  32. package/src/components/Feedback.tsx +37 -0
  33. package/src/components/FileUploader.tsx +377 -0
  34. package/src/components/FunnelChart.tsx +83 -0
  35. package/src/components/Glyph.tsx +330 -0
  36. package/src/components/GoogleSignIn.tsx +67 -0
  37. package/src/components/GridSystem.tsx +131 -0
  38. package/src/components/HeatmapCalendar.tsx +167 -0
  39. package/src/components/KanbanBoard.tsx +421 -0
  40. package/src/components/Kpi.tsx +61 -0
  41. package/src/components/LayoutPrimitives.tsx +86 -0
  42. package/src/components/Lists.tsx +19 -0
  43. package/src/components/LocationSelector.tsx +49 -0
  44. package/src/components/MessageList.tsx +80 -0
  45. package/src/components/Nav.tsx +69 -0
  46. package/src/components/Navigation.tsx +52 -0
  47. package/src/components/Notification.tsx +115 -0
  48. package/src/components/NotificationTrigger.tsx +248 -0
  49. package/src/components/Overlay.tsx +50 -0
  50. package/src/components/Page.tsx +143 -0
  51. package/src/components/PageTabs.tsx +28 -0
  52. package/src/components/PickerShell.tsx +138 -0
  53. package/src/components/PillNav.tsx +194 -0
  54. package/src/components/Primitives.tsx +30 -0
  55. package/src/components/Rating.tsx +78 -0
  56. package/src/components/Responsive.tsx +128 -0
  57. package/src/components/ResponsiveFrame.tsx +122 -0
  58. package/src/components/Segment.tsx +190 -0
  59. package/src/components/Sparkline.tsx +52 -0
  60. package/src/components/StateSelector.tsx +39 -0
  61. package/src/components/Sticky.tsx +95 -0
  62. package/src/components/Table.tsx +344 -0
  63. package/src/components/ThemeToggle.tsx +48 -0
  64. package/src/components/Tile.tsx +23 -0
  65. package/src/components/TimeColumns.tsx +155 -0
  66. package/src/components/TimeDial.tsx +260 -0
  67. package/src/components/TimeField.tsx +196 -0
  68. package/src/components/TimeInput.tsx +213 -0
  69. package/src/components/TimeSlots.tsx +83 -0
  70. package/src/components/Timeline.tsx +111 -0
  71. package/src/components/TokenDemo.tsx +378 -0
  72. package/src/components/Tree.tsx +283 -0
  73. package/src/components/TrendChart.tsx +211 -0
  74. package/src/components/breakpoints.ts +42 -0
  75. package/src/components/calendarTypes.ts +26 -0
  76. package/src/components/chartMath.ts +125 -0
  77. package/src/components/chartParts.tsx +116 -0
  78. package/src/components/codeInputRules.ts +58 -0
  79. package/src/components/date.ts +87 -0
  80. package/src/components/hooks.ts +53 -0
  81. package/src/components/index.ts +195 -0
  82. package/src/components/kanban.ts +78 -0
  83. package/src/components/motion.ts +78 -0
  84. package/src/components/places-search.tsx +73 -0
  85. package/src/components/places.ts +209 -0
  86. package/src/components/size.ts +3 -0
  87. package/src/components/time.ts +83 -0
  88. package/src/components/useFileDrop.ts +104 -0
  89. package/src/places/geoapify.ts +129 -0
  90. package/src/styles/astryx.css +5 -0
  91. package/src/styles/components/brand.css +98 -0
  92. package/src/styles/components/calendar.css +680 -0
  93. package/src/styles/components/charts.css +659 -0
  94. package/src/styles/components/code-input.css +233 -0
  95. package/src/styles/components/google.css +11 -0
  96. package/src/styles/components/message-list.css +153 -0
  97. package/src/styles/components/notification.css +350 -0
  98. package/src/styles/components/picker.css +114 -0
  99. package/src/styles/components/pill-nav.css +179 -0
  100. package/src/styles/components/responsive.css +419 -0
  101. package/src/styles/components/sticky.css +23 -0
  102. package/src/styles/components/table.css +267 -0
  103. package/src/styles/components/time.css +526 -0
  104. package/src/styles/components/timeline.css +426 -0
  105. package/src/styles/components/tree.css +269 -0
  106. package/src/styles/components.css +423 -0
  107. package/src/styles/joined.css +4 -0
  108. package/src/styles/theme.css +79 -0
  109. package/src/styles/tokens.css +338 -0
  110. package/src/theme/JoinedProvider.tsx +50 -0
  111. package/src/theme/index.ts +3 -0
  112. package/src/theme/joined.d.ts +11 -0
  113. package/src/theme/joined.js +569 -0
  114. package/src/theme/joined.theme.ts +74 -0
  115. package/src/theme/joined.variants.d.ts +16 -0
  116. package/src/theme/theme.css +786 -0
  117. package/styles/astryx.css +1 -0
  118. package/styles/components.css +1 -0
  119. package/styles/joined.css +1 -0
  120. package/styles/theme.css +1 -0
  121. package/styles/tokens.css +1 -0
  122. package/styles.css +1 -0
@@ -0,0 +1,526 @@
1
+ /* Time — dial, columns, slots, selects, and the display-only Clock. */
2
+
3
+ .os-time-input {
4
+ width: auto;
5
+ }
6
+
7
+ /* Dial */
8
+ .os-dial {
9
+ --os-dial-size: 240px;
10
+ box-sizing: border-box;
11
+ display: flex;
12
+ flex-direction: column;
13
+ gap: var(--spacing-4);
14
+ width: var(--os-dial-size);
15
+ user-select: none;
16
+ }
17
+ .os-dial-sm {
18
+ --os-dial-size: 200px;
19
+ }
20
+ .os-dial-lg {
21
+ --os-dial-size: 288px;
22
+ }
23
+ .os-dial-disabled {
24
+ opacity: 0.45;
25
+ pointer-events: none;
26
+ }
27
+
28
+ .os-dial-readout {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ gap: var(--spacing-2);
33
+ }
34
+ .os-dial-digits {
35
+ display: flex;
36
+ align-items: center;
37
+ gap: 2px;
38
+ }
39
+ .os-dial-unit {
40
+ min-width: 1.9em;
41
+ padding: var(--spacing-1) var(--spacing-2);
42
+ border: 0;
43
+ border-radius: var(--radius-element);
44
+ background: var(--color-neutral);
45
+ color: var(--color-text-secondary);
46
+ font: inherit;
47
+ font-size: calc(var(--os-dial-size) * 0.15);
48
+ font-weight: var(--font-weight-normal, 400);
49
+ line-height: 1.15;
50
+ letter-spacing: -0.02em;
51
+ font-variant-numeric: tabular-nums;
52
+ cursor: pointer;
53
+ transition:
54
+ background-color var(--duration-fast) var(--ease-standard),
55
+ color var(--duration-fast) var(--ease-standard);
56
+ }
57
+ .os-dial-unit:hover {
58
+ color: var(--color-text-primary);
59
+ }
60
+ .os-dial-unit[aria-pressed="true"] {
61
+ background: var(--color-accent-muted);
62
+ color: var(--color-text-accent);
63
+ }
64
+ .os-dial-unit:focus-visible,
65
+ .os-dial-meridiem:focus-visible {
66
+ outline: 2px solid var(--color-accent);
67
+ outline-offset: 1px;
68
+ }
69
+ .os-dial-colon {
70
+ font-size: calc(var(--os-dial-size) * 0.12);
71
+ color: var(--color-text-disabled);
72
+ }
73
+ .os-dial-meridiems {
74
+ display: flex;
75
+ flex-direction: column;
76
+ overflow: hidden;
77
+ border-radius: var(--radius-inner);
78
+ box-shadow: inset 0 0 0 1px var(--color-border-emphasized);
79
+ }
80
+ .os-dial-meridiem {
81
+ padding: var(--spacing-1) var(--spacing-2);
82
+ border: 0;
83
+ background: transparent;
84
+ color: var(--color-text-secondary);
85
+ font: inherit;
86
+ font-size: var(--font-size-sm);
87
+ font-weight: var(--font-weight-semibold, 600);
88
+ cursor: pointer;
89
+ }
90
+ .os-dial-meridiem + .os-dial-meridiem {
91
+ box-shadow: inset 0 1px 0 var(--color-border-emphasized);
92
+ }
93
+ .os-dial-meridiem[aria-pressed="true"] {
94
+ background: var(--color-accent-muted);
95
+ color: var(--color-text-accent);
96
+ }
97
+
98
+ .os-dial-face {
99
+ position: relative;
100
+ width: 100%;
101
+ aspect-ratio: 1;
102
+ border-radius: var(--radius-full);
103
+ background: var(--color-background-muted);
104
+ box-shadow: inset 0 0 0 1px var(--color-border);
105
+ cursor: pointer;
106
+ touch-action: none;
107
+ outline: none;
108
+ }
109
+ .os-dial-face:focus-visible {
110
+ box-shadow:
111
+ 0 0 0 2px var(--color-background-surface),
112
+ 0 0 0 4px var(--color-accent);
113
+ }
114
+ .os-dial-hand {
115
+ position: absolute;
116
+ inset: 0;
117
+ width: 100%;
118
+ height: 100%;
119
+ overflow: visible;
120
+ pointer-events: none;
121
+ }
122
+ .os-dial-hand g {
123
+ transform-box: view-box;
124
+ transform-origin: 50px 50px;
125
+ transition: transform var(--duration-fast) var(--ease-standard);
126
+ }
127
+ .os-dial-dragging .os-dial-hand g {
128
+ transition: none;
129
+ }
130
+ .os-dial-hand line {
131
+ stroke: var(--color-accent);
132
+ stroke-width: 0.8;
133
+ stroke-linecap: round;
134
+ }
135
+ .os-dial-knob,
136
+ .os-dial-hub {
137
+ fill: var(--color-accent);
138
+ }
139
+ .os-dial-knob-dot {
140
+ fill: var(--color-on-accent);
141
+ }
142
+ .os-dial-label {
143
+ position: absolute;
144
+ display: grid;
145
+ place-items: center;
146
+ width: 13%;
147
+ aspect-ratio: 1;
148
+ transform: translate(-50%, -50%);
149
+ border-radius: var(--radius-full);
150
+ font-size: calc(var(--os-dial-size) * 0.058);
151
+ color: var(--color-text-primary);
152
+ font-variant-numeric: tabular-nums;
153
+ pointer-events: none;
154
+ transition: color var(--duration-fast) var(--ease-standard);
155
+ }
156
+ .os-dial-label-inner {
157
+ font-size: calc(var(--os-dial-size) * 0.048);
158
+ color: var(--color-text-secondary);
159
+ }
160
+ .os-dial-label-on {
161
+ color: var(--color-on-accent);
162
+ font-weight: var(--font-weight-semibold, 600);
163
+ }
164
+
165
+ /* Columns */
166
+ .os-tcols {
167
+ --os-tcol-row: 32px;
168
+ display: flex;
169
+ gap: var(--spacing-1);
170
+ font-variant-numeric: tabular-nums;
171
+ }
172
+ .os-tcols-sm {
173
+ --os-tcol-row: 28px;
174
+ }
175
+ .os-tcols-lg {
176
+ --os-tcol-row: 40px;
177
+ }
178
+ .os-tcol {
179
+ position: relative;
180
+ display: flex;
181
+ flex-direction: column;
182
+ gap: 2px;
183
+ width: 56px;
184
+ height: calc(var(--os-tcol-row) * 6);
185
+ padding: calc(var(--os-tcol-row) * 2.5) var(--spacing-1);
186
+ box-sizing: border-box;
187
+ overflow-y: auto;
188
+ scrollbar-width: none;
189
+ border-radius: var(--radius-element);
190
+ mask-image: linear-gradient(
191
+ to bottom,
192
+ transparent,
193
+ currentColor 22%,
194
+ currentColor 78%,
195
+ transparent
196
+ );
197
+ outline: none;
198
+ }
199
+ .os-tcol::-webkit-scrollbar {
200
+ display: none;
201
+ }
202
+ .os-tcol:focus-visible {
203
+ box-shadow: inset 0 0 0 2px var(--color-accent);
204
+ }
205
+ .os-tcol-option {
206
+ flex: none;
207
+ height: var(--os-tcol-row);
208
+ border: 0;
209
+ border-radius: var(--radius-inner);
210
+ background: transparent;
211
+ color: var(--color-text-secondary);
212
+ font: inherit;
213
+ font-size: var(--font-size-base);
214
+ cursor: pointer;
215
+ transition:
216
+ background-color var(--duration-fast) var(--ease-standard),
217
+ color var(--duration-fast) var(--ease-standard);
218
+ }
219
+ .os-tcol-option:hover {
220
+ background: var(--color-overlay-hover);
221
+ color: var(--color-text-primary);
222
+ }
223
+ .os-tcol-option[aria-selected="true"] {
224
+ background: var(--color-accent);
225
+ color: var(--color-on-accent);
226
+ font-weight: var(--font-weight-semibold, 600);
227
+ }
228
+
229
+ .os-time-input-columns .os-tcols {
230
+ width: fit-content;
231
+ padding: var(--spacing-1);
232
+ border-radius: var(--radius-container);
233
+ background: var(--color-background-surface);
234
+ box-shadow:
235
+ 0 0 0 1px var(--color-border),
236
+ var(--shadow-low, var(--elevation-1));
237
+ }
238
+
239
+ /* Slots */
240
+ .os-slots {
241
+ display: flex;
242
+ flex-direction: column;
243
+ gap: var(--spacing-4);
244
+ width: 100%;
245
+ max-width: 380px;
246
+ }
247
+ .os-slots-group {
248
+ display: flex;
249
+ flex-direction: column;
250
+ gap: var(--spacing-2);
251
+ }
252
+ .os-slots-heading {
253
+ margin: 0;
254
+ font-size: var(--font-size-sm);
255
+ font-weight: var(--font-weight-semibold, 600);
256
+ color: var(--color-text-secondary);
257
+ }
258
+ .os-slots-grid {
259
+ display: grid;
260
+ grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
261
+ gap: var(--spacing-2);
262
+ }
263
+ .os-slot {
264
+ height: 36px;
265
+ border: 0;
266
+ border-radius: var(--radius-element);
267
+ background: var(--color-background-surface);
268
+ box-shadow: inset 0 0 0 1px var(--color-border-emphasized);
269
+ color: var(--color-text-primary);
270
+ font: inherit;
271
+ font-size: var(--font-size-sm);
272
+ font-weight: var(--font-weight-medium, 500);
273
+ font-variant-numeric: tabular-nums;
274
+ cursor: pointer;
275
+ transition:
276
+ background-color var(--duration-fast) var(--ease-standard),
277
+ box-shadow var(--duration-fast) var(--ease-standard),
278
+ color var(--duration-fast) var(--ease-standard);
279
+ }
280
+ .os-slots-sm .os-slot {
281
+ height: 30px;
282
+ }
283
+ .os-slots-lg .os-slot {
284
+ height: 44px;
285
+ font-size: var(--font-size-base);
286
+ }
287
+ .os-slot:hover {
288
+ box-shadow: inset 0 0 0 1.5px var(--color-accent);
289
+ color: var(--color-text-accent);
290
+ }
291
+ .os-slot:focus-visible {
292
+ outline: 2px solid var(--color-accent);
293
+ outline-offset: 2px;
294
+ }
295
+ .os-slot[aria-checked="true"] {
296
+ background: var(--color-accent);
297
+ color: var(--color-on-accent);
298
+ box-shadow: none;
299
+ }
300
+ .os-slot:disabled {
301
+ background: transparent;
302
+ box-shadow: inset 0 0 0 1px var(--color-border);
303
+ color: var(--color-text-disabled);
304
+ text-decoration: line-through;
305
+ cursor: not-allowed;
306
+ }
307
+
308
+ /* Native selects */
309
+ .os-time-selects {
310
+ display: inline-flex;
311
+ align-items: center;
312
+ gap: var(--spacing-1);
313
+ }
314
+ .os-time-select {
315
+ position: relative;
316
+ padding: 0;
317
+ }
318
+ .os-time-select select {
319
+ appearance: none;
320
+ height: 100%;
321
+ min-height: inherit;
322
+ padding: 0 28px 0 var(--spacing-3);
323
+ border: 0;
324
+ background: transparent;
325
+ color: var(--color-text-primary);
326
+ font: inherit;
327
+ font-size: var(--font-size-base);
328
+ font-variant-numeric: tabular-nums;
329
+ cursor: pointer;
330
+ outline: none;
331
+ }
332
+ .os-time-select::after {
333
+ content: "";
334
+ position: absolute;
335
+ right: 12px;
336
+ top: 50%;
337
+ width: 5px;
338
+ height: 5px;
339
+ border-right: 1.5px solid var(--color-icon-secondary);
340
+ border-bottom: 1.5px solid var(--color-icon-secondary);
341
+ transform: translateY(-70%) rotate(45deg);
342
+ pointer-events: none;
343
+ }
344
+
345
+ /* Clock — display only */
346
+ .os-clock {
347
+ --os-clock-size: 128px;
348
+ display: inline-flex;
349
+ flex-direction: column;
350
+ align-items: center;
351
+ gap: var(--spacing-2);
352
+ margin: 0;
353
+ color: var(--color-text-primary);
354
+ }
355
+ .os-clock-sm {
356
+ --os-clock-size: 88px;
357
+ }
358
+ .os-clock-lg {
359
+ --os-clock-size: 184px;
360
+ }
361
+ .os-clock-face {
362
+ display: block;
363
+ width: var(--os-clock-size);
364
+ height: var(--os-clock-size);
365
+ }
366
+ .os-clock-face-empty {
367
+ border-radius: var(--radius-full);
368
+ background: var(--color-skeleton);
369
+ }
370
+ .os-clock-rim {
371
+ fill: var(--color-background-surface);
372
+ stroke: var(--color-border);
373
+ stroke-width: 1;
374
+ }
375
+ .os-clock-minimal .os-clock-rim {
376
+ fill: var(--color-background-muted);
377
+ stroke: var(--color-border);
378
+ }
379
+ .os-clock-mark,
380
+ .os-clock-hour,
381
+ .os-clock-minute,
382
+ .os-clock-second {
383
+ transform-box: view-box;
384
+ transform-origin: 50px 50px;
385
+ stroke-linecap: round;
386
+ }
387
+ .os-clock-mark {
388
+ stroke: var(--color-border-emphasized);
389
+ stroke-width: 0.6;
390
+ }
391
+ .os-clock-mark-major {
392
+ stroke: var(--color-text-secondary);
393
+ stroke-width: 1.2;
394
+ }
395
+ .os-clock-minimal .os-clock-mark-major {
396
+ stroke: var(--color-text-disabled);
397
+ stroke-width: 1.6;
398
+ }
399
+ .os-clock-numeral {
400
+ fill: var(--color-text-primary);
401
+ font-family: var(--font-family-body);
402
+ font-size: 7px;
403
+ font-weight: var(--font-weight-medium, 500);
404
+ text-anchor: middle;
405
+ dominant-baseline: central;
406
+ }
407
+ .os-clock-hour {
408
+ stroke: var(--color-text-primary);
409
+ stroke-width: 2.6;
410
+ }
411
+ .os-clock-minute {
412
+ stroke: var(--color-text-primary);
413
+ stroke-width: 1.6;
414
+ }
415
+ .os-clock-second {
416
+ stroke: var(--color-accent);
417
+ stroke-width: 0.9;
418
+ }
419
+ .os-clock-pin {
420
+ fill: var(--color-accent);
421
+ stroke: var(--color-background-surface);
422
+ stroke-width: 1;
423
+ }
424
+ .os-clock-caption {
425
+ display: flex;
426
+ flex-direction: column;
427
+ align-items: center;
428
+ }
429
+ .os-clock-label {
430
+ font-size: var(--font-size-sm);
431
+ font-weight: var(--font-weight-semibold, 600);
432
+ }
433
+ .os-clock-small {
434
+ font-size: var(--font-size-sm);
435
+ color: var(--color-text-secondary);
436
+ font-variant-numeric: tabular-nums;
437
+ }
438
+
439
+ .os-clock-digital {
440
+ align-items: flex-start;
441
+ gap: var(--spacing-1);
442
+ padding: var(--spacing-4) var(--spacing-5);
443
+ border-radius: var(--radius-container);
444
+ background: var(--color-background-surface);
445
+ box-shadow:
446
+ 0 0 0 1px var(--color-border),
447
+ var(--shadow-low, var(--elevation-1));
448
+ }
449
+ .os-clock-digital .os-clock-digits {
450
+ display: flex;
451
+ align-items: flex-start;
452
+ font-size: calc(var(--os-clock-size) * 0.38);
453
+ font-weight: var(--font-weight-normal, 400);
454
+ line-height: 1;
455
+ letter-spacing: -0.03em;
456
+ font-variant-numeric: tabular-nums;
457
+ }
458
+ .os-clock-colon {
459
+ margin: 0 0.04em;
460
+ color: var(--color-text-disabled);
461
+ }
462
+ .os-clock-live .os-clock-colon {
463
+ animation: os-clock-breathe 2s ease-in-out infinite;
464
+ }
465
+ @keyframes os-clock-breathe {
466
+ 50% {
467
+ opacity: 0.25;
468
+ }
469
+ }
470
+ .os-clock-tail {
471
+ display: flex;
472
+ flex-direction: column;
473
+ gap: 2px;
474
+ margin-left: var(--spacing-2);
475
+ padding-top: 0.2em;
476
+ font-size: max(var(--font-size-xs, 0.625rem), calc(var(--os-clock-size) * 0.1));
477
+ font-weight: var(--font-weight-semibold, 600);
478
+ letter-spacing: 0;
479
+ }
480
+ .os-clock-meridiem {
481
+ color: var(--color-text-secondary);
482
+ }
483
+ .os-clock-seconds {
484
+ color: var(--color-accent);
485
+ }
486
+ .os-clock-digital .os-clock-label {
487
+ font-weight: var(--font-weight-normal, 400);
488
+ color: var(--color-text-secondary);
489
+ }
490
+
491
+ .os-clock-compact {
492
+ flex-direction: row;
493
+ gap: var(--spacing-2);
494
+ height: 28px;
495
+ padding: 0 var(--spacing-3) 0 var(--spacing-2-5, 10px);
496
+ border-radius: var(--radius-full);
497
+ background: var(--color-neutral);
498
+ font-size: var(--font-size-sm);
499
+ }
500
+ .os-clock-pulse {
501
+ width: 6px;
502
+ height: 6px;
503
+ border-radius: var(--radius-full);
504
+ background: var(--color-success);
505
+ box-shadow: 0 0 0 3px var(--color-success-muted);
506
+ }
507
+ .os-clock-compact .os-clock-digits {
508
+ font-weight: var(--font-weight-semibold, 600);
509
+ font-variant-numeric: tabular-nums;
510
+ }
511
+ .os-clock-compact .os-clock-meridiem {
512
+ font-weight: var(--font-weight-normal, 400);
513
+ }
514
+ .os-clock-compact .os-clock-label {
515
+ font-weight: var(--font-weight-normal, 400);
516
+ color: var(--color-text-secondary);
517
+ }
518
+
519
+ @media (prefers-reduced-motion: reduce) {
520
+ .os-dial-hand g {
521
+ transition: none;
522
+ }
523
+ .os-clock-live .os-clock-colon {
524
+ animation: none;
525
+ }
526
+ }