@vizejs/vite-plugin-musea 0.12.0 → 0.14.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 (58) hide show
  1. package/dist/{a11y-C6xqILwZ.js → a11y-7maCHrYD.js} +164 -143
  2. package/dist/a11y-7maCHrYD.js.map +1 -0
  3. package/dist/a11y-CjpWs0s0.js +3 -0
  4. package/dist/autogen-Dx-SIBf_.js +3 -0
  5. package/dist/{autogen-ymQnARZK.js → autogen-dfLosbY_.js} +97 -85
  6. package/dist/autogen-dfLosbY_.js.map +1 -0
  7. package/dist/cli/index.d.ts +61 -0
  8. package/dist/cli/index.d.ts.map +1 -0
  9. package/dist/{cli.js → cli/index.js} +146 -138
  10. package/dist/cli/index.js.map +1 -0
  11. package/dist/gallery/assets/{cssMode-CcXMra0m.js → cssMode-Bh8Yx3kR.js} +1 -1
  12. package/dist/gallery/assets/{editor.api-DngZ07MW.js → editor.api-CmduODkO.js} +1 -1
  13. package/dist/gallery/assets/{editor.main-B7YVyVYi.js → editor.main-BGzZ6mZ7.js} +2 -2
  14. package/dist/gallery/assets/{freemarker2-VkSVdked.js → freemarker2-Cn3sOnVM.js} +1 -1
  15. package/dist/gallery/assets/{handlebars-YowBDP4W.js → handlebars-Bxtt_XDm.js} +1 -1
  16. package/dist/gallery/assets/{html-DJtSoeLQ.js → html-wxaydg4H.js} +1 -1
  17. package/dist/gallery/assets/{htmlMode-CfXIwSy5.js → htmlMode-EOxgEq0U.js} +1 -1
  18. package/dist/gallery/assets/{index-0_abCQYn.css → index-Cp7AWs0x.css} +1 -1
  19. package/dist/gallery/assets/{index-D94E3YZ4.js → index-DiHal_rf.js} +3 -3
  20. package/dist/gallery/assets/{javascript-OR93O4ZK.js → javascript-DN4Z2eWk.js} +1 -1
  21. package/dist/gallery/assets/{jsonMode-Cgol9YnW.js → jsonMode-tuRq32My.js} +1 -1
  22. package/dist/gallery/assets/{liquid-CrwTQQjB.js → liquid-D4J1rGOp.js} +1 -1
  23. package/dist/gallery/assets/{mdx-DwR18PX6.js → mdx-DxeOF6WC.js} +1 -1
  24. package/dist/gallery/assets/{monaco.contribution-CtStVxRd.js → monaco.contribution-C457czx3.js} +2 -2
  25. package/dist/gallery/assets/{python-D86nvZ4A.js → python-HLp-R9eA.js} +1 -1
  26. package/dist/gallery/assets/{razor-1784i4Ae.js → razor-2U4-SYvG.js} +1 -1
  27. package/dist/gallery/assets/{tsMode-DMkSHunc.js → tsMode-jWuA-Omz.js} +1 -1
  28. package/dist/gallery/assets/{typescript-Bu4A5btR.js → typescript-rOoZv0aH.js} +1 -1
  29. package/dist/gallery/assets/{xml-Sny7sZAt.js → xml-BfA65ILD.js} +1 -1
  30. package/dist/gallery/assets/{yaml-DKD1HvU8.js → yaml-CddGDANN.js} +1 -1
  31. package/dist/gallery/index.html +2 -2
  32. package/dist/index.css +488 -0
  33. package/dist/index.css.map +1 -0
  34. package/dist/index.d.ts +342 -24
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +925 -1320
  37. package/dist/index.js.map +1 -1
  38. package/dist/{vrt-CrjRhMVE.js → vrt-5_c9P1YY.js} +224 -184
  39. package/dist/vrt-5_c9P1YY.js.map +1 -0
  40. package/dist/{vrt-BuMkTrLK.d.ts → vrt-D6OumJUH.d.ts} +76 -260
  41. package/dist/vrt-D6OumJUH.d.ts.map +1 -0
  42. package/dist/vrt.d.ts +1 -1
  43. package/dist/vrt.js +1 -1
  44. package/package.json +7 -7
  45. package/dist/a11y-C6xqILwZ.js.map +0 -1
  46. package/dist/a11y-cQIJXM5k.d.ts +0 -61
  47. package/dist/a11y-cQIJXM5k.d.ts.map +0 -1
  48. package/dist/a11y.d.ts +0 -3
  49. package/dist/a11y.js +0 -3
  50. package/dist/autogen-D3Zjc3zI.d.ts +0 -64
  51. package/dist/autogen-D3Zjc3zI.d.ts.map +0 -1
  52. package/dist/autogen-ymQnARZK.js.map +0 -1
  53. package/dist/autogen.d.ts +0 -2
  54. package/dist/autogen.js +0 -3
  55. package/dist/cli.d.ts +0 -1
  56. package/dist/cli.js.map +0 -1
  57. package/dist/vrt-BuMkTrLK.d.ts.map +0 -1
  58. package/dist/vrt-CrjRhMVE.js.map +0 -1
package/dist/index.css ADDED
@@ -0,0 +1,488 @@
1
+ :root {
2
+ --musea-bg-primary: #E6E2D6;
3
+ --musea-bg-secondary: #ddd9cd;
4
+ --musea-bg-tertiary: #d4d0c4;
5
+ --musea-bg-elevated: #E6E2D6;
6
+ --musea-accent: #121212;
7
+ --musea-accent-hover: #2a2a2a;
8
+ --musea-accent-subtle: rgba(18, 18, 18, 0.08);
9
+ --musea-text: #121212;
10
+ --musea-text-secondary: #3a3a3a;
11
+ --musea-text-muted: #6b6b6b;
12
+ --musea-border: #c8c4b8;
13
+ --musea-border-subtle: #d4d0c4;
14
+ --musea-success: #16a34a;
15
+ --musea-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
16
+ --musea-radius-sm: 4px;
17
+ --musea-radius-md: 6px;
18
+ --musea-radius-lg: 8px;
19
+ --musea-transition: 0.15s ease;
20
+ }
21
+
22
+ * { box-sizing: border-box; margin: 0; padding: 0; }
23
+
24
+ body {
25
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
26
+ background: var(--musea-bg-primary);
27
+ color: var(--musea-text);
28
+ min-height: 100vh;
29
+ line-height: 1.5;
30
+ -webkit-font-smoothing: antialiased;
31
+ }
32
+
33
+ /* Header */
34
+ .header {
35
+ background: var(--musea-bg-secondary);
36
+ border-bottom: 1px solid var(--musea-border);
37
+ padding: 0 1.5rem;
38
+ height: 56px;
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: space-between;
42
+ position: sticky;
43
+ top: 0;
44
+ z-index: 100;
45
+ }
46
+
47
+ .header-left {
48
+ display: flex;
49
+ align-items: center;
50
+ gap: 1.5rem;
51
+ }
52
+
53
+ .logo {
54
+ display: flex;
55
+ align-items: center;
56
+ gap: 0.5rem;
57
+ font-size: 1.125rem;
58
+ font-weight: 700;
59
+ color: var(--musea-accent);
60
+ text-decoration: none;
61
+ }
62
+
63
+ .logo-svg {
64
+ width: 32px;
65
+ height: 32px;
66
+ flex-shrink: 0;
67
+ }
68
+
69
+ .logo-icon svg {
70
+ width: 16px;
71
+ height: 16px;
72
+ color: var(--musea-text);
73
+ }
74
+
75
+ .header-subtitle {
76
+ color: var(--musea-text-muted);
77
+ font-size: 0.8125rem;
78
+ font-weight: 500;
79
+ padding-left: 1.5rem;
80
+ border-left: 1px solid var(--musea-border);
81
+ }
82
+
83
+ .search-container {
84
+ position: relative;
85
+ width: 280px;
86
+ }
87
+
88
+ .search-input {
89
+ width: 100%;
90
+ background: var(--musea-bg-tertiary);
91
+ border: 1px solid var(--musea-border);
92
+ border-radius: var(--musea-radius-md);
93
+ padding: 0.5rem 0.75rem 0.5rem 2.25rem;
94
+ color: var(--musea-text);
95
+ font-size: 0.8125rem;
96
+ outline: none;
97
+ transition: border-color var(--musea-transition), background var(--musea-transition);
98
+ }
99
+
100
+ .search-input::placeholder {
101
+ color: var(--musea-text-muted);
102
+ }
103
+
104
+ .search-input:focus {
105
+ border-color: var(--musea-accent);
106
+ background: var(--musea-bg-elevated);
107
+ }
108
+
109
+ .search-icon {
110
+ position: absolute;
111
+ left: 0.75rem;
112
+ top: 50%;
113
+ transform: translateY(-50%);
114
+ color: var(--musea-text-muted);
115
+ pointer-events: none;
116
+ }
117
+
118
+ /* Layout */
119
+ .main {
120
+ display: grid;
121
+ grid-template-columns: 260px 1fr;
122
+ min-height: calc(100vh - 56px);
123
+ }
124
+
125
+ /* Sidebar */
126
+ .sidebar {
127
+ background: var(--musea-bg-secondary);
128
+ border-right: 1px solid var(--musea-border);
129
+ overflow-y: auto;
130
+ overflow-x: hidden;
131
+ }
132
+
133
+ .sidebar::-webkit-scrollbar {
134
+ width: 6px;
135
+ }
136
+
137
+ .sidebar::-webkit-scrollbar-track {
138
+ background: transparent;
139
+ }
140
+
141
+ .sidebar::-webkit-scrollbar-thumb {
142
+ background: var(--musea-border);
143
+ border-radius: 3px;
144
+ }
145
+
146
+ .sidebar-section {
147
+ padding: 0.75rem;
148
+ }
149
+
150
+ .category-header {
151
+ display: flex;
152
+ align-items: center;
153
+ gap: 0.5rem;
154
+ padding: 0.625rem 0.75rem;
155
+ font-size: 0.6875rem;
156
+ font-weight: 600;
157
+ text-transform: uppercase;
158
+ letter-spacing: 0.08em;
159
+ color: var(--musea-text-muted);
160
+ cursor: pointer;
161
+ user-select: none;
162
+ border-radius: var(--musea-radius-sm);
163
+ transition: background var(--musea-transition);
164
+ }
165
+
166
+ .category-header:hover {
167
+ background: var(--musea-bg-tertiary);
168
+ }
169
+
170
+ .category-icon {
171
+ width: 16px;
172
+ height: 16px;
173
+ transition: transform var(--musea-transition);
174
+ }
175
+
176
+ .category-header.collapsed .category-icon {
177
+ transform: rotate(-90deg);
178
+ }
179
+
180
+ .category-count {
181
+ margin-left: auto;
182
+ background: var(--musea-bg-tertiary);
183
+ padding: 0.125rem 0.375rem;
184
+ border-radius: 4px;
185
+ font-size: 0.625rem;
186
+ }
187
+
188
+ .art-list {
189
+ list-style: none;
190
+ margin-top: 0.25rem;
191
+ }
192
+
193
+ .art-item {
194
+ display: flex;
195
+ align-items: center;
196
+ gap: 0.625rem;
197
+ padding: 0.5rem 0.75rem 0.5rem 1.75rem;
198
+ border-radius: var(--musea-radius-sm);
199
+ cursor: pointer;
200
+ font-size: 0.8125rem;
201
+ color: var(--musea-text-secondary);
202
+ transition: all var(--musea-transition);
203
+ position: relative;
204
+ }
205
+
206
+ .art-item::before {
207
+ content: '';
208
+ position: absolute;
209
+ left: 0.75rem;
210
+ top: 50%;
211
+ transform: translateY(-50%);
212
+ width: 6px;
213
+ height: 6px;
214
+ border-radius: 50%;
215
+ background: var(--musea-border);
216
+ transition: background var(--musea-transition);
217
+ }
218
+
219
+ .art-item:hover {
220
+ background: var(--musea-bg-tertiary);
221
+ color: var(--musea-text);
222
+ }
223
+
224
+ .art-item:hover::before {
225
+ background: var(--musea-text-muted);
226
+ }
227
+
228
+ .art-item.active {
229
+ background: var(--musea-accent-subtle);
230
+ color: var(--musea-accent-hover);
231
+ }
232
+
233
+ .art-item.active::before {
234
+ background: var(--musea-accent);
235
+ }
236
+
237
+ .art-variant-count {
238
+ margin-left: auto;
239
+ font-size: 0.6875rem;
240
+ color: var(--musea-text-muted);
241
+ opacity: 0;
242
+ transition: opacity var(--musea-transition);
243
+ }
244
+
245
+ .art-item:hover .art-variant-count {
246
+ opacity: 1;
247
+ }
248
+
249
+ /* Content */
250
+ .content {
251
+ background: var(--musea-bg-primary);
252
+ overflow-y: auto;
253
+ }
254
+
255
+ .content-inner {
256
+ max-width: 1400px;
257
+ margin: 0 auto;
258
+ padding: 2rem;
259
+ }
260
+
261
+ .content-header {
262
+ margin-bottom: 2rem;
263
+ }
264
+
265
+ .content-title {
266
+ font-size: 1.5rem;
267
+ font-weight: 700;
268
+ margin-bottom: 0.5rem;
269
+ }
270
+
271
+ .content-description {
272
+ color: var(--musea-text-muted);
273
+ font-size: 0.9375rem;
274
+ max-width: 600px;
275
+ }
276
+
277
+ .content-meta {
278
+ display: flex;
279
+ align-items: center;
280
+ gap: 1rem;
281
+ margin-top: 1rem;
282
+ }
283
+
284
+ .meta-tag {
285
+ display: inline-flex;
286
+ align-items: center;
287
+ gap: 0.375rem;
288
+ padding: 0.25rem 0.625rem;
289
+ background: var(--musea-bg-secondary);
290
+ border: 1px solid var(--musea-border);
291
+ border-radius: var(--musea-radius-sm);
292
+ font-size: 0.75rem;
293
+ color: var(--musea-text-muted);
294
+ }
295
+
296
+ .meta-tag svg {
297
+ width: 12px;
298
+ height: 12px;
299
+ }
300
+
301
+ /* Gallery Grid */
302
+ .gallery {
303
+ display: grid;
304
+ grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
305
+ gap: 1.25rem;
306
+ }
307
+
308
+ /* Variant Card */
309
+ .variant-card {
310
+ background: var(--musea-bg-secondary);
311
+ border: 1px solid var(--musea-border);
312
+ border-radius: var(--musea-radius-lg);
313
+ overflow: hidden;
314
+ transition: all var(--musea-transition);
315
+ }
316
+
317
+ .variant-card:hover {
318
+ border-color: var(--musea-text-muted);
319
+ box-shadow: var(--musea-shadow);
320
+ transform: translateY(-2px);
321
+ }
322
+
323
+ .variant-preview {
324
+ aspect-ratio: 16 / 10;
325
+ background: var(--musea-bg-tertiary);
326
+ display: flex;
327
+ align-items: center;
328
+ justify-content: center;
329
+ position: relative;
330
+ overflow: hidden;
331
+ }
332
+
333
+ .variant-preview iframe {
334
+ width: 100%;
335
+ height: 100%;
336
+ border: none;
337
+ background: white;
338
+ }
339
+
340
+ .variant-preview-placeholder {
341
+ color: var(--musea-text-muted);
342
+ font-size: 0.8125rem;
343
+ text-align: center;
344
+ padding: 1rem;
345
+ }
346
+
347
+ .variant-preview-code {
348
+ font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
349
+ font-size: 0.75rem;
350
+ color: var(--musea-text-muted);
351
+ background: var(--musea-bg-primary);
352
+ padding: 1rem;
353
+ overflow: auto;
354
+ max-height: 100%;
355
+ width: 100%;
356
+ }
357
+
358
+ .variant-info {
359
+ padding: 1rem;
360
+ border-top: 1px solid var(--musea-border);
361
+ display: flex;
362
+ align-items: center;
363
+ justify-content: space-between;
364
+ }
365
+
366
+ .variant-name {
367
+ font-weight: 600;
368
+ font-size: 0.875rem;
369
+ }
370
+
371
+ .variant-badge {
372
+ font-size: 0.625rem;
373
+ font-weight: 600;
374
+ text-transform: uppercase;
375
+ letter-spacing: 0.04em;
376
+ padding: 0.1875rem 0.5rem;
377
+ border-radius: 4px;
378
+ background: var(--musea-accent-subtle);
379
+ color: var(--musea-accent);
380
+ }
381
+
382
+ .variant-actions {
383
+ display: flex;
384
+ gap: 0.5rem;
385
+ }
386
+
387
+ .variant-action-btn {
388
+ width: 28px;
389
+ height: 28px;
390
+ border: none;
391
+ background: var(--musea-bg-tertiary);
392
+ border-radius: var(--musea-radius-sm);
393
+ color: var(--musea-text-muted);
394
+ cursor: pointer;
395
+ display: flex;
396
+ align-items: center;
397
+ justify-content: center;
398
+ transition: all var(--musea-transition);
399
+ }
400
+
401
+ .variant-action-btn:hover {
402
+ background: var(--musea-bg-elevated);
403
+ color: var(--musea-text);
404
+ }
405
+
406
+ .variant-action-btn svg {
407
+ width: 14px;
408
+ height: 14px;
409
+ }
410
+
411
+ /* Empty State */
412
+ .empty-state {
413
+ display: flex;
414
+ flex-direction: column;
415
+ align-items: center;
416
+ justify-content: center;
417
+ min-height: 400px;
418
+ text-align: center;
419
+ padding: 2rem;
420
+ }
421
+
422
+ .empty-state-icon {
423
+ width: 80px;
424
+ height: 80px;
425
+ background: var(--musea-bg-secondary);
426
+ border-radius: var(--musea-radius-lg);
427
+ display: flex;
428
+ align-items: center;
429
+ justify-content: center;
430
+ margin-bottom: 1.5rem;
431
+ }
432
+
433
+ .empty-state-icon svg {
434
+ width: 40px;
435
+ height: 40px;
436
+ color: var(--musea-text-muted);
437
+ }
438
+
439
+ .empty-state-title {
440
+ font-size: 1.125rem;
441
+ font-weight: 600;
442
+ margin-bottom: 0.5rem;
443
+ }
444
+
445
+ .empty-state-text {
446
+ color: var(--musea-text-muted);
447
+ font-size: 0.875rem;
448
+ max-width: 300px;
449
+ }
450
+
451
+ /* Loading */
452
+ .loading {
453
+ display: flex;
454
+ align-items: center;
455
+ justify-content: center;
456
+ min-height: 200px;
457
+ color: var(--musea-text-muted);
458
+ gap: 0.75rem;
459
+ }
460
+
461
+ .loading-spinner {
462
+ width: 20px;
463
+ height: 20px;
464
+ border: 2px solid var(--musea-border);
465
+ border-top-color: var(--musea-accent);
466
+ border-radius: 50%;
467
+ animation: spin 0.8s linear infinite;
468
+ }
469
+
470
+ @keyframes spin {
471
+ to { transform: rotate(360deg); }
472
+ }
473
+
474
+ /* Responsive */
475
+ @media (max-width: 768px) {
476
+ .main {
477
+ grid-template-columns: 1fr;
478
+ }
479
+ .sidebar {
480
+ display: none;
481
+ }
482
+ .header-subtitle {
483
+ display: none;
484
+ }
485
+ }
486
+
487
+
488
+ /*# sourceMappingURL=index.css.map*/
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.css","names":[],"sources":["src/gallery/styles-base.css","src/gallery/styles-layout.css","src/gallery/styles-components.css"],"sourcesContent":[":root {\n --musea-bg-primary: #E6E2D6;\n --musea-bg-secondary: #ddd9cd;\n --musea-bg-tertiary: #d4d0c4;\n --musea-bg-elevated: #E6E2D6;\n --musea-accent: #121212;\n --musea-accent-hover: #2a2a2a;\n --musea-accent-subtle: rgba(18, 18, 18, 0.08);\n --musea-text: #121212;\n --musea-text-secondary: #3a3a3a;\n --musea-text-muted: #6b6b6b;\n --musea-border: #c8c4b8;\n --musea-border-subtle: #d4d0c4;\n --musea-success: #16a34a;\n --musea-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);\n --musea-radius-sm: 4px;\n --musea-radius-md: 6px;\n --musea-radius-lg: 8px;\n --musea-transition: 0.15s ease;\n}\n\n* { box-sizing: border-box; margin: 0; padding: 0; }\n\nbody {\n font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n background: var(--musea-bg-primary);\n color: var(--musea-text);\n min-height: 100vh;\n line-height: 1.5;\n -webkit-font-smoothing: antialiased;\n}\n","/* Header */\n.header {\n background: var(--musea-bg-secondary);\n border-bottom: 1px solid var(--musea-border);\n padding: 0 1.5rem;\n height: 56px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: sticky;\n top: 0;\n z-index: 100;\n}\n\n.header-left {\n display: flex;\n align-items: center;\n gap: 1.5rem;\n}\n\n.logo {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-size: 1.125rem;\n font-weight: 700;\n color: var(--musea-accent);\n text-decoration: none;\n}\n\n.logo-svg {\n width: 32px;\n height: 32px;\n flex-shrink: 0;\n}\n\n.logo-icon svg {\n width: 16px;\n height: 16px;\n color: var(--musea-text);\n}\n\n.header-subtitle {\n color: var(--musea-text-muted);\n font-size: 0.8125rem;\n font-weight: 500;\n padding-left: 1.5rem;\n border-left: 1px solid var(--musea-border);\n}\n\n.search-container {\n position: relative;\n width: 280px;\n}\n\n.search-input {\n width: 100%;\n background: var(--musea-bg-tertiary);\n border: 1px solid var(--musea-border);\n border-radius: var(--musea-radius-md);\n padding: 0.5rem 0.75rem 0.5rem 2.25rem;\n color: var(--musea-text);\n font-size: 0.8125rem;\n outline: none;\n transition: border-color var(--musea-transition), background var(--musea-transition);\n}\n\n.search-input::placeholder {\n color: var(--musea-text-muted);\n}\n\n.search-input:focus {\n border-color: var(--musea-accent);\n background: var(--musea-bg-elevated);\n}\n\n.search-icon {\n position: absolute;\n left: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n color: var(--musea-text-muted);\n pointer-events: none;\n}\n\n/* Layout */\n.main {\n display: grid;\n grid-template-columns: 260px 1fr;\n min-height: calc(100vh - 56px);\n}\n\n/* Sidebar */\n.sidebar {\n background: var(--musea-bg-secondary);\n border-right: 1px solid var(--musea-border);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.sidebar::-webkit-scrollbar {\n width: 6px;\n}\n\n.sidebar::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.sidebar::-webkit-scrollbar-thumb {\n background: var(--musea-border);\n border-radius: 3px;\n}\n\n.sidebar-section {\n padding: 0.75rem;\n}\n\n.category-header {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.625rem 0.75rem;\n font-size: 0.6875rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--musea-text-muted);\n cursor: pointer;\n user-select: none;\n border-radius: var(--musea-radius-sm);\n transition: background var(--musea-transition);\n}\n\n.category-header:hover {\n background: var(--musea-bg-tertiary);\n}\n\n.category-icon {\n width: 16px;\n height: 16px;\n transition: transform var(--musea-transition);\n}\n\n.category-header.collapsed .category-icon {\n transform: rotate(-90deg);\n}\n\n.category-count {\n margin-left: auto;\n background: var(--musea-bg-tertiary);\n padding: 0.125rem 0.375rem;\n border-radius: 4px;\n font-size: 0.625rem;\n}\n\n.art-list {\n list-style: none;\n margin-top: 0.25rem;\n}\n\n.art-item {\n display: flex;\n align-items: center;\n gap: 0.625rem;\n padding: 0.5rem 0.75rem 0.5rem 1.75rem;\n border-radius: var(--musea-radius-sm);\n cursor: pointer;\n font-size: 0.8125rem;\n color: var(--musea-text-secondary);\n transition: all var(--musea-transition);\n position: relative;\n}\n\n.art-item::before {\n content: '';\n position: absolute;\n left: 0.75rem;\n top: 50%;\n transform: translateY(-50%);\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--musea-border);\n transition: background var(--musea-transition);\n}\n\n.art-item:hover {\n background: var(--musea-bg-tertiary);\n color: var(--musea-text);\n}\n\n.art-item:hover::before {\n background: var(--musea-text-muted);\n}\n\n.art-item.active {\n background: var(--musea-accent-subtle);\n color: var(--musea-accent-hover);\n}\n\n.art-item.active::before {\n background: var(--musea-accent);\n}\n\n.art-variant-count {\n margin-left: auto;\n font-size: 0.6875rem;\n color: var(--musea-text-muted);\n opacity: 0;\n transition: opacity var(--musea-transition);\n}\n\n.art-item:hover .art-variant-count {\n opacity: 1;\n}\n\n/* Content */\n.content {\n background: var(--musea-bg-primary);\n overflow-y: auto;\n}\n\n.content-inner {\n max-width: 1400px;\n margin: 0 auto;\n padding: 2rem;\n}\n\n.content-header {\n margin-bottom: 2rem;\n}\n\n.content-title {\n font-size: 1.5rem;\n font-weight: 700;\n margin-bottom: 0.5rem;\n}\n\n.content-description {\n color: var(--musea-text-muted);\n font-size: 0.9375rem;\n max-width: 600px;\n}\n\n.content-meta {\n display: flex;\n align-items: center;\n gap: 1rem;\n margin-top: 1rem;\n}\n\n.meta-tag {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.25rem 0.625rem;\n background: var(--musea-bg-secondary);\n border: 1px solid var(--musea-border);\n border-radius: var(--musea-radius-sm);\n font-size: 0.75rem;\n color: var(--musea-text-muted);\n}\n\n.meta-tag svg {\n width: 12px;\n height: 12px;\n}\n","/* Gallery Grid */\n.gallery {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n gap: 1.25rem;\n}\n\n/* Variant Card */\n.variant-card {\n background: var(--musea-bg-secondary);\n border: 1px solid var(--musea-border);\n border-radius: var(--musea-radius-lg);\n overflow: hidden;\n transition: all var(--musea-transition);\n}\n\n.variant-card:hover {\n border-color: var(--musea-text-muted);\n box-shadow: var(--musea-shadow);\n transform: translateY(-2px);\n}\n\n.variant-preview {\n aspect-ratio: 16 / 10;\n background: var(--musea-bg-tertiary);\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n overflow: hidden;\n}\n\n.variant-preview iframe {\n width: 100%;\n height: 100%;\n border: none;\n background: white;\n}\n\n.variant-preview-placeholder {\n color: var(--musea-text-muted);\n font-size: 0.8125rem;\n text-align: center;\n padding: 1rem;\n}\n\n.variant-preview-code {\n font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;\n font-size: 0.75rem;\n color: var(--musea-text-muted);\n background: var(--musea-bg-primary);\n padding: 1rem;\n overflow: auto;\n max-height: 100%;\n width: 100%;\n}\n\n.variant-info {\n padding: 1rem;\n border-top: 1px solid var(--musea-border);\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.variant-name {\n font-weight: 600;\n font-size: 0.875rem;\n}\n\n.variant-badge {\n font-size: 0.625rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n padding: 0.1875rem 0.5rem;\n border-radius: 4px;\n background: var(--musea-accent-subtle);\n color: var(--musea-accent);\n}\n\n.variant-actions {\n display: flex;\n gap: 0.5rem;\n}\n\n.variant-action-btn {\n width: 28px;\n height: 28px;\n border: none;\n background: var(--musea-bg-tertiary);\n border-radius: var(--musea-radius-sm);\n color: var(--musea-text-muted);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all var(--musea-transition);\n}\n\n.variant-action-btn:hover {\n background: var(--musea-bg-elevated);\n color: var(--musea-text);\n}\n\n.variant-action-btn svg {\n width: 14px;\n height: 14px;\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 400px;\n text-align: center;\n padding: 2rem;\n}\n\n.empty-state-icon {\n width: 80px;\n height: 80px;\n background: var(--musea-bg-secondary);\n border-radius: var(--musea-radius-lg);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 1.5rem;\n}\n\n.empty-state-icon svg {\n width: 40px;\n height: 40px;\n color: var(--musea-text-muted);\n}\n\n.empty-state-title {\n font-size: 1.125rem;\n font-weight: 600;\n margin-bottom: 0.5rem;\n}\n\n.empty-state-text {\n color: var(--musea-text-muted);\n font-size: 0.875rem;\n max-width: 300px;\n}\n\n/* Loading */\n.loading {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 200px;\n color: var(--musea-text-muted);\n gap: 0.75rem;\n}\n\n.loading-spinner {\n width: 20px;\n height: 20px;\n border: 2px solid var(--musea-border);\n border-top-color: var(--musea-accent);\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n}\n\n@keyframes spin {\n to { transform: rotate(360deg); }\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n .main {\n grid-template-columns: 1fr;\n }\n .sidebar {\n display: none;\n }\n .header-subtitle {\n display: none;\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AC1QA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}