@celestia-island/hikari 0.4.4

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 (187) hide show
  1. package/README.md +54 -0
  2. package/package.json +63 -0
  3. package/src/DemoApp.vue +400 -0
  4. package/src/components/HkActionBar.tsx +15 -0
  5. package/src/components/HkAlert.scss +121 -0
  6. package/src/components/HkAlert.tsx +85 -0
  7. package/src/components/HkAvatar.tsx +29 -0
  8. package/src/components/HkBadge.scss +117 -0
  9. package/src/components/HkBadge.tsx +50 -0
  10. package/src/components/HkBreadcrumb.tsx +39 -0
  11. package/src/components/HkButton.scss +128 -0
  12. package/src/components/HkButton.tsx +74 -0
  13. package/src/components/HkCard.scss +49 -0
  14. package/src/components/HkCard.tsx +38 -0
  15. package/src/components/HkCheckbox.scss +102 -0
  16. package/src/components/HkCheckbox.tsx +85 -0
  17. package/src/components/HkCollapse.tsx +48 -0
  18. package/src/components/HkColorPicker.scss +148 -0
  19. package/src/components/HkColorPicker.tsx +204 -0
  20. package/src/components/HkConfirmDialog.scss +12 -0
  21. package/src/components/HkConfirmDialog.tsx +75 -0
  22. package/src/components/HkDateTimePicker.scss +361 -0
  23. package/src/components/HkDateTimePicker.tsx +424 -0
  24. package/src/components/HkDivider.scss +85 -0
  25. package/src/components/HkDivider.tsx +51 -0
  26. package/src/components/HkDraggableGrid.scss +132 -0
  27. package/src/components/HkDraggableGrid.tsx +291 -0
  28. package/src/components/HkDraggableList.scss +110 -0
  29. package/src/components/HkDraggableList.tsx +238 -0
  30. package/src/components/HkDrawer.scss +175 -0
  31. package/src/components/HkDrawer.tsx +171 -0
  32. package/src/components/HkEmptyState.scss +42 -0
  33. package/src/components/HkEmptyState.tsx +41 -0
  34. package/src/components/HkErrorBoundary.scss +64 -0
  35. package/src/components/HkErrorBoundary.tsx +82 -0
  36. package/src/components/HkGaugeRing.scss +4 -0
  37. package/src/components/HkGaugeRing.tsx +130 -0
  38. package/src/components/HkHoverRevealAction.scss +66 -0
  39. package/src/components/HkHoverRevealAction.tsx +77 -0
  40. package/src/components/HkIcon.tsx +43 -0
  41. package/src/components/HkIconButton.tsx +42 -0
  42. package/src/components/HkImageViewer.scss +33 -0
  43. package/src/components/HkImageViewer.tsx +250 -0
  44. package/src/components/HkInput.scss +172 -0
  45. package/src/components/HkInput.tsx +175 -0
  46. package/src/components/HkKbd.tsx +26 -0
  47. package/src/components/HkKeywordSearchModal.scss +148 -0
  48. package/src/components/HkKeywordSearchModal.tsx +308 -0
  49. package/src/components/HkListTransition.scss +131 -0
  50. package/src/components/HkListTransition.tsx +29 -0
  51. package/src/components/HkLocalePickerPopup.tsx +42 -0
  52. package/src/components/HkLogo.scss +36 -0
  53. package/src/components/HkLogo.tsx +93 -0
  54. package/src/components/HkMarkdownRenderer.scss +141 -0
  55. package/src/components/HkMarkdownRenderer.tsx +123 -0
  56. package/src/components/HkMediaControlBar.scss +65 -0
  57. package/src/components/HkMediaControlBar.tsx +115 -0
  58. package/src/components/HkMediaPlayer.scss +29 -0
  59. package/src/components/HkMediaPlayer.tsx +210 -0
  60. package/src/components/HkMediaSlider.scss +54 -0
  61. package/src/components/HkMediaSlider.tsx +81 -0
  62. package/src/components/HkMediaVisualizer.scss +7 -0
  63. package/src/components/HkMediaVisualizer.tsx +119 -0
  64. package/src/components/HkMinimap.scss +76 -0
  65. package/src/components/HkMinimap.tsx +255 -0
  66. package/src/components/HkModal.scss +318 -0
  67. package/src/components/HkModal.tsx +481 -0
  68. package/src/components/HkModalBreadcrumb.scss +55 -0
  69. package/src/components/HkModalBreadcrumb.tsx +113 -0
  70. package/src/components/HkMorphingTabs.scss +141 -0
  71. package/src/components/HkMorphingTabs.tsx +113 -0
  72. package/src/components/HkNavItem.scss +81 -0
  73. package/src/components/HkNavItem.tsx +157 -0
  74. package/src/components/HkNumberInput.scss +154 -0
  75. package/src/components/HkNumberInput.tsx +161 -0
  76. package/src/components/HkPasswordInput.scss +289 -0
  77. package/src/components/HkPasswordInput.tsx +533 -0
  78. package/src/components/HkPhaseTransition.scss +25 -0
  79. package/src/components/HkPhaseTransition.tsx +40 -0
  80. package/src/components/HkPopover.scss +82 -0
  81. package/src/components/HkPopover.tsx +410 -0
  82. package/src/components/HkPopupSelect.scss +136 -0
  83. package/src/components/HkPopupSelect.tsx +199 -0
  84. package/src/components/HkProgressBar.scss +106 -0
  85. package/src/components/HkProgressBar.tsx +61 -0
  86. package/src/components/HkProgressDialog.tsx +67 -0
  87. package/src/components/HkProgressRing.scss +56 -0
  88. package/src/components/HkProgressRing.tsx +82 -0
  89. package/src/components/HkRadio.scss +119 -0
  90. package/src/components/HkRadio.tsx +75 -0
  91. package/src/components/HkRollingNumber.scss +37 -0
  92. package/src/components/HkRollingNumber.tsx +97 -0
  93. package/src/components/HkScrollContainer.scss +101 -0
  94. package/src/components/HkScrollContainer.tsx +362 -0
  95. package/src/components/HkSearchInput.scss +132 -0
  96. package/src/components/HkSearchInput.tsx +117 -0
  97. package/src/components/HkSelect.scss +143 -0
  98. package/src/components/HkSelect.tsx +230 -0
  99. package/src/components/HkSelectionGrid.scss +177 -0
  100. package/src/components/HkSelectionGrid.tsx +99 -0
  101. package/src/components/HkSelectionWaterfall.scss +93 -0
  102. package/src/components/HkSelectionWaterfall.tsx +90 -0
  103. package/src/components/HkSidebar.scss +81 -0
  104. package/src/components/HkSidebar.tsx +45 -0
  105. package/src/components/HkSkeleton.scss +44 -0
  106. package/src/components/HkSkeleton.tsx +30 -0
  107. package/src/components/HkSkeletonList.tsx +35 -0
  108. package/src/components/HkSpinner.scss +67 -0
  109. package/src/components/HkSpinner.tsx +41 -0
  110. package/src/components/HkSplash.scss +60 -0
  111. package/src/components/HkSplash.tsx +40 -0
  112. package/src/components/HkSwitch.scss +157 -0
  113. package/src/components/HkSwitch.tsx +72 -0
  114. package/src/components/HkTable.scss +198 -0
  115. package/src/components/HkTable.tsx +246 -0
  116. package/src/components/HkTabs.scss +109 -0
  117. package/src/components/HkTabs.tsx +111 -0
  118. package/src/components/HkTag.scss +88 -0
  119. package/src/components/HkTag.tsx +44 -0
  120. package/src/components/HkTextarea.scss +72 -0
  121. package/src/components/HkTextarea.tsx +104 -0
  122. package/src/components/HkTimeline.scss +139 -0
  123. package/src/components/HkTimeline.tsx +95 -0
  124. package/src/components/HkToast.scss +168 -0
  125. package/src/components/HkToast.tsx +175 -0
  126. package/src/components/HkTooltip.scss +47 -0
  127. package/src/components/HkTooltip.tsx +108 -0
  128. package/src/components/HkTree.scss +188 -0
  129. package/src/components/HkTree.tsx +217 -0
  130. package/src/components/HkTrendChart.tsx +180 -0
  131. package/src/components/HkWindowedItem.scss +17 -0
  132. package/src/components/HkWindowedItem.tsx +107 -0
  133. package/src/components/HkZoomToolbar.scss +35 -0
  134. package/src/components/HkZoomToolbar.tsx +69 -0
  135. package/src/composables/useBreakpoint.ts +41 -0
  136. package/src/composables/useClipboard.ts +37 -0
  137. package/src/composables/useConfirm.ts +35 -0
  138. package/src/composables/useProgressDialog.ts +52 -0
  139. package/src/composables/useReportedTransition.ts +69 -0
  140. package/src/composables/useScrollWindow.ts +21 -0
  141. package/src/composables/useToast.ts +2 -0
  142. package/src/demo.scss +24 -0
  143. package/src/demo.ts +22 -0
  144. package/src/env.d.ts +6 -0
  145. package/src/i18n/context.ts +89 -0
  146. package/src/i18n/locales/ar/components.json +43 -0
  147. package/src/i18n/locales/ar/components.toml +40 -0
  148. package/src/i18n/locales/de/components.json +43 -0
  149. package/src/i18n/locales/de/components.toml +40 -0
  150. package/src/i18n/locales/en/components.json +43 -0
  151. package/src/i18n/locales/en/components.toml +40 -0
  152. package/src/i18n/locales/es/components.json +43 -0
  153. package/src/i18n/locales/es/components.toml +40 -0
  154. package/src/i18n/locales/fr/components.json +43 -0
  155. package/src/i18n/locales/fr/components.toml +40 -0
  156. package/src/i18n/locales/ja/components.json +43 -0
  157. package/src/i18n/locales/ja/components.toml +40 -0
  158. package/src/i18n/locales/ko/components.json +43 -0
  159. package/src/i18n/locales/ko/components.toml +40 -0
  160. package/src/i18n/locales/pt/components.json +43 -0
  161. package/src/i18n/locales/pt/components.toml +40 -0
  162. package/src/i18n/locales/ru/components.json +43 -0
  163. package/src/i18n/locales/ru/components.toml +40 -0
  164. package/src/i18n/locales/zh-Hans/components.json +43 -0
  165. package/src/i18n/locales/zh-Hans/components.toml +40 -0
  166. package/src/i18n/locales/zh-Hant/components.json +43 -0
  167. package/src/i18n/locales/zh-Hant/components.toml +40 -0
  168. package/src/index.ts +137 -0
  169. package/src/render.ts +18 -0
  170. package/src/runtime/animationBus.ts +278 -0
  171. package/src/runtime/cronBus.ts +25 -0
  172. package/src/runtime/index.ts +12 -0
  173. package/src/runtime/useAsyncData.ts +30 -0
  174. package/src/runtime/useBreakpoint.ts +62 -0
  175. package/src/runtime/useClipboard.ts +37 -0
  176. package/src/runtime/useConfirm.ts +35 -0
  177. package/src/runtime/useOverlay.ts +82 -0
  178. package/src/runtime/usePopupManager.ts +89 -0
  179. package/src/runtime/useToast.ts +140 -0
  180. package/src/styles/index.scss +10 -0
  181. package/src/theme/index.ts +5 -0
  182. package/src/theme/presets.ts +307 -0
  183. package/src/theme/theme.scss +17 -0
  184. package/src/theme/useBackgroundLuminance.ts +145 -0
  185. package/src/theme/useSolarTime.ts +101 -0
  186. package/src/theme/useTheme.ts +141 -0
  187. package/src/tokens.scss +26 -0
@@ -0,0 +1,361 @@
1
+ .hk-dtp {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: var(--hi-space-8, 8px);
5
+ user-select: none;
6
+ }
7
+
8
+ .hk-dtp-header {
9
+ display: grid;
10
+ grid-template-columns: 1fr auto 1fr;
11
+ align-items: center;
12
+ gap: var(--hi-space-8, 8px);
13
+ }
14
+
15
+ .hk-dtp-header-side {
16
+ display: flex;
17
+ align-items: center;
18
+ gap: var(--hi-space-2, 2px);
19
+ min-width: 0;
20
+ }
21
+
22
+ .hk-dtp-header-side[data-side="right"] {
23
+ justify-content: flex-end;
24
+ }
25
+
26
+ .hk-dtp-title {
27
+ font-size: var(--hi-text-sm, 0.875rem);
28
+ font-weight: 600;
29
+ color: var(--hi-color-text-primary);
30
+ font-variant-numeric: tabular-nums;
31
+ text-align: center;
32
+ display: flex;
33
+ align-items: center;
34
+ justify-content: center;
35
+ gap: var(--hi-space-4, 4px);
36
+ }
37
+
38
+ .hk-dtp-title-btn {
39
+ appearance: none;
40
+ background: transparent;
41
+ border: 0;
42
+ padding: var(--hi-space-2, 2px) var(--hi-space-4, 4px);
43
+ font: inherit;
44
+ font-weight: 600;
45
+ color: inherit;
46
+ cursor: pointer;
47
+ border-radius: var(--hi-radius-sm, 4px);
48
+ transition: background var(--hi-duration-fast, 0.15s) ease, color var(--hi-duration-fast, 0.15s) ease;
49
+
50
+ &:hover {
51
+ background: var(--hi-color-surface);
52
+ color: var(--hi-color-primary);
53
+ }
54
+
55
+ &:focus-visible {
56
+ outline: 2px solid color-mix(in srgb, var(--hi-color-primary) 55%, transparent);
57
+ outline-offset: 1px;
58
+ }
59
+ }
60
+
61
+ .hk-dtp-nav,
62
+ .hk-dtp-back {
63
+ appearance: none;
64
+ background: transparent;
65
+ border: 0;
66
+ width: 1.75rem;
67
+ height: 1.75rem;
68
+ border-radius: var(--hi-radius-sm, 4px);
69
+ color: var(--hi-color-muted);
70
+ cursor: pointer;
71
+ display: inline-flex;
72
+ align-items: center;
73
+ justify-content: center;
74
+ transition: background var(--hi-duration-fast, 0.15s) ease, color var(--hi-duration-fast, 0.15s) ease;
75
+
76
+ &:hover {
77
+ background: var(--hi-color-surface);
78
+ color: var(--hi-color-text-primary);
79
+ }
80
+
81
+ &:focus-visible {
82
+ outline: 2px solid color-mix(in srgb, var(--hi-color-primary) 55%, transparent);
83
+ outline-offset: 1px;
84
+ }
85
+ }
86
+
87
+ .hk-dtp-weekdays,
88
+ .hk-dtp-grid {
89
+ display: grid;
90
+ grid-template-columns: repeat(7, 1fr);
91
+ gap: 2px;
92
+ }
93
+
94
+ .hk-dtp-wd {
95
+ text-align: center;
96
+ font-size: var(--hi-text-xs, 0.75rem);
97
+ font-weight: 600;
98
+ color: var(--hi-color-muted);
99
+ padding: var(--hi-space-2, 2px) 0;
100
+ text-transform: uppercase;
101
+ letter-spacing: 0.02em;
102
+ }
103
+
104
+ .hk-dtp-cell {
105
+ position: relative;
106
+ appearance: none;
107
+ background: transparent;
108
+ border: 0;
109
+ border-radius: var(--hi-radius-sm, 4px);
110
+ aspect-ratio: 1 / 1;
111
+ min-height: 2rem;
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: center;
115
+ color: color-mix(in srgb, var(--hi-color-text-secondary) 70%, transparent);
116
+ cursor: pointer;
117
+ font-size: var(--hi-text-xs, 0.75rem);
118
+ font-variant-numeric: tabular-nums;
119
+ transition: background var(--hi-duration-fast, 0.15s) ease, color var(--hi-duration-fast, 0.15s) ease;
120
+
121
+ &:hover:not(:disabled):not(.is-selected) {
122
+ background: var(--hi-color-surface);
123
+ color: var(--hi-color-text-primary);
124
+ }
125
+
126
+ &:focus-visible {
127
+ outline: 2px solid color-mix(in srgb, var(--hi-color-primary) 55%, transparent);
128
+ outline-offset: -1px;
129
+ }
130
+
131
+ &.is-out {
132
+ opacity: 0.32;
133
+ }
134
+
135
+ &.is-disabled {
136
+ cursor: default;
137
+ opacity: 0.25;
138
+ &:hover { background: transparent; }
139
+ }
140
+
141
+ &.is-today:not(.is-selected) {
142
+ font-weight: 700;
143
+ color: var(--hi-color-text-primary);
144
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hi-color-primary) 55%, transparent);
145
+ }
146
+
147
+ &.is-selected {
148
+ background: var(--hi-color-primary);
149
+ color: var(--hi-color-text-on-primary);
150
+ font-weight: 600;
151
+ &:hover { background: var(--hi-color-primary); }
152
+ }
153
+ }
154
+
155
+ .hk-dtp-cell-num {
156
+ line-height: 1;
157
+ }
158
+
159
+ /* ── Month / year pick panes ───────────────────── */
160
+
161
+ .hk-dtp-grid[data-variant="pick"] {
162
+ grid-template-columns: repeat(4, 1fr);
163
+ }
164
+
165
+ .hk-dtp-cell[data-variant="pick"] {
166
+ aspect-ratio: auto;
167
+ height: 2.5rem;
168
+ font-size: var(--hi-text-xs, 0.75rem);
169
+ font-weight: 500;
170
+ }
171
+
172
+ /* ── Pane cross-fade ───────────────────────────── */
173
+
174
+ .hk-dtp-stage {
175
+ position: relative;
176
+ }
177
+
178
+ .hk-dtp-pane {
179
+ display: flex;
180
+ flex-direction: column;
181
+ }
182
+
183
+ .hk-dtp-pane-enter-active,
184
+ .hk-dtp-pane-leave-active {
185
+ transition: opacity 0.15s ease;
186
+ will-change: opacity;
187
+ }
188
+
189
+ .hk-dtp-pane-enter-from,
190
+ .hk-dtp-pane-leave-to {
191
+ opacity: 0;
192
+ }
193
+
194
+ .hk-dtp-pane-leave-active {
195
+ position: absolute;
196
+ inset: 0;
197
+ }
198
+
199
+ /* Dot under marked days */
200
+
201
+ .hk-dtp-cell-dot {
202
+ position: absolute;
203
+ bottom: 3px;
204
+ left: 50%;
205
+ transform: translateX(-50%);
206
+ width: 4px;
207
+ height: 4px;
208
+ border-radius: 50%;
209
+ background: color-mix(in srgb, var(--hi-color-primary) 70%, transparent);
210
+ pointer-events: none;
211
+ }
212
+
213
+ /* ── Time stepper + Today ──────────────────────── */
214
+
215
+ .hk-dtp-time {
216
+ display: flex;
217
+ align-items: center;
218
+ justify-content: center;
219
+ gap: var(--hi-space-10, 10px);
220
+ padding-top: var(--hi-space-8, 8px);
221
+ margin-top: var(--hi-space-2, 2px);
222
+ border-top: 1px solid color-mix(in srgb, var(--hi-color-border) 10%, transparent);
223
+ }
224
+
225
+ .hk-dtp-step {
226
+ display: flex;
227
+ flex-direction: column;
228
+ align-items: center;
229
+ gap: 1px;
230
+ }
231
+
232
+ .hk-dtp-step-btn {
233
+ appearance: none;
234
+ background: transparent;
235
+ border: 0;
236
+ width: 1.5rem;
237
+ height: 1rem;
238
+ display: flex;
239
+ align-items: center;
240
+ justify-content: center;
241
+ color: var(--hi-color-muted);
242
+ cursor: pointer;
243
+ border-radius: var(--hi-radius-sm, 4px);
244
+ transition: color var(--hi-duration-fast, 0.15s) ease, background var(--hi-duration-fast, 0.15s) ease;
245
+
246
+ &:hover {
247
+ color: var(--hi-color-text-primary);
248
+ background: var(--hi-color-surface);
249
+ }
250
+ }
251
+
252
+ .hk-dtp-step-val {
253
+ font-size: var(--hi-text-base, 1rem);
254
+ font-variant-numeric: tabular-nums;
255
+ min-width: 1.75rem;
256
+ text-align: center;
257
+ color: var(--hi-color-text-primary);
258
+ line-height: 1.1;
259
+ }
260
+
261
+ .hk-dtp-time-sep {
262
+ font-size: var(--hi-text-base, 1rem);
263
+ color: var(--hi-color-muted);
264
+ padding-top: var(--hi-space-10, 10px);
265
+ }
266
+
267
+ .hk-dtp-today {
268
+ margin-left: var(--hi-space-4, 4px);
269
+ appearance: none;
270
+ background: transparent;
271
+ border: 1px solid color-mix(in srgb, var(--hi-color-border) 18%, transparent);
272
+ border-radius: var(--hi-radius-sm, 4px);
273
+ padding: var(--hi-space-4, 4px) var(--hi-space-10, 10px);
274
+ font-size: var(--hi-text-xs, 0.75rem);
275
+ font-weight: 600;
276
+ color: var(--hi-color-muted);
277
+ cursor: pointer;
278
+ align-self: center;
279
+ transition: color var(--hi-duration-fast, 0.15s) ease, border-color var(--hi-duration-fast, 0.15s) ease;
280
+
281
+ &:hover {
282
+ color: var(--hi-color-text-primary);
283
+ border-color: color-mix(in srgb, var(--hi-color-primary) 50%, transparent);
284
+ }
285
+ }
286
+
287
+ /* ── Popup mode ────────────────────────────────── */
288
+
289
+ .hk-dtp-trigger-wrap {
290
+ display: inline-flex;
291
+ cursor: pointer;
292
+ }
293
+
294
+ .hk-dtp-trigger {
295
+ appearance: none;
296
+ display: inline-flex;
297
+ align-items: center;
298
+ gap: var(--hi-space-6, 6px);
299
+ padding: var(--hi-space-4, 4px) var(--hi-space-10, 10px);
300
+ background: var(--hi-color-surface);
301
+ border: 1px solid color-mix(in srgb, var(--hi-color-border) 18%, transparent);
302
+ border-radius: var(--hi-radius-sm, 4px);
303
+ color: color-mix(in srgb, var(--hi-color-text-secondary) 70%, transparent);
304
+ font-size: var(--hi-text-xs, 0.75rem);
305
+ font-variant-numeric: tabular-nums;
306
+ cursor: pointer;
307
+ transition: border-color var(--hi-duration-fast, 0.15s) ease, color var(--hi-duration-fast, 0.15s) ease;
308
+
309
+ &:hover,
310
+ &[aria-expanded="true"] {
311
+ border-color: color-mix(in srgb, var(--hi-color-primary) 50%, transparent);
312
+ color: var(--hi-color-text-primary);
313
+ }
314
+ }
315
+
316
+ .hk-dtp-trigger-icon {
317
+ color: var(--hi-color-muted);
318
+ flex-shrink: 0;
319
+ }
320
+
321
+ .hk-dtp-trigger-val {
322
+ white-space: nowrap;
323
+ }
324
+
325
+ .hk-dtp-trigger-chev {
326
+ color: var(--hi-color-muted);
327
+ transition: transform var(--hi-duration-fast, 0.15s) ease;
328
+ }
329
+
330
+ .hk-dtp-trigger-chev.is-open {
331
+ transform: rotate(180deg);
332
+ }
333
+
334
+ .hk-dtp-popup {
335
+ padding: var(--hi-space-8, 8px);
336
+ min-width: 260px;
337
+ }
338
+
339
+ .hk-dtp-popup-foot {
340
+ display: flex;
341
+ justify-content: flex-end;
342
+ padding: var(--hi-space-8, 8px) var(--hi-space-2, 2px) var(--hi-space-2, 2px);
343
+ margin-top: var(--hi-space-8, 8px);
344
+ border-top: 1px solid color-mix(in srgb, var(--hi-color-border) 10%, transparent);
345
+ }
346
+
347
+ .hk-dtp-popup-confirm {
348
+ appearance: none;
349
+ background: var(--hi-color-primary);
350
+ color: var(--hi-color-text-on-primary);
351
+ border: 0;
352
+ border-radius: var(--hi-radius-sm, 4px);
353
+ padding: var(--hi-space-6, 6px) var(--hi-space-14, 14px);
354
+ font-size: var(--hi-text-xs, 0.75rem);
355
+ font-weight: 600;
356
+ cursor: pointer;
357
+ transition: filter var(--hi-duration-fast, 0.15s) ease;
358
+
359
+ &:hover { filter: brightness(1.08); }
360
+ &:focus-visible { outline: 2px solid color-mix(in srgb, var(--hi-color-primary) 55%, transparent); outline-offset: 2px; }
361
+ }