@hjmds/react 0.8.2

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 (135) hide show
  1. package/README.md +146 -0
  2. package/dist/actions.d.ts +61 -0
  3. package/dist/actions.d.ts.map +1 -0
  4. package/dist/actions.js +54 -0
  5. package/dist/actions.js.map +1 -0
  6. package/dist/advanced-display.d.ts +133 -0
  7. package/dist/advanced-display.d.ts.map +1 -0
  8. package/dist/advanced-display.js +201 -0
  9. package/dist/advanced-display.js.map +1 -0
  10. package/dist/advanced-forms.d.ts +116 -0
  11. package/dist/advanced-forms.d.ts.map +1 -0
  12. package/dist/advanced-forms.js +234 -0
  13. package/dist/advanced-forms.js.map +1 -0
  14. package/dist/advanced-navigation.d.ts +24 -0
  15. package/dist/advanced-navigation.d.ts.map +1 -0
  16. package/dist/advanced-navigation.js +25 -0
  17. package/dist/advanced-navigation.js.map +1 -0
  18. package/dist/bottom-navigation.d.ts +37 -0
  19. package/dist/bottom-navigation.d.ts.map +1 -0
  20. package/dist/bottom-navigation.js +132 -0
  21. package/dist/bottom-navigation.js.map +1 -0
  22. package/dist/date-picker.d.ts +24 -0
  23. package/dist/date-picker.d.ts.map +1 -0
  24. package/dist/date-picker.js +81 -0
  25. package/dist/date-picker.js.map +1 -0
  26. package/dist/display-public.d.ts +5 -0
  27. package/dist/display-public.d.ts.map +1 -0
  28. package/dist/display-public.js +5 -0
  29. package/dist/display-public.js.map +1 -0
  30. package/dist/display.d.ts +77 -0
  31. package/dist/display.d.ts.map +1 -0
  32. package/dist/display.js +51 -0
  33. package/dist/display.js.map +1 -0
  34. package/dist/evidence.d.ts +940 -0
  35. package/dist/evidence.d.ts.map +1 -0
  36. package/dist/evidence.js +98 -0
  37. package/dist/evidence.js.map +1 -0
  38. package/dist/feedback.d.ts +89 -0
  39. package/dist/feedback.d.ts.map +1 -0
  40. package/dist/feedback.js +41 -0
  41. package/dist/feedback.js.map +1 -0
  42. package/dist/file-picker.d.ts +30 -0
  43. package/dist/file-picker.d.ts.map +1 -0
  44. package/dist/file-picker.js +40 -0
  45. package/dist/file-picker.js.map +1 -0
  46. package/dist/forms-public.d.ts +8 -0
  47. package/dist/forms-public.d.ts.map +1 -0
  48. package/dist/forms-public.js +8 -0
  49. package/dist/forms-public.js.map +1 -0
  50. package/dist/forms.d.ts +160 -0
  51. package/dist/forms.d.ts.map +1 -0
  52. package/dist/forms.js +178 -0
  53. package/dist/forms.js.map +1 -0
  54. package/dist/index.d.ts +24 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +24 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/internal.d.ts +17 -0
  59. package/dist/internal.d.ts.map +1 -0
  60. package/dist/internal.js +68 -0
  61. package/dist/internal.js.map +1 -0
  62. package/dist/layout.d.ts +134 -0
  63. package/dist/layout.d.ts.map +1 -0
  64. package/dist/layout.js +167 -0
  65. package/dist/layout.js.map +1 -0
  66. package/dist/navigation-public.d.ts +6 -0
  67. package/dist/navigation-public.d.ts.map +1 -0
  68. package/dist/navigation-public.js +6 -0
  69. package/dist/navigation-public.js.map +1 -0
  70. package/dist/navigation.d.ts +65 -0
  71. package/dist/navigation.d.ts.map +1 -0
  72. package/dist/navigation.js +196 -0
  73. package/dist/navigation.js.map +1 -0
  74. package/dist/number-field.d.ts +55 -0
  75. package/dist/number-field.d.ts.map +1 -0
  76. package/dist/number-field.js +107 -0
  77. package/dist/number-field.js.map +1 -0
  78. package/dist/otp-field.d.ts +2 -0
  79. package/dist/otp-field.d.ts.map +1 -0
  80. package/dist/otp-field.js +2 -0
  81. package/dist/otp-field.js.map +1 -0
  82. package/dist/overlays.d.ts +192 -0
  83. package/dist/overlays.d.ts.map +1 -0
  84. package/dist/overlays.js +949 -0
  85. package/dist/overlays.js.map +1 -0
  86. package/dist/password-field.d.ts +2 -0
  87. package/dist/password-field.d.ts.map +1 -0
  88. package/dist/password-field.js +2 -0
  89. package/dist/password-field.js.map +1 -0
  90. package/dist/portal.d.ts +32 -0
  91. package/dist/portal.d.ts.map +1 -0
  92. package/dist/portal.js +264 -0
  93. package/dist/portal.js.map +1 -0
  94. package/dist/provider.d.ts +38 -0
  95. package/dist/provider.d.ts.map +1 -0
  96. package/dist/provider.js +87 -0
  97. package/dist/provider.js.map +1 -0
  98. package/dist/select.d.ts +72 -0
  99. package/dist/select.d.ts.map +1 -0
  100. package/dist/select.js +353 -0
  101. package/dist/select.js.map +1 -0
  102. package/dist/selection.d.ts +160 -0
  103. package/dist/selection.d.ts.map +1 -0
  104. package/dist/selection.js +225 -0
  105. package/dist/selection.js.map +1 -0
  106. package/dist/slider.d.ts +35 -0
  107. package/dist/slider.d.ts.map +1 -0
  108. package/dist/slider.js +150 -0
  109. package/dist/slider.js.map +1 -0
  110. package/dist/steps.d.ts +29 -0
  111. package/dist/steps.d.ts.map +1 -0
  112. package/dist/steps.js +10 -0
  113. package/dist/steps.js.map +1 -0
  114. package/dist/styles.css +1349 -0
  115. package/dist/supplemental-display.d.ts +59 -0
  116. package/dist/supplemental-display.d.ts.map +1 -0
  117. package/dist/supplemental-display.js +136 -0
  118. package/dist/supplemental-display.js.map +1 -0
  119. package/dist/supplemental-navigation.d.ts +28 -0
  120. package/dist/supplemental-navigation.d.ts.map +1 -0
  121. package/dist/supplemental-navigation.js +106 -0
  122. package/dist/supplemental-navigation.js.map +1 -0
  123. package/dist/theme.d.ts +5 -0
  124. package/dist/theme.d.ts.map +1 -0
  125. package/dist/theme.js +55 -0
  126. package/dist/theme.js.map +1 -0
  127. package/dist/toast.d.ts +41 -0
  128. package/dist/toast.d.ts.map +1 -0
  129. package/dist/toast.js +250 -0
  130. package/dist/toast.js.map +1 -0
  131. package/dist/upload-item.d.ts +18 -0
  132. package/dist/upload-item.d.ts.map +1 -0
  133. package/dist/upload-item.js +19 -0
  134. package/dist/upload-item.js.map +1 -0
  135. package/package.json +151 -0
@@ -0,0 +1,1349 @@
1
+ .hjm-root,
2
+ .hjm-root *,
3
+ .hjm-root *::before,
4
+ .hjm-root *::after {
5
+ box-sizing: border-box;
6
+ }
7
+
8
+ .hjm-root {
9
+ min-inline-size: 0;
10
+ font-family: var(--hjm-font-family-ui, system-ui, sans-serif);
11
+ font-size: var(--hjm-type-body-size, 0.875rem);
12
+ line-height: var(--hjm-type-body-line-height, 1.25rem);
13
+ background: var(--hjm-color-bg);
14
+ color: var(--hjm-color-text);
15
+ }
16
+
17
+ .hjm-visually-hidden {
18
+ position: absolute !important;
19
+ inline-size: 1px !important;
20
+ block-size: 1px !important;
21
+ padding: 0 !important;
22
+ margin: -1px !important;
23
+ overflow: hidden !important;
24
+ clip: rect(0, 0, 0, 0) !important;
25
+ white-space: nowrap !important;
26
+ border: 0 !important;
27
+ }
28
+
29
+ .hjm-text {
30
+ margin: 0;
31
+ overflow-wrap: anywhere;
32
+ }
33
+
34
+ .hjm-text[data-variant="caption"] { font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); }
35
+ .hjm-text[data-variant="label"] { font-size: var(--hjm-type-label-size); line-height: var(--hjm-type-label-line-height); }
36
+ .hjm-text[data-variant="body"] { font-size: var(--hjm-type-body-size); line-height: var(--hjm-type-body-line-height); }
37
+ .hjm-text[data-variant="bodyLarge"] { font-size: var(--hjm-type-body-large-size); line-height: var(--hjm-type-body-large-line-height); }
38
+ .hjm-text[data-variant="title"] { font-size: var(--hjm-type-title-size); line-height: var(--hjm-type-title-line-height); }
39
+ .hjm-text[data-variant="titleLarge"] { font-size: var(--hjm-type-title-large-size); line-height: var(--hjm-type-title-large-line-height); }
40
+ .hjm-text[data-variant="heading"] { font-size: var(--hjm-type-heading-size); line-height: var(--hjm-type-heading-line-height); }
41
+ .hjm-text[data-emphasis="regular"] { font-weight: var(--hjm-font-weight-regular); }
42
+ .hjm-text[data-emphasis="medium"] { font-weight: var(--hjm-font-weight-semibold); }
43
+ .hjm-text[data-emphasis="strong"] { font-weight: var(--hjm-font-weight-bold); }
44
+ .hjm-text[data-tone="primary"] { color: var(--hjm-color-text); }
45
+ .hjm-text[data-tone="body"] { color: var(--hjm-color-text-body); }
46
+ .hjm-text[data-tone="muted"] { color: var(--hjm-color-text-muted); }
47
+ .hjm-text[data-tone="subtle"] { color: var(--hjm-color-text-sub); }
48
+ .hjm-text[data-tone="weak"] { color: var(--hjm-color-text-weak); }
49
+ .hjm-text[data-tone="brand"] { color: var(--hjm-color-content-brand); }
50
+ .hjm-text[data-tone="danger"] { color: var(--hjm-color-danger); }
51
+ .hjm-text[data-tone="inverse"] { color: var(--hjm-color-on-primary); }
52
+
53
+ .hjm-surface {
54
+ min-inline-size: 0;
55
+ border: 1px solid transparent;
56
+ border-radius: var(--hjm-radius-lg);
57
+ background: var(--hjm-color-surface);
58
+ }
59
+ .hjm-surface[data-tone="raised"] { background: var(--hjm-color-bg); box-shadow: 0 4px 12px rgb(0 0 0 / 12%); }
60
+ .hjm-surface[data-tone="accent"] { background: var(--hjm-color-surface-accent); }
61
+ .hjm-surface[data-tone="subtle"] { background: var(--hjm-color-bg); }
62
+ .hjm-surface[data-bordered="true"] { border-color: var(--hjm-color-border); }
63
+ .hjm-surface[data-tone="accent"][data-bordered="true"] { border-color: color-mix(in srgb, var(--hjm-color-primary) 30%, transparent); }
64
+
65
+ .hjm-stack,
66
+ .hjm-grid { min-inline-size: 0; }
67
+ .hjm-grid > * { min-inline-size: 0; }
68
+
69
+ .hjm-layout {
70
+ min-inline-size: 0;
71
+ min-block-size: 100%;
72
+ display: grid;
73
+ grid-template-columns: minmax(0, 1fr);
74
+ align-content: start;
75
+ }
76
+ .hjm-layout[data-sidebar-mode="persistent"] {
77
+ grid-template-columns: auto minmax(0, 1fr);
78
+ }
79
+ .hjm-layout__skip-link {
80
+ position: fixed;
81
+ z-index: 1400;
82
+ inset-block-start: var(--hjm-space-sm);
83
+ inset-inline-start: var(--hjm-space-sm);
84
+ padding: var(--hjm-space-sm) var(--hjm-space-md);
85
+ border-radius: var(--hjm-radius-md);
86
+ color: var(--hjm-color-on-primary);
87
+ background: var(--hjm-color-primary);
88
+ font-weight: var(--hjm-font-weight-semibold);
89
+ text-decoration: none;
90
+ transform: translateY(calc(-100% - (2 * var(--hjm-space-sm))));
91
+ transition: transform var(--hjm-motion-fast);
92
+ }
93
+ .hjm-layout__skip-link:focus-visible {
94
+ outline: 2px solid var(--hjm-color-content-brand);
95
+ outline-offset: 2px;
96
+ transform: translateY(0);
97
+ }
98
+ .hjm-layout__header,
99
+ .hjm-layout__footer { min-inline-size: 0; grid-column: 1 / -1; }
100
+ .hjm-layout__sidebar { min-inline-size: 0; grid-column: 1; }
101
+ .hjm-layout__main {
102
+ min-inline-size: 0;
103
+ inline-size: 100%;
104
+ margin-inline: auto;
105
+ grid-column: 1 / -1;
106
+ }
107
+ .hjm-layout[data-sidebar-mode="persistent"] .hjm-layout__main {
108
+ grid-column: 2;
109
+ }
110
+
111
+ .hjm-image {
112
+ position: relative;
113
+ display: inline-grid;
114
+ place-items: stretch;
115
+ max-inline-size: 100%;
116
+ overflow: hidden;
117
+ border-radius: var(--hjm-radius-md);
118
+ background: var(--hjm-color-surface-alt);
119
+ vertical-align: middle;
120
+ }
121
+ .hjm-image__asset,
122
+ .hjm-image__fallback {
123
+ inline-size: 100%;
124
+ block-size: 100%;
125
+ min-block-size: 0;
126
+ }
127
+ .hjm-image__asset { display: block; }
128
+ .hjm-image__fallback {
129
+ display: grid;
130
+ place-items: center;
131
+ color: var(--hjm-color-text-muted);
132
+ background: var(--hjm-color-surface-alt);
133
+ }
134
+ .hjm-image__fallback-icon { display: inline-grid; place-items: center; }
135
+
136
+ .hjm-button,
137
+ .hjm-icon-button,
138
+ .hjm-link {
139
+ font: inherit;
140
+ font-weight: var(--hjm-font-weight-semibold);
141
+ transition: background-color var(--hjm-motion-fast), color var(--hjm-motion-fast), opacity var(--hjm-motion-fast), transform var(--hjm-motion-fast);
142
+ }
143
+ .hjm-button,
144
+ .hjm-icon-button {
145
+ display: inline-flex;
146
+ align-items: center;
147
+ justify-content: center;
148
+ gap: var(--hjm-space-xs);
149
+ border: 1px solid transparent;
150
+ cursor: pointer;
151
+ }
152
+ .hjm-button {
153
+ position: relative;
154
+ min-block-size: var(--hjm-control-button-medium);
155
+ padding: var(--hjm-space-xs) var(--hjm-space-md);
156
+ border-radius: var(--hjm-radius-md);
157
+ font-size: var(--hjm-type-body-size);
158
+ line-height: var(--hjm-type-body-line-height);
159
+ }
160
+ .hjm-button[data-size="small"] {
161
+ min-block-size: var(--hjm-control-button-small);
162
+ padding-inline: var(--hjm-space-sm);
163
+ font-size: var(--hjm-type-label-size);
164
+ line-height: var(--hjm-type-label-line-height);
165
+ }
166
+ .hjm-button[data-size="small"]::after {
167
+ content: "";
168
+ position: absolute;
169
+ inset: calc(-1 * var(--hjm-space-xxs));
170
+ }
171
+ .hjm-button[data-size="large"] {
172
+ min-block-size: var(--hjm-control-button-large);
173
+ padding-inline: var(--hjm-space-lg);
174
+ font-size: var(--hjm-type-body-large-size);
175
+ line-height: var(--hjm-type-body-large-line-height);
176
+ }
177
+ .hjm-button[data-tone="primary"], .hjm-icon-button[data-tone="primary"] { color: var(--hjm-color-on-primary); background: var(--hjm-color-primary); }
178
+ .hjm-button[data-tone="secondary"], .hjm-icon-button[data-tone="secondary"] { color: var(--hjm-color-text); background: var(--hjm-color-surface-alt); border-color: var(--hjm-color-border); }
179
+ .hjm-button[data-tone="ghost"], .hjm-icon-button[data-tone="ghost"] { color: var(--hjm-color-text-muted); background: transparent; }
180
+ .hjm-button[data-tone="danger"], .hjm-icon-button[data-tone="danger"] { color: var(--hjm-color-on-danger); background: var(--hjm-color-danger-fill); }
181
+ .hjm-button[data-tone="link"] { color: var(--hjm-color-content-brand); background: transparent; }
182
+ .hjm-button:active:not(:disabled):not([aria-disabled="true"]), .hjm-icon-button:active:not(:disabled):not([aria-disabled="true"]) { transform: scale(0.98); }
183
+ .hjm-button:disabled, .hjm-icon-button:disabled { cursor: not-allowed; opacity: 0.5; }
184
+ .hjm-button__label { min-inline-size: 0; overflow-wrap: anywhere; }
185
+ .hjm-button__spinner,
186
+ .hjm-spinner__glyph {
187
+ display: inline-block;
188
+ inline-size: 1em;
189
+ block-size: 1em;
190
+ border: 2px solid currentColor;
191
+ border-inline-end-color: transparent;
192
+ border-radius: 50%;
193
+ animation: hjm-spin 800ms linear infinite;
194
+ }
195
+ .hjm-icon-button {
196
+ position: relative;
197
+ inline-size: var(--hjm-control-button-medium);
198
+ block-size: var(--hjm-control-button-medium);
199
+ min-inline-size: var(--hjm-control-min-touch-target);
200
+ min-block-size: var(--hjm-control-min-touch-target);
201
+ padding: var(--hjm-space-xs);
202
+ border-radius: var(--hjm-radius-md);
203
+ }
204
+ .hjm-icon-button[data-shape="circle"] { border-radius: var(--hjm-radius-full); }
205
+ .hjm-icon-button[data-size="small"] { inline-size: var(--hjm-control-button-small); block-size: var(--hjm-control-button-small); min-inline-size: 0; min-block-size: 0; }
206
+ .hjm-icon-button[data-size="small"]::after { content: ""; position: absolute; inset: calc(-1 * var(--hjm-space-xxs)); }
207
+ .hjm-icon-button[data-size="large"] { inline-size: var(--hjm-control-button-large); block-size: var(--hjm-control-button-large); }
208
+ .hjm-link { display: inline-flex; align-items: center; gap: var(--hjm-space-xxs); color: var(--hjm-color-content-brand); text-underline-offset: 0.18em; }
209
+ .hjm-link[data-tone="neutral"] { color: var(--hjm-color-text-body); }
210
+ .hjm-link[data-variant="standalone"] { min-block-size: var(--hjm-control-min-touch-target); text-decoration: none; }
211
+ .hjm-link[aria-disabled="true"] { opacity: 0.5; text-decoration: none; }
212
+
213
+ .hjm-button:focus-visible,
214
+ .hjm-icon-button:focus-visible,
215
+ .hjm-link:focus-visible,
216
+ .hjm-choice__input:focus-visible + .hjm-choice__indicator,
217
+ .hjm-switch:focus-visible .hjm-switch__track,
218
+ .hjm-segmented__item:has(input:focus-visible),
219
+ .hjm-tabs__tab:focus-visible,
220
+ .hjm-list-row:focus-visible {
221
+ outline: 2px solid var(--hjm-color-content-brand);
222
+ outline-offset: 2px;
223
+ }
224
+
225
+ .hjm-field { display: grid; gap: var(--hjm-space-xs); min-inline-size: 0; }
226
+ .hjm-field__label { color: var(--hjm-color-text-body); font-weight: var(--hjm-font-weight-semibold); }
227
+ .hjm-field__control {
228
+ display: flex;
229
+ align-items: center;
230
+ min-block-size: var(--hjm-control-field-height);
231
+ padding-inline: var(--hjm-space-md);
232
+ border: 1px solid var(--hjm-color-text-muted);
233
+ border-radius: var(--hjm-radius-md);
234
+ background: var(--hjm-color-surface);
235
+ }
236
+ .hjm-field[data-variant="inset"] .hjm-field__control { background: var(--hjm-color-bg); }
237
+ .hjm-field[data-shape="large"] .hjm-field__control { border-radius: var(--hjm-radius-lg); }
238
+ .hjm-field[data-shape="full"] .hjm-field__control { border-radius: var(--hjm-radius-full); }
239
+ .hjm-field[data-state="focused"] .hjm-field__control { border-color: var(--hjm-color-content-brand); box-shadow: 0 0 0 1px var(--hjm-color-content-brand); }
240
+ .hjm-field[data-state="invalid"] .hjm-field__control { border-color: var(--hjm-color-danger); }
241
+ .hjm-field[data-state="disabled"] { opacity: 0.6; }
242
+ .hjm-field__input {
243
+ inline-size: 100%;
244
+ min-inline-size: 0;
245
+ min-block-size: calc(var(--hjm-control-field-height) - 2px);
246
+ padding-block: var(--hjm-space-xs);
247
+ border: 0;
248
+ outline: 0;
249
+ color: var(--hjm-color-text);
250
+ background: transparent;
251
+ font: inherit;
252
+ }
253
+ .hjm-field__input::placeholder { color: var(--hjm-color-text-muted); opacity: 1; }
254
+ .hjm-field__control--multiline { min-block-size: 80px; align-items: stretch; }
255
+ .hjm-field__control--multiline textarea { min-block-size: 78px; resize: vertical; }
256
+ .hjm-field__affix { display: inline-flex; align-items: center; color: var(--hjm-color-text-muted); }
257
+ .hjm-field__description, .hjm-choice__description { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); line-height: var(--hjm-type-label-line-height); }
258
+ .hjm-field__error { color: var(--hjm-color-danger); font-size: var(--hjm-type-label-size); line-height: var(--hjm-type-label-line-height); }
259
+ .hjm-search-field__clear { inline-size: 32px; block-size: 32px; display: inline-grid; place-items: center; border: 0; border-radius: 50%; color: inherit; background: transparent; font: inherit; cursor: pointer; }
260
+ .hjm-search-field__spinner { inline-size: 32px; block-size: 32px; display: inline-grid; place-items: center; color: var(--hjm-color-content-brand); }
261
+ .hjm-search-field__spinner:empty::before { content: ""; inline-size: 1em; block-size: 1em; border: 2px solid currentColor; border-inline-end-color: transparent; border-radius: 50%; animation: hjm-spin 800ms linear infinite; }
262
+ .hjm-password-field--large .hjm-field__control { min-block-size: var(--hjm-control-button-large); padding-inline: var(--hjm-space-lg); }
263
+ .hjm-password-field--large .hjm-field__input { min-block-size: calc(var(--hjm-control-button-large) - 2px); font-size: var(--hjm-type-body-large-size); line-height: var(--hjm-type-body-large-line-height); }
264
+ .hjm-password-field__toggle {
265
+ position: relative;
266
+ flex: 0 0 var(--hjm-control-min-touch-target);
267
+ inline-size: var(--hjm-control-min-touch-target);
268
+ block-size: var(--hjm-control-min-touch-target);
269
+ display: inline-grid;
270
+ place-items: center;
271
+ margin-inline-end: calc(-1 * var(--hjm-space-xs));
272
+ padding: 0;
273
+ border: 0;
274
+ border-radius: var(--hjm-radius-full);
275
+ color: var(--hjm-color-text-muted);
276
+ background: transparent;
277
+ cursor: pointer;
278
+ }
279
+ .hjm-password-field__toggle:disabled { cursor: not-allowed; opacity: 0.6; }
280
+ .hjm-password-field__toggle:focus-visible { outline: 2px solid var(--hjm-color-content-brand); outline-offset: -2px; }
281
+ .hjm-password-field__toggle > span:empty {
282
+ position: relative;
283
+ inline-size: 18px;
284
+ block-size: 12px;
285
+ display: block;
286
+ border: 2px solid currentColor;
287
+ border-radius: 70% 20%;
288
+ transform: rotate(45deg);
289
+ }
290
+ .hjm-password-field__toggle > span:empty::after {
291
+ content: "";
292
+ position: absolute;
293
+ inset: 2px;
294
+ border-radius: 50%;
295
+ background: currentColor;
296
+ }
297
+ .hjm-password-field__toggle[data-revealed] > span:empty::before {
298
+ content: "";
299
+ position: absolute;
300
+ z-index: 1;
301
+ inset-block-start: 4px;
302
+ inset-inline-start: -3px;
303
+ inline-size: 22px;
304
+ border-block-start: 2px solid currentColor;
305
+ }
306
+ .hjm-otp-field__control {
307
+ --hjm-otp-slot-size: var(--hjm-control-min-touch-target);
308
+ --hjm-otp-gap: var(--hjm-space-xs);
309
+ position: relative;
310
+ inline-size: 100%;
311
+ max-inline-size: calc(
312
+ (var(--hjm-otp-slot-size) * var(--hjm-otp-length)) +
313
+ (var(--hjm-otp-gap) * (var(--hjm-otp-length) - 1))
314
+ );
315
+ direction: ltr;
316
+ }
317
+ .hjm-otp-field__control[data-size="large"] {
318
+ --hjm-otp-slot-size: var(--hjm-control-button-large);
319
+ --hjm-otp-gap: var(--hjm-space-sm);
320
+ }
321
+ .hjm-otp-field__input {
322
+ position: absolute;
323
+ z-index: 1;
324
+ inset: 0;
325
+ inline-size: 100%;
326
+ block-size: 100%;
327
+ padding: 0;
328
+ border: 0;
329
+ outline: 0;
330
+ opacity: 0.001;
331
+ color: transparent;
332
+ background: transparent;
333
+ caret-color: transparent;
334
+ cursor: text;
335
+ }
336
+ .hjm-otp-field__slots {
337
+ display: grid;
338
+ grid-template-columns: repeat(var(--hjm-otp-length), minmax(0, var(--hjm-otp-slot-size)));
339
+ gap: var(--hjm-otp-gap);
340
+ pointer-events: none;
341
+ }
342
+ .hjm-otp-field__slot {
343
+ min-inline-size: 0;
344
+ min-block-size: var(--hjm-otp-slot-size);
345
+ display: grid;
346
+ place-items: center;
347
+ padding-block: var(--hjm-space-xxs);
348
+ border: 1px solid var(--hjm-color-text-muted);
349
+ border-radius: var(--hjm-radius-md);
350
+ color: var(--hjm-color-text);
351
+ background: var(--hjm-color-surface);
352
+ font-size: var(--hjm-type-title-size);
353
+ line-height: var(--hjm-type-title-line-height);
354
+ font-weight: var(--hjm-font-weight-semibold);
355
+ }
356
+ .hjm-otp-field__control[data-size="large"] .hjm-otp-field__slot { font-size: var(--hjm-type-title-large-size); line-height: var(--hjm-type-title-large-line-height); }
357
+ .hjm-otp-field__slot[data-state="filled"] { border-color: var(--hjm-color-content-brand); }
358
+ .hjm-otp-field__slot[data-state="focused"] { border-color: var(--hjm-color-content-brand); box-shadow: 0 0 0 1px var(--hjm-color-content-brand); }
359
+ .hjm-otp-field__slot[data-state="invalid"] { border-color: var(--hjm-color-danger); }
360
+
361
+ .hjm-bottom-navigation {
362
+ position: fixed;
363
+ z-index: 700;
364
+ inset-inline: 0;
365
+ inset-block-end: 0;
366
+ padding-block-start: var(--hjm-bottom-navigation-outer-top);
367
+ padding-block-end: calc(env(safe-area-inset-bottom, 0px) + var(--hjm-space-xs));
368
+ padding-inline: var(--hjm-bottom-navigation-outer-inline);
369
+ pointer-events: none;
370
+ }
371
+ .hjm-bottom-navigation__surface {
372
+ position: relative;
373
+ inline-size: 100%;
374
+ max-inline-size: var(--hjm-bottom-navigation-max-width);
375
+ margin-inline: auto;
376
+ border-color: var(--hjm-color-border);
377
+ background: var(--hjm-color-bg);
378
+ pointer-events: auto;
379
+ }
380
+ .hjm-bottom-navigation[data-presentation="bar"] .hjm-bottom-navigation__surface {
381
+ border-block-start: 1px solid var(--hjm-color-border);
382
+ }
383
+ .hjm-bottom-navigation[data-presentation="floating"] .hjm-bottom-navigation__surface {
384
+ border: 1px solid var(--hjm-color-border);
385
+ border-radius: var(--hjm-radius-xl);
386
+ box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
387
+ }
388
+ .hjm-bottom-navigation__list {
389
+ display: grid;
390
+ grid-template-columns: repeat(var(--hjm-bottom-navigation-columns), minmax(var(--hjm-bottom-navigation-item-min-width), 1fr));
391
+ align-items: start;
392
+ margin: 0;
393
+ padding: 0;
394
+ list-style: none;
395
+ }
396
+ .hjm-bottom-navigation[data-distribution="center-gap"] .hjm-bottom-navigation__list {
397
+ grid-template-columns:
398
+ repeat(var(--hjm-bottom-navigation-half-columns), minmax(var(--hjm-bottom-navigation-item-min-width), 1fr))
399
+ var(--hjm-bottom-navigation-center-gap)
400
+ repeat(var(--hjm-bottom-navigation-half-columns), minmax(var(--hjm-bottom-navigation-item-min-width), 1fr));
401
+ }
402
+ .hjm-bottom-navigation__item {
403
+ position: relative;
404
+ min-inline-size: var(--hjm-bottom-navigation-item-min-width);
405
+ min-block-size: var(--hjm-bottom-navigation-item-min-height);
406
+ display: flex;
407
+ flex-direction: column;
408
+ align-items: center;
409
+ justify-content: flex-start;
410
+ gap: var(--hjm-bottom-navigation-item-gap);
411
+ padding: var(--hjm-bottom-navigation-item-padding);
412
+ border-radius: var(--hjm-radius-lg);
413
+ color: var(--hjm-color-text-muted);
414
+ text-align: center;
415
+ text-decoration: none;
416
+ overflow-wrap: anywhere;
417
+ }
418
+ .hjm-bottom-navigation__item:hover { background: var(--hjm-color-surface-alt); }
419
+ .hjm-bottom-navigation__item:active { background: var(--hjm-color-surface-brand); }
420
+ .hjm-bottom-navigation__item:focus-visible {
421
+ outline: 2px solid var(--hjm-color-content-brand);
422
+ outline-offset: 2px;
423
+ }
424
+ .hjm-bottom-navigation__item[data-state="selected"] { color: var(--hjm-color-content-brand); }
425
+ .hjm-bottom-navigation__item[data-state="disabled"] { opacity: 0.5; }
426
+ .hjm-bottom-navigation__indicator {
427
+ position: relative;
428
+ min-inline-size: 40px;
429
+ min-block-size: 28px;
430
+ display: inline-flex;
431
+ align-items: center;
432
+ justify-content: center;
433
+ }
434
+ .hjm-bottom-navigation__indicator > :first-child { transition: transform 160ms ease; }
435
+ .hjm-bottom-navigation__indicator[data-state="selected"] > :first-child { transform: scale(1.06); }
436
+ .hjm-bottom-navigation__label { font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); font-weight: var(--hjm-font-weight-semibold); }
437
+ .hjm-bottom-navigation__item[data-state="selected"] .hjm-bottom-navigation__label { font-weight: var(--hjm-font-weight-bold); }
438
+ .hjm-bottom-navigation__badge {
439
+ position: absolute;
440
+ inset-block-start: calc(-1 * var(--hjm-space-xxs));
441
+ inset-inline-end: calc(-1 * var(--hjm-space-xs));
442
+ min-inline-size: 1rem;
443
+ min-block-size: 1rem;
444
+ display: inline-flex;
445
+ align-items: center;
446
+ justify-content: center;
447
+ padding-inline: 0.25rem;
448
+ border: 2px solid var(--hjm-color-bg);
449
+ border-radius: var(--hjm-radius-full);
450
+ color: var(--hjm-color-on-danger);
451
+ background: var(--hjm-color-danger-fill);
452
+ font-size: var(--hjm-type-caption-size);
453
+ line-height: 1;
454
+ }
455
+ .hjm-bottom-navigation__primary-action {
456
+ position: absolute;
457
+ inset-inline-start: 50%;
458
+ inset-block-start: 50%;
459
+ translate: -50% -50%;
460
+ }
461
+
462
+ .hjm-number-field__control {
463
+ padding-inline: 0;
464
+ overflow: hidden;
465
+ }
466
+ .hjm-number-field[data-size="large"] .hjm-number-field__control {
467
+ min-block-size: var(--hjm-control-button-large);
468
+ }
469
+ .hjm-number-field__input {
470
+ block-size: 100%;
471
+ padding-inline: var(--hjm-space-md);
472
+ text-align: center;
473
+ font-variant-numeric: tabular-nums;
474
+ }
475
+ .hjm-number-field[data-size="large"] .hjm-number-field__input {
476
+ min-block-size: calc(var(--hjm-control-button-large) - 2px);
477
+ padding-inline: var(--hjm-space-lg);
478
+ font-size: var(--hjm-type-body-large-size);
479
+ line-height: var(--hjm-type-body-large-line-height);
480
+ }
481
+ .hjm-number-field__stepper {
482
+ align-self: stretch;
483
+ flex: 0 0 var(--hjm-control-min-touch-target);
484
+ display: inline-grid;
485
+ place-items: center;
486
+ min-inline-size: var(--hjm-control-min-touch-target);
487
+ min-block-size: var(--hjm-control-min-touch-target);
488
+ padding: 0;
489
+ border: 0;
490
+ color: var(--hjm-color-text-muted);
491
+ background: transparent;
492
+ font: inherit;
493
+ font-size: var(--hjm-type-title-size);
494
+ cursor: pointer;
495
+ }
496
+ .hjm-number-field__stepper[data-direction="decrement"] {
497
+ border-inline-end: 1px solid var(--hjm-color-border);
498
+ }
499
+ .hjm-number-field__stepper[data-direction="increment"] {
500
+ border-inline-start: 1px solid var(--hjm-color-border);
501
+ }
502
+ .hjm-number-field__stepper:hover:not(:disabled) { background: var(--hjm-color-surface-alt); }
503
+ .hjm-number-field__stepper:active:not(:disabled) { background: var(--hjm-color-surface-accent); }
504
+ .hjm-number-field__stepper:disabled { cursor: not-allowed; opacity: 0.5; }
505
+ .hjm-number-field__stepper:focus-visible {
506
+ outline: 2px solid var(--hjm-color-content-brand);
507
+ outline-offset: -3px;
508
+ }
509
+
510
+ .hjm-slider {
511
+ display: grid;
512
+ gap: var(--hjm-space-xs);
513
+ min-inline-size: 0;
514
+ }
515
+ .hjm-slider[data-disabled="true"] { opacity: 0.5; }
516
+ .hjm-slider__header {
517
+ display: flex;
518
+ align-items: baseline;
519
+ justify-content: space-between;
520
+ gap: var(--hjm-space-md);
521
+ min-inline-size: 0;
522
+ }
523
+ .hjm-slider__label {
524
+ min-inline-size: 0;
525
+ color: var(--hjm-color-text-body);
526
+ font-size: var(--hjm-type-body-size);
527
+ line-height: var(--hjm-type-body-line-height);
528
+ overflow-wrap: anywhere;
529
+ }
530
+ .hjm-slider__value {
531
+ flex: 0 0 auto;
532
+ color: var(--hjm-color-text-muted);
533
+ font-size: var(--hjm-type-label-size);
534
+ line-height: var(--hjm-type-label-line-height);
535
+ font-variant-numeric: tabular-nums;
536
+ }
537
+ .hjm-slider__control {
538
+ position: relative;
539
+ min-block-size: var(--hjm-control-min-touch-target);
540
+ }
541
+ .hjm-slider__interactive {
542
+ position: absolute;
543
+ inset-block: 0;
544
+ inset-inline: 10px;
545
+ }
546
+ .hjm-slider__track,
547
+ .hjm-slider__filled-track {
548
+ position: absolute;
549
+ inset-inline-start: 0;
550
+ inset-block-start: 50%;
551
+ block-size: 4px;
552
+ border-radius: var(--hjm-radius-full);
553
+ transform: translateY(-50%);
554
+ pointer-events: none;
555
+ }
556
+ .hjm-slider__track {
557
+ inline-size: 100%;
558
+ border: 1px solid var(--hjm-color-text-muted);
559
+ background: var(--hjm-color-surface-alt);
560
+ }
561
+ .hjm-slider__filled-track {
562
+ inline-size: var(--hjm-slider-fill);
563
+ border: 0;
564
+ background: var(--hjm-color-content-brand);
565
+ }
566
+ .hjm-slider__thumb {
567
+ position: absolute;
568
+ z-index: 1;
569
+ inset-inline-start: var(--hjm-slider-fill);
570
+ inset-block-start: 50%;
571
+ inline-size: 20px;
572
+ block-size: 20px;
573
+ border: 2px solid var(--hjm-color-content-brand);
574
+ border-radius: var(--hjm-radius-full);
575
+ background: var(--hjm-color-bg);
576
+ transform: translate(-50%, -50%);
577
+ transition: box-shadow var(--hjm-motion-fast), opacity var(--hjm-motion-fast);
578
+ pointer-events: none;
579
+ }
580
+ [dir="rtl"] .hjm-slider__thumb { transform: translate(50%, -50%); }
581
+ .hjm-slider[data-interaction="pointer"] .hjm-slider__thumb { opacity: 0.64; }
582
+ .hjm-slider__input {
583
+ position: absolute;
584
+ z-index: 2;
585
+ inset-block: 0;
586
+ inset-inline: -10px;
587
+ inline-size: auto;
588
+ block-size: var(--hjm-control-min-touch-target);
589
+ margin: 0;
590
+ appearance: none;
591
+ background: transparent;
592
+ opacity: 0;
593
+ cursor: pointer;
594
+ }
595
+ .hjm-slider__input::-webkit-slider-runnable-track {
596
+ block-size: 4px;
597
+ background: transparent;
598
+ }
599
+ .hjm-slider__input::-webkit-slider-thumb {
600
+ inline-size: 20px;
601
+ block-size: 20px;
602
+ margin-block-start: -8px;
603
+ appearance: none;
604
+ }
605
+ .hjm-slider__input::-moz-range-track {
606
+ block-size: 4px;
607
+ background: transparent;
608
+ }
609
+ .hjm-slider__input::-moz-range-thumb {
610
+ inline-size: 20px;
611
+ block-size: 20px;
612
+ border: 0;
613
+ }
614
+ .hjm-slider__interactive:has(.hjm-slider__input:focus-visible) .hjm-slider__thumb {
615
+ box-shadow: 0 0 0 3px var(--hjm-color-bg), 0 0 0 5px var(--hjm-color-content-brand);
616
+ }
617
+ .hjm-slider__input:disabled { cursor: not-allowed; }
618
+
619
+ .hjm-choice { display: inline-flex; align-items: center; gap: var(--hjm-space-sm); min-block-size: 56px; padding: var(--hjm-space-sm) var(--hjm-space-md); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-surface); cursor: pointer; }
620
+ .hjm-choice[data-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
621
+ .hjm-choice[data-readonly="true"] { cursor: default; }
622
+ .hjm-choice[data-presentation="plain"] { padding: 0; border-color: transparent; background: transparent; }
623
+ .hjm-choice[data-presentation="grouped"] { border: 0; border-radius: 0; background: transparent; }
624
+ .hjm-choice[data-presentation="card"][data-state="checked"],
625
+ .hjm-choice[data-presentation="card"][data-state="mixed"],
626
+ .hjm-choice[data-presentation="grouped"][data-state="checked"],
627
+ .hjm-choice[data-presentation="grouped"][data-state="mixed"] { border-color: var(--hjm-color-content-brand); background: var(--hjm-color-surface-accent); }
628
+ .hjm-choice[data-size="small"] { min-block-size: 44px; gap: var(--hjm-space-xs); padding: var(--hjm-space-xs) var(--hjm-space-sm); }
629
+ .hjm-choice[data-size="small"][data-presentation="plain"] { padding: 0; }
630
+ .hjm-choice__input { position: absolute; opacity: 0; inline-size: 1px; block-size: 1px; }
631
+ .hjm-choice__indicator { flex: 0 0 24px; display: grid; place-items: center; inline-size: 24px; block-size: 24px; margin-block-start: 2px; border: 2px solid var(--hjm-color-text-muted); background: var(--hjm-color-surface); }
632
+ .hjm-choice[data-size="small"] .hjm-choice__indicator { flex-basis: 20px; inline-size: 20px; block-size: 20px; }
633
+ .hjm-choice__leading { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; color: var(--hjm-color-text-muted); }
634
+ .hjm-choice[data-kind="checkbox"] .hjm-choice__indicator { border-radius: var(--hjm-radius-sm); }
635
+ .hjm-choice[data-kind="radio"] .hjm-choice__indicator { border-radius: 50%; }
636
+ .hjm-choice[data-state="checked"] .hjm-choice__indicator, .hjm-choice[data-state="mixed"] .hjm-choice__indicator { border-color: var(--hjm-color-primary); background: var(--hjm-color-primary); }
637
+ .hjm-choice[data-state="checked"] .hjm-choice__indicator::after { content: ""; inline-size: 8px; block-size: 4px; border-inline-start: 2px solid var(--hjm-color-on-primary); border-block-end: 2px solid var(--hjm-color-on-primary); transform: rotate(-45deg); }
638
+ [dir="rtl"] .hjm-choice[data-state="checked"] .hjm-choice__indicator::after { transform: rotate(45deg); }
639
+ .hjm-choice[data-kind="radio"][data-state="checked"] .hjm-choice__indicator::after { inline-size: 8px; block-size: 8px; border: 0; border-radius: 50%; background: var(--hjm-color-on-primary); transform: none; }
640
+ .hjm-choice[data-state="mixed"] .hjm-choice__indicator::after { content: ""; inline-size: 10px; block-size: 2px; background: var(--hjm-color-on-primary); }
641
+ .hjm-choice__copy { display: grid; gap: var(--hjm-space-xxs); padding-block: 2px; }
642
+ .hjm-choice[data-state="checked"] .hjm-choice__copy > :first-child,
643
+ .hjm-choice[data-state="mixed"] .hjm-choice__copy > :first-child { font-weight: var(--hjm-font-weight-bold); }
644
+ .hjm-radio-group { min-inline-size: 0; padding: 0; border: 0; }
645
+ .hjm-radio-group legend { margin-block-end: var(--hjm-space-xs); font-weight: var(--hjm-font-weight-semibold); }
646
+ .hjm-radio-group__items { display: flex; flex-direction: column; gap: var(--hjm-space-xs); }
647
+ .hjm-radio-group[data-presentation="plain"] .hjm-radio-group__items { gap: var(--hjm-space-xxs); }
648
+ .hjm-radio-group[data-presentation="grouped"] .hjm-radio-group__items { gap: 0; overflow: hidden; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-lg); background: var(--hjm-color-surface); }
649
+ .hjm-radio-group[data-orientation="horizontal"] .hjm-radio-group__items { flex-direction: row; flex-wrap: wrap; gap: var(--hjm-space-md); }
650
+ .hjm-radio-group[data-orientation="horizontal"][data-presentation="plain"] .hjm-radio-group__items { gap: var(--hjm-space-sm); }
651
+ .hjm-radio-group[data-orientation="horizontal"][data-presentation="grouped"] .hjm-radio-group__items { gap: 0; }
652
+ .hjm-checkbox-group { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
653
+ .hjm-checkbox-group legend { margin-block-end: var(--hjm-space-xs); font-weight: var(--hjm-font-weight-semibold); }
654
+ .hjm-checkbox-group__items { display: flex; flex-direction: column; gap: var(--hjm-space-xs); }
655
+ .hjm-checkbox-group[data-presentation="plain"] .hjm-checkbox-group__items { gap: var(--hjm-space-xxs); }
656
+ .hjm-checkbox-group[data-presentation="grouped"] .hjm-checkbox-group__items { gap: 0; overflow: hidden; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-lg); background: var(--hjm-color-surface); }
657
+ .hjm-checkbox-group[data-orientation="horizontal"] .hjm-checkbox-group__items { flex-direction: row; flex-wrap: wrap; gap: var(--hjm-space-md); }
658
+ .hjm-checkbox-group[data-orientation="horizontal"][data-presentation="plain"] .hjm-checkbox-group__items { gap: var(--hjm-space-sm); }
659
+ .hjm-checkbox-group[data-orientation="horizontal"][data-presentation="grouped"] .hjm-checkbox-group__items { gap: 0; }
660
+
661
+ .hjm-switch { display: inline-flex; align-items: center; gap: var(--hjm-space-sm); min-block-size: var(--hjm-control-min-touch-target); padding: 0; border: 0; color: inherit; background: transparent; font: inherit; cursor: pointer; }
662
+ .hjm-switch:disabled { opacity: 0.5; cursor: not-allowed; }
663
+ .hjm-switch__track { display: flex; align-items: center; inline-size: 48px; block-size: 28px; padding: 3px; border-radius: var(--hjm-radius-full); background: var(--hjm-color-surface-alt); transition: background var(--hjm-motion-fast); }
664
+ .hjm-switch__thumb { inline-size: 22px; block-size: 22px; border-radius: 50%; background: var(--hjm-color-bg); box-shadow: 0 1px 3px rgb(0 0 0 / 20%); transition: transform var(--hjm-motion-fast); }
665
+ .hjm-switch[data-state="checked"] .hjm-switch__track { background: var(--hjm-color-primary); }
666
+ .hjm-switch[data-state="checked"] .hjm-switch__thumb { transform: translateX(20px); }
667
+ [dir="rtl"] .hjm-switch[data-state="checked"] .hjm-switch__thumb { transform: translateX(-20px); }
668
+
669
+ .hjm-segmented { min-inline-size: 0; padding: 0; border: 0; }
670
+ .hjm-segmented__items { display: flex; min-inline-size: 0; gap: 2px; padding: 2px; border-radius: var(--hjm-radius-md); background: var(--hjm-color-surface-alt); overflow-x: auto; }
671
+ .hjm-segmented__item { position: relative; flex: 1 1 0; min-inline-size: max-content; min-block-size: var(--hjm-control-min-touch-target); display: grid; place-items: center; padding: var(--hjm-space-xs) var(--hjm-space-sm); border-radius: calc(var(--hjm-radius-md) - 2px); color: var(--hjm-color-text-muted); cursor: pointer; }
672
+ .hjm-segmented__item input { position: absolute; opacity: 0; }
673
+ .hjm-segmented__item[data-state="checked"] { color: var(--hjm-color-text); background: var(--hjm-color-surface-accent); font-weight: var(--hjm-font-weight-semibold); }
674
+ .hjm-segmented__item[data-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
675
+
676
+ .hjm-tabs { min-inline-size: 0; }
677
+ .hjm-tabs__list { display: flex; gap: var(--hjm-space-xs); min-inline-size: 0; overflow-x: auto; border-block-end: 1px solid var(--hjm-color-border); }
678
+ .hjm-tabs[data-overflow="clip"] .hjm-tabs__list { overflow: hidden; }
679
+ .hjm-tabs[data-layout="fitted"] .hjm-tabs__tab { flex: 1 1 0; }
680
+ .hjm-tabs__tab { position: relative; min-block-size: 48px; padding: var(--hjm-space-xs) var(--hjm-space-md); border: 0; color: var(--hjm-color-text-muted); background: transparent; font: inherit; font-weight: var(--hjm-font-weight-semibold); white-space: nowrap; cursor: pointer; }
681
+ .hjm-tabs[data-size="small"] .hjm-tabs__tab { min-block-size: 44px; padding-inline: var(--hjm-space-sm); font-size: var(--hjm-type-label-size); line-height: var(--hjm-type-label-line-height); }
682
+ .hjm-tabs__leading { display: inline-flex; flex: 0 0 auto; align-items: center; margin-inline-end: var(--hjm-space-xs); }
683
+ .hjm-tabs__tab[data-state="selected"] { color: var(--hjm-color-text); }
684
+ .hjm-tabs__tab[data-state="selected"]::after { content: ""; position: absolute; inset-inline: 0; inset-block-end: 0; block-size: 2px; background: var(--hjm-color-content-brand); }
685
+ .hjm-tabs__tab:disabled { opacity: 0.5; cursor: not-allowed; }
686
+ .hjm-tabs__panel { padding-block: var(--hjm-space-md); outline-offset: 2px; }
687
+ .hjm-tabs[data-orientation="vertical"] { display: grid; grid-template-columns: minmax(8rem, auto) minmax(0, 1fr); gap: var(--hjm-space-md); }
688
+ .hjm-tabs[data-orientation="vertical"] .hjm-tabs__list { flex-direction: column; overflow: visible; border-block-end: 0; border-inline-end: 1px solid var(--hjm-color-border); }
689
+ .hjm-tabs[data-orientation="vertical"][data-overflow="scroll"] .hjm-tabs__list { overflow-y: auto; }
690
+ .hjm-tabs[data-orientation="vertical"][data-overflow="clip"] .hjm-tabs__list { overflow: hidden; }
691
+ .hjm-tabs[data-orientation="vertical"] .hjm-tabs__tab { text-align: start; }
692
+ .hjm-tabs[data-orientation="vertical"] .hjm-tabs__tab[data-state="selected"]::after { inset-block: 0; inset-inline-start: auto; inset-inline-end: 0; inline-size: 2px; block-size: auto; }
693
+
694
+ .hjm-badge, .hjm-tag { display: inline-flex; align-items: center; gap: var(--hjm-space-xxs); max-inline-size: 100%; overflow-wrap: anywhere; }
695
+ .hjm-badge { min-block-size: 24px; padding: 2px var(--hjm-space-xs); border: 1px solid transparent; border-radius: var(--hjm-radius-full); color: var(--hjm-color-text-muted); background: var(--hjm-color-surface-alt); font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); font-weight: var(--hjm-font-weight-bold); }
696
+ .hjm-badge[data-size="small"] { min-block-size: 20px; font-size: var(--hjm-type-caption-size); }
697
+ .hjm-badge[data-tone="strong"] { color: var(--hjm-color-bg); background: var(--hjm-color-text); }
698
+ .hjm-badge[data-tone="brand"] { color: var(--hjm-color-content-brand); }
699
+ .hjm-badge[data-tone="info"], .hjm-tag[data-tone="info"] { color: var(--hjm-accent-info); background: color-mix(in srgb, var(--hjm-accent-info) 14%, transparent); border-color: color-mix(in srgb, var(--hjm-accent-info) 30%, transparent); }
700
+ .hjm-badge[data-tone="success"], .hjm-tag[data-tone="success"] { color: var(--hjm-accent-success); background: color-mix(in srgb, var(--hjm-accent-success) 14%, transparent); border-color: color-mix(in srgb, var(--hjm-accent-success) 30%, transparent); }
701
+ .hjm-badge[data-tone="warning"] { color: var(--hjm-accent-warning); background: color-mix(in srgb, var(--hjm-accent-warning) 14%, transparent); border-color: color-mix(in srgb, var(--hjm-accent-warning) 30%, transparent); }
702
+ .hjm-badge[data-tone="attention"], .hjm-tag[data-tone="attention"] { color: var(--hjm-accent-attention); background: color-mix(in srgb, var(--hjm-accent-attention) 14%, transparent); border-color: color-mix(in srgb, var(--hjm-accent-attention) 30%, transparent); }
703
+ .hjm-badge[data-tone="danger"] { color: var(--hjm-color-danger); background: color-mix(in srgb, var(--hjm-color-danger) 14%, transparent); border-color: color-mix(in srgb, var(--hjm-color-danger) 30%, transparent); }
704
+ .hjm-badge[data-variant="outline"] { background: transparent; border-color: var(--hjm-color-border); }
705
+ .hjm-badge[data-variant="outline"][data-tone="strong"] { color: var(--hjm-color-text); }
706
+ .hjm-badge[data-variant="outline"][data-tone="info"] { border-color: color-mix(in srgb, var(--hjm-accent-info) 30%, transparent); }
707
+ .hjm-badge[data-variant="outline"][data-tone="success"] { border-color: color-mix(in srgb, var(--hjm-accent-success) 30%, transparent); }
708
+ .hjm-badge[data-variant="outline"][data-tone="warning"] { border-color: color-mix(in srgb, var(--hjm-accent-warning) 30%, transparent); }
709
+ .hjm-badge[data-variant="outline"][data-tone="attention"] { border-color: color-mix(in srgb, var(--hjm-accent-attention) 30%, transparent); }
710
+ .hjm-badge[data-variant="outline"][data-tone="danger"] { border-color: color-mix(in srgb, var(--hjm-color-danger) 30%, transparent); }
711
+ .hjm-tag { min-block-size: 20px; padding-inline: var(--hjm-space-xxs); border: 1px solid transparent; border-radius: var(--hjm-radius-sm); color: var(--hjm-color-text-muted); background: var(--hjm-color-surface-alt); font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); font-weight: var(--hjm-font-weight-semibold); }
712
+ .hjm-tag[data-tone="brand"] { color: var(--hjm-color-content-brand); background: var(--hjm-color-surface-accent); }
713
+ .hjm-tag[data-tone="info"] { background: color-mix(in srgb, var(--hjm-accent-info) 10%, transparent); }
714
+ .hjm-tag[data-tone="success"] { background: color-mix(in srgb, var(--hjm-accent-success) 10%, transparent); }
715
+ .hjm-tag[data-tone="attention"] { background: color-mix(in srgb, var(--hjm-accent-attention) 10%, transparent); }
716
+ .hjm-icon { display: inline-block; flex: 0 0 auto; vertical-align: middle; }
717
+ .hjm-icon[data-transform="mirror-inline"] { transform: scaleX(-1); }
718
+ .hjm-icon[data-tone="primary"] { color: var(--hjm-color-text); }
719
+ .hjm-icon[data-tone="secondary"], .hjm-icon[data-tone="decorative"] { color: var(--hjm-color-text-muted); }
720
+ .hjm-icon[data-tone="brand"] { color: var(--hjm-color-content-brand); }
721
+ .hjm-icon[data-tone="info"] { color: var(--hjm-accent-info); }
722
+ .hjm-icon[data-tone="success"] { color: var(--hjm-accent-success); }
723
+ .hjm-icon[data-tone="warning"] { color: var(--hjm-accent-warning); }
724
+ .hjm-icon[data-tone="danger"] { color: var(--hjm-color-danger); }
725
+ .hjm-icon[data-tone="inverse"] { color: var(--hjm-color-on-primary); }
726
+ .hjm-counter-badge { display: inline-grid; place-items: center; min-inline-size: 20px; block-size: 20px; padding-inline: var(--hjm-space-xs); border-radius: var(--hjm-radius-full); color: var(--hjm-color-bg); background: var(--hjm-color-text); font-size: var(--hjm-type-caption-size); line-height: 1; font-weight: var(--hjm-font-weight-bold); font-variant-numeric: tabular-nums; }
727
+ .hjm-counter-badge[data-size="small"] { min-inline-size: 16px; block-size: 16px; padding-inline: var(--hjm-space-xxs); }
728
+ .hjm-counter-badge[data-tone="brand"] { color: var(--hjm-color-on-primary); background: var(--hjm-color-primary); }
729
+ .hjm-counter-badge[data-tone="danger"] { color: var(--hjm-color-on-danger); background: var(--hjm-color-danger-fill); }
730
+ .hjm-counter-badge[data-variant="floating"] { border: 2px solid var(--hjm-color-bg); }
731
+
732
+ .hjm-card { overflow: hidden; }
733
+ .hjm-card__media > * { display: block; inline-size: 100%; }
734
+ .hjm-card__body { display: grid; gap: var(--hjm-space-xs); padding: var(--hjm-space-md); }
735
+ .hjm-card__header { display: flex; align-items: flex-start; gap: var(--hjm-space-sm); min-inline-size: 0; }
736
+ .hjm-card__leading { flex: 0 0 auto; display: inline-grid; place-items: center; line-height: 1; }
737
+ .hjm-card__copy { flex: 1 1 auto; min-inline-size: 0; display: grid; gap: var(--hjm-space-xs); }
738
+ .hjm-card__title { margin: 0; color: var(--hjm-color-text); font-size: var(--hjm-type-title-size); line-height: var(--hjm-type-title-line-height); overflow-wrap: anywhere; }
739
+ .hjm-card__description { margin: 0; overflow-wrap: anywhere; }
740
+ .hjm-card__actions { display: flex; flex-wrap: wrap; gap: var(--hjm-space-sm); padding: 0 var(--hjm-space-md) var(--hjm-space-md); }
741
+ .hjm-list-row { inline-size: 100%; display: flex; align-items: center; gap: var(--hjm-space-sm); min-block-size: 56px; padding: var(--hjm-space-xs); border: 0; color: inherit; background: transparent; text-align: start; text-decoration: none; font: inherit; }
742
+ button.hjm-list-row, a.hjm-list-row { cursor: pointer; }
743
+ .hjm-list-row[data-density="compact"] { min-block-size: var(--hjm-control-min-touch-target); padding-block: var(--hjm-space-xxs); }
744
+ .hjm-list-row[data-state="selected"] { background: var(--hjm-color-surface-accent); }
745
+ .hjm-list-row[data-state="disabled"] { opacity: 0.5; cursor: not-allowed; }
746
+ .hjm-list-row__leading, .hjm-list-row__trailing { flex: 0 0 auto; }
747
+ .hjm-list-row__content { flex: 1 1 auto; min-inline-size: 0; display: grid; gap: var(--hjm-space-xxs); }
748
+ .hjm-list-row__title { color: var(--hjm-color-text-body); font-weight: var(--hjm-font-weight-bold); overflow-wrap: anywhere; }
749
+ .hjm-list-row__description, .hjm-list-row__trailing { color: var(--hjm-color-text-muted); overflow-wrap: anywhere; }
750
+
751
+ .hjm-section { display: grid; gap: var(--hjm-space-xs); min-inline-size: 0; }
752
+ .hjm-section__header { display: flex; align-items: center; justify-content: space-between; gap: var(--hjm-space-sm); min-inline-size: 0; }
753
+ .hjm-section__copy { display: grid; flex: 1 1 auto; gap: var(--hjm-space-xxs); min-inline-size: 0; }
754
+ .hjm-section__title { margin: 0; color: var(--hjm-color-text-body); font: inherit; font-weight: var(--hjm-font-weight-bold); overflow-wrap: anywhere; }
755
+ .hjm-section__description { color: var(--hjm-color-text-muted); overflow-wrap: anywhere; }
756
+ .hjm-section__action { flex: 0 0 auto; }
757
+ .hjm-section__content { min-inline-size: 0; }
758
+ @media (max-width: 640px) {
759
+ .hjm-section__header { align-items: stretch; flex-direction: column; }
760
+ }
761
+
762
+ .hjm-chip { min-block-size: var(--hjm-control-min-touch-target); display: inline-flex; align-items: center; gap: var(--hjm-space-xs); padding-inline: var(--hjm-space-sm); border: 1px solid var(--hjm-color-border); border-radius: 999px; background: var(--hjm-color-surface); color: var(--hjm-color-text-body); font: inherit; font-weight: var(--hjm-font-weight-medium); cursor: pointer; }
763
+ .hjm-chip[data-size="small"] { min-block-size: 36px; padding-inline: var(--hjm-space-xs); }
764
+ .hjm-chip[data-selected] { border-color: var(--hjm-color-content-brand); background: var(--hjm-color-surface-accent); color: var(--hjm-color-content-brand); }
765
+ .hjm-chip:disabled { opacity: 0.5; cursor: not-allowed; }
766
+ .hjm-chip:focus-visible { outline: var(--hjm-focus-width) solid var(--hjm-color-focus); outline-offset: var(--hjm-focus-offset); }
767
+ .hjm-chip__indicator, .hjm-chip__leading, .hjm-chip__trailing { display: inline-flex; flex: 0 0 auto; }
768
+ .hjm-chip__label { overflow-wrap: anywhere; }
769
+
770
+ .hjm-list { overflow: hidden; min-inline-size: 0; }
771
+ .hjm-list[data-appearance="grouped"] { border-radius: var(--hjm-radius-lg); background: var(--hjm-color-surface); }
772
+ .hjm-list__item { min-inline-size: 0; }
773
+ .hjm-list[data-separator="full"] > .hjm-list__item + .hjm-list__item { border-block-start: 1px solid var(--hjm-color-border); }
774
+ .hjm-list[data-separator="indented"] > .hjm-list__item + .hjm-list__item { border-block-start: 1px solid var(--hjm-color-border); margin-inline-start: var(--hjm-space-xl); }
775
+
776
+ .hjm-statistic { display: grid; gap: var(--hjm-space-xxs); min-inline-size: 0; color: var(--hjm-color-text-body); }
777
+ .hjm-statistic[data-presentation="surface"] { padding: var(--hjm-space-md); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-surface); }
778
+ .hjm-statistic[data-density="compact"] { gap: 2px; }
779
+ .hjm-statistic__label { color: var(--hjm-color-text-muted); font-weight: var(--hjm-font-weight-medium); overflow-wrap: anywhere; }
780
+ .hjm-statistic__value-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--hjm-space-xxs); min-inline-size: 0; }
781
+ .hjm-statistic__value { color: var(--hjm-color-text); font-size: calc(var(--hjm-type-title-size) * var(--hjm-text-scale, 1)); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
782
+ .hjm-statistic__affix, .hjm-statistic__hint { color: var(--hjm-color-text-muted); }
783
+ .hjm-statistic__trend { display: inline-flex; align-items: center; gap: var(--hjm-space-xxs); font-weight: var(--hjm-font-weight-medium); overflow-wrap: anywhere; }
784
+ .hjm-statistic__trend[data-tone="success"] { color: var(--hjm-color-success); }
785
+ .hjm-statistic__trend[data-tone="warning"] { color: var(--hjm-color-warning); }
786
+ .hjm-statistic__trend[data-tone="danger"] { color: var(--hjm-color-danger); }
787
+ .hjm-statistic-group { display: grid; grid-template-columns: repeat(var(--hjm-statistic-columns), minmax(0, 1fr)); gap: var(--hjm-space-sm); min-inline-size: 0; }
788
+ @media (max-width: 640px) {
789
+ .hjm-statistic-group { grid-template-columns: minmax(0, 1fr); }
790
+ }
791
+
792
+ .hjm-notice { display: flex; align-items: flex-start; gap: var(--hjm-space-sm); padding: var(--hjm-space-md); border: 1px solid; border-radius: var(--hjm-radius-md); color: var(--hjm-color-text-body); background: var(--hjm-color-surface); border-color: var(--hjm-color-border); }
793
+ .hjm-notice[data-tone="info"] { border-color: var(--hjm-accent-info); }
794
+ .hjm-notice[data-tone="success"] { border-color: var(--hjm-accent-success); background: color-mix(in srgb, var(--hjm-accent-success) 10%, var(--hjm-color-bg)); }
795
+ .hjm-notice[data-tone="warning"] { border-color: var(--hjm-accent-warning); background: color-mix(in srgb, var(--hjm-accent-warning) 10%, var(--hjm-color-bg)); }
796
+ .hjm-notice[data-tone="attention"] { border-color: var(--hjm-accent-attention); background: color-mix(in srgb, var(--hjm-accent-attention) 10%, var(--hjm-color-bg)); }
797
+ .hjm-notice[data-tone="danger"] { border-color: var(--hjm-color-danger); background: color-mix(in srgb, var(--hjm-color-danger) 10%, var(--hjm-color-bg)); }
798
+ .hjm-notice__content { flex: 1 1 auto; min-inline-size: 0; display: grid; gap: var(--hjm-space-xxs); }
799
+ .hjm-notice__title, .hjm-notice__description { overflow-wrap: anywhere; }
800
+
801
+ .hjm-empty-state { display: grid; justify-items: center; gap: var(--hjm-space-xs); padding: var(--hjm-space-xxl) var(--hjm-space-xl); color: var(--hjm-color-text-muted); text-align: center; }
802
+ .hjm-empty-state[data-density="compact"] { padding-block: var(--hjm-space-xl); }
803
+ .hjm-empty-state__title { color: var(--hjm-color-text); }
804
+ .hjm-result { display: grid; justify-items: center; gap: var(--hjm-space-sm); padding: var(--hjm-space-xxxl) var(--hjm-space-xl); text-align: center; }
805
+ .hjm-result__icon { inline-size: 3.5rem; block-size: 3.5rem; display: grid; place-items: center; border-radius: var(--hjm-radius-full); font-size: 1.5rem; font-weight: var(--hjm-font-weight-bold); }
806
+ .hjm-result__icon:empty::before { content: "i"; }
807
+ .hjm-result[data-status="success"] .hjm-result__icon { color: var(--hjm-accent-success); background: color-mix(in srgb, var(--hjm-accent-success) 12%, transparent); }
808
+ .hjm-result[data-status="success"] .hjm-result__icon:empty::before { content: "✓"; }
809
+ .hjm-result[data-status="failure"] .hjm-result__icon { color: var(--hjm-color-danger); background: color-mix(in srgb, var(--hjm-color-danger) 12%, transparent); }
810
+ .hjm-result[data-status="failure"] .hjm-result__icon:empty::before { content: "!"; }
811
+ .hjm-result[data-status="info"] .hjm-result__icon { color: var(--hjm-accent-info); background: color-mix(in srgb, var(--hjm-accent-info) 12%, transparent); }
812
+ .hjm-result__title { margin: 0; color: var(--hjm-color-text); font-size: var(--hjm-type-title-large-size); line-height: var(--hjm-type-title-large-line-height); overflow-wrap: anywhere; }
813
+ .hjm-result__description { max-inline-size: 40rem; margin: 0; color: var(--hjm-color-text-muted); overflow-wrap: anywhere; }
814
+ .hjm-result__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--hjm-space-sm); margin-block-start: var(--hjm-space-xs); }
815
+ .hjm-progress { display: grid; gap: var(--hjm-space-xs); }
816
+ .hjm-progress__copy { display: flex; justify-content: space-between; gap: var(--hjm-space-md); color: var(--hjm-color-text-body); }
817
+ .hjm-progress__native { inline-size: 100%; block-size: 8px; border: 0; border-radius: var(--hjm-radius-full); overflow: hidden; accent-color: var(--hjm-color-content-brand); }
818
+ .hjm-progress[data-size="small"] .hjm-progress__native { block-size: 4px; }
819
+ .hjm-progress[data-size="large"] .hjm-progress__native { block-size: 12px; }
820
+ .hjm-progress[data-tone="success"] .hjm-progress__native { accent-color: var(--hjm-accent-success); }
821
+ .hjm-progress[data-tone="warning"] .hjm-progress__native { accent-color: var(--hjm-accent-warning); }
822
+ .hjm-progress[data-tone="danger"] .hjm-progress__native { accent-color: var(--hjm-color-danger); }
823
+ .hjm-spinner { display: inline-flex; align-items: center; justify-content: center; color: var(--hjm-color-content-brand); }
824
+ .hjm-spinner[data-tone="neutral"] { color: var(--hjm-color-text-muted); }
825
+ .hjm-spinner[data-tone="inverse"] { color: var(--hjm-color-on-primary); }
826
+ .hjm-spinner[data-size="small"] { font-size: 14px; }
827
+ .hjm-spinner[data-size="medium"] { font-size: 20px; }
828
+ .hjm-spinner[data-size="large"] { font-size: 28px; }
829
+ .hjm-skeleton { display: block; inline-size: 100%; min-block-size: var(--hjm-space-xxl); border-radius: var(--hjm-radius-md); background: var(--hjm-color-surface-alt); }
830
+ .hjm-skeleton[data-shape="text"] { min-block-size: var(--hjm-space-md); border-radius: var(--hjm-radius-sm); }
831
+ .hjm-skeleton[data-shape="circle"] { inline-size: 44px; block-size: 44px; border-radius: 50%; }
832
+ .hjm-skeleton[data-animated="true"] { animation: hjm-pulse 1280ms ease-in-out infinite alternate; }
833
+
834
+ /* Overlays ---------------------------------------------------------------- */
835
+ .hjm-portal { color: var(--hjm-color-text); }
836
+ .hjm-portal[inert] { visibility: hidden; pointer-events: none; }
837
+ .hjm-overlay {
838
+ position: fixed;
839
+ z-index: 1000;
840
+ inset: 0;
841
+ display: flex;
842
+ align-items: center;
843
+ justify-content: center;
844
+ padding: var(--hjm-space-md);
845
+ background: rgb(0 0 0 / 58%);
846
+ overscroll-behavior: contain;
847
+ }
848
+ .hjm-dialog,
849
+ .hjm-alert-dialog,
850
+ .hjm-sheet {
851
+ min-inline-size: 0;
852
+ max-inline-size: calc(100vw - (2 * var(--hjm-space-md)));
853
+ max-block-size: calc(100dvh - (2 * var(--hjm-space-md)));
854
+ overflow: auto;
855
+ border: 1px solid var(--hjm-color-border);
856
+ border-radius: var(--hjm-radius-lg);
857
+ color: var(--hjm-color-text);
858
+ background: var(--hjm-color-surface);
859
+ box-shadow: 0 16px 48px rgb(0 0 0 / 28%);
860
+ }
861
+ .hjm-dialog { inline-size: min(36rem, 100%); }
862
+ .hjm-dialog[data-size="small"] { inline-size: min(28rem, 100%); }
863
+ .hjm-dialog[data-size="large"] { inline-size: min(48rem, 100%); }
864
+ .hjm-alert-dialog[data-size="small"] { inline-size: min(28rem, 100%); }
865
+ .hjm-alert-dialog[data-size="large"] { inline-size: min(48rem, 100%); }
866
+ .hjm-dialog__header,
867
+ .hjm-sheet__header {
868
+ display: flex;
869
+ align-items: flex-start;
870
+ justify-content: space-between;
871
+ gap: var(--hjm-space-md);
872
+ padding: var(--hjm-space-lg) var(--hjm-space-lg) 0;
873
+ }
874
+ .hjm-dialog__title,
875
+ .hjm-sheet__title,
876
+ .hjm-alert-dialog__title {
877
+ margin: 0;
878
+ font-size: var(--hjm-type-title-size);
879
+ line-height: var(--hjm-type-title-line-height);
880
+ overflow-wrap: anywhere;
881
+ }
882
+ .hjm-dialog__description,
883
+ .hjm-sheet__description,
884
+ .hjm-alert-dialog__description {
885
+ margin: var(--hjm-space-xs) 0 0;
886
+ color: var(--hjm-color-text-muted);
887
+ overflow-wrap: anywhere;
888
+ }
889
+ .hjm-dialog > .hjm-dialog__description { padding-inline: var(--hjm-space-lg); }
890
+ .hjm-dialog__body,
891
+ .hjm-sheet__body { padding: var(--hjm-space-lg); }
892
+ .hjm-dialog__footer,
893
+ .hjm-sheet__footer,
894
+ .hjm-alert-dialog__actions {
895
+ display: flex;
896
+ flex-wrap: wrap;
897
+ justify-content: flex-end;
898
+ gap: var(--hjm-space-sm);
899
+ padding: 0 var(--hjm-space-lg) var(--hjm-space-lg);
900
+ }
901
+ .hjm-dialog__close {
902
+ flex: 0 0 auto;
903
+ display: grid;
904
+ place-items: center;
905
+ inline-size: var(--hjm-control-min-touch-target);
906
+ block-size: var(--hjm-control-min-touch-target);
907
+ margin: calc(-1 * var(--hjm-space-xs));
908
+ border: 0;
909
+ border-radius: var(--hjm-radius-md);
910
+ color: var(--hjm-color-text-muted);
911
+ background: transparent;
912
+ font: inherit;
913
+ font-size: 1.5em;
914
+ cursor: pointer;
915
+ }
916
+ .hjm-dialog__close:disabled { opacity: 0.5; cursor: not-allowed; }
917
+ .hjm-alert-dialog {
918
+ inline-size: min(36rem, 100%);
919
+ display: grid;
920
+ gap: var(--hjm-space-sm);
921
+ padding: var(--hjm-space-lg);
922
+ }
923
+ .hjm-alert-dialog__icon { color: var(--hjm-accent-attention); font-size: 1.5rem; }
924
+ .hjm-alert-dialog[data-tone="danger"] .hjm-alert-dialog__icon,
925
+ .hjm-alert-dialog__error { color: var(--hjm-color-danger); }
926
+ .hjm-alert-dialog__description,
927
+ .hjm-alert-dialog__error { margin: 0; }
928
+ .hjm-alert-dialog__actions { padding: var(--hjm-space-sm) 0 0; }
929
+ .hjm-sheet-positioner {
930
+ padding-block-start: max(var(--hjm-space-md), env(safe-area-inset-top, 0px));
931
+ padding-block-end: max(var(--hjm-space-md), env(safe-area-inset-bottom, 0px));
932
+ padding-inline-start: max(var(--hjm-space-md), env(safe-area-inset-left, 0px));
933
+ padding-inline-end: max(var(--hjm-space-md), env(safe-area-inset-right, 0px));
934
+ }
935
+ .hjm-sheet-positioner[data-placement="bottom"] {
936
+ align-items: flex-end;
937
+ padding-block-end: 0;
938
+ }
939
+ .hjm-sheet-positioner[data-placement="start"] { justify-content: flex-start; }
940
+ .hjm-sheet-positioner[data-placement="end"] { justify-content: flex-end; }
941
+ .hjm-sheet {
942
+ inline-size: min(28rem, 100%);
943
+ display: flex;
944
+ flex-direction: column;
945
+ overflow: hidden;
946
+ }
947
+ .hjm-sheet__header,
948
+ .hjm-sheet__footer { flex: 0 0 auto; }
949
+ .hjm-sheet__body {
950
+ min-block-size: 0;
951
+ flex: 1 1 auto;
952
+ display: flex;
953
+ flex-direction: column;
954
+ overflow: auto;
955
+ overscroll-behavior: contain;
956
+ }
957
+ .hjm-sheet[data-placement="bottom"] {
958
+ inline-size: min(48rem, 100%);
959
+ max-block-size: min(88dvh, 48rem);
960
+ border-end-start-radius: 0;
961
+ border-end-end-radius: 0;
962
+ }
963
+ .hjm-sheet[data-placement="bottom"]:not([data-has-footer="true"]) > .hjm-sheet__body {
964
+ padding-block-end: calc(var(--hjm-space-lg) + env(safe-area-inset-bottom, 0px));
965
+ }
966
+ .hjm-sheet[data-placement="bottom"] > .hjm-sheet__footer {
967
+ padding-block-end: calc(var(--hjm-space-lg) + env(safe-area-inset-bottom, 0px));
968
+ }
969
+ .hjm-sheet[data-placement="start"],
970
+ .hjm-sheet[data-placement="end"] {
971
+ block-size: calc(100dvh - (2 * var(--hjm-space-md)));
972
+ }
973
+ .hjm-tooltip { position: relative; display: inline-flex; }
974
+ .hjm-tooltip__content {
975
+ position: fixed;
976
+ z-index: 1100;
977
+ inline-size: max-content;
978
+ max-inline-size: min(20rem, 80vw);
979
+ padding: var(--hjm-space-xs) var(--hjm-space-sm);
980
+ border-radius: var(--hjm-radius-sm);
981
+ color: var(--hjm-color-bg);
982
+ background: var(--hjm-color-text);
983
+ font-size: var(--hjm-type-label-size);
984
+ line-height: var(--hjm-type-label-line-height);
985
+ overflow-wrap: anywhere;
986
+ pointer-events: auto;
987
+ }
988
+ .hjm-menu { position: relative; display: inline-flex; }
989
+ .hjm-menu__content {
990
+ position: fixed;
991
+ z-index: 900;
992
+ min-inline-size: 13.75rem;
993
+ max-inline-size: min(24rem, 90vw);
994
+ max-block-size: calc(100dvh - (2 * var(--hjm-space-md)));
995
+ overflow: auto;
996
+ padding: var(--hjm-space-xxs);
997
+ border: 1px solid var(--hjm-color-border);
998
+ border-radius: var(--hjm-radius-md);
999
+ background: var(--hjm-color-surface);
1000
+ box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
1001
+ }
1002
+ .hjm-menu__item {
1003
+ inline-size: 100%;
1004
+ min-block-size: var(--hjm-control-min-touch-target);
1005
+ display: flex;
1006
+ align-items: center;
1007
+ gap: var(--hjm-space-sm);
1008
+ padding: var(--hjm-space-xs) var(--hjm-space-sm);
1009
+ border: 0;
1010
+ border-radius: var(--hjm-radius-sm);
1011
+ color: var(--hjm-color-text-body);
1012
+ background: transparent;
1013
+ font: inherit;
1014
+ text-align: start;
1015
+ cursor: pointer;
1016
+ }
1017
+ .hjm-menu__content[data-density="comfortable"] .hjm-menu__item { min-block-size: 3.5rem; }
1018
+ .hjm-menu__item:hover,
1019
+ .hjm-menu__item[data-focus="true"] { background: var(--hjm-color-surface-alt); }
1020
+ .hjm-menu__item[data-tone="danger"] { color: var(--hjm-color-danger); }
1021
+ .hjm-menu__item[data-state="selected"] { color: var(--hjm-color-content-brand); font-weight: var(--hjm-font-weight-semibold); }
1022
+ .hjm-menu__item:disabled { opacity: 0.5; cursor: not-allowed; }
1023
+ .hjm-menu__state-message { min-block-size: var(--hjm-control-min-touch-target); display: flex; align-items: center; padding: var(--hjm-space-xs) var(--hjm-space-sm); color: var(--hjm-color-text-muted); overflow-wrap: anywhere; }
1024
+ .hjm-menu__section-label { padding: var(--hjm-space-xs) var(--hjm-space-sm); color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); font-weight: var(--hjm-font-weight-semibold); }
1025
+ .hjm-menu__separator { block-size: 1px; margin: var(--hjm-space-xxs) var(--hjm-space-xs); background: var(--hjm-color-border); }
1026
+ .hjm-menu__danger-indicator { flex: 0 0 auto; color: var(--hjm-color-danger); font-weight: var(--hjm-font-weight-bold); }
1027
+ .hjm-menu__copy { flex: 1 1 auto; min-inline-size: 0; display: grid; gap: var(--hjm-space-xxs); }
1028
+ .hjm-menu__description { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); }
1029
+ .hjm-menu__leading,
1030
+ .hjm-menu__trailing { flex: 0 0 auto; color: var(--hjm-color-text-muted); }
1031
+
1032
+ /* Advanced forms --------------------------------------------------------- */
1033
+ .hjm-select__native { appearance: none; padding-inline-end: calc(var(--hjm-space-lg) + var(--hjm-space-sm)); cursor: pointer; }
1034
+ .hjm-select__anchor { position: relative; min-inline-size: 0; }
1035
+ .hjm-select__trigger { inline-size: 100%; justify-content: space-between; gap: var(--hjm-space-sm); color: var(--hjm-color-text); font: inherit; text-align: start; cursor: pointer; }
1036
+ .hjm-select__trigger:disabled { cursor: not-allowed; }
1037
+ .hjm-select__trigger[aria-disabled="true"] { cursor: progress; }
1038
+ .hjm-select__leading, .hjm-select__option-leading { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; color: var(--hjm-color-text-muted); }
1039
+ .hjm-select__value { min-inline-size: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1040
+ .hjm-select__value[data-state="placeholder"] { color: var(--hjm-color-text-muted); }
1041
+ .hjm-select__indicator { flex: 0 0 auto; color: var(--hjm-color-text-muted); pointer-events: none; }
1042
+ .hjm-select__busy-indicator { flex: 0 0 auto; inline-size: 1em; block-size: 1em; border: 2px solid var(--hjm-color-content-brand); border-inline-end-color: transparent; border-radius: 50%; animation: hjm-spin 800ms linear infinite; }
1043
+ .hjm-select__native + .hjm-select__indicator { margin-inline-start: calc(-1 * var(--hjm-space-lg)); }
1044
+ .hjm-select__listbox { position: fixed; z-index: 800; max-inline-size: min(26.25rem, calc(100vw - (2 * var(--hjm-space-md)))); max-block-size: 22.5rem; overflow: auto; padding: var(--hjm-space-xxs); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); background: var(--hjm-color-surface); box-shadow: 0 8px 24px rgb(0 0 0 / 18%); }
1045
+ .hjm-select__section-label { padding: var(--hjm-space-xs) var(--hjm-space-sm); color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); font-weight: var(--hjm-font-weight-semibold); }
1046
+ .hjm-select__option, .hjm-select__message { min-block-size: var(--hjm-control-min-touch-target); display: flex; align-items: center; gap: var(--hjm-space-sm); padding: var(--hjm-space-xs) var(--hjm-space-sm); border-radius: var(--hjm-radius-sm); overflow-wrap: anywhere; }
1047
+ .hjm-select[data-density="comfortable"] .hjm-select__option,
1048
+ .hjm-select__listbox[data-density="comfortable"] .hjm-select__option { min-block-size: 3.5rem; }
1049
+ .hjm-select__option { cursor: pointer; }
1050
+ .hjm-select__option[data-active="true"] { background: var(--hjm-color-surface-alt); }
1051
+ .hjm-select__option[data-state="selected"] { color: var(--hjm-color-content-brand); font-weight: var(--hjm-font-weight-bold); }
1052
+ .hjm-select__option[data-state="disabled"] { opacity: 0.5; cursor: not-allowed; }
1053
+ .hjm-select__option-copy { min-inline-size: 0; flex: 1 1 auto; display: grid; gap: var(--hjm-space-xxs); }
1054
+ .hjm-select__option-description, .hjm-select__message { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); }
1055
+ .hjm-select__check { flex: 0 0 auto; }
1056
+ .hjm-select[data-size="large"] .hjm-field__control,
1057
+ .hjm-combobox[data-size="large"] .hjm-field__control { min-block-size: var(--hjm-control-button-large); }
1058
+ .hjm-combobox__anchor { position: relative; min-inline-size: 0; }
1059
+ .hjm-combobox__spinner {
1060
+ flex: 0 0 auto;
1061
+ inline-size: 1em;
1062
+ block-size: 1em;
1063
+ border: 2px solid var(--hjm-color-content-brand);
1064
+ border-inline-end-color: transparent;
1065
+ border-radius: 50%;
1066
+ animation: hjm-spin 800ms linear infinite;
1067
+ }
1068
+ .hjm-combobox__listbox {
1069
+ position: fixed;
1070
+ z-index: 800;
1071
+ max-block-size: 22.5rem;
1072
+ overflow: auto;
1073
+ padding: var(--hjm-space-xxs);
1074
+ border: 1px solid var(--hjm-color-border);
1075
+ border-radius: var(--hjm-radius-md);
1076
+ background: var(--hjm-color-surface);
1077
+ box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
1078
+ }
1079
+ .hjm-combobox__option,
1080
+ .hjm-combobox__message {
1081
+ min-block-size: var(--hjm-control-min-touch-target);
1082
+ display: flex;
1083
+ align-items: center;
1084
+ padding: var(--hjm-space-xs) var(--hjm-space-sm);
1085
+ border-radius: var(--hjm-radius-sm);
1086
+ overflow-wrap: anywhere;
1087
+ }
1088
+ .hjm-combobox[data-density="comfortable"] .hjm-combobox__option,
1089
+ .hjm-combobox__listbox[data-density="comfortable"] .hjm-combobox__option { min-block-size: 3.5rem; }
1090
+ .hjm-combobox__option { cursor: pointer; }
1091
+ .hjm-combobox__option[data-state="active"] { background: var(--hjm-color-surface-alt); }
1092
+ .hjm-combobox__option[data-state="selected"] { color: var(--hjm-color-content-brand); font-weight: var(--hjm-font-weight-bold); }
1093
+ .hjm-combobox__option[data-state="disabled"] { opacity: 0.5; cursor: not-allowed; }
1094
+ .hjm-combobox__message { color: var(--hjm-color-text-muted); }
1095
+ .hjm-form__fieldset { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
1096
+ .hjm-form__fields { display: grid; gap: var(--hjm-space-lg); }
1097
+ .hjm-form[data-density="compact"] .hjm-form__fields { gap: var(--hjm-space-sm); }
1098
+ .hjm-form__error { margin-block-start: var(--hjm-space-sm); color: var(--hjm-color-danger); }
1099
+ .hjm-form__actions { display: flex; flex-wrap: wrap; gap: var(--hjm-space-sm); margin-block-start: var(--hjm-space-sm); }
1100
+
1101
+ /* Advanced display ------------------------------------------------------- */
1102
+ .hjm-timeline { display: grid; gap: var(--hjm-space-md); margin: 0; padding: 0; list-style: none; }
1103
+ .hjm-timeline__item { min-inline-size: 0; display: grid; grid-template-columns: 1rem minmax(0, 1fr); gap: var(--hjm-space-sm); }
1104
+ .hjm-timeline__rail { position: relative; display: flex; justify-content: center; }
1105
+ .hjm-timeline__dot { position: relative; z-index: 1; inline-size: 0.625rem; block-size: 0.625rem; margin-block-start: 0.25rem; border: 1px solid transparent; border-radius: var(--hjm-radius-full); background: var(--hjm-color-text-muted); }
1106
+ .hjm-timeline__item[data-tone="info"] .hjm-timeline__dot { border-color: var(--hjm-accent-info); background: var(--hjm-accent-info); }
1107
+ .hjm-timeline__item[data-tone="success"] .hjm-timeline__dot { border-color: var(--hjm-accent-success); background: var(--hjm-accent-success); }
1108
+ .hjm-timeline__item[data-tone="attention"] .hjm-timeline__dot { border-color: var(--hjm-accent-attention); background: var(--hjm-accent-attention); }
1109
+ .hjm-timeline__connector { position: absolute; inset-block: 0.875rem calc(-1 * var(--hjm-space-md)); inline-size: 1px; background: var(--hjm-color-border); }
1110
+ .hjm-timeline__content { min-inline-size: 0; display: grid; gap: var(--hjm-space-xxs); padding-block-end: var(--hjm-space-xxs); }
1111
+ .hjm-timeline__heading { min-inline-size: 0; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--hjm-space-xxs) var(--hjm-space-sm); }
1112
+ .hjm-timeline__label { color: var(--hjm-color-text); font-weight: var(--hjm-font-weight-semibold); overflow-wrap: anywhere; }
1113
+ .hjm-timeline__timestamp { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-caption-size); line-height: var(--hjm-type-caption-line-height); }
1114
+ .hjm-timeline__description { color: var(--hjm-color-text-body); white-space: pre-wrap; overflow-wrap: anywhere; }
1115
+ .hjm-accordion { border-block-start: 1px solid var(--hjm-color-border); }
1116
+ .hjm-accordion__item { border-block-end: 1px solid var(--hjm-color-border); }
1117
+ .hjm-accordion__header { margin: 0; }
1118
+ .hjm-accordion__trigger {
1119
+ inline-size: 100%;
1120
+ min-block-size: 3.5rem;
1121
+ display: flex;
1122
+ align-items: center;
1123
+ justify-content: space-between;
1124
+ gap: var(--hjm-space-sm);
1125
+ padding: var(--hjm-space-sm) var(--hjm-space-xs);
1126
+ border: 0;
1127
+ color: var(--hjm-color-text-body);
1128
+ background: transparent;
1129
+ font: inherit;
1130
+ font-weight: var(--hjm-font-weight-bold);
1131
+ text-align: start;
1132
+ cursor: pointer;
1133
+ }
1134
+ .hjm-accordion[data-density="compact"] .hjm-accordion__trigger { min-block-size: var(--hjm-control-min-touch-target); padding-block: var(--hjm-space-xs); }
1135
+ .hjm-accordion__trigger:hover { background: var(--hjm-color-surface-alt); }
1136
+ .hjm-accordion__trigger:disabled { opacity: 0.5; cursor: not-allowed; }
1137
+ .hjm-accordion__title { min-inline-size: 0; overflow-wrap: anywhere; }
1138
+ .hjm-accordion__indicator { flex: 0 0 auto; color: var(--hjm-color-text-muted); }
1139
+ .hjm-accordion__panel { padding: 0 var(--hjm-space-xs) var(--hjm-space-md); color: var(--hjm-color-text-body); overflow-wrap: anywhere; }
1140
+ .hjm-avatar {
1141
+ display: inline-grid;
1142
+ place-items: center;
1143
+ inline-size: 2.5rem;
1144
+ block-size: 2.5rem;
1145
+ overflow: hidden;
1146
+ border: 1px solid var(--hjm-color-border);
1147
+ border-radius: 50%;
1148
+ color: var(--hjm-color-text-muted);
1149
+ background: var(--hjm-color-surface-alt);
1150
+ font-weight: var(--hjm-font-weight-bold);
1151
+ }
1152
+ .hjm-avatar[data-size="small"] { inline-size: 2rem; block-size: 2rem; font-size: var(--hjm-type-label-size); }
1153
+ .hjm-avatar[data-size="large"] { inline-size: 3rem; block-size: 3rem; }
1154
+ .hjm-avatar[data-size="xlarge"] { inline-size: 4rem; block-size: 4rem; font-size: var(--hjm-type-title-size); }
1155
+ .hjm-avatar[data-shape="rounded"] { border-radius: var(--hjm-radius-md); }
1156
+ .hjm-avatar__image { inline-size: 100%; block-size: 100%; object-fit: cover; }
1157
+ .hjm-avatar__fallback { display: grid; place-items: center; inline-size: 100%; block-size: 100%; }
1158
+ .hjm-divider { flex: 0 0 auto; margin: 0; border: 0; background: var(--hjm-color-border); }
1159
+ .hjm-divider[data-orientation="horizontal"] { inline-size: 100%; block-size: 1px; }
1160
+ .hjm-divider[data-orientation="vertical"] { align-self: stretch; inline-size: 1px; min-block-size: var(--hjm-control-min-touch-target); }
1161
+ .hjm-divider[data-orientation="horizontal"][data-inset="start"] { margin-inline-start: var(--hjm-space-md); inline-size: calc(100% - var(--hjm-space-md)); }
1162
+ .hjm-divider[data-orientation="horizontal"][data-inset="both"] { margin-inline: var(--hjm-space-md); inline-size: calc(100% - (2 * var(--hjm-space-md))); }
1163
+ .hjm-description-list { display: grid; grid-template-columns: repeat(var(--hjm-description-columns), minmax(0, 1fr)); gap: var(--hjm-space-sm); margin: 0; }
1164
+ .hjm-description-list__item { min-inline-size: 0; display: grid; gap: var(--hjm-space-xxs); }
1165
+ .hjm-description-list__label { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); font-weight: var(--hjm-font-weight-semibold); }
1166
+ .hjm-description-list__value { margin: 0; color: var(--hjm-color-text); overflow-wrap: anywhere; }
1167
+ .hjm-table-scroll { max-inline-size: 100%; overflow: auto; outline-offset: 2px; }
1168
+ .hjm-table { inline-size: 100%; border-collapse: collapse; color: var(--hjm-color-text-body); }
1169
+ .hjm-table__caption { padding: var(--hjm-space-sm); color: var(--hjm-color-text); font-weight: var(--hjm-font-weight-bold); text-align: start; }
1170
+ .hjm-table__header,
1171
+ .hjm-table__cell { padding: var(--hjm-space-sm); border-block-end: 1px solid var(--hjm-color-border); text-align: start; vertical-align: top; overflow-wrap: anywhere; }
1172
+ .hjm-table__header { color: var(--hjm-color-text); background: var(--hjm-color-surface-alt); }
1173
+ .hjm-table__header[data-align="center"], .hjm-table__cell[data-align="center"] { text-align: center; }
1174
+ .hjm-table__header[data-align="end"], .hjm-table__cell[data-align="end"] { text-align: end; }
1175
+ .hjm-table__row:hover { background: var(--hjm-color-surface-alt); }
1176
+ .hjm-table__sort { display: inline-flex; align-items: center; gap: var(--hjm-space-xxs); padding: var(--hjm-space-xxs); border: 0; color: inherit; background: transparent; font: inherit; font-weight: inherit; cursor: pointer; }
1177
+ .hjm-table__empty { padding: var(--hjm-space-xl); color: var(--hjm-color-text-muted); text-align: center; }
1178
+
1179
+ /* Web navigation --------------------------------------------------------- */
1180
+ .hjm-breadcrumb__list,
1181
+ .hjm-pagination__list { display: flex; align-items: center; flex-wrap: wrap; gap: var(--hjm-space-xxs); margin: 0; padding: 0; list-style: none; }
1182
+ .hjm-breadcrumb__item { display: inline-flex; align-items: center; gap: var(--hjm-space-xxs); min-inline-size: 0; }
1183
+ .hjm-breadcrumb__link { color: var(--hjm-color-text-muted); text-underline-offset: 0.18em; overflow-wrap: anywhere; }
1184
+ .hjm-breadcrumb__current { color: var(--hjm-color-text); font-weight: var(--hjm-font-weight-semibold); overflow-wrap: anywhere; }
1185
+ .hjm-breadcrumb__separator { color: var(--hjm-color-text-weak); }
1186
+ [dir="rtl"] .hjm-breadcrumb__separator,
1187
+ [dir="rtl"] .hjm-pagination__previous > span,
1188
+ [dir="rtl"] .hjm-pagination__next > span { transform: scaleX(-1); }
1189
+ .hjm-pagination__item,
1190
+ .hjm-pagination__ellipsis {
1191
+ min-inline-size: var(--hjm-control-min-touch-target);
1192
+ min-block-size: var(--hjm-control-min-touch-target);
1193
+ display: grid;
1194
+ place-items: center;
1195
+ padding: var(--hjm-space-xs);
1196
+ border: 1px solid transparent;
1197
+ border-radius: var(--hjm-radius-md);
1198
+ }
1199
+ .hjm-pagination__item { color: var(--hjm-color-text-body); background: transparent; font: inherit; cursor: pointer; }
1200
+ .hjm-pagination__item:hover:not(:disabled) { background: var(--hjm-color-surface-alt); }
1201
+ .hjm-pagination__item[data-state="current"] { border-color: var(--hjm-color-content-brand); color: var(--hjm-color-content-brand); font-weight: var(--hjm-font-weight-bold); }
1202
+ .hjm-pagination__item:disabled { opacity: 0.5; cursor: not-allowed; }
1203
+ .hjm-pagination__ellipsis { color: var(--hjm-color-text-muted); }
1204
+ .hjm-load-more { display: grid; justify-items: center; gap: var(--hjm-space-sm); padding-block: var(--hjm-space-lg); text-align: center; }
1205
+ .hjm-load-more[data-density="compact"] { gap: var(--hjm-space-xs); padding-block: var(--hjm-space-sm); }
1206
+ .hjm-load-more__sentinel { inline-size: 1px; block-size: 1px; }
1207
+ .hjm-load-more__trigger { min-block-size: var(--hjm-control-min-touch-target); padding-inline: var(--hjm-space-md); border: 0; border-radius: var(--hjm-radius-md); color: var(--hjm-color-content-brand); background: transparent; font: inherit; font-weight: var(--hjm-font-weight-bold); cursor: pointer; }
1208
+ .hjm-load-more__status, .hjm-load-more__error { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--hjm-space-sm); color: var(--hjm-color-text-muted); }
1209
+ .hjm-load-more__error { color: var(--hjm-color-danger); }
1210
+ .hjm-load-more__end { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-caption-size); }
1211
+ .hjm-load-more__spinner { inline-size: 1em; block-size: 1em; border: 2px solid var(--hjm-color-content-brand); border-inline-end-color: transparent; border-radius: 50%; animation: hjm-spin 800ms linear infinite; }
1212
+
1213
+ /* Expansion renderers --------------------------------------------------- */
1214
+ .hjm-steps { display: grid; grid-template-columns: repeat(var(--hjm-steps-count, auto-fit), minmax(0, 1fr)); gap: var(--hjm-space-xs); margin: 0; padding: 0; list-style: none; }
1215
+ .hjm-steps__step { min-inline-size: 0; display: grid; gap: var(--hjm-space-xs); }
1216
+ .hjm-steps__rail { display: flex; align-items: center; min-inline-size: 0; }
1217
+ .hjm-steps__indicator { flex: 0 0 auto; inline-size: 1.5rem; block-size: 1.5rem; display: grid; place-items: center; border: 1px solid var(--hjm-color-border); border-radius: 50%; color: var(--hjm-color-text-muted); background: var(--hjm-color-surface); font-size: var(--hjm-type-label-size); font-weight: var(--hjm-font-weight-bold); }
1218
+ .hjm-steps__connector { flex: 1 1 auto; block-size: 1px; background: var(--hjm-color-border); }
1219
+ .hjm-steps__step[data-status="current"] .hjm-steps__indicator { border: 2px solid var(--hjm-color-content-brand); color: var(--hjm-color-content-brand); }
1220
+ .hjm-steps__step[data-status="complete"] .hjm-steps__indicator { border-color: var(--hjm-color-success); color: var(--hjm-color-success); background: var(--hjm-color-surface-alt); }
1221
+ .hjm-steps__step[data-status="complete"] .hjm-steps__connector { background: var(--hjm-color-content-brand); }
1222
+ .hjm-steps__step[data-status="error"] .hjm-steps__indicator { border: 2px solid var(--hjm-color-danger); color: var(--hjm-color-danger); background: var(--hjm-color-danger-fill); }
1223
+ .hjm-steps__copy { min-inline-size: 0; display: grid; gap: var(--hjm-space-xxs); padding-inline-end: var(--hjm-space-sm); }
1224
+ .hjm-steps__label { color: var(--hjm-color-text); font-weight: var(--hjm-font-weight-semibold); overflow-wrap: anywhere; }
1225
+ .hjm-steps__step[data-status="pending"] .hjm-steps__label { color: var(--hjm-color-text-muted); }
1226
+ .hjm-steps__step[data-status="error"] .hjm-steps__label { color: var(--hjm-color-danger); }
1227
+ .hjm-steps__description { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-caption-size); overflow-wrap: anywhere; }
1228
+
1229
+ .hjm-file-picker { display: grid; gap: var(--hjm-space-xs); }
1230
+ .hjm-file-picker__label { color: var(--hjm-color-text); font-weight: var(--hjm-font-weight-semibold); }
1231
+ .hjm-file-picker__dropzone { min-block-size: 8rem; display: grid; place-items: center; gap: var(--hjm-space-sm); padding: var(--hjm-space-xl); border: 1px dashed var(--hjm-color-border); border-radius: var(--hjm-radius-lg); color: var(--hjm-color-text-muted); background: var(--hjm-color-surface); text-align: center; }
1232
+ .hjm-file-picker[data-dragging] .hjm-file-picker__dropzone { border-color: var(--hjm-color-focus); background: var(--hjm-color-surface-accent); }
1233
+ .hjm-file-picker__dropzone button { min-block-size: var(--hjm-control-min-touch-target); padding-inline: var(--hjm-space-md); border: 0; border-radius: var(--hjm-radius-md); color: var(--hjm-color-content-brand); background: transparent; font: inherit; font-weight: var(--hjm-font-weight-bold); cursor: pointer; }
1234
+ .hjm-file-picker__hint { color: var(--hjm-color-text-muted); }
1235
+ .hjm-file-picker__error { color: var(--hjm-color-danger); }
1236
+
1237
+ .hjm-upload-item { min-block-size: 4rem; display: flex; align-items: center; gap: var(--hjm-space-sm); padding: var(--hjm-space-sm) var(--hjm-space-md); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); }
1238
+ .hjm-upload-item__leading { flex: 0 0 auto; }
1239
+ .hjm-upload-item__body { min-inline-size: 0; flex: 1 1 auto; display: grid; gap: var(--hjm-space-xxs); }
1240
+ .hjm-upload-item__name { color: var(--hjm-color-text-body); overflow-wrap: anywhere; }
1241
+ .hjm-upload-item__meta, .hjm-upload-item__status { color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); overflow-wrap: anywhere; }
1242
+ .hjm-upload-item[data-status="success"] .hjm-upload-item__status { color: var(--hjm-color-success); }
1243
+ .hjm-upload-item[data-status="error"] .hjm-upload-item__status { color: var(--hjm-color-danger); }
1244
+ .hjm-upload-item__action { flex: 0 0 auto; min-inline-size: var(--hjm-control-min-touch-target); min-block-size: var(--hjm-control-min-touch-target); border: 0; color: var(--hjm-color-content-brand); background: transparent; font: inherit; font-weight: var(--hjm-font-weight-bold); cursor: pointer; }
1245
+ .hjm-upload-item__action[data-action="cancel"] { color: var(--hjm-color-danger); }
1246
+
1247
+ .hjm-date-picker { display: grid; gap: var(--hjm-space-xs); }
1248
+ .hjm-date-picker__label { color: var(--hjm-color-text); font-weight: var(--hjm-font-weight-semibold); }
1249
+ .hjm-date-picker__anchor { position: relative; display: flex; align-items: center; }
1250
+ .hjm-date-picker__trigger { inline-size: 100%; min-block-size: var(--hjm-control-min-touch-target); display: flex; align-items: center; gap: var(--hjm-space-sm); padding-inline: var(--hjm-space-md) 3rem; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); color: var(--hjm-color-text-body); background: var(--hjm-color-surface); font: inherit; text-align: start; cursor: pointer; }
1251
+ .hjm-date-picker[data-size="large"] .hjm-date-picker__trigger { min-block-size: 3.5rem; padding-inline-start: var(--hjm-space-lg); }
1252
+ .hjm-date-picker[data-invalid] .hjm-date-picker__trigger { border-color: var(--hjm-color-danger); }
1253
+ .hjm-date-picker__trigger [data-placeholder] { color: var(--hjm-color-text-muted); }
1254
+ .hjm-date-picker__clear { position: absolute; inset-inline-end: 0; inline-size: var(--hjm-control-min-touch-target); block-size: var(--hjm-control-min-touch-target); border: 0; color: var(--hjm-color-text-muted); background: transparent; font: inherit; cursor: pointer; }
1255
+ .hjm-date-picker__popover { position: absolute; z-index: 800; inset-block-start: calc(100% + var(--hjm-space-xs)); inset-inline-start: 0; inline-size: min(22.5rem, calc(100vw - 2rem)); padding: var(--hjm-space-sm); border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-lg); color: var(--hjm-color-text); background: var(--hjm-color-surface); box-shadow: 0 8px 24px rgb(0 0 0 / 18%); }
1256
+ .hjm-date-picker__calendar-header { display: grid; grid-template-columns: var(--hjm-control-min-touch-target) minmax(0, 1fr) var(--hjm-control-min-touch-target) var(--hjm-control-min-touch-target); align-items: center; gap: var(--hjm-space-xxs); }
1257
+ .hjm-date-picker__calendar-header strong { text-align: center; overflow-wrap: anywhere; }
1258
+ .hjm-date-picker__calendar-header button, .hjm-date-picker__day { min-inline-size: var(--hjm-control-min-touch-target); min-block-size: var(--hjm-control-min-touch-target); border: 0; border-radius: var(--hjm-radius-full); color: inherit; background: transparent; font: inherit; cursor: pointer; }
1259
+ .hjm-date-picker__weekdays, .hjm-date-picker__week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
1260
+ .hjm-date-picker__weekdays span { padding-block: var(--hjm-space-xs); color: var(--hjm-color-text-muted); font-size: var(--hjm-type-label-size); text-align: center; }
1261
+ .hjm-date-picker__grid { display: grid; }
1262
+ .hjm-date-picker__day { display: grid; place-items: center; align-content: center; overflow: hidden; }
1263
+ .hjm-date-picker__day[data-today] { border: 1px solid var(--hjm-color-focus); }
1264
+ .hjm-date-picker__day[data-selected] { color: var(--hjm-color-on-primary); background: var(--hjm-color-primary); }
1265
+ .hjm-date-picker__day[data-disabled] { opacity: 0.5; cursor: not-allowed; }
1266
+ .hjm-date-picker__day[data-outside] { opacity: 0.56; }
1267
+ .hjm-date-picker__description { color: var(--hjm-color-text-muted); }
1268
+ .hjm-date-picker__error { color: var(--hjm-color-danger); }
1269
+
1270
+ /* Toast ------------------------------------------------------------------ */
1271
+ .hjm-toast-viewport { position: fixed; z-index: 1200; inset-inline: max(var(--hjm-space-md), env(safe-area-inset-left)) max(var(--hjm-space-md), env(safe-area-inset-right)); display: flex; flex-direction: column; gap: var(--hjm-space-sm); max-inline-size: min(26.25rem, calc(100vw - (2 * var(--hjm-space-md)))); margin-inline: auto; pointer-events: none; }
1272
+ .hjm-toast-viewport[data-placement^="top"] { inset-block-start: max(var(--hjm-space-md), env(safe-area-inset-top)); }
1273
+ .hjm-toast-viewport[data-placement^="bottom"] { inset-block-end: calc(max(var(--hjm-space-md), env(safe-area-inset-bottom)) + var(--hjm-toast-bottom-offset, 0px)); flex-direction: column-reverse; }
1274
+ .hjm-toast-viewport[data-placement$="-start"] { margin-inline-start: 0; }
1275
+ .hjm-toast-viewport[data-placement$="-end"] { margin-inline-end: 0; }
1276
+ .hjm-toast { position: relative; min-inline-size: 0; min-block-size: 3.5rem; display: flex; align-items: center; gap: var(--hjm-space-sm); padding: var(--hjm-space-md); overflow: hidden; border: 1px solid var(--hjm-color-border); border-radius: var(--hjm-radius-md); color: var(--hjm-color-text); background: var(--hjm-color-bg); box-shadow: 0 8px 24px rgb(0 0 0 / 18%); pointer-events: auto; }
1277
+ .hjm-toast__tone-mark { position: absolute; inset-block: 0; inset-inline-start: 0; inline-size: 2px; background: var(--hjm-color-text-muted); }
1278
+ .hjm-toast[data-tone="info"] .hjm-toast__tone-mark, .hjm-toast[data-tone="info"] .hjm-toast__icon { color: var(--hjm-accent-info); background-color: var(--hjm-accent-info); }
1279
+ .hjm-toast[data-tone="success"] .hjm-toast__tone-mark, .hjm-toast[data-tone="success"] .hjm-toast__icon { color: var(--hjm-accent-success); background-color: var(--hjm-accent-success); }
1280
+ .hjm-toast[data-tone="warning"] .hjm-toast__tone-mark, .hjm-toast[data-tone="warning"] .hjm-toast__icon { color: var(--hjm-accent-warning); background-color: var(--hjm-accent-warning); }
1281
+ .hjm-toast[data-tone="danger"] .hjm-toast__tone-mark, .hjm-toast[data-tone="danger"] .hjm-toast__icon { color: var(--hjm-color-danger); background-color: var(--hjm-color-danger); }
1282
+ .hjm-toast__icon { flex: 0 0 auto; display: grid; place-items: center; inline-size: 1.25rem; block-size: 1.25rem; border-radius: 50%; color: var(--hjm-color-text-muted); background: transparent !important; font-weight: var(--hjm-font-weight-bold); }
1283
+ .hjm-toast__content { min-inline-size: 0; flex: 1 1 auto; display: grid; gap: var(--hjm-space-xxs); overflow-wrap: anywhere; }
1284
+ .hjm-toast__action, .hjm-toast__close { min-block-size: var(--hjm-control-min-touch-target); border: 0; color: var(--hjm-color-content-brand); background: transparent; font: inherit; font-weight: var(--hjm-font-weight-bold); cursor: pointer; }
1285
+ .hjm-toast__close { flex: 0 0 var(--hjm-control-min-touch-target); inline-size: var(--hjm-control-min-touch-target); color: var(--hjm-color-text-muted); }
1286
+ .hjm-toast[data-state="closing"] { opacity: 0; transform: translateY(var(--hjm-space-xs)); transition: opacity 160ms ease, transform 160ms ease; }
1287
+
1288
+ .hjm-dialog__close:focus-visible,
1289
+ .hjm-menu__item:focus-visible,
1290
+ .hjm-combobox__option:focus-visible,
1291
+ .hjm-accordion__trigger:focus-visible,
1292
+ .hjm-table__sort:focus-visible,
1293
+ .hjm-breadcrumb__link:focus-visible,
1294
+ .hjm-pagination__item:focus-visible,
1295
+ .hjm-select__trigger:focus-visible,
1296
+ .hjm-load-more__trigger:focus-visible,
1297
+ .hjm-toast__action:focus-visible,
1298
+ .hjm-toast__close:focus-visible,
1299
+ .hjm-file-picker__dropzone button:focus-visible,
1300
+ .hjm-upload-item__action:focus-visible,
1301
+ .hjm-date-picker__trigger:focus-visible,
1302
+ .hjm-date-picker__clear:focus-visible,
1303
+ .hjm-date-picker__calendar-header button:focus-visible,
1304
+ .hjm-date-picker__day:focus-visible,
1305
+ .hjm-table-scroll:focus-visible {
1306
+ outline: 2px solid var(--hjm-color-content-brand);
1307
+ outline-offset: 2px;
1308
+ }
1309
+
1310
+ @keyframes hjm-spin { to { transform: rotate(360deg); } }
1311
+ @keyframes hjm-pulse { from { opacity: 0.56; } to { opacity: 1; } }
1312
+
1313
+ .hjm-root[data-motion="reduced"] .hjm-button__spinner,
1314
+ .hjm-root[data-motion="reduced"] .hjm-spinner__glyph,
1315
+ .hjm-root[data-motion="reduced"] .hjm-skeleton,
1316
+ .hjm-root[data-motion="reduced"] .hjm-combobox__spinner {
1317
+ animation: none;
1318
+ }
1319
+ .hjm-root[data-motion="reduced"] .hjm-load-more__spinner,
1320
+ .hjm-root[data-motion="reduced"] .hjm-search-field__spinner:empty::before,
1321
+ .hjm-root[data-motion="reduced"] .hjm-select__busy-indicator,
1322
+ .hjm-root[data-motion="reduced"] .hjm-toast,
1323
+ .hjm-root[data-motion="reduced"] .hjm-slider__thumb,
1324
+ .hjm-root[data-motion="reduced"] .hjm-bottom-navigation__indicator > :first-child {
1325
+ animation: none;
1326
+ transition: none;
1327
+ }
1328
+
1329
+ @media (prefers-reduced-motion: reduce) {
1330
+ .hjm-button__spinner,
1331
+ .hjm-spinner__glyph,
1332
+ .hjm-skeleton,
1333
+ .hjm-combobox__spinner {
1334
+ animation: none;
1335
+ }
1336
+ .hjm-load-more__spinner,
1337
+ .hjm-search-field__spinner:empty::before,
1338
+ .hjm-select__busy-indicator { animation: none; }
1339
+ .hjm-toast,
1340
+ .hjm-slider__thumb,
1341
+ .hjm-bottom-navigation__indicator > :first-child { transition: none; }
1342
+ }
1343
+
1344
+ @media (max-width: 30rem) {
1345
+ .hjm-tabs[data-orientation="vertical"] { grid-template-columns: minmax(0, 1fr); }
1346
+ .hjm-tabs[data-orientation="vertical"] .hjm-tabs__list { flex-direction: row; overflow-x: auto; border-inline-end: 0; border-block-end: 1px solid var(--hjm-color-border); }
1347
+ .hjm-toast { align-items: flex-start; flex-wrap: wrap; }
1348
+ .hjm-toast__content { flex-basis: calc(100% - 5rem); }
1349
+ }