@inkra/react 0.0.0-stage → 0.1.0

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 (133) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +213 -2
  3. package/THIRD_PARTY_NOTICES.md +39 -0
  4. package/Yozai-OFL.txt +94 -0
  5. package/dist/Button.d.ts +36 -0
  6. package/dist/Button.js +89 -0
  7. package/dist/PencilIcon.d.ts +22 -0
  8. package/dist/PencilIcon.js +212 -0
  9. package/dist/PencilLine.d.ts +10 -0
  10. package/dist/PencilLine.js +85 -0
  11. package/dist/PencilSurface.d.ts +19 -0
  12. package/dist/PencilSurface.js +19 -0
  13. package/dist/PencilText.d.ts +16 -0
  14. package/dist/PencilText.js +205 -0
  15. package/dist/accordion/Accordion.d.ts +27 -0
  16. package/dist/accordion/Accordion.js +40 -0
  17. package/dist/accordion/index.d.ts +2 -0
  18. package/dist/accordion/index.js +1 -0
  19. package/dist/assets/ui-hand-yozai.woff2 +0 -0
  20. package/dist/breadcrumb/index.d.ts +16 -0
  21. package/dist/breadcrumb/index.js +25 -0
  22. package/dist/calendar/index.d.ts +21 -0
  23. package/dist/calendar/index.js +41 -0
  24. package/dist/content/index.d.ts +106 -0
  25. package/dist/content/index.js +80 -0
  26. package/dist/day-agenda/index.d.ts +43 -0
  27. package/dist/day-agenda/index.js +47 -0
  28. package/dist/day-agenda/layout.d.ts +20 -0
  29. package/dist/day-agenda/layout.js +60 -0
  30. package/dist/display/index.d.ts +32 -0
  31. package/dist/display/index.js +59 -0
  32. package/dist/dropdown-menu/index.d.ts +34 -0
  33. package/dist/dropdown-menu/index.js +40 -0
  34. package/dist/form/EditablePencilText.d.ts +13 -0
  35. package/dist/form/EditablePencilText.js +312 -0
  36. package/dist/form/Field.d.ts +13 -0
  37. package/dist/form/Field.js +26 -0
  38. package/dist/form/Input.d.ts +27 -0
  39. package/dist/form/Input.js +97 -0
  40. package/dist/form/InputAction.d.ts +7 -0
  41. package/dist/form/InputAction.js +24 -0
  42. package/dist/form/Textarea.d.ts +5 -0
  43. package/dist/form/Textarea.js +23 -0
  44. package/dist/form/context.d.ts +12 -0
  45. package/dist/form/context.js +10 -0
  46. package/dist/form/controlProps.d.ts +23 -0
  47. package/dist/form/controlProps.js +20 -0
  48. package/dist/form/index.d.ts +7 -0
  49. package/dist/form/index.js +3 -0
  50. package/dist/form/types.d.ts +6 -0
  51. package/dist/form/types.js +1 -0
  52. package/dist/images/layers-2x.png +0 -0
  53. package/dist/images/layers.png +0 -0
  54. package/dist/images/marker-icon.png +0 -0
  55. package/dist/index.d.ts +28 -0
  56. package/dist/index.js +22 -0
  57. package/dist/input-number/index.d.ts +16 -0
  58. package/dist/input-number/index.js +77 -0
  59. package/dist/internal/InputActionContext.d.ts +1 -0
  60. package/dist/internal/InputActionContext.js +3 -0
  61. package/dist/internal/cache.d.ts +14 -0
  62. package/dist/internal/cache.js +54 -0
  63. package/dist/internal/line.d.ts +4 -0
  64. package/dist/internal/line.js +21 -0
  65. package/dist/internal/paper.d.ts +1 -0
  66. package/dist/internal/paper.js +65 -0
  67. package/dist/internal/random.d.ts +3 -0
  68. package/dist/internal/random.js +30 -0
  69. package/dist/internal/recovery.d.ts +1 -0
  70. package/dist/internal/recovery.js +52 -0
  71. package/dist/internal/stroke.d.ts +24 -0
  72. package/dist/internal/stroke.js +144 -0
  73. package/dist/internal/surfaceRenderer.d.ts +33 -0
  74. package/dist/internal/surfaceRenderer.js +175 -0
  75. package/dist/internal/textQueue.d.ts +1 -0
  76. package/dist/internal/textQueue.js +37 -0
  77. package/dist/internal/textRenderer.d.ts +27 -0
  78. package/dist/internal/textRenderer.js +213 -0
  79. package/dist/internal/travelIcons.d.ts +24 -0
  80. package/dist/internal/travelIcons.js +14 -0
  81. package/dist/internal/useBrowserLayoutEffect.d.ts +2 -0
  82. package/dist/internal/useBrowserLayoutEffect.js +3 -0
  83. package/dist/internal/usePencilSurface.d.ts +3 -0
  84. package/dist/internal/usePencilSurface.js +108 -0
  85. package/dist/internal/useSelectionDrawing.d.ts +2 -0
  86. package/dist/internal/useSelectionDrawing.js +86 -0
  87. package/dist/internal/wash.d.ts +16 -0
  88. package/dist/internal/wash.js +149 -0
  89. package/dist/journey-map/MapScale.d.ts +4 -0
  90. package/dist/journey-map/MapScale.js +52 -0
  91. package/dist/journey-map/index.d.ts +39 -0
  92. package/dist/journey-map/index.js +195 -0
  93. package/dist/journey-map/terrain.d.ts +8 -0
  94. package/dist/journey-map/terrain.js +127 -0
  95. package/dist/overlay/Overlay.d.ts +65 -0
  96. package/dist/overlay/Overlay.js +77 -0
  97. package/dist/overlay/Popover.d.ts +43 -0
  98. package/dist/overlay/Popover.js +45 -0
  99. package/dist/overlay/index.d.ts +4 -0
  100. package/dist/overlay/index.js +2 -0
  101. package/dist/overlay/themeBridge.d.ts +8 -0
  102. package/dist/overlay/themeBridge.js +98 -0
  103. package/dist/pencil.d.ts +10 -0
  104. package/dist/pencil.js +39 -0
  105. package/dist/select/MultipleSelect.d.ts +44 -0
  106. package/dist/select/MultipleSelect.js +124 -0
  107. package/dist/select/SearchableSelect.d.ts +45 -0
  108. package/dist/select/SearchableSelect.js +50 -0
  109. package/dist/select/Select.d.ts +109 -0
  110. package/dist/select/Select.js +205 -0
  111. package/dist/select/index.d.ts +4 -0
  112. package/dist/select/index.js +2 -0
  113. package/dist/selection/Checkbox.d.ts +9 -0
  114. package/dist/selection/Checkbox.js +37 -0
  115. package/dist/selection/RadioGroup.d.ts +23 -0
  116. package/dist/selection/RadioGroup.js +82 -0
  117. package/dist/selection/Switch.d.ts +8 -0
  118. package/dist/selection/Switch.js +36 -0
  119. package/dist/selection/index.d.ts +6 -0
  120. package/dist/selection/index.js +3 -0
  121. package/dist/selection/useNativeChecked.d.ts +13 -0
  122. package/dist/selection/useNativeChecked.js +27 -0
  123. package/dist/slider/index.d.ts +11 -0
  124. package/dist/slider/index.js +45 -0
  125. package/dist/styles.css +3663 -0
  126. package/dist/tabs/index.d.ts +22 -0
  127. package/dist/tabs/index.js +42 -0
  128. package/dist/tokens.css +355 -0
  129. package/dist/tooltip/Tooltip.d.ts +24 -0
  130. package/dist/tooltip/Tooltip.js +32 -0
  131. package/dist/tooltip/index.d.ts +2 -0
  132. package/dist/tooltip/index.js +1 -0
  133. package/package.json +100 -4
@@ -0,0 +1,3663 @@
1
+ @import "./tokens.css";
2
+
3
+ @font-face {
4
+ font-family: "Trip Map Hand";
5
+ font-style: normal;
6
+ font-weight: 400;
7
+ font-display: swap;
8
+ src: url("./assets/ui-hand-yozai.woff2") format("woff2");
9
+ }
10
+
11
+ .inkra-pencil-surface {
12
+ background: transparent;
13
+ box-sizing: border-box;
14
+ isolation: isolate;
15
+ position: relative;
16
+ }
17
+
18
+ .inkra-pencil-surface > .inkra-pencil-surface__ink {
19
+ display: block;
20
+ height: 100%;
21
+ inset: 0;
22
+ pointer-events: none;
23
+ position: absolute;
24
+ width: 100%;
25
+ z-index: -1;
26
+ }
27
+
28
+ .inkra-pencil-surface--wash > .inkra-pencil-surface__ink {
29
+ height: calc(100% + 24px);
30
+ inset: -12px;
31
+ width: calc(100% + 24px);
32
+ }
33
+
34
+ .inkra-pencil-surface--selection {
35
+ color: var(--inkra-selection-foreground, #244b37);
36
+ }
37
+
38
+ .inkra-pencil-surface__content {
39
+ align-items: inherit;
40
+ display: inherit;
41
+ height: 100%;
42
+ justify-content: inherit;
43
+ min-width: 0;
44
+ position: relative;
45
+ width: 100%;
46
+ z-index: 1;
47
+ }
48
+
49
+ .inkra-pencil-surface--clipped > .inkra-pencil-surface__content {
50
+ clip-path: var(--inkra-pencil-clip, inset(3px));
51
+ }
52
+
53
+ .inkra-pencil-surface > .inkra-pencil-surface__border {
54
+ height: 100%;
55
+ inset: 0;
56
+ pointer-events: none;
57
+ position: absolute;
58
+ width: 100%;
59
+ z-index: 2;
60
+ }
61
+
62
+ .inkra-pencil-surface:is(button, a, span) {
63
+ align-items: center;
64
+ display: inline-flex;
65
+ justify-content: center;
66
+ vertical-align: middle;
67
+ }
68
+
69
+ .inkra-pencil-surface:is(button, a) {
70
+ border: 0;
71
+ cursor: pointer;
72
+ text-decoration: none;
73
+ }
74
+
75
+ .inkra-pencil-surface:is(button, a):focus-visible {
76
+ outline: var(--inkra-focus-width) solid var(--inkra-focus);
77
+ outline-offset: var(--inkra-focus-offset);
78
+ }
79
+
80
+ .inkra-pencil-surface:disabled,
81
+ .inkra-pencil-surface[aria-disabled="true"] {
82
+ cursor: not-allowed;
83
+ opacity: 0.55;
84
+ }
85
+
86
+ .inkra-pencil-surface[data-pencil-fallback="true"] {
87
+ background: var(--inkra-surface);
88
+ border: 1px solid var(--inkra-border-strong);
89
+ }
90
+
91
+ .inkra-pencil-surface--action[data-pencil-fallback="true"] {
92
+ background: var(--inkra-accent-soft);
93
+ }
94
+
95
+ .inkra-pencil-surface--outline[data-pencil-fallback="true"] {
96
+ background: transparent;
97
+ border-color: var(--inkra-accent-strong);
98
+ }
99
+
100
+ .inkra-pencil-surface--danger[data-pencil-fallback="true"] {
101
+ background: var(--inkra-danger-soft);
102
+ border-color: var(--inkra-danger);
103
+ }
104
+
105
+ .inkra-pencil-surface--ghost[data-pencil-fallback="true"] {
106
+ background: transparent;
107
+ border: 0;
108
+ }
109
+
110
+ .inkra-pencil-surface--selection[data-pencil-fallback="true"] {
111
+ background: transparent;
112
+ border: 0;
113
+ }
114
+
115
+ [data-theme="dark"] .inkra-pencil-surface--selection,
116
+ [data-inkra-theme="dark"] .inkra-pencil-surface--selection {
117
+ color: var(--inkra-selection-foreground, #e5e2cf);
118
+ }
119
+
120
+ @media (prefers-color-scheme: dark) {
121
+ :root:not([data-theme]):not([data-inkra-theme]) .inkra-pencil-surface--selection,
122
+ [data-theme="auto"] .inkra-pencil-surface--selection,
123
+ [data-inkra-theme="auto"] .inkra-pencil-surface--selection {
124
+ color: var(--inkra-selection-foreground, #e5e2cf);
125
+ }
126
+ }
127
+
128
+ .inkra-pencil-text,
129
+ .inkra-pencil-text__source {
130
+ color: inherit;
131
+ font: inherit;
132
+ font-family: "Trip Map Hand", "HanziPen SC", "Hannotate SC", "Kaiti SC", "STKaiti", cursive;
133
+ font-kerning: none;
134
+ font-variant-ligatures: none;
135
+ letter-spacing: 0;
136
+ }
137
+
138
+ .inkra-pencil-text {
139
+ display: inline-block;
140
+ max-width: 100%;
141
+ min-width: 0;
142
+ overflow-wrap: anywhere;
143
+ position: relative;
144
+ vertical-align: baseline;
145
+ }
146
+
147
+ .inkra-pencil-text canvas {
148
+ display: none;
149
+ pointer-events: none;
150
+ position: absolute;
151
+ }
152
+
153
+ .inkra-pencil-text[data-pencil-ready="true"] canvas {
154
+ display: block;
155
+ }
156
+
157
+ .inkra-pencil-text[data-pencil-ready="true"] > .inkra-pencil-text__source {
158
+ color: transparent;
159
+ }
160
+
161
+ .inkra-pencil-text__source::selection {
162
+ background: var(--inkra-selection);
163
+ color: var(--inkra-ink);
164
+ }
165
+
166
+ .inkra-pencil-text--ellipsis {
167
+ display: block;
168
+ max-width: 100%;
169
+ overflow: hidden;
170
+ overflow-wrap: normal;
171
+ white-space: nowrap;
172
+ width: 100%;
173
+ }
174
+
175
+ .inkra-pencil-text--ellipsis > .inkra-pencil-text__source {
176
+ display: block;
177
+ overflow: hidden;
178
+ text-overflow: ellipsis;
179
+ white-space: nowrap;
180
+ }
181
+
182
+ .inkra-pencil-icon,
183
+ .inkra-pencil-line {
184
+ color: currentcolor;
185
+ display: block;
186
+ pointer-events: none;
187
+ }
188
+
189
+ .inkra-pencil-line[data-orientation="horizontal"] {
190
+ height: 8px;
191
+ width: 100%;
192
+ }
193
+
194
+ .inkra-pencil-line[data-orientation="vertical"] {
195
+ height: 100%;
196
+ width: 8px;
197
+ }
198
+
199
+ .inkra-button {
200
+ --inkra-button-visual-height: var(--inkra-control-md);
201
+ --inkra-button-visual-padding: var(--inkra-space-5);
202
+ --inkra-button-font-size: var(--inkra-text-md);
203
+ --inkra-button-icon-size: var(--inkra-icon-md);
204
+ --inkra-button-content-gap: var(--inkra-space-2);
205
+
206
+ align-items: center;
207
+ appearance: none;
208
+ background: transparent;
209
+ border: 0;
210
+ box-sizing: border-box;
211
+ color: var(--inkra-on-accent, var(--inkra-accent-strong));
212
+ cursor: pointer;
213
+ display: inline-flex;
214
+ font-family: "Trip Map Hand", "HanziPen SC", "Hannotate SC", "Kaiti SC", "STKaiti", cursive;
215
+ font-weight: var(--inkra-weight-regular);
216
+ justify-content: center;
217
+ letter-spacing: var(--inkra-letter-spacing);
218
+ line-height: var(--inkra-line-ui);
219
+ min-height: var(--inkra-touch-target);
220
+ min-width: var(--inkra-touch-target);
221
+ overflow: visible;
222
+ padding: 0;
223
+ position: relative;
224
+ text-decoration: none;
225
+ user-select: none;
226
+ vertical-align: middle;
227
+ }
228
+
229
+ .inkra-button__surface {
230
+ align-items: center;
231
+ box-sizing: border-box;
232
+ color: inherit;
233
+ display: inline-flex;
234
+ font-size: var(--inkra-button-font-size);
235
+ height: var(--inkra-button-visual-height);
236
+ justify-content: center;
237
+ line-height: var(--inkra-line-ui);
238
+ min-width: var(--inkra-button-visual-height);
239
+ overflow: visible;
240
+ padding: 0 var(--inkra-button-visual-padding);
241
+ pointer-events: none;
242
+ transition:
243
+ background-color 200ms cubic-bezier(0.4, 0, 0.2, 1),
244
+ border-color 200ms cubic-bezier(0.4, 0, 0.2, 1),
245
+ transform var(--inkra-motion-fast) var(--inkra-ease);
246
+ white-space: nowrap;
247
+ }
248
+
249
+ .inkra-button__surface > .inkra-pencil-surface__ink {
250
+ transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1);
251
+ }
252
+
253
+ .inkra-button:hover:not(:disabled):not([aria-disabled="true"])
254
+ .inkra-button__surface {
255
+ transform: translateY(-0.5px);
256
+ }
257
+
258
+ .inkra-button:active:not(:disabled):not([aria-disabled="true"]) .inkra-button__surface {
259
+ transform: translateY(1px) rotate(-0.15deg);
260
+ }
261
+
262
+ .inkra-button:focus-visible {
263
+ outline: 0;
264
+ }
265
+
266
+ .inkra-button__focus-ring {
267
+ --inkra-accent-strong: var(--inkra-focus);
268
+ display: block !important;
269
+ position: absolute !important;
270
+ inset-inline: calc(-1 * var(--inkra-focus-offset));
271
+ top: 50%;
272
+ height: calc(var(--inkra-button-visual-height) + 2 * var(--inkra-focus-offset));
273
+ transform: translateY(-50%);
274
+ pointer-events: none;
275
+ opacity: 0;
276
+ z-index: 3;
277
+ }
278
+
279
+ .inkra-button:focus-visible > .inkra-button__focus-ring {
280
+ opacity: 1;
281
+ }
282
+
283
+ .inkra-button-group .inkra-button__focus-ring,
284
+ .inkra-input__end-action .inkra-button__focus-ring {
285
+ inset-inline: 0;
286
+ height: var(--inkra-button-visual-height);
287
+ }
288
+
289
+ @media (forced-colors: active) {
290
+ .inkra-button:focus-visible {
291
+ outline: var(--inkra-focus-width) solid Highlight;
292
+ outline-offset: var(--inkra-focus-offset);
293
+ }
294
+
295
+ .inkra-button__focus-ring {
296
+ display: none !important;
297
+ }
298
+ }
299
+
300
+ .inkra-button:disabled,
301
+ .inkra-button[aria-disabled="true"] {
302
+ cursor: not-allowed;
303
+ opacity: 0.55;
304
+ }
305
+
306
+ .inkra-button[data-size="xs"],
307
+ .inkra-button[data-size="icon-xs"] {
308
+ --inkra-button-visual-height: var(--inkra-control-xs, 32px);
309
+ --inkra-button-visual-padding: var(--inkra-space-3);
310
+ --inkra-button-font-size: var(--inkra-text-xs);
311
+ --inkra-button-icon-size: var(--inkra-icon-xs, 14px);
312
+ --inkra-button-content-gap: var(--inkra-space-1);
313
+ }
314
+
315
+ .inkra-button[data-size="sm"] {
316
+ --inkra-button-visual-height: var(--inkra-control-sm);
317
+ --inkra-button-visual-padding: var(--inkra-space-4);
318
+ --inkra-button-font-size: var(--inkra-text-sm);
319
+ --inkra-button-icon-size: var(--inkra-icon-sm);
320
+ }
321
+
322
+ .inkra-button[data-size="lg"] {
323
+ --inkra-button-visual-height: var(--inkra-control-lg);
324
+ --inkra-button-visual-padding: var(--inkra-space-6);
325
+ --inkra-button-font-size: var(--inkra-text-lg);
326
+ --inkra-button-icon-size: var(--inkra-icon-lg);
327
+ }
328
+
329
+ .inkra-button[data-size="icon-sm"] {
330
+ --inkra-button-visual-height: var(--inkra-control-sm);
331
+ --inkra-button-font-size: var(--inkra-text-sm);
332
+ --inkra-button-icon-size: var(--inkra-icon-sm);
333
+ }
334
+
335
+ .inkra-button[data-size="icon-lg"] {
336
+ --inkra-button-visual-height: var(--inkra-control-lg);
337
+ --inkra-button-font-size: var(--inkra-text-lg);
338
+ --inkra-button-icon-size: var(--inkra-icon-lg);
339
+ }
340
+
341
+ .inkra-button[data-size^="icon"] .inkra-button__surface {
342
+ padding-inline: 0;
343
+ width: var(--inkra-button-visual-height);
344
+ }
345
+
346
+ .inkra-button[data-variant="secondary"] {
347
+ color: var(--inkra-ink);
348
+ }
349
+
350
+ .inkra-button[data-variant="ghost"] {
351
+ color: var(--inkra-ink-muted);
352
+ }
353
+
354
+ .inkra-button[data-variant="outline"] {
355
+ color: var(--inkra-accent-strong);
356
+ }
357
+
358
+ .inkra-button[data-variant="destructive"] {
359
+ color: var(--inkra-on-danger, var(--inkra-danger));
360
+ }
361
+
362
+ .inkra-button[data-variant="link"] {
363
+ color: var(--inkra-accent-strong);
364
+ }
365
+
366
+ .inkra-button[data-variant="ghost"]
367
+ .inkra-button__surface > .inkra-pencil-surface__ink {
368
+ opacity: 0;
369
+ }
370
+
371
+ .inkra-button[data-variant="ghost"]:hover:not(:disabled):not([aria-disabled="true"])
372
+ .inkra-button__surface > .inkra-pencil-surface__ink,
373
+ .inkra-button[data-variant="ghost"]:focus-visible
374
+ .inkra-button__surface > .inkra-pencil-surface__ink {
375
+ opacity: 1;
376
+ }
377
+
378
+ .inkra-button[data-variant="ghost"]
379
+ .inkra-button__surface[data-pencil-fallback="true"] {
380
+ background: transparent;
381
+ border: 1px solid transparent;
382
+ }
383
+
384
+ .inkra-button[data-variant="ghost"]:hover:not(:disabled):not([aria-disabled="true"])
385
+ .inkra-button__surface[data-pencil-fallback="true"],
386
+ .inkra-button[data-variant="ghost"]:focus-visible
387
+ .inkra-button__surface[data-pencil-fallback="true"] {
388
+ background: var(--inkra-surface-muted);
389
+ border-color: var(--inkra-border);
390
+ }
391
+
392
+ .inkra-button[data-variant="link"] .inkra-button__label {
393
+ position: relative;
394
+ }
395
+
396
+ .inkra-button .inkra-button__underline {
397
+ position: absolute;
398
+ inset-inline: 0;
399
+ bottom: -5px;
400
+ width: 100%;
401
+ height: 6px;
402
+ color: inherit;
403
+ }
404
+
405
+ @media (forced-colors: active), print {
406
+ .inkra-button[data-variant="link"] .inkra-button__label {
407
+ text-decoration-line: underline;
408
+ text-underline-offset: 0.2em;
409
+ }
410
+ }
411
+
412
+ .inkra-button__content {
413
+ align-items: center;
414
+ display: inline-flex;
415
+ gap: var(--inkra-button-content-gap);
416
+ justify-content: center;
417
+ min-width: 0;
418
+ position: relative;
419
+ white-space: nowrap;
420
+ }
421
+
422
+ .inkra-button__icon {
423
+ position: relative;
424
+ align-items: center;
425
+ display: inline-flex;
426
+ flex: 0 0 var(--inkra-button-icon-size);
427
+ height: var(--inkra-button-icon-size);
428
+ justify-content: center;
429
+ width: var(--inkra-button-icon-size);
430
+ }
431
+
432
+ .inkra-button__icon-content { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
433
+ .inkra-button__icon-content > :is(svg, canvas),
434
+ .inkra-button__loading-indicator > :is(svg, canvas) {
435
+ height: 100% !important;
436
+ max-height: 100%;
437
+ max-width: 100%;
438
+ width: 100% !important;
439
+ }
440
+
441
+ .inkra-button__label,
442
+ .inkra-button__label > span {
443
+ align-items: center;
444
+ display: inline-flex;
445
+ min-width: 0;
446
+ overflow: visible;
447
+ white-space: nowrap;
448
+ }
449
+
450
+ .inkra-button__spinner {
451
+ animation: inkra-button-spin 800ms steps(8, end) infinite;
452
+ border: 1.5px dashed currentcolor;
453
+ border-radius: 50%;
454
+ box-sizing: border-box;
455
+ height: var(--inkra-icon-sm);
456
+ left: 50%;
457
+ position: absolute;
458
+ top: 50%;
459
+ transform: translate(-50%, -50%);
460
+ width: var(--inkra-icon-sm);
461
+ }
462
+
463
+ .inkra-button[data-loading="true"][data-loading-position="center"] .inkra-button__label {
464
+ opacity: 0;
465
+ pointer-events: none;
466
+ }
467
+
468
+ .inkra-button[data-loading="true"][data-loading-position="center"] .inkra-button__icon,
469
+ .inkra-button[data-loading="true"] [data-loading-slot="true"] > .inkra-button__icon-content {
470
+ opacity: 0;
471
+ }
472
+
473
+ .inkra-button__loading-indicator { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: var(--inkra-button-icon-size); height: var(--inkra-button-icon-size); }
474
+ .inkra-button[data-full-width="true"], .inkra-button[data-full-width="true"] .inkra-button__surface { width: 100%; }
475
+ .inkra-button[data-align="start"] .inkra-button__surface { justify-content: flex-start; }
476
+ .inkra-button[data-align="end"] .inkra-button__surface { justify-content: flex-end; }
477
+ .inkra-button[data-size^="icon"] .inkra-button__surface { justify-content: center; }
478
+
479
+ .inkra-button-group {
480
+ align-items: stretch;
481
+ display: inline-flex;
482
+ gap: 0;
483
+ max-width: 100%;
484
+ }
485
+
486
+ .inkra-button-group > .inkra-button {
487
+ flex: 0 0 auto;
488
+ }
489
+ .inkra-button-group[data-full-width="true"] { display: flex; width: 100%; }
490
+ .inkra-button-group[data-equal-width="true"][data-orientation="horizontal"] { display: inline-grid; grid-auto-flow: column; grid-auto-columns: minmax(max-content, 1fr); }
491
+ .inkra-button-group[data-equal-width="true"][data-orientation="vertical"] > .inkra-button { width: 100%; }
492
+
493
+ .inkra-button-group > .inkra-pencil-surface__ink {
494
+ z-index: 3;
495
+ }
496
+
497
+ .inkra-button-group > .inkra-button .inkra-button__surface {
498
+ width: 100%;
499
+ transform: none;
500
+ }
501
+
502
+ .inkra-button-group > .inkra-button .inkra-pencil-surface__content {
503
+ clip-path: none;
504
+ }
505
+
506
+ .inkra-button-group > .inkra-button .inkra-pencil-surface__border {
507
+ display: none;
508
+ }
509
+
510
+ .inkra-button-group > .inkra-button .inkra-button__surface[data-pencil-fallback="true"] {
511
+ border: 0;
512
+ }
513
+
514
+ .inkra-button-group__divider {
515
+ color: var(--inkra-border-strong);
516
+ display: none;
517
+ pointer-events: none;
518
+ position: absolute;
519
+ z-index: 3;
520
+ }
521
+
522
+ .inkra-button-group > .inkra-button + .inkra-button > .inkra-button-group__divider {
523
+ display: block;
524
+ }
525
+
526
+ .inkra-button-group__divider[data-orientation="vertical"] {
527
+ height: 100%;
528
+ inset-block-start: 0;
529
+ inset-inline-start: -4px;
530
+ width: 8px;
531
+ }
532
+
533
+ .inkra-button-group__divider[data-orientation="horizontal"] {
534
+ height: 8px;
535
+ inset-block-start: -4px;
536
+ inset-inline-start: 0;
537
+ width: 100%;
538
+ }
539
+
540
+ .inkra-button-group > .inkra-button:focus-visible {
541
+ outline-offset: calc(-1 * var(--inkra-focus-width));
542
+ z-index: 4;
543
+ }
544
+
545
+ .inkra-button-group[data-orientation="vertical"] {
546
+ flex-direction: column;
547
+ }
548
+
549
+ .inkra-button-group[data-orientation="horizontal"] {
550
+ flex-direction: row;
551
+ flex-wrap: nowrap;
552
+ overflow-x: auto;
553
+ scrollbar-width: thin;
554
+ }
555
+
556
+ @keyframes inkra-button-spin {
557
+ to {
558
+ transform: translate(-50%, -50%) rotate(360deg);
559
+ }
560
+ }
561
+
562
+ @media (prefers-reduced-motion: reduce) {
563
+ .inkra-button__surface {
564
+ transition-duration: 0ms;
565
+ }
566
+
567
+ .inkra-button__surface > .inkra-pencil-surface__ink {
568
+ transition-duration: 0ms;
569
+ }
570
+
571
+ .inkra-button__spinner {
572
+ animation: none;
573
+ }
574
+ }
575
+
576
+ @media (forced-colors: active), print {
577
+ .inkra-pencil-surface > canvas,
578
+ .inkra-pencil-icon,
579
+ .inkra-pencil-text canvas {
580
+ display: none !important;
581
+ }
582
+
583
+ .inkra-pencil-line {
584
+ background: CanvasText;
585
+ display: block !important;
586
+ }
587
+
588
+ .inkra-pencil-line[data-orientation="horizontal"] {
589
+ height: 1px;
590
+ }
591
+
592
+ .inkra-pencil-line[data-orientation="vertical"] {
593
+ width: 1px;
594
+ }
595
+
596
+ .inkra-button .inkra-button__underline {
597
+ display: none !important;
598
+ }
599
+
600
+ .inkra-pencil-surface {
601
+ border: 1px solid CanvasText;
602
+ }
603
+
604
+ .inkra-button-group > .inkra-button .inkra-button__surface {
605
+ border: 0;
606
+ }
607
+
608
+ .inkra-button-group > .inkra-button:not(.inkra-button + .inkra-button) > .inkra-button-group__divider {
609
+ display: none !important;
610
+ }
611
+
612
+ .inkra-button-group__divider[data-orientation="vertical"] {
613
+ inset-inline-start: 0;
614
+ }
615
+
616
+ .inkra-button-group__divider[data-orientation="horizontal"] {
617
+ inset-block-start: 0;
618
+ }
619
+
620
+ .inkra-button[data-variant="link"] .inkra-button__surface,
621
+ .inkra-button[data-variant="ghost"] .inkra-button__surface {
622
+ border: 0;
623
+ }
624
+
625
+ .inkra-pencil-text[data-pencil-ready="true"] > .inkra-pencil-text__source {
626
+ color: inherit;
627
+ }
628
+ }
629
+
630
+ .inkra-field {
631
+ display: grid;
632
+ gap: var(--inkra-space-2);
633
+ min-width: 0;
634
+ color: var(--inkra-ink);
635
+ font-family: var(--inkra-font-body);
636
+ font-size: var(--inkra-text-md);
637
+ line-height: var(--inkra-line-ui);
638
+ }
639
+
640
+ .inkra-field__label {
641
+ display: inline-flex;
642
+ width: fit-content;
643
+ align-items: baseline;
644
+ gap: var(--inkra-space-1);
645
+ color: var(--inkra-ink);
646
+ cursor: pointer;
647
+ }
648
+
649
+ .inkra-field__required,
650
+ .inkra-field__error {
651
+ color: var(--inkra-danger-foreground, var(--inkra-danger));
652
+ }
653
+
654
+ .inkra-field__control {
655
+ min-width: 0;
656
+ }
657
+
658
+ .inkra-field__description,
659
+ .inkra-field__error {
660
+ font-size: var(--inkra-text-sm);
661
+ line-height: var(--inkra-line-ui);
662
+ }
663
+
664
+ .inkra-field__description {
665
+ color: var(--inkra-ink-muted);
666
+ }
667
+
668
+ .inkra-field[data-disabled="true"] .inkra-field__label {
669
+ cursor: not-allowed;
670
+ }
671
+
672
+ .inkra-field-control-hit {
673
+ --inkra-field-control-height: var(--inkra-control-md);
674
+ --inkra-field-control-font-size: var(--inkra-text-md);
675
+ --inkra-field-control-icon-size: var(--inkra-icon-md);
676
+ --inkra-field-control-padding: var(--inkra-space-3);
677
+
678
+ display: flex;
679
+ min-width: 0;
680
+ min-height: var(--inkra-touch-target);
681
+ align-items: center;
682
+ }
683
+
684
+ .inkra-field-control-hit[data-size="sm"] {
685
+ --inkra-field-control-height: var(--inkra-control-sm);
686
+ --inkra-field-control-font-size: var(--inkra-text-sm);
687
+ --inkra-field-control-icon-size: var(--inkra-icon-sm);
688
+ --inkra-field-control-padding: var(--inkra-space-2);
689
+ }
690
+
691
+ .inkra-field-control-hit[data-size="lg"] {
692
+ --inkra-field-control-height: var(--inkra-control-lg);
693
+ --inkra-field-control-font-size: var(--inkra-text-lg);
694
+ --inkra-field-control-icon-size: var(--inkra-icon-lg);
695
+ --inkra-field-control-padding: var(--inkra-space-4);
696
+ }
697
+
698
+ .inkra-field-control {
699
+ position: relative;
700
+ isolation: isolate;
701
+ display: flex !important;
702
+ width: 100%;
703
+ min-width: 0;
704
+ height: var(--inkra-field-control-height);
705
+ align-items: center;
706
+ color: var(--inkra-ink);
707
+ }
708
+
709
+ .inkra-field-control-hit:focus-within .inkra-field-control > .inkra-pencil-surface__ink,
710
+ .inkra-field-control-hit:focus-within .inkra-field-control > .inkra-pencil-surface__border {
711
+ filter: contrast(1.28) saturate(1.08);
712
+ }
713
+
714
+ .inkra-field-control__icon {
715
+ position: relative;
716
+ z-index: 1;
717
+ display: inline-flex;
718
+ width: var(--inkra-field-control-icon-size);
719
+ height: var(--inkra-field-control-icon-size);
720
+ flex: 0 0 var(--inkra-field-control-icon-size);
721
+ align-items: center;
722
+ justify-content: center;
723
+ color: var(--inkra-ink-muted);
724
+ pointer-events: none;
725
+ }
726
+
727
+ .inkra-field-control__icon--start {
728
+ margin-inline-start: var(--inkra-field-control-padding);
729
+ }
730
+
731
+ .inkra-field-control__icon--end {
732
+ margin-inline-end: var(--inkra-field-control-padding);
733
+ }
734
+
735
+ .inkra-field-control__icon > :is(svg, canvas) {
736
+ width: 100%;
737
+ height: 100%;
738
+ }
739
+
740
+ .inkra-input,
741
+ .inkra-textarea {
742
+ --inkra-editable-text-color: var(--inkra-ink);
743
+ --inkra-editable-placeholder-color: var(--inkra-ink-subtle);
744
+
745
+ position: relative;
746
+ z-index: 2;
747
+ box-sizing: border-box;
748
+ width: 100%;
749
+ min-width: 0;
750
+ border: 0;
751
+ outline: 0;
752
+ background: transparent;
753
+ color: var(--inkra-ink);
754
+ font-family: var(--inkra-font-body);
755
+ font-size: var(--inkra-field-control-font-size);
756
+ font-weight: var(--inkra-weight-regular);
757
+ letter-spacing: var(--inkra-letter-spacing);
758
+ line-height: var(--inkra-line-ui);
759
+ caret-color: var(--inkra-ink);
760
+ }
761
+
762
+ .inkra-input:focus-visible,
763
+ .inkra-textarea:focus-visible {
764
+ outline: 0;
765
+ }
766
+
767
+ .inkra-input {
768
+ height: 100%;
769
+ padding-block: 0;
770
+ padding-inline: var(--inkra-field-control-padding);
771
+ }
772
+
773
+ .inkra-field-control__icon--start + .inkra-input {
774
+ padding-inline-start: var(--inkra-space-2);
775
+ }
776
+
777
+ .inkra-input:has(+ .inkra-field-control__icon--end) {
778
+ padding-inline-end: var(--inkra-space-2);
779
+ }
780
+
781
+ .inkra-input::placeholder,
782
+ .inkra-textarea::placeholder {
783
+ color: var(--inkra-ink-subtle);
784
+ opacity: 1;
785
+ }
786
+
787
+ .inkra-editable-text {
788
+ position: absolute;
789
+ z-index: 1;
790
+ left: 0;
791
+ top: 0;
792
+ display: block;
793
+ width: 100%;
794
+ height: 100%;
795
+ opacity: 0;
796
+ pointer-events: none;
797
+ }
798
+
799
+ .inkra-field-control-hit[data-pencil-editable-ready="true"] .inkra-editable-text {
800
+ opacity: 1;
801
+ }
802
+
803
+ .inkra-field-control-hit[data-pencil-editable-ready="true"] :is(.inkra-input, .inkra-textarea) {
804
+ color: transparent !important;
805
+ }
806
+
807
+ .inkra-field-control-hit[data-pencil-editable-ready="true"] :is(.inkra-input, .inkra-textarea)::placeholder {
808
+ color: transparent !important;
809
+ }
810
+
811
+ .inkra-field-control-hit[data-composing="true"] .inkra-editable-text {
812
+ opacity: 0;
813
+ }
814
+
815
+ .inkra-field-control-hit[data-composing="true"] :is(.inkra-input, .inkra-textarea) {
816
+ color: var(--inkra-editable-text-color, var(--inkra-ink)) !important;
817
+ }
818
+
819
+ .inkra-field-control-hit[data-pencil-editable-ready="true"] :is(.inkra-input, .inkra-textarea)::selection {
820
+ background: var(--inkra-selection);
821
+ color: transparent;
822
+ }
823
+
824
+ .inkra-field-control-hit[data-disabled="true"] {
825
+ cursor: not-allowed;
826
+ opacity: 0.55;
827
+ }
828
+
829
+ .inkra-field-control-hit[data-readonly="true"] .inkra-input,
830
+ .inkra-field-control-hit[data-readonly="true"] .inkra-textarea {
831
+ --inkra-editable-text-color: var(--inkra-ink-muted);
832
+ color: var(--inkra-ink-muted);
833
+ }
834
+
835
+ .inkra-field-control-hit[data-readonly="true"][data-pencil-editable-ready="true"] :is(.inkra-input, .inkra-textarea) {
836
+ color: transparent !important;
837
+ }
838
+
839
+ .inkra-field-control-hit--textarea {
840
+ min-height: 0;
841
+ align-items: stretch;
842
+ }
843
+
844
+ .inkra-field-control--textarea {
845
+ min-height: 96px;
846
+ height: auto;
847
+ align-items: stretch;
848
+ }
849
+
850
+ .inkra-field-control-hit--textarea[data-size="sm"] .inkra-field-control--textarea {
851
+ min-height: 80px;
852
+ }
853
+
854
+ .inkra-field-control-hit--textarea[data-size="lg"] .inkra-field-control--textarea {
855
+ min-height: 112px;
856
+ }
857
+
858
+ .inkra-textarea {
859
+ min-height: inherit;
860
+ padding: var(--inkra-field-control-padding);
861
+ resize: vertical;
862
+ }
863
+
864
+ .inkra-input-root {
865
+ --inkra-field-control-icon-size: calc(var(--inkra-icon-md) + 2px);
866
+
867
+ display: inline-flex;
868
+ inline-size: 20rem;
869
+ max-inline-size: 100%;
870
+ vertical-align: middle;
871
+ }
872
+
873
+ .inkra-input-root[data-size="sm"] {
874
+ --inkra-field-control-icon-size: calc(var(--inkra-icon-sm) + 2px);
875
+ }
876
+
877
+ .inkra-input-root[data-size="lg"] {
878
+ --inkra-field-control-icon-size: calc(var(--inkra-icon-lg) + 2px);
879
+ }
880
+
881
+ .inkra-input-root[data-full-width="true"] {
882
+ display: flex;
883
+ inline-size: 100%;
884
+ }
885
+
886
+ .inkra-input-root .inkra-field-control--input {
887
+ box-sizing: border-box;
888
+ min-block-size: var(--inkra-field-control-height);
889
+ block-size: auto;
890
+ flex-wrap: wrap;
891
+ gap: var(--inkra-space-2);
892
+ padding-inline: var(--inkra-field-control-padding);
893
+ }
894
+
895
+ .inkra-input-root .inkra-field-control--input > .inkra-pencil-surface__content {
896
+ min-block-size: var(--inkra-field-control-height);
897
+ block-size: auto;
898
+ flex-wrap: inherit;
899
+ gap: inherit;
900
+ clip-path: none;
901
+ }
902
+
903
+ .inkra-input-root .inkra-field-control__icon {
904
+ margin-inline: 0;
905
+ }
906
+
907
+ .inkra-input-root .inkra-field-control__icon > :is(svg, canvas) {
908
+ inline-size: 100% !important;
909
+ block-size: 100% !important;
910
+ }
911
+
912
+ .inkra-input-root .inkra-input {
913
+ flex: 1 1 4rem;
914
+ inline-size: 0;
915
+ min-inline-size: min(4rem, 100%);
916
+ block-size: var(--inkra-field-control-height);
917
+ padding-inline: 0;
918
+ }
919
+
920
+ .inkra-input-root .inkra-input__underline {
921
+ position: absolute;
922
+ z-index: 4;
923
+ inset-inline-start: calc(-1 * var(--inkra-field-control-padding));
924
+ inset-block-end: -2px;
925
+ inline-size: calc(100% + 2 * var(--inkra-field-control-padding));
926
+ block-size: 8px;
927
+ color: var(--inkra-border-strong);
928
+ pointer-events: none;
929
+ }
930
+
931
+ .inkra-input-root[data-invalid="true"] .inkra-input__underline {
932
+ color: var(--inkra-danger-foreground, var(--inkra-danger));
933
+ }
934
+
935
+ .inkra-field-control--input[data-pencil-fallback="true"] .inkra-input__underline {
936
+ inset-block-end: 0;
937
+ block-size: 1px;
938
+ background: currentColor;
939
+ }
940
+
941
+ .inkra-input__affix {
942
+ position: relative;
943
+ z-index: 1;
944
+ min-inline-size: 0;
945
+ max-inline-size: 25%;
946
+ overflow: hidden;
947
+ flex: 0 1 auto;
948
+ color: var(--inkra-ink-muted);
949
+ font-family: var(--inkra-font-body);
950
+ font-size: var(--inkra-field-control-font-size);
951
+ line-height: var(--inkra-line-ui);
952
+ white-space: nowrap;
953
+ text-overflow: ellipsis;
954
+ }
955
+
956
+ .inkra-input__actions,
957
+ .inkra-input__end-action {
958
+ position: relative;
959
+ z-index: 2;
960
+ display: inline-flex;
961
+ flex: 0 0 auto;
962
+ align-items: center;
963
+ gap: 0;
964
+ }
965
+
966
+ .inkra-input__actions {
967
+ block-size: var(--inkra-field-control-height);
968
+ align-self: center;
969
+ margin-inline-end: calc(-1 * var(--inkra-field-control-padding));
970
+ }
971
+
972
+ .inkra-input__end-action {
973
+ block-size: var(--inkra-field-control-height);
974
+ min-block-size: 0;
975
+ align-self: center;
976
+ padding: 0;
977
+ isolation: isolate;
978
+ color: var(--inkra-selection-foreground);
979
+ }
980
+
981
+ .inkra-input__action-wash {
982
+ position: absolute;
983
+ z-index: 0;
984
+ inset: 0;
985
+ overflow: hidden;
986
+ border-start-start-radius: 0;
987
+ border-end-start-radius: 0;
988
+ border-start-end-radius: var(--inkra-radius-lg);
989
+ border-end-end-radius: var(--inkra-radius-lg);
990
+ opacity: 0;
991
+ pointer-events: none;
992
+ }
993
+
994
+ .inkra-input-root:is([data-variant="underline"], [data-variant="ghost"]) .inkra-input__action-wash {
995
+ inset: 4px;
996
+ border-radius: 3px;
997
+ }
998
+
999
+ .inkra-input__end-action[data-active="true"] > .inkra-input__action-wash {
1000
+ opacity: 1;
1001
+ }
1002
+
1003
+ .inkra-input__action-wash[data-pencil-fallback="true"] {
1004
+ background: color-mix(in srgb, var(--inkra-selection-pigment) 15%, transparent);
1005
+ }
1006
+
1007
+ .inkra-input__end-action .inkra-button {
1008
+ z-index: 1;
1009
+ color: inherit;
1010
+ }
1011
+
1012
+ .inkra-input__action-divider {
1013
+ position: absolute;
1014
+ z-index: 3;
1015
+ inset-inline-start: -4px;
1016
+ inset-block-start: 0;
1017
+ inline-size: 8px;
1018
+ block-size: 100%;
1019
+ color: var(--inkra-border-strong);
1020
+ pointer-events: none;
1021
+ }
1022
+
1023
+ .inkra-input-root[data-variant="underline"] .inkra-input__action-divider {
1024
+ inset-block-start: 8px;
1025
+ block-size: calc(100% - 16px);
1026
+ }
1027
+
1028
+ .inkra-input__end-action > .inkra-button:focus-visible {
1029
+ outline-offset: calc(-1 * var(--inkra-focus-width));
1030
+ }
1031
+
1032
+ .inkra-input__end-action .inkra-button__surface {
1033
+ overflow: hidden;
1034
+ border: 0 !important;
1035
+ background: transparent !important;
1036
+ border-start-start-radius: 0;
1037
+ border-end-start-radius: 0;
1038
+ border-start-end-radius: 7px;
1039
+ border-end-end-radius: 7px;
1040
+ transform: none !important;
1041
+ }
1042
+
1043
+ .inkra-input__end-action .inkra-button__surface > .inkra-pencil-surface__border {
1044
+ display: none;
1045
+ }
1046
+
1047
+ .inkra-input__start-action {
1048
+ margin-inline-start: calc(-1 * var(--inkra-field-control-padding));
1049
+ }
1050
+
1051
+ .inkra-input__start-action .inkra-input__action-divider {
1052
+ inset-inline-start: auto;
1053
+ inset-inline-end: -4px;
1054
+ }
1055
+
1056
+ .inkra-input__start-action .inkra-input__action-wash,
1057
+ .inkra-input__start-action .inkra-button__surface {
1058
+ border-start-start-radius: var(--inkra-radius-lg);
1059
+ border-end-start-radius: var(--inkra-radius-lg);
1060
+ border-start-end-radius: 0;
1061
+ border-end-end-radius: 0;
1062
+ }
1063
+
1064
+ .inkra-input__clear {
1065
+ display: inline-flex;
1066
+ box-sizing: border-box;
1067
+ flex: 0 0 var(--inkra-touch-target);
1068
+ inline-size: var(--inkra-touch-target);
1069
+ block-size: var(--inkra-touch-target);
1070
+ align-items: center;
1071
+ justify-content: center;
1072
+ padding: 0;
1073
+ border: 0;
1074
+ border-radius: var(--inkra-radius-md);
1075
+ background: transparent;
1076
+ color: var(--inkra-ink-muted);
1077
+ cursor: pointer;
1078
+ }
1079
+
1080
+ .inkra-input__clear:hover {
1081
+ color: var(--inkra-ink);
1082
+ }
1083
+
1084
+ .inkra-input__clear:focus-visible {
1085
+ outline: var(--inkra-focus-width) solid var(--inkra-focus);
1086
+ outline-offset: calc(-1 * var(--inkra-focus-width));
1087
+ }
1088
+
1089
+ .inkra-input__clear[data-visible="false"] {
1090
+ visibility: hidden;
1091
+ pointer-events: none;
1092
+ }
1093
+
1094
+ .inkra-input__loading {
1095
+ position: relative;
1096
+ z-index: 1;
1097
+ display: inline-flex;
1098
+ inline-size: 30px;
1099
+ block-size: 30px;
1100
+ flex: 0 0 30px;
1101
+ align-items: center;
1102
+ justify-content: center;
1103
+ color: var(--inkra-ink-muted);
1104
+ pointer-events: none;
1105
+ }
1106
+
1107
+ .inkra-input__loading[data-active="false"] {
1108
+ visibility: hidden;
1109
+ }
1110
+
1111
+ .inkra-input__loading[data-active="true"] .inkra-input__spinner {
1112
+ animation: inkra-input-loading 900ms linear infinite;
1113
+ }
1114
+
1115
+ .inkra-input-root[data-clearable="true"] .inkra-input::-webkit-search-cancel-button {
1116
+ display: none;
1117
+ -webkit-appearance: none;
1118
+ }
1119
+
1120
+ @keyframes inkra-input-loading {
1121
+ to { transform: rotate(360deg); }
1122
+ }
1123
+
1124
+ @media (prefers-reduced-motion: reduce) {
1125
+ .inkra-input__loading[data-active="true"] .inkra-input__spinner {
1126
+ animation: none;
1127
+ }
1128
+ }
1129
+
1130
+ @media (forced-colors: active) {
1131
+ .inkra-field-control {
1132
+ border: 1px solid CanvasText;
1133
+ }
1134
+
1135
+ .inkra-field-control-hit[data-invalid="true"] .inkra-field-control {
1136
+ border-color: Mark;
1137
+ }
1138
+
1139
+ .inkra-editable-text {
1140
+ display: none !important;
1141
+ }
1142
+
1143
+ .inkra-field-control-hit :is(.inkra-input, .inkra-textarea) {
1144
+ color: FieldText !important;
1145
+ caret-color: FieldText;
1146
+ }
1147
+
1148
+ .inkra-field-control-hit :is(.inkra-input, .inkra-textarea)::placeholder {
1149
+ color: GrayText !important;
1150
+ opacity: 1;
1151
+ }
1152
+
1153
+ .inkra-field-control-hit[data-pencil-editable-ready="true"] :is(.inkra-input, .inkra-textarea)::selection {
1154
+ background: Highlight;
1155
+ color: HighlightText;
1156
+ }
1157
+
1158
+ .inkra-field-control-hit :is(.inkra-input, .inkra-textarea):focus-visible {
1159
+ outline: 2px solid Highlight;
1160
+ outline-offset: 2px;
1161
+ }
1162
+
1163
+ .inkra-input__clear {
1164
+ color: ButtonText;
1165
+ }
1166
+
1167
+ .inkra-input-root[data-variant="underline"] .inkra-field-control {
1168
+ border: 0;
1169
+ }
1170
+
1171
+ .inkra-input__action-wash {
1172
+ display: none;
1173
+ }
1174
+
1175
+ .inkra-input__clear canvas,
1176
+ .inkra-input__spinner {
1177
+ forced-color-adjust: none;
1178
+ }
1179
+ }
1180
+
1181
+ @media print {
1182
+ .inkra-editable-text {
1183
+ display: none !important;
1184
+ }
1185
+
1186
+ .inkra-field-control-hit :is(.inkra-input, .inkra-textarea) {
1187
+ color: var(--inkra-ink) !important;
1188
+ }
1189
+
1190
+ .inkra-field-control-hit :is(.inkra-input, .inkra-textarea)::placeholder {
1191
+ color: var(--inkra-ink-subtle) !important;
1192
+ opacity: 1;
1193
+ }
1194
+
1195
+ .inkra-field-control-hit[data-pencil-editable-ready="true"] :is(.inkra-input, .inkra-textarea)::selection {
1196
+ background: var(--inkra-selection);
1197
+ color: var(--inkra-ink);
1198
+ }
1199
+ }
1200
+
1201
+ .inkra-input-number .inkra-input {
1202
+ appearance: textfield;
1203
+ -moz-appearance: textfield;
1204
+ }
1205
+
1206
+ .inkra-input-number .inkra-input::-webkit-inner-spin-button,
1207
+ .inkra-input-number .inkra-input::-webkit-outer-spin-button {
1208
+ -webkit-appearance: none;
1209
+ margin: 0;
1210
+ }
1211
+
1212
+ .inkra-input-number__controls {
1213
+ display: inline-flex;
1214
+ align-items: center;
1215
+ flex: 0 0 auto;
1216
+ gap: 0;
1217
+ }
1218
+
1219
+ .inkra-slider {
1220
+ --inkra-slider-track-size: 8px;
1221
+ --inkra-slider-thumb-size: 24px;
1222
+
1223
+ align-items: center;
1224
+ box-sizing: border-box;
1225
+ color: var(--inkra-ink);
1226
+ cursor: pointer;
1227
+ display: flex;
1228
+ min-height: var(--inkra-touch-target);
1229
+ min-width: var(--inkra-touch-target);
1230
+ position: relative;
1231
+ touch-action: none;
1232
+ user-select: none;
1233
+ width: 100%;
1234
+ }
1235
+
1236
+ .inkra-slider[data-size="sm"] {
1237
+ --inkra-slider-track-size: 6px;
1238
+ --inkra-slider-thumb-size: 20px;
1239
+ }
1240
+
1241
+ .inkra-slider[data-size="lg"] {
1242
+ --inkra-slider-track-size: 12px;
1243
+ --inkra-slider-thumb-size: 28px;
1244
+ }
1245
+
1246
+ .inkra-slider[data-variant="inset"] {
1247
+ --inkra-slider-track-size: 32px;
1248
+ --inkra-slider-thumb-size: 24px;
1249
+ }
1250
+
1251
+ .inkra-slider[data-variant="inset"][data-size="sm"] {
1252
+ --inkra-slider-track-size: 24px;
1253
+ --inkra-slider-thumb-size: 16px;
1254
+ }
1255
+
1256
+ .inkra-slider[data-variant="inset"][data-size="lg"] {
1257
+ --inkra-slider-track-size: 40px;
1258
+ --inkra-slider-thumb-size: 32px;
1259
+ }
1260
+
1261
+ .inkra-slider[data-orientation="vertical"] {
1262
+ flex-direction: column;
1263
+ height: 200px;
1264
+ width: var(--inkra-touch-target);
1265
+ }
1266
+
1267
+ .inkra-slider[data-disabled] {
1268
+ cursor: not-allowed;
1269
+ opacity: 0.55;
1270
+ }
1271
+
1272
+ .inkra-slider__track {
1273
+ display: block;
1274
+ flex: 1;
1275
+ height: var(--inkra-slider-track-size);
1276
+ position: relative;
1277
+ }
1278
+
1279
+ .inkra-slider[data-orientation="vertical"] .inkra-slider__track {
1280
+ height: auto;
1281
+ width: var(--inkra-slider-track-size);
1282
+ }
1283
+
1284
+ .inkra-slider__range {
1285
+ inset: 0;
1286
+ overflow: hidden;
1287
+ pointer-events: none;
1288
+ position: absolute;
1289
+ }
1290
+
1291
+ .inkra-slider__track-surface,
1292
+ .inkra-slider__range-surface {
1293
+ height: 100%;
1294
+ inset: 0;
1295
+ pointer-events: none;
1296
+ position: absolute !important;
1297
+ width: 100%;
1298
+ }
1299
+
1300
+ .inkra-slider__thumb {
1301
+ align-items: center;
1302
+ box-sizing: border-box;
1303
+ cursor: inherit;
1304
+ display: flex;
1305
+ height: var(--inkra-touch-target);
1306
+ justify-content: center;
1307
+ outline: none;
1308
+ width: var(--inkra-touch-target);
1309
+ }
1310
+
1311
+ .inkra-slider__thumb-surface {
1312
+ border-radius: 8px;
1313
+ display: block !important;
1314
+ height: var(--inkra-slider-thumb-size);
1315
+ pointer-events: none;
1316
+ width: var(--inkra-slider-thumb-size);
1317
+ }
1318
+
1319
+ .inkra-slider__thumb:focus-visible {
1320
+ outline: none;
1321
+ }
1322
+
1323
+ .inkra-slider__focus-ring {
1324
+ --inkra-ink: var(--inkra-focus);
1325
+
1326
+ inset: -4px;
1327
+ opacity: 0;
1328
+ pointer-events: none;
1329
+ position: absolute !important;
1330
+ transition: opacity var(--inkra-motion-fast) var(--inkra-ease);
1331
+ }
1332
+
1333
+ .inkra-slider__thumb:focus-visible .inkra-slider__focus-ring {
1334
+ opacity: 1;
1335
+ }
1336
+
1337
+ @media (prefers-reduced-motion: reduce) {
1338
+ .inkra-slider__focus-ring {
1339
+ transition: none;
1340
+ }
1341
+ }
1342
+
1343
+ @media (forced-colors: active) {
1344
+ .inkra-slider__track-surface {
1345
+ background: Canvas;
1346
+ border: 1px solid CanvasText;
1347
+ }
1348
+ .inkra-slider__range-surface {
1349
+ background: Highlight;
1350
+ forced-color-adjust: none;
1351
+ }
1352
+ .inkra-slider__thumb-surface {
1353
+ background: Canvas;
1354
+ border: 2px solid ButtonText;
1355
+ }
1356
+ .inkra-slider__thumb:focus-visible .inkra-slider__thumb-surface {
1357
+ outline: var(--inkra-focus-width) solid Highlight;
1358
+ outline-offset: var(--inkra-focus-offset);
1359
+ }
1360
+ .inkra-slider__focus-ring {
1361
+ display: none !important;
1362
+ }
1363
+ }
1364
+
1365
+ .inkra-selection-control {
1366
+ align-items: center;
1367
+ color: var(--inkra-ink);
1368
+ cursor: pointer;
1369
+ display: grid;
1370
+ gap: var(--inkra-space-2);
1371
+ grid-template-columns: auto minmax(0, 1fr);
1372
+ min-height: var(--inkra-touch-target);
1373
+ min-width: 0;
1374
+ position: relative;
1375
+ }
1376
+
1377
+ .inkra-selection-control__input {
1378
+ cursor: inherit;
1379
+ height: 100%;
1380
+ inset: 0;
1381
+ margin: 0;
1382
+ opacity: 0;
1383
+ position: absolute;
1384
+ width: 100%;
1385
+ z-index: 2;
1386
+ }
1387
+
1388
+ .inkra-selection-control__mark {
1389
+ align-items: center;
1390
+ color: var(--inkra-ink);
1391
+ display: inline-flex;
1392
+ height: 24px;
1393
+ justify-content: center;
1394
+ width: 24px;
1395
+ }
1396
+
1397
+ .inkra-selection-control__glyph {
1398
+ color: var(--inkra-ink);
1399
+ display: block;
1400
+ }
1401
+
1402
+ .inkra-selection-control__copy {
1403
+ display: grid;
1404
+ gap: var(--inkra-space-1);
1405
+ min-width: 0;
1406
+ padding-block: var(--inkra-space-1);
1407
+ }
1408
+
1409
+ .inkra-selection-control__label {
1410
+ font-size: var(--inkra-text-md);
1411
+ line-height: var(--inkra-line-ui);
1412
+ }
1413
+
1414
+ .inkra-selection-control__description,
1415
+ .inkra-radio-group__description {
1416
+ color: var(--inkra-ink-muted);
1417
+ font-size: var(--inkra-text-sm);
1418
+ line-height: var(--inkra-line-ui);
1419
+ }
1420
+
1421
+ .inkra-selection-control:has(.inkra-selection-control__input:focus-visible) .inkra-selection-control__mark,
1422
+ .inkra-selection-control:has(.inkra-selection-control__input:focus-visible) .inkra-switch__track,
1423
+ .inkra-selection-control:has(.inkra-selection-control__input:focus-visible) .inkra-radio-group__segment {
1424
+ outline: var(--inkra-focus-width) solid var(--inkra-focus);
1425
+ outline-offset: var(--inkra-focus-offset);
1426
+ }
1427
+
1428
+ .inkra-selection-control[data-disabled="true"] {
1429
+ cursor: not-allowed;
1430
+ opacity: 0.55;
1431
+ }
1432
+
1433
+ .inkra-radio-group {
1434
+ border: 0;
1435
+ color: var(--inkra-ink);
1436
+ margin: 0;
1437
+ max-width: 100%;
1438
+ min-width: 0;
1439
+ padding: 0;
1440
+ }
1441
+
1442
+ .inkra-radio-group__label {
1443
+ font-size: var(--inkra-text-md);
1444
+ line-height: var(--inkra-line-ui);
1445
+ margin: 0;
1446
+ padding: 0;
1447
+ }
1448
+
1449
+ .inkra-radio-group__description {
1450
+ display: block;
1451
+ margin-block-start: var(--inkra-space-1);
1452
+ }
1453
+
1454
+ .inkra-radio-group__items {
1455
+ display: grid;
1456
+ gap: var(--inkra-space-2);
1457
+ margin-block-start: var(--inkra-space-2);
1458
+ }
1459
+
1460
+ .inkra-radio-group__items[data-orientation="horizontal"] {
1461
+ align-items: stretch;
1462
+ display: flex;
1463
+ flex-wrap: nowrap;
1464
+ max-width: 100%;
1465
+ overflow-x: auto;
1466
+ overflow-y: hidden;
1467
+ overscroll-behavior-inline: contain;
1468
+ scrollbar-width: thin;
1469
+ }
1470
+
1471
+ .inkra-radio-group__mark {
1472
+ color: var(--inkra-ink);
1473
+ }
1474
+
1475
+ .inkra-radio-group__icon {
1476
+ align-items: center;
1477
+ display: inline-flex;
1478
+ flex: 0 0 auto;
1479
+ justify-content: center;
1480
+ }
1481
+
1482
+ .inkra-radio-group__item:has(.inkra-radio-group__icon):not(:has(.inkra-radio-group__segment)) {
1483
+ grid-template-columns: auto auto minmax(0, 1fr);
1484
+ }
1485
+
1486
+ .inkra-radio-group[data-variant="segmented"] .inkra-radio-group__item {
1487
+ display: block;
1488
+ flex: 0 0 auto;
1489
+ min-height: var(--inkra-touch-target);
1490
+ min-width: max-content;
1491
+ }
1492
+
1493
+ .inkra-radio-group__frame {
1494
+ box-sizing: border-box;
1495
+ margin-block-start: var(--inkra-space-2);
1496
+ max-width: 100%;
1497
+ padding: var(--inkra-space-1);
1498
+ width: fit-content;
1499
+ }
1500
+
1501
+ .inkra-radio-group__frame > .inkra-radio-group__items {
1502
+ gap: 0;
1503
+ margin: 0;
1504
+ }
1505
+
1506
+ .inkra-radio-group__frame .inkra-selection-control:has(.inkra-selection-control__input:focus-visible) .inkra-radio-group__segment {
1507
+ outline-offset: calc(-1 * var(--inkra-focus-width));
1508
+ }
1509
+
1510
+ .inkra-radio-group__segment {
1511
+ align-items: center;
1512
+ color: var(--inkra-ink);
1513
+ display: flex;
1514
+ justify-content: center;
1515
+ min-height: var(--inkra-touch-target);
1516
+ min-width: max-content;
1517
+ padding: var(--inkra-space-2) var(--inkra-space-3);
1518
+ position: relative;
1519
+ white-space: nowrap;
1520
+ }
1521
+
1522
+ .inkra-radio-group__item[data-checked="true"] .inkra-radio-group__segment {
1523
+ color: var(--inkra-selection-foreground);
1524
+ }
1525
+
1526
+ .inkra-radio-segment__surface {
1527
+ inset: 0;
1528
+ pointer-events: none;
1529
+ position: absolute;
1530
+ transition: none;
1531
+ }
1532
+
1533
+ .inkra-radio-segment__surface--selection {
1534
+ opacity: 0;
1535
+ }
1536
+
1537
+ .inkra-radio-group__item[data-checked="true"] .inkra-radio-segment__surface--selection {
1538
+ opacity: 1;
1539
+ transition: none;
1540
+ }
1541
+
1542
+ .inkra-radio-segment__content {
1543
+ align-items: center;
1544
+ display: flex;
1545
+ gap: var(--inkra-space-2);
1546
+ min-width: 0;
1547
+ position: relative;
1548
+ z-index: 1;
1549
+ }
1550
+
1551
+ .inkra-radio-group__segment .inkra-selection-control__copy {
1552
+ padding-block: 0;
1553
+ }
1554
+
1555
+ .inkra-pencil-surface.inkra-switch__track {
1556
+ align-items: center;
1557
+ display: inline-flex;
1558
+ height: 32px;
1559
+ justify-content: flex-start;
1560
+ overflow: hidden;
1561
+ padding-inline: 4px;
1562
+ width: 52px;
1563
+ }
1564
+
1565
+ .inkra-switch__thumb {
1566
+ --inkra-switch-thumb-shift: 0px;
1567
+
1568
+ color: var(--inkra-ink-muted);
1569
+ display: block;
1570
+ transform: translateX(var(--inkra-switch-thumb-shift));
1571
+ transition: transform var(--inkra-motion-fast) var(--inkra-ease);
1572
+ }
1573
+
1574
+ .inkra-switch[data-checked="true"] .inkra-switch__thumb {
1575
+ --inkra-switch-thumb-shift: 20px;
1576
+
1577
+ color: var(--inkra-on-accent);
1578
+ }
1579
+
1580
+ .inkra-switch:dir(rtl)[data-checked="true"] .inkra-switch__thumb {
1581
+ --inkra-switch-thumb-shift: -20px;
1582
+ }
1583
+
1584
+ @media (prefers-reduced-motion: reduce) {
1585
+ .inkra-radio-segment__surface,
1586
+ .inkra-switch__thumb {
1587
+ transition: none;
1588
+ }
1589
+ }
1590
+
1591
+ @media (forced-colors: active) {
1592
+ .inkra-selection-control__input {
1593
+ appearance: auto;
1594
+ forced-color-adjust: auto;
1595
+ height: 24px;
1596
+ opacity: 1;
1597
+ position: static;
1598
+ width: 24px;
1599
+ z-index: auto;
1600
+ }
1601
+
1602
+ .inkra-selection-control__mark,
1603
+ .inkra-switch__track,
1604
+ .inkra-radio-segment__surface {
1605
+ display: none;
1606
+ }
1607
+ }
1608
+
1609
+ .inkra-portal-theme-bridge {
1610
+ display: contents;
1611
+ font-family: var(--inkra-font-body);
1612
+ }
1613
+
1614
+ .inkra-overlay__backdrop {
1615
+ animation: inkra-overlay-backdrop-in var(--inkra-motion-normal) var(--inkra-ease);
1616
+ background: var(--inkra-overlay);
1617
+ inset: 0;
1618
+ position: fixed;
1619
+ z-index: calc(var(--inkra-z-modal, 30) + var(--inkra-floating-layer-offset, 0));
1620
+ }
1621
+
1622
+ .inkra-overlay__backdrop[data-state="closed"] {
1623
+ animation: inkra-overlay-backdrop-out var(--inkra-motion-normal) var(--inkra-ease);
1624
+ }
1625
+
1626
+ .inkra-overlay__content {
1627
+ animation: inkra-overlay-content-in var(--inkra-motion-normal) var(--inkra-ease);
1628
+ inset-block-start: 50%;
1629
+ inset-inline-start: 50%;
1630
+ max-height: min(80vh, calc(100dvh - var(--inkra-space-8)));
1631
+ outline: 0;
1632
+ position: fixed;
1633
+ transform: translate(-50%, -50%);
1634
+ width: min(36rem, calc(100vw - var(--inkra-space-8)));
1635
+ z-index: calc(var(--inkra-z-modal, 30) + var(--inkra-floating-layer-offset, 0) + 1);
1636
+ }
1637
+
1638
+ .inkra-overlay__content[data-state="closed"] {
1639
+ animation: inkra-overlay-content-out var(--inkra-motion-normal) var(--inkra-ease);
1640
+ }
1641
+
1642
+ .inkra-overlay__content:focus-visible,
1643
+ .inkra-popover__content:focus-visible {
1644
+ outline: var(--inkra-focus-width) solid var(--inkra-focus);
1645
+ outline-offset: var(--inkra-focus-offset);
1646
+ }
1647
+
1648
+ .inkra-overlay__surface {
1649
+ color: var(--inkra-ink);
1650
+ display: block;
1651
+ max-height: inherit;
1652
+ width: 100%;
1653
+ }
1654
+
1655
+ .inkra-overlay__content-body {
1656
+ box-sizing: border-box;
1657
+ max-height: inherit;
1658
+ overflow: auto;
1659
+ overscroll-behavior: contain;
1660
+ padding: var(--inkra-space-6);
1661
+ scrollbar-gutter: stable;
1662
+ }
1663
+
1664
+ .inkra-overlay__title,
1665
+ .inkra-popover__title {
1666
+ color: var(--inkra-ink);
1667
+ font-family: var(--inkra-font-display);
1668
+ font-size: var(--inkra-text-xl);
1669
+ font-weight: var(--inkra-weight-regular);
1670
+ line-height: var(--inkra-line-ui);
1671
+ margin: 0;
1672
+ }
1673
+
1674
+ .inkra-overlay__content[data-layout="sections"] > .inkra-overlay__surface,
1675
+ .inkra-overlay__content[data-layout="sections"] > .inkra-overlay__surface > .inkra-overlay__content-body {
1676
+ display: flex;
1677
+ flex-direction: column;
1678
+ min-height: 0;
1679
+ }
1680
+
1681
+ .inkra-overlay__content[data-layout="sections"] > .inkra-overlay__surface > .inkra-overlay__content-body {
1682
+ overflow: hidden;
1683
+ padding: 0;
1684
+ scrollbar-gutter: auto;
1685
+ }
1686
+
1687
+ .inkra-overlay__header,
1688
+ .inkra-overlay__footer {
1689
+ position: relative;
1690
+ display: flex;
1691
+ flex: none;
1692
+ gap: var(--inkra-space-3);
1693
+ padding: var(--inkra-space-5);
1694
+ min-width: 0;
1695
+ }
1696
+
1697
+ .inkra-overlay__header { align-items: flex-start; }
1698
+ .inkra-overlay__heading { display: grid; gap: var(--inkra-space-2); flex: 1; min-width: 0; overflow-wrap: anywhere; }
1699
+ .inkra-overlay__header-actions { display: flex; flex: none; align-items: center; gap: var(--inkra-space-2); }
1700
+ .inkra-overlay__close-button { flex: none; }
1701
+
1702
+ .inkra-overlay__body {
1703
+ flex: 1 1 auto;
1704
+ min-height: 0;
1705
+ min-width: 0;
1706
+ overflow: auto;
1707
+ overscroll-behavior: contain;
1708
+ scrollbar-gutter: stable;
1709
+ padding: var(--inkra-space-5);
1710
+ }
1711
+
1712
+ .inkra-overlay__footer { align-items: center; flex-wrap: wrap; justify-content: flex-end; }
1713
+ .inkra-overlay__footer[data-align="start"] { justify-content: flex-start; }
1714
+ .inkra-overlay__footer[data-align="center"] { justify-content: center; }
1715
+ .inkra-overlay__footer > .inkra-button { max-width: 100%; }
1716
+
1717
+ .inkra-overlay__section-divider {
1718
+ position: absolute;
1719
+ inset-inline: 0;
1720
+ width: 100%;
1721
+ height: 8px;
1722
+ pointer-events: none;
1723
+ }
1724
+ .inkra-overlay__header > .inkra-overlay__section-divider { bottom: -4px; }
1725
+ .inkra-overlay__footer > .inkra-overlay__section-divider { top: -4px; }
1726
+
1727
+ .inkra-overlay__description,
1728
+ .inkra-popover__description {
1729
+ color: var(--inkra-ink-muted);
1730
+ font-family: var(--inkra-font-body);
1731
+ font-size: var(--inkra-text-md);
1732
+ line-height: var(--inkra-line-body);
1733
+ margin: 0;
1734
+ }
1735
+
1736
+ .inkra-popover__content {
1737
+ animation: inkra-popover-content-in var(--inkra-motion-normal) var(--inkra-ease);
1738
+ max-height: min(70vh, var(--radix-popover-content-available-height, 70vh));
1739
+ max-width: min(24rem, calc(100vw - var(--inkra-space-8)));
1740
+ outline: 0;
1741
+ transform-origin: var(--radix-popover-content-transform-origin);
1742
+ width: max-content;
1743
+ z-index: calc(var(--inkra-z-popover, 20) + var(--inkra-floating-layer-offset, 0));
1744
+ }
1745
+
1746
+ .inkra-popover__content[data-state="closed"] {
1747
+ animation: inkra-popover-content-out var(--inkra-motion-normal) var(--inkra-ease);
1748
+ }
1749
+
1750
+ .inkra-popover__surface {
1751
+ color: var(--inkra-ink);
1752
+ display: block;
1753
+ max-height: inherit;
1754
+ max-width: inherit;
1755
+ }
1756
+
1757
+ .inkra-popover__content-body {
1758
+ box-sizing: border-box;
1759
+ max-height: inherit;
1760
+ max-width: inherit;
1761
+ overflow: auto;
1762
+ overscroll-behavior: contain;
1763
+ padding: var(--inkra-space-4);
1764
+ scrollbar-gutter: stable;
1765
+ }
1766
+
1767
+ .inkra-popover__arrow {
1768
+ color: var(--inkra-paper);
1769
+ fill: currentcolor;
1770
+ height: 8px;
1771
+ width: 16px;
1772
+ }
1773
+
1774
+ @keyframes inkra-overlay-backdrop-in {
1775
+ from { opacity: 0; }
1776
+ to { opacity: 1; }
1777
+ }
1778
+
1779
+ @keyframes inkra-overlay-backdrop-out {
1780
+ from { opacity: 1; }
1781
+ to { opacity: 0; }
1782
+ }
1783
+
1784
+ @keyframes inkra-overlay-content-in {
1785
+ from {
1786
+ opacity: 0;
1787
+ transform: translate(-50%, calc(-50% + var(--inkra-space-2))) scale(0.98);
1788
+ }
1789
+ to {
1790
+ opacity: 1;
1791
+ transform: translate(-50%, -50%) scale(1);
1792
+ }
1793
+ }
1794
+
1795
+ @keyframes inkra-overlay-content-out {
1796
+ from {
1797
+ opacity: 1;
1798
+ transform: translate(-50%, -50%) scale(1);
1799
+ }
1800
+ to {
1801
+ opacity: 0;
1802
+ transform: translate(-50%, calc(-50% + var(--inkra-space-2))) scale(0.98);
1803
+ }
1804
+ }
1805
+
1806
+ @keyframes inkra-popover-content-in {
1807
+ from {
1808
+ opacity: 0;
1809
+ transform: translateY(var(--inkra-space-1)) scale(0.98);
1810
+ }
1811
+ to {
1812
+ opacity: 1;
1813
+ transform: translateY(0) scale(1);
1814
+ }
1815
+ }
1816
+
1817
+ @keyframes inkra-popover-content-out {
1818
+ from {
1819
+ opacity: 1;
1820
+ transform: translateY(0) scale(1);
1821
+ }
1822
+ to {
1823
+ opacity: 0;
1824
+ transform: translateY(var(--inkra-space-1)) scale(0.98);
1825
+ }
1826
+ }
1827
+
1828
+ @media (max-width: 30rem) {
1829
+ .inkra-overlay__content {
1830
+ max-height: calc(100dvh - var(--inkra-space-4));
1831
+ width: calc(100vw - var(--inkra-space-4));
1832
+ }
1833
+
1834
+ .inkra-overlay__content-body {
1835
+ padding: var(--inkra-space-4);
1836
+ }
1837
+ }
1838
+
1839
+ @media (prefers-reduced-motion: reduce) {
1840
+ .inkra-overlay__backdrop,
1841
+ .inkra-overlay__content,
1842
+ .inkra-popover__content {
1843
+ animation: none;
1844
+ }
1845
+ }
1846
+
1847
+ @media (forced-colors: active) {
1848
+ .inkra-overlay__header[data-divided] { border-bottom: 1px solid CanvasText; }
1849
+ .inkra-overlay__footer[data-divided] { border-top: 1px solid CanvasText; }
1850
+ .inkra-overlay__backdrop {
1851
+ background: CanvasText;
1852
+ opacity: 0.25;
1853
+ }
1854
+
1855
+ .inkra-overlay__surface,
1856
+ .inkra-popover__surface {
1857
+ background: Canvas;
1858
+ border: 1px solid CanvasText;
1859
+ }
1860
+
1861
+ .inkra-popover__arrow {
1862
+ color: Canvas;
1863
+ forced-color-adjust: none;
1864
+ stroke: CanvasText;
1865
+ }
1866
+ }
1867
+
1868
+ @media print {
1869
+ .inkra-overlay__backdrop {
1870
+ display: none;
1871
+ }
1872
+
1873
+ .inkra-overlay__content,
1874
+ .inkra-popover__content {
1875
+ animation: none;
1876
+ max-height: none;
1877
+ max-width: none;
1878
+ position: static;
1879
+ transform: none;
1880
+ width: auto;
1881
+ }
1882
+ }
1883
+
1884
+ .inkra-search-select { width: 100%; min-width: 0; }
1885
+ .inkra-search-select__anchor { display: flex; align-items: center; gap: 4px; min-width: 0; }
1886
+ .inkra-search-select__anchor > .inkra-input-root,
1887
+ .inkra-search-select__trigger { flex: 1; min-width: 0; }
1888
+ .inkra-search-select__anchor > button:not(.inkra-search-select__trigger) { flex: none; }
1889
+ .inkra-search-select__summary { display: block; margin-top: 8px; font-size: var(--inkra-text-sm); }
1890
+ .inkra-search-select__positioner { width: var(--anchor-width); max-width: calc(100vw - 16px); }
1891
+ .inkra-search-select__popup { outline: 0; width: 100%; }
1892
+ .inkra-search-select__search { padding: 12px; }
1893
+ .inkra-search-select__list { max-height: min(280px, var(--available-height)); overflow: auto; }
1894
+ .inkra-search-select__empty:not(:empty) { padding: 16px; font-family: var(--inkra-font-body); }
1895
+ .inkra-search-select__popup [data-selected] .inkra-select__item-surface,
1896
+ .inkra-search-select__popup [data-highlighted] .inkra-select__item-surface { color: var(--inkra-selection-foreground); }
1897
+ .inkra-search-select__popup [data-disabled] { opacity: 0.5; }
1898
+
1899
+ .inkra-select__trigger {
1900
+ --inkra-select-height: var(--inkra-control-md);
1901
+ --inkra-select-font-size: var(--inkra-text-md);
1902
+ --inkra-select-icon-size: 28px;
1903
+ --inkra-select-slot-size: 22px;
1904
+ --inkra-select-padding: var(--inkra-space-3);
1905
+
1906
+ align-items: center;
1907
+ appearance: none;
1908
+ background: transparent;
1909
+ border: 0;
1910
+ box-sizing: border-box;
1911
+ color: var(--inkra-ink);
1912
+ cursor: pointer;
1913
+ display: inline-flex;
1914
+ font-family: var(--inkra-font-body);
1915
+ font-weight: var(--inkra-weight-regular);
1916
+ letter-spacing: var(--inkra-letter-spacing);
1917
+ line-height: var(--inkra-line-ui);
1918
+ min-height: var(--inkra-touch-target);
1919
+ min-width: var(--inkra-touch-target);
1920
+ padding: 0;
1921
+ width: 100%;
1922
+ }
1923
+
1924
+ .inkra-select__trigger[data-size="sm"] {
1925
+ --inkra-select-height: var(--inkra-control-sm);
1926
+ --inkra-select-font-size: var(--inkra-text-sm);
1927
+ --inkra-select-icon-size: 24px;
1928
+ --inkra-select-slot-size: 18px;
1929
+ --inkra-select-padding: var(--inkra-space-2);
1930
+ }
1931
+
1932
+ .inkra-select__trigger[data-size="lg"] {
1933
+ --inkra-select-height: var(--inkra-control-lg);
1934
+ --inkra-select-font-size: var(--inkra-text-lg);
1935
+ --inkra-select-icon-size: 32px;
1936
+ --inkra-select-slot-size: 26px;
1937
+ --inkra-select-padding: var(--inkra-space-4);
1938
+ }
1939
+
1940
+ .inkra-select__trigger:focus-visible {
1941
+ outline: 0;
1942
+ }
1943
+
1944
+ .inkra-select__trigger:disabled {
1945
+ cursor: not-allowed;
1946
+ opacity: 0.55;
1947
+ }
1948
+
1949
+ .inkra-select__clear {
1950
+ flex-shrink: 0;
1951
+ }
1952
+
1953
+ .inkra-select__trigger-surface {
1954
+ align-items: center;
1955
+ box-sizing: border-box;
1956
+ display: flex !important;
1957
+ font-size: var(--inkra-select-font-size);
1958
+ gap: var(--inkra-space-2);
1959
+ height: var(--inkra-select-height);
1960
+ min-width: 0;
1961
+ padding-inline: var(--inkra-select-padding);
1962
+ pointer-events: none;
1963
+ width: 100%;
1964
+ }
1965
+
1966
+ .inkra-select__focus-ring {
1967
+ --inkra-accent-strong: var(--inkra-focus);
1968
+
1969
+ display: block !important;
1970
+ inset: calc(-1 * var(--inkra-focus-offset));
1971
+ opacity: 0;
1972
+ pointer-events: none;
1973
+ position: absolute !important;
1974
+ transition: opacity var(--inkra-motion-fast) var(--inkra-ease);
1975
+ z-index: 2;
1976
+ }
1977
+
1978
+ .inkra-select__trigger:focus-visible .inkra-select__focus-ring {
1979
+ opacity: 1;
1980
+ }
1981
+
1982
+ .inkra-select__trigger-value {
1983
+ flex: 1 1 auto;
1984
+ min-width: 0;
1985
+ overflow: hidden;
1986
+ text-align: start;
1987
+ text-overflow: ellipsis;
1988
+ white-space: nowrap;
1989
+ }
1990
+
1991
+ .inkra-select__trigger[data-full-width="false"] {
1992
+ width: fit-content;
1993
+ max-width: 100%;
1994
+ }
1995
+
1996
+ .inkra-select__trigger[data-text-align="center"] .inkra-select__trigger-value { text-align: center; }
1997
+ .inkra-select__trigger[data-text-align="end"] .inkra-select__trigger-value { text-align: end; }
1998
+
1999
+ .inkra-select__trigger-slot {
2000
+ display: inline-flex;
2001
+ align-items: center;
2002
+ justify-content: center;
2003
+ flex: none;
2004
+ width: var(--inkra-select-slot-size);
2005
+ height: var(--inkra-select-slot-size);
2006
+ }
2007
+
2008
+ .inkra-select__trigger-slot > * { max-width: 100%; max-height: 100%; }
2009
+ .inkra-select__trigger-slot:has(.inkra-select__trigger-glyph) {
2010
+ width: var(--inkra-select-icon-size);
2011
+ height: var(--inkra-select-icon-size);
2012
+ }
2013
+ .inkra-select__trigger-icon { flex: none; margin-inline-start: auto; }
2014
+
2015
+ .inkra-select__trigger-value-hidden {
2016
+ position: absolute;
2017
+ width: 1px;
2018
+ height: 1px;
2019
+ padding: 0;
2020
+ margin: -1px;
2021
+ overflow: hidden;
2022
+ clip-path: inset(50%);
2023
+ white-space: nowrap;
2024
+ border: 0;
2025
+ }
2026
+
2027
+ .inkra-select__trigger[data-icon-only="true"] {
2028
+ flex: none;
2029
+ width: max(var(--inkra-touch-target), var(--inkra-select-height));
2030
+ justify-content: center;
2031
+ }
2032
+
2033
+ .inkra-select__trigger[data-icon-only="true"] .inkra-select__trigger-surface {
2034
+ width: var(--inkra-select-height);
2035
+ justify-content: center;
2036
+ padding: 0;
2037
+ gap: 0;
2038
+ }
2039
+
2040
+ .inkra-select__trigger[data-placeholder] .inkra-select__trigger-value {
2041
+ color: var(--inkra-ink-subtle);
2042
+ }
2043
+
2044
+ .inkra-select__trigger-icon {
2045
+ align-items: center;
2046
+ color: var(--inkra-ink-muted);
2047
+ display: inline-flex;
2048
+ height: var(--inkra-select-icon-size);
2049
+ justify-content: center;
2050
+ transition: transform var(--inkra-motion-fast) var(--inkra-ease);
2051
+ width: var(--inkra-select-icon-size);
2052
+ }
2053
+
2054
+ .inkra-select__trigger[data-state="open"] .inkra-select__trigger-icon,
2055
+ .inkra-select__trigger[data-popup-open] .inkra-select__trigger-icon {
2056
+ transform: rotate(180deg);
2057
+ }
2058
+
2059
+ .inkra-select__trigger-glyph {
2060
+ max-height: 100%;
2061
+ max-width: 100%;
2062
+ }
2063
+
2064
+ .inkra-select__value-copy,
2065
+ .inkra-select__item-text-copy {
2066
+ display: block;
2067
+ max-width: 100%;
2068
+ overflow: hidden;
2069
+ text-overflow: ellipsis;
2070
+ white-space: nowrap;
2071
+ }
2072
+
2073
+ .inkra-select__content {
2074
+ animation: inkra-select-content-in var(--inkra-motion-normal) var(--inkra-ease);
2075
+ max-height: min(70vh, var(--radix-select-content-available-height, 70vh));
2076
+ max-width: min(28rem, calc(100vw - var(--inkra-space-8)));
2077
+ min-width: min(max(var(--radix-select-trigger-width, 0px), 12rem), calc(100vw - var(--inkra-space-8)));
2078
+ outline: 0;
2079
+ transform-origin: var(--radix-select-content-transform-origin);
2080
+ z-index: calc(var(--inkra-z-popover, 20) + var(--inkra-floating-layer-offset, 0));
2081
+ }
2082
+
2083
+ .inkra-select__positioner {
2084
+ --radix-select-trigger-width: var(--anchor-width);
2085
+ --radix-select-content-available-height: var(--available-height);
2086
+ --radix-select-content-transform-origin: var(--transform-origin);
2087
+
2088
+ z-index: calc(var(--inkra-z-popover, 20) + var(--inkra-floating-layer-offset, 0));
2089
+ }
2090
+
2091
+ .inkra-select__positioner .inkra-select__viewport {
2092
+ overflow-y: auto;
2093
+ overscroll-behavior: contain;
2094
+ }
2095
+
2096
+ .inkra-select__positioner[data-hide-when-detached][data-anchor-hidden] {
2097
+ visibility: hidden;
2098
+ }
2099
+
2100
+ .inkra-select__content[data-closed] {
2101
+ pointer-events: none;
2102
+ }
2103
+
2104
+ .inkra-select__content[data-closed]:not([data-ending-style]) {
2105
+ visibility: hidden;
2106
+ }
2107
+
2108
+ .inkra-select__content[data-ending-style] {
2109
+ animation: inkra-select-content-out var(--inkra-motion-normal) var(--inkra-ease);
2110
+ }
2111
+
2112
+ .inkra-select__content[data-state="closed"] {
2113
+ animation: inkra-select-content-out var(--inkra-motion-normal) var(--inkra-ease);
2114
+ }
2115
+
2116
+ .inkra-select__content-surface {
2117
+ box-sizing: border-box;
2118
+ color: var(--inkra-ink);
2119
+ display: block;
2120
+ max-height: inherit;
2121
+ max-width: inherit;
2122
+ min-width: inherit;
2123
+ overflow: hidden;
2124
+ width: 100%;
2125
+ }
2126
+
2127
+ .inkra-select__viewport {
2128
+ box-sizing: border-box;
2129
+ max-height: inherit;
2130
+ padding: var(--inkra-space-1);
2131
+ }
2132
+
2133
+ .inkra-select__content[data-position="popper"] .inkra-select__viewport {
2134
+ min-width: var(--radix-select-trigger-width);
2135
+ width: 100%;
2136
+ }
2137
+
2138
+ .inkra-select__group + .inkra-select__group {
2139
+ margin-block-start: var(--inkra-space-1);
2140
+ }
2141
+
2142
+ .inkra-select__label {
2143
+ color: var(--inkra-ink-muted);
2144
+ font-family: var(--inkra-font-body);
2145
+ font-size: var(--inkra-text-sm);
2146
+ line-height: var(--inkra-line-ui);
2147
+ padding: var(--inkra-space-2) var(--inkra-space-3) var(--inkra-space-1);
2148
+ }
2149
+
2150
+ .inkra-select__item {
2151
+ color: var(--inkra-ink);
2152
+ cursor: pointer;
2153
+ font-family: var(--inkra-font-body);
2154
+ font-size: var(--inkra-text-md);
2155
+ line-height: var(--inkra-line-ui);
2156
+ outline: 0;
2157
+ padding: 0;
2158
+ user-select: none;
2159
+ }
2160
+
2161
+ .inkra-select__item:focus-visible {
2162
+ outline: 0;
2163
+ }
2164
+
2165
+ .inkra-select__item-surface {
2166
+ align-items: center;
2167
+ box-sizing: border-box;
2168
+ color: inherit;
2169
+ display: flex;
2170
+ gap: var(--inkra-space-2);
2171
+ min-height: var(--inkra-touch-target);
2172
+ padding-block: var(--inkra-space-2);
2173
+ padding-inline-end: calc(var(--inkra-space-3) + var(--inkra-icon-sm) + var(--inkra-space-2));
2174
+ padding-inline-start: var(--inkra-space-3);
2175
+ pointer-events: none;
2176
+ position: relative;
2177
+ width: 100%;
2178
+ }
2179
+
2180
+ .inkra-select__item-text-copy {
2181
+ flex: 1 1 auto;
2182
+ min-width: 0;
2183
+ }
2184
+
2185
+ .inkra-select__item-surface > .inkra-pencil-surface__ink {
2186
+ opacity: 0;
2187
+ transition: opacity var(--inkra-motion-fast) var(--inkra-ease);
2188
+ }
2189
+
2190
+ .inkra-select__item[data-highlighted] .inkra-select__item-surface,
2191
+ .inkra-select__item[data-selected] .inkra-select__item-surface,
2192
+ .inkra-select__item[data-state="checked"] .inkra-select__item-surface {
2193
+ color: var(--inkra-selection-foreground);
2194
+ }
2195
+
2196
+ .inkra-select__item[data-highlighted] .inkra-select__item-surface > .inkra-pencil-surface__ink,
2197
+ .inkra-select__item[data-selected] .inkra-select__item-surface > .inkra-pencil-surface__ink,
2198
+ .inkra-select__item[data-state="checked"] .inkra-select__item-surface > .inkra-pencil-surface__ink {
2199
+ opacity: 1;
2200
+ }
2201
+
2202
+ .inkra-select__item[data-disabled] {
2203
+ cursor: not-allowed;
2204
+ opacity: 0.5;
2205
+ }
2206
+
2207
+ .inkra-select__item-indicator {
2208
+ align-items: center;
2209
+ display: inline-flex;
2210
+ height: var(--inkra-icon-sm);
2211
+ inset-inline-end: var(--inkra-space-3);
2212
+ justify-content: center;
2213
+ position: absolute;
2214
+ top: 50%;
2215
+ transform: translateY(-50%);
2216
+ width: var(--inkra-icon-sm);
2217
+ }
2218
+
2219
+ .inkra-select__scroll-button {
2220
+ align-items: center;
2221
+ color: var(--inkra-ink-muted);
2222
+ cursor: default;
2223
+ display: flex;
2224
+ height: var(--inkra-control-xs);
2225
+ justify-content: center;
2226
+ }
2227
+
2228
+ .inkra-select__separator {
2229
+ color: var(--inkra-border);
2230
+ height: 8px;
2231
+ margin: 0 var(--inkra-space-2);
2232
+ }
2233
+
2234
+ .inkra-select__separator > .inkra-pencil-line {
2235
+ height: 8px;
2236
+ width: 100%;
2237
+ }
2238
+
2239
+ @keyframes inkra-select-content-in {
2240
+ from {
2241
+ opacity: 0;
2242
+ transform: translateY(var(--inkra-space-1)) scale(0.98);
2243
+ }
2244
+ to {
2245
+ opacity: 1;
2246
+ transform: translateY(0) scale(1);
2247
+ }
2248
+ }
2249
+
2250
+ @keyframes inkra-select-content-out {
2251
+ from {
2252
+ opacity: 1;
2253
+ transform: translateY(0) scale(1);
2254
+ }
2255
+ to {
2256
+ opacity: 0;
2257
+ transform: translateY(var(--inkra-space-1)) scale(0.98);
2258
+ }
2259
+ }
2260
+
2261
+ @media (prefers-reduced-motion: reduce) {
2262
+ .inkra-select__content,
2263
+ .inkra-select__content[data-ending-style],
2264
+ .inkra-select__content[data-state="closed"] {
2265
+ animation: none;
2266
+ }
2267
+
2268
+ .inkra-select__trigger-icon,
2269
+ .inkra-select__focus-ring,
2270
+ .inkra-select__item-surface > .inkra-pencil-surface__ink {
2271
+ transition-duration: 0ms;
2272
+ }
2273
+ }
2274
+
2275
+ @media (forced-colors: active) {
2276
+ .inkra-select__trigger:focus-visible {
2277
+ outline: var(--inkra-focus-width) solid Highlight;
2278
+ outline-offset: var(--inkra-focus-offset);
2279
+ }
2280
+
2281
+ .inkra-select__focus-ring {
2282
+ display: none !important;
2283
+ }
2284
+
2285
+ .inkra-select__trigger-surface,
2286
+ .inkra-select__content-surface {
2287
+ background: Canvas;
2288
+ border: 1px solid CanvasText;
2289
+ }
2290
+
2291
+ .inkra-select__trigger[data-invalid="true"] .inkra-select__trigger-surface {
2292
+ border-color: Mark;
2293
+ }
2294
+
2295
+ .inkra-select__item[data-highlighted] .inkra-select__item-surface,
2296
+ .inkra-select__item[data-selected] .inkra-select__item-surface,
2297
+ .inkra-select__item[data-state="checked"] .inkra-select__item-surface {
2298
+ background: Highlight;
2299
+ color: HighlightText;
2300
+ forced-color-adjust: none;
2301
+ }
2302
+
2303
+ .inkra-select__item:focus-visible {
2304
+ outline: var(--inkra-focus-width) solid CanvasText;
2305
+ outline-offset: calc(-1 * var(--inkra-focus-offset));
2306
+ }
2307
+ }
2308
+
2309
+ @media print {
2310
+ .inkra-select__content {
2311
+ animation: none;
2312
+ }
2313
+ }
2314
+
2315
+ .inkra-tabs { min-width: 0; --inkra-tabs-font-size: var(--inkra-text-md); --inkra-tabs-padding: var(--inkra-space-3); --inkra-tabs-icon-size: 20px; }
2316
+ .inkra-tabs[data-size="sm"] { --inkra-tabs-font-size: var(--inkra-text-sm); --inkra-tabs-padding: var(--inkra-space-2); --inkra-tabs-icon-size: 16px; }
2317
+ .inkra-tabs[data-size="lg"] { --inkra-tabs-font-size: 17px; --inkra-tabs-padding: var(--inkra-space-4); --inkra-tabs-icon-size: 24px; }
2318
+ .inkra-tabs__list { display: flex; gap: var(--inkra-space-2); max-width: 100%; overflow-x: auto; }
2319
+ .inkra-tabs__list[data-orientation="vertical"] { flex-direction: column; }
2320
+ .inkra-tabs__list[data-divided] { gap: 24px; }
2321
+ .inkra-tabs__divider { position: absolute; color: var(--inkra-ink-muted); opacity: 0.56; }
2322
+ .inkra-tabs__trigger > .inkra-tabs__divider[data-orientation="vertical"] { inset-inline-start: -16px; top: 8px; width: 8px; height: calc(100% - 16px); }
2323
+ .inkra-tabs__trigger > .inkra-tabs__divider[data-orientation="horizontal"] { inset-inline: 8px; top: -16px; width: calc(100% - 16px); height: 8px; }
2324
+ .inkra-tabs__trigger:first-child > .inkra-tabs__divider { display: none; }
2325
+ .inkra-tabs__list[data-align="center"] { justify-content: safe center; }
2326
+ .inkra-tabs__list[data-align="end"] { justify-content: safe end; }
2327
+ .inkra-tabs__list[data-full-width] { width: 100%; }
2328
+ .inkra-tabs__list[data-full-width] > .inkra-tabs__trigger { flex: 1 0 0; }
2329
+ .inkra-tabs__list[data-orientation="vertical"][data-full-width] > .inkra-tabs__trigger { flex: none; width: 100%; }
2330
+ .inkra-tabs__trigger {
2331
+ position: relative; flex: none; display: inline-flex; align-items: center; justify-content: center;
2332
+ min-height: var(--inkra-touch-target); min-width: var(--inkra-touch-target);
2333
+ padding: var(--inkra-space-2) var(--inkra-tabs-padding); border: 0; gap: var(--inkra-space-2);
2334
+ background: transparent; color: var(--inkra-ink-muted); font: inherit;
2335
+ white-space: nowrap; cursor: pointer; border-radius: var(--inkra-radius-md);
2336
+ font-size: var(--inkra-tabs-font-size); line-height: var(--inkra-line-ui);
2337
+ }
2338
+ .inkra-tabs[data-size="lg"] .inkra-tabs__trigger { min-height: 48px; }
2339
+ .inkra-tabs__icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: var(--inkra-tabs-icon-size); height: var(--inkra-tabs-icon-size); flex: none; pointer-events: none; }
2340
+ .inkra-tabs__icon > * { width: 100%; height: 100%; }
2341
+ .inkra-tabs__trigger[data-state="active"] { color: var(--inkra-selection-foreground); }
2342
+ .inkra-tabs__trigger:disabled { cursor: not-allowed; opacity: 0.55; }
2343
+ .inkra-tabs__trigger:focus-visible { outline: 0; }
2344
+ .inkra-tabs__focus-ring {
2345
+ --inkra-accent-strong: var(--inkra-focus);
2346
+ position: absolute !important;
2347
+ display: block !important;
2348
+ inset: 0;
2349
+ pointer-events: none;
2350
+ opacity: 0;
2351
+ z-index: 2;
2352
+ }
2353
+ .inkra-tabs__trigger:focus-visible > .inkra-tabs__focus-ring { opacity: 1; }
2354
+ .inkra-tabs__content:focus-visible {
2355
+ outline: var(--inkra-focus-width) solid var(--inkra-focus);
2356
+ outline-offset: calc(-1 * var(--inkra-focus-width));
2357
+ }
2358
+ .inkra-tabs__selection { position: absolute; inset: 0; pointer-events: none; opacity: 0; }
2359
+ .inkra-tabs__trigger[data-state="active"] > .inkra-tabs__selection { opacity: 1; }
2360
+ .inkra-tabs__label { position: relative; }
2361
+ .inkra-tabs__content { min-width: 0; }
2362
+ .inkra-tabs__content[hidden] { display: none !important; }
2363
+ @media (forced-colors: active) {
2364
+ .inkra-tabs__focus-ring { display: none !important; }
2365
+ .inkra-tabs__trigger:focus-visible { outline: var(--inkra-focus-width) solid Highlight; outline-offset: calc(-1 * var(--inkra-focus-width)); }
2366
+ .inkra-tabs__selection { display: none; }
2367
+ .inkra-tabs__trigger[data-state="active"] { color: Highlight; outline: 2px solid Highlight; outline-offset: -2px; }
2368
+ }
2369
+ @media print { .inkra-tabs__selection, .inkra-tabs__focus-ring { display: none !important; } }
2370
+
2371
+ .inkra-tooltip__content {
2372
+ animation: inkra-tooltip-content-in var(--inkra-motion-fast) var(--inkra-ease);
2373
+ max-width: min(20rem, calc(100vw - var(--inkra-space-4)));
2374
+ outline: 0;
2375
+ transform-origin: var(--radix-tooltip-content-transform-origin);
2376
+ z-index: calc(var(--inkra-z-tooltip, 40) + var(--inkra-floating-layer-offset, 0));
2377
+ }
2378
+
2379
+ .inkra-tooltip__content[data-state="closed"] {
2380
+ animation: inkra-tooltip-content-out var(--inkra-motion-fast) var(--inkra-ease);
2381
+ }
2382
+
2383
+ .inkra-tooltip__surface {
2384
+ color: var(--inkra-ink);
2385
+ display: block;
2386
+ max-width: inherit;
2387
+ }
2388
+
2389
+ .inkra-tooltip__content-body {
2390
+ box-sizing: border-box;
2391
+ font-family: var(--inkra-font-body);
2392
+ font-size: var(--inkra-text-sm);
2393
+ line-height: var(--inkra-line-ui);
2394
+ max-width: inherit;
2395
+ overflow-wrap: anywhere;
2396
+ padding: var(--inkra-space-2) var(--inkra-space-3);
2397
+ user-select: text;
2398
+ }
2399
+
2400
+ @keyframes inkra-tooltip-content-in {
2401
+ from {
2402
+ opacity: 0;
2403
+ transform: translateY(var(--inkra-space-1)) scale(0.98);
2404
+ }
2405
+ to {
2406
+ opacity: 1;
2407
+ transform: translateY(0) scale(1);
2408
+ }
2409
+ }
2410
+
2411
+ @keyframes inkra-tooltip-content-out {
2412
+ from {
2413
+ opacity: 1;
2414
+ transform: translateY(0) scale(1);
2415
+ }
2416
+ to {
2417
+ opacity: 0;
2418
+ transform: translateY(var(--inkra-space-1)) scale(0.98);
2419
+ }
2420
+ }
2421
+
2422
+ @media (prefers-reduced-motion: reduce) {
2423
+ .inkra-tooltip__content {
2424
+ animation: none;
2425
+ }
2426
+ }
2427
+
2428
+ @media (forced-colors: active) {
2429
+ .inkra-tooltip__surface {
2430
+ background: Canvas;
2431
+ border: 1px solid CanvasText;
2432
+ color: CanvasText;
2433
+ }
2434
+ }
2435
+
2436
+ @media print {
2437
+ .inkra-tooltip__content {
2438
+ display: none;
2439
+ }
2440
+ }
2441
+
2442
+ .inkra-accordion {
2443
+ color: var(--inkra-ink);
2444
+ width: 100%;
2445
+ }
2446
+
2447
+ .inkra-accordion[data-orientation="horizontal"] {
2448
+ display: flex;
2449
+ max-width: 100%;
2450
+ overflow-x: auto;
2451
+ }
2452
+
2453
+ .inkra-accordion__item {
2454
+ min-width: 0;
2455
+ position: relative;
2456
+ }
2457
+
2458
+ .inkra-accordion[data-orientation="horizontal"] > .inkra-accordion__item {
2459
+ display: flex;
2460
+ flex: 0 0 auto;
2461
+ }
2462
+
2463
+ .inkra-accordion__header {
2464
+ font: inherit;
2465
+ margin: 0;
2466
+ }
2467
+
2468
+ .inkra-accordion__trigger {
2469
+ align-items: center;
2470
+ appearance: none;
2471
+ background: transparent;
2472
+ border: 0;
2473
+ box-sizing: border-box;
2474
+ color: var(--inkra-ink);
2475
+ cursor: pointer;
2476
+ display: flex;
2477
+ font-family: var(--inkra-font-body);
2478
+ font-size: var(--inkra-text-md);
2479
+ font-weight: var(--inkra-weight-regular);
2480
+ gap: var(--inkra-space-3);
2481
+ justify-content: space-between;
2482
+ letter-spacing: var(--inkra-letter-spacing);
2483
+ line-height: var(--inkra-line-ui);
2484
+ min-height: var(--inkra-touch-target);
2485
+ min-width: var(--inkra-touch-target);
2486
+ padding: var(--inkra-space-2) var(--inkra-space-3);
2487
+ position: relative;
2488
+ text-align: start;
2489
+ width: 100%;
2490
+ }
2491
+
2492
+ .inkra-accordion__trigger:focus-visible {
2493
+ outline: 0;
2494
+ }
2495
+
2496
+ .inkra-accordion__trigger:disabled,
2497
+ .inkra-accordion__item[data-disabled] .inkra-accordion__trigger {
2498
+ cursor: not-allowed;
2499
+ opacity: 0.55;
2500
+ }
2501
+
2502
+ .inkra-accordion__focus-ring {
2503
+ --inkra-accent-strong: var(--inkra-focus);
2504
+
2505
+ display: block !important;
2506
+ inset: calc(-1 * var(--inkra-focus-offset));
2507
+ opacity: 0;
2508
+ pointer-events: none;
2509
+ position: absolute !important;
2510
+ transition: opacity var(--inkra-motion-fast) var(--inkra-ease);
2511
+ z-index: 2;
2512
+ }
2513
+
2514
+ .inkra-accordion__trigger:focus-visible .inkra-accordion__focus-ring {
2515
+ opacity: 1;
2516
+ }
2517
+
2518
+ .inkra-accordion__trigger-label {
2519
+ min-width: 0;
2520
+ position: relative;
2521
+ }
2522
+
2523
+ .inkra-accordion__trigger-icon {
2524
+ align-items: center;
2525
+ color: var(--inkra-ink-muted);
2526
+ display: inline-flex;
2527
+ flex: 0 0 var(--inkra-icon-md);
2528
+ height: var(--inkra-icon-md);
2529
+ justify-content: center;
2530
+ pointer-events: none;
2531
+ transition: transform var(--inkra-motion-fast) var(--inkra-ease);
2532
+ width: var(--inkra-icon-md);
2533
+ }
2534
+
2535
+ .inkra-accordion__trigger[data-state="open"] .inkra-accordion__trigger-icon {
2536
+ transform: rotate(180deg);
2537
+ }
2538
+
2539
+ .inkra-accordion__trigger-glyph {
2540
+ max-height: 100%;
2541
+ max-width: 100%;
2542
+ }
2543
+
2544
+ .inkra-accordion__content {
2545
+ overflow: hidden;
2546
+ }
2547
+
2548
+ .inkra-accordion__content[data-state="open"] {
2549
+ animation: inkra-accordion-content-down var(--inkra-motion-normal) var(--inkra-ease);
2550
+ }
2551
+
2552
+ .inkra-accordion__content[data-state="closed"] {
2553
+ animation: inkra-accordion-content-up var(--inkra-motion-normal) var(--inkra-ease);
2554
+ }
2555
+
2556
+ .inkra-accordion__content-body {
2557
+ box-sizing: border-box;
2558
+ color: var(--inkra-ink-muted);
2559
+ font-family: var(--inkra-font-body);
2560
+ font-size: var(--inkra-text-md);
2561
+ line-height: var(--inkra-line-body);
2562
+ padding: var(--inkra-space-2) var(--inkra-space-3) var(--inkra-space-4);
2563
+ }
2564
+
2565
+ .inkra-accordion__divider {
2566
+ color: var(--inkra-border);
2567
+ inset-block-end: -4px;
2568
+ inset-inline: 0;
2569
+ pointer-events: none;
2570
+ position: absolute;
2571
+ }
2572
+
2573
+ .inkra-accordion[data-orientation="horizontal"] .inkra-accordion__divider {
2574
+ inset-block: 0;
2575
+ inset-inline-end: -4px;
2576
+ inset-inline-start: auto;
2577
+ }
2578
+
2579
+ @keyframes inkra-accordion-content-down {
2580
+ from { height: 0; }
2581
+ to { height: var(--radix-accordion-content-height); }
2582
+ }
2583
+
2584
+ @keyframes inkra-accordion-content-up {
2585
+ from { height: var(--radix-accordion-content-height); }
2586
+ to { height: 0; }
2587
+ }
2588
+
2589
+ @keyframes inkra-accordion-content-open-horizontal {
2590
+ from { width: 0; }
2591
+ to { width: var(--radix-accordion-content-width); }
2592
+ }
2593
+
2594
+ @keyframes inkra-accordion-content-close-horizontal {
2595
+ from { width: var(--radix-accordion-content-width); }
2596
+ to { width: 0; }
2597
+ }
2598
+
2599
+ .inkra-accordion[data-orientation="horizontal"] .inkra-accordion__content[data-state="open"] {
2600
+ animation-name: inkra-accordion-content-open-horizontal;
2601
+ }
2602
+
2603
+ .inkra-accordion[data-orientation="horizontal"] .inkra-accordion__content[data-state="closed"] {
2604
+ animation-name: inkra-accordion-content-close-horizontal;
2605
+ }
2606
+
2607
+ @media (prefers-reduced-motion: reduce) {
2608
+ .inkra-accordion__content {
2609
+ animation: none !important;
2610
+ }
2611
+
2612
+ .inkra-accordion__focus-ring,
2613
+ .inkra-accordion__trigger-icon {
2614
+ transition-duration: 0ms;
2615
+ }
2616
+ }
2617
+
2618
+ @media (forced-colors: active) {
2619
+ .inkra-accordion__focus-ring {
2620
+ display: none !important;
2621
+ }
2622
+
2623
+ .inkra-accordion__trigger:focus-visible {
2624
+ outline: var(--inkra-focus-width) solid Highlight;
2625
+ outline-offset: var(--inkra-focus-offset);
2626
+ }
2627
+
2628
+ .inkra-accordion__trigger-icon::before {
2629
+ content: "+";
2630
+ }
2631
+
2632
+ .inkra-accordion__trigger[data-state="open"] .inkra-accordion__trigger-icon::before {
2633
+ content: "−";
2634
+ }
2635
+ }
2636
+
2637
+ @media print {
2638
+ .inkra-accordion__content {
2639
+ animation: none;
2640
+ }
2641
+ }
2642
+
2643
+ .inkra-badge {
2644
+ align-items: center;
2645
+ display: inline-flex;
2646
+ font-size: var(--inkra-text-sm);
2647
+ line-height: var(--inkra-line-ui);
2648
+ min-height: 28px;
2649
+ padding: var(--inkra-space-1) var(--inkra-space-2);
2650
+ white-space: nowrap;
2651
+ gap: var(--inkra-space-1);
2652
+ }
2653
+ .inkra-badge[data-size="sm"] { min-height: 24px; font-size: 12px; }
2654
+ .inkra-badge[data-size="lg"] { min-height: 32px; font-size: var(--inkra-text-md); padding-inline: var(--inkra-space-3); }
2655
+ .inkra-badge__icon { display: inline-flex; width: 16px; height: 16px; flex: none; }
2656
+ .inkra-badge__icon > * { width: 100%; height: 100%; }
2657
+
2658
+ .inkra-separator {
2659
+ color: var(--inkra-border-strong);
2660
+ flex: 0 0 auto;
2661
+ overflow: hidden;
2662
+ }
2663
+
2664
+ .inkra-separator[data-orientation="horizontal"] {
2665
+ block-size: 8px;
2666
+ inline-size: 100%;
2667
+ }
2668
+
2669
+ .inkra-separator[data-orientation="vertical"] {
2670
+ align-self: stretch;
2671
+ block-size: auto;
2672
+ inline-size: 8px;
2673
+ min-block-size: 24px;
2674
+ }
2675
+
2676
+ .inkra-separator__line {
2677
+ block-size: 100%;
2678
+ display: block;
2679
+ inline-size: 100%;
2680
+ }
2681
+
2682
+ .inkra-skeleton {
2683
+ block-size: 16px;
2684
+ inline-size: 100%;
2685
+ max-inline-size: 100%;
2686
+ min-inline-size: 8px;
2687
+ }
2688
+
2689
+ .inkra-progress {
2690
+ display: grid;
2691
+ gap: var(--inkra-space-2);
2692
+ inline-size: 100%;
2693
+ min-inline-size: 0;
2694
+ }
2695
+
2696
+ .inkra-progress__label {
2697
+ color: var(--inkra-ink);
2698
+ font-size: var(--inkra-text-sm);
2699
+ line-height: var(--inkra-line-ui);
2700
+ }
2701
+
2702
+ .inkra-progress__track {
2703
+ block-size: 16px;
2704
+ display: block;
2705
+ inline-size: 100%;
2706
+ min-inline-size: 0;
2707
+ overflow: hidden;
2708
+ position: relative;
2709
+ }
2710
+ .inkra-progress[data-size="sm"] .inkra-progress__track { block-size: 12px; }
2711
+ .inkra-progress[data-size="lg"] .inkra-progress__track { block-size: 24px; }
2712
+
2713
+ .inkra-progress__outline,
2714
+ .inkra-progress__fill,
2715
+ .inkra-progress__fill-clip {
2716
+ block-size: 100%;
2717
+ display: block;
2718
+ }
2719
+
2720
+ .inkra-progress__outline {
2721
+ inset: 0;
2722
+ position: absolute;
2723
+ }
2724
+
2725
+ .inkra-progress__fill-clip {
2726
+ clip-path: inset(0 calc(100% - var(--inkra-progress-value)) 0 0);
2727
+ inline-size: 100%;
2728
+ inset-block: 0;
2729
+ inset-inline-start: 0;
2730
+ overflow: hidden;
2731
+ position: absolute;
2732
+ transition: clip-path var(--inkra-motion-normal) var(--inkra-ease);
2733
+ }
2734
+
2735
+ .inkra-progress__fill {
2736
+ inline-size: 100%;
2737
+ inset-block: 0;
2738
+ inset-inline-start: 0;
2739
+ position: absolute;
2740
+ }
2741
+
2742
+ .inkra-progress[data-state="indeterminate"] .inkra-progress__fill-clip {
2743
+ animation: inkra-progress-indeterminate var(--inkra-motion-slow) var(--inkra-ease) infinite alternate;
2744
+ }
2745
+
2746
+ .inkra-progress:dir(rtl) .inkra-progress__fill-clip {
2747
+ clip-path: inset(0 0 0 calc(100% - var(--inkra-progress-value)));
2748
+ }
2749
+
2750
+ .inkra-progress:dir(rtl)[data-state="indeterminate"] .inkra-progress__fill-clip {
2751
+ animation-name: inkra-progress-indeterminate-rtl;
2752
+ }
2753
+
2754
+ @keyframes inkra-progress-indeterminate {
2755
+ from {
2756
+ clip-path: inset(0 64% 0 0);
2757
+ }
2758
+
2759
+ to {
2760
+ clip-path: inset(0 0 0 64%);
2761
+ }
2762
+ }
2763
+
2764
+ @keyframes inkra-progress-indeterminate-rtl {
2765
+ from {
2766
+ clip-path: inset(0 0 0 64%);
2767
+ }
2768
+
2769
+ to {
2770
+ clip-path: inset(0 64% 0 0);
2771
+ }
2772
+ }
2773
+
2774
+ @media (prefers-reduced-motion: reduce) {
2775
+ .inkra-progress__fill-clip {
2776
+ transition: none;
2777
+ }
2778
+
2779
+ .inkra-progress[data-state="indeterminate"] .inkra-progress__fill-clip {
2780
+ animation: none;
2781
+ clip-path: inset(0 32%);
2782
+ }
2783
+ }
2784
+
2785
+ @media (forced-colors: active) {
2786
+ .inkra-progress__fill-clip {
2787
+ background: Highlight;
2788
+ }
2789
+
2790
+ .inkra-skeleton {
2791
+ outline: 1px solid CanvasText;
2792
+ }
2793
+ }
2794
+
2795
+ .inkra-card { --inkra-card-padding: var(--inkra-space-4); min-width: 0; color: var(--inkra-ink); }
2796
+ .inkra-card[data-size="sm"] { --inkra-card-padding: var(--inkra-space-3); }
2797
+ .inkra-card[data-size="lg"] { --inkra-card-padding: var(--inkra-space-6); }
2798
+ .inkra-card__header, .inkra-card__content, .inkra-card__footer { position: relative; padding: var(--inkra-card-padding); min-width: 0; overflow-wrap: anywhere; }
2799
+ .inkra-card__header { display: flex; align-items: start; flex-wrap: wrap; gap: var(--inkra-space-2); }
2800
+ .inkra-card__heading { display: grid; gap: var(--inkra-space-2); min-width: 0; flex: 1 1 160px; }
2801
+ .inkra-card__action { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; max-width: 100%; margin-inline-start: auto; }
2802
+ .inkra-card > [data-padding="none"] { padding: 0; }
2803
+ .inkra-card > [data-padding="sm"] { padding: var(--inkra-space-3); }
2804
+ .inkra-card > [data-padding="md"] { padding: var(--inkra-space-4); }
2805
+ .inkra-card > [data-padding="lg"] { padding: var(--inkra-space-6); }
2806
+ .inkra-card__header[data-align="center"] { align-items: center; }
2807
+ .inkra-card__header[data-align="end"] { align-items: flex-end; }
2808
+ .inkra-card__content > :first-child { margin-block-start: 0; }
2809
+ .inkra-card__content > :last-child { margin-block-end: 0; }
2810
+ .inkra-card__title, .inkra-card__description { margin: 0; font-weight: 400; }
2811
+ .inkra-card__title { font-size: 17px; line-height: var(--inkra-line-ui); }
2812
+ .inkra-card__description { font-size: var(--inkra-text-sm); color: var(--inkra-ink-muted); }
2813
+ .inkra-card__footer { display: flex; flex-wrap: wrap; align-items: center; gap: var(--inkra-space-2); }
2814
+ .inkra-card__footer[data-justify="center"] { justify-content: center; }
2815
+ .inkra-card__footer[data-justify="end"] { justify-content: flex-end; }
2816
+ .inkra-card__footer[data-justify="between"] { justify-content: space-between; }
2817
+ .inkra-card__footer[data-orientation="vertical"] { flex-direction: column; align-items: stretch; }
2818
+ .inkra-card__footer[data-orientation="vertical"] > :not(.inkra-card__divider) { max-width: 100%; }
2819
+ .inkra-card__divider { position: absolute; inset-inline: 4px; bottom: -4px; width: calc(100% - 8px); pointer-events: none; }
2820
+ .inkra-card__footer > .inkra-card__divider { bottom: auto; top: -4px; }
2821
+ .inkra-alert { display: flex; gap: var(--inkra-space-3); padding: var(--inkra-space-4); min-width: 0; }
2822
+ .inkra-alert[data-size="sm"] { padding: var(--inkra-space-3); }
2823
+ .inkra-alert[data-size="lg"] { padding: var(--inkra-space-6); }
2824
+ .inkra-alert__actions { display: flex; flex-wrap: wrap; gap: 8px; }
2825
+ .inkra-alert__icon { display: inline-flex; width: 20px; height: 20px; flex: none; }
2826
+ .inkra-alert__icon > * { width: 100%; height: 100%; }
2827
+ .inkra-alert__body { display: grid; gap: var(--inkra-space-2); min-width: 0; overflow-wrap: anywhere; }
2828
+ .inkra-alert__title { margin: 0; font-size: 17px; line-height: var(--inkra-line-ui); }
2829
+ .inkra-alert__description { font-size: var(--inkra-text-md); line-height: var(--inkra-line-body); }
2830
+ .inkra-avatar { position: relative; display: inline-flex; width: 44px; height: 44px; flex: none; isolation: isolate; }
2831
+ .inkra-avatar[data-size="sm"] { width: 32px; height: 32px; font-size: var(--inkra-text-sm); }
2832
+ .inkra-avatar[data-size="lg"] { width: 64px; height: 64px; font-size: 20px; }
2833
+ .inkra-avatar__image, .inkra-avatar__fallback { width: 100%; height: 100%; border-radius: var(--inkra-avatar-radius, 8px); }
2834
+ .inkra-avatar__image { object-fit: cover; padding: 3px; box-sizing: border-box; }
2835
+ .inkra-avatar__image[data-fit="contain"] { object-fit: contain; }
2836
+ .inkra-avatar[data-bordered="false"] .inkra-avatar__image { padding: 0; }
2837
+ .inkra-avatar__fallback { display: inline-flex; align-items: center; justify-content: center; background: var(--inkra-surface-muted); color: var(--inkra-ink); overflow: hidden; }
2838
+ .inkra-avatar__outline { position: absolute; inset: 0; pointer-events: none; }
2839
+ .inkra-table-container { max-width: 100%; min-width: 0; overflow: auto; }
2840
+ .inkra-table { width: 100%; min-width: 0; border-collapse: collapse; color: var(--inkra-ink); font: inherit; }
2841
+ .inkra-table tbody tr { background: transparent; }
2842
+ .inkra-table[data-layout="fixed"] { table-layout: fixed; }
2843
+ .inkra-table[data-layout="fixed"] th, .inkra-table[data-layout="fixed"] td { overflow-wrap: anywhere; }
2844
+ .inkra-table [data-vertical-align="top"] { vertical-align: top; }
2845
+ .inkra-table [data-vertical-align="middle"] { vertical-align: middle; }
2846
+ .inkra-table [data-vertical-align="bottom"] { vertical-align: bottom; }
2847
+ .inkra-table [data-wrap="false"] { white-space: nowrap; }
2848
+ .inkra-table__nowrap { max-width: 100%; overflow: auto; }
2849
+ .inkra-table__nowrap:focus-visible { outline: 2px solid var(--inkra-focus); outline-offset: -2px; }
2850
+ .inkra-table th, .inkra-table td { position: relative; text-align: start; padding: var(--inkra-space-3) var(--inkra-space-4); font-weight: 400; }
2851
+ .inkra-table[data-density="compact"] th, .inkra-table[data-density="compact"] td { padding: var(--inkra-space-2) var(--inkra-space-3); }
2852
+ .inkra-table th, .inkra-table tfoot { color: var(--inkra-ink-muted); }
2853
+ .inkra-table caption { text-align: start; padding-block: var(--inkra-space-2); font-size: var(--inkra-text-sm); color: var(--inkra-ink-muted); }
2854
+ .inkra-table__divider { position: absolute; bottom: -4px; inset-inline: 0; width: 100%; pointer-events: none; }
2855
+ .inkra-table tr[data-selected] { background: var(--inkra-surface-muted); }
2856
+ .inkra-table[data-striped] tbody tr:nth-child(even) { background: var(--inkra-surface-muted); }
2857
+ .inkra-table[data-hoverable] tbody tr:hover { background: var(--inkra-surface-muted); }
2858
+ .inkra-table[data-sticky-header] { border-collapse: separate; border-spacing: 0; }
2859
+ .inkra-table[data-sticky-header] thead { position: sticky; top: 0; z-index: 1; background: var(--inkra-paper); }
2860
+ .inkra-table[data-caption-side="bottom"] { caption-side: bottom; }
2861
+ .inkra-table [data-align="center"] { text-align: center; }
2862
+ .inkra-table [data-align="end"] { text-align: end; }
2863
+ .inkra-table [data-align="left"] { text-align: left; }
2864
+ .inkra-table [data-align="right"] { text-align: right; }
2865
+ .inkra-table [data-align="justify"] { text-align: justify; }
2866
+ .inkra-table-container:focus-visible { outline: 2px solid var(--inkra-focus); outline-offset: -2px; }
2867
+ @media (forced-colors: active) {
2868
+ .inkra-card, .inkra-alert, .inkra-avatar { outline: 1px solid CanvasText; }
2869
+ .inkra-table th, .inkra-table td { border-bottom: 1px solid CanvasText; }
2870
+ .inkra-table tr[data-selected] { outline: 1px solid Highlight; }
2871
+ }
2872
+
2873
+ .inkra-menu { min-width: 180px; max-width: min(320px, calc(100vw - 16px)); outline: 0; z-index: calc(40 + var(--inkra-floating-layer-offset, 0)); }
2874
+ .inkra-menu__paper { padding: 4px; max-height: var(--radix-dropdown-menu-content-available-height); overflow-y: auto; }
2875
+ .inkra-menu__item { position: relative; display: flex; align-items: center; gap: 8px; padding: 8px 12px; min-height: 44px; box-sizing: border-box; color: var(--inkra-ink); outline: 0; cursor: default; font-family: var(--inkra-font-body); font-size: var(--inkra-text-md); line-height: var(--inkra-line-ui); }
2876
+ .inkra-menu__item[data-destructive] { color: var(--inkra-danger-foreground); }
2877
+ .inkra-menu__item[data-disabled] { opacity: 0.5; pointer-events: none; }
2878
+ .inkra-menu__highlight { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
2879
+ .inkra-menu__item[data-highlighted] > .inkra-menu__highlight { opacity: 1; }
2880
+ .inkra-menu__icon { display: inline-flex; width: 16px; height: 16px; flex: none; position: relative; }
2881
+ .inkra-menu__label { position: relative; min-width: 0; overflow-wrap: anywhere; }
2882
+ .inkra-menu__group-label { padding: 8px 12px; color: var(--inkra-ink-muted); font-size: var(--inkra-text-sm); }
2883
+ .inkra-menu__separator { height: 8px; }
2884
+ @media (forced-colors: active) {
2885
+ .inkra-menu { border: 1px solid CanvasText; background: Canvas; }
2886
+ .inkra-menu__item[data-highlighted] { outline: 2px solid Highlight; outline-offset: -2px; }
2887
+ }
2888
+
2889
+ /* required styles */
2890
+
2891
+ .leaflet-pane,
2892
+ .leaflet-tile,
2893
+ .leaflet-marker-icon,
2894
+ .leaflet-marker-shadow,
2895
+ .leaflet-tile-container,
2896
+ .leaflet-pane > svg,
2897
+ .leaflet-pane > canvas,
2898
+ .leaflet-zoom-box,
2899
+ .leaflet-image-layer,
2900
+ .leaflet-layer {
2901
+ position: absolute;
2902
+ left: 0;
2903
+ top: 0;
2904
+ }
2905
+ .leaflet-container {
2906
+ overflow: hidden;
2907
+ }
2908
+ .leaflet-tile,
2909
+ .leaflet-marker-icon,
2910
+ .leaflet-marker-shadow {
2911
+ -webkit-user-select: none;
2912
+ -moz-user-select: none;
2913
+ user-select: none;
2914
+ -webkit-user-drag: none;
2915
+ }
2916
+ /* Prevents IE11 from highlighting tiles in blue */
2917
+ .leaflet-tile::selection {
2918
+ background: transparent;
2919
+ }
2920
+ /* Safari renders non-retina tile on retina better with this, but Chrome is worse */
2921
+ .leaflet-safari .leaflet-tile {
2922
+ image-rendering: -webkit-optimize-contrast;
2923
+ }
2924
+ /* hack that prevents hw layers "stretching" when loading new tiles */
2925
+ .leaflet-safari .leaflet-tile-container {
2926
+ width: 1600px;
2927
+ height: 1600px;
2928
+ -webkit-transform-origin: 0 0;
2929
+ }
2930
+ .leaflet-marker-icon,
2931
+ .leaflet-marker-shadow {
2932
+ display: block;
2933
+ }
2934
+ /* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
2935
+ /* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
2936
+ .leaflet-container .leaflet-overlay-pane svg {
2937
+ max-width: none !important;
2938
+ max-height: none !important;
2939
+ }
2940
+ .leaflet-container .leaflet-marker-pane img,
2941
+ .leaflet-container .leaflet-shadow-pane img,
2942
+ .leaflet-container .leaflet-tile-pane img,
2943
+ .leaflet-container img.leaflet-image-layer,
2944
+ .leaflet-container .leaflet-tile {
2945
+ max-width: none !important;
2946
+ max-height: none !important;
2947
+ width: auto;
2948
+ padding: 0;
2949
+ }
2950
+
2951
+ .leaflet-container img.leaflet-tile {
2952
+ /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
2953
+ mix-blend-mode: plus-lighter;
2954
+ }
2955
+
2956
+ .leaflet-container.leaflet-touch-zoom {
2957
+ -ms-touch-action: pan-x pan-y;
2958
+ touch-action: pan-x pan-y;
2959
+ }
2960
+ .leaflet-container.leaflet-touch-drag {
2961
+ -ms-touch-action: pinch-zoom;
2962
+ /* Fallback for FF which doesn't support pinch-zoom */
2963
+ touch-action: none;
2964
+ touch-action: pinch-zoom;
2965
+ }
2966
+ .leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
2967
+ -ms-touch-action: none;
2968
+ touch-action: none;
2969
+ }
2970
+ .leaflet-container {
2971
+ -webkit-tap-highlight-color: transparent;
2972
+ }
2973
+ .leaflet-container a {
2974
+ -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
2975
+ }
2976
+ .leaflet-tile {
2977
+ filter: inherit;
2978
+ visibility: hidden;
2979
+ }
2980
+ .leaflet-tile-loaded {
2981
+ visibility: inherit;
2982
+ }
2983
+ .leaflet-zoom-box {
2984
+ width: 0;
2985
+ height: 0;
2986
+ -moz-box-sizing: border-box;
2987
+ box-sizing: border-box;
2988
+ z-index: 800;
2989
+ }
2990
+ /* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
2991
+ .leaflet-overlay-pane svg {
2992
+ -moz-user-select: none;
2993
+ }
2994
+
2995
+ .leaflet-pane { z-index: 400; }
2996
+
2997
+ .leaflet-tile-pane { z-index: 200; }
2998
+ .leaflet-overlay-pane { z-index: 400; }
2999
+ .leaflet-shadow-pane { z-index: 500; }
3000
+ .leaflet-marker-pane { z-index: 600; }
3001
+ .leaflet-tooltip-pane { z-index: 650; }
3002
+ .leaflet-popup-pane { z-index: 700; }
3003
+
3004
+ .leaflet-map-pane canvas { z-index: 100; }
3005
+ .leaflet-map-pane svg { z-index: 200; }
3006
+
3007
+ .leaflet-vml-shape {
3008
+ width: 1px;
3009
+ height: 1px;
3010
+ }
3011
+ .lvml {
3012
+ behavior: url(#default#VML);
3013
+ display: inline-block;
3014
+ position: absolute;
3015
+ }
3016
+
3017
+
3018
+ /* control positioning */
3019
+
3020
+ .leaflet-control {
3021
+ position: relative;
3022
+ z-index: 800;
3023
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
3024
+ pointer-events: auto;
3025
+ }
3026
+ .leaflet-top,
3027
+ .leaflet-bottom {
3028
+ position: absolute;
3029
+ z-index: 1000;
3030
+ pointer-events: none;
3031
+ }
3032
+ .leaflet-top {
3033
+ top: 0;
3034
+ }
3035
+ .leaflet-right {
3036
+ right: 0;
3037
+ }
3038
+ .leaflet-bottom {
3039
+ bottom: 0;
3040
+ }
3041
+ .leaflet-left {
3042
+ left: 0;
3043
+ }
3044
+ .leaflet-control {
3045
+ float: left;
3046
+ clear: both;
3047
+ }
3048
+ .leaflet-right .leaflet-control {
3049
+ float: right;
3050
+ }
3051
+ .leaflet-top .leaflet-control {
3052
+ margin-top: 10px;
3053
+ }
3054
+ .leaflet-bottom .leaflet-control {
3055
+ margin-bottom: 10px;
3056
+ }
3057
+ .leaflet-left .leaflet-control {
3058
+ margin-left: 10px;
3059
+ }
3060
+ .leaflet-right .leaflet-control {
3061
+ margin-right: 10px;
3062
+ }
3063
+
3064
+
3065
+ /* zoom and fade animations */
3066
+
3067
+ .leaflet-fade-anim .leaflet-popup {
3068
+ opacity: 0;
3069
+ -webkit-transition: opacity 0.2s linear;
3070
+ -moz-transition: opacity 0.2s linear;
3071
+ transition: opacity 0.2s linear;
3072
+ }
3073
+ .leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
3074
+ opacity: 1;
3075
+ }
3076
+ .leaflet-zoom-animated {
3077
+ -webkit-transform-origin: 0 0;
3078
+ -ms-transform-origin: 0 0;
3079
+ transform-origin: 0 0;
3080
+ }
3081
+ svg.leaflet-zoom-animated {
3082
+ will-change: transform;
3083
+ }
3084
+
3085
+ .leaflet-zoom-anim .leaflet-zoom-animated {
3086
+ -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
3087
+ -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
3088
+ transition: transform 0.25s cubic-bezier(0,0,0.25,1);
3089
+ }
3090
+ .leaflet-zoom-anim .leaflet-tile,
3091
+ .leaflet-pan-anim .leaflet-tile {
3092
+ -webkit-transition: none;
3093
+ -moz-transition: none;
3094
+ transition: none;
3095
+ }
3096
+
3097
+ .leaflet-zoom-anim .leaflet-zoom-hide {
3098
+ visibility: hidden;
3099
+ }
3100
+
3101
+
3102
+ /* cursors */
3103
+
3104
+ .leaflet-interactive {
3105
+ cursor: pointer;
3106
+ }
3107
+ .leaflet-grab {
3108
+ cursor: -webkit-grab;
3109
+ cursor: -moz-grab;
3110
+ cursor: grab;
3111
+ }
3112
+ .leaflet-crosshair,
3113
+ .leaflet-crosshair .leaflet-interactive {
3114
+ cursor: crosshair;
3115
+ }
3116
+ .leaflet-popup-pane,
3117
+ .leaflet-control {
3118
+ cursor: auto;
3119
+ }
3120
+ .leaflet-dragging .leaflet-grab,
3121
+ .leaflet-dragging .leaflet-grab .leaflet-interactive,
3122
+ .leaflet-dragging .leaflet-marker-draggable {
3123
+ cursor: move;
3124
+ cursor: -webkit-grabbing;
3125
+ cursor: -moz-grabbing;
3126
+ cursor: grabbing;
3127
+ }
3128
+
3129
+ /* marker & overlays interactivity */
3130
+ .leaflet-marker-icon,
3131
+ .leaflet-marker-shadow,
3132
+ .leaflet-image-layer,
3133
+ .leaflet-pane > svg path,
3134
+ .leaflet-tile-container {
3135
+ pointer-events: none;
3136
+ }
3137
+
3138
+ .leaflet-marker-icon.leaflet-interactive,
3139
+ .leaflet-image-layer.leaflet-interactive,
3140
+ .leaflet-pane > svg path.leaflet-interactive,
3141
+ svg.leaflet-image-layer.leaflet-interactive path {
3142
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
3143
+ pointer-events: auto;
3144
+ }
3145
+
3146
+ /* visual tweaks */
3147
+
3148
+ .leaflet-container {
3149
+ background: #ddd;
3150
+ outline-offset: 1px;
3151
+ }
3152
+ .leaflet-container a {
3153
+ color: #0078A8;
3154
+ }
3155
+ .leaflet-zoom-box {
3156
+ border: 2px dotted #38f;
3157
+ background: rgba(255,255,255,0.5);
3158
+ }
3159
+
3160
+
3161
+ /* general typography */
3162
+ .leaflet-container {
3163
+ font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
3164
+ font-size: 12px;
3165
+ font-size: 0.75rem;
3166
+ line-height: 1.5;
3167
+ }
3168
+
3169
+
3170
+ /* general toolbar styles */
3171
+
3172
+ .leaflet-bar {
3173
+ box-shadow: 0 1px 5px rgba(0,0,0,0.65);
3174
+ border-radius: 4px;
3175
+ }
3176
+ .leaflet-bar a {
3177
+ background-color: #fff;
3178
+ border-bottom: 1px solid #ccc;
3179
+ width: 26px;
3180
+ height: 26px;
3181
+ line-height: 26px;
3182
+ display: block;
3183
+ text-align: center;
3184
+ text-decoration: none;
3185
+ color: black;
3186
+ }
3187
+ .leaflet-bar a,
3188
+ .leaflet-control-layers-toggle {
3189
+ background-position: 50% 50%;
3190
+ background-repeat: no-repeat;
3191
+ display: block;
3192
+ }
3193
+ .leaflet-bar a:hover,
3194
+ .leaflet-bar a:focus {
3195
+ background-color: #f4f4f4;
3196
+ }
3197
+ .leaflet-bar a:first-child {
3198
+ border-top-left-radius: 4px;
3199
+ border-top-right-radius: 4px;
3200
+ }
3201
+ .leaflet-bar a:last-child {
3202
+ border-bottom-left-radius: 4px;
3203
+ border-bottom-right-radius: 4px;
3204
+ border-bottom: none;
3205
+ }
3206
+ .leaflet-bar a.leaflet-disabled {
3207
+ cursor: default;
3208
+ background-color: #f4f4f4;
3209
+ color: #bbb;
3210
+ }
3211
+
3212
+ .leaflet-touch .leaflet-bar a {
3213
+ width: 30px;
3214
+ height: 30px;
3215
+ line-height: 30px;
3216
+ }
3217
+ .leaflet-touch .leaflet-bar a:first-child {
3218
+ border-top-left-radius: 2px;
3219
+ border-top-right-radius: 2px;
3220
+ }
3221
+ .leaflet-touch .leaflet-bar a:last-child {
3222
+ border-bottom-left-radius: 2px;
3223
+ border-bottom-right-radius: 2px;
3224
+ }
3225
+
3226
+ /* zoom control */
3227
+
3228
+ .leaflet-control-zoom-in,
3229
+ .leaflet-control-zoom-out {
3230
+ font: bold 18px 'Lucida Console', Monaco, monospace;
3231
+ text-indent: 1px;
3232
+ }
3233
+
3234
+ .leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
3235
+ font-size: 22px;
3236
+ }
3237
+
3238
+
3239
+ /* layers control */
3240
+
3241
+ .leaflet-control-layers {
3242
+ box-shadow: 0 1px 5px rgba(0,0,0,0.4);
3243
+ background: #fff;
3244
+ border-radius: 5px;
3245
+ }
3246
+ .leaflet-control-layers-toggle {
3247
+ background-image: url(images/layers.png);
3248
+ width: 36px;
3249
+ height: 36px;
3250
+ }
3251
+ .leaflet-retina .leaflet-control-layers-toggle {
3252
+ background-image: url(images/layers-2x.png);
3253
+ background-size: 26px 26px;
3254
+ }
3255
+ .leaflet-touch .leaflet-control-layers-toggle {
3256
+ width: 44px;
3257
+ height: 44px;
3258
+ }
3259
+ .leaflet-control-layers .leaflet-control-layers-list,
3260
+ .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
3261
+ display: none;
3262
+ }
3263
+ .leaflet-control-layers-expanded .leaflet-control-layers-list {
3264
+ display: block;
3265
+ position: relative;
3266
+ }
3267
+ .leaflet-control-layers-expanded {
3268
+ padding: 6px 10px 6px 6px;
3269
+ color: #333;
3270
+ background: #fff;
3271
+ }
3272
+ .leaflet-control-layers-scrollbar {
3273
+ overflow-y: scroll;
3274
+ overflow-x: hidden;
3275
+ padding-right: 5px;
3276
+ }
3277
+ .leaflet-control-layers-selector {
3278
+ margin-top: 2px;
3279
+ position: relative;
3280
+ top: 1px;
3281
+ }
3282
+ .leaflet-control-layers label {
3283
+ display: block;
3284
+ font-size: 13px;
3285
+ font-size: 1.08333em;
3286
+ }
3287
+ .leaflet-control-layers-separator {
3288
+ height: 0;
3289
+ border-top: 1px solid #ddd;
3290
+ margin: 5px -10px 5px -6px;
3291
+ }
3292
+
3293
+ /* Default icon URLs */
3294
+ .leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
3295
+ background-image: url(images/marker-icon.png);
3296
+ }
3297
+
3298
+
3299
+ /* attribution and scale controls */
3300
+
3301
+ .leaflet-container .leaflet-control-attribution {
3302
+ background: #fff;
3303
+ background: rgba(255, 255, 255, 0.8);
3304
+ margin: 0;
3305
+ }
3306
+ .leaflet-control-attribution,
3307
+ .leaflet-control-scale-line {
3308
+ padding: 0 5px;
3309
+ color: #333;
3310
+ line-height: 1.4;
3311
+ }
3312
+ .leaflet-control-attribution a {
3313
+ text-decoration: none;
3314
+ }
3315
+ .leaflet-control-attribution a:hover,
3316
+ .leaflet-control-attribution a:focus {
3317
+ text-decoration: underline;
3318
+ }
3319
+ .leaflet-attribution-flag {
3320
+ display: inline !important;
3321
+ vertical-align: baseline !important;
3322
+ width: 1em;
3323
+ height: 0.6669em;
3324
+ }
3325
+ .leaflet-left .leaflet-control-scale {
3326
+ margin-left: 5px;
3327
+ }
3328
+ .leaflet-bottom .leaflet-control-scale {
3329
+ margin-bottom: 5px;
3330
+ }
3331
+ .leaflet-control-scale-line {
3332
+ border: 2px solid #777;
3333
+ border-top: none;
3334
+ line-height: 1.1;
3335
+ padding: 2px 5px 1px;
3336
+ white-space: nowrap;
3337
+ -moz-box-sizing: border-box;
3338
+ box-sizing: border-box;
3339
+ background: rgba(255, 255, 255, 0.8);
3340
+ text-shadow: 1px 1px #fff;
3341
+ }
3342
+ .leaflet-control-scale-line:not(:first-child) {
3343
+ border-top: 2px solid #777;
3344
+ border-bottom: none;
3345
+ margin-top: -2px;
3346
+ }
3347
+ .leaflet-control-scale-line:not(:first-child):not(:last-child) {
3348
+ border-bottom: 2px solid #777;
3349
+ }
3350
+
3351
+ .leaflet-touch .leaflet-control-attribution,
3352
+ .leaflet-touch .leaflet-control-layers,
3353
+ .leaflet-touch .leaflet-bar {
3354
+ box-shadow: none;
3355
+ }
3356
+ .leaflet-touch .leaflet-control-layers,
3357
+ .leaflet-touch .leaflet-bar {
3358
+ border: 2px solid rgba(0,0,0,0.2);
3359
+ background-clip: padding-box;
3360
+ }
3361
+
3362
+
3363
+ /* popup */
3364
+
3365
+ .leaflet-popup {
3366
+ position: absolute;
3367
+ text-align: center;
3368
+ margin-bottom: 20px;
3369
+ }
3370
+ .leaflet-popup-content-wrapper {
3371
+ padding: 1px;
3372
+ text-align: left;
3373
+ border-radius: 12px;
3374
+ }
3375
+ .leaflet-popup-content {
3376
+ margin: 13px 24px 13px 20px;
3377
+ line-height: 1.3;
3378
+ font-size: 13px;
3379
+ font-size: 1.08333em;
3380
+ min-height: 1px;
3381
+ }
3382
+ .leaflet-popup-content p {
3383
+ margin: 17px 0;
3384
+ margin: 1.3em 0;
3385
+ }
3386
+ .leaflet-popup-tip-container {
3387
+ width: 40px;
3388
+ height: 20px;
3389
+ position: absolute;
3390
+ left: 50%;
3391
+ margin-top: -1px;
3392
+ margin-left: -20px;
3393
+ overflow: hidden;
3394
+ pointer-events: none;
3395
+ }
3396
+ .leaflet-popup-tip {
3397
+ width: 17px;
3398
+ height: 17px;
3399
+ padding: 1px;
3400
+
3401
+ margin: -10px auto 0;
3402
+ pointer-events: auto;
3403
+
3404
+ -webkit-transform: rotate(45deg);
3405
+ -moz-transform: rotate(45deg);
3406
+ -ms-transform: rotate(45deg);
3407
+ transform: rotate(45deg);
3408
+ }
3409
+ .leaflet-popup-content-wrapper,
3410
+ .leaflet-popup-tip {
3411
+ background: white;
3412
+ color: #333;
3413
+ box-shadow: 0 3px 14px rgba(0,0,0,0.4);
3414
+ }
3415
+ .leaflet-container a.leaflet-popup-close-button {
3416
+ position: absolute;
3417
+ top: 0;
3418
+ right: 0;
3419
+ border: none;
3420
+ text-align: center;
3421
+ width: 24px;
3422
+ height: 24px;
3423
+ font: 16px/24px Tahoma, Verdana, sans-serif;
3424
+ color: #757575;
3425
+ text-decoration: none;
3426
+ background: transparent;
3427
+ }
3428
+ .leaflet-container a.leaflet-popup-close-button:hover,
3429
+ .leaflet-container a.leaflet-popup-close-button:focus {
3430
+ color: #585858;
3431
+ }
3432
+ .leaflet-popup-scrolled {
3433
+ overflow: auto;
3434
+ }
3435
+
3436
+ .leaflet-oldie .leaflet-popup-content-wrapper {
3437
+ -ms-zoom: 1;
3438
+ }
3439
+ .leaflet-oldie .leaflet-popup-tip {
3440
+ width: 24px;
3441
+ margin: 0 auto;
3442
+
3443
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
3444
+ filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
3445
+ }
3446
+
3447
+ .leaflet-oldie .leaflet-control-zoom,
3448
+ .leaflet-oldie .leaflet-control-layers,
3449
+ .leaflet-oldie .leaflet-popup-content-wrapper,
3450
+ .leaflet-oldie .leaflet-popup-tip {
3451
+ border: 1px solid #999;
3452
+ }
3453
+
3454
+
3455
+ /* div icon */
3456
+
3457
+ .leaflet-div-icon {
3458
+ background: #fff;
3459
+ border: 1px solid #666;
3460
+ }
3461
+
3462
+
3463
+ /* Tooltip */
3464
+ /* Base styles for the element that has a tooltip */
3465
+ .leaflet-tooltip {
3466
+ position: absolute;
3467
+ padding: 6px;
3468
+ background-color: #fff;
3469
+ border: 1px solid #fff;
3470
+ border-radius: 3px;
3471
+ color: #222;
3472
+ white-space: nowrap;
3473
+ -webkit-user-select: none;
3474
+ -moz-user-select: none;
3475
+ -ms-user-select: none;
3476
+ user-select: none;
3477
+ pointer-events: none;
3478
+ box-shadow: 0 1px 3px rgba(0,0,0,0.4);
3479
+ }
3480
+ .leaflet-tooltip.leaflet-interactive {
3481
+ cursor: pointer;
3482
+ pointer-events: auto;
3483
+ }
3484
+ .leaflet-tooltip-top:before,
3485
+ .leaflet-tooltip-bottom:before,
3486
+ .leaflet-tooltip-left:before,
3487
+ .leaflet-tooltip-right:before {
3488
+ position: absolute;
3489
+ pointer-events: none;
3490
+ border: 6px solid transparent;
3491
+ background: transparent;
3492
+ content: "";
3493
+ }
3494
+
3495
+ /* Directions */
3496
+
3497
+ .leaflet-tooltip-bottom {
3498
+ margin-top: 6px;
3499
+ }
3500
+ .leaflet-tooltip-top {
3501
+ margin-top: -6px;
3502
+ }
3503
+ .leaflet-tooltip-bottom:before,
3504
+ .leaflet-tooltip-top:before {
3505
+ left: 50%;
3506
+ margin-left: -6px;
3507
+ }
3508
+ .leaflet-tooltip-top:before {
3509
+ bottom: 0;
3510
+ margin-bottom: -12px;
3511
+ border-top-color: #fff;
3512
+ }
3513
+ .leaflet-tooltip-bottom:before {
3514
+ top: 0;
3515
+ margin-top: -12px;
3516
+ margin-left: -6px;
3517
+ border-bottom-color: #fff;
3518
+ }
3519
+ .leaflet-tooltip-left {
3520
+ margin-left: -6px;
3521
+ }
3522
+ .leaflet-tooltip-right {
3523
+ margin-left: 6px;
3524
+ }
3525
+ .leaflet-tooltip-left:before,
3526
+ .leaflet-tooltip-right:before {
3527
+ top: 50%;
3528
+ margin-top: -6px;
3529
+ }
3530
+ .leaflet-tooltip-left:before {
3531
+ right: 0;
3532
+ margin-right: -12px;
3533
+ border-left-color: #fff;
3534
+ }
3535
+ .leaflet-tooltip-right:before {
3536
+ left: 0;
3537
+ margin-left: -12px;
3538
+ border-right-color: #fff;
3539
+ }
3540
+
3541
+ /* Printing */
3542
+
3543
+ @media print {
3544
+ /* Prevent printers from removing background-images of controls. */
3545
+ .leaflet-control {
3546
+ -webkit-print-color-adjust: exact;
3547
+ print-color-adjust: exact;
3548
+ }
3549
+ }
3550
+
3551
+ .inkra-breadcrumb { min-width: 0; color: var(--inkra-ink); }
3552
+ .inkra-breadcrumb__list { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
3553
+ .inkra-breadcrumb__item { display: inline-flex; align-items: center; min-width: 0; max-width: 100%; }
3554
+ .inkra-breadcrumb__link { max-width: 100%; color: var(--inkra-ink-muted); }
3555
+ .inkra-breadcrumb__link .inkra-button__label { white-space: normal; overflow-wrap: anywhere; }
3556
+ .inkra-breadcrumb__page { min-height: 44px; display: inline-flex; align-items: center; padding-inline: 12px; overflow-wrap: anywhere; }
3557
+ .inkra-breadcrumb__separator { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 16px; color: var(--inkra-ink-subtle); pointer-events: none; }
3558
+
3559
+ .inkra-calendar-scroll { max-width: 100%; min-width: 0; overflow-x: auto; }
3560
+ .inkra-calendar { color: var(--inkra-ink); font: inherit; }
3561
+ .inkra-calendar .rdp-months { display: flex; flex-wrap: wrap; gap: 24px; position: relative; width: max-content; max-width: 100%; }
3562
+ .inkra-calendar .rdp-month { width: 308px; min-width: 308px; }
3563
+ .inkra-calendar .rdp-month_caption { height: 44px; display: flex; align-items: center; padding-inline: 8px 88px; }
3564
+ .inkra-calendar .rdp-nav { position: absolute; top: 0; inset-inline-end: 0; display: flex; }
3565
+ .inkra-calendar .rdp-button_previous, .inkra-calendar .rdp-button_next { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; }
3566
+ .inkra-calendar .rdp-chevron { width: 20px; height: 20px; fill: currentColor; }
3567
+ .inkra-calendar .rdp-month_grid { width: 308px; min-width: 0; table-layout: fixed; border-collapse: collapse; }
3568
+ .inkra-calendar[data-week-numbers] .rdp-month, .inkra-calendar[data-week-numbers] .rdp-month_grid { width: 352px; min-width: 352px; }
3569
+ .inkra-calendar .rdp-week_number, .inkra-calendar .rdp-week_number_header { width: 44px; height: 44px; padding: 0; color: var(--inkra-ink-muted); font: 12px/1.5 monospace; text-align: center; }
3570
+ .inkra-calendar__event[data-indicator="dot"] { inset-inline-end: 5px; font-size: 16px; }
3571
+ .inkra-calendar .rdp-weekday, .inkra-calendar .rdp-day { border: 0; padding: 0; width: 44px; height: 44px; font-weight: 400; text-align: center; }
3572
+ .inkra-calendar .rdp-weekday { color: var(--inkra-ink-muted); font-size: 13px; }
3573
+ .inkra-calendar .rdp-day_button { position: relative; width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: transparent; padding: 0; color: inherit; font: inherit; cursor: pointer; }
3574
+ .inkra-calendar .rdp-week { background: transparent; }
3575
+ .inkra-calendar__selection { position: absolute; inset: 0; pointer-events: none; }
3576
+ .inkra-calendar__event { position: absolute; bottom: 1px; inset-inline-end: 3px; font: 10px/1.2 monospace; color: var(--inkra-accent-strong); }
3577
+ .inkra-calendar .rdp-outside { color: var(--inkra-ink-subtle); }
3578
+ .inkra-calendar .rdp-range_start, .inkra-calendar .rdp-range_end { color: var(--inkra-accent-strong); text-decoration: underline; text-underline-offset: 5px; }
3579
+ .inkra-calendar .rdp-today { text-decoration: underline; text-underline-offset: 5px; }
3580
+ .inkra-calendar .rdp-hidden { visibility: hidden; }
3581
+ .inkra-calendar button:disabled { opacity: .4; cursor: not-allowed; }
3582
+ .inkra-calendar button:not(.inkra-button):focus-visible { outline: 2px solid var(--inkra-focus); outline-offset: -2px; }
3583
+ .inkra-calendar .rdp-dropdowns { display: flex; gap: 8px; }
3584
+ .inkra-calendar .rdp-footer { padding-block: 8px; }
3585
+ @media (forced-colors: active) { .inkra-calendar .rdp-selected { outline: 2px solid Highlight; outline-offset: -2px; } }
3586
+
3587
+ /* Ported from AdventureCalendar: seven spaced day cards, density by container. */
3588
+ .inkra-calendar-scroll[data-appearance="itinerary"] { width: 100%; container-type: inline-size; }
3589
+ .inkra-calendar[data-appearance="itinerary"] .rdp-months { width: 100%; }
3590
+ .inkra-calendar[data-appearance="itinerary"] .rdp-month { width: 100%; min-width: 0; }
3591
+ .inkra-calendar[data-appearance="itinerary"] .rdp-month_grid { width: 100%; border-collapse: separate; border-spacing: 6px; }
3592
+ .inkra-calendar[data-appearance="itinerary"] .rdp-day { width: auto; height: auto; vertical-align: top; }
3593
+ .inkra-calendar[data-appearance="itinerary"] .rdp-week:not(:has(.rdp-day:not(.rdp-hidden))) { display: none; }
3594
+ .inkra-calendar__day-card { position: relative; min-height: 152px; padding: 44px 5px 8px; box-sizing: border-box; }
3595
+ .inkra-calendar__day-paper { position: absolute; inset: 0; pointer-events: none; }
3596
+ .inkra-calendar[data-appearance="itinerary"] .rdp-day_button { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; display: flex; align-items: start; justify-content: start; padding: 10px; text-align: start; }
3597
+ .inkra-calendar__events { position: relative; display: grid; gap: 4px; pointer-events: none; }
3598
+ .inkra-calendar__event-card { min-width: 0; min-height: 44px; width: 100%; text-align: start; padding: 4px 6px; pointer-events: auto; font: inherit; border: 0; background: transparent; color: inherit; }
3599
+ .inkra-calendar__event-card .inkra-pencil-text { max-width: 100%; }
3600
+ .inkra-calendar__accessory { position: absolute; top: 0; inset-inline-end: 2px; max-width: 50%; }
3601
+ .inkra-calendar[data-appearance="itinerary"] .rdp-outside { opacity: .45; }
3602
+ .inkra-calendar[data-appearance="itinerary"] .rdp-week_number { width: 28px; }
3603
+ @container (max-width: 1000px) {
3604
+ .inkra-calendar__event-card:nth-child(n + 3) { display: none; }
3605
+ }
3606
+ @container (max-width: 700px) {
3607
+ .inkra-calendar__events { display: none; }
3608
+ .inkra-calendar__day-card { min-height: 100px; padding: 0; }
3609
+ .inkra-calendar[data-appearance="itinerary"] .rdp-day_button { justify-content: center; padding: 12px 0 0; }
3610
+ .inkra-calendar[data-appearance="itinerary"] .rdp-month_grid { border-spacing: 2px 6px; }
3611
+ .inkra-calendar__accessory { top: 46px; inset-inline: 0; margin: auto; max-width: 100%; }
3612
+ }
3613
+
3614
+ .inkra-agenda { display: flex; flex-direction: column; gap: 12px; min-width: 0; height: 100%; color: var(--inkra-ink); }
3615
+ .inkra-agenda__heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; flex: none; }
3616
+ .inkra-agenda__heading h3 { margin: 0; font-size: 20px; font-weight: 400; }
3617
+ .inkra-agenda__heading > span { color: var(--inkra-ink-muted); font-size: 13px; }
3618
+ .inkra-agenda__timeline { min-height: 180px; overflow: auto; flex: 1; padding-inline-end: 4px; }
3619
+ .inkra-agenda__scale { position: relative; min-width: 220px; }
3620
+ .inkra-agenda__tick { position: absolute; inset-inline: 0; display: flex; align-items: center; gap: 8px; transform: translateY(-50%); pointer-events: none; font-size: 12px; color: var(--inkra-ink-muted); }
3621
+ .inkra-agenda__tick > span { width: 66px; flex: none; text-align: end; }
3622
+ .inkra-agenda[data-hour-cycle="h12"] .inkra-agenda__tick > span { width: 92px; }
3623
+ .inkra-agenda__tick > .inkra-pencil-line { flex: 1; opacity: .45; }
3624
+ .inkra-agenda__timeline[data-overview="false"] .inkra-agenda__tick > .inkra-pencil-line { visibility: hidden; }
3625
+ .inkra-agenda__lanes { position: absolute; inset-block: 0; inset-inline: 78px 0; padding: 0; margin: 0; list-style: none; }
3626
+ .inkra-agenda[data-hour-cycle="h12"] .inkra-agenda__lanes { inset-inline-start: 104px; }
3627
+ .inkra-agenda__lanes > li { position: absolute; padding-inline: 3px; box-sizing: border-box; min-width: 0; }
3628
+ .inkra-agenda__card { position: relative; height: 100%; min-height: 44px; padding: 8px; box-sizing: border-box; overflow: hidden; }
3629
+ .inkra-agenda__card[data-selected="true"] { outline: 2px solid var(--inkra-focus); outline-offset: -3px; border-radius: 6px; }
3630
+ .inkra-agenda__card-copy { position: relative; pointer-events: none; display: grid; gap: 4px; min-width: 0; overflow-wrap: anywhere; }
3631
+ .inkra-agenda__card-title { display: flex; gap: 6px; align-items: center; font-size: 15px; }
3632
+ .inkra-agenda__card-title > span[aria-hidden] { display: inline-flex; flex: none; }
3633
+ .inkra-agenda__card-title > .inkra-pencil-text { min-width: 0; }
3634
+ .inkra-agenda__description { font-size: 13px; color: var(--inkra-ink-muted); }
3635
+ .inkra-agenda__hit { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: transparent; cursor: pointer; }
3636
+ .inkra-agenda__hit:disabled { cursor: not-allowed; }
3637
+ .inkra-agenda__card:has(.inkra-agenda__hit:disabled) { opacity: .5; }
3638
+ .inkra-agenda__hit:focus-visible { outline: 2px solid var(--inkra-focus); outline-offset: -3px; }
3639
+ .inkra-agenda__accessible-time { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
3640
+ .inkra-agenda__pending { display: grid; gap: 6px; flex: none; }
3641
+ .inkra-agenda__pending > span { font-size: 13px; color: var(--inkra-ink-muted); }
3642
+ .inkra-agenda__navigation { position: relative; display: flex; justify-content: space-between; padding-top: 8px; flex: none; }
3643
+ .inkra-agenda__navigation > .inkra-pencil-line { position: absolute; inset: 0 0 auto; }
3644
+
3645
+ .inkra-journey-map { min-width: 0; width: 100%; color: var(--inkra-ink); }
3646
+ .inkra-journey-map__viewport { position: relative; overflow: hidden; isolation: isolate; background: var(--inkra-paper); }
3647
+ .inkra-journey-map__host { position: absolute; inset: 0; background: transparent; font: inherit; }
3648
+ .inkra-journey-map__ink { position: absolute; inset: 0; pointer-events: none; z-index: 350; }
3649
+ .inkra-journey-map__tools { position: absolute; z-index: 600; inset-block-end: 9px; inset-inline-start: 9px; display: grid; gap: 4px; }
3650
+ .inkra-journey-map__marker { display: grid; place-items: center; }
3651
+ .inkra-journey-map__pin { position: absolute; top: 37px; left: 50%; transform: translateX(-50%); width: max-content; max-width: 140px; text-align: center; color: var(--inkra-ink); font: 14px/1.4 var(--inkra-font-hand); }
3652
+ .inkra-journey-map__marker[aria-pressed="true"] .inkra-journey-map__pin { color: var(--inkra-accent-strong); }
3653
+ .inkra-journey-map__orientation { position: absolute; bottom: 18px; right: 18px; z-index: 600; display: flex; align-items: end; gap: 12px; pointer-events: none; }
3654
+ .inkra-journey-map__scale { display: grid; justify-items: center; gap: 1px; font-size: 13px; line-height: 22px; }
3655
+ .inkra-journey-map__scale canvas { display: block; height: 12px; }
3656
+ .inkra-journey-map__compass { display: grid; justify-items: center; width: 34px; height: 50px; font-size: 14px; line-height: 20px; }
3657
+ .inkra-journey-map__attribution { margin: 8px 0; color: var(--inkra-ink-muted); font-size: 12px; }
3658
+ .inkra-journey-map__credits { position: absolute; inset-block-start: 8px; inset-inline-end: 8px; z-index: 600; }
3659
+ .inkra-journey-map__credits-content { width: min(340px, calc(100vw - 40px)); }
3660
+ .inkra-journey-map__places { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
3661
+ .inkra-journey-map__places button { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
3662
+ .inkra-journey-map__places button[aria-pressed="true"] { text-decoration: underline; text-underline-offset: 4px; }
3663
+ .inkra-journey-map button:focus-visible, .inkra-journey-map__marker:focus-visible { outline: 2px solid var(--inkra-focus); outline-offset: -2px; }