@materialwebunofficial/antigravity-themes 1.0.0 → 1.0.4
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/README.md +57 -24
- package/bin/cli.mjs +107 -35
- package/lib/autostart.mjs +22 -2
- package/lib/paths.mjs +7 -0
- package/package.json +2 -2
- package/src/code-tools.js +10 -4
- package/src/context-card.js +17 -11
- package/src/theme-host.js +241 -46
- package/themes/index.json +12 -6
- package/themes/matte.css +210 -12
- package/themes/md3e.css +221 -27
- package/themes/nordic.css +370 -0
- package/themes/paper.css +414 -0
package/themes/matte.css
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
|
-
"Matte"
|
|
2
|
+
AGY "Matte" (v4.4) — theme for Antigravity Desktop 2.26–2.28
|
|
3
3
|
|
|
4
4
|
Idea: matte, quiet, fast. A near-black window holds one rounded panel;
|
|
5
5
|
surfaces step up in small neutral increments, 1px hairlines carry the
|
|
6
6
|
structure, and the only bright thing is the send button. No gradients,
|
|
7
|
-
blur, grain, glow, masks or looping animation. Light mode is the
|
|
8
|
-
structure inverted, from the token block after 00.
|
|
7
|
+
blur, grain, glow, masks or looping animation. Light mode (v4.4) is the
|
|
8
|
+
same structure inverted, from the token block after 00.
|
|
9
9
|
|
|
10
|
-
Built for speed (a full style recalc
|
|
11
|
-
|
|
10
|
+
Built for speed (live v3.5 measured a 122ms full style recalc vs about
|
|
11
|
+
half that for stock, plus a moving backdrop under blurred glass):
|
|
12
12
|
- Almost everything is done through the app's own tokens; the app's
|
|
13
13
|
Tailwind classes then paint the components. Few rules = cheap recalc.
|
|
14
14
|
- The handful of rules end in an id, class or single attribute: no
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
writes its tokens and the VS Code theme inline on <html>, so sections 01
|
|
24
24
|
and 02 use !important. Never wrap this file in @layer.
|
|
25
25
|
|
|
26
|
-
Scope: :root[data-agy-theme="matte"]; loaded by
|
|
26
|
+
Scope: :root[data-agy-theme="matte"]; loaded by theme-host.js.
|
|
27
|
+
Earlier versions: agy-theme.v1/.v2/.v3.css.
|
|
27
28
|
========================================================================== */
|
|
28
29
|
|
|
29
30
|
|
|
@@ -285,24 +286,36 @@
|
|
|
285
286
|
--color-background) here makes every bg-background / var(--background)
|
|
286
287
|
layer inside the panel match it: the pinned user-message band, the fade
|
|
287
288
|
above the composer, sticky headers. */
|
|
288
|
-
:root[data-agy-theme="matte"] .group\/pane
|
|
289
|
+
:root[data-agy-theme="matte"] .group\/pane,
|
|
290
|
+
:root[data-agy-theme="matte"] .agy-sheet:not(:has(.group\/pane)) .browser-hole-opaque {
|
|
289
291
|
--background: var(--m-panel);
|
|
290
292
|
--color-background: var(--m-panel);
|
|
291
293
|
width: auto;
|
|
292
294
|
height: calc(100% - 8px);
|
|
293
|
-
/* No outline: flush against the sidebar
|
|
294
|
-
|
|
295
|
-
corners read as a card. */
|
|
295
|
+
/* No outline: flush against the sidebar its 1px ring read as the very
|
|
296
|
+
divider the user asked to remove (live v4.0). Tone alone (#151517 on
|
|
297
|
+
#0e0e10) marks the panel; a 6px gap lets its corners read as a card. */
|
|
296
298
|
margin: 0 8px 8px 6px;
|
|
297
299
|
border-radius: 14px;
|
|
298
300
|
background: var(--m-panel);
|
|
299
301
|
overflow: hidden;
|
|
300
302
|
}
|
|
303
|
+
:root[data-agy-theme="matte"] .agy-sheet {
|
|
304
|
+
background-image: none !important;
|
|
305
|
+
}
|
|
301
306
|
|
|
302
307
|
/* Full-height 1px divider between sidebar and panel (holds the resize sash,
|
|
303
308
|
so it keeps its box; only the line goes). Tailwind class hook. */
|
|
304
309
|
:root[data-agy-theme="matte"] .bg-border.flex-shrink-0.z-30.h-full {
|
|
305
|
-
background:
|
|
310
|
+
background: var(--m-window);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/* Inactive webview occlusion guard: prevent GPU compositor bleeding */
|
|
314
|
+
div[style*="opacity: 0.005"] webview,
|
|
315
|
+
div[style*="display: none"] webview,
|
|
316
|
+
webview[style*="opacity: 0.005"] {
|
|
317
|
+
visibility: hidden !important;
|
|
318
|
+
pointer-events: none !important;
|
|
306
319
|
}
|
|
307
320
|
|
|
308
321
|
/* The right-hand pane (terminal, task output, files): its tab strip stays
|
|
@@ -365,7 +378,7 @@
|
|
|
365
378
|
/* The shell's 1px ring is its padded background (p-px bg-card-border).
|
|
366
379
|
Focus only brightens that ring: no movement, no glow. The app's own
|
|
367
380
|
click-anywhere-to-focus is opted out for the transcript in
|
|
368
|
-
|
|
381
|
+
page-scripts.mjs. */
|
|
369
382
|
:root[data-agy-theme="matte"] [id="antigravity.agentSidePanelInputBox"] {
|
|
370
383
|
box-shadow: 0 10px 28px -14px var(--m-shadow);
|
|
371
384
|
}
|
|
@@ -388,3 +401,188 @@
|
|
|
388
401
|
color: var(--m-text-max);
|
|
389
402
|
box-shadow: 0 8px 20px -8px var(--m-shadow);
|
|
390
403
|
}
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
/* 05 — Antigravity's own glass layer (data-newux-theme, since the November
|
|
407
|
+
update). Its rules outrank ours, so its tokens are mapped to Matte here and the
|
|
408
|
+
surfaces it paints with literal values are restated. */
|
|
409
|
+
:root[data-agy-theme="matte"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) {
|
|
410
|
+
--glass: var(--m-raised);
|
|
411
|
+
--glass-border: var(--m-line);
|
|
412
|
+
--glass-highlight: transparent;
|
|
413
|
+
--glass-shadow: none;
|
|
414
|
+
--shell: var(--m-window);
|
|
415
|
+
--onyx-frame: transparent;
|
|
416
|
+
--onyx-well: var(--m-inset);
|
|
417
|
+
--onyx-key: var(--m-high);
|
|
418
|
+
--onyx-raised: var(--m-raised);
|
|
419
|
+
--onyx-selected: var(--m-select);
|
|
420
|
+
--nux-focus-ring: var(--m-line-3);
|
|
421
|
+
--nux-chip-shadow: none;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
/* P1 — Bubble & composer */
|
|
425
|
+
:root[data-agy-theme="matte"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .agy-user-bubble-frame {
|
|
426
|
+
padding: 1px;
|
|
427
|
+
background: var(--card-border);
|
|
428
|
+
border-radius: 12px;
|
|
429
|
+
}
|
|
430
|
+
:root[data-agy-theme="matte"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .agy-user-bubble {
|
|
431
|
+
background: var(--card);
|
|
432
|
+
color: var(--m-text);
|
|
433
|
+
box-shadow: none;
|
|
434
|
+
border-radius: 11px;
|
|
435
|
+
}
|
|
436
|
+
:root[data-agy-theme="matte"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .surface-composer {
|
|
437
|
+
padding: 1px;
|
|
438
|
+
background: var(--card-border);
|
|
439
|
+
box-shadow: 0 10px 28px -14px var(--m-shadow);
|
|
440
|
+
}
|
|
441
|
+
:root[data-agy-theme="matte"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .surface-composer:focus-within {
|
|
442
|
+
background: var(--m-line-3);
|
|
443
|
+
}
|
|
444
|
+
:root[data-agy-theme="matte"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .surface-composer > .surface-composer-card {
|
|
445
|
+
background: var(--card);
|
|
446
|
+
backdrop-filter: none;
|
|
447
|
+
box-shadow: none;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
/* P2 — Menus & Overlays */
|
|
451
|
+
:root[data-agy-theme="matte"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .agy-overlay[role="menu"] {
|
|
452
|
+
background: var(--m-raised);
|
|
453
|
+
border-radius: 12px;
|
|
454
|
+
border: 1px solid var(--m-line-2);
|
|
455
|
+
box-shadow: 0 16px 40px -12px var(--m-shadow-menu);
|
|
456
|
+
backdrop-filter: none;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
/* 80 — Voice Mode & Gemini Live Harmonization */
|
|
460
|
+
:root[data-agy-theme="matte"] [data-testid="voice-live-pill"] {
|
|
461
|
+
background: var(--m-raised) !important;
|
|
462
|
+
color: var(--m-text) !important;
|
|
463
|
+
border: 1px solid var(--m-line-2) !important;
|
|
464
|
+
border-radius: 9999px !important;
|
|
465
|
+
transition: background-color 0.15s ease, color 0.15s ease !important;
|
|
466
|
+
}
|
|
467
|
+
:root[data-agy-theme="matte"] [data-testid="voice-live-pill"]:hover {
|
|
468
|
+
background: var(--m-high) !important;
|
|
469
|
+
color: var(--m-text-max) !important;
|
|
470
|
+
}
|
|
471
|
+
:root[data-agy-theme="matte"] [data-testid="voice-start-button"] {
|
|
472
|
+
color: inherit !important;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
/* Voice Picker Dialog */
|
|
476
|
+
:root[data-agy-theme="matte"] [data-testid="voice-picker"] {
|
|
477
|
+
background: var(--m-panel) !important;
|
|
478
|
+
border: 1px solid var(--m-line-2) !important;
|
|
479
|
+
border-radius: 14px !important;
|
|
480
|
+
box-shadow: 0 16px 40px -12px var(--m-shadow-menu) !important;
|
|
481
|
+
}
|
|
482
|
+
:root[data-agy-theme="matte"] [data-testid="voice-picker"] [data-testid="voice-picker-close"] {
|
|
483
|
+
color: var(--m-text-2) !important;
|
|
484
|
+
border-radius: 6px !important;
|
|
485
|
+
}
|
|
486
|
+
:root[data-agy-theme="matte"] [data-testid="voice-picker"] [data-testid="voice-picker-close"]:hover {
|
|
487
|
+
background: var(--m-hover) !important;
|
|
488
|
+
color: var(--m-text-max) !important;
|
|
489
|
+
}
|
|
490
|
+
:root[data-agy-theme="matte"] [data-testid="voice-picker"] [data-testid="voice-picker-name"] {
|
|
491
|
+
color: var(--m-text-max) !important;
|
|
492
|
+
font-family: var(--m-font-ui) !important;
|
|
493
|
+
}
|
|
494
|
+
:root[data-agy-theme="matte"] [data-testid="voice-picker"] .voice-picker-dot > span {
|
|
495
|
+
background: var(--m-line-3) !important;
|
|
496
|
+
}
|
|
497
|
+
:root[data-agy-theme="matte"] [data-testid="voice-picker"] .voice-picker-dot[aria-current="true"] > span {
|
|
498
|
+
background: var(--m-primary) !important;
|
|
499
|
+
box-shadow: 0 0 6px rgb(255 255 255 / 0.3) !important;
|
|
500
|
+
}
|
|
501
|
+
:root[data-agy-theme="matte"] [data-testid="voice-picker"] button[data-testid="voice-picker-use"] {
|
|
502
|
+
background: var(--m-primary) !important;
|
|
503
|
+
color: var(--m-primary-ink) !important;
|
|
504
|
+
border-radius: 10px !important;
|
|
505
|
+
font-family: var(--m-font-ui) !important;
|
|
506
|
+
font-weight: 600 !important;
|
|
507
|
+
box-shadow: none !important;
|
|
508
|
+
transition: background-color 0.15s ease !important;
|
|
509
|
+
}
|
|
510
|
+
:root[data-agy-theme="matte"] [data-testid="voice-picker"] button[data-testid="voice-picker-use"]:hover {
|
|
511
|
+
background: var(--m-strong) !important;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
/* Active Voice Docked Panel */
|
|
515
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] {
|
|
516
|
+
background: var(--m-panel) !important;
|
|
517
|
+
background-image: none !important;
|
|
518
|
+
border: 1px solid var(--m-line-2) !important;
|
|
519
|
+
border-bottom: none !important;
|
|
520
|
+
border-radius: 14px 14px 0 0 !important;
|
|
521
|
+
box-shadow: 0 -8px 24px -8px var(--m-shadow) !important;
|
|
522
|
+
backdrop-filter: blur(16px) !important;
|
|
523
|
+
-webkit-backdrop-filter: blur(16px) !important;
|
|
524
|
+
}
|
|
525
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-end-button"],
|
|
526
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-call-end"] {
|
|
527
|
+
background: var(--m-error) !important;
|
|
528
|
+
color: #ffffff !important;
|
|
529
|
+
border-radius: 8px !important;
|
|
530
|
+
font-weight: 600 !important;
|
|
531
|
+
}
|
|
532
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-mute-button"],
|
|
533
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-call-agent-mute"],
|
|
534
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-call-speed"],
|
|
535
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-call-collapse"] {
|
|
536
|
+
border-radius: 6px !important;
|
|
537
|
+
}
|
|
538
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-mute-button"]:hover,
|
|
539
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-call-agent-mute"]:hover,
|
|
540
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-call-speed"]:hover,
|
|
541
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-call-collapse"]:hover {
|
|
542
|
+
background: var(--m-hover) !important;
|
|
543
|
+
color: var(--m-text-max) !important;
|
|
544
|
+
}
|
|
545
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-speed-fill"] {
|
|
546
|
+
background: var(--m-text-2) !important;
|
|
547
|
+
}
|
|
548
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="voice-speed-track"] {
|
|
549
|
+
background: var(--m-line-2) !important;
|
|
550
|
+
}
|
|
551
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="live-lead"],
|
|
552
|
+
:root[data-agy-theme="matte"] [data-testid="live-docked"] [data-testid="live-body"] {
|
|
553
|
+
color: var(--m-text) !important;
|
|
554
|
+
font-family: var(--m-font-ui) !important;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
/* Background Glow Canvas & Ring — Subdued and quiet, zero neon glare */
|
|
558
|
+
:root[data-agy-theme="matte"] [data-testid="voice-speaking-glow"] canvas {
|
|
559
|
+
opacity: 0.15 !important;
|
|
560
|
+
filter: grayscale(0.8) !important;
|
|
561
|
+
}
|
|
562
|
+
:root[data-agy-theme="matte"] [data-testid="voice-speaking-glow"] .voice-glow-ring {
|
|
563
|
+
box-shadow: 0 0 0 1px var(--m-line-2) !important;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
/* In-Chat Separator Marker */
|
|
567
|
+
:root[data-agy-theme="matte"] [data-testid="voice-chat-marker"] {
|
|
568
|
+
color: var(--m-text-2) !important;
|
|
569
|
+
font-family: var(--m-font-ui) !important;
|
|
570
|
+
}
|
|
571
|
+
:root[data-agy-theme="matte"] div:has(> span [data-testid="voice-chat-marker"]) .bg-secondary,
|
|
572
|
+
:root[data-agy-theme="matte"] div:has(> [data-testid="voice-chat-marker"]) .bg-secondary,
|
|
573
|
+
:root[data-agy-theme="matte"] [data-testid="voice-chat-marker"] ~ div.bg-secondary {
|
|
574
|
+
background-color: var(--m-line) !important;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
/* In-Chat Voice Transcript Card */
|
|
578
|
+
:root[data-agy-theme="matte"] [data-testid="voice-transcript-card"] {
|
|
579
|
+
background: var(--m-raised) !important;
|
|
580
|
+
border: 1px solid var(--m-line-2) !important;
|
|
581
|
+
border-radius: 12px !important;
|
|
582
|
+
}
|
|
583
|
+
:root[data-agy-theme="matte"] [data-testid="voice-transcript-card"]:hover {
|
|
584
|
+
background: var(--m-high) !important;
|
|
585
|
+
border-color: var(--m-line-3) !important;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
|
package/themes/md3e.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
|
-
"Material 3 Expressive"
|
|
2
|
+
AGY "Material 3 Expressive" (v3.1) — Antigravity Desktop 2.26–2.28
|
|
3
3
|
|
|
4
4
|
Built on the real system: every value below reads a --md-sys-* token from
|
|
5
5
|
@materialwebunofficial/md3e-web (themes/md3e-tokens.css, generated by
|
|
@@ -155,6 +155,75 @@
|
|
|
155
155
|
--vscode-diffEditor-removedTextBackground: color-mix(in srgb, var(--md-sys-color-error) 24%, transparent) !important;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
+
|
|
159
|
+
/* 05 — Antigravity's own glass layer (data-newux-theme, since the November
|
|
160
|
+
update). Its rules outrank ours, so its tokens are mapped to M3 here and the
|
|
161
|
+
surfaces it paints with literal values are restated. */
|
|
162
|
+
:root[data-agy-theme="md3e"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) {
|
|
163
|
+
--glass: var(--md-sys-color-surface-container);
|
|
164
|
+
--glass-border: transparent;
|
|
165
|
+
--glass-highlight: transparent;
|
|
166
|
+
--glass-shadow: none;
|
|
167
|
+
--shell: var(--md-sys-color-surface);
|
|
168
|
+
--onyx-frame: transparent;
|
|
169
|
+
--onyx-well: var(--md-sys-color-surface-container-highest);
|
|
170
|
+
--onyx-key: var(--md-sys-color-secondary-container);
|
|
171
|
+
--onyx-raised: var(--md-sys-color-surface-container-high);
|
|
172
|
+
--onyx-selected: var(--md-sys-color-secondary-container);
|
|
173
|
+
--nux-focus-ring: var(--md-sys-color-secondary);
|
|
174
|
+
--nux-chip-shadow: var(--md-sys-elevation-level2);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/* P1 — Unreadable bubble & composer */
|
|
178
|
+
:root[data-agy-theme="md3e"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .agy-user-bubble-frame {
|
|
179
|
+
padding: 0;
|
|
180
|
+
background: transparent;
|
|
181
|
+
border-radius: 24px 24px 6px 24px;
|
|
182
|
+
}
|
|
183
|
+
:root[data-agy-theme="md3e"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .agy-user-bubble {
|
|
184
|
+
padding: 12px 18px;
|
|
185
|
+
border-radius: 24px 24px 6px 24px;
|
|
186
|
+
background: var(--md-sys-color-primary-container);
|
|
187
|
+
color: var(--md-sys-color-on-primary-container);
|
|
188
|
+
box-shadow: none;
|
|
189
|
+
}
|
|
190
|
+
:root[data-agy-theme="md3e"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .agy-user-bubble .user-input-buttons-container {
|
|
191
|
+
background: var(--md-sys-color-surface-container-high);
|
|
192
|
+
box-shadow: var(--md-sys-elevation-level1);
|
|
193
|
+
}
|
|
194
|
+
:root[data-agy-theme="md3e"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .surface-composer {
|
|
195
|
+
padding: 0;
|
|
196
|
+
border-radius: var(--md-sys-shape-corner-extra-large);
|
|
197
|
+
background: transparent;
|
|
198
|
+
box-shadow: var(--md-sys-elevation-level3);
|
|
199
|
+
}
|
|
200
|
+
:root[data-agy-theme="md3e"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .surface-composer > .surface-composer-card {
|
|
201
|
+
border-radius: var(--md-sys-shape-corner-extra-large);
|
|
202
|
+
background: var(--md-sys-color-surface-container-high);
|
|
203
|
+
backdrop-filter: none;
|
|
204
|
+
box-shadow: none;
|
|
205
|
+
}
|
|
206
|
+
:root[data-agy-theme="md3e"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .surface-composer:focus-within > .surface-composer-card {
|
|
207
|
+
background: var(--md-sys-color-surface-container-highest);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/* P2 — Menus, Popovers & Overlays */
|
|
211
|
+
:root[data-agy-theme="md3e"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .agy-overlay[role="menu"] {
|
|
212
|
+
background: var(--md-sys-color-surface-container-low);
|
|
213
|
+
border-radius: 16px;
|
|
214
|
+
overflow: visible;
|
|
215
|
+
border: 0;
|
|
216
|
+
box-shadow: 0 4px 16px -2px rgb(0 0 0 / 0.5);
|
|
217
|
+
backdrop-filter: none;
|
|
218
|
+
}
|
|
219
|
+
:root[data-agy-theme="md3e"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .agy-overlay .agy-overlay-item {
|
|
220
|
+
border-radius: 0;
|
|
221
|
+
}
|
|
222
|
+
:root[data-agy-theme="md3e"] body[data-agy-theme][data-newux-theme]:is(.dark, :not(.dark)) .agy-overlay:not([role="menu"]) {
|
|
223
|
+
background: var(--md-sys-color-surface-container);
|
|
224
|
+
backdrop-filter: none;
|
|
225
|
+
}
|
|
226
|
+
|
|
158
227
|
/* Find in conversation and in code: every match a tertiary tint, the
|
|
159
228
|
current one the tertiary container. The app sets these inline; its own
|
|
160
229
|
::highlight rules read them crosswise (every match in the "current"
|
|
@@ -178,6 +247,7 @@
|
|
|
178
247
|
|
|
179
248
|
/* 10 — Layout: navigation on surface-container, an inset surface body ----- */
|
|
180
249
|
:root[data-agy-theme="md3e"] .group\/pane,
|
|
250
|
+
:root[data-agy-theme="md3e"] .agy-sheet:not(:has(.group\/pane)) .browser-hole-opaque,
|
|
181
251
|
:root[data-agy-theme="md3e"] [data-active-tab-id] + .flex-grow {
|
|
182
252
|
--background: var(--md-sys-color-surface);
|
|
183
253
|
--color-background: var(--md-sys-color-surface);
|
|
@@ -185,11 +255,15 @@
|
|
|
185
255
|
border-radius: var(--md-sys-shape-corner-extra-large);
|
|
186
256
|
overflow: hidden;
|
|
187
257
|
}
|
|
188
|
-
:root[data-agy-theme="md3e"] .group\/pane
|
|
258
|
+
:root[data-agy-theme="md3e"] .group\/pane,
|
|
259
|
+
:root[data-agy-theme="md3e"] .agy-sheet:not(:has(.group\/pane)) .browser-hole-opaque {
|
|
189
260
|
width: auto;
|
|
190
261
|
height: calc(100% - 12px);
|
|
191
262
|
margin: 0 12px 12px 8px;
|
|
192
263
|
}
|
|
264
|
+
:root[data-agy-theme="md3e"] .agy-sheet {
|
|
265
|
+
background-image: none !important;
|
|
266
|
+
}
|
|
193
267
|
:root[data-agy-theme="md3e"] [data-active-tab-id] + .flex-grow {
|
|
194
268
|
margin: 0 12px 12px 0;
|
|
195
269
|
}
|
|
@@ -197,7 +271,15 @@
|
|
|
197
271
|
border-bottom-color: transparent;
|
|
198
272
|
}
|
|
199
273
|
:root[data-agy-theme="md3e"] .bg-border.flex-shrink-0.z-30.h-full { /* sidebar | body divider; keeps the sash */
|
|
200
|
-
background:
|
|
274
|
+
background: var(--md-sys-color-surface-container);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/* Inactive webview occlusion guard: prevent GPU compositor bleeding */
|
|
278
|
+
div[style*="opacity: 0.005"] webview,
|
|
279
|
+
div[style*="display: none"] webview,
|
|
280
|
+
webview[style*="opacity: 0.005"] {
|
|
281
|
+
visibility: hidden !important;
|
|
282
|
+
pointer-events: none !important;
|
|
201
283
|
}
|
|
202
284
|
|
|
203
285
|
/* Top app bar. The conversation title is title-medium (16/24, 500): the
|
|
@@ -390,6 +472,10 @@
|
|
|
390
472
|
--agy-icon-keep: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 -960 960 960%27%3E%3Cpath d=%27M624 -744V-480L709 -395Q714 -390 717 -384Q720 -377 720 -369V-348Q720 -333 710 -322Q699 -312 684 -312H516V-90Q516 -75 506 -64Q495 -54 480 -54Q465 -54 454 -64Q444 -75 444 -90V-312H276Q261 -312 250 -322Q240 -333 240 -348V-369Q240 -377 243 -384Q246 -390 251 -395L336 -480V-744H324Q309 -744 298 -754Q288 -765 288 -780Q288 -795 298 -806Q309 -816 324 -816H636Q651 -816 662 -806Q672 -795 672 -780Q672 -765 662 -754Q651 -744 636 -744ZM342 -384H618L552 -450V-744H408V-450ZM480 -384Z%27/%3E%3C/svg%3E");
|
|
391
473
|
--agy-icon-keep-fill: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 -960 960 960%27%3E%3Cpath d=%27M624 -744V-480L709 -395Q714 -390 717 -384Q720 -377 720 -369V-348Q720 -333 710 -322Q699 -312 684 -312H516V-90Q516 -75 506 -64Q495 -54 480 -54Q465 -54 454 -64Q444 -75 444 -90V-312H276Q261 -312 250 -322Q240 -333 240 -348V-369Q240 -377 243 -384Q246 -390 251 -395L336 -480V-744H324Q309 -744 298 -754Q288 -765 288 -780Q288 -795 298 -806Q309 -816 324 -816H636Q651 -816 662 -806Q672 -795 672 -780Q672 -765 662 -754Q651 -744 636 -744ZM342 -384H618L552 -450V-744H408V-450ZM342 -384 408 -450V-744H552V-450L618 -384Z%27/%3E%3C/svg%3E");
|
|
392
474
|
}
|
|
475
|
+
:root[data-agy-theme="md3e"] .flex:has([role="navigation"][aria-label="Sidebar"]) {
|
|
476
|
+
transition: width 250ms cubic-bezier(0.2, 0, 0, 1);
|
|
477
|
+
}
|
|
478
|
+
|
|
393
479
|
:root[data-agy-theme="md3e"] [role="navigation"][aria-label="Sidebar"] > .px-2,
|
|
394
480
|
:root[data-agy-theme="md3e"] [role="navigation"][aria-label="Sidebar"] > .flex.flex-col.gap-px,
|
|
395
481
|
:root[data-agy-theme="md3e"] [data-testid="conversation-list-sidebar"] {
|
|
@@ -1002,11 +1088,12 @@
|
|
|
1002
1088
|
padding: 0;
|
|
1003
1089
|
gap: 0;
|
|
1004
1090
|
border: 0;
|
|
1005
|
-
border-radius:
|
|
1006
|
-
background:
|
|
1007
|
-
|
|
1091
|
+
border-radius: 16px;
|
|
1092
|
+
background: var(--md-sys-color-surface-container-low);
|
|
1093
|
+
overflow: visible;
|
|
1094
|
+
box-shadow: 0 4px 16px -2px rgb(0 0 0 / 0.5);
|
|
1008
1095
|
backdrop-filter: none;
|
|
1009
|
-
filter:
|
|
1096
|
+
filter: none;
|
|
1010
1097
|
color: var(--md-sys-color-on-surface);
|
|
1011
1098
|
font-family: var(--md-sys-typescale-font-family);
|
|
1012
1099
|
}
|
|
@@ -1014,7 +1101,6 @@
|
|
|
1014
1101
|
:root[data-agy-theme="md3e"] :is([role="menu"], [role="menu"] > [role="group"], [data-testid="model-selector-panel"]) > :not([role="separator"], [role="group"], [data-testid="model-selector-panel"]) {
|
|
1015
1102
|
overflow: clip;
|
|
1016
1103
|
border-radius: 0;
|
|
1017
|
-
background: var(--md-sys-color-surface-container-low);
|
|
1018
1104
|
}
|
|
1019
1105
|
:root[data-agy-theme="md3e"] [role="menu"] > [role="group"],
|
|
1020
1106
|
:root[data-agy-theme="md3e"] [data-testid="model-selector-panel"] {
|
|
@@ -1022,26 +1108,10 @@
|
|
|
1022
1108
|
padding: 0;
|
|
1023
1109
|
background: transparent;
|
|
1024
1110
|
}
|
|
1025
|
-
:root[data-agy-theme="md3e"] :is([role="menu"], [role="menu"] > [role="group"], [data-testid="model-selector-panel"]) > :first-child {
|
|
1026
|
-
border-start-start-radius: 16px;
|
|
1027
|
-
border-start-end-radius: 16px;
|
|
1028
|
-
}
|
|
1029
|
-
:root[data-agy-theme="md3e"] :is([role="menu"], [role="menu"] > [role="group"], [data-testid="model-selector-panel"]) > :last-child {
|
|
1030
|
-
border-end-start-radius: 16px;
|
|
1031
|
-
border-end-end-radius: 16px;
|
|
1032
|
-
}
|
|
1033
|
-
:root[data-agy-theme="md3e"] :is([role="menu"], [role="menu"] > [role="group"], [data-testid="model-selector-panel"]) > [role="separator"] + * {
|
|
1034
|
-
border-start-start-radius: 8px;
|
|
1035
|
-
border-start-end-radius: 8px;
|
|
1036
|
-
}
|
|
1037
|
-
:root[data-agy-theme="md3e"] :is([role="menu"], [role="menu"] > [role="group"], [data-testid="model-selector-panel"]) > :has(+ [role="separator"]) {
|
|
1038
|
-
border-end-start-radius: 8px;
|
|
1039
|
-
border-end-end-radius: 8px;
|
|
1040
|
-
}
|
|
1041
1111
|
:root[data-agy-theme="md3e"] [role="menu"] [role="separator"] {
|
|
1042
1112
|
height: 2px;
|
|
1043
1113
|
margin: 0;
|
|
1044
|
-
background:
|
|
1114
|
+
background: var(--md-sys-color-surface);
|
|
1045
1115
|
}
|
|
1046
1116
|
/* group headers: Base UI group labels, the model list's "Model", the mode
|
|
1047
1117
|
menu's "<Project> Settings" row */
|
|
@@ -1149,8 +1219,7 @@
|
|
|
1149
1219
|
:root[data-agy-theme="md3e"] [role="menu"] [role^="menuitem"]:is(.text-foreground, [aria-checked="true"]) > :is(svg:first-child, .ml-auto) {
|
|
1150
1220
|
color: inherit;
|
|
1151
1221
|
}
|
|
1152
|
-
:root[data-agy-theme="md3e"] [role="menu"] [role^="menuitem"] > .ml-auto
|
|
1153
|
-
:root[data-agy-theme="md3e"] [role="menu"] [role^="menuitem"]:is(.text-foreground, [aria-checked="true"]) > [data-icon] {
|
|
1222
|
+
:root[data-agy-theme="md3e"] [role="menu"] [role^="menuitem"]:is(.text-foreground, [aria-checked="true"]) > span.ml-auto {
|
|
1154
1223
|
display: none;
|
|
1155
1224
|
}
|
|
1156
1225
|
:root[data-agy-theme="md3e"] [role="menu"] [role^="menuitem"]:is(.text-foreground, [aria-checked="true"])::after {
|
|
@@ -1204,3 +1273,128 @@
|
|
|
1204
1273
|
animation: none;
|
|
1205
1274
|
}
|
|
1206
1275
|
}
|
|
1276
|
+
|
|
1277
|
+
/* 80 — Voice Mode & Gemini Live: Material 3 Expressive */
|
|
1278
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-live-pill"] {
|
|
1279
|
+
background: var(--md-sys-color-secondary-container) !important;
|
|
1280
|
+
color: var(--md-sys-color-on-secondary-container) !important;
|
|
1281
|
+
border: 1px solid var(--md-sys-color-outline-variant) !important;
|
|
1282
|
+
border-radius: var(--md-sys-shape-corner-full) !important;
|
|
1283
|
+
transition: background-color var(--md-state), color var(--md-state), box-shadow var(--md-motion-short) !important;
|
|
1284
|
+
}
|
|
1285
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-live-pill"]:hover {
|
|
1286
|
+
box-shadow: var(--md-sys-elevation-level1) !important;
|
|
1287
|
+
}
|
|
1288
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-start-button"] {
|
|
1289
|
+
color: inherit !important;
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
/* Voice Picker Dialog — M3 Modal Dialog */
|
|
1293
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-picker"] {
|
|
1294
|
+
background: var(--md-sys-color-surface-container-high) !important;
|
|
1295
|
+
border: 1px solid var(--md-sys-color-outline-variant) !important;
|
|
1296
|
+
border-radius: 28px !important;
|
|
1297
|
+
box-shadow: var(--md-sys-elevation-level3) !important;
|
|
1298
|
+
}
|
|
1299
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-picker"] [data-testid="voice-picker-close"] {
|
|
1300
|
+
color: var(--md-sys-color-on-surface-variant) !important;
|
|
1301
|
+
border-radius: var(--md-sys-shape-corner-full) !important;
|
|
1302
|
+
}
|
|
1303
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-picker"] [data-testid="voice-picker-close"]:hover {
|
|
1304
|
+
background: var(--md-hover) !important;
|
|
1305
|
+
color: var(--md-sys-color-on-surface) !important;
|
|
1306
|
+
}
|
|
1307
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-picker"] [data-testid="voice-picker-name"] {
|
|
1308
|
+
color: var(--md-sys-color-on-surface) !important;
|
|
1309
|
+
font: var(--md-sys-typescale-headline-small) !important;
|
|
1310
|
+
}
|
|
1311
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-picker"] .voice-picker-dot > span {
|
|
1312
|
+
background: var(--md-sys-color-outline-variant) !important;
|
|
1313
|
+
}
|
|
1314
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-picker"] .voice-picker-dot[aria-current="true"] > span {
|
|
1315
|
+
background: var(--md-sys-color-primary) !important;
|
|
1316
|
+
box-shadow: 0 0 10px color-mix(in srgb, var(--md-sys-color-primary) 50%, transparent) !important;
|
|
1317
|
+
}
|
|
1318
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-picker"] button[data-testid="voice-picker-use"] {
|
|
1319
|
+
background: var(--md-sys-color-primary) !important;
|
|
1320
|
+
color: var(--md-sys-color-on-primary) !important;
|
|
1321
|
+
border-radius: var(--md-sys-shape-corner-full) !important;
|
|
1322
|
+
font: var(--md-sys-typescale-label-large) !important;
|
|
1323
|
+
box-shadow: var(--md-sys-elevation-level1) !important;
|
|
1324
|
+
transition: box-shadow var(--md-motion-short), background-color var(--md-state) !important;
|
|
1325
|
+
}
|
|
1326
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-picker"] button[data-testid="voice-picker-use"]:hover {
|
|
1327
|
+
box-shadow: var(--md-sys-elevation-level2) !important;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
/* Active Voice Docked Panel — M3 Bottom Sheet */
|
|
1331
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] {
|
|
1332
|
+
background: var(--md-sys-color-surface-container-high) !important;
|
|
1333
|
+
background-image: none !important;
|
|
1334
|
+
border: 1px solid var(--md-sys-color-outline-variant) !important;
|
|
1335
|
+
border-bottom: none !important;
|
|
1336
|
+
border-radius: 28px 28px 0 0 !important;
|
|
1337
|
+
box-shadow: var(--md-sys-elevation-level3) !important;
|
|
1338
|
+
backdrop-filter: blur(20px) !important;
|
|
1339
|
+
-webkit-backdrop-filter: blur(20px) !important;
|
|
1340
|
+
}
|
|
1341
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-end-button"],
|
|
1342
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-call-end"] {
|
|
1343
|
+
background: var(--md-sys-color-error) !important;
|
|
1344
|
+
color: var(--md-sys-color-on-error) !important;
|
|
1345
|
+
border-radius: var(--md-sys-shape-corner-full) !important;
|
|
1346
|
+
font: var(--md-sys-typescale-label-medium) !important;
|
|
1347
|
+
}
|
|
1348
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-mute-button"],
|
|
1349
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-call-agent-mute"],
|
|
1350
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-call-speed"],
|
|
1351
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-call-collapse"] {
|
|
1352
|
+
border-radius: var(--md-sys-shape-corner-full) !important;
|
|
1353
|
+
}
|
|
1354
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-mute-button"]:hover,
|
|
1355
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-call-agent-mute"]:hover,
|
|
1356
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-call-speed"]:hover,
|
|
1357
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-call-collapse"]:hover {
|
|
1358
|
+
background: var(--md-hover) !important;
|
|
1359
|
+
}
|
|
1360
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-speed-fill"] {
|
|
1361
|
+
background: var(--md-sys-color-primary) !important;
|
|
1362
|
+
}
|
|
1363
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="voice-speed-track"] {
|
|
1364
|
+
background: var(--md-sys-color-surface-container-highest) !important;
|
|
1365
|
+
}
|
|
1366
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="live-lead"],
|
|
1367
|
+
:root[data-agy-theme="md3e"] [data-testid="live-docked"] [data-testid="live-body"] {
|
|
1368
|
+
color: var(--md-sys-color-on-surface) !important;
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
/* Background Glow Canvas & Ring — M3 Color Tint */
|
|
1372
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-speaking-glow"] canvas {
|
|
1373
|
+
filter: drop-shadow(0 0 24px color-mix(in srgb, var(--md-sys-color-primary) 35%, transparent)) !important;
|
|
1374
|
+
}
|
|
1375
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-speaking-glow"] .voice-glow-ring {
|
|
1376
|
+
box-shadow: 0 0 0 1px var(--md-sys-color-outline-variant) !important;
|
|
1377
|
+
}
|
|
1378
|
+
|
|
1379
|
+
/* In-Chat Separator Marker */
|
|
1380
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-chat-marker"] {
|
|
1381
|
+
color: var(--md-sys-color-on-surface-variant) !important;
|
|
1382
|
+
font: var(--md-sys-typescale-label-medium) !important;
|
|
1383
|
+
}
|
|
1384
|
+
:root[data-agy-theme="md3e"] div:has(> span [data-testid="voice-chat-marker"]) .bg-secondary,
|
|
1385
|
+
:root[data-agy-theme="md3e"] div:has(> [data-testid="voice-chat-marker"]) .bg-secondary,
|
|
1386
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-chat-marker"] ~ div.bg-secondary {
|
|
1387
|
+
background-color: var(--md-sys-color-outline-variant) !important;
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
/* In-Chat Voice Transcript Card */
|
|
1391
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-transcript-card"] {
|
|
1392
|
+
background: var(--md-sys-color-surface-container) !important;
|
|
1393
|
+
border: 1px solid var(--md-sys-color-outline-variant) !important;
|
|
1394
|
+
border-radius: 16px !important;
|
|
1395
|
+
}
|
|
1396
|
+
:root[data-agy-theme="md3e"] [data-testid="voice-transcript-card"]:hover {
|
|
1397
|
+
background: var(--md-sys-color-surface-container-high) !important;
|
|
1398
|
+
box-shadow: var(--md-sys-elevation-level1) !important;
|
|
1399
|
+
}
|
|
1400
|
+
|