pptx-vanilla-viewer 3.42.1 → 3.44.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.
package/dist/styles.css CHANGED
@@ -1,28 +1,29 @@
1
- :where(:root) {
2
- --pptx-background: #030712;
3
- --pptx-foreground: #f3f4f6;
4
- --pptx-card: #111827;
5
- --pptx-card-foreground: #f3f4f6;
6
- --pptx-popover: #111827;
7
- --pptx-popover-foreground: #f3f4f6;
8
- --pptx-primary: #6366f1;
9
- --pptx-primary-foreground: #ffffff;
10
- --pptx-secondary: #1f2937;
11
- --pptx-secondary-foreground: #f3f4f6;
12
- --pptx-muted: #1f2937;
13
- --pptx-muted-foreground: #9ca3af;
14
- --pptx-accent: #1f2937;
15
- --pptx-accent-foreground: #f3f4f6;
16
- --pptx-destructive: #ef4444;
17
- --pptx-destructive-foreground: #ffffff;
18
- --pptx-border: #374151;
19
- --pptx-input: #374151;
20
- --pptx-ring: #6366f1;
21
- --pptx-inspector-active: #6366f1;
22
- --pptx-inspector-border: #374151;
23
- --pptx-radius: 0.5rem;
24
- }
25
-
1
+ /* ooxml-pptx-office-theme */
2
+ .pptxv, .pptxv-inspector {
3
+ --_pptx-background: var(--pptx-background, var(--office-background, #ffffff));
4
+ --_pptx-foreground: var(--pptx-foreground, var(--office-foreground, #1f2937));
5
+ --_pptx-card: var(--pptx-card, var(--office-surface, #f3f4f6));
6
+ --_pptx-card-foreground: var(--pptx-card-foreground, var(--office-foreground, #1f2937));
7
+ --_pptx-popover: var(--pptx-popover, var(--office-popover, var(--office-background, #ffffff)));
8
+ --_pptx-popover-foreground: var(--pptx-popover-foreground, var(--office-popover-foreground, var(--office-foreground, #1f2937)));
9
+ --_pptx-primary: var(--pptx-primary, var(--office-accent, #2563eb));
10
+ --_pptx-primary-foreground: var(--pptx-primary-foreground, var(--office-accent-foreground, #ffffff));
11
+ --_pptx-secondary: var(--pptx-secondary, var(--office-surface, #f3f4f6));
12
+ --_pptx-secondary-foreground: var(--pptx-secondary-foreground, var(--office-foreground, #1f2937));
13
+ --_pptx-muted: var(--pptx-muted, var(--office-surface, #f3f4f6));
14
+ --_pptx-muted-foreground: var(--pptx-muted-foreground, var(--office-muted-foreground, #6b7280));
15
+ --_pptx-accent: var(--pptx-accent, var(--office-selected, #e5e7eb));
16
+ --_pptx-accent-foreground: var(--pptx-accent-foreground, var(--office-foreground, #1f2937));
17
+ --_pptx-destructive: var(--pptx-destructive, var(--office-danger, #b91c1c));
18
+ --_pptx-destructive-foreground: var(--pptx-destructive-foreground, var(--office-danger-foreground, #ffffff));
19
+ --_pptx-border: var(--pptx-border, var(--office-border, #d1d5db));
20
+ --_pptx-input: var(--pptx-input, var(--office-border, #d1d5db));
21
+ --_pptx-ring: var(--pptx-ring, var(--office-ring, #2563eb));
22
+ --_pptx-radius: var(--pptx-radius, var(--office-radius, 4px));
23
+ --_pptx-font: var(--pptx-font, var(--office-font, system-ui, -apple-system, "Segoe UI", sans-serif));
24
+ }
25
+
26
+ .pptxv-inspector { font-family: var(--_pptx-font, var(--office-font, system-ui, sans-serif)); }
26
27
  /* ── Inspector baseline for bare form markup ─────────────────────────── */
27
28
  .pptxv-inspector :where(input:not([type='checkbox']):not([type='radio']):not([type='color']):not([type='range']):not([type='file']):not([type='button']):not([type='submit']):not([type='reset']):not([type='hidden']), textarea) {
28
29
  box-sizing: border-box;
@@ -30,10 +31,10 @@
30
31
  height: 26px;
31
32
  margin: 0;
32
33
  padding: 2px 6px;
33
- border: 1px solid var(--pptx-border);
34
- border-radius: var(--pptx-radius);
35
- background: var(--pptx-background);
36
- color: var(--pptx-foreground);
34
+ border: 1px solid var(--_pptx-border);
35
+ border-radius: var(--_pptx-radius);
36
+ background: var(--_pptx-background);
37
+ color: var(--_pptx-foreground);
37
38
  font: inherit;
38
39
  font-size: 12px;
39
40
  }
@@ -44,7 +45,7 @@
44
45
  min-height: 52px;
45
46
  resize: vertical;
46
47
  }
47
- .pptxv-inspector :where(input, textarea)::placeholder { color: var(--pptx-muted-foreground); opacity: 1; }
48
+ .pptxv-inspector :where(input, textarea)::placeholder { color: var(--_pptx-muted-foreground); opacity: 1; }
48
49
  .pptxv-inspector :where(input, textarea):disabled { opacity: 0.5; }
49
50
  .pptxv-inspector :where(input[type='color']) {
50
51
  box-sizing: border-box;
@@ -53,7 +54,7 @@
53
54
  height: 20px;
54
55
  margin: 0;
55
56
  padding: 0;
56
- border: 1px solid var(--pptx-border);
57
+ border: 1px solid var(--_pptx-border);
57
58
  border-radius: 4px;
58
59
  background: none;
59
60
  cursor: pointer;
@@ -67,7 +68,7 @@
67
68
  .pptxv-inspector :where(legend) {
68
69
  margin-bottom: 4px;
69
70
  padding: 0;
70
- color: var(--pptx-foreground);
71
+ color: var(--_pptx-foreground);
71
72
  font-size: 11px;
72
73
  font-weight: 600;
73
74
  }
@@ -84,7 +85,7 @@
84
85
  gap: 4px 8px;
85
86
  min-width: 0;
86
87
  margin-bottom: 6px;
87
- color: var(--pptx-muted-foreground);
88
+ color: var(--_pptx-muted-foreground);
88
89
  font-size: 11px;
89
90
  }
90
91
  /* A field toggled off with the hidden attribute must stay off: the flex
@@ -111,16 +112,16 @@
111
112
  .pptxv-inspector :where(.pptxv-chart-advanced, .pptxv-chart-exhaustive, .pptxv-chart-subtype, .pptxv-chart-filters, .pptxv-chart-usershapes) {
112
113
  margin-top: 8px;
113
114
  padding-top: 8px;
114
- border-top: 1px solid var(--pptx-border);
115
+ border-top: 1px solid var(--_pptx-border);
115
116
  }
116
117
  .pptxv-inspector :where(.pptxv-chart-advanced, .pptxv-chart-exhaustive, .pptxv-chart-subtype, .pptxv-chart-filters, .pptxv-chart-usershapes)[hidden] { display: none; }
117
118
  .pptxv-inspector :where(.pptxv-chart-advanced, .pptxv-chart-exhaustive, .pptxv-chart-filters, .pptxv-chart-usershapes) :where(button:not([class]), .pptxv-chart-clear-series-color) {
118
119
  min-height: 24px;
119
120
  padding: 2px 8px;
120
- border: 1px solid var(--pptx-border);
121
- border-radius: var(--pptx-radius);
122
- background: var(--pptx-secondary);
123
- color: var(--pptx-secondary-foreground);
121
+ border: 1px solid var(--_pptx-border);
122
+ border-radius: var(--_pptx-radius);
123
+ background: var(--_pptx-secondary);
124
+ color: var(--_pptx-secondary-foreground);
124
125
  font: inherit;
125
126
  font-size: 11px;
126
127
  cursor: pointer;
@@ -137,9 +138,9 @@
137
138
  height: 100%;
138
139
  min-height: 0;
139
140
  overflow: hidden;
140
- background: var(--pptx-background);
141
- color: var(--pptx-foreground);
142
- font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
141
+ background: var(--_pptx-background);
142
+ color: var(--_pptx-foreground);
143
+ font-family: var(--_pptx-font, system-ui, sans-serif);
143
144
  font-size: 14px;
144
145
  /* Text autosizing: the viewer scales the whole slide as one unit, so a
145
146
  * mobile browser must not inflate the glyphs alone (it changes wrapping
@@ -152,8 +153,8 @@
152
153
  }
153
154
  .pptxv *, .pptxv *::before, .pptxv *::after { box-sizing: border-box; }
154
155
  .pptxv:focus { outline: none; }
155
- .pptxv:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -2px; }
156
- .pptxv :is(button, a, input, select, textarea, [tabindex]):not([data-pptx-search-input]):focus-visible { outline: 2px solid var(--pptx-ring) !important; outline-offset: 2px; }
156
+ .pptxv:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -2px; }
157
+ .pptxv :is(button, a, input, select, textarea, [tabindex]):not([data-pptx-search-input]):focus-visible { outline: 2px solid var(--_pptx-ring) !important; outline-offset: 2px; }
157
158
  .pptxv :is(button, [role='button']):not([role='switch']):not([data-pptx-compact]):not([data-pptx-backstage-nav-item]) { min-width: 24px; min-height: 24px; touch-action: manipulation; }
158
159
  @media (prefers-reduced-motion: reduce) {
159
160
  .pptxv *, .pptxv *::before, .pptxv *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
@@ -174,7 +175,7 @@
174
175
  height: 28px;
175
176
  padding: 0;
176
177
  border: none;
177
- border-radius: var(--pptx-radius);
178
+ border-radius: var(--_pptx-radius);
178
179
  background: transparent;
179
180
  color: inherit;
180
181
  cursor: pointer;
@@ -205,14 +206,14 @@
205
206
  flex: none;
206
207
  white-space: nowrap;
207
208
  }
208
- .pptxv-btn:hover:not(:disabled) { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
209
+ .pptxv-btn:hover:not(:disabled) { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
209
210
  .pptxv-btn:disabled { opacity: 0.4; cursor: default; }
210
- .pptxv-btn.is-active { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
211
- .pptxv-btn:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: 1px; }
211
+ .pptxv-btn.is-active { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
212
+ .pptxv-btn:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: 1px; }
212
213
  .pptxv-btn svg { width: 16px; height: 16px; display: block; }
213
214
  .pptxv-counter, .pptxv-zoom-label {
214
215
  padding: 0 8px;
215
- color: var(--pptx-muted-foreground);
216
+ color: var(--_pptx-muted-foreground);
216
217
  white-space: nowrap;
217
218
  font-variant-numeric: tabular-nums;
218
219
  }
@@ -220,9 +221,9 @@
220
221
  padding: 0 6px;
221
222
  font-size: 12px;
222
223
  white-space: nowrap;
223
- color: var(--pptx-muted-foreground);
224
+ color: var(--_pptx-muted-foreground);
224
225
  }
225
- .pptxv-autosave-status.is-saving { color: var(--pptx-accent-foreground); opacity: 0.8; }
226
+ .pptxv-autosave-status.is-saving { color: var(--_pptx-accent-foreground); opacity: 0.8; }
226
227
  .pptxv-autosave-status.is-error { color: #dc2626; }
227
228
 
228
229
  /* Crash-recovery prompt (`autosave/autosave-recovery-dialog`). It reuses the
@@ -231,15 +232,15 @@
231
232
  .pptxv-autosave-recovery .pptxv-parity-dialog { width: min(420px, calc(100vw - 32px)); }
232
233
  .pptxv-autosave-recovery .pptxv-parity-footer { flex-wrap: wrap; }
233
234
  .pptxv-autosave-recovery-message { margin: 0; overflow-wrap: anywhere; line-height: 1.45; }
234
- .pptxv-autosave-recovery-age { margin: 0; color: var(--pptx-muted-foreground); font-size: 11px; }
235
+ .pptxv-autosave-recovery-age { margin: 0; color: var(--_pptx-muted-foreground); font-size: 11px; }
235
236
 
236
- /* ── PowerPoint-style title bar ───────────────────────────────────────
237
+ /* ── PowerPoint-style title bar ───────────────────────────────────────
237
238
  The shared pptx-ui-title-bar owns its own layout, metrics and responsive rules;
238
239
  only host-owned slotted parts (the AI toggle) are styled here. */
239
240
  .pptxv-titlebar, .pptxv-qat-strip { display: block; }
240
241
  .pptxv-titlebar-btn { width: 24px; height: 24px; }
241
- .pptxv-titlebar-btn:hover:not(:disabled) { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
242
- .pptxv-titlebar-btn:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: 1px; }
242
+ .pptxv-titlebar-btn:hover:not(:disabled) { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
243
+ .pptxv-titlebar-btn:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: 1px; }
243
244
  @media (max-width: 767px), (max-width: 1023px) and (max-height: 520px) { .pptxv-qat-row { display: none; } }
244
245
 
245
246
  /* Quick Access Toolbar docked below the Ribbon (Options > Quick Access
@@ -272,15 +273,18 @@
272
273
  cursor: pointer;
273
274
  }
274
275
  .pptxv-protected-view-enable:hover { background: #fde68a; }
276
+ /* The bar stays in the DOM and toggles "hidden", which its "display: flex" would
277
+ override on a host page without a preflight reset. */
278
+ .pptxv-protected-view[hidden] { display: none; }
275
279
 
276
- /* ── Body: thumbnail rail + viewport ─────────────────────────────────── */
280
+ /* ── Body: thumbnail rail + viewport ─────────────────────────────────── */
277
281
  .pptxv-body { display: flex; flex: 1; min-height: 0; }
278
282
  .pptxv-thumbs {
279
283
  flex: none;
280
284
  width: 168px;
281
285
  min-height: 0;
282
- border-right: 1px solid var(--pptx-border);
283
- background: var(--pptx-card);
286
+ border-right: 1px solid var(--_pptx-border);
287
+ background: var(--_pptx-card);
284
288
  display: flex;
285
289
  flex-direction: column;
286
290
  }
@@ -304,7 +308,7 @@
304
308
  .pptxv-thumbs-footer {
305
309
  flex: none;
306
310
  padding: 6px 8px;
307
- border-top: 1px solid var(--pptx-border);
311
+ border-top: 1px solid var(--_pptx-border);
308
312
  }
309
313
  .pptxv-thumbs-footer[hidden] { display: none; }
310
314
  .pptxv-thumbs-add {
@@ -317,11 +321,11 @@
317
321
  border: 0;
318
322
  border-radius: 4px;
319
323
  background: transparent;
320
- color: var(--pptx-muted-foreground);
324
+ color: var(--_pptx-muted-foreground);
321
325
  font-size: 11px;
322
326
  cursor: pointer;
323
327
  }
324
- .pptxv-thumbs-add:hover { background: var(--pptx-accent); color: var(--pptx-foreground); }
328
+ .pptxv-thumbs-add:hover { background: var(--_pptx-accent); color: var(--_pptx-foreground); }
325
329
  .pptxv-thumbs-add svg { width: 12px; height: 12px; }
326
330
  .pptxv-thumb {
327
331
  display: flex;
@@ -338,20 +342,20 @@
338
342
  flex: none;
339
343
  width: 16px;
340
344
  font-size: 11px;
341
- color: var(--pptx-muted-foreground);
345
+ color: var(--_pptx-muted-foreground);
342
346
  line-height: 1.4;
343
347
  }
344
348
  .pptxv-thumb-frame {
345
349
  position: relative;
346
350
  overflow: hidden;
347
- border: 2px solid var(--pptx-border);
348
- border-radius: var(--pptx-radius);
351
+ border: 2px solid var(--_pptx-border);
352
+ border-radius: var(--_pptx-radius);
349
353
  background: #fff;
350
354
  }
351
- .pptxv-thumb.is-active .pptxv-thumb-frame { border-color: var(--pptx-primary); }
352
- .pptxv-thumb.is-selected { background: color-mix(in srgb, var(--pptx-primary) 12%, transparent); }
353
- .pptxv-thumb.is-selected .pptxv-thumb-frame { border-color: color-mix(in srgb, var(--pptx-primary) 50%, transparent); }
354
- .pptxv-thumb:focus-visible .pptxv-thumb-frame { outline: 2px solid var(--pptx-ring); }
355
+ .pptxv-thumb.is-active .pptxv-thumb-frame { border-color: var(--_pptx-primary); }
356
+ .pptxv-thumb.is-selected { background: color-mix(in srgb, var(--_pptx-primary) 12%, transparent); }
357
+ .pptxv-thumb.is-selected .pptxv-thumb-frame { border-color: color-mix(in srgb, var(--_pptx-primary) 50%, transparent); }
358
+ .pptxv-thumb:focus-visible .pptxv-thumb-frame { outline: 2px solid var(--_pptx-ring); }
355
359
  /* Hidden slide (PowerPoint's Hide Slide): dim the preview and strike the slide
356
360
  number with the shared diagonal slash. The slash carries the meaning on its
357
361
  own, because dimming is a colour signal and a dark thumbnail looks dim too. */
@@ -363,7 +367,7 @@
363
367
  bottom: 2px;
364
368
  z-index: 10;
365
369
  display: inline-flex;
366
- color: var(--pptx-muted-foreground);
370
+ color: var(--_pptx-muted-foreground);
367
371
  }
368
372
  .pptxv-thumb-hidden svg { width: 12px; height: 12px; }
369
373
  .pptxv-sr-only {
@@ -384,7 +388,7 @@
384
388
  flex: 1;
385
389
  border: 0;
386
390
  background: transparent;
387
- color: var(--pptx-foreground);
391
+ color: var(--_pptx-foreground);
388
392
  font-size: 11px;
389
393
  font-weight: 600;
390
394
  text-align: left;
@@ -396,15 +400,15 @@
396
400
  min-width: 0;
397
401
  flex: 1;
398
402
  padding: 0 4px;
399
- border: 1px solid var(--pptx-primary, #3b82f6);
403
+ border: 1px solid var(--_pptx-primary, #3b82f6);
400
404
  border-radius: 3px;
401
- background: var(--pptx-card);
402
- color: var(--pptx-card-foreground);
405
+ background: var(--_pptx-card);
406
+ color: var(--_pptx-card-foreground);
403
407
  font: inherit;
404
408
  }
405
409
  .pptxv-thumb-section-slides { display: flex; flex-direction: column; gap: 8px; }
406
410
 
407
- /* ── Viewport / stage ────────────────────────────────────────────────── */
411
+ /* ── Viewport / stage ────────────────────────────────────────────────── */
408
412
  .pptxv-viewport {
409
413
  flex: 1;
410
414
  min-width: 0;
@@ -418,7 +422,7 @@
418
422
  */
419
423
  place-items: center center;
420
424
  padding: 16px;
421
- background: var(--pptx-muted);
425
+ background: var(--_pptx-muted);
422
426
  }
423
427
  .pptxv-stage-wrap {
424
428
  position: relative;
@@ -443,7 +447,7 @@
443
447
  .pptxv-stage-wrap[data-draw-tool="eraser"] { cursor: cell; }
444
448
  .pptxv-para { margin: 0; }
445
449
 
446
- /* ── Selection overlay (editing) ─────────────────────────────────────── */
450
+ /* ── Selection overlay (editing) ─────────────────────────────────────── */
447
451
  /* Every slide element carries an explicit numeric z-index (index-based, see
448
452
  element-styles.ts), so on a slide with more than 5 elements this host used
449
453
  to paint BEHIND later ones, hiding the selected element's own resize/rotate
@@ -460,7 +464,7 @@
460
464
  .pptxv-sel-box {
461
465
  position: absolute;
462
466
  box-sizing: border-box;
463
- border: 1px solid var(--pptx-ring);
467
+ border: 1px solid var(--_pptx-ring);
464
468
  pointer-events: none;
465
469
  transform-origin: center;
466
470
  }
@@ -469,7 +473,7 @@
469
473
  .pptxv-group-frame {
470
474
  position: absolute;
471
475
  box-sizing: border-box;
472
- border: 1px dashed var(--pptx-ring);
476
+ border: 1px dashed var(--_pptx-ring);
473
477
  opacity: 0.7;
474
478
  pointer-events: none;
475
479
  }
@@ -529,7 +533,7 @@
529
533
  left: 50%;
530
534
  width: 1px;
531
535
  margin-left: -0.5px;
532
- background: var(--pptx-ring);
536
+ background: var(--_pptx-ring);
533
537
  pointer-events: none;
534
538
  }
535
539
  .pptxv-rotate-knob {
@@ -665,8 +669,8 @@
665
669
  min-width: 11rem;
666
670
  padding: 0.5rem;
667
671
  border-radius: 6px;
668
- border: 1px solid var(--pptx-border, #444);
669
- background: var(--pptx-muted, #2a2a3d);
672
+ border: 1px solid var(--_pptx-border, #444);
673
+ background: var(--_pptx-muted, #2a2a3d);
670
674
  box-shadow: 0 4px 16px rgb(0 0 0 / 0.35);
671
675
  }
672
676
  .pptxv-chart-quick-card h5 {
@@ -697,13 +701,13 @@
697
701
  .pptxv-chart-quick-swatch {
698
702
  border-radius: 4px;
699
703
  overflow: hidden;
700
- border: 1px solid var(--pptx-border, #444);
704
+ border: 1px solid var(--_pptx-border, #444);
701
705
  padding: 0;
702
706
  cursor: pointer;
703
707
  }
704
708
  .pptxv-chart-quick-swatch.is-applied {
705
- border-color: var(--pptx-primary, #6a8dff);
706
- box-shadow: 0 0 0 1px var(--pptx-primary, #6a8dff);
709
+ border-color: var(--_pptx-primary, #6a8dff);
710
+ box-shadow: 0 0 0 1px var(--_pptx-primary, #6a8dff);
707
711
  }
708
712
  .pptxv-chart-quick-swatch .swatch-row {
709
713
  display: flex;
@@ -713,18 +717,18 @@
713
717
  .pptxv-chart-quick-swatch .swatch-row > span {
714
718
  flex: 1 1 auto;
715
719
  }
716
- .pptxv-snap-line { position: absolute; background: var(--pptx-destructive); }
720
+ .pptxv-snap-line { position: absolute; background: var(--_pptx-destructive); }
717
721
  .pptxv-snap-v { top: 0; bottom: 0; width: 1px; }
718
722
  .pptxv-snap-h { left: 0; right: 0; height: 1px; }
719
723
 
720
- /* ── Speaker notes panel ─────────────────────────────────────────────── */
724
+ /* ── Speaker notes panel ─────────────────────────────────────────────── */
721
725
  .pptxv-notes {
722
726
  display: flex;
723
727
  flex-direction: column;
724
728
  flex: none;
725
- border-top: 1px solid var(--pptx-border);
726
- background: var(--pptx-card);
727
- color: var(--pptx-card-foreground);
729
+ border-top: 1px solid var(--_pptx-border);
730
+ background: var(--_pptx-card);
731
+ color: var(--_pptx-card-foreground);
728
732
  }
729
733
  .pptxv-notes-header {
730
734
  display: flex;
@@ -734,24 +738,24 @@
734
738
  padding: 6px 10px;
735
739
  border: none;
736
740
  background: transparent;
737
- color: var(--pptx-muted-foreground);
741
+ color: var(--_pptx-muted-foreground);
738
742
  font-size: 0.8125rem;
739
743
  font-weight: 600;
740
744
  text-align: left;
741
745
  cursor: pointer;
742
746
  }
743
- .pptxv-notes-header:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
744
- .pptxv-notes-header:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -2px; }
747
+ .pptxv-notes-header:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
748
+ .pptxv-notes-header:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -2px; }
745
749
  .pptxv-notes-chevron { font-size: 0.75rem; }
746
750
  .pptxv-notes-body { padding: 0 10px 10px; }
747
751
  .pptxv-notes-body[hidden] { display: none; }
748
752
  .pptxv-notes-toolbar { margin: 0 0 6px; } /* the row itself is the shared pptx-ui-notes-toolbar */
749
753
  .pptxv-notes-rich-editor {
750
754
  box-sizing: border-box; width: 100%; min-height: 76px; max-height: 192px; overflow-y: auto;
751
- border: 1px solid var(--pptx-border); border-radius: 4px; background: var(--pptx-muted);
752
- color: var(--pptx-foreground); padding: 7px 9px; font-size: 0.75rem; line-height: 1.4; white-space: pre-wrap;
755
+ border: 1px solid var(--_pptx-border); border-radius: 4px; background: var(--_pptx-muted);
756
+ color: var(--_pptx-foreground); padding: 7px 9px; font-size: 0.75rem; line-height: 1.4; white-space: pre-wrap;
753
757
  }
754
- .pptxv-notes-rich-editor:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -1px; }
758
+ .pptxv-notes-rich-editor:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -1px; }
755
759
  .pptxv-notes-rich-editor[contenteditable='false'] { cursor: default; opacity: 0.85; }
756
760
  .pptxv-notes-textarea {
757
761
  box-sizing: border-box;
@@ -759,16 +763,16 @@
759
763
  min-height: 80px;
760
764
  max-height: 200px;
761
765
  padding: 8px;
762
- border: 1px solid var(--pptx-border);
763
- border-radius: var(--pptx-radius);
764
- background: var(--pptx-muted);
765
- color: var(--pptx-foreground);
766
+ border: 1px solid var(--_pptx-border);
767
+ border-radius: var(--_pptx-radius);
768
+ background: var(--_pptx-muted);
769
+ color: var(--_pptx-foreground);
766
770
  font: inherit;
767
771
  font-size: 0.8125rem;
768
772
  line-height: 1.5;
769
773
  resize: vertical;
770
774
  }
771
- .pptxv-notes-textarea:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -1px; }
775
+ .pptxv-notes-textarea:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -1px; }
772
776
  .pptxv-notes-textarea:disabled,
773
777
  .pptxv-notes-textarea:read-only { cursor: default; opacity: 0.85; }
774
778
  .pptxv.pptxv-presenting .pptxv-notes { display: none; }
@@ -779,7 +783,7 @@
779
783
  .pptxv-notes[data-collapsed='true'] { display: none; }
780
784
  }
781
785
 
782
- /* ── Bottom status bar ──────────────────────────────────────────────── */
786
+ /* ── Bottom status bar ──────────────────────────────────────────────── */
783
787
  /* The row itself is the shared pptx-ui-status-bar; only visibility is host-owned. */
784
788
  .pptxv.pptxv-presenting .pptxv-statusbar { display: none; }
785
789
 
@@ -791,24 +795,24 @@
791
795
  .pptxv-viewport { padding: 10px; }
792
796
  }
793
797
 
794
- /* ── Placeholder (element types without a renderer yet) ──────────────── */
798
+ /* ── Placeholder (element types without a renderer yet) ──────────────── */
795
799
  .pptxv-placeholder {
796
800
  display: flex;
797
801
  align-items: center;
798
802
  justify-content: center;
799
- border: 1px dashed var(--pptx-muted-foreground);
803
+ border: 1px dashed var(--_pptx-muted-foreground);
800
804
  border-radius: 4px;
801
805
  background: rgb(127 127 127 / 0.08);
802
806
  }
803
807
  .pptxv-placeholder-label {
804
808
  padding: 2px 8px;
805
809
  font-size: 12px;
806
- color: var(--pptx-muted-foreground);
810
+ color: var(--_pptx-muted-foreground);
807
811
  background: rgb(127 127 127 / 0.12);
808
812
  border-radius: 4px;
809
813
  }
810
814
 
811
- /* ── Media fallback chrome (authoring canvas only, see mediaFallbackVisual) ── */
815
+ /* ── Media fallback chrome (authoring canvas only, see mediaFallbackVisual) ── */
812
816
  .pptxv-media-badge {
813
817
  position: absolute;
814
818
  inset: 0;
@@ -836,28 +840,28 @@
836
840
  .pptxv-media-placeholder {
837
841
  flex-direction: column;
838
842
  gap: 4px;
839
- color: var(--pptx-muted-foreground);
843
+ color: var(--_pptx-muted-foreground);
840
844
  }
841
845
  .pptxv-media-placeholder svg {
842
846
  width: 32px;
843
847
  height: 32px;
844
848
  }
845
849
 
846
- /* ── Overlays ────────────────────────────────────────────────────────── */
850
+ /* ── Overlays ────────────────────────────────────────────────────────── */
847
851
  .pptxv-overlay {
848
852
  position: absolute;
849
853
  inset: 0;
850
854
  display: flex;
851
855
  align-items: center;
852
856
  justify-content: center;
853
- background: color-mix(in srgb, var(--pptx-background) 70%, transparent);
857
+ background: color-mix(in srgb, var(--_pptx-background) 70%, transparent);
854
858
  z-index: 10;
855
859
  }
856
860
  .pptxv-overlay[hidden] { display: none; }
857
- .pptxv-error-message { color: var(--pptx-destructive); padding: 0 24px; text-align: center; }
858
- .pptxv-empty { color: var(--pptx-muted-foreground); }
861
+ .pptxv-error-message { color: var(--_pptx-destructive); padding: 0 24px; text-align: center; }
862
+ .pptxv-empty { color: var(--_pptx-muted-foreground); }
859
863
 
860
- /* ── In-content loading (e.g. a 3D chart scene probing/mounting three.js) ── */
864
+ /* ── In-content loading (e.g. a 3D chart scene probing/mounting three.js) ── */
861
865
  .pptxv-chart3d-loading {
862
866
  width: 100%;
863
867
  height: 100%;
@@ -865,14 +869,14 @@
865
869
  align-items: center;
866
870
  justify-content: center;
867
871
  gap: 8px;
868
- color: var(--pptx-muted-foreground);
872
+ color: var(--_pptx-muted-foreground);
869
873
  font-size: 12px;
870
874
  }
871
875
  .pptxv-spinner {
872
876
  width: 1.25rem;
873
877
  height: 1.25rem;
874
- border: 3px solid var(--pptx-border);
875
- border-top-color: var(--pptx-primary);
878
+ border: 3px solid var(--_pptx-border);
879
+ border-top-color: var(--_pptx-primary);
876
880
  border-radius: 50%;
877
881
  animation: pptxv-spin 0.8s linear infinite;
878
882
  }
@@ -880,7 +884,7 @@
880
884
  to { transform: rotate(360deg); }
881
885
  }
882
886
 
883
- /* ── Presentation (fullscreen) mode ──────────────────────────────────── */
887
+ /* ── Presentation (fullscreen) mode ──────────────────────────────────── */
884
888
  .pptxv.pptxv-presenting .pptxv-ribbon,
885
889
  .pptxv.pptxv-presenting .pptxv-thumbs,
886
890
  .pptxv.pptxv-presenting .pptxv-qat-row,
@@ -896,7 +900,7 @@
896
900
  .pptxv.pptxv-presenting .pptxv-stage-wrap * { user-select: none; }
897
901
 
898
902
 
899
- .pptxv-marquee { position: absolute; z-index: 4; border: 1px solid var(--pptx-primary); background: color-mix(in srgb, var(--pptx-primary) 14%, transparent); pointer-events: none; }
903
+ .pptxv-marquee { position: absolute; z-index: 4; border: 1px solid var(--_pptx-primary); background: color-mix(in srgb, var(--_pptx-primary) 14%, transparent); pointer-events: none; }
900
904
  /* --pptxv-grid-size is set inline on .pptxv-stage from the deck's authored
901
905
  viewProperties.gridSpacing (via computeGridSpacingPx); 10px matches this
902
906
  binding's existing default when the deck has none. */
@@ -920,9 +924,9 @@
920
924
  z-index: 7;
921
925
  width: 20px;
922
926
  height: 20px;
923
- background: var(--pptx-muted, #f1f5f9);
924
- border-right: 1px solid var(--pptx-border, #cbd5e1);
925
- border-bottom: 1px solid var(--pptx-border, #cbd5e1);
927
+ background: var(--_pptx-muted, #f1f5f9);
928
+ border-right: 1px solid var(--_pptx-border, #cbd5e1);
929
+ border-bottom: 1px solid var(--_pptx-border, #cbd5e1);
926
930
  }
927
931
  .pptxv-ruler-corner[hidden] { display: none; }
928
932
  .pptxv-ruler {
@@ -936,11 +940,11 @@
936
940
  .pptxv-ruler-v { top: 0; left: -20px; }
937
941
  .pptxv-ruler-h.is-draggable { cursor: row-resize; }
938
942
  .pptxv-ruler-v.is-draggable { cursor: col-resize; }
939
- .pptxv-ruler-bg { fill: var(--pptx-muted, #f1f5f9); }
940
- .pptxv-ruler-edge { stroke: var(--pptx-border, #cbd5e1); stroke-width: 1; }
941
- .pptxv-ruler-tick { stroke: var(--pptx-muted-foreground, #94a3b8); }
942
- .pptxv-ruler-highlight { fill: var(--pptx-primary, #2563eb); opacity: 0.2; }
943
- .pptxv-ruler-label { fill: var(--pptx-muted-foreground, #94a3b8); font-family: system-ui, sans-serif; }
943
+ .pptxv-ruler-bg { fill: var(--_pptx-muted, #f1f5f9); }
944
+ .pptxv-ruler-edge { stroke: var(--_pptx-border, #cbd5e1); stroke-width: 1; }
945
+ .pptxv-ruler-tick { stroke: var(--_pptx-muted-foreground, #94a3b8); }
946
+ .pptxv-ruler-highlight { fill: var(--_pptx-primary, #2563eb); opacity: 0.2; }
947
+ .pptxv-ruler-label { fill: var(--_pptx-muted-foreground, #94a3b8); font-family: system-ui, sans-serif; }
944
948
  .pptxv-alignment-guide { position: absolute; z-index: 6; pointer-events: none; background: #00a6ff; }
945
949
  .pptxv-alignment-guide.is-h { left: 0; right: 0; height: 1px; }
946
950
  .pptxv-alignment-guide.is-v { top: 0; bottom: 0; width: 1px; }
@@ -955,16 +959,16 @@
955
959
  justify-content: center;
956
960
  width: 28px;
957
961
  height: 28px;
958
- border-radius: var(--pptx-radius);
962
+ border-radius: var(--_pptx-radius);
959
963
  cursor: pointer;
960
964
  }
961
- .pptxv-color:hover { background: var(--pptx-accent); }
965
+ .pptxv-color:hover { background: var(--_pptx-accent); }
962
966
  .pptxv-color.is-disabled { opacity: 0.4; cursor: default; }
963
967
  .pptxv-color-input {
964
968
  width: 20px;
965
969
  height: 20px;
966
970
  padding: 0;
967
- border: 1px solid var(--pptx-border);
971
+ border: 1px solid var(--_pptx-border);
968
972
  border-radius: 4px;
969
973
  background: none;
970
974
  cursor: pointer;
@@ -977,22 +981,22 @@
977
981
  align-items: center;
978
982
  gap: 4px;
979
983
  font-size: 12px;
980
- color: var(--pptx-muted-foreground);
984
+ color: var(--_pptx-muted-foreground);
981
985
  }
982
986
  .pptxv-field-label { white-space: nowrap; }
983
987
  .pptxv-field-input {
984
988
  width: 64px;
985
989
  height: 26px;
986
990
  padding: 2px 6px;
987
- border: 1px solid var(--pptx-border);
988
- border-radius: var(--pptx-radius);
989
- background: var(--pptx-background);
990
- color: var(--pptx-foreground);
991
+ border: 1px solid var(--_pptx-border);
992
+ border-radius: var(--_pptx-radius);
993
+ background: var(--_pptx-background);
994
+ color: var(--_pptx-foreground);
991
995
  font: inherit;
992
996
  font-size: 12px;
993
997
  }
994
998
  .pptxv-field-compact .pptxv-field-input { width: 48px; }
995
- .pptxv-field-input:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -1px; }
999
+ .pptxv-field-input:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -1px; }
996
1000
  .pptxv-field-input:disabled { opacity: 0.5; }
997
1001
 
998
1002
  /* ── Property inspector ──────────────────────────────────────────────── */
@@ -1000,9 +1004,9 @@
1000
1004
  flex: none;
1001
1005
  width: 288px;
1002
1006
  overflow-y: auto;
1003
- border-left: 1px solid var(--pptx-border);
1004
- background: var(--pptx-card);
1005
- color: var(--pptx-card-foreground);
1007
+ border-left: 1px solid var(--_pptx-border);
1008
+ background: var(--_pptx-card);
1009
+ color: var(--_pptx-card-foreground);
1006
1010
  font-size: 12px;
1007
1011
  }
1008
1012
  .pptxv-inspector[hidden] { display: none; }
@@ -1012,7 +1016,7 @@
1012
1016
  align-items: center;
1013
1017
  gap: 2px;
1014
1018
  padding: 6px 8px;
1015
- border-bottom: 1px solid var(--pptx-border);
1019
+ border-bottom: 1px solid var(--_pptx-border);
1016
1020
  }
1017
1021
  .pptxv-inspector-tab {
1018
1022
  display: inline-flex;
@@ -1021,15 +1025,15 @@
1021
1025
  padding: 4px 8px;
1022
1026
  border: none;
1023
1027
  border-radius: 4px;
1024
- background: var(--pptx-muted);
1025
- color: var(--pptx-muted-foreground);
1028
+ background: var(--_pptx-muted);
1029
+ color: var(--_pptx-muted-foreground);
1026
1030
  font: inherit;
1027
1031
  font-size: 11px;
1028
1032
  cursor: pointer;
1029
1033
  }
1030
1034
  .pptxv-inspector-tab svg { flex: none; width: 14px; height: 14px; }
1031
- .pptxv-inspector-tab:hover { color: var(--pptx-foreground); background: var(--pptx-accent); }
1032
- .pptxv-inspector-tab.is-active { background: var(--pptx-primary); color: var(--pptx-primary-foreground, #fff); }
1035
+ .pptxv-inspector-tab:hover { color: var(--_pptx-foreground); background: var(--_pptx-accent); }
1036
+ .pptxv-inspector-tab.is-active { background: var(--_pptx-primary); color: var(--_pptx-primary-foreground, #fff); }
1033
1037
  /* Below this width, matches isDensePanelCompact()/MOBILE_BREAKPOINT (768) in
1034
1038
  pptx-viewer-shared: getDensePanelTouchTargetPx(width) returns
1035
1039
  MIN_TOUCH_TARGET_PX (44), so the Elements/Properties/Comments tab buttons
@@ -1055,9 +1059,9 @@
1055
1059
  text-align: left;
1056
1060
  cursor: pointer;
1057
1061
  }
1058
- .pptxv-inspector-layer-row:hover { background: var(--pptx-muted); }
1059
- .pptxv-inspector-layer-row.is-selected { background: color-mix(in srgb, var(--pptx-primary) 25%, transparent); color: var(--pptx-primary); }
1060
- .pptxv-inspector-layer-num { min-width: 16px; color: var(--pptx-muted-foreground); text-align: right; }
1062
+ .pptxv-inspector-layer-row:hover { background: var(--_pptx-muted); }
1063
+ .pptxv-inspector-layer-row.is-selected { background: color-mix(in srgb, var(--_pptx-primary) 25%, transparent); color: var(--_pptx-primary); }
1064
+ .pptxv-inspector-layer-num { min-width: 16px; color: var(--_pptx-muted-foreground); text-align: right; }
1061
1065
  .pptxv-inspector-layer-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1062
1066
  /* No-selection Properties deck panel + Comments tab. */
1063
1067
  .pptxv-inspector-row-value { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: right; }
@@ -1066,34 +1070,34 @@
1066
1070
  width: 100%;
1067
1071
  margin-top: 4px;
1068
1072
  padding: 5px 8px;
1069
- border: 1px solid var(--pptx-border);
1070
- border-radius: var(--pptx-radius);
1071
- background: var(--pptx-muted);
1073
+ border: 1px solid var(--_pptx-border);
1074
+ border-radius: var(--_pptx-radius);
1075
+ background: var(--_pptx-muted);
1072
1076
  color: inherit;
1073
1077
  font: inherit;
1074
1078
  font-size: 11px;
1075
1079
  cursor: pointer;
1076
1080
  }
1077
- .pptxv-inspector-deck-btn:hover { background: var(--pptx-accent); }
1081
+ .pptxv-inspector-deck-btn:hover { background: var(--_pptx-accent); }
1078
1082
  .pptxv-inspector-deck-btn:disabled { opacity: 0.5; cursor: default; }
1079
1083
  .pptxv-inspector-deck-btn-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
1080
1084
  /* SLIDE SIZE card: the Landscape / Portrait segmented toggle. */
1081
1085
  .pptxv-slide-size-orientation { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin: 6px 0; }
1082
1086
  .pptxv-slide-size-orientation button {
1083
1087
  padding: 5px 8px;
1084
- border: 1px solid var(--pptx-border);
1085
- border-radius: var(--pptx-radius);
1086
- background: var(--pptx-muted);
1088
+ border: 1px solid var(--_pptx-border);
1089
+ border-radius: var(--_pptx-radius);
1090
+ background: var(--_pptx-muted);
1087
1091
  color: inherit;
1088
1092
  font: inherit;
1089
1093
  font-size: 11px;
1090
1094
  cursor: pointer;
1091
1095
  }
1092
- .pptxv-slide-size-orientation button:hover:not(:disabled) { background: var(--pptx-accent); }
1096
+ .pptxv-slide-size-orientation button:hover:not(:disabled) { background: var(--_pptx-accent); }
1093
1097
  .pptxv-slide-size-orientation button.is-active {
1094
- border-color: var(--pptx-primary);
1095
- background: var(--pptx-primary);
1096
- color: var(--pptx-primary-foreground, #fff);
1098
+ border-color: var(--_pptx-primary);
1099
+ background: var(--_pptx-primary);
1100
+ color: var(--_pptx-primary-foreground, #fff);
1097
1101
  }
1098
1102
  .pptxv-slide-size-orientation button:disabled { opacity: 0.5; cursor: default; }
1099
1103
  .pptxv-inspector-theme-select { width: 100%; margin-bottom: 6px; }
@@ -1103,49 +1107,49 @@
1103
1107
  .pptxv-inspector-override-swatch {
1104
1108
  width: 14px;
1105
1109
  height: 14px;
1106
- border: 1px solid var(--pptx-border);
1110
+ border: 1px solid var(--_pptx-border);
1107
1111
  border-radius: 3px;
1108
1112
  flex-shrink: 0;
1109
1113
  }
1110
- .pptxv-inspector-comment { padding: 6px 0; border-bottom: 1px solid color-mix(in srgb, var(--pptx-border) 60%, transparent); }
1114
+ .pptxv-inspector-comment { padding: 6px 0; border-bottom: 1px solid color-mix(in srgb, var(--_pptx-border) 60%, transparent); }
1111
1115
  .pptxv-inspector-comment.is-resolved { opacity: 0.6; }
1112
1116
  .pptxv-inspector-comment-meta { font-size: 11px; font-weight: 600; }
1113
1117
  .pptxv-inspector-comment-text { margin: 2px 0 4px; }
1114
- .pptx-comment-mention { border-radius: 3px; padding: 0 2px; font-weight: 600; color: var(--pptx-primary, #6366f1); background: color-mix(in srgb, var(--pptx-primary, #6366f1) 15%, transparent); }
1118
+ .pptx-comment-mention { border-radius: 3px; padding: 0 2px; font-weight: 600; color: var(--_pptx-primary, #6366f1); background: color-mix(in srgb, var(--_pptx-primary, #6366f1) 15%, transparent); }
1115
1119
  .pptxv-inspector-comment-actions { display: flex; gap: 6px; }
1116
1120
  .pptxv-inspector-comment-action {
1117
1121
  padding: 2px 6px;
1118
1122
  border: none;
1119
1123
  border-radius: 4px;
1120
- background: var(--pptx-muted);
1121
- color: var(--pptx-muted-foreground);
1124
+ background: var(--_pptx-muted);
1125
+ color: var(--_pptx-muted-foreground);
1122
1126
  font: inherit;
1123
1127
  font-size: 10px;
1124
1128
  cursor: pointer;
1125
1129
  }
1126
- .pptxv-inspector-comment-action:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
1130
+ .pptxv-inspector-comment-action:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
1127
1131
  .pptxv-inspector-comment-add[hidden] { display: none; }
1128
1132
  .pptxv-inspector-comment-input {
1129
1133
  width: 100%;
1130
1134
  margin-top: 6px;
1131
1135
  padding: 6px 8px;
1132
- border: 1px solid var(--pptx-border);
1133
- border-radius: var(--pptx-radius);
1134
- background: var(--pptx-background);
1135
- color: var(--pptx-foreground);
1136
+ border: 1px solid var(--_pptx-border);
1137
+ border-radius: var(--_pptx-radius);
1138
+ background: var(--_pptx-background);
1139
+ color: var(--_pptx-foreground);
1136
1140
  font: inherit;
1137
1141
  font-size: 12px;
1138
1142
  resize: vertical;
1139
1143
  }
1140
1144
  .pptxv-inspector-body { padding: 10px 12px; }
1141
1145
  .pptxv-inspector-body[hidden] { display: none; }
1142
- .pptxv-inspector-empty { color: var(--pptx-muted-foreground); margin: 0; }
1146
+ .pptxv-inspector-empty { color: var(--_pptx-muted-foreground); margin: 0; }
1143
1147
  .pptxv-inspector-empty[hidden] { display: none; }
1144
- .pptxv-inspector-muted-text { font-size: 11px; color: var(--pptx-muted-foreground); }
1148
+ .pptxv-inspector-muted-text { font-size: 11px; color: var(--_pptx-muted-foreground); }
1145
1149
  .pptxv-ole-info { display: flex; flex-direction: column; gap: 6px; font-size: 11px; }
1146
1150
  .pptxv-ole-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
1147
1151
  .pptxv-ole-row[hidden] { display: none; }
1148
- .pptxv-ole-row span:first-child { color: var(--pptx-muted-foreground); }
1152
+ .pptxv-ole-row span:first-child { color: var(--_pptx-muted-foreground); }
1149
1153
  .pptxv-ole-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1150
1154
  .pptxv-ole-badge {
1151
1155
  display: inline-flex;
@@ -1167,10 +1171,10 @@
1167
1171
  .pptxv-inspector-section {
1168
1172
  margin-bottom: 10px;
1169
1173
  padding: 8px;
1170
- border: 1px solid var(--pptx-border);
1174
+ border: 1px solid var(--_pptx-border);
1171
1175
  border-radius: 6px;
1172
- background: var(--pptx-card);
1173
- color: var(--pptx-card-foreground);
1176
+ background: var(--_pptx-card);
1177
+ color: var(--_pptx-card-foreground);
1174
1178
  }
1175
1179
  .pptxv-inspector-section[hidden] { display: none; }
1176
1180
  .pptxv-inspector-section-title {
@@ -1179,7 +1183,7 @@
1179
1183
  font-weight: 600;
1180
1184
  text-transform: uppercase;
1181
1185
  letter-spacing: 0.04em;
1182
- color: var(--pptx-muted-foreground);
1186
+ color: var(--_pptx-muted-foreground);
1183
1187
  }
1184
1188
  .pptxv-inspector-lock-row {
1185
1189
  display: flex;
@@ -1201,14 +1205,14 @@
1201
1205
  gap: 6px;
1202
1206
  margin-bottom: 8px;
1203
1207
  }
1204
- .pptxv-inspector-row-label { color: var(--pptx-muted-foreground); }
1208
+ .pptxv-inspector-row-label { color: var(--_pptx-muted-foreground); }
1205
1209
  /* Fill & Stroke: one group per target (picker, theme grid, recent colours). */
1206
1210
  .pptxv-inspector-color-group { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
1207
1211
  .pptxv-inspector-color-group > .pptxv-inspector-row { margin-bottom: 0; }
1208
- .pptxv-inspector-color-group > .pptxv-inspector-row > .pptxv-inspector-row-label { min-width: 32px; font-weight: 600; color: var(--pptx-foreground); }
1212
+ .pptxv-inspector-color-group > .pptxv-inspector-row > .pptxv-inspector-row-label { min-width: 32px; font-weight: 600; color: var(--_pptx-foreground); }
1209
1213
 
1210
1214
  /* Table quick-style preset swatch gallery. */
1211
- .pptxv-table-presets-label { display: block; margin: 8px 0 4px; font-size: 10px; color: var(--pptx-muted-foreground); }
1215
+ .pptxv-table-presets-label { display: block; margin: 8px 0 4px; font-size: 10px; color: var(--_pptx-muted-foreground); }
1212
1216
  .pptxv-table-presets-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 8px; }
1213
1217
  .pptxv-table-preset-swatch {
1214
1218
  display: flex;
@@ -1216,43 +1220,43 @@
1216
1220
  height: 40px;
1217
1221
  padding: 0;
1218
1222
  overflow: hidden;
1219
- border: 1px solid var(--pptx-border);
1223
+ border: 1px solid var(--_pptx-border);
1220
1224
  border-radius: 5px;
1221
1225
  background: none;
1222
1226
  cursor: pointer;
1223
1227
  }
1224
- .pptxv-table-preset-swatch:hover { border-color: var(--pptx-primary); }
1228
+ .pptxv-table-preset-swatch:hover { border-color: var(--_pptx-primary); }
1225
1229
  .pptxv-table-preset-swatch span { flex: 1; }
1226
1230
  .pptxv-table-preset-swatch span:last-child { border-top: 1px solid; }
1227
1231
 
1228
1232
  /* Compact SmartArt layout switcher and editable text pane. */
1229
- .pptxv-smartart-label { display: block; margin-bottom: 6px; color: var(--pptx-muted-foreground); }
1233
+ .pptxv-smartart-label { display: block; margin-bottom: 6px; color: var(--_pptx-muted-foreground); }
1230
1234
  .pptxv-smartart-layout-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-bottom: 10px; }
1231
1235
  .pptxv-smartart-layout-button {
1232
1236
  min-width: 0;
1233
1237
  padding: 6px 3px;
1234
- border: 1px solid var(--pptx-border);
1235
- border-radius: var(--pptx-radius);
1238
+ border: 1px solid var(--_pptx-border);
1239
+ border-radius: var(--_pptx-radius);
1236
1240
  background: transparent;
1237
- color: var(--pptx-muted-foreground);
1241
+ color: var(--_pptx-muted-foreground);
1238
1242
  font: inherit;
1239
1243
  font-size: 10px;
1240
1244
  cursor: pointer;
1241
1245
  overflow: hidden;
1242
1246
  text-overflow: ellipsis;
1243
1247
  }
1244
- .pptxv-smartart-layout-button:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
1245
- .pptxv-smartart-layout-button.is-active { border-color: var(--pptx-primary); background: color-mix(in srgb, var(--pptx-primary) 16%, transparent); color: var(--pptx-primary); }
1248
+ .pptxv-smartart-layout-button:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
1249
+ .pptxv-smartart-layout-button.is-active { border-color: var(--_pptx-primary); background: color-mix(in srgb, var(--_pptx-primary) 16%, transparent); color: var(--_pptx-primary); }
1246
1250
  .pptxv-smartart-nodes { display: flex; max-height: 208px; flex-direction: column; gap: 5px; overflow-y: auto; }
1247
1251
  /* One row per node: index, text, fill, font colour, bold, italic; the
1248
1252
  hierarchy actions (inspector-extras-css.ts) wrap onto a second row under
1249
1253
  the text. With two columns the six controls used to scatter over four. */
1250
1254
  .pptxv-smartart-node { display: grid; grid-template-columns: 20px minmax(0, 1fr) repeat(4, auto); align-items: center; gap: 5px; }
1251
1255
  .pptxv-smartart-node > input[type='color'] { width: 22px; height: 22px; }
1252
- .pptxv-smartart-node > button { min-width: 22px; height: 22px; padding: 0 4px; border: 1px solid var(--pptx-border); border-radius: var(--pptx-radius); background: transparent; color: var(--pptx-foreground); font: inherit; font-weight: 600; cursor: pointer; }
1253
- .pptxv-smartart-node-index { color: var(--pptx-muted-foreground); text-align: center; }
1254
- .pptxv-smartart-node-input { min-width: 0; height: 26px; box-sizing: border-box; padding: 2px 6px; border: 1px solid var(--pptx-border); border-radius: var(--pptx-radius); background: var(--pptx-background); color: var(--pptx-foreground); font: inherit; }
1255
- .pptxv-smartart-node-input:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -1px; }
1256
+ .pptxv-smartart-node > button { min-width: 22px; height: 22px; padding: 0 4px; border: 1px solid var(--_pptx-border); border-radius: var(--_pptx-radius); background: transparent; color: var(--_pptx-foreground); font: inherit; font-weight: 600; cursor: pointer; }
1257
+ .pptxv-smartart-node-index { color: var(--_pptx-muted-foreground); text-align: center; }
1258
+ .pptxv-smartart-node-input { min-width: 0; height: 26px; box-sizing: border-box; padding: 2px 6px; border: 1px solid var(--_pptx-border); border-radius: var(--_pptx-radius); background: var(--_pptx-background); color: var(--_pptx-foreground); font: inherit; }
1259
+ .pptxv-smartart-node-input:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -1px; }
1256
1260
 
1257
1261
  /* Select / checkbox / range fields (text/image/table inspector sections). */
1258
1262
  .pptxv-field-select,
@@ -1269,10 +1273,10 @@
1269
1273
  .pptxv-field-select-input {
1270
1274
  height: 26px;
1271
1275
  padding: 2px 6px;
1272
- border: 1px solid var(--pptx-border);
1273
- border-radius: var(--pptx-radius);
1274
- background: var(--pptx-background);
1275
- color: var(--pptx-foreground);
1276
+ border: 1px solid var(--_pptx-border);
1277
+ border-radius: var(--_pptx-radius);
1278
+ background: var(--_pptx-background);
1279
+ color: var(--_pptx-foreground);
1276
1280
  font: inherit;
1277
1281
  font-size: 12px;
1278
1282
  }
@@ -1283,12 +1287,12 @@
1283
1287
  .pptxv-field-range-readout {
1284
1288
  min-width: 34px;
1285
1289
  text-align: right;
1286
- color: var(--pptx-muted-foreground);
1290
+ color: var(--_pptx-muted-foreground);
1287
1291
  font-variant-numeric: tabular-nums;
1288
1292
  }
1289
1293
 
1290
1294
  /* Gradient fill sub-panel (Fill & Stroke section). */
1291
- .pptxv-inspector-gradient { margin: 4px 0 8px; padding-left: 4px; border-left: 2px solid var(--pptx-border); }
1295
+ .pptxv-inspector-gradient { margin: 4px 0 8px; padding-left: 4px; border-left: 2px solid var(--_pptx-border); }
1292
1296
  .pptxv-inspector-gradient[hidden] { display: none; }
1293
1297
  .pptxv-inspector-gradient-stops { display: flex; flex-direction: column; gap: 4px; margin: 6px 0; }
1294
1298
 
@@ -1305,31 +1309,31 @@
1305
1309
  width: min(360px, calc(100% - 24px));
1306
1310
  max-height: min(560px, calc(100% - 72px));
1307
1311
  overflow: auto;
1308
- border: 1px solid var(--pptx-border);
1309
- border-radius: calc(var(--pptx-radius) + 2px);
1310
- background: var(--pptx-card);
1311
- color: var(--pptx-card-foreground);
1312
+ border: 1px solid var(--_pptx-border);
1313
+ border-radius: calc(var(--_pptx-radius) + 2px);
1314
+ background: var(--_pptx-card);
1315
+ color: var(--_pptx-card-foreground);
1312
1316
  box-shadow: 0 16px 36px rgb(0 0 0 / 20%);
1313
1317
  }
1314
1318
  .pptxv-accessibility-panel[hidden] { display: none; }
1315
- .pptxv-accessibility-header { display: flex; align-items: center; justify-content: space-between; padding: 12px; border-bottom: 1px solid var(--pptx-border); }
1319
+ .pptxv-accessibility-header { display: flex; align-items: center; justify-content: space-between; padding: 12px; border-bottom: 1px solid var(--_pptx-border); }
1316
1320
  .pptxv-accessibility-title { margin: 0; font-size: 13px; }
1317
- .pptxv-accessibility-close { border: 0; border-radius: var(--pptx-radius); background: transparent; color: var(--pptx-foreground); cursor: pointer; font: inherit; font-size: 12px; padding: 4px 7px; }
1318
- .pptxv-accessibility-close:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
1319
- .pptxv-accessibility-summary { margin: 0; padding: 8px 12px; color: var(--pptx-muted-foreground); font-size: 11px; }
1321
+ .pptxv-accessibility-close { border: 0; border-radius: var(--_pptx-radius); background: transparent; color: var(--_pptx-foreground); cursor: pointer; font: inherit; font-size: 12px; padding: 4px 7px; }
1322
+ .pptxv-accessibility-close:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
1323
+ .pptxv-accessibility-summary { margin: 0; padding: 8px 12px; color: var(--_pptx-muted-foreground); font-size: 11px; }
1320
1324
  .pptxv-accessibility-list { padding: 0 8px 8px; }
1321
1325
  .pptxv-accessibility-group { margin-top: 8px; }
1322
- .pptxv-accessibility-group-title { margin: 0 4px 5px; color: var(--pptx-muted-foreground); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
1323
- .pptxv-accessibility-issue { display: grid; width: 100%; grid-template-columns: 1fr auto; gap: 3px 10px; margin: 3px 0; padding: 8px; border: 0; border-left: 3px solid var(--pptx-border); border-radius: var(--pptx-radius); background: var(--pptx-muted); color: inherit; cursor: pointer; font: inherit; text-align: left; }
1326
+ .pptxv-accessibility-group-title { margin: 0 4px 5px; color: var(--_pptx-muted-foreground); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
1327
+ .pptxv-accessibility-issue { display: grid; width: 100%; grid-template-columns: 1fr auto; gap: 3px 10px; margin: 3px 0; padding: 8px; border: 0; border-left: 3px solid var(--_pptx-border); border-radius: var(--_pptx-radius); background: var(--_pptx-muted); color: inherit; cursor: pointer; font: inherit; text-align: left; }
1324
1328
  .pptxv-accessibility-group.is-error .pptxv-accessibility-issue { border-left-color: #d64545; }
1325
1329
  .pptxv-accessibility-group.is-warning .pptxv-accessibility-issue { border-left-color: #d9911b; }
1326
1330
  .pptxv-accessibility-group.is-tip .pptxv-accessibility-issue { border-left-color: #4b8bc5; }
1327
- .pptxv-accessibility-issue:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
1331
+ .pptxv-accessibility-issue:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
1328
1332
  .pptxv-accessibility-issue-type { font-size: 11px; }
1329
- .pptxv-accessibility-issue-message { grid-column: 1 / -1; color: var(--pptx-muted-foreground); font-size: 11px; line-height: 1.35; }
1333
+ .pptxv-accessibility-issue-message { grid-column: 1 / -1; color: var(--_pptx-muted-foreground); font-size: 11px; line-height: 1.35; }
1330
1334
  .pptxv-accessibility-issue:hover .pptxv-accessibility-issue-message { color: inherit; }
1331
- .pptxv-accessibility-issue-slide { color: var(--pptx-muted-foreground); font-size: 10px; }
1332
- .pptxv-accessibility-empty { margin: 12px 4px; color: var(--pptx-muted-foreground); font-size: 12px; text-align: center; }
1335
+ .pptxv-accessibility-issue-slide { color: var(--_pptx-muted-foreground); font-size: 10px; }
1336
+ .pptxv-accessibility-empty { margin: 12px 4px; color: var(--_pptx-muted-foreground); font-size: 12px; text-align: center; }
1333
1337
  .pptxv.pptxv-presenting .pptxv-accessibility-panel { display: none; }
1334
1338
 
1335
1339
  /* ── Keyboard-shortcut cheat sheet ("?") ─────────────────────────────── */
@@ -1340,21 +1344,21 @@
1340
1344
  z-index: 40;
1341
1345
  width: min(384px, calc(100% - 24px));
1342
1346
  overflow: hidden;
1343
- border: 1px solid var(--pptx-border);
1344
- border-radius: calc(var(--pptx-radius) + 2px);
1345
- background: var(--pptx-card);
1346
- color: var(--pptx-card-foreground);
1347
+ border: 1px solid var(--_pptx-border);
1348
+ border-radius: calc(var(--_pptx-radius) + 2px);
1349
+ background: var(--_pptx-card);
1350
+ color: var(--_pptx-card-foreground);
1347
1351
  box-shadow: 0 18px 50px rgb(0 0 0 / 30%);
1348
1352
  }
1349
1353
  .pptxv-shortcuts-panel[hidden] { display: none; }
1350
- .pptxv-shortcuts-header { display: flex; align-items: center; justify-content: space-between; padding: 9px 12px; border-bottom: 1px solid var(--pptx-border); }
1354
+ .pptxv-shortcuts-header { display: flex; align-items: center; justify-content: space-between; padding: 9px 12px; border-bottom: 1px solid var(--_pptx-border); }
1351
1355
  .pptxv-shortcuts-title { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
1352
- .pptxv-shortcuts-close { border: 0; border-radius: var(--pptx-radius); background: transparent; color: var(--pptx-foreground); cursor: pointer; font: inherit; font-size: 11px; padding: 5px 8px; }
1353
- .pptxv-shortcuts-close:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
1356
+ .pptxv-shortcuts-close { border: 0; border-radius: var(--_pptx-radius); background: transparent; color: var(--_pptx-foreground); cursor: pointer; font: inherit; font-size: 11px; padding: 5px 8px; }
1357
+ .pptxv-shortcuts-close:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
1354
1358
  .pptxv-shortcuts-list { max-height: 280px; overflow: auto; padding: 8px; }
1355
- .pptxv-shortcuts-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 7px 9px; border-radius: var(--pptx-radius); font-size: 12px; }
1356
- .pptxv-shortcuts-row:nth-child(odd) { background: var(--pptx-muted); }
1357
- .pptxv-shortcuts-keys { color: var(--pptx-muted-foreground); font: 11px ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
1359
+ .pptxv-shortcuts-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 7px 9px; border-radius: var(--_pptx-radius); font-size: 12px; }
1360
+ .pptxv-shortcuts-row:nth-child(odd) { background: var(--_pptx-muted); }
1361
+ .pptxv-shortcuts-keys { color: var(--_pptx-muted-foreground); font: 11px ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
1358
1362
  .pptxv.pptxv-presenting .pptxv-shortcuts-panel { display: none; }
1359
1363
 
1360
1364
  /* ── Canvas right-click menu ──────────────────────────────────────────── */
@@ -1369,10 +1373,10 @@
1369
1373
  max-height: min(70vh, 560px);
1370
1374
  overflow-y: auto;
1371
1375
  padding: 4px;
1372
- border: 1px solid var(--pptx-border, #e2e8f0);
1376
+ border: 1px solid var(--_pptx-border, #e2e8f0);
1373
1377
  border-radius: 8px;
1374
- background: var(--pptx-popover, var(--pptx-card, #ffffff));
1375
- color: var(--pptx-popover-foreground, var(--pptx-card-foreground, #0f172a));
1378
+ background: var(--pptx-popover, var(--pptx-card, var(--_pptx-popover, #ffffff)));
1379
+ color: var(--pptx-popover-foreground, var(--pptx-card-foreground, var(--_pptx-popover-foreground, #0f172a)));
1376
1380
  box-shadow: 0 8px 24px rgb(0 0 0 / 24%);
1377
1381
  }
1378
1382
  .pptxv-context-menu-item {
@@ -1389,11 +1393,11 @@
1389
1393
  text-align: left;
1390
1394
  cursor: pointer;
1391
1395
  }
1392
- .pptxv-context-menu-item:hover:not(:disabled) { background: var(--pptx-accent, #eef2f7); color: var(--pptx-accent-foreground, inherit); }
1396
+ .pptxv-context-menu-item:hover:not(:disabled) { background: var(--_pptx-accent, #eef2f7); color: var(--_pptx-accent-foreground, inherit); }
1393
1397
  .pptxv-context-menu-item:disabled { opacity: .45; cursor: default; }
1394
1398
  .pptxv-context-menu-item.is-danger { color: #d64545; }
1395
1399
  .pptxv-context-menu-item.is-danger:hover:not(:disabled) { background: #d6454518; color: #d64545; }
1396
- .pptxv-context-menu-separator { height: 1px; margin: 4px 6px; background: var(--pptx-border, #e2e8f0); }
1400
+ .pptxv-context-menu-separator { height: 1px; margin: 4px 6px; background: var(--_pptx-border, #e2e8f0); }
1397
1401
 
1398
1402
  /* Floating value readout shown while a chart data point is dragged on canvas. */
1399
1403
  .pptxv-chart-drag-badge {
@@ -1455,9 +1459,9 @@
1455
1459
  .pptxv-ribbon {
1456
1460
  display: flex;
1457
1461
  flex-direction: column;
1458
- border-bottom: 1px solid var(--pptx-border);
1459
- background: var(--pptx-card);
1460
- color: var(--pptx-card-foreground);
1462
+ border-bottom: 1px solid var(--_pptx-border);
1463
+ background: var(--_pptx-card);
1464
+ color: var(--_pptx-card-foreground);
1461
1465
  flex: none;
1462
1466
  }
1463
1467
  .pptxv-ribbon-primary {
@@ -1467,7 +1471,7 @@
1467
1471
  gap: 4px;
1468
1472
  min-height: 26px;
1469
1473
  padding: 4px 8px;
1470
- border-bottom: 1px solid var(--pptx-border);
1474
+ border-bottom: 1px solid var(--_pptx-border);
1471
1475
  }
1472
1476
  .pptxv-ribbon-primary:empty { display: none; }
1473
1477
  .pptxv-ribbon-primary[hidden] { display: none; }
@@ -1477,7 +1481,7 @@
1477
1481
  align-items: center;
1478
1482
  gap: 2px;
1479
1483
  padding: 0 6px;
1480
- border-bottom: 1px solid var(--pptx-border);
1484
+ border-bottom: 1px solid var(--_pptx-border);
1481
1485
  overflow-x: auto;
1482
1486
  }
1483
1487
  .pptxv-ribbon-tabs[hidden] { display: none; }
@@ -1486,20 +1490,20 @@
1486
1490
  border: none;
1487
1491
  border-bottom: 2px solid transparent;
1488
1492
  background: transparent;
1489
- color: var(--pptx-muted-foreground);
1493
+ color: var(--_pptx-muted-foreground);
1490
1494
  font: inherit;
1491
1495
  font-size: 12px;
1492
1496
  font-weight: 500;
1493
1497
  white-space: nowrap;
1494
1498
  cursor: pointer;
1495
1499
  }
1496
- .pptxv-ribbon-tab:hover { color: var(--pptx-foreground); background: var(--pptx-accent); }
1497
- .pptxv-ribbon-tab.is-active { color: var(--pptx-foreground); border-bottom-color: var(--pptx-primary); }
1498
- .pptxv-ribbon-tab-file { color: var(--pptx-primary); }
1500
+ .pptxv-ribbon-tab:hover { color: var(--_pptx-foreground); background: var(--_pptx-accent); }
1501
+ .pptxv-ribbon-tab.is-active { color: var(--_pptx-foreground); border-bottom-color: var(--_pptx-primary); }
1502
+ .pptxv-ribbon-tab-file { color: var(--_pptx-primary); }
1499
1503
  .pptxv-ribbon-tab-file.is-active {
1500
1504
  color: #fff;
1501
- background: color-mix(in srgb, var(--pptx-primary) 80%, transparent);
1502
- border-radius: var(--pptx-radius);
1505
+ background: color-mix(in srgb, var(--_pptx-primary) 80%, transparent);
1506
+ border-radius: var(--_pptx-radius);
1503
1507
  }
1504
1508
 
1505
1509
  /* ── Tab content + groups ────────────────────────────────────────────── */
@@ -1530,17 +1534,17 @@
1530
1534
  left: 0;
1531
1535
  z-index: 30;
1532
1536
  max-width: 320px;
1533
- border: 1px solid var(--pptx-border);
1534
- border-radius: var(--pptx-radius);
1535
- background: var(--pptx-card);
1537
+ border: 1px solid var(--_pptx-border);
1538
+ border-radius: var(--_pptx-radius);
1539
+ background: var(--_pptx-card);
1536
1540
  box-shadow: 0 8px 24px rgb(0 0 0 / 0.28);
1537
1541
  }
1538
1542
  .pptxv-theme-gallery[hidden] { display: none; }
1539
- .pptxv-theme-gallery .pptxv-btn[aria-checked='true'] { outline: 2px solid var(--pptx-primary); outline-offset: -2px; }
1543
+ .pptxv-theme-gallery .pptxv-btn[aria-checked='true'] { outline: 2px solid var(--_pptx-primary); outline-offset: -2px; }
1540
1544
  /* Design > Edit Theme docks the deck THEME EDITOR card, a column, not a chip row. */
1541
1545
  .pptxv-theme-gallery-host > .pptxv-deck-theme-editor { display: block; width: 300px; max-height: 70vh; overflow-y: auto; padding: 0; }
1542
- .pptxv-theme-swatch-preview { display: block; width: 20px; height: 20px; flex: none; border: 1px solid var(--pptx-border); border-radius: 4px; }
1543
- .pptxv-shortcut-help { align-self: center; padding: 5px 8px; color: var(--pptx-muted-foreground); font-size: 11px; }
1546
+ .pptxv-theme-swatch-preview { display: block; width: 20px; height: 20px; flex: none; border: 1px solid var(--_pptx-border); border-radius: 4px; }
1547
+ .pptxv-shortcut-help { align-self: center; padding: 5px 8px; color: var(--_pptx-muted-foreground); font-size: 11px; }
1544
1548
  .pptxv-rgroup {
1545
1549
  display: flex;
1546
1550
  flex: none;
@@ -1549,7 +1553,7 @@
1549
1553
  justify-content: space-between;
1550
1554
  gap: 2px;
1551
1555
  padding: 2px 8px;
1552
- border-right: 1px solid color-mix(in srgb, var(--pptx-border) 40%, transparent);
1556
+ border-right: 1px solid color-mix(in srgb, var(--_pptx-border) 40%, transparent);
1553
1557
  }
1554
1558
  .pptxv-rgroup:last-child { border-right: none; }
1555
1559
  .pptxv-rgroup-row { display: flex; flex-wrap: nowrap; align-items: center; gap: 2px; }
@@ -1557,15 +1561,15 @@
1557
1561
  .pptxv-rgroup-label {
1558
1562
  font-size: 9px;
1559
1563
  line-height: 1;
1560
- color: var(--pptx-muted-foreground);
1564
+ color: var(--_pptx-muted-foreground);
1561
1565
  }
1562
- .pptxv-rgroup .pptxv-btn.is-active { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
1566
+ .pptxv-rgroup .pptxv-btn.is-active { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
1563
1567
  /* Labelled pill button (React's pill token): icon + text on a muted chip. */
1564
1568
  .pptxv-btn.pptxv-btn-pill {
1565
1569
  width: auto;
1566
1570
  gap: 6px;
1567
1571
  padding: 0 10px;
1568
- background: var(--pptx-muted);
1572
+ background: var(--_pptx-muted);
1569
1573
  font-size: 12px;
1570
1574
  white-space: nowrap;
1571
1575
  }
@@ -1584,13 +1588,13 @@
1584
1588
  align-items: center;
1585
1589
  padding: 0 3px;
1586
1590
  border: none;
1587
- border-left: 1px solid color-mix(in srgb, var(--pptx-border) 60%, transparent);
1588
- border-radius: 0 var(--pptx-radius) var(--pptx-radius) 0;
1589
- background: var(--pptx-muted);
1590
- color: var(--pptx-foreground);
1591
+ border-left: 1px solid color-mix(in srgb, var(--_pptx-border) 60%, transparent);
1592
+ border-radius: 0 var(--_pptx-radius) var(--_pptx-radius) 0;
1593
+ background: var(--_pptx-muted);
1594
+ color: var(--_pptx-foreground);
1591
1595
  cursor: pointer;
1592
1596
  }
1593
- .pptxv-slides-caret:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
1597
+ .pptxv-slides-caret:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
1594
1598
  .pptxv-slides-caret[hidden] { display: none; }
1595
1599
  .pptxv-slides-caret svg { width: 12px; height: 12px; }
1596
1600
  .pptxv-slides-menu-host { position: relative; display: inline-flex; }
@@ -1615,7 +1619,7 @@
1615
1619
  align-items: center;
1616
1620
  gap: 4px;
1617
1621
  border: 2px solid transparent;
1618
- border-radius: var(--pptx-radius, 6px);
1622
+ border-radius: var(--_pptx-radius, 6px);
1619
1623
  background: transparent;
1620
1624
  color: inherit;
1621
1625
  padding: 4px;
@@ -1623,16 +1627,16 @@
1623
1627
  font-size: 11px;
1624
1628
  cursor: pointer;
1625
1629
  }
1626
- .pptxv-layout-tile:hover { background: var(--pptx-accent); }
1630
+ .pptxv-layout-tile:hover { background: var(--_pptx-accent); }
1627
1631
  .pptxv-layout-tile-current {
1628
- border-color: var(--pptx-primary, #2563eb);
1629
- background: color-mix(in srgb, var(--pptx-primary, #2563eb) 12%, transparent);
1632
+ border-color: var(--_pptx-primary, #2563eb);
1633
+ background: color-mix(in srgb, var(--_pptx-primary, #2563eb) 12%, transparent);
1630
1634
  }
1631
1635
  .pptxv-layout-tile-thumb {
1632
1636
  position: relative;
1633
1637
  flex: none;
1634
1638
  overflow: hidden;
1635
- border: 1px solid var(--pptx-border);
1639
+ border: 1px solid var(--_pptx-border);
1636
1640
  border-radius: 2px;
1637
1641
  }
1638
1642
  /* The artwork is drawn at full slide size and the whole surface is scaled, so
@@ -1641,8 +1645,8 @@
1641
1645
  .pptxv-layout-tile-frame {
1642
1646
  position: absolute;
1643
1647
  border-style: dashed;
1644
- border-color: color-mix(in srgb, var(--pptx-muted-foreground) 70%, transparent);
1645
- background: color-mix(in srgb, var(--pptx-background) 20%, transparent);
1648
+ border-color: color-mix(in srgb, var(--_pptx-muted-foreground) 70%, transparent);
1649
+ background: color-mix(in srgb, var(--_pptx-background) 20%, transparent);
1646
1650
  }
1647
1651
  .pptxv-layout-tile-name {
1648
1652
  width: 100%;
@@ -1660,17 +1664,17 @@
1660
1664
  gap: 4px;
1661
1665
  height: 28px;
1662
1666
  padding: 0 6px;
1663
- border: 1px solid var(--pptx-border);
1664
- border-radius: var(--pptx-radius);
1665
- background: var(--pptx-background);
1667
+ border: 1px solid var(--_pptx-border);
1668
+ border-radius: var(--_pptx-radius);
1669
+ background: var(--_pptx-background);
1666
1670
  color: inherit;
1667
1671
  font: inherit;
1668
1672
  font-size: 11px;
1669
1673
  cursor: pointer;
1670
1674
  }
1671
- .pptxv-dropdown-trigger:hover:not(:disabled) { background: var(--pptx-accent); }
1675
+ .pptxv-dropdown-trigger:hover:not(:disabled) { background: var(--_pptx-accent); }
1672
1676
  .pptxv-dropdown-trigger:disabled { opacity: 0.4; cursor: default; }
1673
- .pptxv-dropdown-trigger.is-active { background: var(--pptx-accent); }
1677
+ .pptxv-dropdown-trigger.is-active { background: var(--_pptx-accent); }
1674
1678
  .pptxv-dropdown-trigger svg { width: 12px; height: 12px; flex: none; }
1675
1679
  .pptxv-dropdown-text { max-width: 96px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1676
1680
  .pptxv-font-family-dd .pptxv-dropdown-text { max-width: 120px; }
@@ -1683,10 +1687,10 @@
1683
1687
  max-height: 240px;
1684
1688
  overflow-y: auto;
1685
1689
  padding: 4px;
1686
- border: 1px solid var(--pptx-border);
1687
- border-radius: var(--pptx-radius);
1688
- background: var(--pptx-card);
1689
- color: var(--pptx-card-foreground);
1690
+ border: 1px solid var(--_pptx-border);
1691
+ border-radius: var(--_pptx-radius);
1692
+ background: var(--_pptx-card);
1693
+ color: var(--_pptx-card-foreground);
1690
1694
  box-shadow: 0 6px 20px rgb(0 0 0 / 0.25);
1691
1695
  }
1692
1696
  .pptxv-dropdown-menu[hidden] { display: none; }
@@ -1694,7 +1698,7 @@
1694
1698
  embedded / added-this-session / all sections). */
1695
1699
  .pptxv-dropdown-group {
1696
1700
  padding: 6px 10px 2px;
1697
- color: var(--pptx-muted-foreground);
1701
+ color: var(--_pptx-muted-foreground);
1698
1702
  font-size: 10px;
1699
1703
  font-weight: 600;
1700
1704
  text-transform: uppercase;
@@ -1703,7 +1707,7 @@
1703
1707
  .pptxv-dropdown-item-hint {
1704
1708
  margin-left: auto;
1705
1709
  padding-left: 8px;
1706
- color: var(--pptx-muted-foreground);
1710
+ color: var(--_pptx-muted-foreground);
1707
1711
  font-size: 10px;
1708
1712
  }
1709
1713
  .pptxv-dropdown-item {
@@ -1718,8 +1722,8 @@
1718
1722
  text-align: left;
1719
1723
  cursor: pointer;
1720
1724
  }
1721
- .pptxv-dropdown-item:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
1722
- .pptxv-dropdown-item.is-selected { font-weight: 600; color: var(--pptx-primary); }
1725
+ .pptxv-dropdown-item:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
1726
+ .pptxv-dropdown-item.is-selected { font-weight: 600; color: var(--_pptx-primary); }
1723
1727
 
1724
1728
  /* ── Swatch colour picker ────────────────────────────────────────────── */
1725
1729
  .pptxv-swatch-picker { position: relative; display: inline-flex; }
@@ -1730,10 +1734,10 @@
1730
1734
  which escapes the ribbon row's overflow-x clip (issue #183). */
1731
1735
  z-index: 30;
1732
1736
  padding: 8px;
1733
- border: 1px solid var(--pptx-border);
1734
- border-radius: var(--pptx-radius);
1735
- background: var(--pptx-card);
1736
- color: var(--pptx-card-foreground);
1737
+ border: 1px solid var(--_pptx-border);
1738
+ border-radius: var(--_pptx-radius);
1739
+ background: var(--_pptx-card);
1740
+ color: var(--_pptx-card-foreground);
1737
1741
  box-shadow: 0 6px 20px rgb(0 0 0 / 0.25);
1738
1742
  }
1739
1743
  .pptxv-swatch-menu[hidden] { display: none; }
@@ -1742,14 +1746,14 @@
1742
1746
  .pptxv-recent-colors[hidden] { display: none; }
1743
1747
  .pptxv-recent-colors-label {
1744
1748
  margin-bottom: 4px;
1745
- color: var(--pptx-muted-foreground);
1749
+ color: var(--_pptx-muted-foreground);
1746
1750
  font-size: 10px;
1747
1751
  text-transform: uppercase;
1748
1752
  letter-spacing: 0.04em;
1749
1753
  }
1750
1754
  .pptxv-swatch-standard-label {
1751
1755
  margin-bottom: 4px;
1752
- color: var(--pptx-muted-foreground);
1756
+ color: var(--_pptx-muted-foreground);
1753
1757
  font-size: 10px;
1754
1758
  text-transform: uppercase;
1755
1759
  letter-spacing: 0.04em;
@@ -1759,26 +1763,26 @@
1759
1763
  width: 20px;
1760
1764
  height: 20px;
1761
1765
  padding: 0;
1762
- border: 1px solid var(--pptx-border);
1766
+ border: 1px solid var(--_pptx-border);
1763
1767
  border-radius: 50%;
1764
1768
  cursor: pointer;
1765
1769
  }
1766
1770
  .pptxv-swatch:hover { transform: scale(1.15); }
1767
- .pptxv-swatch.is-selected { outline: 2px solid var(--pptx-ring); outline-offset: 1px; }
1771
+ .pptxv-swatch.is-selected { outline: 2px solid var(--_pptx-ring); outline-offset: 1px; }
1768
1772
  .pptxv-swatch-custom {
1769
1773
  display: flex;
1770
1774
  align-items: center;
1771
1775
  justify-content: space-between;
1772
1776
  gap: 6px;
1773
1777
  font-size: 11px;
1774
- color: var(--pptx-muted-foreground);
1778
+ color: var(--_pptx-muted-foreground);
1775
1779
  cursor: pointer;
1776
1780
  }
1777
1781
  .pptxv-swatch-custom-input {
1778
1782
  width: 20px;
1779
1783
  height: 20px;
1780
1784
  padding: 0;
1781
- border: 1px solid var(--pptx-border);
1785
+ border: 1px solid var(--_pptx-border);
1782
1786
  border-radius: 4px;
1783
1787
  background: none;
1784
1788
  cursor: pointer;
@@ -1790,8 +1794,8 @@
1790
1794
  flex-direction: column;
1791
1795
  gap: 4px;
1792
1796
  padding: 6px 8px;
1793
- border-bottom: 1px solid var(--pptx-border);
1794
- background: var(--pptx-muted);
1797
+ border-bottom: 1px solid var(--_pptx-border);
1798
+ background: var(--_pptx-muted);
1795
1799
  }
1796
1800
  .pptxv-findreplace[hidden] { display: none; }
1797
1801
  .pptxv-findreplace-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
@@ -1799,23 +1803,23 @@
1799
1803
  height: 28px;
1800
1804
  min-width: 140px;
1801
1805
  padding: 0 8px;
1802
- border: 1px solid var(--pptx-border);
1803
- border-radius: var(--pptx-radius);
1804
- background: var(--pptx-background);
1805
- color: var(--pptx-foreground);
1806
+ border: 1px solid var(--_pptx-border);
1807
+ border-radius: var(--_pptx-radius);
1808
+ background: var(--_pptx-background);
1809
+ color: var(--_pptx-foreground);
1806
1810
  font: inherit;
1807
1811
  font-size: 12px;
1808
1812
  }
1809
- .pptxv-findreplace-input:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -1px; }
1813
+ .pptxv-findreplace-input:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -1px; }
1810
1814
  .pptxv-findreplace-checkbox {
1811
1815
  display: inline-flex;
1812
1816
  align-items: center;
1813
1817
  gap: 4px;
1814
1818
  font-size: 11px;
1815
- color: var(--pptx-muted-foreground);
1819
+ color: var(--_pptx-muted-foreground);
1816
1820
  cursor: pointer;
1817
1821
  }
1818
- .pptxv-findreplace-status { font-size: 11px; color: var(--pptx-muted-foreground); }
1822
+ .pptxv-findreplace-status { font-size: 11px; color: var(--_pptx-muted-foreground); }
1819
1823
 
1820
1824
  /* ── Format Background docked panel (same docked idiom as Find & Replace) ── */
1821
1825
  .pptxv-format-background-panel {
@@ -1823,9 +1827,9 @@
1823
1827
  flex-direction: column;
1824
1828
  gap: 6px;
1825
1829
  padding: 6px 8px;
1826
- border-bottom: 1px solid var(--pptx-border);
1827
- background: var(--pptx-muted);
1828
- color: var(--pptx-foreground);
1830
+ border-bottom: 1px solid var(--_pptx-border);
1831
+ background: var(--_pptx-muted);
1832
+ color: var(--_pptx-foreground);
1829
1833
  font-size: 12px;
1830
1834
  }
1831
1835
  .pptxv-format-background-panel[hidden] { display: none; }
@@ -1836,14 +1840,14 @@
1836
1840
  align-items: center;
1837
1841
  gap: 6px;
1838
1842
  font-size: 11px;
1839
- color: var(--pptx-muted-foreground);
1843
+ color: var(--_pptx-muted-foreground);
1840
1844
  cursor: pointer;
1841
1845
  }
1842
1846
 
1843
1847
  /* PowerPoint-style File backstage */
1844
- .pptxv-backstage{position:fixed;inset:0;z-index:200;display:flex!important;padding:0!important;background:var(--pptx-background,#fafafa);color:var(--pptx-foreground,#242424);font-family:Aptos,"Segoe UI",sans-serif}.pptxv-backstage>aside{width:148px;flex:none;display:flex;flex-direction:column;background:var(--pptx-secondary,#f5eee9);border-right:1px solid var(--pptx-border,#d7d7d7)}.pptxv-bs-back{height:48px;border:0;border-bottom:1px solid var(--pptx-border,#ddd);background:none;color:inherit;font-size:22px}.pptxv-bs-back:hover,.pptxv-backstage nav button:not(.active):hover,.pptxv-bs-recent>button:hover{background:var(--pptx-accent,#eadfd8)}.pptxv-backstage nav{display:flex;min-height:0;flex:1;flex-direction:column;overflow-y:auto;padding:8px 0}.pptxv-backstage nav i{flex:1}.pptxv-backstage nav button{min-height:40px;flex:none;padding:0 16px;border:0;border-left:2px solid transparent;background:none;color:inherit;text-align:left;font:12px inherit;white-space:pre}.pptxv-backstage nav button.active{border-left-color:var(--pptx-primary,#c43e1c);background:var(--pptx-card,#fff);color:var(--pptx-primary,#c43e1c)}.pptxv-backstage main{flex:1;min-width:0;overflow:auto;padding:20px clamp(32px,4vw,72px)}.pptxv-backstage h1{margin:0;font-size:24px;font-weight:600}.pptxv-backstage h2{margin:28px 0 18px;font-size:17px}.pptxv-bs-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:24px}.pptxv-bs-templates button{border:0;background:none;color:inherit;text-align:left}.pptxv-bs-templates button>b{display:block;aspect-ratio:16/9;border:1px solid var(--pptx-border,#ccc);box-shadow:0 1px 2px #0002;transition:.15s}.pptxv-bs-templates button:hover>b{transform:translateY(-2px);border-color:var(--pptx-primary,#c43e1c);box-shadow:0 7px 18px #0002}.pptxv-bs-templates strong,.pptxv-bs-templates small{display:block;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.pptxv-bs-templates small{margin-top:2px;color:var(--pptx-muted-foreground,#777);font-size:10px}.pptxv-bs-search{display:flex;align-items:center;gap:8px;width:min(540px,100%);height:40px;margin-top:32px;padding:0 12px;border:1px solid var(--pptx-input,#888);background:var(--pptx-card,#fff);color:var(--pptx-muted-foreground,#666)}.pptxv-bs-search input{min-width:0;flex:1;height:100%;border:0;outline:none;background:transparent;color:var(--pptx-card-foreground,#242424);font-size:13px}.pptxv-bs-search:focus-within{border-color:var(--pptx-ring,#c43e1c)}.pptxv-bs-primary{margin-top:16px;padding:10px 20px;border:0;background:var(--pptx-primary,#c43e1c);color:var(--pptx-primary-foreground,#fff);font-weight:600}.pptxv-bs-recent{border-top:1px solid var(--pptx-border,#ddd)}.pptxv-bs-recent header,.pptxv-bs-recent>button{display:grid;grid-template-columns:1fr 120px 90px;align-items:center;padding:10px 12px}.pptxv-bs-recent header{font-size:11px;font-weight:600;color:var(--pptx-muted-foreground,#666)}.pptxv-bs-recent>button{width:100%;border:0;border-top:1px solid var(--pptx-border,#e5e5e5);background:none;color:inherit;text-align:left;font-size:11px}.pptxv-bs-recent .name{display:flex;min-width:0;align-items:center;gap:12px}.pptxv-bs-recent .name>b{display:grid;width:32px;height:32px;place-items:center;background:var(--pptx-primary,#d24726);color:var(--pptx-primary-foreground,#fff)}.pptxv-bs-recent .name strong,.pptxv-bs-recent .name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400}.pptxv-bs-recent .name small,.pptxv-bs-recent p{color:var(--pptx-muted-foreground,#666);font-size:11px}.pptxv-bs-recent p{text-align:center}.pptxv-bs-actions{display:grid;max-width:900px;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}.pptxv-bs-actions button{display:flex;min-height:112px;gap:16px;padding:20px;border:1px solid var(--pptx-border,#ddd);background:var(--pptx-card,#fff);color:var(--pptx-card-foreground,#242424);text-align:left}.pptxv-bs-actions button:hover{border-color:var(--pptx-primary,#c43e1c);box-shadow:0 5px 15px #0002}.pptxv-bs-actions button>b{display:grid;width:40px;height:40px;flex:none;place-items:center;background:var(--pptx-accent,#fbe9e3);color:var(--pptx-primary,#c43e1c)}.pptxv-bs-actions strong,.pptxv-bs-actions small{display:block;font-size:15px}.pptxv-bs-actions small{margin-top:7px;color:var(--pptx-muted-foreground,#666);font-size:12px;line-height:1.5}.pptxv-bs-card{max-width:760px;margin-top:32px;padding:28px;border:1px solid var(--pptx-border,#ddd);background:var(--pptx-card,#fff);color:var(--pptx-card-foreground,#242424)}.pptxv-bs-card>b{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--pptx-primary,#c43e1c);color:var(--pptx-primary-foreground,#fff);font-size:20px}.pptxv-bs-card p,.pptxv-backstage footer{color:var(--pptx-muted-foreground,#666)}.pptxv-bs-card p{line-height:1.6}.pptxv-backstage footer{margin-top:48px;font-size:11px}@media(max-width:700px){.pptxv-backstage>aside{width:112px}.pptxv-bs-actions{grid-template-columns:1fr}.pptxv-bs-recent header,.pptxv-bs-recent>button{grid-template-columns:1fr 90px}.pptxv-bs-recent header span:last-child,.pptxv-bs-recent>button>span:last-child{display:none}}
1848
+ .pptxv-backstage{position:fixed;inset:0;z-index:200;display:flex!important;padding:0!important;background:var(--_pptx-background, #fafafa);color:var(--_pptx-foreground, #242424);font-family:Aptos,"Segoe UI",sans-serif}.pptxv-backstage>aside{width:148px;flex:none;display:flex;flex-direction:column;background:var(--_pptx-secondary, #f5eee9);border-right:1px solid var(--_pptx-border, #d7d7d7)}.pptxv-bs-back{height:48px;border:0;border-bottom:1px solid var(--_pptx-border, #ddd);background:none;color:inherit;font-size:22px}.pptxv-bs-back:hover,.pptxv-backstage nav button:not(.active):hover,.pptxv-bs-recent>button:hover{background:var(--_pptx-accent, #eadfd8)}.pptxv-backstage nav{display:flex;min-height:0;flex:1;flex-direction:column;overflow-y:auto;padding:8px 0}.pptxv-backstage nav i{flex:1}.pptxv-backstage nav button{min-height:40px;flex:none;padding:0 16px;border:0;border-left:2px solid transparent;background:none;color:inherit;text-align:left;font:12px inherit;white-space:pre}.pptxv-backstage nav button.active{border-left-color:var(--_pptx-primary, #c43e1c);background:var(--_pptx-card, #fff);color:var(--_pptx-primary, #c43e1c)}.pptxv-backstage main{flex:1;min-width:0;overflow:auto;padding:20px clamp(32px,4vw,72px)}.pptxv-backstage h1{margin:0;font-size:24px;font-weight:600}.pptxv-backstage h2{margin:28px 0 18px;font-size:17px}.pptxv-bs-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:24px}.pptxv-bs-templates button{border:0;background:none;color:inherit;text-align:left}.pptxv-bs-templates button>b{display:block;aspect-ratio:16/9;border:1px solid var(--_pptx-border, #ccc);box-shadow:0 1px 2px #0002;transition:.15s}.pptxv-bs-templates button:hover>b{transform:translateY(-2px);border-color:var(--_pptx-primary, #c43e1c);box-shadow:0 7px 18px #0002}.pptxv-bs-templates strong,.pptxv-bs-templates small{display:block;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.pptxv-bs-templates small{margin-top:2px;color:var(--_pptx-muted-foreground, #777);font-size:10px}.pptxv-bs-search{display:flex;align-items:center;gap:8px;width:min(540px,100%);height:40px;margin-top:32px;padding:0 12px;border:1px solid var(--_pptx-input, #888);background:var(--_pptx-card, #fff);color:var(--_pptx-muted-foreground, #666)}.pptxv-bs-search input{min-width:0;flex:1;height:100%;border:0;outline:none;background:transparent;color:var(--_pptx-card-foreground, #242424);font-size:13px}.pptxv-bs-search:focus-within{border-color:var(--_pptx-ring, #c43e1c)}.pptxv-bs-primary{margin-top:16px;padding:10px 20px;border:0;background:var(--_pptx-primary, #c43e1c);color:var(--_pptx-primary-foreground, #fff);font-weight:600}.pptxv-bs-recent{border-top:1px solid var(--_pptx-border, #ddd)}.pptxv-bs-recent header,.pptxv-bs-recent>button{display:grid;grid-template-columns:1fr 120px 90px;align-items:center;padding:10px 12px}.pptxv-bs-recent header{font-size:11px;font-weight:600;color:var(--_pptx-muted-foreground, #666)}.pptxv-bs-recent>button{width:100%;border:0;border-top:1px solid var(--_pptx-border, #e5e5e5);background:none;color:inherit;text-align:left;font-size:11px}.pptxv-bs-recent .name{display:flex;min-width:0;align-items:center;gap:12px}.pptxv-bs-recent .name>b{display:grid;width:32px;height:32px;place-items:center;background:var(--_pptx-primary, #d24726);color:var(--_pptx-primary-foreground, #fff)}.pptxv-bs-recent .name strong,.pptxv-bs-recent .name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400}.pptxv-bs-recent .name small,.pptxv-bs-recent p{color:var(--_pptx-muted-foreground, #666);font-size:11px}.pptxv-bs-recent p{text-align:center}.pptxv-bs-actions{display:grid;max-width:900px;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}.pptxv-bs-actions button{display:flex;min-height:112px;gap:16px;padding:20px;border:1px solid var(--_pptx-border, #ddd);background:var(--_pptx-card, #fff);color:var(--_pptx-card-foreground, #242424);text-align:left}.pptxv-bs-actions button:hover{border-color:var(--_pptx-primary, #c43e1c);box-shadow:0 5px 15px #0002}.pptxv-bs-actions button>b{display:grid;width:40px;height:40px;flex:none;place-items:center;background:var(--_pptx-accent, #fbe9e3);color:var(--_pptx-primary, #c43e1c)}.pptxv-bs-actions strong,.pptxv-bs-actions small{display:block;font-size:15px}.pptxv-bs-actions small{margin-top:7px;color:var(--_pptx-muted-foreground, #666);font-size:12px;line-height:1.5}.pptxv-bs-card{max-width:760px;margin-top:32px;padding:28px;border:1px solid var(--_pptx-border, #ddd);background:var(--_pptx-card, #fff);color:var(--_pptx-card-foreground, #242424)}.pptxv-bs-card>b{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--_pptx-primary, #c43e1c);color:var(--_pptx-primary-foreground, #fff);font-size:20px}.pptxv-bs-card p,.pptxv-backstage footer{color:var(--_pptx-muted-foreground, #666)}.pptxv-bs-card p{line-height:1.6}.pptxv-backstage footer{margin-top:48px;font-size:11px}@media(max-width:700px){.pptxv-backstage>aside{width:112px}.pptxv-bs-actions{grid-template-columns:1fr}.pptxv-bs-recent header,.pptxv-bs-recent>button{grid-template-columns:1fr 90px}.pptxv-bs-recent header span:last-child,.pptxv-bs-recent>button>span:last-child{display:none}}
1845
1849
  .pptxv-backstage nav button{display:flex;align-items:center;gap:12px;white-space:normal}.pptxv-backstage nav button>span:first-child{display:grid;width:17px;flex:none;place-items:center}
1846
- .pptxv-bs-back-row{display:flex;height:40px;flex:none;border-bottom:1px solid var(--pptx-border,#ddd)}
1850
+ .pptxv-bs-back-row{display:flex;height:40px;flex:none;border-bottom:1px solid var(--_pptx-border, #ddd)}
1847
1851
  .pptxv-bs-back{width:100%;height:40px;border-bottom:0}
1848
1852
  .pptxv-backstage nav{padding:0 0 8px}
1849
1853
  /* Mobile: stack the backstage and turn the vertical rail into a horizontal,
@@ -1851,43 +1855,43 @@
1851
1855
  Same breakpoint as the rest of the mobile chrome (mobile-sheet-css.ts). */
1852
1856
  @media (max-width: 767px), (max-width: 1023px) and (max-height: 520px) {
1853
1857
  .pptxv-backstage { flex-direction: column; }
1854
- .pptxv-backstage > aside { width: 100%; flex-direction: row; align-items: center; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--pptx-border, #d7d7d7); }
1855
- .pptxv-bs-back { min-width: 48px; flex: none; height: 48px; border-bottom: 0; border-right: 1px solid var(--pptx-border, #ddd); }
1856
- .pptxv-bs-back-row { width: 48px; height: 48px; border-bottom: 0; border-right: 1px solid var(--pptx-border, #ddd); }
1858
+ .pptxv-backstage > aside { width: 100%; flex-direction: row; align-items: center; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--_pptx-border, #d7d7d7); }
1859
+ .pptxv-bs-back { min-width: 48px; flex: none; height: 48px; border-bottom: 0; border-right: 1px solid var(--_pptx-border, #ddd); }
1860
+ .pptxv-bs-back-row { width: 48px; height: 48px; border-bottom: 0; border-right: 1px solid var(--_pptx-border, #ddd); }
1857
1861
  .pptxv-bs-back { width: 48px; height: 48px; border-right: 0; }
1858
1862
  .pptxv-backstage nav { flex-direction: row; align-items: center; flex-wrap: nowrap; overflow-y: visible; padding: 0; }
1859
1863
  .pptxv-backstage nav i { display: none; }
1860
1864
  .pptxv-backstage nav button { flex: none; white-space: nowrap; border-left: 0; border-bottom: 2px solid transparent; padding: 0 12px; }
1861
- .pptxv-backstage nav button.active { border-left-color: transparent; border-bottom-color: var(--pptx-primary, #c43e1c); }
1865
+ .pptxv-backstage nav button.active { border-left-color: transparent; border-bottom-color: var(--_pptx-primary, #c43e1c); }
1862
1866
  .pptxv-backstage main { padding: 16px; }
1863
1867
  }
1864
1868
 
1865
1869
 
1866
1870
  /* ── Primary-row quick actions ──────────────────────────────────────────── */
1867
- .pptxv-primary-sep { width: 1px; align-self: stretch; margin: 0 4px; background: color-mix(in srgb, var(--pptx-border) 40%, transparent); }
1871
+ .pptxv-primary-sep { width: 1px; align-self: stretch; margin: 0 4px; background: color-mix(in srgb, var(--_pptx-border) 40%, transparent); }
1868
1872
  /* React-style "Present" split button + its options dropdown. */
1869
- .pptxv-present-split { position: relative; display: inline-flex; align-items: stretch; border-left: 1px solid var(--pptx-border); }
1873
+ .pptxv-present-split { position: relative; display: inline-flex; align-items: stretch; border-left: 1px solid var(--_pptx-border); }
1870
1874
  .pptxv-present-main {
1871
1875
  padding: 2px 8px;
1872
1876
  border: none;
1873
1877
  background: transparent;
1874
- color: var(--pptx-foreground);
1878
+ color: var(--_pptx-foreground);
1875
1879
  font: inherit;
1876
1880
  font-size: 12px;
1877
1881
  cursor: pointer;
1878
1882
  }
1879
- .pptxv-present-main:hover { background: var(--pptx-accent); }
1883
+ .pptxv-present-main:hover { background: var(--_pptx-accent); }
1880
1884
  .pptxv-present-caret {
1881
1885
  display: inline-flex;
1882
1886
  align-items: center;
1883
1887
  padding: 0 4px;
1884
1888
  border: none;
1885
- border-left: 1px solid var(--pptx-border);
1889
+ border-left: 1px solid var(--_pptx-border);
1886
1890
  background: transparent;
1887
- color: var(--pptx-foreground);
1891
+ color: var(--_pptx-foreground);
1888
1892
  cursor: pointer;
1889
1893
  }
1890
- .pptxv-present-caret:hover, .pptxv-present-caret.is-active { background: var(--pptx-accent); }
1894
+ .pptxv-present-caret:hover, .pptxv-present-caret.is-active { background: var(--_pptx-accent); }
1891
1895
  .pptxv-present-caret svg { width: 12px; height: 12px; }
1892
1896
  /* Right-aligned popover menus (Present options + "..." overflow). */
1893
1897
  .pptxv-primary-menu {
@@ -1899,10 +1903,10 @@
1899
1903
  max-height: 320px;
1900
1904
  overflow-y: auto;
1901
1905
  padding: 4px;
1902
- border: 1px solid var(--pptx-border);
1903
- border-radius: var(--pptx-radius);
1904
- background: var(--pptx-card);
1905
- color: var(--pptx-card-foreground);
1906
+ border: 1px solid var(--_pptx-border);
1907
+ border-radius: var(--_pptx-radius);
1908
+ background: var(--_pptx-card);
1909
+ color: var(--_pptx-card-foreground);
1906
1910
  box-shadow: 0 6px 20px rgb(0 0 0 / 0.25);
1907
1911
  }
1908
1912
  .pptxv-primary-menu[hidden] { display: none; }
@@ -1920,22 +1924,22 @@
1920
1924
  white-space: nowrap;
1921
1925
  cursor: pointer;
1922
1926
  }
1923
- .pptxv-primary-menu-item:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
1924
- .pptxv-primary-menu-sep { margin: 4px 0; border-top: 1px solid color-mix(in srgb, var(--pptx-border) 60%, transparent); }
1927
+ .pptxv-primary-menu-item:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
1928
+ .pptxv-primary-menu-sep { margin: 4px 0; border-top: 1px solid color-mix(in srgb, var(--_pptx-border) 60%, transparent); }
1925
1929
  .pptxv-primary-menu-host { position: relative; display: inline-flex; }
1926
1930
  /* Custom-shows quick action ("+ Show"). */
1927
1931
  .pptxv-show-btn {
1928
1932
  padding: 2px 8px;
1929
1933
  border: none;
1930
- border-radius: var(--pptx-radius);
1931
- background: var(--pptx-muted);
1932
- color: var(--pptx-foreground);
1934
+ border-radius: var(--_pptx-radius);
1935
+ background: var(--_pptx-muted);
1936
+ color: var(--_pptx-foreground);
1933
1937
  font: inherit;
1934
1938
  font-size: 11px;
1935
1939
  white-space: nowrap;
1936
1940
  cursor: pointer;
1937
1941
  }
1938
- .pptxv-show-btn:hover { background: var(--pptx-accent); }
1942
+ .pptxv-show-btn:hover { background: var(--_pptx-accent); }
1939
1943
  /* ── Tab-row right-side actions ── */
1940
1944
  /* Right side of the tab row: Record + Share, matching React's TabRowActions. */
1941
1945
  .pptxv-tabrow-spacer { flex: 1; }
@@ -1948,40 +1952,40 @@
1948
1952
  border: none;
1949
1953
  border-radius: 3px;
1950
1954
  background: transparent;
1951
- color: var(--pptx-muted-foreground);
1955
+ color: var(--_pptx-muted-foreground);
1952
1956
  font: inherit;
1953
1957
  font-size: 11px;
1954
1958
  font-weight: 500;
1955
1959
  white-space: nowrap;
1956
1960
  cursor: pointer;
1957
1961
  }
1958
- .pptxv-tabrow-record:hover { background: var(--pptx-accent); color: var(--pptx-foreground); }
1962
+ .pptxv-tabrow-record:hover { background: var(--_pptx-accent); color: var(--_pptx-foreground); }
1959
1963
  .pptxv-tabrow-record-dot { width: 8px; height: 8px; border-radius: 50%; background: #ef4444; }
1960
1964
 
1961
1965
 
1962
1966
  .pptxv-props-overlay { position:fixed; inset:0; z-index:210; display:grid; place-items:center; background:#0009; }
1963
1967
  .pptxv-props-scrim { position:absolute; inset:0; width:100%; height:100%; border:0; background:transparent; }
1964
- .pptxv-props-dialog { position:relative; width:min(680px,calc(100vw - 32px)); max-height:calc(100vh - 40px); overflow:auto; border:1px solid var(--pptx-border); border-radius:10px; background:var(--pptx-card); color:var(--pptx-card-foreground); box-shadow:0 24px 80px #0008; }
1965
- .pptxv-props-dialog header,.pptxv-props-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 16px; border-bottom:1px solid var(--pptx-border); }
1968
+ .pptxv-props-dialog { position:relative; width:min(680px,calc(100vw - 32px)); max-height:calc(100vh - 40px); overflow:auto; border:1px solid var(--_pptx-border); border-radius:10px; background:var(--_pptx-card); color:var(--_pptx-card-foreground); box-shadow:0 24px 80px #0008; }
1969
+ .pptxv-props-dialog header,.pptxv-props-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 16px; border-bottom:1px solid var(--_pptx-border); }
1966
1970
  .pptxv-props-dialog h2 { margin:0; font-size:16px; }
1967
- .pptxv-props-dialog button,.pptxv-props-dialog input,.pptxv-props-dialog select { border:1px solid var(--pptx-border); border-radius:5px; padding:6px 8px; background:var(--pptx-muted); color:inherit; }
1971
+ .pptxv-props-dialog button,.pptxv-props-dialog input,.pptxv-props-dialog select { border:1px solid var(--_pptx-border); border-radius:5px; padding:6px 8px; background:var(--_pptx-muted); color:inherit; }
1968
1972
  .pptxv-props-tabs { display:flex; gap:4px; padding:8px 16px 0; }
1969
- .pptxv-props-tabs .is-active,.pptxv-props-dialog .is-primary { background:var(--pptx-primary); color:#fff; }
1973
+ .pptxv-props-tabs .is-active,.pptxv-props-dialog .is-primary { background:var(--_pptx-primary); color:#fff; }
1970
1974
  .pptxv-props-body { min-height:310px; padding:16px; }
1971
1975
  .pptxv-props-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
1972
- .pptxv-props-grid label { display:grid; gap:4px; font-size:11px; color:var(--pptx-muted-foreground); }
1973
- .pptxv-props-grid input { color:var(--pptx-foreground); }
1976
+ .pptxv-props-grid label { display:grid; gap:4px; font-size:11px; color:var(--_pptx-muted-foreground); }
1977
+ .pptxv-props-grid input { color:var(--_pptx-foreground); }
1974
1978
  .pptxv-props-stats { display:grid; grid-template-columns:1fr auto; gap:8px 24px; margin:0; }
1975
- .pptxv-props-stats dt { color:var(--pptx-muted-foreground); }
1979
+ .pptxv-props-stats dt { color:var(--_pptx-muted-foreground); }
1976
1980
  .pptxv-props-stats dd { margin:0; }
1977
1981
  .pptxv-props-custom { display:grid; gap:8px; }
1978
1982
  .pptxv-props-custom-row { display:grid; grid-template-columns:1fr 1fr 100px 34px; gap:6px; }
1979
- .pptxv-props-dialog footer { justify-content:flex-end; border-top:1px solid var(--pptx-border); border-bottom:0; }
1983
+ .pptxv-props-dialog footer { justify-content:flex-end; border-top:1px solid var(--_pptx-border); border-bottom:0; }
1980
1984
  @media (max-width:600px) { .pptxv-props-grid,.pptxv-props-custom-row { grid-template-columns:1fr; } }
1981
1985
 
1982
1986
 
1983
- .pptxv-info-overlay{position:fixed;inset:0;z-index:220;display:grid;place-items:center;background:#0009}.pptxv-info-scrim{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent}.pptxv-info-dialog{position:relative;width:min(460px,calc(100vw - 32px));max-height:80vh;overflow:auto;border:1px solid var(--pptx-border);border-radius:12px;background:var(--pptx-card);color:var(--pptx-card-foreground);box-shadow:0 24px 80px #0008}.pptxv-info-dialog header,.pptxv-info-dialog footer{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--pptx-border)}.pptxv-info-dialog header{justify-content:space-between}.pptxv-info-dialog h2,.pptxv-info-dialog h3,.pptxv-info-dialog p{margin:0}.pptxv-info-dialog h2{font-size:14px}.pptxv-info-dialog h3{font-size:12px}.pptxv-info-body{display:grid;gap:14px;padding:18px}.pptxv-info-dialog button,.pptxv-info-dialog input{border:1px solid var(--pptx-border);border-radius:6px;padding:7px 9px;background:var(--pptx-muted);color:inherit}.pptxv-info-dialog .is-primary{background:var(--pptx-primary);color:#fff}.pptxv-info-dialog .is-danger,.pptxv-info-error,.pptxv-info-row em.is-missing{color:#f87171}.pptxv-info-description,.pptxv-info-status,.pptxv-info-field span{color:var(--pptx-muted-foreground);font-size:12px}.pptxv-info-toggle{display:flex;align-items:center;gap:9px;font-size:12px}.pptxv-info-list{display:grid;gap:6px;max-height:280px;overflow:auto}.pptxv-info-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:8px;background:var(--pptx-muted);font-size:12px}.pptxv-info-badges{display:flex;align-items:center;gap:7px}.pptxv-info-badges b{padding:2px 5px;border-radius:4px;background:#16653455;color:#86efac;font-size:10px}.pptxv-info-badges em{color:#4ade80;font-style:normal}.pptxv-info-notice{display:flex;gap:10px;padding:12px;border:1px solid var(--pptx-border);border-radius:9px;background:var(--pptx-muted);font-size:12px}.pptxv-info-notice.is-signed,.pptxv-info-protected{border-color:#15803d66;background:#14532d33;color:#86efac}.pptxv-info-notice.is-warning{border-color:#b4530966;background:#78350f33;color:#fde68a}.pptxv-info-notice b{display:grid;width:20px;height:20px;flex:none;place-items:center;border:1px solid currentColor;border-radius:50%}.pptxv-info-protected{padding:9px;border:1px solid;border-radius:7px;font-size:12px}.pptxv-info-field{display:grid;gap:5px}.pptxv-info-strength{color:#eab308;letter-spacing:3px}.pptxv-info-error{min-height:14px;font-size:11px}.pptxv-info-spacer{flex:1}.pptxv-info-dialog footer{border-top:1px solid var(--pptx-border);border-bottom:0}
1984
- .pptxv-version-history{position:absolute;z-index:210;inset:0 0 0 auto;display:flex;width:min(320px,100%);flex-direction:column;border-left:1px solid var(--pptx-border);background:var(--pptx-background);color:var(--pptx-foreground);box-shadow:-18px 0 48px #0005}.pptxv-version-history>header{display:flex;min-height:48px;align-items:center;gap:9px;padding:0 12px;border-bottom:1px solid var(--pptx-border)}.pptxv-version-history h2{flex:1;margin:0;font-size:14px}.pptxv-version-history button{border:0;border-radius:6px;padding:6px 9px;background:transparent;color:inherit}.pptxv-version-history button:hover{background:var(--pptx-accent)}.pptxv-version-content{flex:1;overflow:auto;color:var(--pptx-muted-foreground);font-size:12px}.pptxv-version-empty{padding:32px 14px;text-align:center}.pptxv-version-content article{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px;border-bottom:1px solid var(--pptx-border)}.pptxv-version-content article strong{color:var(--pptx-foreground);font-weight:500}.pptxv-version-content article p{grid-column:1/-1;margin:0;font-size:10px}.pptxv-version-content article footer{grid-column:1/-1;display:flex;gap:6px;margin-top:8px}.pptxv-version-content .is-primary{background:color-mix(in srgb,var(--pptx-primary) 20%,transparent);color:var(--pptx-primary)}.pptxv-version-content .is-danger{color:#f87171}@media(max-width:600px){.pptxv-info-dialog{position:fixed;inset:auto 0 0;width:100%;max-height:88dvh;border-radius:16px 16px 0 0}.pptxv-version-history{position:fixed;top:auto;height:min(72dvh,560px);border-top:1px solid var(--pptx-border);border-left:0}}
1987
+ .pptxv-info-overlay{position:fixed;inset:0;z-index:220;display:grid;place-items:center;background:#0009}.pptxv-info-scrim{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent}.pptxv-info-dialog{position:relative;width:min(460px,calc(100vw - 32px));max-height:80vh;overflow:auto;border:1px solid var(--_pptx-border);border-radius:12px;background:var(--_pptx-card);color:var(--_pptx-card-foreground);box-shadow:0 24px 80px #0008}.pptxv-info-dialog header,.pptxv-info-dialog footer{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--_pptx-border)}.pptxv-info-dialog header{justify-content:space-between}.pptxv-info-dialog h2,.pptxv-info-dialog h3,.pptxv-info-dialog p{margin:0}.pptxv-info-dialog h2{font-size:14px}.pptxv-info-dialog h3{font-size:12px}.pptxv-info-body{display:grid;gap:14px;padding:18px}.pptxv-info-dialog button,.pptxv-info-dialog input{border:1px solid var(--_pptx-border);border-radius:6px;padding:7px 9px;background:var(--_pptx-muted);color:inherit}.pptxv-info-dialog .is-primary{background:var(--_pptx-primary);color:#fff}.pptxv-info-dialog .is-danger,.pptxv-info-error,.pptxv-info-row em.is-missing{color:#f87171}.pptxv-info-description,.pptxv-info-status,.pptxv-info-field span{color:var(--_pptx-muted-foreground);font-size:12px}.pptxv-info-toggle{display:flex;align-items:center;gap:9px;font-size:12px}.pptxv-info-list{display:grid;gap:6px;max-height:280px;overflow:auto}.pptxv-info-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:8px;background:var(--_pptx-muted);font-size:12px}.pptxv-info-badges{display:flex;align-items:center;gap:7px}.pptxv-info-badges b{padding:2px 5px;border-radius:4px;background:#16653455;color:#86efac;font-size:10px}.pptxv-info-badges em{color:#4ade80;font-style:normal}.pptxv-info-notice{display:flex;gap:10px;padding:12px;border:1px solid var(--_pptx-border);border-radius:9px;background:var(--_pptx-muted);font-size:12px}.pptxv-info-notice.is-signed,.pptxv-info-protected{border-color:#15803d66;background:#14532d33;color:#86efac}.pptxv-info-notice.is-warning{border-color:#b4530966;background:#78350f33;color:#fde68a}.pptxv-info-notice b{display:grid;width:20px;height:20px;flex:none;place-items:center;border:1px solid currentColor;border-radius:50%}.pptxv-info-protected{padding:9px;border:1px solid;border-radius:7px;font-size:12px}.pptxv-info-field{display:grid;gap:5px}.pptxv-info-strength{color:#eab308;letter-spacing:3px}.pptxv-info-error{min-height:14px;font-size:11px}.pptxv-info-spacer{flex:1}.pptxv-info-dialog footer{border-top:1px solid var(--_pptx-border);border-bottom:0}
1988
+ .pptxv-version-history{position:absolute;z-index:210;inset:0 0 0 auto;display:flex;width:min(320px,100%);flex-direction:column;border-left:1px solid var(--_pptx-border);background:var(--_pptx-background);color:var(--_pptx-foreground);box-shadow:-18px 0 48px #0005}.pptxv-version-history>header{display:flex;min-height:48px;align-items:center;gap:9px;padding:0 12px;border-bottom:1px solid var(--_pptx-border)}.pptxv-version-history h2{flex:1;margin:0;font-size:14px}.pptxv-version-history button{border:0;border-radius:6px;padding:6px 9px;background:transparent;color:inherit}.pptxv-version-history button:hover{background:var(--_pptx-accent)}.pptxv-version-content{flex:1;overflow:auto;color:var(--_pptx-muted-foreground);font-size:12px}.pptxv-version-empty{padding:32px 14px;text-align:center}.pptxv-version-content article{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px;border-bottom:1px solid var(--_pptx-border)}.pptxv-version-content article strong{color:var(--_pptx-foreground);font-weight:500}.pptxv-version-content article p{grid-column:1/-1;margin:0;font-size:10px}.pptxv-version-content article footer{grid-column:1/-1;display:flex;gap:6px;margin-top:8px}.pptxv-version-content .is-primary{background:color-mix(in srgb,var(--_pptx-primary) 20%,transparent);color:var(--_pptx-primary)}.pptxv-version-content .is-danger{color:#f87171}@media(max-width:600px){.pptxv-info-dialog{position:fixed;inset:auto 0 0;width:100%;max-height:88dvh;border-radius:16px 16px 0 0}.pptxv-version-history{position:fixed;top:auto;height:min(72dvh,560px);border-top:1px solid var(--_pptx-border);border-left:0}}
1985
1989
 
1986
1990
 
1987
1991
  .pptxv-smartart-dialog-layer {
@@ -2011,10 +2015,10 @@
2011
2015
  width: min(600px, 90vw);
2012
2016
  max-height: 80vh;
2013
2017
  overflow: hidden;
2014
- border: 1px solid var(--pptx-border);
2018
+ border: 1px solid var(--_pptx-border);
2015
2019
  border-radius: 8px;
2016
- background: var(--pptx-background);
2017
- color: var(--pptx-foreground);
2020
+ background: var(--_pptx-background);
2021
+ color: var(--_pptx-foreground);
2018
2022
  box-shadow: 0 20px 50px rgb(0 0 0 / 0.35);
2019
2023
  }
2020
2024
  .pptxv-smartart-dialog:focus { outline: none; }
@@ -2026,7 +2030,7 @@
2026
2030
  }
2027
2031
  .pptxv-smartart-dialog-header {
2028
2032
  justify-content: space-between;
2029
- border-bottom: 1px solid var(--pptx-border);
2033
+ border-bottom: 1px solid var(--_pptx-border);
2030
2034
  }
2031
2035
  .pptxv-smartart-dialog-header h2 { margin: 0; font-size: 14px; font-weight: 500; }
2032
2036
  .pptxv-smartart-dialog-close {
@@ -2036,7 +2040,7 @@
2036
2040
  padding: 0;
2037
2041
  place-items: center;
2038
2042
  border: 0;
2039
- border-radius: var(--pptx-radius);
2043
+ border-radius: var(--_pptx-radius);
2040
2044
  background: transparent;
2041
2045
  color: inherit;
2042
2046
  font: inherit;
@@ -2044,12 +2048,12 @@
2044
2048
  line-height: 1;
2045
2049
  cursor: pointer;
2046
2050
  }
2047
- .pptxv-smartart-dialog-close:hover { background: var(--pptx-muted); }
2051
+ .pptxv-smartart-dialog-close:hover { background: var(--_pptx-muted); }
2048
2052
  .pptxv-smartart-dialog-body { display: flex; flex: 1; min-height: 0; overflow: hidden; }
2049
2053
  .pptxv-smartart-categories {
2050
2054
  flex: 0 0 160px;
2051
2055
  padding: 8px 0;
2052
- border-right: 1px solid var(--pptx-border);
2056
+ border-right: 1px solid var(--_pptx-border);
2053
2057
  }
2054
2058
  .pptxv-smartart-category {
2055
2059
  display: block;
@@ -2063,8 +2067,8 @@
2063
2067
  text-align: left;
2064
2068
  cursor: pointer;
2065
2069
  }
2066
- .pptxv-smartart-category:hover { background: var(--pptx-muted); }
2067
- .pptxv-smartart-category.is-active { background: var(--pptx-primary); color: #fff; }
2070
+ .pptxv-smartart-category:hover { background: var(--_pptx-muted); }
2071
+ .pptxv-smartart-category.is-active { background: var(--_pptx-primary); color: #fff; }
2068
2072
  .pptxv-smartart-gallery { flex: 1; min-width: 0; overflow-y: auto; padding: 12px; }
2069
2073
  .pptxv-smartart-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
2070
2074
  .pptxv-smartart-option {
@@ -2074,35 +2078,35 @@
2074
2078
  align-items: center;
2075
2079
  flex-direction: column;
2076
2080
  gap: 4px;
2077
- border: 1px solid var(--pptx-border);
2078
- border-radius: var(--pptx-radius);
2081
+ border: 1px solid var(--_pptx-border);
2082
+ border-radius: var(--_pptx-radius);
2079
2083
  background: transparent;
2080
2084
  color: inherit;
2081
2085
  font: inherit;
2082
2086
  cursor: pointer;
2083
2087
  }
2084
- .pptxv-smartart-option:hover { background: color-mix(in srgb, var(--pptx-muted) 50%, transparent); }
2088
+ .pptxv-smartart-option:hover { background: color-mix(in srgb, var(--_pptx-muted) 50%, transparent); }
2085
2089
  .pptxv-smartart-option.is-selected {
2086
- border-color: var(--pptx-primary);
2087
- background: color-mix(in srgb, var(--pptx-primary) 20%, transparent);
2090
+ border-color: var(--_pptx-primary);
2091
+ background: color-mix(in srgb, var(--_pptx-primary) 20%, transparent);
2088
2092
  }
2089
2093
  .pptxv-smartart-option-preview {
2090
2094
  display: grid;
2091
2095
  width: 64px;
2092
2096
  height: 48px;
2093
2097
  place-items: center;
2094
- border-radius: var(--pptx-radius);
2095
- background: var(--pptx-muted);
2096
- color: var(--pptx-primary);
2098
+ border-radius: var(--_pptx-radius);
2099
+ background: var(--_pptx-muted);
2100
+ color: var(--_pptx-primary);
2097
2101
  }
2098
2102
  .pptxv-smartart-option-preview svg { width: 30px; height: 30px; }
2099
2103
  .pptxv-smartart-option-label { font-size: 10px; line-height: 1.25; text-align: center; }
2100
2104
  .pptxv-smartart-dialog-footer {
2101
2105
  justify-content: flex-end;
2102
2106
  gap: 8px;
2103
- border-top: 1px solid var(--pptx-border);
2107
+ border-top: 1px solid var(--_pptx-border);
2104
2108
  }
2105
- .pptxv-smartart-dialog button:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: 1px; }
2109
+ .pptxv-smartart-dialog button:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: 1px; }
2106
2110
 
2107
2111
  @media (max-width: 767px) {
2108
2112
  .pptxv-smartart-dialog-layer { align-items: flex-end; }
@@ -2139,10 +2143,10 @@
2139
2143
  width: min(640px, 92vw);
2140
2144
  max-height: 80vh;
2141
2145
  overflow: hidden;
2142
- border: 1px solid var(--pptx-border);
2146
+ border: 1px solid var(--_pptx-border);
2143
2147
  border-radius: 8px;
2144
- background: var(--pptx-background);
2145
- color: var(--pptx-foreground);
2148
+ background: var(--_pptx-background);
2149
+ color: var(--_pptx-foreground);
2146
2150
  box-shadow: 0 20px 50px rgb(0 0 0 / 0.35);
2147
2151
  }
2148
2152
  .pptxv-tpl-dialog:focus { outline: none; }
@@ -2154,11 +2158,11 @@
2154
2158
  }
2155
2159
  .pptxv-tpl-dialog-header {
2156
2160
  justify-content: space-between;
2157
- border-bottom: 1px solid var(--pptx-border);
2161
+ border-bottom: 1px solid var(--_pptx-border);
2158
2162
  }
2159
2163
  .pptxv-tpl-dialog-heading { display: flex; flex-direction: column; gap: 2px; }
2160
2164
  .pptxv-tpl-dialog-heading h2 { margin: 0; font-size: 14px; font-weight: 500; }
2161
- .pptxv-tpl-dialog-heading p { margin: 0; font-size: 11px; color: var(--pptx-muted-foreground); }
2165
+ .pptxv-tpl-dialog-heading p { margin: 0; font-size: 11px; color: var(--_pptx-muted-foreground); }
2162
2166
  .pptxv-tpl-dialog-close {
2163
2167
  display: grid;
2164
2168
  width: 28px;
@@ -2166,7 +2170,7 @@
2166
2170
  padding: 0;
2167
2171
  place-items: center;
2168
2172
  border: 0;
2169
- border-radius: var(--pptx-radius);
2173
+ border-radius: var(--_pptx-radius);
2170
2174
  background: transparent;
2171
2175
  color: inherit;
2172
2176
  font: inherit;
@@ -2174,7 +2178,7 @@
2174
2178
  line-height: 1;
2175
2179
  cursor: pointer;
2176
2180
  }
2177
- .pptxv-tpl-dialog-close:hover { background: var(--pptx-muted); }
2181
+ .pptxv-tpl-dialog-close:hover { background: var(--_pptx-muted); }
2178
2182
  .pptxv-tpl-dialog-body { flex: 1; min-height: 0; overflow-y: auto; padding: 12px; }
2179
2183
  .pptxv-tpl-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
2180
2184
  .pptxv-tpl-option {
@@ -2184,26 +2188,26 @@
2184
2188
  align-items: center;
2185
2189
  flex-direction: column;
2186
2190
  gap: 4px;
2187
- border: 1px solid var(--pptx-border);
2188
- border-radius: var(--pptx-radius);
2191
+ border: 1px solid var(--_pptx-border);
2192
+ border-radius: var(--_pptx-radius);
2189
2193
  background: transparent;
2190
2194
  color: inherit;
2191
2195
  font: inherit;
2192
2196
  cursor: pointer;
2193
2197
  }
2194
- .pptxv-tpl-option:hover { background: color-mix(in srgb, var(--pptx-muted) 50%, transparent); }
2198
+ .pptxv-tpl-option:hover { background: color-mix(in srgb, var(--_pptx-muted) 50%, transparent); }
2195
2199
  .pptxv-tpl-option.is-selected {
2196
- border-color: var(--pptx-primary);
2197
- background: color-mix(in srgb, var(--pptx-primary) 20%, transparent);
2200
+ border-color: var(--_pptx-primary);
2201
+ background: color-mix(in srgb, var(--_pptx-primary) 20%, transparent);
2198
2202
  }
2199
- .pptxv-tpl-preview { border-radius: var(--pptx-radius); }
2203
+ .pptxv-tpl-preview { border-radius: var(--_pptx-radius); }
2200
2204
  .pptxv-tpl-option-label { font-size: 10px; line-height: 1.25; text-align: center; }
2201
2205
  .pptxv-tpl-dialog-footer {
2202
2206
  justify-content: flex-end;
2203
2207
  gap: 8px;
2204
- border-top: 1px solid var(--pptx-border);
2208
+ border-top: 1px solid var(--_pptx-border);
2205
2209
  }
2206
- .pptxv-tpl-dialog button:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: 1px; }
2210
+ .pptxv-tpl-dialog button:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: 1px; }
2207
2211
 
2208
2212
  @media (max-width: 767px) {
2209
2213
  .pptxv-tpl-dialog-layer { align-items: flex-end; }
@@ -2214,24 +2218,24 @@
2214
2218
 
2215
2219
  .pptxv-eqdlg-root[hidden] { display: none; }
2216
2220
  .pptxv-eqdlg-backdrop { position: fixed; inset: 0; z-index: 1200; border: 0; background: rgb(0 0 0 / .55); }
2217
- .pptxv-eqdlg { position: fixed; z-index: 1201; top: 50%; left: 50%; display: flex; flex-direction: column; gap: 12px; width: min(600px, calc(100vw - 32px)); max-height: 85vh; overflow-y: auto; transform: translate(-50%, -50%); padding: 16px; border: 1px solid var(--pptx-border); border-radius: 10px; background: var(--pptx-background); color: var(--pptx-foreground); box-shadow: 0 24px 70px rgb(0 0 0 / .34); }
2221
+ .pptxv-eqdlg { position: fixed; z-index: 1201; top: 50%; left: 50%; display: flex; flex-direction: column; gap: 12px; width: min(600px, calc(100vw - 32px)); max-height: 85vh; overflow-y: auto; transform: translate(-50%, -50%); padding: 16px; border: 1px solid var(--_pptx-border); border-radius: 10px; background: var(--_pptx-background); color: var(--_pptx-foreground); box-shadow: 0 24px 70px rgb(0 0 0 / .34); }
2218
2222
  .pptxv-eqdlg-header { display: flex; align-items: center; justify-content: space-between; }
2219
2223
  .pptxv-eqdlg-header h2 { margin: 0; font-size: 14px; }
2220
- .pptxv-eqdlg-close { border: 0; background: transparent; color: var(--pptx-muted-foreground); font-size: 18px; cursor: pointer; border-radius: var(--pptx-radius); padding: 0 6px; }
2221
- .pptxv-eqdlg-close:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
2222
- .pptxv-eqdlg-preview { display: flex; align-items: center; justify-content: center; min-height: 72px; padding: 12px; border: 1px solid var(--pptx-border); border-radius: var(--pptx-radius); background: var(--pptx-muted); font-size: 22px; font-family: 'Cambria Math', 'STIX Two Math', serif; }
2223
- .pptxv-eqdlg-preview.is-empty { font-size: 12px; font-style: italic; font-family: inherit; color: var(--pptx-muted-foreground); }
2224
+ .pptxv-eqdlg-close { border: 0; background: transparent; color: var(--_pptx-muted-foreground); font-size: 18px; cursor: pointer; border-radius: var(--_pptx-radius); padding: 0 6px; }
2225
+ .pptxv-eqdlg-close:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
2226
+ .pptxv-eqdlg-preview { display: flex; align-items: center; justify-content: center; min-height: 72px; padding: 12px; border: 1px solid var(--_pptx-border); border-radius: var(--_pptx-radius); background: var(--_pptx-muted); font-size: 22px; font-family: 'Cambria Math', 'STIX Two Math', serif; }
2227
+ .pptxv-eqdlg-preview.is-empty { font-size: 12px; font-style: italic; font-family: inherit; color: var(--_pptx-muted-foreground); }
2224
2228
  .pptxv-eqdlg-field { display: flex; flex-direction: column; gap: 5px; }
2225
- .pptxv-eqdlg-label { font-size: 11px; font-weight: 500; color: var(--pptx-muted-foreground); }
2226
- .pptxv-eqdlg-input { width: 100%; padding: 6px 8px; border: 1px solid var(--pptx-border); border-radius: var(--pptx-radius); background: var(--pptx-muted); color: inherit; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; resize: vertical; }
2229
+ .pptxv-eqdlg-label { font-size: 11px; font-weight: 500; color: var(--_pptx-muted-foreground); }
2230
+ .pptxv-eqdlg-input { width: 100%; padding: 6px 8px; border: 1px solid var(--_pptx-border); border-radius: var(--_pptx-radius); background: var(--_pptx-muted); color: inherit; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; resize: vertical; }
2227
2231
  .pptxv-eqdlg-input:disabled { opacity: 0.4; }
2228
- .pptxv-eqdlg-hint { font-size: 10px; color: var(--pptx-muted-foreground); }
2232
+ .pptxv-eqdlg-hint { font-size: 10px; color: var(--_pptx-muted-foreground); }
2229
2233
  .pptxv-eqdlg-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
2230
- .pptxv-eqdlg-template { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 7px; border: 1px solid var(--pptx-border); border-radius: var(--pptx-radius); background: var(--pptx-muted); color: inherit; cursor: pointer; }
2231
- .pptxv-eqdlg-template:hover { background: var(--pptx-accent); }
2232
- .pptxv-eqdlg-template.is-active { border-color: var(--pptx-primary); background: color-mix(in srgb, var(--pptx-primary) 14%, transparent); }
2234
+ .pptxv-eqdlg-template { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 7px; border: 1px solid var(--_pptx-border); border-radius: var(--_pptx-radius); background: var(--_pptx-muted); color: inherit; cursor: pointer; }
2235
+ .pptxv-eqdlg-template:hover { background: var(--_pptx-accent); }
2236
+ .pptxv-eqdlg-template.is-active { border-color: var(--_pptx-primary); background: color-mix(in srgb, var(--_pptx-primary) 14%, transparent); }
2233
2237
  .pptxv-eqdlg-template-math { display: flex; align-items: center; justify-content: center; height: 28px; overflow: hidden; font-size: 13px; font-family: 'Cambria Math', 'STIX Two Math', serif; }
2234
- .pptxv-eqdlg-template-label { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; font-size: 9px; color: var(--pptx-muted-foreground); }
2238
+ .pptxv-eqdlg-template-label { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; font-size: 9px; color: var(--_pptx-muted-foreground); }
2235
2239
  .pptxv-eqdlg-footer { display: flex; justify-content: flex-end; gap: 7px; }
2236
2240
  @media (max-width: 767px) { .pptxv-eqdlg { top: auto; bottom: 0; width: 100%; max-height: 88dvh; transform: translateX(-50%); border-radius: 16px 16px 0 0; } }
2237
2241
 
@@ -2254,10 +2258,10 @@
2254
2258
  min-width: 320px;
2255
2259
  max-width: min(92vw, 480px);
2256
2260
  overflow: hidden;
2257
- border: 1px solid var(--pptx-border);
2258
- border-radius: var(--pptx-radius);
2259
- background: var(--pptx-card);
2260
- color: var(--pptx-card-foreground);
2261
+ border: 1px solid var(--_pptx-border);
2262
+ border-radius: var(--_pptx-radius);
2263
+ background: var(--_pptx-card);
2264
+ color: var(--_pptx-card-foreground);
2261
2265
  box-shadow: 0 12px 36px rgb(0 0 0 / 0.35);
2262
2266
  overscroll-behavior: contain;
2263
2267
  }
@@ -2268,7 +2272,7 @@
2268
2272
  justify-content: space-between;
2269
2273
  gap: 12px;
2270
2274
  padding: 12px 16px;
2271
- border-bottom: 1px solid var(--pptx-border);
2275
+ border-bottom: 1px solid var(--_pptx-border);
2272
2276
  }
2273
2277
  .pptxv-modal-title { margin: 0; font-size: 14px; font-weight: 600; }
2274
2278
  .pptxv-modal-close {
@@ -2280,65 +2284,65 @@
2280
2284
  border: none;
2281
2285
  border-radius: 4px;
2282
2286
  background: transparent;
2283
- color: var(--pptx-muted-foreground);
2287
+ color: var(--_pptx-muted-foreground);
2284
2288
  font-size: 18px;
2285
2289
  line-height: 1;
2286
2290
  cursor: pointer;
2287
2291
  }
2288
- .pptxv-modal-close:hover { background: var(--pptx-muted); color: var(--pptx-foreground); }
2292
+ .pptxv-modal-close:hover { background: var(--_pptx-muted); color: var(--_pptx-foreground); }
2289
2293
  .pptxv-modal-body { overflow-y: auto; padding: 16px; }
2290
2294
  .pptxv-modal-footer {
2291
2295
  display: flex;
2292
2296
  justify-content: flex-end;
2293
2297
  gap: 8px;
2294
2298
  padding: 12px 16px;
2295
- border-top: 1px solid var(--pptx-border);
2299
+ border-top: 1px solid var(--_pptx-border);
2296
2300
  }
2297
2301
  .pptxv-modal-section { display: flex; flex-direction: column; gap: 12px; }
2298
2302
  .pptxv-modal-section[hidden] { display: none; }
2299
- .pptxv-share-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 8px; background: var(--pptx-muted); }
2300
- .pptxv-share-tabs button { border: 0; border-radius: 6px; background: transparent; color: var(--pptx-muted-foreground); padding: 6px 10px; font: 500 12px/1.2 inherit; cursor: pointer; }
2301
- .pptxv-share-tabs button[aria-selected='true'] { background: var(--pptx-background); color: var(--pptx-foreground); box-shadow: 0 1px 2px rgb(0 0 0 / 0.18); }
2302
- .pptxv-modal-desc { margin: 0; font-size: 13px; line-height: 1.5; color: var(--pptx-muted-foreground); }
2303
- .pptxv-modal-hint { margin: 4px 0 0; font-size: 11px; color: var(--pptx-muted-foreground); }
2303
+ .pptxv-share-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 8px; background: var(--_pptx-muted); }
2304
+ .pptxv-share-tabs button { border: 0; border-radius: 6px; background: transparent; color: var(--_pptx-muted-foreground); padding: 6px 10px; font: 500 12px/1.2 inherit; cursor: pointer; }
2305
+ .pptxv-share-tabs button[aria-selected='true'] { background: var(--_pptx-background); color: var(--_pptx-foreground); box-shadow: 0 1px 2px rgb(0 0 0 / 0.18); }
2306
+ .pptxv-modal-desc { margin: 0; font-size: 13px; line-height: 1.5; color: var(--_pptx-muted-foreground); }
2307
+ .pptxv-modal-hint { margin: 4px 0 0; font-size: 11px; color: var(--_pptx-muted-foreground); }
2304
2308
  .pptxv-modal-hint[hidden] { display: none; }
2305
2309
  .pptxv-modal-field { display: flex; flex-direction: column; gap: 6px; }
2306
2310
  .pptxv-modal-label { font-size: 12px; font-weight: 500; }
2307
2311
  .pptxv-modal-input {
2308
2312
  width: 100%;
2309
2313
  padding: 6px 10px;
2310
- border: 1px solid var(--pptx-border);
2311
- border-radius: var(--pptx-radius);
2312
- background: var(--pptx-background);
2313
- color: var(--pptx-foreground);
2314
+ border: 1px solid var(--_pptx-border);
2315
+ border-radius: var(--_pptx-radius);
2316
+ background: var(--_pptx-background);
2317
+ color: var(--_pptx-foreground);
2314
2318
  font: inherit;
2315
2319
  font-size: 13px;
2316
2320
  }
2317
- .pptxv-modal-input:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -1px; }
2321
+ .pptxv-modal-input:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -1px; }
2318
2322
  .pptxv-modal-link-row { display: flex; align-items: center; gap: 8px; }
2319
2323
  .pptxv-modal-link-row .pptxv-modal-input { flex: 1; }
2320
2324
  .pptxv-modal-btn {
2321
2325
  padding: 6px 12px;
2322
- border: 1px solid var(--pptx-border);
2323
- border-radius: var(--pptx-radius);
2324
- background: var(--pptx-muted);
2325
- color: var(--pptx-foreground);
2326
+ border: 1px solid var(--_pptx-border);
2327
+ border-radius: var(--_pptx-radius);
2328
+ background: var(--_pptx-muted);
2329
+ color: var(--_pptx-foreground);
2326
2330
  font-size: 12px;
2327
2331
  white-space: nowrap;
2328
2332
  cursor: pointer;
2329
2333
  }
2330
- .pptxv-modal-btn:hover:not(:disabled) { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
2334
+ .pptxv-modal-btn:hover:not(:disabled) { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
2331
2335
  .pptxv-modal-btn:disabled { opacity: 0.4; cursor: default; }
2332
2336
  .pptxv-modal-btn-primary {
2333
- border-color: var(--pptx-primary);
2334
- background: var(--pptx-primary);
2335
- color: var(--pptx-primary-foreground);
2337
+ border-color: var(--_pptx-primary);
2338
+ background: var(--_pptx-primary);
2339
+ color: var(--_pptx-primary-foreground);
2336
2340
  }
2337
2341
  .pptxv-modal-danger-btn {
2338
2342
  width: 100%;
2339
2343
  padding: 8px 12px;
2340
2344
  border: 1px solid rgb(239 68 68 / 0.3);
2341
- border-radius: var(--pptx-radius);
2345
+ border-radius: var(--_pptx-radius);
2342
2346
  background: rgb(239 68 68 / 0.1);
2343
2347
  color: #f87171;
2344
2348
  font-size: 12px;
@@ -2366,19 +2370,19 @@
2366
2370
  .pptxv-share-status-row { display: flex; align-items: center; gap: 8px; font-size: 13px; }
2367
2371
  .pptxv-share-status-row .pptxv-collab-status-dot { flex-shrink: 0; }
2368
2372
  .pptxv-share-status-text { font-weight: 500; text-transform: capitalize; }
2369
- .pptxv-share-count { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--pptx-muted-foreground); }
2370
- .pptxv-share-details { display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--pptx-muted-foreground); }
2371
- .pptxv-share-details code { font-family: monospace; color: var(--pptx-foreground); }
2373
+ .pptxv-share-count { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--_pptx-muted-foreground); }
2374
+ .pptxv-share-details { display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--_pptx-muted-foreground); }
2375
+ .pptxv-share-details code { font-family: monospace; color: var(--_pptx-foreground); }
2372
2376
  .pptxv-share-users-list {
2373
2377
  display: flex;
2374
2378
  flex-direction: column;
2375
2379
  max-height: 140px;
2376
2380
  overflow-y: auto;
2377
- border: 1px solid var(--pptx-border);
2378
- border-radius: var(--pptx-radius);
2379
- background: var(--pptx-background);
2381
+ border: 1px solid var(--_pptx-border);
2382
+ border-radius: var(--_pptx-radius);
2383
+ background: var(--_pptx-background);
2380
2384
  }
2381
- .pptxv-share-user { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-bottom: 1px solid var(--pptx-border); }
2385
+ .pptxv-share-user { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-bottom: 1px solid var(--_pptx-border); }
2382
2386
  .pptxv-share-user:last-child { border-bottom: none; }
2383
2387
  .pptxv-share-user-avatar {
2384
2388
  display: inline-flex;
@@ -2395,7 +2399,7 @@
2395
2399
  }
2396
2400
  .pptxv-share-user-avatar img { width: 100%; height: 100%; object-fit: cover; }
2397
2401
  .pptxv-share-user-name { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
2398
- .pptxv-share-user-tag { margin-left: auto; font-size: 10px; color: var(--pptx-muted-foreground); white-space: nowrap; }
2402
+ .pptxv-share-user-tag { margin-left: auto; font-size: 10px; color: var(--_pptx-muted-foreground); white-space: nowrap; }
2399
2403
 
2400
2404
  /* ── Remote-cursor overlay ────────────────────────────────────────────── */
2401
2405
  .pptxv-collab-cursors {
@@ -2482,16 +2486,16 @@
2482
2486
  width: 8px;
2483
2487
  height: 8px;
2484
2488
  border-radius: 50%;
2485
- background: var(--pptx-muted-foreground);
2489
+ background: var(--_pptx-muted-foreground);
2486
2490
  }
2487
2491
  .pptxv-collab-status-dot.is-connected { background: #22c55e; }
2488
2492
  .pptxv-collab-status-dot.is-connecting { background: #eab308; }
2489
2493
  .pptxv-collab-status-dot.is-error { background: #ef4444; }
2490
- .pptxv-collab-status-text { color: var(--pptx-muted-foreground); }
2494
+ .pptxv-collab-status-text { color: var(--_pptx-muted-foreground); }
2491
2495
  .pptxv-collab-status-retry {
2492
2496
  border: none;
2493
2497
  background: transparent;
2494
- color: var(--pptx-primary);
2498
+ color: var(--_pptx-primary);
2495
2499
  font-size: 11px;
2496
2500
  text-decoration: underline;
2497
2501
  cursor: pointer;
@@ -2514,9 +2518,9 @@
2514
2518
  gap: 10px;
2515
2519
  max-width: calc(100% - 24px);
2516
2520
  padding: 6px 10px;
2517
- border-radius: var(--pptx-radius);
2518
- background: color-mix(in srgb, var(--pptx-card) 95%, transparent);
2519
- color: var(--pptx-card-foreground);
2521
+ border-radius: var(--_pptx-radius);
2522
+ background: color-mix(in srgb, var(--_pptx-card) 95%, transparent);
2523
+ color: var(--_pptx-card-foreground);
2520
2524
  font-size: 12px;
2521
2525
  transform: translateX(-50%);
2522
2526
  box-shadow: 0 4px 16px rgb(0 0 0 / 0.25);
@@ -2527,18 +2531,18 @@
2527
2531
  align-items: center;
2528
2532
  gap: 6px;
2529
2533
  white-space: nowrap;
2530
- color: var(--pptx-muted-foreground);
2534
+ color: var(--_pptx-muted-foreground);
2531
2535
  }
2532
2536
  .pptxv-follow-stop {
2533
2537
  padding: 2px 8px;
2534
- border: 1px solid var(--pptx-border);
2535
- border-radius: var(--pptx-radius);
2538
+ border: 1px solid var(--_pptx-border);
2539
+ border-radius: var(--_pptx-radius);
2536
2540
  background: transparent;
2537
- color: var(--pptx-foreground);
2541
+ color: var(--_pptx-foreground);
2538
2542
  font-size: 11px;
2539
2543
  cursor: pointer;
2540
2544
  }
2541
- .pptxv-follow-stop:hover { background: var(--pptx-muted); }
2545
+ .pptxv-follow-stop:hover { background: var(--_pptx-muted); }
2542
2546
  .pptxv-follow-list {
2543
2547
  display: flex;
2544
2548
  align-items: center;
@@ -2554,12 +2558,12 @@
2554
2558
  padding: 2px 8px 2px 2px;
2555
2559
  border: 1px solid transparent;
2556
2560
  border-radius: 9999px;
2557
- background: color-mix(in srgb, var(--pptx-muted) 60%, transparent);
2558
- color: var(--pptx-foreground);
2561
+ background: color-mix(in srgb, var(--_pptx-muted) 60%, transparent);
2562
+ color: var(--_pptx-foreground);
2559
2563
  cursor: pointer;
2560
2564
  }
2561
- .pptxv-follow-peer:hover { background: var(--pptx-muted); }
2562
- .pptxv-follow-peer.is-following { border-color: var(--pptx-primary); background: color-mix(in srgb, var(--pptx-primary) 30%, transparent); }
2565
+ .pptxv-follow-peer:hover { background: var(--_pptx-muted); }
2566
+ .pptxv-follow-peer.is-following { border-color: var(--_pptx-primary); background: color-mix(in srgb, var(--_pptx-primary) 30%, transparent); }
2563
2567
  .pptxv-follow-avatar {
2564
2568
  display: inline-flex;
2565
2569
  align-items: center;
@@ -2615,8 +2619,8 @@
2615
2619
  z-index: var(--pptx-pv-z);
2616
2620
  display: flex;
2617
2621
  flex-direction: column;
2618
- background: var(--pptx-card);
2619
- color: var(--pptx-foreground);
2622
+ background: var(--_pptx-card);
2623
+ color: var(--_pptx-foreground);
2620
2624
  font-family: inherit;
2621
2625
  }
2622
2626
  /* The control strip is the shared pptx-ui-presenter-console; it styles itself. */
@@ -2651,19 +2655,19 @@
2651
2655
  flex-direction: column;
2652
2656
  min-width: var(--pptx-pv-rail-min);
2653
2657
  max-width: var(--pptx-pv-rail-max);
2654
- border-left: 1px solid var(--pptx-border);
2655
- background: var(--pptx-background);
2658
+ border-left: 1px solid var(--_pptx-border);
2659
+ background: var(--_pptx-background);
2656
2660
  }
2657
2661
  .pptxv-presenter-rail-header {
2658
2662
  display: flex;
2659
2663
  align-items: center;
2660
2664
  justify-content: space-between;
2661
2665
  padding: 12px 16px;
2662
- border-bottom: 1px solid var(--pptx-border);
2666
+ border-bottom: 1px solid var(--_pptx-border);
2663
2667
  }
2664
2668
  .pptxv-presenter-elapsed { text-align: right; }
2665
2669
  .pptxv-presenter-heading {
2666
- color: var(--pptx-muted-foreground);
2670
+ color: var(--_pptx-muted-foreground);
2667
2671
  font-size: 10px;
2668
2672
  letter-spacing: .08em;
2669
2673
  text-transform: uppercase;
@@ -2673,13 +2677,13 @@
2673
2677
  font-size: 18px;
2674
2678
  font-variant-numeric: tabular-nums;
2675
2679
  }
2676
- .pptxv-presenter-elapsed .pptxv-presenter-readout { color: var(--pptx-primary); }
2680
+ .pptxv-presenter-elapsed .pptxv-presenter-readout { color: var(--_pptx-primary); }
2677
2681
  .pptxv-presenter-rail-nav {
2678
2682
  display: flex;
2679
2683
  align-items: center;
2680
2684
  justify-content: space-between;
2681
2685
  padding: 8px 16px;
2682
- border-bottom: 1px solid var(--pptx-border);
2686
+ border-bottom: 1px solid var(--_pptx-border);
2683
2687
  }
2684
2688
  .pptxv-presenter-nav-btn {
2685
2689
  display: inline-flex;
@@ -2688,7 +2692,7 @@
2688
2692
  padding: 6px 12px;
2689
2693
  border: 0;
2690
2694
  border-radius: 4px;
2691
- background: var(--pptx-secondary);
2695
+ background: var(--_pptx-secondary);
2692
2696
  color: inherit;
2693
2697
  font-size: 12px;
2694
2698
  cursor: pointer;
@@ -2700,7 +2704,7 @@
2700
2704
  font-size: 14px;
2701
2705
  font-variant-numeric: tabular-nums;
2702
2706
  }
2703
- .pptxv-presenter-next { padding: 12px 16px; border-bottom: 1px solid var(--pptx-border); }
2707
+ .pptxv-presenter-next { padding: 12px 16px; border-bottom: 1px solid var(--_pptx-border); }
2704
2708
  .pptxv-presenter-next-body { margin-top: 8px; overflow: hidden; }
2705
2709
  .pptxv-presenter-notes {
2706
2710
  display: flex;
@@ -2740,23 +2744,23 @@
2740
2744
  flex: 1;
2741
2745
  min-height: 0;
2742
2746
  padding: 8px 12px;
2743
- border: 1px solid var(--pptx-border);
2747
+ border: 1px solid var(--_pptx-border);
2744
2748
  border-radius: 4px;
2745
- background: var(--pptx-secondary);
2749
+ background: var(--_pptx-secondary);
2746
2750
  line-height: 1.6;
2747
2751
  overflow-y: auto;
2748
2752
  white-space: pre-wrap;
2749
2753
  }
2750
- .pptxv-presenter-empty { color: var(--pptx-muted-foreground); font-style: italic; }
2754
+ .pptxv-presenter-empty { color: var(--_pptx-muted-foreground); font-style: italic; }
2751
2755
 
2752
2756
  .pptxv-presenter-progress {
2753
2757
  flex-shrink: 0;
2754
2758
  height: var(--pptx-pv-progress-h);
2755
- background: var(--pptx-muted);
2759
+ background: var(--_pptx-muted);
2756
2760
  }
2757
2761
  .pptxv-presenter-progress-fill {
2758
2762
  height: 100%;
2759
- background: var(--pptx-primary);
2763
+ background: var(--_pptx-primary);
2760
2764
  transition: width 1s linear;
2761
2765
  }
2762
2766
 
@@ -2766,7 +2770,7 @@
2766
2770
  z-index: var(--pptx-pv-nav-z);
2767
2771
  padding: 24px;
2768
2772
  overflow: auto;
2769
- background: var(--pptx-card);
2773
+ background: var(--_pptx-card);
2770
2774
  }
2771
2775
  .pptxv-presenter-navigator-header {
2772
2776
  display: flex;
@@ -2778,7 +2782,7 @@
2778
2782
  padding: 6px 12px;
2779
2783
  border: 0;
2780
2784
  border-radius: 4px;
2781
- background: var(--pptx-secondary);
2785
+ background: var(--_pptx-secondary);
2782
2786
  color: inherit;
2783
2787
  cursor: pointer;
2784
2788
  }
@@ -2790,14 +2794,14 @@
2790
2794
  .pptxv-presenter-navigator-tile {
2791
2795
  position: relative;
2792
2796
  padding: 6px;
2793
- border: 1px solid var(--pptx-border);
2797
+ border: 1px solid var(--_pptx-border);
2794
2798
  border-radius: 6px;
2795
- background: var(--pptx-secondary);
2799
+ background: var(--_pptx-secondary);
2796
2800
  color: inherit;
2797
2801
  cursor: pointer;
2798
2802
  overflow: hidden;
2799
2803
  }
2800
- .pptxv-presenter-navigator-tile.is-current { border-color: var(--pptx-primary); border-width: 2px; }
2804
+ .pptxv-presenter-navigator-tile.is-current { border-color: var(--_pptx-primary); border-width: 2px; }
2801
2805
  .pptxv-presenter-navigator-preview { overflow: hidden; pointer-events: none; }
2802
2806
  .pptxv-presenter-navigator-caption {
2803
2807
  display: block;
@@ -2811,41 +2815,41 @@
2811
2815
  @media (max-width: 767px), (max-width: 1023px) and (max-height: 520px) {
2812
2816
  .pptxv-ribbon { display: none; }
2813
2817
  .pptxv-mobile-toolbar { display: block; flex: none; }
2814
- .pptxv-mobile-toolbar-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--pptx-foreground); touch-action: manipulation; }
2815
- .pptxv-mobile-toolbar-btn:hover:not(:disabled) { background: var(--pptx-accent); }
2818
+ .pptxv-mobile-toolbar-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--_pptx-foreground); touch-action: manipulation; }
2819
+ .pptxv-mobile-toolbar-btn:hover:not(:disabled) { background: var(--_pptx-accent); }
2816
2820
  .pptxv-mobile-toolbar-btn:disabled { opacity: .4; }
2817
2821
  .pptxv-mobile-toolbar-btn svg { width: 20px; height: 20px; }
2818
2822
  .pptxv-mobile-toolbar-collaboration { display: flex; }
2819
2823
  .pptxv-mobile-toolbar-collaboration[hidden], .pptxv-mobile-toolbar-collaboration:empty { display: none; }
2820
2824
  .pptxv-mobile-toolbar-ai { display: flex; }
2821
2825
  .pptxv-mobile-toolbar-ai[hidden], .pptxv-mobile-toolbar-ai:empty { display: none; }
2822
- .pptxv-mobile-toolbar-ai .pptxv-ai-toggle.is-active { color: var(--pptx-primary); background: transparent; }
2823
- .pptxv-mobile-share { min-width: 44px; background: var(--pptx-primary); color: var(--pptx-primary-foreground); }
2826
+ .pptxv-mobile-toolbar-ai .pptxv-ai-toggle.is-active { color: var(--_pptx-primary); background: transparent; }
2827
+ .pptxv-mobile-share { min-width: 44px; background: var(--_pptx-primary); color: var(--_pptx-primary-foreground); }
2824
2828
  .pptxv-mobile-actions { display: contents; }
2825
2829
  .pptxv-mobile-actions > pptx-ui-mobile-bar { position: relative; z-index: 70; flex: none; }
2826
2830
  .pptxv-mobile-sheet-host { position: absolute; z-index: 69; inset: 0 0 56px; display: flex; align-items: end; }
2827
2831
  .pptxv-mobile-sheet-host[hidden] { display: none; }
2828
2832
  .pptxv-mobile-sheet-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgb(0 0 0 / 40%); }
2829
- .pptxv-mobile-sheet { position: relative; display: flex; flex-direction: column; width: 100%; max-height: min(70dvh, 620px); border: 1px solid var(--pptx-border); border-bottom: 0; border-radius: 16px 16px 0 0; background: var(--pptx-background); box-shadow: 0 -12px 36px rgb(0 0 0 / 35%); transition: transform 150ms ease-out; }
2830
- .pptxv-mobile-sheet-header { display: grid; justify-items: center; gap: 5px; padding: 8px 16px 10px; border-bottom: 1px solid var(--pptx-border); cursor: grab; touch-action: none; }
2831
- .pptxv-mobile-sheet-handle { width: 40px; height: 4px; border-radius: 2px; background: var(--pptx-muted-foreground); opacity: .45; }
2833
+ .pptxv-mobile-sheet { position: relative; display: flex; flex-direction: column; width: 100%; max-height: min(70dvh, 620px); border: 1px solid var(--_pptx-border); border-bottom: 0; border-radius: 16px 16px 0 0; background: var(--_pptx-background); box-shadow: 0 -12px 36px rgb(0 0 0 / 35%); transition: transform 150ms ease-out; }
2834
+ .pptxv-mobile-sheet-header { display: grid; justify-items: center; gap: 5px; padding: 8px 16px 10px; border-bottom: 1px solid var(--_pptx-border); cursor: grab; touch-action: none; }
2835
+ .pptxv-mobile-sheet-handle { width: 40px; height: 4px; border-radius: 2px; background: var(--_pptx-muted-foreground); opacity: .45; }
2832
2836
  .pptxv-mobile-sheet-body { display: flex; flex-wrap: wrap; gap: 8px; overflow: auto; padding: 12px; overscroll-behavior: contain; }
2833
- .pptxv-mobile-sheet-body > button { min-height: 44px; padding: 8px 12px; border: 1px solid var(--pptx-border); border-radius: 8px; background: var(--pptx-muted); color: inherit; }
2837
+ .pptxv-mobile-sheet-body > button { min-height: 44px; padding: 8px 12px; border: 1px solid var(--_pptx-border); border-radius: 8px; background: var(--_pptx-muted); color: inherit; }
2834
2838
  /* A vertical list of real thumbnails, the way React's mobile Slides sheet
2835
2839
  shows them; the five-column grid of title pills it replaced could not show
2836
2840
  the slides at all. */
2837
2841
  .pptxv-mobile-slide-list { display: flex; flex-direction: column; gap: 8px; width: 100%; max-height: 46dvh; overflow-y: auto; }
2838
- .pptxv-mobile-comment { display: grid; gap: 6px; padding: 8px 0; border-bottom: 1px solid var(--pptx-border); }
2839
- .pptxv-mobile-comment textarea, .pptxv-mobile-comment-add textarea { box-sizing: border-box; width: 100%; min-height: 58px; padding: 8px; border: 1px solid var(--pptx-border); border-radius: var(--pptx-radius); background: var(--pptx-background); color: var(--pptx-foreground); font: inherit; }
2842
+ .pptxv-mobile-comment { display: grid; gap: 6px; padding: 8px 0; border-bottom: 1px solid var(--_pptx-border); }
2843
+ .pptxv-mobile-comment textarea, .pptxv-mobile-comment-add textarea { box-sizing: border-box; width: 100%; min-height: 58px; padding: 8px; border: 1px solid var(--_pptx-border); border-radius: var(--_pptx-radius); background: var(--_pptx-background); color: var(--_pptx-foreground); font: inherit; }
2840
2844
  .pptxv-mobile-comment-actions { display: flex; flex-wrap: wrap; gap: 6px; }
2841
- .pptxv-mobile-comment-actions button, .pptxv-mobile-comment-add button { min-height: 44px !important; padding: 6px 10px; border: 1px solid var(--pptx-border); border-radius: var(--pptx-radius); background: var(--pptx-muted); color: var(--pptx-foreground); }
2845
+ .pptxv-mobile-comment-actions button, .pptxv-mobile-comment-add button { min-height: 44px !important; padding: 6px 10px; border: 1px solid var(--_pptx-border); border-radius: var(--_pptx-radius); background: var(--_pptx-muted); color: var(--_pptx-foreground); }
2842
2846
  .pptxv-mobile-comment-add { display: grid; gap: 6px; padding-top: 10px; }
2843
- .pptxv-mobile-slide-list button { flex: none; display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px; border: 1px solid var(--pptx-border); border-radius: 8px; background: var(--pptx-muted); color: inherit; text-align: left; }
2844
- .pptxv-mobile-slide-list button.is-active { border-color: var(--pptx-primary); color: var(--pptx-primary); }
2845
- .pptxv-mobile-slide-num { min-width: 18px; color: var(--pptx-muted-foreground); font-size: 11px; text-align: right; }
2846
- .pptxv-mobile-slide-list button.is-active .pptxv-mobile-slide-num { color: var(--pptx-primary); }
2847
+ .pptxv-mobile-slide-list button { flex: none; display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px; border: 1px solid var(--_pptx-border); border-radius: 8px; background: var(--_pptx-muted); color: inherit; text-align: left; }
2848
+ .pptxv-mobile-slide-list button.is-active { border-color: var(--_pptx-primary); color: var(--_pptx-primary); }
2849
+ .pptxv-mobile-slide-num { min-width: 18px; color: var(--_pptx-muted-foreground); font-size: 11px; text-align: right; }
2850
+ .pptxv-mobile-slide-list button.is-active .pptxv-mobile-slide-num { color: var(--_pptx-primary); }
2847
2851
  /* The thumbnail is a scaled stage: it must clip and never stretch. */
2848
- .pptxv-mobile-slide-frame { position: relative; display: block; flex: none; overflow: hidden; border: 1px solid var(--pptx-border); border-radius: 4px; background: #fff; }
2852
+ .pptxv-mobile-slide-frame { position: relative; display: block; flex: none; overflow: hidden; border: 1px solid var(--_pptx-border); border-radius: 4px; background: #fff; }
2849
2853
  .pptxv-mobile-slide-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
2850
2854
  /* Sheet children take the whole row: the body is a wrapping flex row, so a bare grid or
2851
2855
  column would shrink to its content (the half-width comment box) instead of filling it. */
@@ -2855,7 +2859,7 @@
2855
2859
  /* The Format sheet is one column. The inspector is a block on desktop (tab strip over the
2856
2860
  panes); a flex row here laid the strip and the properties side by side and clipped them. */
2857
2861
  .pptxv-mobile-sheet .pptxv-inspector { display: block; width: 100%; max-height: 55dvh; overflow-x: hidden; border: 0; background: transparent; }
2858
- .pptxv-mobile-sheet .pptxv-inspector-tabs { position: sticky; top: 0; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin: 0 0 8px; padding: 0 0 8px; background: var(--pptx-background); }
2862
+ .pptxv-mobile-sheet .pptxv-inspector-tabs { position: sticky; top: 0; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin: 0 0 8px; padding: 0 0 8px; background: var(--_pptx-background); }
2859
2863
  .pptxv-mobile-sheet .pptxv-inspector-tab { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 0; padding: 0 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
2860
2864
  .pptxv-mobile-sheet .pptxv-inspector-body, .pptxv-mobile-sheet .pptxv-inspector-section { min-width: 0; max-width: 100%; }
2861
2865
  .pptxv.pptxv-presenting .pptxv-mobile-toolbar,
@@ -2870,46 +2874,46 @@
2870
2874
  flex-direction: column;
2871
2875
  width: 224px;
2872
2876
  min-height: 0;
2873
- border-right: 1px solid var(--pptx-border);
2874
- background: color-mix(in srgb, var(--pptx-card) 92%, transparent);
2877
+ border-right: 1px solid var(--_pptx-border);
2878
+ background: color-mix(in srgb, var(--_pptx-card) 92%, transparent);
2875
2879
  }
2876
2880
  .pptxv-master-sidebar[hidden] { display: none; }
2877
2881
  .pptxv-master-header { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; }
2878
- .pptxv-master-title { color: var(--pptx-muted-foreground); font-size: 10px; letter-spacing: 0.07em; text-transform: uppercase; }
2879
- .pptxv-master-collapse { width: 24px; height: 24px; border: 0; border-radius: 4px; background: transparent; color: var(--pptx-muted-foreground); cursor: pointer; font-size: 20px; line-height: 1; }
2880
- .pptxv-master-collapse:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
2881
- .pptxv-master-collapse:focus-visible, .pptxv-master-tab:focus-visible, .pptxv-master-count:focus-visible, .pptxv-master-thumb:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -2px; }
2882
- .pptxv-master-tabs { display: flex; padding: 0 4px; border-bottom: 1px solid var(--pptx-border); }
2883
- .pptxv-master-tab { flex: 1; padding: 6px 2px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--pptx-muted-foreground); cursor: pointer; font: inherit; font-size: 10px; }
2882
+ .pptxv-master-title { color: var(--_pptx-muted-foreground); font-size: 10px; letter-spacing: 0.07em; text-transform: uppercase; }
2883
+ .pptxv-master-collapse { width: 24px; height: 24px; border: 0; border-radius: 4px; background: transparent; color: var(--_pptx-muted-foreground); cursor: pointer; font-size: 20px; line-height: 1; }
2884
+ .pptxv-master-collapse:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
2885
+ .pptxv-master-collapse:focus-visible, .pptxv-master-tab:focus-visible, .pptxv-master-count:focus-visible, .pptxv-master-thumb:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -2px; }
2886
+ .pptxv-master-tabs { display: flex; padding: 0 4px; border-bottom: 1px solid var(--_pptx-border); }
2887
+ .pptxv-master-tab { flex: 1; padding: 6px 2px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--_pptx-muted-foreground); cursor: pointer; font: inherit; font-size: 10px; }
2884
2888
  .pptxv-master-tab.is-active { border-bottom-color: #f59e0b; color: #f59e0b; font-weight: 600; }
2885
2889
  .pptxv-master-body { display: flex; flex: 1; flex-direction: column; gap: 8px; min-height: 0; overflow-y: auto; padding: 6px; }
2886
2890
  /* "flex: none" is load-bearing here: the rail is a column flex container, so
2887
2891
  every thumb is a flex item and shrinks by default. With a dozen layouts that
2888
2892
  crushed each 72px preview frame down to 8px, which went unnoticed while the
2889
2893
  frames were empty. (No backticks in this file: it is one template literal.) */
2890
- .pptxv-master-thumb { display: flex; flex: none; flex-direction: column; gap: 4px; padding: 5px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--pptx-foreground); cursor: pointer; text-align: left; }
2894
+ .pptxv-master-thumb { display: flex; flex: none; flex-direction: column; gap: 4px; padding: 5px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--_pptx-foreground); cursor: pointer; text-align: left; }
2891
2895
  .pptxv-master-thumb.is-layout { margin-left: 14px; }
2892
- .pptxv-master-thumb:hover { background: var(--pptx-accent); }
2893
- .pptxv-master-thumb.is-active { border-color: var(--pptx-primary); background: color-mix(in srgb, var(--pptx-primary) 10%, transparent); }
2896
+ .pptxv-master-thumb:hover { background: var(--_pptx-accent); }
2897
+ .pptxv-master-thumb.is-active { border-color: var(--_pptx-primary); background: color-mix(in srgb, var(--_pptx-primary) 10%, transparent); }
2894
2898
  .pptxv-master-thumb-name { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
2895
- .pptxv-master-thumb-frame { position: relative; display: block; overflow: hidden; border: 1px solid var(--pptx-border); border-radius: 3px; background: #fff; }
2896
- .pptxv-master-card { padding: 8px; border: 1px solid var(--pptx-border); border-radius: 6px; background: color-mix(in srgb, var(--pptx-muted) 55%, transparent); }
2897
- .pptxv-master-card-label { margin-bottom: 6px; color: var(--pptx-muted-foreground); font-size: 10px; }
2898
- .pptxv-master-background { width: 100%; height: 32px; border: 1px solid var(--pptx-border); border-radius: 4px; }
2899
+ .pptxv-master-thumb-frame { position: relative; display: block; overflow: hidden; border: 1px solid var(--_pptx-border); border-radius: 3px; background: #fff; }
2900
+ .pptxv-master-card { padding: 8px; border: 1px solid var(--_pptx-border); border-radius: 6px; background: color-mix(in srgb, var(--_pptx-muted) 55%, transparent); }
2901
+ .pptxv-master-card-label { margin-bottom: 6px; color: var(--_pptx-muted-foreground); font-size: 10px; }
2902
+ .pptxv-master-background { width: 100%; height: 32px; border: 1px solid var(--_pptx-border); border-radius: 4px; }
2899
2903
  .pptxv-master-crud { display: flex; flex-wrap: wrap; gap: 4px; }
2900
- .pptxv-master-crud-btn { padding: 4px 7px; border: 1px solid var(--pptx-border); border-radius: 4px; background: var(--pptx-card); color: var(--pptx-foreground); cursor: pointer; font: inherit; font-size: 10px; }
2901
- .pptxv-master-crud-btn:hover:not(:disabled) { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
2904
+ .pptxv-master-crud-btn { padding: 4px 7px; border: 1px solid var(--_pptx-border); border-radius: 4px; background: var(--_pptx-card); color: var(--_pptx-foreground); cursor: pointer; font: inherit; font-size: 10px; }
2905
+ .pptxv-master-crud-btn:hover:not(:disabled) { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
2902
2906
  .pptxv-master-crud-btn:disabled { opacity: 0.45; cursor: not-allowed; }
2903
- .pptxv-master-crud-btn:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: 1px; }
2904
- .pptxv-master-placeholder { display: flex; align-items: center; gap: 7px; margin-top: 4px; padding: 5px 6px; border-radius: 4px; background: color-mix(in srgb, var(--pptx-background) 65%, transparent); font-size: 10px; }
2907
+ .pptxv-master-crud-btn:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: 1px; }
2908
+ .pptxv-master-placeholder { display: flex; align-items: center; gap: 7px; margin-top: 4px; padding: 5px 6px; border-radius: 4px; background: color-mix(in srgb, var(--_pptx-background) 65%, transparent); font-size: 10px; }
2905
2909
  .pptxv-master-dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: rgb(34 197 94 / 0.65); }
2906
2910
  .pptxv-master-dot.is-handout { background: rgb(168 85 247 / 0.65); }
2907
- .pptxv-master-empty { padding: 16px 8px; color: var(--pptx-muted-foreground); font-size: 11px; text-align: center; }
2911
+ .pptxv-master-empty { padding: 16px 8px; color: var(--_pptx-muted-foreground); font-size: 11px; text-align: center; }
2908
2912
  .pptxv-master-counts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
2909
- .pptxv-master-count { padding: 6px; border: 0; border-radius: 4px; background: var(--pptx-accent); color: var(--pptx-muted-foreground); cursor: pointer; font: inherit; font-size: 11px; }
2910
- .pptxv-master-count.is-active { background: var(--pptx-primary); color: var(--pptx-primary-foreground); }
2913
+ .pptxv-master-count { padding: 6px; border: 0; border-radius: 4px; background: var(--_pptx-accent); color: var(--_pptx-muted-foreground); cursor: pointer; font: inherit; font-size: 11px; }
2914
+ .pptxv-master-count.is-active { background: var(--_pptx-primary); color: var(--_pptx-primary-foreground); }
2911
2915
  .pptxv-master-page { position: relative; overflow: hidden; border: 1px solid #d1d5db; border-radius: 4px; background: #fff; box-shadow: 0 8px 24px rgb(0 0 0 / 0.18); }
2912
- .pptxv-master-canvas-empty { display: grid; width: 100%; height: 100%; place-items: center; color: var(--pptx-muted-foreground); }
2916
+ .pptxv-master-canvas-empty { display: grid; width: 100%; height: 100%; place-items: center; color: var(--_pptx-muted-foreground); }
2913
2917
  .pptxv-notes-region { position: absolute; display: flex; overflow: hidden; align-items: center; justify-content: center; border: 1px dashed rgb(156 163 175 / 0.45); color: rgb(107 114 128 / 0.8); font-size: 10px; text-align: center; }
2914
2918
  .pptxv-notes-region.is-sldImg { border-color: rgb(59 130 246 / 0.55); background: rgb(59 130 246 / 0.05); color: rgb(59 130 246 / 0.75); }
2915
2919
  .pptxv-notes-region.is-body { border-color: rgb(34 197 94 / 0.55); background: rgb(34 197 94 / 0.05); color: rgb(34 197 94 / 0.75); }
@@ -2929,52 +2933,52 @@
2929
2933
  state spelled out in words. */
2930
2934
  .pptxv-sorter-num { display: inline-block; padding: 0 3px; }
2931
2935
  .pptxv-sorter-card[data-pptx-slide-hidden] .pptxv-sorter-num { background-image: linear-gradient(to top right, transparent 47%, color-mix(in srgb, currentColor 60%, transparent) 47%, color-mix(in srgb, currentColor 60%, transparent) 53%, transparent 53%); }
2932
- .pptxv-sorter-hidden { display: block; margin-top: 4px; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; color: var(--pptx-muted-foreground); }
2936
+ .pptxv-sorter-hidden { display: block; margin-top: 4px; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; color: var(--_pptx-muted-foreground); }
2933
2937
  .pptxv-parity-backdrop { position: fixed; inset: 0; z-index: 1200; border: 0; background: rgb(0 0 0 / .55); }
2934
- .pptxv-parity-dialog { position: fixed; z-index: 1201; top: 50%; left: 50%; display: flex; flex-direction: column; width: min(440px, calc(100vw - 32px)); max-height: 88vh; transform: translate(-50%, -50%); overflow: hidden; border: 1px solid var(--pptx-border); border-radius: 10px; background: var(--pptx-background); color: var(--pptx-foreground); box-shadow: 0 24px 70px rgb(0 0 0 / .34); }
2935
- .pptxv-parity-header, .pptxv-parity-footer { display: flex; align-items: center; padding: 12px 16px; border-color: var(--pptx-border); }
2936
- .pptxv-parity-header { justify-content: space-between; border-bottom: 1px solid var(--pptx-border); }
2938
+ .pptxv-parity-dialog { position: fixed; z-index: 1201; top: 50%; left: 50%; display: flex; flex-direction: column; width: min(440px, calc(100vw - 32px)); max-height: 88vh; transform: translate(-50%, -50%); overflow: hidden; border: 1px solid var(--_pptx-border); border-radius: 10px; background: var(--_pptx-background); color: var(--_pptx-foreground); box-shadow: 0 24px 70px rgb(0 0 0 / .34); }
2939
+ .pptxv-parity-header, .pptxv-parity-footer { display: flex; align-items: center; padding: 12px 16px; border-color: var(--_pptx-border); }
2940
+ .pptxv-parity-header { justify-content: space-between; border-bottom: 1px solid var(--_pptx-border); }
2937
2941
  .pptxv-parity-header h2 { margin: 0; font-size: 14px; }
2938
2942
  .pptxv-parity-header button { border: 0; background: transparent; color: inherit; font-size: 20px; cursor: pointer; }
2939
2943
  .pptxv-parity-body { display: flex; flex-direction: column; gap: 12px; overflow: auto; padding: 16px; font-size: 12px; }
2940
- .pptxv-parity-body fieldset { display: flex; flex-direction: column; gap: 7px; margin: 0; padding: 10px 12px; border: 1px solid var(--pptx-border); border-radius: 6px; }
2941
- .pptxv-parity-body legend { padding: 0 4px; color: var(--pptx-muted-foreground); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
2942
- .pptxv-parity-body input[type='text'], .pptxv-parity-body input[type='number'] { min-width: 0; padding: 7px 8px; border: 1px solid var(--pptx-border); border-radius: 4px; background: var(--pptx-muted); color: inherit; }
2944
+ .pptxv-parity-body fieldset { display: flex; flex-direction: column; gap: 7px; margin: 0; padding: 10px 12px; border: 1px solid var(--_pptx-border); border-radius: 6px; }
2945
+ .pptxv-parity-body legend { padding: 0 4px; color: var(--_pptx-muted-foreground); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
2946
+ .pptxv-parity-body input[type='text'], .pptxv-parity-body input[type='number'] { min-width: 0; padding: 7px 8px; border: 1px solid var(--_pptx-border); border-radius: 4px; background: var(--_pptx-muted); color: inherit; }
2943
2947
  .pptxv-parity-check, .pptxv-parity-range { display: flex; align-items: center; gap: 8px; min-height: 28px; cursor: pointer; }
2944
2948
  .pptxv-parity-select { display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 10px; }
2945
- .pptxv-parity-select select { padding: 7px 8px; border: 1px solid var(--pptx-border); border-radius: 4px; background: var(--pptx-muted); color: inherit; }
2949
+ .pptxv-parity-select select { padding: 7px 8px; border: 1px solid var(--_pptx-border); border-radius: 4px; background: var(--_pptx-muted); color: inherit; }
2946
2950
  .pptxv-parity-range input[type='number'] { width: 58px; }
2947
- .pptxv-parity-footer { justify-content: flex-end; gap: 8px; border-top: 1px solid var(--pptx-border); }
2948
- .pptxv-parity-footer button, .pptxv-parity-tabs button, .pptxv-compare-panel button { padding: 7px 11px; border: 1px solid var(--pptx-border); border-radius: 4px; background: var(--pptx-muted); color: inherit; cursor: pointer; }
2949
- .pptxv-parity-footer .is-primary, .pptxv-parity-tabs .is-active, .pptxv-compare-actions button { border-color: var(--pptx-primary); background: var(--pptx-primary); color: #fff; }
2950
- .pptxv-parity-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--pptx-border); flex-wrap: wrap; }
2951
+ .pptxv-parity-footer { justify-content: flex-end; gap: 8px; border-top: 1px solid var(--_pptx-border); }
2952
+ .pptxv-parity-footer button, .pptxv-parity-tabs button, .pptxv-compare-panel button { padding: 7px 11px; border: 1px solid var(--_pptx-border); border-radius: 4px; background: var(--_pptx-muted); color: inherit; cursor: pointer; }
2953
+ .pptxv-parity-footer .is-primary, .pptxv-parity-tabs .is-active, .pptxv-compare-actions button { border-color: var(--_pptx-primary); background: var(--_pptx-primary); color: #fff; }
2954
+ .pptxv-parity-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--_pptx-border); flex-wrap: wrap; }
2951
2955
  .pptxv-parity-swatch-row { display: flex; flex-wrap: wrap; gap: 8px; }
2952
- .pptxv-parity-swatch { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px; border: 2px solid transparent; border-radius: 6px; background: var(--pptx-muted); color: inherit; font-size: 11px; cursor: pointer; }
2953
- .pptxv-parity-swatch:hover { border-color: var(--pptx-border); }
2954
- .pptxv-parity-swatch.is-active { border-color: var(--pptx-primary); }
2955
- .pptxv-parity-swatch-preview { display: block; width: 44px; height: 30px; border: 1px solid var(--pptx-border); border-radius: 4px; }
2956
+ .pptxv-parity-swatch { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px; border: 2px solid transparent; border-radius: 6px; background: var(--_pptx-muted); color: inherit; font-size: 11px; cursor: pointer; }
2957
+ .pptxv-parity-swatch:hover { border-color: var(--_pptx-border); }
2958
+ .pptxv-parity-swatch.is-active { border-color: var(--_pptx-primary); }
2959
+ .pptxv-parity-swatch-preview { display: block; width: 44px; height: 30px; border: 1px solid var(--_pptx-border); border-radius: 4px; }
2956
2960
  .pptxv-shortcut-list { display: flex; flex-direction: column; gap: 3px; }
2957
- .pptxv-shortcut-list > div { display: flex; justify-content: space-between; gap: 14px; padding: 7px 8px; border-radius: 4px; background: var(--pptx-muted); }
2958
- .pptxv-shortcut-list kbd { color: var(--pptx-muted-foreground); white-space: nowrap; }
2959
- .pptxv-compare-panel { position: absolute; z-index: 45; inset: 0 0 0 auto; display: flex; flex-direction: column; width: min(440px, 100%); border-left: 1px solid var(--pptx-border); background: var(--pptx-card); color: var(--pptx-foreground); box-shadow: -16px 0 38px rgb(0 0 0 / .2); }
2960
- .pptxv-compare-panel > header { display: flex; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--pptx-border); }
2961
- .pptxv-compare-panel h2, .pptxv-compare-panel p { margin: 0; } .pptxv-compare-panel header p { margin-top: 3px; color: var(--pptx-muted-foreground); font-size: 11px; }
2962
- .pptxv-compare-actions { padding: 9px 16px; border-bottom: 1px solid var(--pptx-border); }
2961
+ .pptxv-shortcut-list > div { display: flex; justify-content: space-between; gap: 14px; padding: 7px 8px; border-radius: 4px; background: var(--_pptx-muted); }
2962
+ .pptxv-shortcut-list kbd { color: var(--_pptx-muted-foreground); white-space: nowrap; }
2963
+ .pptxv-compare-panel { position: absolute; z-index: 45; inset: 0 0 0 auto; display: flex; flex-direction: column; width: min(440px, 100%); border-left: 1px solid var(--_pptx-border); background: var(--_pptx-card); color: var(--_pptx-foreground); box-shadow: -16px 0 38px rgb(0 0 0 / .2); }
2964
+ .pptxv-compare-panel > header { display: flex; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--_pptx-border); }
2965
+ .pptxv-compare-panel h2, .pptxv-compare-panel p { margin: 0; } .pptxv-compare-panel header p { margin-top: 3px; color: var(--_pptx-muted-foreground); font-size: 11px; }
2966
+ .pptxv-compare-actions { padding: 9px 16px; border-bottom: 1px solid var(--_pptx-border); }
2963
2967
  .pptxv-compare-list { display: flex; flex-direction: column; gap: 8px; overflow: auto; padding: 12px; }
2964
- .pptxv-compare-row { padding: 10px; border: 1px solid var(--pptx-border); border-radius: 6px; background: var(--pptx-muted); font-size: 11px; }
2965
- .pptxv-compare-row p { margin: 6px 0; color: var(--pptx-muted-foreground); } .pptxv-compare-row div { display: flex; justify-content: flex-end; gap: 6px; } .pptxv-compare-row.is-resolved { opacity: .55; }
2968
+ .pptxv-compare-row { padding: 10px; border: 1px solid var(--_pptx-border); border-radius: 6px; background: var(--_pptx-muted); font-size: 11px; }
2969
+ .pptxv-compare-row p { margin: 6px 0; color: var(--_pptx-muted-foreground); } .pptxv-compare-row div { display: flex; justify-content: flex-end; gap: 6px; } .pptxv-compare-row.is-resolved { opacity: .55; }
2966
2970
  .pptxv-rehearse { position: absolute; z-index: 130; top: 8px; left: 50%; display: flex; align-items: center; gap: 8px; padding: 8px 10px; transform: translateX(-50%); border: 1px solid #ffffff2b; border-radius: 7px; background: #020617ee; color: #f8fafc; box-shadow: 0 10px 28px rgb(0 0 0 / .35); font-size: 11px; }
2967
2971
  .pptxv-rehearse button { padding: 5px 8px; border: 0; border-radius: 4px; background: #ffffff16; color: inherit; cursor: pointer; }
2968
- .pptxv-workspace-pane { position: absolute; z-index: 48; inset: 0 0 0 auto; display: flex; flex-direction: column; width: min(300px, 100%); border-left: 1px solid var(--pptx-border); background: var(--pptx-card); color: var(--pptx-foreground); box-shadow: -12px 0 30px rgb(0 0 0 / .18); }
2969
- .pptxv-workspace-pane > header, .pptxv-slide-sorter > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 13px; border-bottom: 1px solid var(--pptx-border); }
2972
+ .pptxv-workspace-pane { position: absolute; z-index: 48; inset: 0 0 0 auto; display: flex; flex-direction: column; width: min(300px, 100%); border-left: 1px solid var(--_pptx-border); background: var(--_pptx-card); color: var(--_pptx-foreground); box-shadow: -12px 0 30px rgb(0 0 0 / .18); }
2973
+ .pptxv-workspace-pane > header, .pptxv-slide-sorter > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 13px; border-bottom: 1px solid var(--_pptx-border); }
2970
2974
  .pptxv-workspace-pane h2, .pptxv-slide-sorter h2 { margin: 0; font-size: 13px; } .pptxv-workspace-pane header button, .pptxv-slide-sorter header button { border: 0; background: transparent; color: inherit; font-size: 18px; cursor: pointer; }
2971
2975
  .pptxv-workspace-list { display: flex; flex-direction: column; gap: 5px; overflow: auto; padding: 8px; }
2972
- .pptxv-selection-row { display: grid; grid-template-columns: 18px 1fr 28px; align-items: center; border-radius: 4px; background: var(--pptx-muted); } .pptxv-selection-row.is-selected { color: var(--pptx-primary); box-shadow: inset 3px 0 var(--pptx-primary); } .pptxv-selection-row button { padding: 7px; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
2973
- .pptxv-comment-card { display: flex; flex-direction: column; gap: 6px; padding: 8px; border: 1px solid var(--pptx-border); border-radius: 6px; } .pptxv-comment-card.is-resolved { opacity: .6; } .pptxv-comment-card textarea, .pptxv-workspace-list > textarea { min-height: 58px; padding: 6px; border: 1px solid var(--pptx-border); border-radius: 4px; background: var(--pptx-muted); color: inherit; resize: vertical; } .pptxv-comment-card div { display: flex; gap: 4px; }
2974
- .pptxv-slide-sorter { position: absolute; z-index: 50; inset: 0; display: flex; flex-direction: column; background: color-mix(in srgb, var(--pptx-background) 96%, transparent); color: var(--pptx-foreground); }
2975
- .pptxv-sorter-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; overflow: auto; padding: 18px; } .pptxv-sorter-card { overflow: hidden; border: 2px solid var(--pptx-border); border-radius: 7px; background: var(--pptx-card); } .pptxv-sorter-card.is-current { border-color: var(--pptx-primary); } .pptxv-sorter-card.is-hidden { opacity: .5; } .pptxv-sorter-card > button { display: grid; width: 100%; min-height: 90px; place-items: center; border: 0; background: var(--pptx-muted); color: inherit; font-size: 22px; cursor: pointer; } .pptxv-sorter-card div { display: flex; gap: 3px; padding: 5px; } .pptxv-sorter-card div button { flex: 1; padding: 4px; border: 0; background: transparent; color: inherit; font-size: 9px; cursor: pointer; }
2976
- .pptxv-custom-shows-active { display: flex; align-items: center; gap: 8px; } .pptxv-custom-shows-active select { flex: 1; min-width: 0; padding: 6px 8px; border: 1px solid var(--pptx-border); border-radius: 4px; background: var(--pptx-muted); color: inherit; }
2977
- .pptxv-custom-shows article { display: grid; grid-template-columns: 1fr auto auto auto; gap: 6px; padding: 8px; border: 1px solid var(--pptx-border); border-radius: 6px; } .pptxv-custom-shows article > div { grid-column: 1 / -1; max-height: 140px; overflow: auto; }
2976
+ .pptxv-selection-row { display: grid; grid-template-columns: 18px 1fr 28px; align-items: center; border-radius: 4px; background: var(--_pptx-muted); } .pptxv-selection-row.is-selected { color: var(--_pptx-primary); box-shadow: inset 3px 0 var(--_pptx-primary); } .pptxv-selection-row button { padding: 7px; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
2977
+ .pptxv-comment-card { display: flex; flex-direction: column; gap: 6px; padding: 8px; border: 1px solid var(--_pptx-border); border-radius: 6px; } .pptxv-comment-card.is-resolved { opacity: .6; } .pptxv-comment-card textarea, .pptxv-workspace-list > textarea { min-height: 58px; padding: 6px; border: 1px solid var(--_pptx-border); border-radius: 4px; background: var(--_pptx-muted); color: inherit; resize: vertical; } .pptxv-comment-card div { display: flex; gap: 4px; }
2978
+ .pptxv-slide-sorter { position: absolute; z-index: 50; inset: 0; display: flex; flex-direction: column; background: color-mix(in srgb, var(--_pptx-background) 96%, transparent); color: var(--_pptx-foreground); }
2979
+ .pptxv-sorter-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; overflow: auto; padding: 18px; } .pptxv-sorter-card { overflow: hidden; border: 2px solid var(--_pptx-border); border-radius: 7px; background: var(--_pptx-card); } .pptxv-sorter-card.is-current { border-color: var(--_pptx-primary); } .pptxv-sorter-card.is-hidden { opacity: .5; } .pptxv-sorter-card > button { display: grid; width: 100%; min-height: 90px; place-items: center; border: 0; background: var(--_pptx-muted); color: inherit; font-size: 22px; cursor: pointer; } .pptxv-sorter-card div { display: flex; gap: 3px; padding: 5px; } .pptxv-sorter-card div button { flex: 1; padding: 4px; border: 0; background: transparent; color: inherit; font-size: 9px; cursor: pointer; }
2980
+ .pptxv-custom-shows-active { display: flex; align-items: center; gap: 8px; } .pptxv-custom-shows-active select { flex: 1; min-width: 0; padding: 6px 8px; border: 1px solid var(--_pptx-border); border-radius: 4px; background: var(--_pptx-muted); color: inherit; }
2981
+ .pptxv-custom-shows article { display: grid; grid-template-columns: 1fr auto auto auto; gap: 6px; padding: 8px; border: 1px solid var(--_pptx-border); border-radius: 6px; } .pptxv-custom-shows article > div { grid-column: 1 / -1; max-height: 140px; overflow: auto; }
2978
2982
  @media (max-width: 767px) {
2979
2983
  .pptxv-parity-dialog { top: auto; bottom: 0; width: 100%; max-height: 88dvh; transform: translateX(-50%); border-radius: 16px 16px 0 0; }
2980
2984
  .pptxv-parity-header button { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
@@ -2989,15 +2993,15 @@
2989
2993
  .pptxv-parity-tabs button { min-height: 44px; }
2990
2994
  }
2991
2995
  .pptxv-ole-edit-dialog { width: min(600px, calc(100vw - 32px)); }
2992
- .pptxv-ole-edit-loading, .pptxv-ole-edit-empty { color: var(--pptx-muted-foreground); }
2993
- .pptxv-ole-edit-error { color: var(--pptx-destructive); }
2994
- .pptxv-ole-edit-table-wrap { max-height: 50vh; overflow: auto; border: 1px solid var(--pptx-border); border-radius: 4px; }
2996
+ .pptxv-ole-edit-loading, .pptxv-ole-edit-empty { color: var(--_pptx-muted-foreground); }
2997
+ .pptxv-ole-edit-error { color: var(--_pptx-destructive); }
2998
+ .pptxv-ole-edit-table-wrap { max-height: 50vh; overflow: auto; border: 1px solid var(--_pptx-border); border-radius: 4px; }
2995
2999
  .pptxv-ole-edit-table { width: 100%; border-collapse: collapse; }
2996
- .pptxv-ole-edit-table td { border: 1px solid var(--pptx-border); padding: 0; }
3000
+ .pptxv-ole-edit-table td { border: 1px solid var(--_pptx-border); padding: 0; }
2997
3001
  .pptxv-ole-edit-table input { width: 100%; padding: 5px 6px; border: 0; background: transparent; color: inherit; }
2998
- .pptxv-ole-edit-table input:focus { background: var(--pptx-accent); outline: none; }
3002
+ .pptxv-ole-edit-table input:focus { background: var(--_pptx-accent); outline: none; }
2999
3003
  .pptxv-ole-edit-paragraphs, .pptxv-ole-edit-deck { display: flex; flex-direction: column; gap: 8px; }
3000
- .pptxv-ole-edit-paragraphs textarea { padding: 6px 8px; border: 1px solid var(--pptx-border); border-radius: 4px; background: var(--pptx-muted); color: inherit; resize: vertical; }
3004
+ .pptxv-ole-edit-paragraphs textarea { padding: 6px 8px; border: 1px solid var(--_pptx-border); border-radius: 4px; background: var(--_pptx-muted); color: inherit; resize: vertical; }
3001
3005
  /* Touch target: matches MIN_TOUCH_TARGET_PX (44) from pptx-viewer-shared's
3002
3006
  render/responsive module, below MOBILE_BREAKPOINT (768). The workspace
3003
3007
  Comments pane's "Add Comment" button (comments-panel.ts) carries no class
@@ -3011,8 +3015,8 @@
3011
3015
 
3012
3016
  /* ── Sections + control rows ── */
3013
3017
  .pptxv-options-section { margin: 0 0 16px; }
3014
- .pptxv-options-section > h3 { margin: 0 0 4px; padding-bottom: 3px; border-bottom: 1px solid var(--pptx-border); color: var(--pptx-muted-foreground); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
3015
- .pptxv-options-section-desc { margin: 0 0 8px; color: var(--pptx-muted-foreground); font-size: 11px; }
3018
+ .pptxv-options-section > h3 { margin: 0 0 4px; padding-bottom: 3px; border-bottom: 1px solid var(--_pptx-border); color: var(--_pptx-muted-foreground); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
3019
+ .pptxv-options-section-desc { margin: 0 0 8px; color: var(--_pptx-muted-foreground); font-size: 11px; }
3016
3020
  /* File > Options > General > Fonts: families added from a local file. */
3017
3021
  .pptxv-options-font-list {
3018
3022
  margin: 4px 0 0;
@@ -3023,38 +3027,38 @@
3023
3027
  gap: 2px;
3024
3028
  font-size: 12px;
3025
3029
  }
3026
- .pptxv-options-action { padding: 6px 11px; border: 1px solid var(--pptx-border); border-radius: 4px; background: var(--pptx-muted); color: inherit; font: inherit; font-size: 12px; cursor: pointer; }
3027
- .pptxv-options-action:hover:not(:disabled) { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
3030
+ .pptxv-options-action { padding: 6px 11px; border: 1px solid var(--_pptx-border); border-radius: 4px; background: var(--_pptx-muted); color: inherit; font: inherit; font-size: 12px; cursor: pointer; }
3031
+ .pptxv-options-action:hover:not(:disabled) { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
3028
3032
  .pptxv-options-action:disabled { opacity: .45; cursor: default; }
3029
3033
 
3030
3034
  /* ── Customize Ribbon pane ── */
3031
- .pptxv-options-ribbon-list { display: flex; flex-direction: column; gap: 2px; padding: 6px; border: 1px solid var(--pptx-border); border-radius: 6px; }
3035
+ .pptxv-options-ribbon-list { display: flex; flex-direction: column; gap: 2px; padding: 6px; border: 1px solid var(--_pptx-border); border-radius: 6px; }
3032
3036
  .pptxv-options-ribbon-list .pptxv-parity-check.is-locked { opacity: .55; cursor: not-allowed; }
3033
3037
 
3034
3038
  /* ── Quick Access pane ── */
3035
3039
  .pptxv-options-qa { display: flex; align-items: stretch; gap: 10px; }
3036
3040
  .pptxv-options-qa-col { flex: 1; min-width: 0; }
3037
- .pptxv-options-qa-title { margin: 0 0 4px; color: var(--pptx-muted-foreground); font-size: 11px; font-weight: 600; }
3038
- .pptxv-options-qa-list { display: flex; flex-direction: column; gap: 2px; height: 190px; overflow-y: auto; padding: 4px; border: 1px solid var(--pptx-border); border-radius: 6px; }
3039
- .pptxv-options-qa-list button { padding: 6px 8px; border: 0; border-radius: 4px; background: transparent; color: var(--pptx-foreground); font: inherit; font-size: 12px; text-align: left; cursor: pointer; }
3040
- .pptxv-options-qa-list button:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
3041
- .pptxv-options-qa-list button.is-selected { background: color-mix(in srgb, var(--pptx-primary) 16%, transparent); color: var(--pptx-primary); }
3041
+ .pptxv-options-qa-title { margin: 0 0 4px; color: var(--_pptx-muted-foreground); font-size: 11px; font-weight: 600; }
3042
+ .pptxv-options-qa-list { display: flex; flex-direction: column; gap: 2px; height: 190px; overflow-y: auto; padding: 4px; border: 1px solid var(--_pptx-border); border-radius: 6px; }
3043
+ .pptxv-options-qa-list button { padding: 6px 8px; border: 0; border-radius: 4px; background: transparent; color: var(--_pptx-foreground); font: inherit; font-size: 12px; text-align: left; cursor: pointer; }
3044
+ .pptxv-options-qa-list button:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
3045
+ .pptxv-options-qa-list button.is-selected { background: color-mix(in srgb, var(--_pptx-primary) 16%, transparent); color: var(--_pptx-primary); }
3042
3046
  .pptxv-options-qa-arrows { display: flex; flex-direction: column; justify-content: center; gap: 6px; }
3043
3047
 
3044
3048
  /* ── Add-ins pane ── */
3045
- .pptxv-options-addins-head { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; padding: 0 8px 4px; border-bottom: 1px solid var(--pptx-border); color: var(--pptx-muted-foreground); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
3049
+ .pptxv-options-addins-head { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; padding: 0 8px 4px; border-bottom: 1px solid var(--_pptx-border); color: var(--_pptx-muted-foreground); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
3046
3050
  .pptxv-options-addins h4 { margin: 12px 0 4px; font-size: 11px; }
3047
3051
  .pptxv-options-addins table { width: 100%; border-collapse: collapse; text-align: left; }
3048
- .pptxv-options-addins td { padding: 5px 8px; border-bottom: 1px solid color-mix(in srgb, var(--pptx-border) 55%, transparent); font-size: 11px; }
3049
- .pptxv-options-addins td:nth-child(2) { color: var(--pptx-muted-foreground); font-family: ui-monospace, monospace; font-size: 10px; }
3050
- .pptxv-options-addins td:nth-child(3) { color: var(--pptx-muted-foreground); }
3052
+ .pptxv-options-addins td { padding: 5px 8px; border-bottom: 1px solid color-mix(in srgb, var(--_pptx-border) 55%, transparent); font-size: 11px; }
3053
+ .pptxv-options-addins td:nth-child(2) { color: var(--_pptx-muted-foreground); font-family: ui-monospace, monospace; font-size: 10px; }
3054
+ .pptxv-options-addins td:nth-child(3) { color: var(--_pptx-muted-foreground); }
3051
3055
  .pptxv-options-addins tr { cursor: pointer; }
3052
- .pptxv-options-addins tr:hover { background: var(--pptx-accent); }
3053
- .pptxv-options-addins tr.is-selected { background: color-mix(in srgb, var(--pptx-primary) 12%, transparent); }
3054
- .pptxv-options-addins-empty { padding: 4px 8px; color: var(--pptx-muted-foreground); font-style: italic; }
3055
- .pptxv-options-addins-detail { margin-top: 10px; padding: 10px; border: 1px solid var(--pptx-border); border-radius: 6px; background: var(--pptx-muted); }
3056
+ .pptxv-options-addins tr:hover { background: var(--_pptx-accent); }
3057
+ .pptxv-options-addins tr.is-selected { background: color-mix(in srgb, var(--_pptx-primary) 12%, transparent); }
3058
+ .pptxv-options-addins-empty { padding: 4px 8px; color: var(--_pptx-muted-foreground); font-style: italic; }
3059
+ .pptxv-options-addins-detail { margin-top: 10px; padding: 10px; border: 1px solid var(--_pptx-border); border-radius: 6px; background: var(--_pptx-muted); }
3056
3060
  .pptxv-options-addins-detail p { margin: 0 0 4px; font-size: 11px; }
3057
- .pptxv-options-addins-detail p:last-child { margin: 0; color: var(--pptx-muted-foreground); font-family: ui-monospace, monospace; font-size: 10px; }
3061
+ .pptxv-options-addins-detail p:last-child { margin: 0; color: var(--_pptx-muted-foreground); font-family: ui-monospace, monospace; font-size: 10px; }
3058
3062
 
3059
3063
  /* ── End of slide show (black slide) ── */
3060
3064
  .pptxv-endshow { position: absolute; inset: 0; z-index: 60; display: grid; place-items: center; border: 0; background: #000; color: #e5e7eb; font-size: 13px; cursor: pointer; }
@@ -3074,17 +3078,17 @@
3074
3078
 
3075
3079
 
3076
3080
  .pptxv-motion-path-row { display: grid; gap: 2px; font-size: 11px; }
3077
- .pptxv-motion-path-row > span { color: var(--pptx-muted-foreground); }
3081
+ .pptxv-motion-path-row > span { color: var(--_pptx-muted-foreground); }
3078
3082
  .pptxv-motion-path-row select {
3079
3083
  width: 100%;
3080
3084
  padding: 3px 4px;
3081
- border: 1px solid var(--pptx-border);
3082
- border-radius: var(--pptx-radius);
3083
- background: var(--pptx-background);
3084
- color: var(--pptx-foreground);
3085
+ border: 1px solid var(--_pptx-border);
3086
+ border-radius: var(--_pptx-radius);
3087
+ background: var(--_pptx-background);
3088
+ color: var(--_pptx-foreground);
3085
3089
  font-size: 11px;
3086
3090
  }
3087
- .pptxv-motion-path-hint { font-size: 10px; color: var(--pptx-muted-foreground); }
3091
+ .pptxv-motion-path-hint { font-size: 10px; color: var(--_pptx-muted-foreground); }
3088
3092
  /* The on-canvas path overlay lives inside the scaled stage; only the end
3089
3093
  handle takes pointers so the slide underneath stays clickable. */
3090
3094
  svg[data-pptx-motion-path-overlay] { pointer-events: none; }
@@ -3094,7 +3098,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3094
3098
  gap: 6px;
3095
3099
  min-width: 220px;
3096
3100
  padding: 4px 8px;
3097
- border-left: 1px solid var(--pptx-border);
3101
+ border-left: 1px solid var(--_pptx-border);
3098
3102
  }
3099
3103
  .pptxv-animation-timeline-list { display: grid; gap: 2px; max-height: 112px; overflow: auto; }
3100
3104
  .pptxv-animation-timeline-row {
@@ -3103,10 +3107,10 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3103
3107
  align-items: center;
3104
3108
  gap: 2px;
3105
3109
  padding: 2px 4px;
3106
- border-radius: var(--pptx-radius);
3107
- background: color-mix(in srgb, var(--pptx-muted) 65%, transparent);
3110
+ border-radius: var(--_pptx-radius);
3111
+ background: color-mix(in srgb, var(--_pptx-muted) 65%, transparent);
3108
3112
  }
3109
- .pptxv-animation-timeline-row.is-selected { outline: 1px solid var(--pptx-ring); }
3113
+ .pptxv-animation-timeline-row.is-selected { outline: 1px solid var(--_pptx-ring); }
3110
3114
  .pptxv-animation-timeline-row.is-native { font-style: italic; opacity: 0.7; grid-template-columns: minmax(0, 1fr); }
3111
3115
  .pptxv-animation-timeline-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
3112
3116
  .pptxv-animation-timing-controls { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 4px; }
@@ -3115,10 +3119,10 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3115
3119
  min-width: 0;
3116
3120
  width: 100%;
3117
3121
  padding: 3px;
3118
- border: 1px solid var(--pptx-border);
3119
- border-radius: var(--pptx-radius);
3120
- background: var(--pptx-background);
3121
- color: var(--pptx-foreground);
3122
+ border: 1px solid var(--_pptx-border);
3123
+ border-radius: var(--_pptx-radius);
3124
+ background: var(--_pptx-background);
3125
+ color: var(--_pptx-foreground);
3122
3126
  }
3123
3127
 
3124
3128
 
@@ -3128,7 +3132,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3128
3132
  gap: 6px;
3129
3133
  flex: none;
3130
3134
  padding: 8px 10px;
3131
- border-top: 1px solid var(--pptx-border);
3135
+ border-top: 1px solid var(--_pptx-border);
3132
3136
  max-height: 40%;
3133
3137
  overflow-y: auto;
3134
3138
  font-size: 11px;
@@ -3138,23 +3142,23 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3138
3142
  .pptxv-anim-preview-btn {
3139
3143
  padding: 2px 6px;
3140
3144
  border: none;
3141
- border-radius: var(--pptx-radius);
3145
+ border-radius: var(--_pptx-radius);
3142
3146
  background: transparent;
3143
- color: var(--pptx-primary);
3147
+ color: var(--_pptx-primary);
3144
3148
  font-size: 10px;
3145
3149
  cursor: pointer;
3146
3150
  }
3147
- .pptxv-anim-preview-btn:hover { background: var(--pptx-accent); }
3151
+ .pptxv-anim-preview-btn:hover { background: var(--_pptx-accent); }
3148
3152
  .pptxv-anim-field { display: grid; gap: 2px; font-size: 11px; }
3149
- .pptxv-anim-field > span { color: var(--pptx-muted-foreground); }
3153
+ .pptxv-anim-field > span { color: var(--_pptx-muted-foreground); }
3150
3154
  .pptxv-anim-field :is(select, input) {
3151
3155
  min-width: 0;
3152
3156
  width: 100%;
3153
3157
  padding: 3px;
3154
- border: 1px solid var(--pptx-border);
3155
- border-radius: var(--pptx-radius);
3156
- background: var(--pptx-muted);
3157
- color: var(--pptx-foreground);
3158
+ border: 1px solid var(--_pptx-border);
3159
+ border-radius: var(--_pptx-radius);
3160
+ background: var(--_pptx-muted);
3161
+ color: var(--_pptx-foreground);
3158
3162
  }
3159
3163
  .pptxv-anim-options { display: grid; gap: 6px; }
3160
3164
  .pptxv-anim-options[hidden] { display: none; }
@@ -3162,18 +3166,18 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3162
3166
  .pptxv-anim-direction > span { flex-basis: 100%; }
3163
3167
  .pptxv-anim-direction-btn {
3164
3168
  padding: 3px 6px;
3165
- border: 1px solid var(--pptx-border);
3166
- border-radius: var(--pptx-radius);
3167
- background: var(--pptx-muted);
3168
- color: var(--pptx-muted-foreground);
3169
+ border: 1px solid var(--_pptx-border);
3170
+ border-radius: var(--_pptx-radius);
3171
+ background: var(--_pptx-muted);
3172
+ color: var(--_pptx-muted-foreground);
3169
3173
  font-size: 10px;
3170
3174
  cursor: pointer;
3171
3175
  }
3172
- .pptxv-anim-direction-btn:hover:not(:disabled) { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
3176
+ .pptxv-anim-direction-btn:hover:not(:disabled) { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
3173
3177
  .pptxv-anim-direction-btn.is-active {
3174
- border-color: var(--pptx-primary);
3175
- background: color-mix(in srgb, var(--pptx-primary) 20%, transparent);
3176
- color: var(--pptx-primary);
3178
+ border-color: var(--_pptx-primary);
3179
+ background: color-mix(in srgb, var(--_pptx-primary) 20%, transparent);
3180
+ color: var(--_pptx-primary);
3177
3181
  }
3178
3182
  .pptxv-anim-timeline { display: grid; gap: 4px; }
3179
3183
  .pptxv-anim-timeline[hidden] { display: none; }
@@ -3181,16 +3185,16 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3181
3185
  position: relative;
3182
3186
  height: 22px;
3183
3187
  overflow: hidden;
3184
- border: 1px solid var(--pptx-border);
3185
- border-radius: var(--pptx-radius);
3186
- background: color-mix(in srgb, var(--pptx-muted) 50%, transparent);
3188
+ border: 1px solid var(--_pptx-border);
3189
+ border-radius: var(--_pptx-radius);
3190
+ background: color-mix(in srgb, var(--_pptx-muted) 50%, transparent);
3187
3191
  }
3188
3192
  .pptxv-anim-bar-seg { position: absolute; top: 2px; bottom: 2px; border-radius: 2px; }
3189
3193
  .pptxv-anim-bar-seg.is-entrance { background: rgb(34 197 94 / 0.6); }
3190
3194
  .pptxv-anim-bar-seg.is-emphasis { background: rgb(234 179 8 / 0.6); }
3191
3195
  .pptxv-anim-bar-seg.is-exit { background: rgb(239 68 68 / 0.6); }
3192
- .pptxv-anim-bar-seg.is-none { background: color-mix(in srgb, var(--pptx-muted-foreground) 40%, transparent); }
3193
- .pptxv-anim-bar-seg.is-selected { outline: 1px solid var(--pptx-ring); }
3196
+ .pptxv-anim-bar-seg.is-none { background: color-mix(in srgb, var(--_pptx-muted-foreground) 40%, transparent); }
3197
+ .pptxv-anim-bar-seg.is-selected { outline: 1px solid var(--_pptx-ring); }
3194
3198
  /* Below this width, matches isDensePanelCompact()/MOBILE_BREAKPOINT (768) in
3195
3199
  pptx-viewer-shared: getDensePanelTouchTargetPx(width) returns
3196
3200
  MIN_TOUCH_TARGET_PX (44) instead of DEFAULT_DENSE_BUTTON_PX (28), so the
@@ -3222,7 +3226,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3222
3226
  .pptxv-inspector-comment.is-reply {
3223
3227
  border-bottom: none;
3224
3228
  padding: 4px 0 4px 8px;
3225
- border-left: 2px solid color-mix(in srgb, var(--pptx-primary) 40%, transparent);
3229
+ border-left: 2px solid color-mix(in srgb, var(--_pptx-primary) 40%, transparent);
3226
3230
  }
3227
3231
  .pptxv-inspector-comment-replies { margin-top: 4px; display: grid; gap: 2px; }
3228
3232
  .pptxv-inspector-comment-replies-toggle {
@@ -3230,17 +3234,17 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3230
3234
  padding: 0;
3231
3235
  border: none;
3232
3236
  background: transparent;
3233
- color: var(--pptx-muted-foreground);
3237
+ color: var(--_pptx-muted-foreground);
3234
3238
  font-size: 10px;
3235
3239
  text-align: left;
3236
3240
  cursor: pointer;
3237
3241
  }
3238
- .pptxv-inspector-comment-replies-toggle:hover { color: var(--pptx-foreground); }
3242
+ .pptxv-inspector-comment-replies-toggle:hover { color: var(--_pptx-foreground); }
3239
3243
  .pptxv-inspector-comment-edit,
3240
3244
  .pptxv-inspector-comment-reply-form { display: grid; gap: 4px; margin-top: 4px; }
3241
3245
  .pptxv-inspector-comment-reply-form {
3242
3246
  padding-left: 8px;
3243
- border-left: 2px solid color-mix(in srgb, var(--pptx-primary) 40%, transparent);
3247
+ border-left: 2px solid color-mix(in srgb, var(--_pptx-primary) 40%, transparent);
3244
3248
  }
3245
3249
 
3246
3250
  /* ── @-mention typeahead (new-comment / reply drafts) ────────────────── */
@@ -3250,9 +3254,9 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3250
3254
  gap: 1px;
3251
3255
  margin-top: 2px;
3252
3256
  padding: 2px;
3253
- border: 1px solid var(--pptx-border);
3254
- border-radius: var(--pptx-radius);
3255
- background: var(--pptx-card);
3257
+ border: 1px solid var(--_pptx-border);
3258
+ border-radius: var(--_pptx-radius);
3259
+ background: var(--_pptx-card);
3256
3260
  max-height: 140px;
3257
3261
  overflow-y: auto;
3258
3262
  }
@@ -3261,7 +3265,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3261
3265
  border: none;
3262
3266
  border-radius: 3px;
3263
3267
  background: transparent;
3264
- color: var(--pptx-foreground);
3268
+ color: var(--_pptx-foreground);
3265
3269
  font: inherit;
3266
3270
  font-size: 11px;
3267
3271
  text-align: left;
@@ -3269,8 +3273,8 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3269
3273
  }
3270
3274
  .pptxv-comment-mention-option:hover,
3271
3275
  .pptxv-comment-mention-option.is-active {
3272
- background: var(--pptx-accent);
3273
- color: var(--pptx-accent-foreground);
3276
+ background: var(--_pptx-accent);
3277
+ color: var(--_pptx-accent-foreground);
3274
3278
  }
3275
3279
 
3276
3280
  /* ── Action Settings: custom-show "return after" checkbox ────────────── */
@@ -3280,7 +3284,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3280
3284
  gap: 6px;
3281
3285
  margin-top: 4px;
3282
3286
  font-size: 11px;
3283
- color: var(--pptx-foreground);
3287
+ color: var(--_pptx-foreground);
3284
3288
  }
3285
3289
  .pptxv-action-return-row[hidden] { display: none; }
3286
3290
 
@@ -3317,11 +3321,11 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3317
3321
  height: 26px;
3318
3322
  min-width: 0;
3319
3323
  padding: 0;
3320
- border: 1px solid var(--pptx-border);
3321
- border-radius: var(--pptx-radius);
3324
+ border: 1px solid var(--_pptx-border);
3325
+ border-radius: var(--_pptx-radius);
3322
3326
  cursor: pointer;
3323
3327
  }
3324
- .pptxv-quick-style:hover:not(:disabled) { outline: 2px solid var(--pptx-primary); outline-offset: -1px; }
3328
+ .pptxv-quick-style:hover:not(:disabled) { outline: 2px solid var(--_pptx-primary); outline-offset: -1px; }
3325
3329
  .pptxv-quick-style:disabled { opacity: 0.5; cursor: default; }
3326
3330
  /* Each preset is a discrete, individually-named action button (not a colour
3327
3331
  swatch), so it gets the shared WCAG touch target below the mobile
@@ -3338,9 +3342,9 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3338
3342
  display: grid;
3339
3343
  gap: 4px;
3340
3344
  padding-left: 6px;
3341
- border-left: 2px solid var(--pptx-border);
3345
+ border-left: 2px solid var(--_pptx-border);
3342
3346
  }
3343
- .pptxv-text3d-bevel-label { color: var(--pptx-muted-foreground); font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em; }
3347
+ .pptxv-text3d-bevel-label { color: var(--_pptx-muted-foreground); font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em; }
3344
3348
  .pptxv-text3d-color { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
3345
3349
 
3346
3350
  /* ── Chart data grid ─────────────────────────────────────────────────── */
@@ -3349,15 +3353,15 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3349
3353
  .pptxv-chart-grid-toolbar { display: flex; justify-content: flex-end; gap: 4px; }
3350
3354
  .pptxv-chart-grid-btn {
3351
3355
  padding: 2px 6px;
3352
- border: 1px solid var(--pptx-border);
3353
- border-radius: var(--pptx-radius);
3354
- background: var(--pptx-muted);
3355
- color: var(--pptx-foreground);
3356
+ border: 1px solid var(--_pptx-border);
3357
+ border-radius: var(--_pptx-radius);
3358
+ background: var(--_pptx-muted);
3359
+ color: var(--_pptx-foreground);
3356
3360
  font: inherit;
3357
3361
  font-size: 10px;
3358
3362
  cursor: pointer;
3359
3363
  }
3360
- .pptxv-chart-grid-btn:hover:not(:disabled) { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
3364
+ .pptxv-chart-grid-btn:hover:not(:disabled) { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
3361
3365
  .pptxv-chart-grid-table { width: 100%; border-collapse: collapse; font-size: 11px; }
3362
3366
  .pptxv-chart-grid-table th, .pptxv-chart-grid-table td { padding: 1px; min-width: 72px; }
3363
3367
  .pptxv-chart-grid-table th { font-weight: 400; }
@@ -3367,26 +3371,26 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3367
3371
  width: 100%;
3368
3372
  min-width: 52px;
3369
3373
  padding: 2px 4px;
3370
- border: 1px solid var(--pptx-border);
3371
- border-radius: var(--pptx-radius);
3372
- background: var(--pptx-background);
3373
- color: var(--pptx-foreground);
3374
+ border: 1px solid var(--_pptx-border);
3375
+ border-radius: var(--_pptx-radius);
3376
+ background: var(--_pptx-background);
3377
+ color: var(--_pptx-foreground);
3374
3378
  font: inherit;
3375
3379
  font-size: 11px;
3376
3380
  }
3377
- .pptxv-chart-grid-cell:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -1px; }
3381
+ .pptxv-chart-grid-cell:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -1px; }
3378
3382
  /* Ring-highlight for the cell matching the on-canvas chart part selection. */
3379
- .pptxv-chart-grid-cell-highlight { outline: 2px solid var(--pptx-ring); outline-offset: -1px; }
3383
+ .pptxv-chart-grid-cell-highlight { outline: 2px solid var(--_pptx-ring); outline-offset: -1px; }
3380
3384
  .pptxv-chart-grid-remove {
3381
3385
  margin-left: 2px;
3382
3386
  padding: 0 3px;
3383
3387
  border: none;
3384
3388
  background: transparent;
3385
- color: var(--pptx-muted-foreground);
3389
+ color: var(--_pptx-muted-foreground);
3386
3390
  font: inherit;
3387
3391
  cursor: pointer;
3388
3392
  }
3389
- .pptxv-chart-grid-remove:hover { color: var(--pptx-destructive); }
3393
+ .pptxv-chart-grid-remove:hover { color: var(--_pptx-destructive); }
3390
3394
  /* Below this width, matches isDensePanelCompact()/MOBILE_BREAKPOINT (768) in
3391
3395
  pptx-viewer-shared: getDenseGridLayoutPlan(width) returns
3392
3396
  stickyFirstColumn: true, minCellWidthPx: 64, and
@@ -3399,7 +3403,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3399
3403
  position: sticky;
3400
3404
  left: 0;
3401
3405
  z-index: 1;
3402
- background: var(--pptx-background);
3406
+ background: var(--_pptx-background);
3403
3407
  }
3404
3408
  .pptxv-chart-grid-table thead th:first-child { z-index: 2; }
3405
3409
  .pptxv-chart-grid-btn, .pptxv-chart-grid-remove { min-width: 44px !important; min-height: 44px !important; }
@@ -3411,15 +3415,15 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3411
3415
  .pptxv-table-grid-toolbar[hidden] { display: none; }
3412
3416
  .pptxv-table-grid-btn {
3413
3417
  padding: 2px 6px;
3414
- border: 1px solid var(--pptx-border);
3415
- border-radius: var(--pptx-radius);
3416
- background: var(--pptx-muted);
3417
- color: var(--pptx-foreground);
3418
+ border: 1px solid var(--_pptx-border);
3419
+ border-radius: var(--_pptx-radius);
3420
+ background: var(--_pptx-muted);
3421
+ color: var(--_pptx-foreground);
3418
3422
  font: inherit;
3419
3423
  font-size: 10px;
3420
3424
  cursor: pointer;
3421
3425
  }
3422
- .pptxv-table-grid-btn:hover:not(:disabled) { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
3426
+ .pptxv-table-grid-btn:hover:not(:disabled) { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
3423
3427
  .pptxv-table-grid-btn:disabled { opacity: 0.5; cursor: default; }
3424
3428
  .pptxv-table-grid-scroll { overflow-x: auto; }
3425
3429
  .pptxv-table-grid-body { display: flex; flex-direction: column; width: max-content; min-width: 100%; font-size: 11px; }
@@ -3433,9 +3437,9 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3433
3437
  min-width: 72px;
3434
3438
  margin: -1px 0 0 -1px;
3435
3439
  padding: 1px 3px;
3436
- border: 1px solid var(--pptx-border);
3437
- background: var(--pptx-muted);
3438
- color: var(--pptx-muted-foreground);
3440
+ border: 1px solid var(--_pptx-border);
3441
+ background: var(--_pptx-muted);
3442
+ color: var(--_pptx-muted-foreground);
3439
3443
  white-space: nowrap;
3440
3444
  }
3441
3445
  .pptxv-table-grid-gutter { flex: 0 0 38px; min-width: 38px; }
@@ -3445,7 +3449,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3445
3449
  min-width: 72px;
3446
3450
  margin: -1px 0 0 -1px;
3447
3451
  padding: 1px;
3448
- border: 1px solid var(--pptx-border);
3452
+ border: 1px solid var(--_pptx-border);
3449
3453
  }
3450
3454
  .pptxv-table-grid-input {
3451
3455
  box-sizing: border-box;
@@ -3454,23 +3458,23 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3454
3458
  padding: 2px 4px;
3455
3459
  border: none;
3456
3460
  background: transparent;
3457
- color: var(--pptx-foreground);
3461
+ color: var(--_pptx-foreground);
3458
3462
  font: inherit;
3459
3463
  font-size: 11px;
3460
3464
  }
3461
- .pptxv-table-grid-input:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -2px; }
3465
+ .pptxv-table-grid-input:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -2px; }
3462
3466
  .pptxv-table-grid-input:disabled { opacity: 0.6; }
3463
3467
  .pptxv-table-grid-remove {
3464
3468
  padding: 0 2px;
3465
3469
  border: none;
3466
3470
  background: transparent;
3467
- color: var(--pptx-muted-foreground);
3471
+ color: var(--_pptx-muted-foreground);
3468
3472
  font: inherit;
3469
3473
  line-height: 1;
3470
3474
  cursor: pointer;
3471
3475
  }
3472
3476
  .pptxv-table-grid-remove[hidden] { display: none; }
3473
- .pptxv-table-grid-remove:hover { color: var(--pptx-destructive); }
3477
+ .pptxv-table-grid-remove:hover { color: var(--_pptx-destructive); }
3474
3478
  /* Below this width, matches isDensePanelCompact()/MOBILE_BREAKPOINT (768) in
3475
3479
  pptx-viewer-shared: getDenseGridLayoutPlan(width) returns
3476
3480
  stickyFirstColumn: true, minCellWidthPx: 64, and
@@ -3484,7 +3488,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3484
3488
  position: sticky;
3485
3489
  left: 0;
3486
3490
  z-index: 1;
3487
- background: var(--pptx-muted);
3491
+ background: var(--_pptx-muted);
3488
3492
  }
3489
3493
  .pptxv-table-grid-btn { min-width: 44px !important; min-height: 44px !important; }
3490
3494
  .pptxv-table-grid-remove { min-width: 44px !important; min-height: 44px !important; }
@@ -3493,12 +3497,12 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3493
3497
  /* ── Media trim timeline ─────────────────────────────────────────────── */
3494
3498
  .pptxv-media-timeline { display: grid; gap: 2px; margin: 6px 0; }
3495
3499
  .pptxv-media-timeline-times { display: flex; justify-content: space-between; }
3496
- .pptxv-media-timeline-time { color: var(--pptx-muted-foreground); font-size: 10px; font-variant-numeric: tabular-nums; }
3500
+ .pptxv-media-timeline-time { color: var(--_pptx-muted-foreground); font-size: 10px; font-variant-numeric: tabular-nums; }
3497
3501
  .pptxv-media-timeline-bar {
3498
3502
  position: relative;
3499
3503
  height: 20px;
3500
- border-radius: var(--pptx-radius);
3501
- background: var(--pptx-muted);
3504
+ border-radius: var(--_pptx-radius);
3505
+ background: var(--_pptx-muted);
3502
3506
  cursor: pointer;
3503
3507
  user-select: none;
3504
3508
  touch-action: none;
@@ -3507,8 +3511,8 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3507
3511
  position: absolute;
3508
3512
  top: 0;
3509
3513
  bottom: 0;
3510
- border-radius: var(--pptx-radius);
3511
- background: color-mix(in srgb, var(--pptx-primary) 30%, transparent);
3514
+ border-radius: var(--_pptx-radius);
3515
+ background: color-mix(in srgb, var(--_pptx-primary) 30%, transparent);
3512
3516
  pointer-events: none;
3513
3517
  }
3514
3518
  .pptxv-media-timeline-playhead { position: absolute; top: 0; bottom: 0; width: 2px; background: #fff; pointer-events: none; }
@@ -3532,7 +3536,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3532
3536
  width: 8px;
3533
3537
  margin-left: -4px;
3534
3538
  border-radius: 2px;
3535
- background: var(--pptx-primary);
3539
+ background: var(--_pptx-primary);
3536
3540
  cursor: ew-resize;
3537
3541
  touch-action: none;
3538
3542
  }
@@ -3548,33 +3552,33 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3548
3552
  min-width: 24px;
3549
3553
  height: 22px;
3550
3554
  padding: 0 4px;
3551
- border: 1px solid var(--pptx-border);
3552
- border-radius: var(--pptx-radius);
3553
- background: var(--pptx-muted);
3554
- color: var(--pptx-foreground);
3555
+ border: 1px solid var(--_pptx-border);
3556
+ border-radius: var(--_pptx-radius);
3557
+ background: var(--_pptx-muted);
3558
+ color: var(--_pptx-foreground);
3555
3559
  font: inherit;
3556
3560
  font-size: 11px;
3557
3561
  cursor: pointer;
3558
3562
  }
3559
- .pptxv-transition-dir:hover:not(:disabled) { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
3560
- .pptxv-transition-dir.is-active { border-color: var(--pptx-primary); background: color-mix(in srgb, var(--pptx-primary) 20%, transparent); color: var(--pptx-primary); }
3563
+ .pptxv-transition-dir:hover:not(:disabled) { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
3564
+ .pptxv-transition-dir.is-active { border-color: var(--_pptx-primary); background: color-mix(in srgb, var(--_pptx-primary) 20%, transparent); color: var(--_pptx-primary); }
3561
3565
  .pptxv-transition-pattern-btn {
3562
3566
  padding: 2px 8px;
3563
- border: 1px solid var(--pptx-border);
3564
- border-radius: var(--pptx-radius);
3565
- background: var(--pptx-muted);
3566
- color: var(--pptx-foreground);
3567
+ border: 1px solid var(--_pptx-border);
3568
+ border-radius: var(--_pptx-radius);
3569
+ background: var(--_pptx-muted);
3570
+ color: var(--_pptx-foreground);
3567
3571
  font: inherit;
3568
3572
  font-size: 11px;
3569
3573
  cursor: pointer;
3570
3574
  }
3571
- .pptxv-transition-pattern-btn:hover:not(:disabled) { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
3572
- .pptxv-transition-pattern-btn.is-active { border-color: var(--pptx-primary); background: color-mix(in srgb, var(--pptx-primary) 20%, transparent); color: var(--pptx-primary); }
3573
- .pptxv-transition-sound { margin: 4px 0 0; color: var(--pptx-muted-foreground); font-size: 10px; }
3575
+ .pptxv-transition-pattern-btn:hover:not(:disabled) { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
3576
+ .pptxv-transition-pattern-btn.is-active { border-color: var(--_pptx-primary); background: color-mix(in srgb, var(--_pptx-primary) 20%, transparent); color: var(--_pptx-primary); }
3577
+ .pptxv-transition-sound { margin: 4px 0 0; color: var(--_pptx-muted-foreground); font-size: 10px; }
3574
3578
  .pptxv-transition-sound[hidden] { display: none; }
3575
3579
  .pptxv-transition-preview { display: grid; gap: 3px; margin-top: 8px; }
3576
3580
  .pptxv-transition-preview[hidden] { display: none; }
3577
- .pptxv-transition-preview-label { font-size: 10px; color: var(--pptx-muted-foreground); }
3581
+ .pptxv-transition-preview-label { font-size: 10px; color: var(--_pptx-muted-foreground); }
3578
3582
  .pptxv-transition-preview-stage {
3579
3583
  position: relative;
3580
3584
  display: block;
@@ -3582,9 +3586,9 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3582
3586
  height: 64px;
3583
3587
  padding: 0;
3584
3588
  overflow: hidden;
3585
- border: 1px solid var(--pptx-border);
3589
+ border: 1px solid var(--_pptx-border);
3586
3590
  border-radius: 6px;
3587
- background: var(--pptx-muted);
3591
+ background: var(--_pptx-muted);
3588
3592
  cursor: pointer;
3589
3593
  }
3590
3594
  .pptxv-transition-preview-layer {
@@ -3593,11 +3597,11 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3593
3597
  display: flex;
3594
3598
  align-items: center;
3595
3599
  justify-content: center;
3596
- color: var(--pptx-muted-foreground);
3600
+ color: var(--_pptx-muted-foreground);
3597
3601
  font-size: 9px;
3598
3602
  }
3599
- .pptxv-transition-preview-layer.is-incoming { background: color-mix(in srgb, var(--pptx-primary) 20%, transparent); }
3600
- .pptxv-transition-preview-layer.is-outgoing { background: var(--pptx-card); }
3603
+ .pptxv-transition-preview-layer.is-incoming { background: color-mix(in srgb, var(--_pptx-primary) 20%, transparent); }
3604
+ .pptxv-transition-preview-layer.is-outgoing { background: var(--_pptx-card); }
3601
3605
 
3602
3606
  /* ── Tags card ───────────────────────────────────────────────────────── */
3603
3607
  .pptxv-tags-toggle {
@@ -3608,36 +3612,36 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3608
3612
  padding: 0;
3609
3613
  border: none;
3610
3614
  background: transparent;
3611
- color: var(--pptx-foreground);
3615
+ color: var(--_pptx-foreground);
3612
3616
  font: inherit;
3613
3617
  font-size: 11px;
3614
3618
  cursor: pointer;
3615
3619
  }
3616
- .pptxv-tags-count { color: var(--pptx-muted-foreground); font-size: 10px; }
3620
+ .pptxv-tags-count { color: var(--_pptx-muted-foreground); font-size: 10px; }
3617
3621
  .pptxv-tags-list { display: grid; gap: 4px; margin-top: 6px; }
3618
3622
  .pptxv-tags-list[hidden] { display: none; }
3619
3623
  .pptxv-tags-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 4px; }
3620
3624
  .pptxv-tags-input {
3621
3625
  min-width: 0;
3622
3626
  padding: 2px 4px;
3623
- border: 1px solid var(--pptx-border);
3624
- border-radius: var(--pptx-radius);
3625
- background: var(--pptx-background);
3626
- color: var(--pptx-foreground);
3627
+ border: 1px solid var(--_pptx-border);
3628
+ border-radius: var(--_pptx-radius);
3629
+ background: var(--_pptx-background);
3630
+ color: var(--_pptx-foreground);
3627
3631
  font: inherit;
3628
3632
  font-size: 11px;
3629
3633
  }
3630
3634
  .pptxv-tags-remove {
3631
3635
  padding: 0 5px;
3632
3636
  border: none;
3633
- border-radius: var(--pptx-radius);
3637
+ border-radius: var(--_pptx-radius);
3634
3638
  background: transparent;
3635
- color: var(--pptx-muted-foreground);
3639
+ color: var(--_pptx-muted-foreground);
3636
3640
  font: inherit;
3637
3641
  cursor: pointer;
3638
3642
  }
3639
- .pptxv-tags-remove:hover { color: var(--pptx-destructive); }
3640
- .pptxv-tags-empty { margin: 6px 0 0; color: var(--pptx-muted-foreground); font-size: 10px; }
3643
+ .pptxv-tags-remove:hover { color: var(--_pptx-destructive); }
3644
+ .pptxv-tags-empty { margin: 6px 0 0; color: var(--_pptx-muted-foreground); font-size: 10px; }
3641
3645
  .pptxv-tags-empty[hidden] { display: none; }
3642
3646
 
3643
3647
  /* ── Alt text (image section) ────────────────────────────────────────── */
@@ -3646,25 +3650,24 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3646
3650
  box-sizing: border-box;
3647
3651
  width: 100%;
3648
3652
  padding: 4px 6px;
3649
- border: 1px solid var(--pptx-border);
3650
- border-radius: var(--pptx-radius);
3651
- background: var(--pptx-background);
3652
- color: var(--pptx-foreground);
3653
+ border: 1px solid var(--_pptx-border);
3654
+ border-radius: var(--_pptx-radius);
3655
+ background: var(--_pptx-background);
3656
+ color: var(--_pptx-foreground);
3653
3657
  font: inherit;
3654
3658
  font-size: 11px;
3655
3659
  resize: vertical;
3656
3660
  }
3657
- .pptxv-image-alt-input:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -1px; }
3661
+ .pptxv-image-alt-input:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -1px; }
3658
3662
 
3659
3663
  /* chart-exhaustive-controls.ts's field()/tokenSelect() factory backs dozens
3660
3664
  of chart/table controls (Chart type, Grouping, Alignment, ...) and carried
3661
3665
  no class of its own, so a touch-target fix here reaches all of them. */
3662
3666
  @media (max-width: 767px) {
3663
3667
  .pptxv-exhaustive-field-control { min-height: 44px; min-width: 44px; }
3664
- /* text-effects-controls.ts's own local field() helper (Transform warp
3665
- select, ...) carries no class of its own either; target it through its
3666
- section container. */
3667
- .pptxv-inspector-text-effects select,
3668
+ /* text-effects-controls.ts's own local field() helper carries no class of
3669
+ its own either; target it through its section container. (Its Transform
3670
+ gallery sizes its own tiles for touch.) */
3668
3671
  .pptxv-inspector-text-effects input {
3669
3672
  min-height: 44px;
3670
3673
  }
@@ -3712,7 +3715,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3712
3715
  justify-content: space-between;
3713
3716
  gap: 8px;
3714
3717
  min-width: 0;
3715
- color: var(--pptx-muted-foreground);
3718
+ color: var(--_pptx-muted-foreground);
3716
3719
  font-size: 11px;
3717
3720
  }
3718
3721
  .pptxv-inspector-table-cell input[type='number'],
@@ -3722,10 +3725,10 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3722
3725
  width: 64px;
3723
3726
  height: 24px;
3724
3727
  padding: 2px 6px;
3725
- border: 1px solid var(--pptx-border);
3726
- border-radius: var(--pptx-radius);
3727
- background: var(--pptx-background);
3728
- color: var(--pptx-foreground);
3728
+ border: 1px solid var(--_pptx-border);
3729
+ border-radius: var(--_pptx-radius);
3730
+ background: var(--_pptx-background);
3731
+ color: var(--_pptx-foreground);
3729
3732
  font: inherit;
3730
3733
  font-size: 11px;
3731
3734
  }
@@ -3736,7 +3739,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3736
3739
  width: 28px;
3737
3740
  height: 20px;
3738
3741
  padding: 0;
3739
- border: 1px solid var(--pptx-border);
3742
+ border: 1px solid var(--_pptx-border);
3740
3743
  border-radius: 4px;
3741
3744
  background: none;
3742
3745
  cursor: pointer;
@@ -3750,36 +3753,21 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3750
3753
  .pptxv-inspector-table-structure button {
3751
3754
  min-width: 0;
3752
3755
  padding: 4px 6px;
3753
- border: 1px solid var(--pptx-border);
3754
- border-radius: var(--pptx-radius);
3755
- background: var(--pptx-muted);
3756
+ border: 1px solid var(--_pptx-border);
3757
+ border-radius: var(--_pptx-radius);
3758
+ background: var(--_pptx-muted);
3756
3759
  color: inherit;
3757
3760
  font: inherit;
3758
3761
  font-size: 11px;
3759
3762
  cursor: pointer;
3760
3763
  }
3761
- .pptxv-inspector-table-structure button:hover:not(:disabled) { background: var(--pptx-accent); }
3764
+ .pptxv-inspector-table-structure button:hover:not(:disabled) { background: var(--_pptx-accent); }
3762
3765
  .pptxv-inspector-table-structure button:disabled { opacity: 0.5; cursor: default; }
3763
3766
  .pptxv-inspector-table-structure input[type='number'] { width: 100%; }
3764
3767
 
3765
3768
  /* ── Theme Colors grid (ui/theme-color-swatch-grid.ts) ───────────────── */
3766
- .pptxv-theme-swatch-grid { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; }
3767
- .pptxv-theme-swatch-grid[hidden] { display: none; }
3768
- .pptxv-theme-swatch-grid-label { color: var(--pptx-muted-foreground); font-size: 10px; }
3769
- .pptxv-theme-swatch-grid-rows { display: flex; flex-direction: column; gap: 2px; }
3770
- .pptxv-theme-swatch-grid-row { display: flex; gap: 2px; }
3771
- .pptxv-theme-swatch-grid-swatch,
3772
- .pptxv-theme-swatch-grid-empty { flex: none; width: 16px; height: 16px; }
3773
- .pptxv-theme-swatch-grid-swatch {
3774
- box-sizing: border-box;
3775
- padding: 0;
3776
- border: 1px solid var(--pptx-border);
3777
- border-radius: 2px;
3778
- cursor: pointer;
3779
- }
3780
- .pptxv-theme-swatch-grid-swatch:hover:not(:disabled) { transform: scale(1.1); }
3781
- .pptxv-theme-swatch-grid-swatch:disabled { opacity: 0.4; cursor: not-allowed; }
3782
- .pptxv-theme-swatch-grid-swatch.is-selected { outline: 2px solid var(--pptx-ring); outline-offset: 1px; }
3769
+ /* The grid itself is the shared pptx-ui-color-grid; only its spacing is host-owned. */
3770
+ .pptxv-theme-swatch-grid { margin-top: 4px; }
3783
3771
 
3784
3772
 
3785
3773
  /* ── Media ───────────────────────────────────────────────────────────── */
@@ -3788,8 +3776,8 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3788
3776
  width: 100%;
3789
3777
  max-height: 160px;
3790
3778
  margin-bottom: 8px;
3791
- border: 1px solid var(--pptx-border);
3792
- border-radius: var(--pptx-radius);
3779
+ border: 1px solid var(--_pptx-border);
3780
+ border-radius: var(--_pptx-radius);
3793
3781
  background: #000;
3794
3782
  }
3795
3783
  .pptxv-media-preview[hidden] { display: none; }
@@ -3798,7 +3786,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3798
3786
  max-width: 100%;
3799
3787
  max-height: 96px;
3800
3788
  margin-bottom: 8px;
3801
- border-radius: var(--pptx-radius);
3789
+ border-radius: var(--_pptx-radius);
3802
3790
  object-fit: contain;
3803
3791
  }
3804
3792
  .pptxv-media-poster[hidden],
@@ -3807,10 +3795,10 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3807
3795
  align-self: flex-start;
3808
3796
  margin: 2px 0 8px;
3809
3797
  padding: 2px 8px;
3810
- border: 1px solid var(--pptx-border);
3811
- border-radius: var(--pptx-radius);
3812
- background: var(--pptx-secondary);
3813
- color: var(--pptx-secondary-foreground);
3798
+ border: 1px solid var(--_pptx-border);
3799
+ border-radius: var(--_pptx-radius);
3800
+ background: var(--_pptx-secondary);
3801
+ color: var(--_pptx-secondary-foreground);
3814
3802
  font: inherit;
3815
3803
  font-size: 11px;
3816
3804
  cursor: pointer;
@@ -3819,7 +3807,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3819
3807
  .pptxv-media-metadata {
3820
3808
  display: block;
3821
3809
  margin-top: 6px;
3822
- color: var(--pptx-muted-foreground);
3810
+ color: var(--_pptx-muted-foreground);
3823
3811
  font-size: 10px;
3824
3812
  font-variant-numeric: tabular-nums;
3825
3813
  white-space: pre-line;
@@ -3832,7 +3820,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3832
3820
  flex-direction: column;
3833
3821
  gap: 4px;
3834
3822
  margin-bottom: 8px;
3835
- color: var(--pptx-muted-foreground);
3823
+ color: var(--_pptx-muted-foreground);
3836
3824
  font-size: 11px;
3837
3825
  }
3838
3826
  .pptxv-effect-sound-controls {
@@ -3847,10 +3835,10 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3847
3835
  width: 26px;
3848
3836
  height: 26px;
3849
3837
  padding: 0;
3850
- border: 1px solid var(--pptx-border);
3851
- border-radius: var(--pptx-radius);
3852
- background: var(--pptx-secondary);
3853
- color: var(--pptx-secondary-foreground);
3838
+ border: 1px solid var(--_pptx-border);
3839
+ border-radius: var(--_pptx-radius);
3840
+ background: var(--_pptx-secondary);
3841
+ color: var(--_pptx-secondary-foreground);
3854
3842
  font-size: 10px;
3855
3843
  cursor: pointer;
3856
3844
  }
@@ -3880,26 +3868,26 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3880
3868
  gap: 6px;
3881
3869
  margin-top: 8px;
3882
3870
  padding: 8px;
3883
- border: 1px solid var(--pptx-primary);
3871
+ border: 1px solid var(--_pptx-primary);
3884
3872
  border-radius: 6px;
3885
- background: color-mix(in srgb, var(--pptx-primary) 8%, transparent);
3873
+ background: color-mix(in srgb, var(--_pptx-primary) 8%, transparent);
3886
3874
  }
3887
3875
  .pptxv-slide-size-rescale[hidden] { display: none; }
3888
- .pptxv-slide-size-rescale-title { color: var(--pptx-foreground); font-size: 12px; font-weight: 600; }
3889
- .pptxv-slide-size-rescale-description { margin: 0; color: var(--pptx-muted-foreground); font-size: 11px; line-height: 1.4; }
3876
+ .pptxv-slide-size-rescale-title { color: var(--_pptx-foreground); font-size: 12px; font-weight: 600; }
3877
+ .pptxv-slide-size-rescale-description { margin: 0; color: var(--_pptx-muted-foreground); font-size: 11px; line-height: 1.4; }
3890
3878
  .pptxv-slide-size-rescale-buttons { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 6px; }
3891
3879
  .pptxv-slide-size-rescale-btn {
3892
3880
  min-height: 28px;
3893
3881
  padding: 4px 8px;
3894
- border: 1px solid var(--pptx-border);
3895
- border-radius: var(--pptx-radius);
3896
- background: var(--pptx-background);
3897
- color: var(--pptx-foreground);
3882
+ border: 1px solid var(--_pptx-border);
3883
+ border-radius: var(--_pptx-radius);
3884
+ background: var(--_pptx-background);
3885
+ color: var(--_pptx-foreground);
3898
3886
  font: inherit;
3899
3887
  font-size: 11px;
3900
3888
  cursor: pointer;
3901
3889
  }
3902
- .pptxv-slide-size-rescale-btn:hover { border-color: var(--pptx-primary); background: var(--pptx-accent); }
3890
+ .pptxv-slide-size-rescale-btn:hover { border-color: var(--_pptx-primary); background: var(--_pptx-accent); }
3903
3891
 
3904
3892
  /* ── Fill: pattern panel, alt text, tags ─────────────────────────────── */
3905
3893
  .pptxv-inspector-pattern {
@@ -3907,7 +3895,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3907
3895
  gap: 6px;
3908
3896
  margin: 4px 0 8px;
3909
3897
  padding-left: 4px;
3910
- border-left: 2px solid var(--pptx-border);
3898
+ border-left: 2px solid var(--_pptx-border);
3911
3899
  }
3912
3900
  .pptxv-inspector-pattern[hidden],
3913
3901
  .pptxv-inspector-pattern:empty { display: none; }
@@ -3921,7 +3909,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3921
3909
  .pptxv-accessibility-alt-input { width: 100%; }
3922
3910
  .pptxv-accessibility-title-input { flex: 1 1 auto; min-width: 0; }
3923
3911
  .pptxv-tags-toggle-label {
3924
- color: var(--pptx-foreground);
3912
+ color: var(--_pptx-foreground);
3925
3913
  font-size: 11px;
3926
3914
  font-weight: 600;
3927
3915
  }
@@ -3936,54 +3924,54 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3936
3924
  }
3937
3925
  .pptxv-smartart-hierarchy button {
3938
3926
  padding: 1px 6px;
3939
- border: 1px solid var(--pptx-border);
3940
- border-radius: var(--pptx-radius);
3927
+ border: 1px solid var(--_pptx-border);
3928
+ border-radius: var(--_pptx-radius);
3941
3929
  background: transparent;
3942
- color: var(--pptx-muted-foreground);
3930
+ color: var(--_pptx-muted-foreground);
3943
3931
  font: inherit;
3944
3932
  font-size: 10px;
3945
3933
  cursor: pointer;
3946
3934
  }
3947
- .pptxv-smartart-hierarchy button:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
3935
+ .pptxv-smartart-hierarchy button:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
3948
3936
 
3949
3937
  /* ── OLE editor dialog: nested deck tab ──────────────────────────────── */
3950
3938
  .pptxv-ole-edit-content { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
3951
- .pptxv-ole-edit-deck-slide { display: flex; flex-direction: column; gap: 4px; color: var(--pptx-muted-foreground); }
3939
+ .pptxv-ole-edit-deck-slide { display: flex; flex-direction: column; gap: 4px; color: var(--_pptx-muted-foreground); }
3952
3940
  .pptxv-ole-edit-deck-caption { font-size: 11px; font-weight: 600; }
3953
3941
  .pptxv-ole-edit-deck-slide input {
3954
3942
  padding: 6px 8px;
3955
- border: 1px solid var(--pptx-border);
3943
+ border: 1px solid var(--_pptx-border);
3956
3944
  border-radius: 4px;
3957
- background: var(--pptx-muted);
3958
- color: var(--pptx-foreground);
3945
+ background: var(--_pptx-muted);
3946
+ color: var(--_pptx-foreground);
3959
3947
  font: inherit;
3960
3948
  }
3961
3949
 
3962
3950
 
3963
3951
  .pptxv-account { display: flex; flex-direction: column; gap: 28px; max-width: 640px; margin-top: 24px; }
3964
- .pptxv-account-section { padding: 20px; border: 1px solid var(--pptx-border); border-radius: 8px; background: var(--pptx-card); color: var(--pptx-card-foreground); }
3952
+ .pptxv-account-section { padding: 20px; border: 1px solid var(--_pptx-border); border-radius: 8px; background: var(--_pptx-card); color: var(--_pptx-card-foreground); }
3965
3953
  .pptxv-account-section h2 { margin: 0 0 14px; font-size: 14px; }
3966
- .pptxv-account-section p { margin: 6px 0; color: var(--pptx-muted-foreground); font-size: 12px; line-height: 1.6; }
3954
+ .pptxv-account-section p { margin: 6px 0; color: var(--_pptx-muted-foreground); font-size: 12px; line-height: 1.6; }
3967
3955
  .pptxv-account-profile-row { display: flex; align-items: center; gap: 16px; }
3968
3956
  .pptxv-account-avatar { display: grid; width: 52px; height: 52px; flex: none; place-items: center; border-radius: 50%; color: #fff; font-size: 18px; font-weight: 600; }
3969
- .pptxv-account-name-field { display: flex; flex: 1; flex-direction: column; gap: 6px; font-size: 11px; color: var(--pptx-muted-foreground); }
3970
- .pptxv-account-name-field input { padding: 8px 10px; border: 1px solid var(--pptx-border); border-radius: 5px; background: var(--pptx-muted); color: var(--pptx-foreground); font-size: 13px; }
3957
+ .pptxv-account-name-field { display: flex; flex: 1; flex-direction: column; gap: 6px; font-size: 11px; color: var(--_pptx-muted-foreground); }
3958
+ .pptxv-account-name-field input { padding: 8px 10px; border: 1px solid var(--_pptx-border); border-radius: 5px; background: var(--_pptx-muted); color: var(--_pptx-foreground); font-size: 13px; }
3971
3959
  .pptxv-account-swatch-label { margin-top: 16px !important; font-size: 11px !important; }
3972
3960
  .pptxv-account-color-swatch { width: 26px; height: 26px; border: 2px solid transparent; border-radius: 50%; cursor: pointer; }
3973
- .pptxv-account-color-swatch:hover { border-color: var(--pptx-border); }
3974
- .pptxv-account-color-swatch.is-active { border-color: var(--pptx-foreground); }
3961
+ .pptxv-account-color-swatch:hover { border-color: var(--_pptx-border); }
3962
+ .pptxv-account-color-swatch.is-active { border-color: var(--_pptx-foreground); }
3975
3963
  .pptxv-account-privacy { font-size: 11px !important; }
3976
- .pptxv-account-notice { color: var(--pptx-primary) !important; font-weight: 600; }
3964
+ .pptxv-account-notice { color: var(--_pptx-primary) !important; font-weight: 600; }
3977
3965
 
3978
3966
 
3979
- .pptxv-ai-toggle.is-active { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
3967
+ .pptxv-ai-toggle.is-active { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
3980
3968
  .pptxv-ai-toggle-floating {
3981
3969
  position: absolute;
3982
3970
  top: 8px;
3983
3971
  right: 8px;
3984
3972
  z-index: 12;
3985
- background: var(--pptx-card);
3986
- border: 1px solid var(--pptx-border);
3973
+ background: var(--_pptx-card);
3974
+ border: 1px solid var(--_pptx-border);
3987
3975
  box-shadow: 0 1px 3px rgb(0 0 0 / 0.18);
3988
3976
  }
3989
3977
 
@@ -3995,9 +3983,9 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
3995
3983
  flex: none;
3996
3984
  width: 320px;
3997
3985
  min-height: 0;
3998
- border-left: 1px solid var(--pptx-border);
3999
- background: var(--pptx-card);
4000
- color: var(--pptx-card-foreground);
3986
+ border-left: 1px solid var(--_pptx-border);
3987
+ background: var(--_pptx-card);
3988
+ color: var(--_pptx-card-foreground);
4001
3989
  }
4002
3990
  .pptxv-ai-panel[hidden] { display: none; }
4003
3991
  .pptxv-ai-panel.is-loading { opacity: 0.7; }
@@ -4008,10 +3996,10 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4008
3996
  gap: 6px;
4009
3997
  flex: none;
4010
3998
  padding: 8px 12px;
4011
- border-bottom: 1px solid var(--pptx-border);
3999
+ border-bottom: 1px solid var(--_pptx-border);
4012
4000
  font-weight: 600;
4013
4001
  }
4014
- .pptxv-ai-header svg { width: 16px; height: 16px; color: var(--pptx-primary); }
4002
+ .pptxv-ai-header svg { width: 16px; height: 16px; color: var(--_pptx-primary); }
4015
4003
  .pptxv-ai-close {
4016
4004
  margin-left: auto;
4017
4005
  display: inline-flex;
@@ -4021,10 +4009,10 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4021
4009
  border: none;
4022
4010
  border-radius: 4px;
4023
4011
  background: transparent;
4024
- color: var(--pptx-muted-foreground);
4012
+ color: var(--_pptx-muted-foreground);
4025
4013
  cursor: pointer;
4026
4014
  }
4027
- .pptxv-ai-close:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
4015
+ .pptxv-ai-close:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
4028
4016
  .pptxv-ai-close svg { color: currentColor; }
4029
4017
 
4030
4018
  /* ── Transcript ───────────────────────────────────────────────────────── */
@@ -4040,7 +4028,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4040
4028
  .pptxv-ai-empty {
4041
4029
  margin: auto;
4042
4030
  padding: 12px;
4043
- color: var(--pptx-muted-foreground);
4031
+ color: var(--_pptx-muted-foreground);
4044
4032
  font-size: 0.8125rem;
4045
4033
  text-align: center;
4046
4034
  }
@@ -4054,13 +4042,13 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4054
4042
  height: 24px;
4055
4043
  margin-top: 2px;
4056
4044
  border-radius: 50%;
4057
- background: color-mix(in srgb, var(--pptx-primary) 15%, transparent);
4058
- color: var(--pptx-primary);
4045
+ background: color-mix(in srgb, var(--_pptx-primary) 15%, transparent);
4046
+ color: var(--_pptx-primary);
4059
4047
  }
4060
4048
  .pptxv-ai-msg-avatar svg { width: 14px; height: 14px; }
4061
4049
  .pptxv-ai-msg-user .pptxv-ai-msg-avatar {
4062
- background: var(--pptx-secondary);
4063
- color: var(--pptx-muted-foreground);
4050
+ background: var(--_pptx-secondary);
4051
+ color: var(--_pptx-muted-foreground);
4064
4052
  }
4065
4053
  .pptxv-ai-msg-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; flex: 1; }
4066
4054
  .pptxv-ai-msg-text {
@@ -4068,15 +4056,15 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4068
4056
  line-height: 1.5;
4069
4057
  white-space: pre-wrap;
4070
4058
  overflow-wrap: anywhere;
4071
- color: var(--pptx-foreground);
4059
+ color: var(--_pptx-foreground);
4072
4060
  }
4073
4061
  .pptxv-ai-msg-user .pptxv-ai-msg-text {
4074
4062
  align-self: flex-start;
4075
4063
  padding: 7px 10px;
4076
4064
  border-radius: 10px;
4077
4065
  border-bottom-left-radius: 3px;
4078
- background: var(--pptx-primary);
4079
- color: var(--pptx-primary-foreground);
4066
+ background: var(--_pptx-primary);
4067
+ color: var(--_pptx-primary-foreground);
4080
4068
  }
4081
4069
 
4082
4070
  /* ── Friendly tool-call activity cards ────────────────────────────────── */
@@ -4086,9 +4074,9 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4086
4074
  flex: none;
4087
4075
  width: 14px;
4088
4076
  height: 14px;
4089
- color: var(--pptx-muted-foreground);
4077
+ color: var(--_pptx-muted-foreground);
4090
4078
  }
4091
- .pptxv-ai-tool-name { min-width: 0; overflow-wrap: anywhere; color: var(--pptx-foreground); }
4079
+ .pptxv-ai-tool-name { min-width: 0; overflow-wrap: anywhere; color: var(--_pptx-foreground); }
4092
4080
  .pptxv-ai-tool-state {
4093
4081
  margin-left: auto;
4094
4082
  display: inline-flex;
@@ -4098,17 +4086,17 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4098
4086
  padding: 1px 6px;
4099
4087
  border-radius: 4px;
4100
4088
  font-size: 0.625rem;
4101
- background: var(--pptx-muted);
4102
- color: var(--pptx-muted-foreground);
4089
+ background: var(--_pptx-muted);
4090
+ color: var(--_pptx-muted-foreground);
4103
4091
  }
4104
4092
  .pptxv-ai-tool-state svg { width: 11px; height: 11px; }
4105
4093
  .pptxv-ai-tool-state.is-done {
4106
- background: color-mix(in srgb, var(--pptx-primary) 12%, transparent);
4107
- color: var(--pptx-primary);
4094
+ background: color-mix(in srgb, var(--_pptx-primary) 12%, transparent);
4095
+ color: var(--_pptx-primary);
4108
4096
  }
4109
4097
  .pptxv-ai-tool-state.is-error {
4110
- background: color-mix(in srgb, var(--pptx-destructive) 15%, transparent);
4111
- color: var(--pptx-destructive);
4098
+ background: color-mix(in srgb, var(--_pptx-destructive) 15%, transparent);
4099
+ color: var(--_pptx-destructive);
4112
4100
  }
4113
4101
  .pptxv-ai-tool-state.is-running::before {
4114
4102
  content: '';
@@ -4119,21 +4107,21 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4119
4107
  animation: pptxv-ai-pulse 1s ease-in-out infinite;
4120
4108
  }
4121
4109
  @keyframes pptxv-ai-pulse { 0%, 100% { opacity: 0.35; } 50% { opacity: 1; } }
4122
- .pptxv-ai-tool-error { margin: 2px 0 0 20px; font-size: 0.6875rem; color: var(--pptx-destructive); }
4110
+ .pptxv-ai-tool-error { margin: 2px 0 0 20px; font-size: 0.6875rem; color: var(--_pptx-destructive); }
4123
4111
  .pptxv-ai-tool-details { margin: 2px 0 0 20px; }
4124
4112
  .pptxv-ai-tool-details summary {
4125
4113
  cursor: pointer;
4126
4114
  list-style: none;
4127
4115
  font-size: 0.625rem;
4128
- color: var(--pptx-muted-foreground);
4116
+ color: var(--_pptx-muted-foreground);
4129
4117
  }
4130
4118
  .pptxv-ai-tool-details summary::-webkit-details-marker { display: none; }
4131
- .pptxv-ai-tool-details summary:hover { color: var(--pptx-foreground); }
4119
+ .pptxv-ai-tool-details summary:hover { color: var(--_pptx-foreground); }
4132
4120
  .pptxv-ai-tool-raw {
4133
4121
  margin-top: 2px;
4134
4122
  font-family: ui-monospace, monospace;
4135
4123
  font-size: 0.625rem;
4136
- color: var(--pptx-muted-foreground);
4124
+ color: var(--_pptx-muted-foreground);
4137
4125
  overflow-wrap: anywhere;
4138
4126
  }
4139
4127
 
@@ -4143,8 +4131,8 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4143
4131
  max-height: 40%;
4144
4132
  overflow-y: auto;
4145
4133
  padding: 8px 12px;
4146
- border-top: 1px solid var(--pptx-border);
4147
- background: color-mix(in srgb, var(--pptx-secondary) 30%, transparent);
4134
+ border-top: 1px solid var(--_pptx-border);
4135
+ background: color-mix(in srgb, var(--_pptx-secondary) 30%, transparent);
4148
4136
  }
4149
4137
  .pptxv-ai-proposals[hidden] { display: none; }
4150
4138
  .pptxv-ai-proposals-header {
@@ -4157,9 +4145,9 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4157
4145
  .pptxv-ai-proposal {
4158
4146
  margin-bottom: 8px;
4159
4147
  padding: 8px;
4160
- border: 1px solid var(--pptx-border);
4148
+ border: 1px solid var(--_pptx-border);
4161
4149
  border-radius: 8px;
4162
- background: var(--pptx-card);
4150
+ background: var(--_pptx-card);
4163
4151
  }
4164
4152
  .pptxv-ai-proposal-eyebrow {
4165
4153
  margin-bottom: 3px;
@@ -4167,7 +4155,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4167
4155
  font-weight: 700;
4168
4156
  text-transform: uppercase;
4169
4157
  letter-spacing: 0.04em;
4170
- color: var(--pptx-primary);
4158
+ color: var(--_pptx-primary);
4171
4159
  }
4172
4160
  .pptxv-ai-proposal-label { font-size: 0.8125rem; font-weight: 600; }
4173
4161
  .pptxv-ai-proposal-btn { display: inline-flex; align-items: center; gap: 4px; }
@@ -4175,34 +4163,34 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4175
4163
  .pptxv-ai-proposal-summary {
4176
4164
  margin: 5px 0 8px;
4177
4165
  padding-left: 16px;
4178
- color: var(--pptx-muted-foreground);
4166
+ color: var(--_pptx-muted-foreground);
4179
4167
  font-size: 0.75rem;
4180
4168
  line-height: 1.4;
4181
4169
  }
4182
4170
  .pptxv-ai-proposal-actions { display: flex; gap: 6px; }
4183
4171
  .pptxv-ai-proposal-btn {
4184
4172
  padding: 4px 12px;
4185
- border: 1px solid var(--pptx-border);
4173
+ border: 1px solid var(--_pptx-border);
4186
4174
  border-radius: 6px;
4187
- background: var(--pptx-card);
4188
- color: var(--pptx-foreground);
4175
+ background: var(--_pptx-card);
4176
+ color: var(--_pptx-foreground);
4189
4177
  font: inherit;
4190
4178
  font-size: 0.75rem;
4191
4179
  cursor: pointer;
4192
4180
  }
4193
- .pptxv-ai-proposal-btn:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
4181
+ .pptxv-ai-proposal-btn:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
4194
4182
  .pptxv-ai-proposal-btn.is-accept, .pptxv-ai-proposal-btn.is-accept-all {
4195
- border-color: var(--pptx-primary);
4196
- background: var(--pptx-primary);
4197
- color: var(--pptx-primary-foreground);
4183
+ border-color: var(--_pptx-primary);
4184
+ background: var(--_pptx-primary);
4185
+ color: var(--_pptx-primary-foreground);
4198
4186
  }
4199
- .pptxv-ai-proposal-btn:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: 1px; }
4187
+ .pptxv-ai-proposal-btn:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: 1px; }
4200
4188
 
4201
4189
  /* ── Error line + composer ────────────────────────────────────────────── */
4202
4190
  .pptxv-ai-error {
4203
4191
  flex: none;
4204
4192
  padding: 6px 12px;
4205
- color: var(--pptx-destructive);
4193
+ color: var(--_pptx-destructive);
4206
4194
  font-size: 0.75rem;
4207
4195
  }
4208
4196
  .pptxv-ai-error[hidden] { display: none; }
@@ -4212,23 +4200,23 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4212
4200
  gap: 6px;
4213
4201
  flex: none;
4214
4202
  padding: 8px 12px;
4215
- border-top: 1px solid var(--pptx-border);
4203
+ border-top: 1px solid var(--_pptx-border);
4216
4204
  }
4217
4205
  .pptxv-ai-input {
4218
4206
  flex: 1;
4219
4207
  min-width: 0;
4220
4208
  max-height: 120px;
4221
4209
  padding: 7px 9px;
4222
- border: 1px solid var(--pptx-border);
4210
+ border: 1px solid var(--_pptx-border);
4223
4211
  border-radius: 8px;
4224
- background: var(--pptx-muted);
4225
- color: var(--pptx-foreground);
4212
+ background: var(--_pptx-muted);
4213
+ color: var(--_pptx-foreground);
4226
4214
  font: inherit;
4227
4215
  font-size: 0.8125rem;
4228
4216
  line-height: 1.4;
4229
4217
  resize: vertical;
4230
4218
  }
4231
- .pptxv-ai-input:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -1px; }
4219
+ .pptxv-ai-input:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: -1px; }
4232
4220
  .pptxv-ai-send {
4233
4221
  display: inline-flex;
4234
4222
  align-items: center;
@@ -4238,13 +4226,13 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4238
4226
  height: 34px;
4239
4227
  border: none;
4240
4228
  border-radius: 8px;
4241
- background: var(--pptx-primary);
4242
- color: var(--pptx-primary-foreground);
4229
+ background: var(--_pptx-primary);
4230
+ color: var(--_pptx-primary-foreground);
4243
4231
  cursor: pointer;
4244
4232
  }
4245
4233
  .pptxv-ai-send svg { width: 16px; height: 16px; }
4246
4234
  .pptxv-ai-send:disabled { opacity: 0.5; cursor: default; }
4247
- .pptxv-ai-panel.is-busy .pptxv-ai-send { background: var(--pptx-destructive); }
4235
+ .pptxv-ai-panel.is-busy .pptxv-ai-send { background: var(--_pptx-destructive); }
4248
4236
 
4249
4237
  @media (max-width: 1023px) {
4250
4238
  .pptxv-ai-panel {
@@ -4268,7 +4256,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4268
4256
  z-index: 46;
4269
4257
  overflow: hidden;
4270
4258
  border-left: 0;
4271
- border-top: 1px solid var(--pptx-border);
4259
+ border-top: 1px solid var(--_pptx-border);
4272
4260
  border-radius: 16px 16px 0 0;
4273
4261
  box-shadow: 0 -12px 36px rgb(0 0 0 / 0.35);
4274
4262
  }
@@ -4290,13 +4278,13 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4290
4278
  border: none;
4291
4279
  border-radius: 4px;
4292
4280
  background: transparent;
4293
- color: var(--pptx-muted-foreground);
4281
+ color: var(--_pptx-muted-foreground);
4294
4282
  font: inherit;
4295
4283
  font-size: 0.75rem;
4296
4284
  font-weight: 500;
4297
4285
  cursor: pointer;
4298
4286
  }
4299
- .pptxv-ai-chats:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
4287
+ .pptxv-ai-chats:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
4300
4288
  .pptxv-ai-header .pptxv-ai-chats svg { width: 14px; height: 14px; color: currentColor; }
4301
4289
  .pptxv-ai-chats + .pptxv-ai-close { margin-left: 0; }
4302
4290
  .pptxv-ai-history {
@@ -4305,10 +4293,10 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4305
4293
  top: 40px;
4306
4294
  z-index: 40;
4307
4295
  width: 256px;
4308
- border: 1px solid var(--pptx-border);
4296
+ border: 1px solid var(--_pptx-border);
4309
4297
  border-radius: 8px;
4310
- background: var(--pptx-card);
4311
- color: var(--pptx-card-foreground);
4298
+ background: var(--_pptx-card);
4299
+ color: var(--_pptx-card-foreground);
4312
4300
  box-shadow: 0 12px 32px rgb(0 0 0 / 0.28);
4313
4301
  }
4314
4302
  .pptxv-ai-history[hidden] { display: none; }
@@ -4317,14 +4305,14 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4317
4305
  align-items: center;
4318
4306
  justify-content: space-between;
4319
4307
  padding: 6px 10px;
4320
- border-bottom: 1px solid var(--pptx-border);
4308
+ border-bottom: 1px solid var(--_pptx-border);
4321
4309
  }
4322
4310
  .pptxv-ai-history-title {
4323
4311
  font-size: 0.6875rem;
4324
4312
  font-weight: 700;
4325
4313
  text-transform: uppercase;
4326
4314
  letter-spacing: 0.04em;
4327
- color: var(--pptx-muted-foreground);
4315
+ color: var(--_pptx-muted-foreground);
4328
4316
  }
4329
4317
  .pptxv-ai-history-new {
4330
4318
  display: inline-flex;
@@ -4333,8 +4321,8 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4333
4321
  padding: 2px 6px;
4334
4322
  border: none;
4335
4323
  border-radius: 4px;
4336
- background: var(--pptx-primary);
4337
- color: var(--pptx-primary-foreground);
4324
+ background: var(--_pptx-primary);
4325
+ color: var(--_pptx-primary-foreground);
4338
4326
  font: inherit;
4339
4327
  font-size: 0.6875rem;
4340
4328
  font-weight: 500;
@@ -4346,7 +4334,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4346
4334
  padding: 16px 12px;
4347
4335
  text-align: center;
4348
4336
  font-size: 0.75rem;
4349
- color: var(--pptx-muted-foreground);
4337
+ color: var(--_pptx-muted-foreground);
4350
4338
  }
4351
4339
  .pptxv-ai-history-list {
4352
4340
  margin: 0;
@@ -4366,14 +4354,14 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4366
4354
  border: none;
4367
4355
  border-radius: 4px;
4368
4356
  background: transparent;
4369
- color: var(--pptx-muted-foreground);
4357
+ color: var(--_pptx-muted-foreground);
4370
4358
  font: inherit;
4371
4359
  text-align: left;
4372
4360
  cursor: pointer;
4373
4361
  }
4374
- .pptxv-ai-history-resume:hover { background: var(--pptx-accent); }
4362
+ .pptxv-ai-history-resume:hover { background: var(--_pptx-accent); }
4375
4363
  .pptxv-ai-history-resume.is-active {
4376
- background: color-mix(in srgb, var(--pptx-accent) 60%, transparent);
4364
+ background: color-mix(in srgb, var(--_pptx-accent) 60%, transparent);
4377
4365
  }
4378
4366
  .pptxv-ai-history-resume svg { flex: none; width: 14px; height: 14px; margin-top: 2px; }
4379
4367
  .pptxv-ai-history-text { display: flex; min-width: 0; flex: 1; flex-direction: column; }
@@ -4383,9 +4371,9 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4383
4371
  white-space: nowrap;
4384
4372
  font-size: 0.75rem;
4385
4373
  font-weight: 500;
4386
- color: var(--pptx-foreground);
4374
+ color: var(--_pptx-foreground);
4387
4375
  }
4388
- .pptxv-ai-history-meta { font-size: 0.625rem; color: var(--pptx-muted-foreground); }
4376
+ .pptxv-ai-history-meta { font-size: 0.625rem; color: var(--_pptx-muted-foreground); }
4389
4377
  .pptxv-ai-history-delete {
4390
4378
  display: inline-flex;
4391
4379
  flex: none;
@@ -4393,20 +4381,20 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4393
4381
  border: none;
4394
4382
  border-radius: 4px;
4395
4383
  background: transparent;
4396
- color: var(--pptx-muted-foreground);
4384
+ color: var(--_pptx-muted-foreground);
4397
4385
  cursor: pointer;
4398
4386
  }
4399
4387
  .pptxv-ai-history-delete svg { width: 14px; height: 14px; }
4400
4388
  .pptxv-ai-history-delete:hover {
4401
- background: color-mix(in srgb, var(--pptx-destructive) 10%, transparent);
4402
- color: var(--pptx-destructive);
4389
+ background: color-mix(in srgb, var(--_pptx-destructive) 10%, transparent);
4390
+ color: var(--_pptx-destructive);
4403
4391
  }
4404
4392
  .pptxv-ai-history-hint {
4405
4393
  margin: 0;
4406
4394
  padding: 6px 10px;
4407
- border-top: 1px solid var(--pptx-border);
4395
+ border-top: 1px solid var(--_pptx-border);
4408
4396
  font-size: 0.625rem;
4409
- color: var(--pptx-muted-foreground);
4397
+ color: var(--_pptx-muted-foreground);
4410
4398
  }
4411
4399
  /* Touch target: matches MIN_TOUCH_TARGET_PX (44) from pptx-viewer-shared's
4412
4400
  render/responsive module, below MOBILE_BREAKPOINT (768). */
@@ -4418,8 +4406,8 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4418
4406
  /* ── Focused-target bar ───────────────────────────────────────────────── */
4419
4407
  .pptxv-ai-focus {
4420
4408
  flex: none;
4421
- border-bottom: 1px solid var(--pptx-border);
4422
- background: color-mix(in srgb, var(--pptx-secondary) 30%, transparent);
4409
+ border-bottom: 1px solid var(--_pptx-border);
4410
+ background: color-mix(in srgb, var(--_pptx-secondary) 30%, transparent);
4423
4411
  }
4424
4412
  .pptxv-ai-focus-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 6px 10px; }
4425
4413
  .pptxv-ai-focus-label {
@@ -4427,7 +4415,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4427
4415
  font-weight: 700;
4428
4416
  text-transform: uppercase;
4429
4417
  letter-spacing: 0.04em;
4430
- color: var(--pptx-muted-foreground);
4418
+ color: var(--_pptx-muted-foreground);
4431
4419
  }
4432
4420
  .pptxv-ai-focus-chip {
4433
4421
  max-width: 10rem;
@@ -4437,20 +4425,20 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4437
4425
  padding: 1px 8px;
4438
4426
  border-radius: 999px;
4439
4427
  font-size: 0.6875rem;
4440
- background: var(--pptx-muted);
4441
- color: var(--pptx-muted-foreground);
4428
+ background: var(--_pptx-muted);
4429
+ color: var(--_pptx-muted-foreground);
4442
4430
  }
4443
4431
  .pptxv-ai-focus-chip.is-strong {
4444
- background: color-mix(in srgb, var(--pptx-primary) 15%, transparent);
4445
- color: var(--pptx-primary);
4432
+ background: color-mix(in srgb, var(--_pptx-primary) 15%, transparent);
4433
+ color: var(--_pptx-primary);
4446
4434
  }
4447
4435
  .pptxv-ai-focus-pinned {
4448
4436
  padding: 1px 6px;
4449
4437
  border-radius: 999px;
4450
4438
  font-size: 0.625rem;
4451
4439
  font-weight: 600;
4452
- background: color-mix(in srgb, var(--pptx-primary) 15%, transparent);
4453
- color: var(--pptx-primary);
4440
+ background: color-mix(in srgb, var(--_pptx-primary) 15%, transparent);
4441
+ color: var(--_pptx-primary);
4454
4442
  }
4455
4443
  .pptxv-ai-focus-actions { margin-left: auto; display: inline-flex; align-items: center; gap: 2px; }
4456
4444
  .pptxv-ai-focus-btn {
@@ -4461,12 +4449,12 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4461
4449
  border: none;
4462
4450
  border-radius: 6px;
4463
4451
  background: transparent;
4464
- color: var(--pptx-muted-foreground);
4452
+ color: var(--_pptx-muted-foreground);
4465
4453
  cursor: pointer;
4466
4454
  }
4467
4455
  .pptxv-ai-focus-btn svg { width: 14px; height: 14px; }
4468
- .pptxv-ai-focus-btn:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
4469
- .pptxv-ai-focus-btn.is-active { background: var(--pptx-primary); color: var(--pptx-primary-foreground); }
4456
+ .pptxv-ai-focus-btn:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
4457
+ .pptxv-ai-focus-btn.is-active { background: var(--_pptx-primary); color: var(--_pptx-primary-foreground); }
4470
4458
  .pptxv-ai-focus-merge {
4471
4459
  display: inline-flex;
4472
4460
  align-items: center;
@@ -4474,8 +4462,8 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4474
4462
  padding: 3px 8px;
4475
4463
  border: none;
4476
4464
  border-radius: 6px;
4477
- background: var(--pptx-primary);
4478
- color: var(--pptx-primary-foreground);
4465
+ background: var(--_pptx-primary);
4466
+ color: var(--_pptx-primary-foreground);
4479
4467
  font: inherit;
4480
4468
  font-size: 0.6875rem;
4481
4469
  font-weight: 600;
@@ -4494,18 +4482,18 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4494
4482
  align-items: center;
4495
4483
  gap: 8px;
4496
4484
  padding: 5px 10px;
4497
- border-top: 1px solid color-mix(in srgb, var(--pptx-primary) 25%, transparent);
4498
- background: color-mix(in srgb, var(--pptx-primary) 6%, transparent);
4485
+ border-top: 1px solid color-mix(in srgb, var(--_pptx-primary) 25%, transparent);
4486
+ background: color-mix(in srgb, var(--_pptx-primary) 6%, transparent);
4499
4487
  }
4500
- .pptxv-ai-focus-pick-icon { width: 14px; height: 14px; color: var(--pptx-primary); animation: pptxv-ai-pulse 1s ease-in-out infinite; }
4501
- .pptxv-ai-focus-pick-hint { font-size: 0.6875rem; font-weight: 600; color: var(--pptx-primary); }
4488
+ .pptxv-ai-focus-pick-icon { width: 14px; height: 14px; color: var(--_pptx-primary); animation: pptxv-ai-pulse 1s ease-in-out infinite; }
4489
+ .pptxv-ai-focus-pick-hint { font-size: 0.6875rem; font-weight: 600; color: var(--_pptx-primary); }
4502
4490
  .pptxv-ai-focus-pick-done {
4503
4491
  margin-left: auto;
4504
4492
  padding: 3px 10px;
4505
4493
  border: none;
4506
4494
  border-radius: 6px;
4507
- background: var(--pptx-primary);
4508
- color: var(--pptx-primary-foreground);
4495
+ background: var(--_pptx-primary);
4496
+ color: var(--_pptx-primary-foreground);
4509
4497
  font: inherit;
4510
4498
  font-size: 0.6875rem;
4511
4499
  font-weight: 600;
@@ -4551,12 +4539,12 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4551
4539
  display: flex;
4552
4540
  gap: 8px;
4553
4541
  padding: 10px;
4554
- border: 1px solid var(--pptx-border);
4542
+ border: 1px solid var(--_pptx-border);
4555
4543
  border-radius: 8px;
4556
- background: color-mix(in srgb, var(--pptx-muted) 40%, transparent);
4544
+ background: color-mix(in srgb, var(--_pptx-muted) 40%, transparent);
4557
4545
  }
4558
- .pptxv-ai-settings-intro svg { width: 16px; height: 16px; flex: none; color: var(--pptx-primary); }
4559
- .pptxv-ai-settings-count { font-size: 0.75rem; color: var(--pptx-muted-foreground); }
4546
+ .pptxv-ai-settings-intro svg { width: 16px; height: 16px; flex: none; color: var(--_pptx-primary); }
4547
+ .pptxv-ai-settings-count { font-size: 0.75rem; color: var(--_pptx-muted-foreground); }
4560
4548
  .pptxv-ai-settings-detailed { display: flex; align-items: center; gap: 8px; font-size: 0.75rem; }
4561
4549
  .pptxv-ai-settings-actions { display: flex; flex-wrap: wrap; gap: 8px; }
4562
4550
  .pptxv-ai-settings-btn {
@@ -4564,18 +4552,18 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4564
4552
  align-items: center;
4565
4553
  gap: 6px;
4566
4554
  padding: 6px 12px;
4567
- border: 1px solid var(--pptx-border);
4555
+ border: 1px solid var(--_pptx-border);
4568
4556
  border-radius: 6px;
4569
- background: var(--pptx-card);
4570
- color: var(--pptx-foreground);
4557
+ background: var(--_pptx-card);
4558
+ color: var(--_pptx-foreground);
4571
4559
  font: inherit;
4572
4560
  font-size: 0.75rem;
4573
4561
  cursor: pointer;
4574
4562
  }
4575
4563
  .pptxv-ai-settings-btn svg { width: 13px; height: 13px; }
4576
- .pptxv-ai-settings-btn:hover { background: var(--pptx-accent); color: var(--pptx-accent-foreground); }
4564
+ .pptxv-ai-settings-btn:hover { background: var(--_pptx-accent); color: var(--_pptx-accent-foreground); }
4577
4565
  .pptxv-ai-settings-btn:disabled { opacity: 0.5; cursor: default; }
4578
- .pptxv-ai-settings-status { font-size: 0.75rem; color: var(--pptx-muted-foreground); }
4566
+ .pptxv-ai-settings-status { font-size: 0.75rem; color: var(--_pptx-muted-foreground); }
4579
4567
 
4580
4568
 
4581
4569
  .pptxv-reading-view {
@@ -4714,10 +4702,10 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4714
4702
  }
4715
4703
  .pptxv-export-progress-panel {
4716
4704
  width: min(92vw, 384px);
4717
- border: 1px solid var(--pptx-border, #33334d);
4718
- border-radius: calc(var(--pptx-radius, 6px) + 6px);
4719
- background: var(--pptx-popover, #111827);
4720
- color: var(--pptx-popover-foreground, #f3f4f6);
4705
+ border: 1px solid var(--_pptx-border, #33334d);
4706
+ border-radius: calc(var(--_pptx-radius, 6px) + 6px);
4707
+ background: var(--_pptx-popover, #111827);
4708
+ color: var(--_pptx-popover-foreground, #f3f4f6);
4721
4709
  padding: 24px;
4722
4710
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
4723
4711
  font-family: system-ui, sans-serif;
@@ -4732,13 +4720,13 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4732
4720
  width: 100%;
4733
4721
  overflow: hidden;
4734
4722
  border-radius: 9999px;
4735
- background: var(--pptx-muted, #1f2937);
4723
+ background: var(--_pptx-muted, #1f2937);
4736
4724
  margin-bottom: 12px;
4737
4725
  }
4738
4726
  .pptxv-export-progress-fill {
4739
4727
  height: 100%;
4740
4728
  border-radius: 9999px;
4741
- background: var(--pptx-primary, #6366f1);
4729
+ background: var(--_pptx-primary, #6366f1);
4742
4730
  transition: width 0.3s ease-out;
4743
4731
  }
4744
4732
  .pptxv-export-progress-status {
@@ -4747,7 +4735,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4747
4735
  justify-content: space-between;
4748
4736
  margin-bottom: 16px;
4749
4737
  font-size: 12px;
4750
- color: var(--pptx-muted-foreground, #94a3b8);
4738
+ color: var(--_pptx-muted-foreground, #94a3b8);
4751
4739
  }
4752
4740
  .pptxv-export-progress-pct { font-variant-numeric: tabular-nums; }
4753
4741
  .pptxv-export-progress-actions {
@@ -4782,9 +4770,9 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4782
4770
  gap: 8px;
4783
4771
  padding: 8px 10px;
4784
4772
  border-radius: 6px;
4785
- border: 1px solid var(--pptx-border);
4786
- background: var(--pptx-card);
4787
- color: var(--pptx-card-foreground);
4773
+ border: 1px solid var(--_pptx-border);
4774
+ background: var(--_pptx-card);
4775
+ color: var(--_pptx-card-foreground);
4788
4776
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
4789
4777
  font-size: 12px;
4790
4778
  pointer-events: auto;
@@ -4793,14 +4781,14 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4793
4781
  .pptxv-run-program-notice-copy {
4794
4782
  flex: none;
4795
4783
  padding: 2px 6px;
4796
- border: 1px solid var(--pptx-border);
4784
+ border: 1px solid var(--_pptx-border);
4797
4785
  border-radius: 4px;
4798
4786
  background: transparent;
4799
- color: var(--pptx-muted-foreground);
4787
+ color: var(--_pptx-muted-foreground);
4800
4788
  font-size: 11px;
4801
4789
  cursor: pointer;
4802
4790
  }
4803
- .pptxv-run-program-notice-copy:hover { background: var(--pptx-accent); color: var(--pptx-card-foreground); }
4791
+ .pptxv-run-program-notice-copy:hover { background: var(--_pptx-accent); color: var(--_pptx-card-foreground); }
4804
4792
  .pptxv-run-program-notice-dismiss {
4805
4793
  flex: none;
4806
4794
  display: flex;
@@ -4815,7 +4803,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4815
4803
  cursor: pointer;
4816
4804
  border-radius: 4px;
4817
4805
  }
4818
- .pptxv-run-program-notice-dismiss:hover { background: var(--pptx-accent); }
4806
+ .pptxv-run-program-notice-dismiss:hover { background: var(--_pptx-accent); }
4819
4807
  .pptxv-run-program-notice-dismiss svg { width: 12px; height: 12px; margin: 0; }
4820
4808
 
4821
4809
 
@@ -4831,32 +4819,32 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4831
4819
  [data-pptx-editor-chrome] [data-pptx-chrome][hidden] { display: none !important; }
4832
4820
  @media (min-width: 768px) {
4833
4821
  [data-pptx-editor-chrome] [data-pptx-title-bar] {
4834
- background: color-mix(in oklab, var(--pptx-secondary) 80%, transparent);
4835
- border-bottom-color: color-mix(in oklab, var(--pptx-border) 60%, transparent);
4822
+ background: color-mix(in oklab, var(--_pptx-secondary) 80%, transparent);
4823
+ border-bottom-color: color-mix(in oklab, var(--_pptx-border) 60%, transparent);
4836
4824
  }
4837
4825
  [data-pptx-editor-chrome] [data-pptx-chrome="body"] {
4838
4826
  position: relative; display: flex; flex: 1; min-width: 0; min-height: 0;
4839
4827
  }
4840
4828
  [data-pptx-editor-chrome] [data-pptx-chrome="body"] [data-pptx-viewport] {
4841
- background: var(--pptx-background);
4829
+ background: var(--_pptx-background);
4842
4830
  }
4843
4831
  [data-pptx-editor-chrome] [data-pptx-chrome="slides"] {
4844
4832
  flex-shrink: 0; min-width: 0; box-sizing: border-box;
4845
- background: color-mix(in oklab, var(--pptx-secondary) 30%, transparent);
4846
- border-right: 1px solid var(--pptx-border);
4833
+ background: color-mix(in oklab, var(--_pptx-secondary) 30%, transparent);
4834
+ border-right: 1px solid var(--_pptx-border);
4847
4835
  }
4848
4836
  [data-pptx-editor-chrome] [data-pptx-chrome="slide-footer"] {
4849
- padding: 6px 8px; border-top: 1px solid color-mix(in oklab, var(--pptx-border) 60%, transparent);
4837
+ padding: 6px 8px; border-top: 1px solid color-mix(in oklab, var(--_pptx-border) 60%, transparent);
4850
4838
  }
4851
4839
  [data-pptx-editor-chrome] [data-pptx-chrome="slide-footer"] > button {
4852
4840
  width: 100%; display: flex; justify-content: center; align-items: center;
4853
4841
  gap: 4px; padding: 4px 8px; font-size: 11px; line-height: 16.5px;
4854
- border: 0; background: transparent; color: var(--pptx-muted-foreground);
4842
+ border: 0; background: transparent; color: var(--_pptx-muted-foreground);
4855
4843
  }
4856
4844
  [data-pptx-editor-chrome] [data-pptx-chrome="notes"] {
4857
4845
  flex: none; width: 100%; margin: 0; box-sizing: border-box;
4858
- border-top: 1px solid color-mix(in oklab, var(--pptx-border) 60%, transparent);
4859
- background: var(--pptx-background);
4846
+ border-top: 1px solid color-mix(in oklab, var(--_pptx-border) 60%, transparent);
4847
+ background: var(--_pptx-background);
4860
4848
  }
4861
4849
  [data-pptx-editor-chrome] [data-pptx-chrome="notes-host"] {
4862
4850
  padding: 0; border: 0; background: transparent;
@@ -4864,11 +4852,11 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4864
4852
  [data-pptx-editor-chrome] [data-pptx-chrome="notes-header"] {
4865
4853
  display: flex; align-items: center; gap: 6px; width: 100%;
4866
4854
  box-sizing: border-box; padding: 4px 12px; min-height: 24.5px;
4867
- border: 0; background: transparent; color: var(--pptx-muted-foreground);
4855
+ border: 0; background: transparent; color: var(--_pptx-muted-foreground);
4868
4856
  font-size: 11px; line-height: 16.5px; font-weight: 500;
4869
4857
  }
4870
4858
  [data-pptx-editor-chrome] [data-pptx-chrome="notes-header"] svg { width: 12px; height: 12px; }
4871
- [data-pptx-editor-chrome] [data-pptx-chrome="notes-header"]:hover { color: var(--pptx-foreground); }
4859
+ [data-pptx-editor-chrome] [data-pptx-chrome="notes-header"]:hover { color: var(--_pptx-foreground); }
4872
4860
  }
4873
4861
 
4874
4862
  @media (min-width: 768px) {
@@ -4884,14 +4872,14 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4884
4872
  [data-pptx-editor-chrome] [data-pptx-chrome="slide-row"] {
4885
4873
  position: relative; display: flex; width: 100%; align-items: center;
4886
4874
  gap: 4px; margin: 0; padding: 2px 4px; border: 0; border-radius: 0;
4887
- box-sizing: border-box; background: transparent; color: var(--pptx-muted-foreground);
4875
+ box-sizing: border-box; background: transparent; color: var(--_pptx-muted-foreground);
4888
4876
  }
4889
4877
  [data-pptx-editor-chrome] [data-pptx-chrome="slide-row"]:is([aria-current="true"], [aria-current="page"]) {
4890
- background: color-mix(in oklab, var(--pptx-accent) 40%, transparent);
4878
+ background: color-mix(in oklab, var(--_pptx-accent) 40%, transparent);
4891
4879
  }
4892
4880
  [data-pptx-editor-chrome] [data-pptx-chrome="slide-row"]:is([aria-current="true"], [aria-current="page"])::before {
4893
4881
  content: ""; position: absolute; left: 0; top: 4px; bottom: 4px;
4894
- width: 3px; border-radius: 0 2px 2px 0; background: var(--pptx-primary);
4882
+ width: 3px; border-radius: 0 2px 2px 0; background: var(--_pptx-primary);
4895
4883
  }
4896
4884
  [data-pptx-editor-chrome] [data-pptx-chrome="slide-number"] {
4897
4885
  flex: 0 0 20px; width: 20px; min-width: 0; padding: 0;
@@ -4902,17 +4890,17 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4902
4890
  border: 1px solid transparent; border-radius: 0; outline: none; background: white;
4903
4891
  }
4904
4892
  [data-pptx-editor-chrome] [data-pptx-chrome="slide-row"]:is([aria-current="true"], [aria-current="page"]) [data-pptx-chrome="slide-frame"] {
4905
- border-color: color-mix(in oklab, var(--pptx-primary) 60%, transparent);
4893
+ border-color: color-mix(in oklab, var(--_pptx-primary) 60%, transparent);
4906
4894
  }
4907
4895
  [data-pptx-editor-chrome] [data-pptx-chrome="slide-row"]:is([aria-current="true"], [aria-current="page"]) [data-pptx-chrome="slide-number"] {
4908
- color: var(--pptx-primary); font-weight: 500;
4896
+ color: var(--_pptx-primary); font-weight: 500;
4909
4897
  }
4910
4898
  }
4911
4899
 
4912
4900
  @media (min-width: 768px) {
4913
4901
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon"] {
4914
- background: color-mix(in oklab, var(--pptx-secondary) 50%, transparent);
4915
- color: var(--pptx-foreground); border-bottom: 1px solid var(--pptx-border);
4902
+ background: color-mix(in oklab, var(--_pptx-secondary) 50%, transparent);
4903
+ color: var(--_pptx-foreground); border-bottom: 1px solid var(--_pptx-border);
4916
4904
  }
4917
4905
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-primary"] {
4918
4906
  min-height: 32px; height: 32px; padding: 2px 6px; gap: 2px;
@@ -4921,7 +4909,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4921
4909
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-tabs"] {
4922
4910
  display: flex; align-items: center; height: 35px; min-height: 35px;
4923
4911
  gap: 0; padding: 0 4px; box-sizing: border-box;
4924
- border-top: 0; border-bottom: 1px solid var(--pptx-border);
4912
+ border-top: 0; border-bottom: 1px solid var(--_pptx-border);
4925
4913
  }
4926
4914
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-tabs"] [role="tablist"] {
4927
4915
  gap: 0; padding: 0; border: 0;
@@ -4937,49 +4925,49 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4937
4925
  position: relative; flex: none; height: 34px; padding: 8px 14px;
4938
4926
  border: 0; border-radius: 0; font-size: 12px; line-height: 18px;
4939
4927
  font-weight: 500; white-space: nowrap; background: transparent;
4940
- color: var(--pptx-muted-foreground);
4928
+ color: var(--_pptx-muted-foreground);
4941
4929
  }
4942
4930
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-tabs"] [role="tab"][aria-selected="true"] {
4943
- color: var(--pptx-foreground);
4931
+ color: var(--_pptx-foreground);
4944
4932
  }
4945
4933
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-tabs"] [role="tab"]::after { content: none; }
4946
4934
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-tabs"] [role="tab"][aria-selected="true"]::after {
4947
4935
  content: ""; position: absolute; bottom: -1px; left: 0; right: 0;
4948
- height: 2.5px; background: var(--pptx-primary);
4936
+ height: 2.5px; background: var(--_pptx-primary);
4949
4937
  }
4950
4938
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"] {
4951
4939
  min-height: 92px; padding: 2px 4px; gap: 0; box-sizing: border-box;
4952
4940
  }
4953
4941
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-group-label"] {
4954
4942
  font-size: 9px; line-height: 9px; font-weight: 400;
4955
- color: var(--pptx-muted-foreground); text-align: center;
4943
+ color: var(--_pptx-muted-foreground); text-align: center;
4956
4944
  }
4957
4945
  }
4958
4946
 
4959
4947
  @media (min-width: 768px) {
4960
4948
  [data-pptx-editor-chrome] [data-pptx-chrome="inspector"] {
4961
- background: var(--pptx-background); color: var(--pptx-foreground);
4962
- font-size: 12px; line-height: 18px; border-left: 1px solid var(--pptx-border);
4949
+ background: var(--_pptx-background); color: var(--_pptx-foreground);
4950
+ font-size: 12px; line-height: 18px; border-left: 1px solid var(--_pptx-border);
4963
4951
  }
4964
4952
  [data-pptx-editor-chrome] [data-pptx-chrome="inspector-header"] {
4965
4953
  display: flex; align-items: center; gap: 4px;
4966
- padding: 8px; border-bottom: 1px solid var(--pptx-border);
4954
+ padding: 8px; border-bottom: 1px solid var(--_pptx-border);
4967
4955
  }
4968
4956
  [data-pptx-editor-chrome] [data-pptx-chrome="inspector-tabs"] {
4969
4957
  display: flex; gap: 2px; padding: 2px; border: 0; border-radius: 4px;
4970
- background: color-mix(in oklab, var(--pptx-muted) 50%, transparent);
4958
+ background: color-mix(in oklab, var(--_pptx-muted) 50%, transparent);
4971
4959
  flex: 1; min-width: 0;
4972
4960
  }
4973
4961
  [data-pptx-editor-chrome] [data-pptx-chrome="inspector-tabs"] button {
4974
4962
  display: inline-flex; align-items: center; justify-content: center;
4975
4963
  gap: 4px; padding: 4px; min-height: 28px; border: 0; border-radius: 2px;
4976
4964
  font-size: 11px; line-height: 16.5px; font-weight: 500;
4977
- background: transparent; color: var(--pptx-muted-foreground);
4965
+ background: transparent; color: var(--_pptx-muted-foreground);
4978
4966
  }
4979
4967
  [data-pptx-editor-chrome] [data-pptx-chrome="inspector-tabs"] svg { width: 14px; height: 14px; flex: none; }
4980
4968
  [data-pptx-editor-chrome] [data-pptx-chrome="inspector-header"] > button { flex: none; width: 28px; height: 28px; }
4981
4969
  [data-pptx-editor-chrome] [data-pptx-chrome="inspector-tabs"] button[aria-selected="true"] {
4982
- background: var(--pptx-primary); color: var(--pptx-primary-foreground);
4970
+ background: var(--_pptx-primary); color: var(--_pptx-primary-foreground);
4983
4971
  }
4984
4972
  [data-pptx-editor-chrome] [data-pptx-chrome="inspector-body"] { padding: 12px 10px; }
4985
4973
  [data-pptx-editor-chrome] [data-pptx-chrome="deck-properties"] {
@@ -4987,15 +4975,15 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
4987
4975
  }
4988
4976
  [data-pptx-editor-chrome] [data-pptx-chrome="deck-properties"] > * { margin: 0; }
4989
4977
  [data-pptx-editor-chrome] :is([data-pptx-chrome="inspector-card"], .pptx-editor-card) {
4990
- border: 1px solid var(--pptx-border); border-radius: 4px;
4991
- padding: 8px; background: var(--pptx-card); font-size: 12px; line-height: 18px;
4978
+ border: 1px solid var(--_pptx-border); border-radius: 4px;
4979
+ padding: 8px; background: var(--_pptx-card); font-size: 12px; line-height: 18px;
4992
4980
  }
4993
4981
  [data-pptx-editor-chrome] [data-pptx-chrome="inspector"] [data-pptx-chrome="deck-properties"] :is([data-pptx-chrome="inspector-card"], .pptx-editor-card) {
4994
- padding: 8px; border: 1px solid var(--pptx-border);
4982
+ padding: 8px; border: 1px solid var(--_pptx-border);
4995
4983
  }
4996
4984
  [data-pptx-editor-chrome] :is([data-pptx-chrome="inspector-heading"], .pptx-editor-heading) {
4997
4985
  margin: 0 0 8px; font-size: 11px; line-height: 16.5px; font-weight: 400;
4998
- letter-spacing: 0.275px; text-transform: uppercase; color: var(--pptx-muted-foreground);
4986
+ letter-spacing: 0.275px; text-transform: uppercase; color: var(--_pptx-muted-foreground);
4999
4987
  }
5000
4988
  [data-pptx-editor-chrome] .pptx-editor-presentation-card { display: block; }
5001
4989
  [data-pptx-editor-chrome] [data-pptx-chrome="presentation-fields"] {
@@ -5014,23 +5002,23 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5014
5002
  width: 64px; height: 22.5px; min-height: 22.5px;
5015
5003
  }
5016
5004
  [data-pptx-editor-chrome] :is([data-pptx-chrome="inspector-card"], .pptx-editor-card) :is(input:not([type="checkbox"]):not([type="color"]), select) {
5017
- box-sizing: border-box; max-width: 100%; border: 1px solid var(--pptx-border);
5005
+ box-sizing: border-box; max-width: 100%; border: 1px solid var(--_pptx-border);
5018
5006
  border-radius: 4px; padding: 2px 6px; font-size: 11px; line-height: 16.5px;
5019
- background: var(--pptx-muted); color: var(--pptx-foreground);
5007
+ background: var(--_pptx-muted); color: var(--_pptx-foreground);
5020
5008
  }
5021
5009
  [data-pptx-editor-chrome] [data-pptx-chrome="theme-editor"] {
5022
5010
  position: absolute; right: 0; top: 0; z-index: 30; width: 288px; height: 100%;
5023
5011
  box-sizing: border-box; overflow-y: auto; padding: 10px;
5024
- background: var(--pptx-card); color: var(--pptx-foreground);
5025
- border-left: 1px solid var(--pptx-border); box-shadow: -8px 0 24px rgb(0 0 0 / 15%);
5012
+ background: var(--_pptx-card); color: var(--_pptx-foreground);
5013
+ border-left: 1px solid var(--_pptx-border); box-shadow: -8px 0 24px rgb(0 0 0 / 15%);
5026
5014
  }
5027
5015
  }
5028
5016
  @media (max-width: 767px) {
5029
5017
  [data-pptx-editor-chrome] [data-pptx-chrome="theme-editor"] {
5030
5018
  position: absolute; inset: auto 0 0; z-index: 30; width: 100%; max-height: 60%;
5031
5019
  box-sizing: border-box; overflow-y: auto; padding: 10px;
5032
- border-top: 1px solid var(--pptx-border); border-radius: 12px 12px 0 0;
5033
- background: var(--pptx-card); color: var(--pptx-foreground);
5020
+ border-top: 1px solid var(--_pptx-border); border-radius: 12px 12px 0 0;
5021
+ background: var(--_pptx-card); color: var(--_pptx-foreground);
5034
5022
  }
5035
5023
  }
5036
5024
 
@@ -5049,7 +5037,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5049
5037
  display: inline-flex; align-items: center; justify-content: center; flex: none;
5050
5038
  box-sizing: border-box; height: 24px; padding: 0 6px; min-width: 28px; width: auto;
5051
5039
  border: 0; border-radius: 4px; font-size: 12px; line-height: 16px; gap: 6px;
5052
- color: var(--pptx-foreground); background: transparent; white-space: nowrap;
5040
+ color: var(--_pptx-foreground); background: transparent; white-space: nowrap;
5053
5041
  }
5054
5042
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] :is(
5055
5043
  button[data-ribbon-control^="home."],
@@ -5064,14 +5052,14 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5064
5052
  [data-ribbon-control^="home."] > span > button,
5065
5053
  [data-pptx-chrome="control-cluster"] > button,
5066
5054
  [data-pptx-chrome$="-controls"] > button
5067
- ):hover:not(:disabled) { background: var(--pptx-accent); }
5055
+ ):hover:not(:disabled) { background: var(--_pptx-accent); }
5068
5056
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] :is(
5069
5057
  button[data-ribbon-control^="home."],
5070
5058
  [data-ribbon-control^="home."] > button,
5071
5059
  [data-ribbon-control^="home."] > span > button,
5072
5060
  [data-pptx-chrome="control-cluster"] > button,
5073
5061
  [data-pptx-chrome$="-controls"] > button
5074
- ):active:not(:disabled) { background: color-mix(in oklab, var(--pptx-accent) 70%, var(--pptx-primary)); }
5062
+ ):active:not(:disabled) { background: color-mix(in oklab, var(--_pptx-accent) 70%, var(--_pptx-primary)); }
5075
5063
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] :is(
5076
5064
  button[data-ribbon-control^="home."],
5077
5065
  [data-ribbon-control^="home."] > button,
@@ -5079,8 +5067,8 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5079
5067
  [data-pptx-chrome="control-cluster"] > button,
5080
5068
  [data-pptx-chrome$="-controls"] > button
5081
5069
  )[aria-pressed="true"] {
5082
- background: color-mix(in oklab, var(--pptx-primary) 22%, transparent);
5083
- box-shadow: inset 0 0 0 1px var(--pptx-primary);
5070
+ background: color-mix(in oklab, var(--_pptx-primary) 22%, transparent);
5071
+ box-shadow: inset 0 0 0 1px var(--_pptx-primary);
5084
5072
  }
5085
5073
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] :is(
5086
5074
  button[data-ribbon-control^="home."],
@@ -5160,13 +5148,13 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5160
5148
  }
5161
5149
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] :is([data-ribbon-group="home.clipboard"], [data-ribbon-group="home.slides"], [data-ribbon-group="home.font"], [data-ribbon-group="home.paragraph"], [data-ribbon-group="home.editing"], [data-ribbon-group="home.drawing"], [data-ribbon-group="home.arrange"])::after {
5162
5150
  content: ""; position: absolute; top: 6px; bottom: 6px; right: 0; width: 1px;
5163
- background: color-mix(in oklab, var(--pptx-border) 80%, transparent);
5151
+ background: color-mix(in oklab, var(--_pptx-border) 80%, transparent);
5164
5152
  }
5165
5153
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome]:has([data-ribbon-group="home.font"]) :is(.w-px.self-stretch, .pptx-rb-sep, [data-pptx-chrome="ribbon-sep"]),
5166
5154
  [data-pptx-editor-chrome] [data-pptx-chrome="home-content"] > .pptx-svelte-hometab-sep { display: none; }
5167
5155
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-pptx-chrome="ribbon-group-label"] {
5168
5156
  flex: none; max-width: 100%; height: 16px; font-size: 11px; line-height: 16px; font-weight: 400;
5169
- color: var(--pptx-muted-foreground); text-align: center; white-space: nowrap;
5157
+ color: var(--_pptx-muted-foreground); text-align: center; white-space: nowrap;
5170
5158
  }
5171
5159
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] :is([data-ribbon-group="home.clipboard"], [data-ribbon-group="home.slides"], [data-ribbon-group="home.font"], [data-ribbon-group="home.paragraph"], [data-ribbon-group="home.editing"], [data-ribbon-group="home.drawing"], [data-ribbon-group="home.arrange"]) > :is([data-pptx-chrome$="-controls"], .row) {
5172
5160
  flex: 1 1 auto; display: flex; align-items: flex-start; gap: 2px;
@@ -5214,7 +5202,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5214
5202
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] :is([data-ribbon-control="home.paragraph.bullets"], [data-ribbon-control="home.paragraph.numbering"]) [data-pptx-chrome="gallery-caret"] {
5215
5203
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
5216
5204
  width: 16px; min-width: 16px; height: 24px; min-height: 24px; padding: 0; border: 0; border-radius: 0 4px 4px 0;
5217
- background: transparent; color: var(--pptx-foreground); gap: normal; font-size: 12px; line-height: 16px;
5205
+ background: transparent; color: var(--_pptx-foreground); gap: normal; font-size: 12px; line-height: 16px;
5218
5206
  }
5219
5207
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] :is([data-ribbon-control="home.paragraph.bullets"], [data-ribbon-control="home.paragraph.numbering"]) [data-pptx-chrome="gallery-caret"] svg { width: 10px; height: 10px; }
5220
5208
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] :is([data-ribbon-control="home.paragraph.bullets"], [data-ribbon-control="home.paragraph.numbering"]) > div { border: 0; }
@@ -5259,8 +5247,8 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5259
5247
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-pptx-chrome="arrange-controls"] :is([data-ribbon-control="home.arrange.duplicate"], [data-ribbon-control="home.arrange.delete"]) { order: 3; }
5260
5248
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-control="home.arrange.outlineWidth"] {
5261
5249
  box-sizing: border-box; flex: none; width: 52px; height: 24px; padding: 0 4px;
5262
- border: 1px solid var(--pptx-border); border-radius: 4px; background: transparent;
5263
- font-size: 12px; line-height: 16px; color: var(--pptx-foreground); text-align: center;
5250
+ border: 1px solid var(--_pptx-border); border-radius: 4px; background: transparent;
5251
+ font-size: 12px; line-height: 16px; color: var(--_pptx-foreground); text-align: center;
5264
5252
  }
5265
5253
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-control="home.arrange.outlineWidth"]:disabled { opacity: .4; }
5266
5254
  }
@@ -5283,7 +5271,7 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5283
5271
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"] [data-ribbon-control="home.arrange.crop"] [data-pptx-ribbon-control="crop-menu"] {
5284
5272
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
5285
5273
  width: 16px; min-width: 16px; height: 24px; padding: 0; margin: 0; border: 0; border-radius: 0 4px 4px 0;
5286
- background: transparent; color: var(--pptx-foreground); font-size: 12px; line-height: 16px; gap: normal;
5274
+ background: transparent; color: var(--_pptx-foreground); font-size: 12px; line-height: 16px; gap: normal;
5287
5275
  }
5288
5276
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"] [data-ribbon-control="home.arrange.crop"] [data-pptx-ribbon-control="crop-menu"] svg { width: 10px; height: 10px; }
5289
5277
  }
@@ -5293,30 +5281,30 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5293
5281
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group] > [data-pptx-chrome="group-launcher"] {
5294
5282
  position: absolute; right: 1px; bottom: 1px; display: inline-flex; align-items: center; justify-content: center;
5295
5283
  width: 14px; min-width: 14px; height: 14px; min-height: 14px; padding: 0; border: 0; border-radius: 2px;
5296
- background: transparent; color: var(--pptx-muted-foreground); cursor: pointer;
5284
+ background: transparent; color: var(--_pptx-muted-foreground); cursor: pointer;
5297
5285
  }
5298
5286
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group] > [data-pptx-chrome="group-launcher"] svg { width: 10px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
5299
- [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group] > [data-pptx-chrome="group-launcher"]:hover { background: var(--pptx-accent); color: var(--pptx-foreground); }
5300
- [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group] > [data-pptx-chrome="group-launcher"]:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: 1px; }
5287
+ [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group] > [data-pptx-chrome="group-launcher"]:hover { background: var(--_pptx-accent); color: var(--_pptx-foreground); }
5288
+ [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group] > [data-pptx-chrome="group-launcher"]:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: 1px; }
5301
5289
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-collapsed] > [data-pptx-chrome="group-launcher"] { display: none; }
5302
5290
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group] > [data-pptx-chrome="ribbon-collapse"] { display: none; }
5303
5291
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-collapsed]:not(pptx-ui-ribbon-group) > [data-pptx-chrome="ribbon-collapse"] {
5304
5292
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 2px;
5305
5293
  box-sizing: border-box; min-width: 56px; height: 66px; margin: 3px 0 0; padding: 3px 6px;
5306
- border: 0; border-radius: 4px; background: transparent; color: var(--pptx-foreground);
5294
+ border: 0; border-radius: 4px; background: transparent; color: var(--_pptx-foreground);
5307
5295
  font: inherit; font-size: 12px; line-height: 15px; cursor: pointer;
5308
5296
  }
5309
5297
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-collapsed]:not(pptx-ui-ribbon-group) > [data-pptx-chrome="ribbon-collapse"]:hover,
5310
- [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-open]:not(pptx-ui-ribbon-group) > [data-pptx-chrome="ribbon-collapse"] { background: var(--pptx-accent); }
5311
- [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-collapsed]:not(pptx-ui-ribbon-group) > [data-pptx-chrome="ribbon-collapse"]:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: 2px; }
5312
- [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-collapsed]:not(pptx-ui-ribbon-group) > [data-pptx-chrome="ribbon-collapse"] svg { width: 32px; height: 32px; flex: none; stroke-width: 1.35; color: var(--pptx-primary); }
5298
+ [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-open]:not(pptx-ui-ribbon-group) > [data-pptx-chrome="ribbon-collapse"] { background: var(--_pptx-accent); }
5299
+ [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-collapsed]:not(pptx-ui-ribbon-group) > [data-pptx-chrome="ribbon-collapse"]:focus-visible { outline: 2px solid var(--_pptx-ring); outline-offset: 2px; }
5300
+ [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-collapsed]:not(pptx-ui-ribbon-group) > [data-pptx-chrome="ribbon-collapse"] svg { width: 32px; height: 32px; flex: none; stroke-width: 1.35; color: var(--_pptx-primary); }
5313
5301
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-collapsed]:not(pptx-ui-ribbon-group) > [data-pptx-chrome="ribbon-collapse"] svg.chev { width: 9px; height: 9px; margin-top: -1px; stroke-width: 1.8; color: inherit; }
5314
5302
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-collapsed]:not(pptx-ui-ribbon-group) > :not([data-pptx-chrome="ribbon-collapse"]) { display: none !important; }
5315
5303
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"][data-pptx-chrome] [data-ribbon-group][data-collapsed][data-open]:not(pptx-ui-ribbon-group) > :not([data-pptx-chrome="ribbon-collapse"]):not([data-pptx-chrome="ribbon-group-label"]):not([data-pptx-chrome="group-launcher"]) {
5316
5304
  display: flex !important; flex-wrap: wrap; position: fixed; top: var(--pptx-collapse-y, 120px); left: var(--pptx-collapse-x, 8px);
5317
5305
  z-index: 1200; box-sizing: border-box; width: auto; max-width: calc(100vw - 16px); padding: 8px;
5318
- background: var(--pptx-popover); color: var(--pptx-popover-foreground);
5319
- border: 1px solid var(--pptx-border); border-radius: 6px; box-shadow: 0 8px 24px #0005;
5306
+ background: var(--_pptx-popover); color: var(--_pptx-popover-foreground);
5307
+ border: 1px solid var(--_pptx-border); border-radius: 6px; box-shadow: 0 8px 24px #0005;
5320
5308
  }
5321
5309
  }
5322
5310
  @media (forced-colors: active) {