rshow 0.0.0-stage → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +50 -2
  3. package/dist/main.js +8500 -0
  4. package/package.json +48 -4
  5. package/skills/rshow/SKILL.md +144 -0
  6. package/skills/rshow/reference/cli.md +263 -0
  7. package/skills/rshow/reference/dashboard.md +122 -0
  8. package/skills/rshow/reference/mockups.md +113 -0
  9. package/skills/rshow/reference/page-contract.md +83 -0
  10. package/skills/rshow/reference/pages.md +174 -0
  11. package/skills/rshow/reference/poster.md +137 -0
  12. package/skills/rshow/reference/project-page.md +132 -0
  13. package/skills/rshow/reference/reports.md +158 -0
  14. package/skills/rshow/reference/sketch.md +78 -0
  15. package/skills/rshow/reference/terminal.md +148 -0
  16. package/skills/rshow/reference/themes.md +139 -0
  17. package/skills/rshow-implement/SKILL.md +112 -0
  18. package/skills/rshow-implement/reference/compare.md +156 -0
  19. package/skills/rshow-implement/reference/handoff.md +125 -0
  20. package/skills/rshow-implement/reference/map.md +151 -0
  21. package/skills/rshow-slides/SKILL.md +136 -0
  22. package/skills/rshow-slides/reference/layouts.md +251 -0
  23. package/themes/default/dashboard.css +521 -0
  24. package/themes/default/dashboard.js +1390 -0
  25. package/themes/default/deck.css +586 -0
  26. package/themes/default/deck.js +741 -0
  27. package/themes/default/example/capture.ans +1 -0
  28. package/themes/default/example/dashboard.html +106 -0
  29. package/themes/default/example/demo.cast +14 -0
  30. package/themes/default/example/drawing.excalidraw +377 -0
  31. package/themes/default/example/index.html +311 -0
  32. package/themes/default/example/mockup-desktop.html +331 -0
  33. package/themes/default/example/mockup-platforms.html +742 -0
  34. package/themes/default/example/mockup.html +416 -0
  35. package/themes/default/example/page.html +153 -0
  36. package/themes/default/example/poster-figure.svg +58 -0
  37. package/themes/default/example/poster.html +181 -0
  38. package/themes/default/example/project.html +229 -0
  39. package/themes/default/example/report.html +404 -0
  40. package/themes/default/example/results.csv +61 -0
  41. package/themes/default/example/sketch.html +178 -0
  42. package/themes/default/example/teaser.svg +66 -0
  43. package/themes/default/example/terminal.html +231 -0
  44. package/themes/default/example/tui.html +223 -0
  45. package/themes/default/fonts/IBMPlexMono-Regular-Latin1.woff2 +0 -0
  46. package/themes/default/fonts/IBMPlexSans-Light-Latin1.woff2 +0 -0
  47. package/themes/default/fonts/IBMPlexSans-Regular-Latin1.woff2 +0 -0
  48. package/themes/default/fonts/IBMPlexSans-SemiBold-Latin1.woff2 +0 -0
  49. package/themes/default/fonts/OFL.txt +93 -0
  50. package/themes/default/fonts.css +63 -0
  51. package/themes/default/index.html +573 -0
  52. package/themes/default/mockup.css +1078 -0
  53. package/themes/default/mockup.js +1433 -0
  54. package/themes/default/mode.js +242 -0
  55. package/themes/default/page.css +320 -0
  56. package/themes/default/poster.css +480 -0
  57. package/themes/default/poster.js +223 -0
  58. package/themes/default/project.css +482 -0
  59. package/themes/default/project.js +116 -0
  60. package/themes/default/report.css +776 -0
  61. package/themes/default/report.js +427 -0
  62. package/themes/default/sketch.css +166 -0
  63. package/themes/default/sketch.js +681 -0
  64. package/themes/default/skins/adwaita.css +669 -0
  65. package/themes/default/skins/custom.css +596 -0
  66. package/themes/default/skins/egui.css +639 -0
  67. package/themes/default/skins/fluent.css +1093 -0
  68. package/themes/default/skins/fluent.js +458 -0
  69. package/themes/default/skins/mac.css +647 -0
  70. package/themes/default/skins/material.css +692 -0
  71. package/themes/default/skins/sketch.css +436 -0
  72. package/themes/default/skins/sketch.js +494 -0
  73. package/themes/default/skins/wire.css +561 -0
  74. package/themes/default/terminal.css +292 -0
  75. package/themes/default/terminal.js +433 -0
  76. package/themes/default/theme.json +149 -0
  77. package/themes/default/tokens.css +255 -0
  78. package/themes/default/tui.css +703 -0
  79. package/themes/default/tui.js +472 -0
  80. package/worker/index.js +6918 -0
  81. package/worker/migrations/0001_init.sql +52 -0
  82. package/worker/migrations/0002_blobs.sql +5 -0
  83. package/worker/migrations/0003_projects.sql +31 -0
  84. package/worker/migrations/0004_page_data_blob.sql +19 -0
@@ -0,0 +1,561 @@
1
+ /*
2
+ * rshow theme "default": the wire skin, layer 3.
3
+ *
4
+ * The default skin: a grayscale wireframe kit. It reads as a drawing of an
5
+ * interface rather than an interface, so a reader looks at the structure and
6
+ * not at the colour. One accent, --mk-accent, for a primary action and for a
7
+ * focus ring, and nothing else in colour.
8
+ *
9
+ * Class list, all real content allowed inside any of them.
10
+ *
11
+ * Layout wf-row wf-col wf-spacer wf-grow
12
+ * Type wf-heading (real text or a bar) wf-text (gray lines,
13
+ * data-lines="3", or real text)
14
+ * Blocks wf-box wf-card wf-image wf-icon wf-avatar
15
+ * Controls wf-button (.primary) wf-input (data-label) wf-select
16
+ * wf-checkbox (data-checked) wf-toggle (.on) wf-tabs
17
+ * Shell wf-nav wf-sidebar
18
+ * Data wf-table (data-rows data-cols) wf-chart (one child per bar)
19
+ * Overlay wf-scrim wf-modal wf-toast
20
+ *
21
+ * A placeholder line is an empty element: <div class="wf-text" data-lines="3">
22
+ * </div> with nothing between the tags. Put text in one and the skin sets it in
23
+ * type instead, because real words beat a gray bar when the words exist.
24
+ *
25
+ * This skin carries the screen tokens that mockup.css reads, so a preset may
26
+ * overwrite any of them and the kit follows.
27
+ */
28
+
29
+ .mockup[data-skin="wire"] {
30
+ --mk-bg: #ffffff;
31
+ --mk-fg: #161616;
32
+ --mk-muted: #6f6f6f;
33
+ --mk-line: #bdbdbd;
34
+ --mk-fill: #ededed;
35
+ --mk-accent: #0f62fe;
36
+ --mk-radius: 2px;
37
+ --mk-font: var(--font-sans, system-ui, sans-serif);
38
+ --mk-size: 14px;
39
+ --mk-gap: 12px;
40
+ --mk-pad: 20px;
41
+ --mk-line-h: 18px;
42
+ }
43
+
44
+ .mockup[data-skin="wire"] .mk-screen {
45
+ color: var(--mk-fg);
46
+ background: var(--mk-bg);
47
+ }
48
+
49
+ /* --------------------------------------------------------------- layout -- */
50
+
51
+ .mockup[data-skin="wire"] .wf-row {
52
+ display: flex;
53
+ align-items: center;
54
+ gap: var(--mk-gap);
55
+ }
56
+
57
+ .mockup[data-skin="wire"] .wf-col {
58
+ display: flex;
59
+ flex-direction: column;
60
+ gap: var(--mk-gap);
61
+ }
62
+
63
+ .mockup[data-skin="wire"] .wf-row.wf-shell {
64
+ align-items: stretch;
65
+ }
66
+
67
+ .mockup[data-skin="wire"] .wf-row.wf-top {
68
+ align-items: flex-start;
69
+ }
70
+
71
+ .mockup[data-skin="wire"] .wf-spacer,
72
+ .mockup[data-skin="wire"] .wf-grow {
73
+ flex: 1 1 auto;
74
+ min-width: 0;
75
+ }
76
+
77
+ /* ----------------------------------------------------------------- type -- */
78
+
79
+ .mockup[data-skin="wire"] .wf-heading {
80
+ display: block;
81
+ width: 44%;
82
+ max-width: 320px;
83
+ height: 15px;
84
+ background: var(--mk-fg);
85
+ border-radius: 1px;
86
+ }
87
+
88
+ .mockup[data-skin="wire"] .wf-heading:not(:empty) {
89
+ width: auto;
90
+ max-width: none;
91
+ height: auto;
92
+ font-size: 22px;
93
+ font-weight: 600;
94
+ line-height: 1.3;
95
+ background: none;
96
+ }
97
+
98
+ .mockup[data-skin="wire"] .wf-text {
99
+ --mk-lines: 2;
100
+ display: block;
101
+ height: calc(var(--mk-lines) * var(--mk-line-h));
102
+ background-image: repeating-linear-gradient(
103
+ to bottom,
104
+ var(--mk-line) 0 7px,
105
+ transparent 7px var(--mk-line-h)
106
+ );
107
+ border-radius: 1px;
108
+ }
109
+
110
+ .mockup[data-skin="wire"] .wf-text[data-lines="1"] {
111
+ --mk-lines: 1;
112
+ }
113
+
114
+ .mockup[data-skin="wire"] .wf-text[data-lines="2"] {
115
+ --mk-lines: 2;
116
+ }
117
+
118
+ .mockup[data-skin="wire"] .wf-text[data-lines="3"] {
119
+ --mk-lines: 3;
120
+ }
121
+
122
+ .mockup[data-skin="wire"] .wf-text[data-lines="4"] {
123
+ --mk-lines: 4;
124
+ }
125
+
126
+ .mockup[data-skin="wire"] .wf-text[data-lines="5"] {
127
+ --mk-lines: 5;
128
+ }
129
+
130
+ .mockup[data-skin="wire"] .wf-text[data-lines="6"] {
131
+ --mk-lines: 6;
132
+ }
133
+
134
+ .mockup[data-skin="wire"] .wf-text[data-lines="7"] {
135
+ --mk-lines: 7;
136
+ }
137
+
138
+ .mockup[data-skin="wire"] .wf-text[data-lines="8"] {
139
+ --mk-lines: 8;
140
+ }
141
+
142
+ .mockup[data-skin="wire"] .wf-text:not(:empty) {
143
+ height: auto;
144
+ font-size: 13px;
145
+ line-height: 1.5;
146
+ color: var(--mk-muted);
147
+ background: none;
148
+ }
149
+
150
+ /* --------------------------------------------------------------- blocks -- */
151
+
152
+ .mockup[data-skin="wire"] .wf-box {
153
+ padding: 12px;
154
+ min-height: 48px;
155
+ background: var(--mk-fill);
156
+ border: 1px solid var(--mk-line);
157
+ border-radius: var(--mk-radius);
158
+ }
159
+
160
+ .mockup[data-skin="wire"] .wf-card {
161
+ display: flex;
162
+ flex-direction: column;
163
+ gap: var(--mk-gap);
164
+ padding: 16px;
165
+ background: var(--mk-bg);
166
+ border: 1px solid var(--mk-line);
167
+ border-radius: var(--mk-radius);
168
+ }
169
+
170
+ .mockup[data-skin="wire"] .wf-image {
171
+ min-height: 120px;
172
+ background-color: var(--mk-fill);
173
+ background-image: linear-gradient(
174
+ to top right,
175
+ transparent calc(50% - 0.5px),
176
+ var(--mk-line) calc(50% - 0.5px),
177
+ var(--mk-line) calc(50% + 0.5px),
178
+ transparent calc(50% + 0.5px)
179
+ ),
180
+ linear-gradient(
181
+ to bottom right,
182
+ transparent calc(50% - 0.5px),
183
+ var(--mk-line) calc(50% - 0.5px),
184
+ var(--mk-line) calc(50% + 0.5px),
185
+ transparent calc(50% + 0.5px)
186
+ );
187
+ border: 1px solid var(--mk-line);
188
+ border-radius: var(--mk-radius);
189
+ }
190
+
191
+ .mockup[data-skin="wire"] .wf-avatar {
192
+ flex: 0 0 auto;
193
+ width: 40px;
194
+ height: 40px;
195
+ background: var(--mk-fill);
196
+ border: 1px solid var(--mk-line);
197
+ border-radius: 50%;
198
+ }
199
+
200
+ .mockup[data-skin="wire"] .wf-avatar[data-size="sm"] {
201
+ width: 28px;
202
+ height: 28px;
203
+ }
204
+
205
+ .mockup[data-skin="wire"] .wf-avatar[data-size="lg"] {
206
+ width: 56px;
207
+ height: 56px;
208
+ }
209
+
210
+ .mockup[data-skin="wire"] .wf-icon {
211
+ display: inline-block;
212
+ flex: 0 0 auto;
213
+ width: 16px;
214
+ height: 16px;
215
+ background: var(--mk-fill);
216
+ border: 1px solid var(--mk-line);
217
+ border-radius: 2px;
218
+ }
219
+
220
+ .mockup[data-skin="wire"] .wf-icon[data-size="lg"] {
221
+ width: 24px;
222
+ height: 24px;
223
+ }
224
+
225
+ /* ------------------------------------------------------------- controls -- */
226
+
227
+ .mockup[data-skin="wire"] .wf-button {
228
+ display: inline-flex;
229
+ align-items: center;
230
+ justify-content: center;
231
+ gap: 6px;
232
+ height: 34px;
233
+ padding: 0 14px;
234
+ font: inherit;
235
+ font-size: 13px;
236
+ color: var(--mk-fg);
237
+ text-align: center;
238
+ text-decoration: none;
239
+ white-space: nowrap;
240
+ background: var(--mk-bg);
241
+ border: 1px solid var(--mk-fg);
242
+ border-radius: var(--mk-radius);
243
+ }
244
+
245
+ .mockup[data-skin="wire"] .wf-button.primary {
246
+ color: #ffffff;
247
+ background: var(--mk-accent);
248
+ border-color: var(--mk-accent);
249
+ }
250
+
251
+ .mockup[data-skin="wire"] .wf-button.ghost {
252
+ color: var(--mk-muted);
253
+ background: transparent;
254
+ border-color: var(--mk-line);
255
+ }
256
+
257
+ .mockup[data-skin="wire"] .wf-input {
258
+ position: relative;
259
+ display: flex;
260
+ align-items: center;
261
+ min-height: 40px;
262
+ padding: 0 12px;
263
+ font-size: 13px;
264
+ color: var(--mk-muted);
265
+ background: var(--mk-bg);
266
+ border: 1px solid var(--mk-line);
267
+ border-radius: var(--mk-radius);
268
+ }
269
+
270
+ .mockup[data-skin="wire"] .wf-input[data-label]::before,
271
+ .mockup[data-skin="wire"] .wf-label {
272
+ position: absolute;
273
+ top: -8px;
274
+ left: 10px;
275
+ padding: 0 4px;
276
+ font-size: 11px;
277
+ line-height: 1.4;
278
+ color: var(--mk-muted);
279
+ background: var(--mk-bg);
280
+ }
281
+
282
+ .mockup[data-skin="wire"] .wf-input[data-label]::before {
283
+ content: attr(data-label);
284
+ }
285
+
286
+ .mockup[data-skin="wire"] .wf-input:focus-within {
287
+ border-color: var(--mk-accent);
288
+ outline: 1px solid var(--mk-accent);
289
+ outline-offset: 0;
290
+ }
291
+
292
+ .mockup[data-skin="wire"] .wf-select {
293
+ position: relative;
294
+ display: flex;
295
+ align-items: center;
296
+ min-height: 40px;
297
+ padding: 0 34px 0 12px;
298
+ font-size: 13px;
299
+ color: var(--mk-fg);
300
+ background: var(--mk-bg);
301
+ border: 1px solid var(--mk-line);
302
+ border-radius: var(--mk-radius);
303
+ }
304
+
305
+ .mockup[data-skin="wire"] .wf-select::after {
306
+ content: "";
307
+ position: absolute;
308
+ top: 50%;
309
+ right: 12px;
310
+ width: 0;
311
+ height: 0;
312
+ margin-top: -2px;
313
+ border-top: 5px solid var(--mk-fg);
314
+ border-right: 4px solid transparent;
315
+ border-left: 4px solid transparent;
316
+ }
317
+
318
+ .mockup[data-skin="wire"] .wf-checkbox {
319
+ position: relative;
320
+ display: inline-block;
321
+ flex: 0 0 auto;
322
+ width: 18px;
323
+ height: 18px;
324
+ background: var(--mk-bg);
325
+ border: 1px solid var(--mk-fg);
326
+ border-radius: 2px;
327
+ }
328
+
329
+ .mockup[data-skin="wire"] .wf-checkbox[data-checked="true"] {
330
+ background: var(--mk-accent);
331
+ border-color: var(--mk-accent);
332
+ }
333
+
334
+ .mockup[data-skin="wire"] .wf-checkbox[data-checked="true"]::after {
335
+ content: "";
336
+ position: absolute;
337
+ top: 2px;
338
+ left: 5px;
339
+ width: 5px;
340
+ height: 9px;
341
+ border: solid #ffffff;
342
+ border-width: 0 2px 2px 0;
343
+ transform: rotate(45deg);
344
+ }
345
+
346
+ .mockup[data-skin="wire"] .wf-toggle {
347
+ position: relative;
348
+ display: inline-block;
349
+ flex: 0 0 auto;
350
+ width: 36px;
351
+ height: 20px;
352
+ background: var(--mk-fill);
353
+ border: 1px solid var(--mk-line);
354
+ border-radius: 10px;
355
+ }
356
+
357
+ .mockup[data-skin="wire"] .wf-toggle::after {
358
+ content: "";
359
+ position: absolute;
360
+ top: 2px;
361
+ left: 2px;
362
+ width: 14px;
363
+ height: 14px;
364
+ background: var(--mk-bg);
365
+ border: 1px solid var(--mk-line);
366
+ border-radius: 50%;
367
+ }
368
+
369
+ .mockup[data-skin="wire"] .wf-toggle.on {
370
+ background: var(--mk-accent);
371
+ border-color: var(--mk-accent);
372
+ }
373
+
374
+ .mockup[data-skin="wire"] .wf-toggle.on::after {
375
+ left: 18px;
376
+ border-color: var(--mk-accent);
377
+ }
378
+
379
+ .mockup[data-skin="wire"] .wf-tabs {
380
+ display: flex;
381
+ align-items: center;
382
+ gap: 20px;
383
+ border-bottom: 1px solid var(--mk-line);
384
+ }
385
+
386
+ .mockup[data-skin="wire"] .wf-tabs > * {
387
+ padding: 10px 0;
388
+ font-size: 13px;
389
+ color: var(--mk-muted);
390
+ white-space: nowrap;
391
+ }
392
+
393
+ .mockup[data-skin="wire"] .wf-tabs > .is-active,
394
+ .mockup[data-skin="wire"] .wf-tabs > [aria-selected="true"] {
395
+ color: var(--mk-fg);
396
+ border-bottom: 2px solid var(--mk-accent);
397
+ }
398
+
399
+ /* ---------------------------------------------------------------- shell -- */
400
+
401
+ .mockup[data-skin="wire"] .wf-nav {
402
+ display: flex;
403
+ align-items: center;
404
+ gap: 16px;
405
+ min-height: 56px;
406
+ padding: 0 20px;
407
+ border-bottom: 1px solid var(--mk-line);
408
+ }
409
+
410
+ .mockup[data-skin="wire"] .wf-sidebar {
411
+ display: flex;
412
+ flex: 0 0 auto;
413
+ flex-direction: column;
414
+ gap: 8px;
415
+ width: 220px;
416
+ padding: 16px;
417
+ background: var(--mk-fill);
418
+ border-right: 1px solid var(--mk-line);
419
+ }
420
+
421
+ /* ----------------------------------------------------------------- data -- */
422
+
423
+ .mockup[data-skin="wire"] .wf-table {
424
+ --mk-rows: 4;
425
+ --mk-cols: 3;
426
+ height: calc(var(--mk-rows) * 34px);
427
+ background-image: repeating-linear-gradient(
428
+ to bottom,
429
+ transparent 0 33px,
430
+ var(--mk-line) 33px 34px
431
+ ),
432
+ repeating-linear-gradient(
433
+ to right,
434
+ transparent 0 calc(100% / var(--mk-cols) - 1px),
435
+ var(--mk-line) calc(100% / var(--mk-cols) - 1px) calc(100% / var(--mk-cols))
436
+ );
437
+ border: 1px solid var(--mk-line);
438
+ border-radius: var(--mk-radius);
439
+ }
440
+
441
+ .mockup[data-skin="wire"] .wf-table[data-rows="1"] {
442
+ --mk-rows: 1;
443
+ }
444
+
445
+ .mockup[data-skin="wire"] .wf-table[data-rows="2"] {
446
+ --mk-rows: 2;
447
+ }
448
+
449
+ .mockup[data-skin="wire"] .wf-table[data-rows="3"] {
450
+ --mk-rows: 3;
451
+ }
452
+
453
+ .mockup[data-skin="wire"] .wf-table[data-rows="4"] {
454
+ --mk-rows: 4;
455
+ }
456
+
457
+ .mockup[data-skin="wire"] .wf-table[data-rows="5"] {
458
+ --mk-rows: 5;
459
+ }
460
+
461
+ .mockup[data-skin="wire"] .wf-table[data-rows="6"] {
462
+ --mk-rows: 6;
463
+ }
464
+
465
+ .mockup[data-skin="wire"] .wf-table[data-rows="8"] {
466
+ --mk-rows: 8;
467
+ }
468
+
469
+ .mockup[data-skin="wire"] .wf-table[data-rows="10"] {
470
+ --mk-rows: 10;
471
+ }
472
+
473
+ .mockup[data-skin="wire"] .wf-table[data-cols="1"] {
474
+ --mk-cols: 1;
475
+ }
476
+
477
+ .mockup[data-skin="wire"] .wf-table[data-cols="2"] {
478
+ --mk-cols: 2;
479
+ }
480
+
481
+ .mockup[data-skin="wire"] .wf-table[data-cols="3"] {
482
+ --mk-cols: 3;
483
+ }
484
+
485
+ .mockup[data-skin="wire"] .wf-table[data-cols="4"] {
486
+ --mk-cols: 4;
487
+ }
488
+
489
+ .mockup[data-skin="wire"] .wf-table[data-cols="5"] {
490
+ --mk-cols: 5;
491
+ }
492
+
493
+ .mockup[data-skin="wire"] .wf-table[data-cols="6"] {
494
+ --mk-cols: 6;
495
+ }
496
+
497
+ .mockup[data-skin="wire"] .wf-chart {
498
+ display: flex;
499
+ align-items: flex-end;
500
+ gap: 8px;
501
+ height: 160px;
502
+ padding: 0 0 0 1px;
503
+ border-bottom: 1px solid var(--mk-line);
504
+ border-left: 1px solid var(--mk-line);
505
+ }
506
+
507
+ .mockup[data-skin="wire"] .wf-chart > * {
508
+ flex: 1 1 0;
509
+ min-height: 8px;
510
+ background: var(--mk-fill);
511
+ border: 1px solid var(--mk-line);
512
+ border-bottom: 0;
513
+ }
514
+
515
+ .mockup[data-skin="wire"] .wf-chart > .is-accent {
516
+ background: var(--mk-accent);
517
+ border-color: var(--mk-accent);
518
+ }
519
+
520
+ /* -------------------------------------------------------------- overlay -- */
521
+
522
+ .mockup[data-skin="wire"] .wf-scrim {
523
+ position: absolute;
524
+ inset: 0;
525
+ z-index: 2;
526
+ background: rgba(22, 22, 22, 0.45);
527
+ }
528
+
529
+ .mockup[data-skin="wire"] .wf-modal {
530
+ position: absolute;
531
+ top: 50%;
532
+ left: 50%;
533
+ z-index: 3;
534
+ display: flex;
535
+ flex-direction: column;
536
+ gap: 16px;
537
+ width: min(460px, 82%);
538
+ max-height: 84%;
539
+ padding: 20px;
540
+ background: var(--mk-bg);
541
+ border: 1px solid var(--mk-fg);
542
+ border-radius: var(--mk-radius);
543
+ transform: translate(-50%, -50%);
544
+ }
545
+
546
+ .mockup[data-skin="wire"] .wf-toast {
547
+ position: absolute;
548
+ bottom: 24px;
549
+ left: 50%;
550
+ z-index: 4;
551
+ display: flex;
552
+ align-items: center;
553
+ gap: 10px;
554
+ max-width: 82%;
555
+ padding: 10px 14px;
556
+ font-size: 13px;
557
+ color: var(--mk-bg);
558
+ background: var(--mk-fg);
559
+ border-radius: var(--mk-radius);
560
+ transform: translateX(-50%);
561
+ }