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