@materialwebunofficial/antigravity-themes 1.0.5 → 1.0.13
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 +173 -34
- package/bin/cli.mjs +91 -47
- package/lib/asar.mjs +163 -0
- package/lib/bundle.mjs +70 -17
- package/lib/injector.mjs +39 -6
- package/lib/keeper.mjs +73 -0
- package/lib/native.mjs +165 -0
- package/lib/paths.mjs +3 -2
- package/lib/plugin.mjs +98 -0
- package/package.json +1 -1
- package/src/code-tools.js +1 -1
- package/src/context-card.js +1 -1
- package/src/frame-host.js +282 -0
- package/src/loading-indicator.js +1 -1
- package/src/progress-indicators.js +49 -1
- package/src/theme-host.js +97 -66
- package/src/turn-tokens.js +1 -1
- package/themes/frames/matte.css +211 -0
- package/themes/frames/md3e.css +1410 -0
- package/themes/frames/nordic.css +252 -0
- package/themes/frames/paper.css +298 -0
- package/themes/index.json +18 -12
- package/themes/matte-tokens.css +98 -0
- package/themes/matte.css +465 -135
- package/themes/md3e.css +1124 -164
- package/themes/nordic-tokens.css +60 -0
- package/themes/nordic.css +457 -67
- package/themes/paper-tokens.css +54 -0
- package/themes/paper.css +508 -68
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* AGY "Nordic Frost" — tokens (the Nord palette). Shared by the window
|
|
2
|
+
(nordic.css) and by sidecar frames (frames/nordic.css), which load no
|
|
3
|
+
other part of the theme. */
|
|
4
|
+
|
|
5
|
+
:root[data-agy-theme="nordic"] {
|
|
6
|
+
/* Polar Night (Dark palette) */
|
|
7
|
+
--nord0: #2e3440; /* Base background */
|
|
8
|
+
--nord1: #3b4252; /* Elevated panels */
|
|
9
|
+
--nord2: #434c5e; /* Cards & active rows */
|
|
10
|
+
--nord3: #4c566a; /* Borders & muted lines */
|
|
11
|
+
|
|
12
|
+
/* Snow Storm (Text & highlights) */
|
|
13
|
+
--nord4: #d8dee9; /* Body text */
|
|
14
|
+
--nord5: #e5e9f0; /* Elevated text */
|
|
15
|
+
--nord6: #eceff4; /* High-contrast headings */
|
|
16
|
+
|
|
17
|
+
/* Frost (Calm arctic accents - strictly matte, no neon) */
|
|
18
|
+
--nord7: #8fbcbb; /* Sage frost */
|
|
19
|
+
--nord8: #88c0d0; /* Glacial blue */
|
|
20
|
+
--nord9: #81a1c1; /* Steel blue */
|
|
21
|
+
--nord10: #5e81ac; /* Deep arctic blue */
|
|
22
|
+
|
|
23
|
+
/* Aurora (Subtle indicators) */
|
|
24
|
+
--nord11: #bf616a; /* Muted red */
|
|
25
|
+
--nord12: #d08770; /* Orange */
|
|
26
|
+
--nord13: #ebcb8b; /* Yellow */
|
|
27
|
+
--nord14: #a3be8c; /* Muted green */
|
|
28
|
+
--nord15: #b48ead; /* Purple */
|
|
29
|
+
|
|
30
|
+
/* Text on a Frost fill (pressed segments, primary buttons) */
|
|
31
|
+
--n-on-frost: #2e3440;
|
|
32
|
+
|
|
33
|
+
/* Secondary text. nord3 is the palette's line color: as text on a Polar
|
|
34
|
+
Night panel it is under 1.5:1. Snow Storm toward the panel reads at 4.6:1
|
|
35
|
+
(the light block's mix: 4.9:1). */
|
|
36
|
+
--n-muted: color-mix(in srgb, var(--nord4) 70%, var(--nord1));
|
|
37
|
+
|
|
38
|
+
--n-font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
|
|
39
|
+
--n-mono: "JetBrains Mono", "Cascadia Code", "Consolas", monospace;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
:root[data-agy-theme="nordic"][data-agy-mode="light"] {
|
|
43
|
+
/* Snow Storm (Light palette) */
|
|
44
|
+
--nord0: #eceff4; /* Base background */
|
|
45
|
+
--nord1: #e5e9f0; /* Panels */
|
|
46
|
+
--nord2: #ffffff; /* Cards */
|
|
47
|
+
--nord3: #d8dee9; /* Borders */
|
|
48
|
+
|
|
49
|
+
--nord4: #434c5e; /* Body text */
|
|
50
|
+
--nord5: #3b4252; /* Text */
|
|
51
|
+
--nord6: #2e3440; /* Headings */
|
|
52
|
+
|
|
53
|
+
--nord7: #5e81ac;
|
|
54
|
+
--nord8: #5e81ac;
|
|
55
|
+
--nord9: #4c566a;
|
|
56
|
+
--nord10: #434c5e;
|
|
57
|
+
|
|
58
|
+
--n-muted: color-mix(in srgb, var(--nord4) 85%, var(--nord1));
|
|
59
|
+
--n-on-frost: #ffffff;
|
|
60
|
+
}
|
package/themes/nordic.css
CHANGED
|
@@ -5,48 +5,8 @@
|
|
|
5
5
|
Pure Arctic Ice Studio design language: Polar Night, Snow Storm, and Frost.
|
|
6
6
|
========================================================================== */
|
|
7
7
|
|
|
8
|
-
:
|
|
9
|
-
/* Polar Night (Dark palette) */
|
|
10
|
-
--nord0: #2e3440; /* Base background */
|
|
11
|
-
--nord1: #3b4252; /* Elevated panels */
|
|
12
|
-
--nord2: #434c5e; /* Cards & active rows */
|
|
13
|
-
--nord3: #4c566a; /* Borders & muted lines */
|
|
14
|
-
|
|
15
|
-
/* Snow Storm (Text & highlights) */
|
|
16
|
-
--nord4: #d8dee9; /* Body text */
|
|
17
|
-
--nord5: #e5e9f0; /* Elevated text */
|
|
18
|
-
--nord6: #eceff4; /* High-contrast headings */
|
|
19
|
-
|
|
20
|
-
/* Frost (Calm arctic accents - strictly matte, no neon) */
|
|
21
|
-
--nord7: #8fbcbb; /* Sage frost */
|
|
22
|
-
--nord8: #88c0d0; /* Glacial blue */
|
|
23
|
-
--nord9: #81a1c1; /* Steel blue */
|
|
24
|
-
--nord10: #5e81ac; /* Deep arctic blue */
|
|
25
|
-
|
|
26
|
-
/* Aurora (Subtle indicators) */
|
|
27
|
-
--nord11: #bf616a; /* Muted red */
|
|
28
|
-
--nord14: #a3be8c; /* Muted green */
|
|
29
|
-
|
|
30
|
-
--n-font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
|
|
31
|
-
--n-mono: "JetBrains Mono", "Cascadia Code", "Consolas", monospace;
|
|
32
|
-
}
|
|
8
|
+
/* 00 — Tokens: nordic-tokens.css (loaded before this file) */
|
|
33
9
|
|
|
34
|
-
:root[data-agy-theme="nordic"][data-agy-mode="light"] {
|
|
35
|
-
/* Snow Storm (Light palette) */
|
|
36
|
-
--nord0: #eceff4; /* Base background */
|
|
37
|
-
--nord1: #e5e9f0; /* Panels */
|
|
38
|
-
--nord2: #ffffff; /* Cards */
|
|
39
|
-
--nord3: #d8dee9; /* Borders */
|
|
40
|
-
|
|
41
|
-
--nord4: #434c5e; /* Body text */
|
|
42
|
-
--nord5: #3b4252; /* Text */
|
|
43
|
-
--nord6: #2e3440; /* Headings */
|
|
44
|
-
|
|
45
|
-
--nord7: #5e81ac;
|
|
46
|
-
--nord8: #5e81ac;
|
|
47
|
-
--nord9: #4c566a;
|
|
48
|
-
--nord10: #434c5e;
|
|
49
|
-
}
|
|
50
10
|
|
|
51
11
|
/* 01 — App token bridge */
|
|
52
12
|
:root[data-agy-theme="nordic"] {
|
|
@@ -58,13 +18,15 @@
|
|
|
58
18
|
--secondary: var(--nord2) !important;
|
|
59
19
|
--secondary-foreground: var(--nord5) !important;
|
|
60
20
|
--muted: var(--nord2) !important;
|
|
61
|
-
--muted-foreground: var(--
|
|
21
|
+
--muted-foreground: var(--n-muted) !important;
|
|
22
|
+
--placeholder: var(--n-muted) !important;
|
|
62
23
|
--border: var(--nord3) !important;
|
|
63
24
|
--card: var(--nord2) !important;
|
|
64
25
|
--card-border: var(--nord3) !important;
|
|
65
26
|
--sidebar: var(--nord0) !important;
|
|
66
27
|
--sidebar-secondary: var(--nord2) !important;
|
|
67
28
|
--sidebar-muted: var(--nord2) !important;
|
|
29
|
+
--link: var(--nord8) !important;
|
|
68
30
|
}
|
|
69
31
|
|
|
70
32
|
/* 05 — Onyx layer override */
|
|
@@ -84,27 +46,34 @@
|
|
|
84
46
|
}
|
|
85
47
|
|
|
86
48
|
/* 10 — Main Inset Panel */
|
|
87
|
-
|
|
88
|
-
|
|
49
|
+
/* The app lays the panel out itself (.agy-sheet, with --card-gap,
|
|
50
|
+
--card-radius, --card-edge and --shell-canvas); the theme sets those
|
|
51
|
+
variables. A nord1 panel on the nord0 window, 10px corners, and the edge in
|
|
52
|
+
nord3: a border is part of Nord's language, so the app's hairline stays, at
|
|
53
|
+
a full pixel. A docked side panel shares that edge with the panel. */
|
|
54
|
+
:root[data-agy-theme="nordic"] .agy-inset-shell {
|
|
55
|
+
--shell-canvas: var(--nord0);
|
|
56
|
+
--card-gap: 10px;
|
|
57
|
+
--card-radius: 10px;
|
|
58
|
+
--card-edge: var(--nord3);
|
|
59
|
+
--sash-line: var(--nord8);
|
|
60
|
+
--sash-glow: transparent;
|
|
61
|
+
}
|
|
62
|
+
:root[data-agy-theme="nordic"] .agy-sheet [data-main-content-body],
|
|
63
|
+
:root[data-agy-theme="nordic"] .agy-inset-shell [data-side-panel-body],
|
|
64
|
+
:root[data-agy-theme="nordic"] [data-testid="sidecar-iframe-slot"] { /* a sidecar's frame is mounted over its pane, not in it */
|
|
89
65
|
--background: var(--nord1);
|
|
90
66
|
--color-background: var(--nord1);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
border: 1px solid var(--nord3);
|
|
96
|
-
background: var(--nord1);
|
|
97
|
-
box-shadow: 0 4px 16px -4px rgb(0 0 0 / 0.3);
|
|
98
|
-
overflow: hidden;
|
|
67
|
+
}
|
|
68
|
+
:root[data-agy-theme="nordic"] .agy-sheet[data-sheet-inset] [data-main-content-body]::after,
|
|
69
|
+
:root[data-agy-theme="nordic"] .agy-inset-shell [data-side-panel-body]::after {
|
|
70
|
+
box-shadow: inset 0 0 0 1px var(--card-edge);
|
|
99
71
|
}
|
|
100
72
|
:root[data-agy-theme="nordic"] .agy-sheet {
|
|
101
73
|
background-image: none !important;
|
|
102
74
|
}
|
|
103
|
-
:root[data-agy-theme="nordic"] .bg-border.flex-shrink-0.z-30.h-full {
|
|
104
|
-
background: var(--nord0);
|
|
105
|
-
}
|
|
106
75
|
|
|
107
|
-
/* Inactive webview occlusion guard */
|
|
76
|
+
/* Inactive webview occlusion guard: prevent GPU compositor bleeding */
|
|
108
77
|
div[style*="opacity: 0.005"] webview,
|
|
109
78
|
div[style*="display: none"] webview,
|
|
110
79
|
webview[style*="opacity: 0.005"] {
|
|
@@ -112,6 +81,7 @@ webview[style*="opacity: 0.005"] {
|
|
|
112
81
|
pointer-events: none !important;
|
|
113
82
|
}
|
|
114
83
|
|
|
84
|
+
|
|
115
85
|
/* 20 — Typography: Calm, Balanced Scandinavian Grotesque */
|
|
116
86
|
:root[data-agy-theme="nordic"] {
|
|
117
87
|
font-family: var(--n-font);
|
|
@@ -125,17 +95,16 @@ webview[style*="opacity: 0.005"] {
|
|
|
125
95
|
color: var(--nord4);
|
|
126
96
|
}
|
|
127
97
|
|
|
128
|
-
:
|
|
129
|
-
|
|
130
|
-
:root[data-agy-theme="nordic"] h3,
|
|
131
|
-
:root[data-agy-theme="nordic"] h4 {
|
|
98
|
+
/* chat prose only: the app's own headings (Settings, panels) keep their
|
|
99
|
+
sizes and take the dialog rules (60) */
|
|
100
|
+
:root[data-agy-theme="nordic"] :is(.prose, [role="article"]) :is(h1, h2, h3, h4) {
|
|
132
101
|
font-family: var(--n-font);
|
|
133
102
|
font-weight: 600;
|
|
134
103
|
color: var(--nord6);
|
|
135
104
|
letter-spacing: -0.01em;
|
|
136
105
|
}
|
|
137
106
|
|
|
138
|
-
:root[data-agy-theme="nordic"] h1 {
|
|
107
|
+
:root[data-agy-theme="nordic"] :is(.prose, [role="article"]) h1 {
|
|
139
108
|
font-size: 1.35rem;
|
|
140
109
|
border-bottom: 1px solid var(--nord3);
|
|
141
110
|
padding-bottom: 6px;
|
|
@@ -191,7 +160,9 @@ webview[style*="opacity: 0.005"] {
|
|
|
191
160
|
font-family: var(--n-mono) !important;
|
|
192
161
|
font-size: 13px !important;
|
|
193
162
|
}
|
|
194
|
-
|
|
163
|
+
/* Fenced code in the chat is the app's own bordered block (.agy-code): a
|
|
164
|
+
second box around a pre inside it would draw two edges */
|
|
165
|
+
:root[data-agy-theme="nordic"] pre:not(.agy-code pre) {
|
|
195
166
|
background: var(--nord0) !important;
|
|
196
167
|
border: 1px solid var(--nord3) !important;
|
|
197
168
|
border-radius: 6px !important;
|
|
@@ -222,8 +193,9 @@ webview[style*="opacity: 0.005"] {
|
|
|
222
193
|
font-size: 13px;
|
|
223
194
|
color: var(--nord4);
|
|
224
195
|
}
|
|
225
|
-
:
|
|
226
|
-
:root[data-agy-theme="nordic"] [role="
|
|
196
|
+
/* disabled items (an unavailable model) take no hover fill: it only dims them */
|
|
197
|
+
:root[data-agy-theme="nordic"] [role="menuitem"]:not([data-disabled], [aria-disabled="true"]):hover,
|
|
198
|
+
:root[data-agy-theme="nordic"] [role="menuitemradio"]:not([data-disabled], [aria-disabled="true"]):hover {
|
|
227
199
|
background: var(--nord2);
|
|
228
200
|
color: var(--nord6);
|
|
229
201
|
}
|
|
@@ -241,6 +213,422 @@ webview[style*="opacity: 0.005"] {
|
|
|
241
213
|
background: var(--nord8);
|
|
242
214
|
}
|
|
243
215
|
|
|
216
|
+
/* 60 — Dialogs & Settings: frost tiles ------------------------------------- */
|
|
217
|
+
/* Settings as Nord lays out a preferences window: a raised Polar Night
|
|
218
|
+
column for the index (Frost headings, a frost-tinted current page), then
|
|
219
|
+
each group as a solid tile on the base, its rows parted by grooves of the
|
|
220
|
+
base color. Controls are flat fills with no strokes; Frost marks what is
|
|
221
|
+
on or chosen. Selectors go through .agy-dialog to outrank the app's glass
|
|
222
|
+
rules (body[data-newux-theme]). */
|
|
223
|
+
:root[data-agy-theme="nordic"] .agy-dialog {
|
|
224
|
+
border: 1px solid var(--nord1) !important;
|
|
225
|
+
border-radius: 12px !important;
|
|
226
|
+
background: var(--nord0);
|
|
227
|
+
box-shadow: 0 20px 50px -12px rgb(0 0 0 / 0.5) !important;
|
|
228
|
+
color: var(--nord4);
|
|
229
|
+
font-family: var(--n-font);
|
|
230
|
+
}
|
|
231
|
+
:root[data-agy-theme="nordic"] .settings-modal-backdrop {
|
|
232
|
+
background: color-mix(in srgb, #2e3440 55%, transparent);
|
|
233
|
+
}
|
|
234
|
+
:root[data-agy-theme="nordic"] .agy-dialog > button[aria-label="Close"] {
|
|
235
|
+
border-radius: 6px !important;
|
|
236
|
+
color: var(--n-muted);
|
|
237
|
+
}
|
|
238
|
+
:root[data-agy-theme="nordic"] .agy-dialog > button[aria-label="Close"]:hover {
|
|
239
|
+
background: var(--nord2);
|
|
240
|
+
color: var(--nord6);
|
|
241
|
+
}
|
|
242
|
+
:root[data-agy-theme="nordic"] .settings-modal-container .bg-background {
|
|
243
|
+
background: transparent;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/* index column: raised, Frost group headings */
|
|
247
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] {
|
|
248
|
+
background: var(--nord1);
|
|
249
|
+
}
|
|
250
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] > div:first-child {
|
|
251
|
+
gap: 2px;
|
|
252
|
+
padding: 18px 0 12px;
|
|
253
|
+
}
|
|
254
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] .px-4 {
|
|
255
|
+
padding: 0 20px;
|
|
256
|
+
}
|
|
257
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] h1 {
|
|
258
|
+
margin-bottom: 8px;
|
|
259
|
+
font-size: 15px;
|
|
260
|
+
font-weight: 600;
|
|
261
|
+
color: var(--nord6);
|
|
262
|
+
}
|
|
263
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] .px-4.mt-2 {
|
|
264
|
+
margin-top: 14px;
|
|
265
|
+
}
|
|
266
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] h2 {
|
|
267
|
+
margin-bottom: 4px;
|
|
268
|
+
font-size: 11px;
|
|
269
|
+
font-weight: 700;
|
|
270
|
+
letter-spacing: 0.1em;
|
|
271
|
+
text-transform: uppercase;
|
|
272
|
+
color: var(--nord8);
|
|
273
|
+
}
|
|
274
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] .mx-2 {
|
|
275
|
+
margin: 0 10px;
|
|
276
|
+
}
|
|
277
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] button[data-testid^="settings-nav-item-"] {
|
|
278
|
+
min-height: 32px;
|
|
279
|
+
padding: 0 10px;
|
|
280
|
+
border-radius: 6px;
|
|
281
|
+
color: var(--nord4);
|
|
282
|
+
font-size: 13.5px;
|
|
283
|
+
}
|
|
284
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] button[data-testid^="settings-nav-item-"] span {
|
|
285
|
+
color: inherit;
|
|
286
|
+
}
|
|
287
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] button[data-testid^="settings-nav-item-"]:hover {
|
|
288
|
+
background: var(--nord2);
|
|
289
|
+
color: var(--nord6);
|
|
290
|
+
}
|
|
291
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] button[data-testid^="settings-nav-item-"].bg-sidebar-secondary {
|
|
292
|
+
background: color-mix(in srgb, var(--nord8) 18%, var(--nord1));
|
|
293
|
+
color: var(--nord8);
|
|
294
|
+
font-weight: 600;
|
|
295
|
+
}
|
|
296
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] button.mx-4 {
|
|
297
|
+
margin: 2px 20px 0;
|
|
298
|
+
color: var(--nord9);
|
|
299
|
+
text-decoration: none;
|
|
300
|
+
}
|
|
301
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] button.mx-4:hover {
|
|
302
|
+
color: var(--nord8);
|
|
303
|
+
}
|
|
304
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] > .border-t {
|
|
305
|
+
border-color: var(--nord2);
|
|
306
|
+
}
|
|
307
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] > .border-t > button:hover {
|
|
308
|
+
background: var(--nord2);
|
|
309
|
+
}
|
|
310
|
+
:root[data-agy-theme="nordic"] [data-testid="settings-sidebar"] > .border-t > button > div:first-child {
|
|
311
|
+
background: var(--nord10);
|
|
312
|
+
color: var(--nord6);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/* page */
|
|
316
|
+
:root[data-agy-theme="nordic"] .settings-modal-container .p-6.max-w-2xl {
|
|
317
|
+
gap: 22px;
|
|
318
|
+
padding: 32px 32px 40px;
|
|
319
|
+
}
|
|
320
|
+
:root[data-agy-theme="nordic"] .settings-modal-container h2.text-2xl {
|
|
321
|
+
font-size: 24px;
|
|
322
|
+
font-weight: 600;
|
|
323
|
+
letter-spacing: -0.01em;
|
|
324
|
+
color: var(--nord6);
|
|
325
|
+
}
|
|
326
|
+
:root[data-agy-theme="nordic"] .settings-modal-container h2.text-2xl + div {
|
|
327
|
+
color: var(--n-muted);
|
|
328
|
+
}
|
|
329
|
+
:root[data-agy-theme="nordic"] .settings-modal-container h3 {
|
|
330
|
+
font-size: 13px;
|
|
331
|
+
font-weight: 600;
|
|
332
|
+
color: var(--nord8);
|
|
333
|
+
}
|
|
334
|
+
:root[data-agy-theme="nordic"] .settings-modal-container .leading-relaxed {
|
|
335
|
+
color: var(--n-muted);
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/* tiles: a solid Polar Night block, rows parted by grooves of the base */
|
|
339
|
+
:root[data-agy-theme="nordic"] .agy-dialog .agy-card {
|
|
340
|
+
--color-border: var(--nord0);
|
|
341
|
+
border: 0;
|
|
342
|
+
border-radius: 10px;
|
|
343
|
+
background: var(--nord1);
|
|
344
|
+
}
|
|
345
|
+
:root[data-agy-theme="nordic"] .agy-dialog .agy-card > :not(:last-child) {
|
|
346
|
+
border-color: var(--nord0) !important;
|
|
347
|
+
border-bottom-width: 2px;
|
|
348
|
+
}
|
|
349
|
+
:root[data-agy-theme="nordic"] .agy-dialog .agy-card .py-2.px-3 {
|
|
350
|
+
min-height: 56px;
|
|
351
|
+
padding: 12px 18px;
|
|
352
|
+
font-size: 14px;
|
|
353
|
+
font-weight: 500;
|
|
354
|
+
color: var(--nord5);
|
|
355
|
+
}
|
|
356
|
+
:root[data-agy-theme="nordic"] .agy-dialog .agy-card .text-sm {
|
|
357
|
+
font-size: 12.5px;
|
|
358
|
+
font-weight: 400;
|
|
359
|
+
color: var(--n-muted);
|
|
360
|
+
}
|
|
361
|
+
:root[data-agy-theme="nordic"] .agy-dialog .agy-card > button:hover {
|
|
362
|
+
background: var(--nord2);
|
|
363
|
+
color: var(--nord6);
|
|
364
|
+
}
|
|
365
|
+
:root[data-agy-theme="nordic"] .agy-dialog [data-testid="settings-row-badge"] {
|
|
366
|
+
padding: 2px 7px;
|
|
367
|
+
border: 0;
|
|
368
|
+
background: var(--nord3);
|
|
369
|
+
color: var(--nord6);
|
|
370
|
+
font-size: 10.5px;
|
|
371
|
+
}
|
|
372
|
+
:root[data-agy-theme="nordic"] .agy-dialog code {
|
|
373
|
+
border: 0;
|
|
374
|
+
border-radius: 4px;
|
|
375
|
+
background: var(--nord2);
|
|
376
|
+
color: var(--nord7);
|
|
377
|
+
font-family: var(--n-mono);
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
/* controls: flat Polar Night fills, no strokes, 6px corners */
|
|
381
|
+
:root[data-agy-theme="nordic"] .agy-dialog :is(.agy-button-sm, .agy-button-md).bg-secondary,
|
|
382
|
+
:root[data-agy-theme="nordic"] .agy-dialog .agy-select-trigger {
|
|
383
|
+
height: 32px;
|
|
384
|
+
padding: 0 12px;
|
|
385
|
+
border: 0 !important;
|
|
386
|
+
border-radius: 6px !important;
|
|
387
|
+
background: var(--nord2);
|
|
388
|
+
color: var(--nord6);
|
|
389
|
+
font-size: 13px;
|
|
390
|
+
font-weight: 500;
|
|
391
|
+
transition: background-color 100ms linear, box-shadow 100ms linear;
|
|
392
|
+
}
|
|
393
|
+
:root[data-agy-theme="nordic"] .agy-dialog :is(.agy-button-sm, .agy-button-md).bg-secondary:hover,
|
|
394
|
+
:root[data-agy-theme="nordic"] .agy-dialog .agy-select-trigger:hover {
|
|
395
|
+
background: var(--nord3);
|
|
396
|
+
color: var(--nord6);
|
|
397
|
+
}
|
|
398
|
+
:root[data-agy-theme="nordic"] .agy-dialog .agy-select-trigger[aria-expanded="true"] {
|
|
399
|
+
box-shadow: inset 0 0 0 1px var(--nord8);
|
|
400
|
+
}
|
|
401
|
+
:root[data-agy-theme="nordic"] .agy-dialog .agy-select-trigger svg {
|
|
402
|
+
color: var(--nord8);
|
|
403
|
+
opacity: 1;
|
|
404
|
+
}
|
|
405
|
+
:root[data-agy-theme="nordic"] .agy-dialog :is(a, button:not([role])).bg-primary {
|
|
406
|
+
padding: 6px 14px;
|
|
407
|
+
border-radius: 6px !important;
|
|
408
|
+
background: var(--nord8);
|
|
409
|
+
color: var(--n-on-frost);
|
|
410
|
+
font-weight: 600;
|
|
411
|
+
}
|
|
412
|
+
:root[data-agy-theme="nordic"] .agy-dialog :is(a, button:not([role])).bg-primary:hover {
|
|
413
|
+
background: var(--nord7);
|
|
414
|
+
}
|
|
415
|
+
:root[data-agy-theme="nordic"] .agy-dialog [data-testid="delete-project-button"] {
|
|
416
|
+
border-radius: 6px !important;
|
|
417
|
+
background: var(--nord11);
|
|
418
|
+
color: #eceff4;
|
|
419
|
+
}
|
|
420
|
+
:root[data-agy-theme="nordic"] .agy-dialog :is(.agy-button-sm.text-link, button.self-start.rounded-md) {
|
|
421
|
+
color: var(--nord8);
|
|
422
|
+
}
|
|
423
|
+
:root[data-agy-theme="nordic"] .agy-dialog :is(.agy-button-sm.text-link, button.self-start.rounded-md):hover {
|
|
424
|
+
background: color-mix(in srgb, var(--nord8) 12%, transparent);
|
|
425
|
+
color: var(--nord8);
|
|
426
|
+
text-decoration: none;
|
|
427
|
+
}
|
|
428
|
+
:root[data-agy-theme="nordic"] .agy-dialog :is(.agy-button-icon-sm, .agy-button-icon):not(.bg-secondary) {
|
|
429
|
+
border-radius: 6px !important;
|
|
430
|
+
color: var(--n-muted);
|
|
431
|
+
}
|
|
432
|
+
:root[data-agy-theme="nordic"] .agy-dialog :is(.agy-button-icon-sm, .agy-button-icon):not(.bg-secondary):hover {
|
|
433
|
+
background: var(--nord2);
|
|
434
|
+
color: var(--nord6);
|
|
435
|
+
}
|
|
436
|
+
/* keys: a filled cap with a groove at the bottom */
|
|
437
|
+
:root[data-agy-theme="nordic"] .agy-dialog .agy-button-xs.border {
|
|
438
|
+
height: 26px;
|
|
439
|
+
padding: 0 8px;
|
|
440
|
+
border: 0;
|
|
441
|
+
border-radius: 5px !important;
|
|
442
|
+
background: var(--nord2);
|
|
443
|
+
box-shadow: inset 0 -2px 0 var(--nord3);
|
|
444
|
+
color: var(--nord6);
|
|
445
|
+
font-family: var(--n-mono);
|
|
446
|
+
font-size: 12px;
|
|
447
|
+
}
|
|
448
|
+
:root[data-agy-theme="nordic"] .agy-dialog .agy-button-xs.border:hover {
|
|
449
|
+
box-shadow: inset 0 -2px 0 var(--nord8);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
/* segmented control: a Polar Night track, the chosen segment in Frost */
|
|
453
|
+
:root[data-agy-theme="nordic"] .agy-dialog [data-slot="toggle-group"] {
|
|
454
|
+
height: 32px;
|
|
455
|
+
padding: 3px;
|
|
456
|
+
gap: 2px;
|
|
457
|
+
border: 0 !important;
|
|
458
|
+
border-radius: 8px;
|
|
459
|
+
background: var(--nord2) !important;
|
|
460
|
+
box-shadow: none !important;
|
|
461
|
+
}
|
|
462
|
+
:root[data-agy-theme="nordic"] .agy-dialog [data-slot="toggle-group"] > button {
|
|
463
|
+
padding: 0 12px;
|
|
464
|
+
border-radius: 6px;
|
|
465
|
+
color: var(--nord4) !important;
|
|
466
|
+
font-size: 13px;
|
|
467
|
+
box-shadow: none !important;
|
|
468
|
+
}
|
|
469
|
+
:root[data-agy-theme="nordic"] .agy-dialog [data-slot="toggle-group"] > button:hover {
|
|
470
|
+
background: var(--nord3) !important;
|
|
471
|
+
}
|
|
472
|
+
:root[data-agy-theme="nordic"] .agy-dialog [data-slot="toggle-group"] > button[data-pressed] {
|
|
473
|
+
background: var(--nord8) !important;
|
|
474
|
+
color: var(--n-on-frost) !important;
|
|
475
|
+
font-weight: 600;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/* switch: 40 x 22, Polar Night off, Frost on, a Snow Storm knob */
|
|
479
|
+
:root[data-agy-theme="nordic"] [role="switch"].rounded-full {
|
|
480
|
+
width: 40px;
|
|
481
|
+
height: 22px;
|
|
482
|
+
padding: 0;
|
|
483
|
+
border: 0;
|
|
484
|
+
background: var(--nord3) !important;
|
|
485
|
+
}
|
|
486
|
+
:root[data-agy-theme="nordic"] [role="switch"].rounded-full:is([aria-checked="true"], [data-checked]) {
|
|
487
|
+
background: var(--nord8) !important;
|
|
488
|
+
}
|
|
489
|
+
:root[data-agy-theme="nordic"] [role="switch"].rounded-full > span {
|
|
490
|
+
width: 16px;
|
|
491
|
+
height: 16px;
|
|
492
|
+
background: #eceff4;
|
|
493
|
+
box-shadow: 0 1px 2px rgb(46 52 64 / 0.4) !important;
|
|
494
|
+
transform: translateX(3px) !important;
|
|
495
|
+
transition: transform 150ms ease-out;
|
|
496
|
+
}
|
|
497
|
+
:root[data-agy-theme="nordic"] [role="switch"].rounded-full:is([aria-checked="true"], [data-checked]) > span {
|
|
498
|
+
transform: translateX(21px) !important;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
/* slider */
|
|
502
|
+
:root[data-agy-theme="nordic"] .agy-dialog input[type="range"] {
|
|
503
|
+
--primary: var(--nord8);
|
|
504
|
+
--secondary: var(--nord3);
|
|
505
|
+
height: 4px;
|
|
506
|
+
}
|
|
507
|
+
:root[data-agy-theme="nordic"] .agy-dialog input[type="range"]::-webkit-slider-thumb {
|
|
508
|
+
width: 14px;
|
|
509
|
+
height: 14px;
|
|
510
|
+
border: 2px solid var(--nord8);
|
|
511
|
+
background: #eceff4;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
/* option cards: tiles; the chosen one Frost-edged and tinted */
|
|
515
|
+
:root[data-agy-theme="nordic"] .agy-dialog [role="radio"].rounded-xl {
|
|
516
|
+
border: 1px solid transparent;
|
|
517
|
+
border-radius: 10px;
|
|
518
|
+
background: var(--nord1);
|
|
519
|
+
box-shadow: none;
|
|
520
|
+
color: var(--nord5);
|
|
521
|
+
}
|
|
522
|
+
:root[data-agy-theme="nordic"] .agy-dialog [role="radio"].rounded-xl:hover {
|
|
523
|
+
background: var(--nord2);
|
|
524
|
+
}
|
|
525
|
+
:root[data-agy-theme="nordic"] .agy-dialog [role="radio"].rounded-xl:is([data-checked], [aria-checked="true"]) {
|
|
526
|
+
border-color: var(--nord8);
|
|
527
|
+
background: color-mix(in srgb, var(--nord8) 10%, var(--nord1));
|
|
528
|
+
color: var(--nord6);
|
|
529
|
+
}
|
|
530
|
+
:root[data-agy-theme="nordic"] .agy-dialog [role="radio"].rounded-xl:is([data-checked], [aria-checked="true"]) svg {
|
|
531
|
+
color: var(--nord8);
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
/* text fields: filled, a Frost edge on focus (through the variables the
|
|
535
|
+
app's layered !important utilities read) */
|
|
536
|
+
:root[data-agy-theme="nordic"] .agy-dialog :is(input.agy-field, input.bg-muted, .h-8.rounded-lg.bg-muted.border) {
|
|
537
|
+
--color-muted: var(--nord2);
|
|
538
|
+
--color-border: var(--nord2);
|
|
539
|
+
border-color: var(--color-border);
|
|
540
|
+
border-radius: 6px !important;
|
|
541
|
+
background: var(--nord2);
|
|
542
|
+
color: var(--nord6);
|
|
543
|
+
font-size: 13px !important;
|
|
544
|
+
}
|
|
545
|
+
:root[data-agy-theme="nordic"] .agy-dialog :is(input.agy-field:focus, input.bg-muted:focus, .h-8.rounded-lg.bg-muted.border:focus-within) {
|
|
546
|
+
--color-border: var(--nord8);
|
|
547
|
+
outline: none;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
/* usage rings and token bars: Frost on Polar Night; Aurora when low */
|
|
551
|
+
:root[data-agy-theme="nordic"] circle:has(+ [data-testid="quota-progress-circle"]) {
|
|
552
|
+
stroke: var(--nord3);
|
|
553
|
+
stroke-opacity: 1;
|
|
554
|
+
}
|
|
555
|
+
:root[data-agy-theme="nordic"] .rounded-full:has(> svg [data-testid="quota-progress-circle"]) {
|
|
556
|
+
background: transparent;
|
|
557
|
+
}
|
|
558
|
+
:root[data-agy-theme="nordic"] [data-testid="quota-progress-circle"] {
|
|
559
|
+
stroke: var(--nord8);
|
|
560
|
+
}
|
|
561
|
+
:root[data-agy-theme="nordic"] [data-testid="quota-progress-circle"]:is(.stroke-yellow-500, .stroke-amber-500, .stroke-orange-500) {
|
|
562
|
+
stroke: var(--nord13);
|
|
563
|
+
}
|
|
564
|
+
:root[data-agy-theme="nordic"] [data-testid="quota-progress-circle"]:is(.stroke-red-500, .stroke-destructive) {
|
|
565
|
+
stroke: var(--nord11);
|
|
566
|
+
}
|
|
567
|
+
:root[data-agy-theme="nordic"] .agy-dialog {
|
|
568
|
+
--chart-blue: var(--nord8);
|
|
569
|
+
--chart-green: var(--nord14);
|
|
570
|
+
--chart-purple: var(--nord15);
|
|
571
|
+
--chart-yellow: var(--nord13);
|
|
572
|
+
--chart-orange: var(--nord12);
|
|
573
|
+
--chart-red: var(--nord11);
|
|
574
|
+
}
|
|
575
|
+
:root[data-agy-theme="nordic"] .agy-dialog .h-2.rounded-full.bg-muted {
|
|
576
|
+
height: 6px;
|
|
577
|
+
background: var(--nord2);
|
|
578
|
+
}
|
|
579
|
+
:root[data-agy-theme="nordic"] [data-testid="workspace-customizations-view"] .border.border-border.rounded-xl {
|
|
580
|
+
--color-border: var(--nord0);
|
|
581
|
+
border: 0;
|
|
582
|
+
border-radius: 10px;
|
|
583
|
+
background: var(--nord1);
|
|
584
|
+
}
|
|
585
|
+
:root[data-agy-theme="nordic"] .agy-dialog span.rounded:is(.bg-blue-500\/10, .bg-purple-500\/10, .bg-green-500\/10, .bg-orange-500\/10) {
|
|
586
|
+
border-radius: 4px;
|
|
587
|
+
background: var(--nord2);
|
|
588
|
+
color: var(--nord8);
|
|
589
|
+
}
|
|
590
|
+
:root[data-agy-theme="nordic"] .agy-dialog span.rounded:is(.bg-purple-500\/10, .bg-green-500\/10, .bg-orange-500\/10) {
|
|
591
|
+
color: var(--nord15);
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
/* "Restart to Update": a Frost-tinted tag that fills with Frost on hover;
|
|
595
|
+
the app's pulses are stilled */
|
|
596
|
+
:root[data-agy-theme="nordic"] [data-testid="app-update-button"] {
|
|
597
|
+
animation: none !important;
|
|
598
|
+
}
|
|
599
|
+
:root[data-agy-theme="nordic"] [data-testid="app-update-button"]:not(.w-6) {
|
|
600
|
+
width: auto;
|
|
601
|
+
height: 26px;
|
|
602
|
+
padding: 0 12px;
|
|
603
|
+
border-radius: 6px;
|
|
604
|
+
background: color-mix(in srgb, var(--nord8) 18%, var(--nord0));
|
|
605
|
+
color: var(--nord8);
|
|
606
|
+
font-size: 12px;
|
|
607
|
+
font-weight: 600;
|
|
608
|
+
}
|
|
609
|
+
:root[data-agy-theme="nordic"] [data-testid="app-update-button"]:not(.w-6):hover {
|
|
610
|
+
background: var(--nord8);
|
|
611
|
+
color: var(--n-on-frost);
|
|
612
|
+
}
|
|
613
|
+
:root[data-agy-theme="nordic"] [data-testid="app-update-button"].w-6 {
|
|
614
|
+
color: var(--nord8);
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
/* Chips in a sent message (quotes, files, terminals): they take the bubble's
|
|
618
|
+
own ink, not the app's text colors, which are meant for the panel; a 12%
|
|
619
|
+
tint of that ink marks them, the icon and supporting parts at 80% */
|
|
620
|
+
:root[data-agy-theme="nordic"] .agy-user-bubble .inline-pill {
|
|
621
|
+
color: inherit;
|
|
622
|
+
background: color-mix(in srgb, currentColor 12%, transparent);
|
|
623
|
+
border-radius: 5px;
|
|
624
|
+
}
|
|
625
|
+
:root[data-agy-theme="nordic"] .agy-user-bubble .inline-pill :is(.text-foreground, .text-secondary-foreground) {
|
|
626
|
+
color: inherit;
|
|
627
|
+
}
|
|
628
|
+
:root[data-agy-theme="nordic"] .agy-user-bubble .inline-pill .text-muted-foreground {
|
|
629
|
+
color: color-mix(in srgb, currentColor 80%, transparent);
|
|
630
|
+
}
|
|
631
|
+
|
|
244
632
|
/* 80 — Voice Mode & Gemini Live Harmonization */
|
|
245
633
|
:root[data-agy-theme="nordic"] [data-testid="voice-live-pill"] {
|
|
246
634
|
background: var(--nord2) !important;
|
|
@@ -281,7 +669,7 @@ webview[style*="opacity: 0.005"] {
|
|
|
281
669
|
}
|
|
282
670
|
:root[data-agy-theme="nordic"] [data-testid="voice-picker"] .voice-picker-dot[aria-current="true"] > span {
|
|
283
671
|
background: var(--nord8) !important;
|
|
284
|
-
box-shadow:
|
|
672
|
+
box-shadow: none !important;
|
|
285
673
|
}
|
|
286
674
|
:root[data-agy-theme="nordic"] [data-testid="voice-picker"] button[data-testid="voice-picker-use"] {
|
|
287
675
|
background: var(--nord8) !important;
|
|
@@ -304,8 +692,7 @@ webview[style*="opacity: 0.005"] {
|
|
|
304
692
|
border-bottom: none !important;
|
|
305
693
|
border-radius: 12px 12px 0 0 !important;
|
|
306
694
|
box-shadow: 0 -8px 24px -8px rgb(0 0 0 / 0.4) !important;
|
|
307
|
-
backdrop-filter:
|
|
308
|
-
-webkit-backdrop-filter: blur(16px) !important;
|
|
695
|
+
backdrop-filter: none !important; /* opaque: a blur behind it was pure cost */
|
|
309
696
|
}
|
|
310
697
|
:root[data-agy-theme="nordic"] [data-testid="live-docked"] [data-testid="voice-end-button"],
|
|
311
698
|
:root[data-agy-theme="nordic"] [data-testid="live-docked"] [data-testid="voice-call-end"] {
|
|
@@ -368,3 +755,6 @@ webview[style*="opacity: 0.005"] {
|
|
|
368
755
|
border-color: var(--nord8) !important;
|
|
369
756
|
}
|
|
370
757
|
|
|
758
|
+
|
|
759
|
+
/* 90 — Swarm and other sidecar panes: themes/frames/nordic.css. They are
|
|
760
|
+
cross-origin frames; frame-host.js loads that stylesheet inside them. */
|