@materialwebunofficial/antigravity-themes 1.0.4 → 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,54 @@
|
|
|
1
|
+
/* AGY "E-Ink / Paper" — tokens. Shared by the window (paper.css) and by
|
|
2
|
+
sidecar frames (frames/paper.css), which load no other part of the theme. */
|
|
3
|
+
|
|
4
|
+
:root[data-agy-theme="paper"] {
|
|
5
|
+
/* Inverted E-Ink Dark Mode (Kindle Dark / Night Reading) */
|
|
6
|
+
--p-window: #111111;
|
|
7
|
+
--p-panel: #181818;
|
|
8
|
+
--p-raised: #222222;
|
|
9
|
+
--p-high: #2c2c2c;
|
|
10
|
+
--p-inset: #0d0d0d;
|
|
11
|
+
|
|
12
|
+
--p-line: #2f2f2f;
|
|
13
|
+
--p-line-2: #444444;
|
|
14
|
+
--p-line-3: #666666;
|
|
15
|
+
--p-hover: #252525;
|
|
16
|
+
--p-select: #333333;
|
|
17
|
+
|
|
18
|
+
--p-text-max: #ffffff;
|
|
19
|
+
--p-text: #e2e2e2;
|
|
20
|
+
--p-text-2: #9e9e9e;
|
|
21
|
+
--p-text-3: #707070;
|
|
22
|
+
|
|
23
|
+
--p-primary: #ffffff;
|
|
24
|
+
--p-primary-ink: #000000;
|
|
25
|
+
--p-accent: #d4d4d4;
|
|
26
|
+
|
|
27
|
+
--p-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
|
|
28
|
+
--p-font-read: "Charter", "Georgia", "Cambria", serif;
|
|
29
|
+
--p-font-mono: "Consolas", "Courier New", monospace;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:root[data-agy-theme="paper"][data-agy-mode="light"] {
|
|
33
|
+
/* True E-Paper Light Mode (reMarkable / Fresh Book Page) */
|
|
34
|
+
--p-window: #e7e7e7;
|
|
35
|
+
--p-panel: #f6f6f6;
|
|
36
|
+
--p-raised: #ffffff;
|
|
37
|
+
--p-high: #ebebeb;
|
|
38
|
+
--p-inset: #dedede;
|
|
39
|
+
|
|
40
|
+
--p-line: #d4d4d4;
|
|
41
|
+
--p-line-2: #bcbcbc;
|
|
42
|
+
--p-line-3: #888888;
|
|
43
|
+
--p-hover: #eeeeee;
|
|
44
|
+
--p-select: #e0e0e0;
|
|
45
|
+
|
|
46
|
+
--p-text-max: #000000;
|
|
47
|
+
--p-text: #1a1a1a;
|
|
48
|
+
--p-text-2: #555555;
|
|
49
|
+
--p-text-3: #777777;
|
|
50
|
+
|
|
51
|
+
--p-primary: #000000;
|
|
52
|
+
--p-primary-ink: #ffffff;
|
|
53
|
+
--p-accent: #222222;
|
|
54
|
+
}
|
package/themes/paper.css
CHANGED
|
@@ -5,57 +5,8 @@
|
|
|
5
5
|
and clean typography tailored for deep focus and reading.
|
|
6
6
|
========================================================================== */
|
|
7
7
|
|
|
8
|
-
:
|
|
9
|
-
|
|
10
|
-
--p-window: #111111;
|
|
11
|
-
--p-panel: #181818;
|
|
12
|
-
--p-raised: #222222;
|
|
13
|
-
--p-high: #2c2c2c;
|
|
14
|
-
--p-inset: #0d0d0d;
|
|
15
|
-
|
|
16
|
-
--p-line: #2f2f2f;
|
|
17
|
-
--p-line-2: #444444;
|
|
18
|
-
--p-line-3: #666666;
|
|
19
|
-
--p-hover: #252525;
|
|
20
|
-
--p-select: #333333;
|
|
21
|
-
|
|
22
|
-
--p-text-max: #ffffff;
|
|
23
|
-
--p-text: #e2e2e2;
|
|
24
|
-
--p-text-2: #9e9e9e;
|
|
25
|
-
--p-text-3: #707070;
|
|
26
|
-
|
|
27
|
-
--p-primary: #ffffff;
|
|
28
|
-
--p-primary-ink: #000000;
|
|
29
|
-
--p-accent: #d4d4d4;
|
|
30
|
-
|
|
31
|
-
--p-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
|
|
32
|
-
--p-font-read: "Charter", "Georgia", "Cambria", serif;
|
|
33
|
-
--p-font-mono: "Consolas", "Courier New", monospace;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
:root[data-agy-theme="paper"][data-agy-mode="light"] {
|
|
37
|
-
/* True E-Paper Light Mode (reMarkable / Fresh Book Page) */
|
|
38
|
-
--p-window: #e7e7e7;
|
|
39
|
-
--p-panel: #f6f6f6;
|
|
40
|
-
--p-raised: #ffffff;
|
|
41
|
-
--p-high: #ebebeb;
|
|
42
|
-
--p-inset: #dedede;
|
|
43
|
-
|
|
44
|
-
--p-line: #d4d4d4;
|
|
45
|
-
--p-line-2: #bcbcbc;
|
|
46
|
-
--p-line-3: #888888;
|
|
47
|
-
--p-hover: #eeeeee;
|
|
48
|
-
--p-select: #e0e0e0;
|
|
49
|
-
|
|
50
|
-
--p-text-max: #000000;
|
|
51
|
-
--p-text: #1a1a1a;
|
|
52
|
-
--p-text-2: #555555;
|
|
53
|
-
--p-text-3: #777777;
|
|
54
|
-
|
|
55
|
-
--p-primary: #000000;
|
|
56
|
-
--p-primary-ink: #ffffff;
|
|
57
|
-
--p-accent: #222222;
|
|
58
|
-
}
|
|
8
|
+
/* 00 — Tokens: paper-tokens.css (loaded before this file) */
|
|
9
|
+
|
|
59
10
|
|
|
60
11
|
/* 01 — App token bridge */
|
|
61
12
|
:root[data-agy-theme="paper"] {
|
|
@@ -74,6 +25,12 @@
|
|
|
74
25
|
--sidebar: var(--p-window) !important;
|
|
75
26
|
--sidebar-secondary: var(--p-select) !important;
|
|
76
27
|
--sidebar-muted: var(--p-raised) !important;
|
|
28
|
+
--link: var(--p-text-max) !important; /* monochrome: links are underlined ink */
|
|
29
|
+
}
|
|
30
|
+
:root[data-agy-theme="paper"] .text-link {
|
|
31
|
+
text-decoration: underline;
|
|
32
|
+
text-decoration-thickness: 1px;
|
|
33
|
+
text-underline-offset: 2px;
|
|
77
34
|
}
|
|
78
35
|
|
|
79
36
|
/* 05 — Onyx layer override */
|
|
@@ -93,27 +50,34 @@
|
|
|
93
50
|
}
|
|
94
51
|
|
|
95
52
|
/* 10 — Main Reading Panel & Book Layout */
|
|
96
|
-
|
|
97
|
-
|
|
53
|
+
/* The app lays the panel out itself (.agy-sheet, with --card-gap,
|
|
54
|
+
--card-radius, --card-edge and --shell-canvas); the theme sets those
|
|
55
|
+
variables. The page: a sheet with 4px corners and a crisp 1px rule, no
|
|
56
|
+
shadow. A rule is how e-ink draws structure, so the app's hairline stays,
|
|
57
|
+
at a full pixel. A docked side panel is the facing page: it shares the rule. */
|
|
58
|
+
:root[data-agy-theme="paper"] .agy-inset-shell {
|
|
59
|
+
--shell-canvas: var(--p-window);
|
|
60
|
+
--card-gap: 10px;
|
|
61
|
+
--card-radius: 4px;
|
|
62
|
+
--card-edge: var(--p-line-2);
|
|
63
|
+
--sash-line: var(--p-line-3);
|
|
64
|
+
--sash-glow: transparent;
|
|
65
|
+
}
|
|
66
|
+
:root[data-agy-theme="paper"] .agy-sheet [data-main-content-body],
|
|
67
|
+
:root[data-agy-theme="paper"] .agy-inset-shell [data-side-panel-body],
|
|
68
|
+
:root[data-agy-theme="paper"] [data-testid="sidecar-iframe-slot"] { /* a sidecar's frame is mounted over its pane, not in it */
|
|
98
69
|
--background: var(--p-panel);
|
|
99
70
|
--color-background: var(--p-panel);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
border: 1px solid var(--p-line-2);
|
|
105
|
-
background: var(--p-panel);
|
|
106
|
-
box-shadow: none;
|
|
107
|
-
overflow: hidden;
|
|
71
|
+
}
|
|
72
|
+
:root[data-agy-theme="paper"] .agy-sheet[data-sheet-inset] [data-main-content-body]::after,
|
|
73
|
+
:root[data-agy-theme="paper"] .agy-inset-shell [data-side-panel-body]::after {
|
|
74
|
+
box-shadow: inset 0 0 0 1px var(--card-edge);
|
|
108
75
|
}
|
|
109
76
|
:root[data-agy-theme="paper"] .agy-sheet {
|
|
110
77
|
background-image: none !important;
|
|
111
78
|
}
|
|
112
|
-
:root[data-agy-theme="paper"] .bg-border.flex-shrink-0.z-30.h-full {
|
|
113
|
-
background: var(--p-window);
|
|
114
|
-
}
|
|
115
79
|
|
|
116
|
-
/* Inactive webview occlusion guard */
|
|
80
|
+
/* Inactive webview occlusion guard: prevent GPU compositor bleeding */
|
|
117
81
|
div[style*="opacity: 0.005"] webview,
|
|
118
82
|
div[style*="display: none"] webview,
|
|
119
83
|
webview[style*="opacity: 0.005"] {
|
|
@@ -121,6 +85,7 @@ webview[style*="opacity: 0.005"] {
|
|
|
121
85
|
pointer-events: none !important;
|
|
122
86
|
}
|
|
123
87
|
|
|
88
|
+
|
|
124
89
|
/* 20 — Sidebar: Clean E-Ink Document Index (Fixed header overflow) */
|
|
125
90
|
:root[data-agy-theme="paper"] aside,
|
|
126
91
|
:root[data-agy-theme="paper"] nav {
|
|
@@ -224,7 +189,9 @@ webview[style*="opacity: 0.005"] {
|
|
|
224
189
|
font-family: var(--p-font-mono) !important;
|
|
225
190
|
font-size: 13px !important;
|
|
226
191
|
}
|
|
227
|
-
|
|
192
|
+
/* Fenced code in the chat is the app's own ruled block (.agy-code): a
|
|
193
|
+
second box around a pre inside it would draw two rules */
|
|
194
|
+
:root[data-agy-theme="paper"] pre:not(.agy-code pre) {
|
|
228
195
|
background: var(--p-inset) !important;
|
|
229
196
|
border: 1px solid var(--p-line) !important;
|
|
230
197
|
border-radius: 3px !important;
|
|
@@ -253,8 +220,9 @@ webview[style*="opacity: 0.005"] {
|
|
|
253
220
|
font-family: var(--p-font-ui);
|
|
254
221
|
font-size: 13px;
|
|
255
222
|
}
|
|
256
|
-
:
|
|
257
|
-
:root[data-agy-theme="paper"] [role="
|
|
223
|
+
/* disabled items (an unavailable model) take no hover fill: it only dims them */
|
|
224
|
+
:root[data-agy-theme="paper"] [role="menuitem"]:not([data-disabled], [aria-disabled="true"]):hover,
|
|
225
|
+
:root[data-agy-theme="paper"] [role="menuitemradio"]:not([data-disabled], [aria-disabled="true"]):hover {
|
|
258
226
|
background: var(--p-select);
|
|
259
227
|
}
|
|
260
228
|
|
|
@@ -271,6 +239,475 @@ webview[style*="opacity: 0.005"] {
|
|
|
271
239
|
background: var(--p-line-3);
|
|
272
240
|
}
|
|
273
241
|
|
|
242
|
+
/* 60 — Dialogs & Settings: a printed form ---------------------------------- */
|
|
243
|
+
/* Settings as a page of a printed manual: an ink-ruled sheet with square
|
|
244
|
+
corners and no shadow; the index set in the reading serif, the current
|
|
245
|
+
entry printed in reverse; group titles in small capitals; each group a
|
|
246
|
+
ruled box with dashed lines between entries; controls drawn in ink
|
|
247
|
+
outline, chosen ones in reverse; fields are lines to write on. Strictly
|
|
248
|
+
monochrome. Selectors go through .agy-dialog to outrank the app's glass
|
|
249
|
+
rules (body[data-newux-theme]). */
|
|
250
|
+
:root[data-agy-theme="paper"] .agy-dialog {
|
|
251
|
+
border: 1px solid var(--p-line-3) !important;
|
|
252
|
+
border-radius: 2px !important;
|
|
253
|
+
background: var(--p-panel);
|
|
254
|
+
box-shadow: none !important;
|
|
255
|
+
color: var(--p-text);
|
|
256
|
+
}
|
|
257
|
+
:root[data-agy-theme="paper"] .settings-modal-backdrop {
|
|
258
|
+
background: rgb(0 0 0 / 0.45);
|
|
259
|
+
}
|
|
260
|
+
:root[data-agy-theme="paper"] .agy-dialog > button[aria-label="Close"] {
|
|
261
|
+
border-radius: 0 !important;
|
|
262
|
+
color: var(--p-text);
|
|
263
|
+
}
|
|
264
|
+
:root[data-agy-theme="paper"] .agy-dialog > button[aria-label="Close"]:hover {
|
|
265
|
+
background: var(--p-primary);
|
|
266
|
+
color: var(--p-primary-ink);
|
|
267
|
+
}
|
|
268
|
+
:root[data-agy-theme="paper"] .settings-modal-container .bg-background {
|
|
269
|
+
background: transparent;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/* the index, in the reading serif */
|
|
273
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] {
|
|
274
|
+
border-right: 1px solid var(--p-line-2);
|
|
275
|
+
background: var(--p-window);
|
|
276
|
+
font-family: var(--p-font-read);
|
|
277
|
+
}
|
|
278
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] > div:first-child {
|
|
279
|
+
gap: 0;
|
|
280
|
+
padding: 20px 0 12px;
|
|
281
|
+
}
|
|
282
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] .px-4 {
|
|
283
|
+
padding: 0 20px;
|
|
284
|
+
}
|
|
285
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] h1 {
|
|
286
|
+
margin-bottom: 10px;
|
|
287
|
+
padding-bottom: 8px;
|
|
288
|
+
flex: 1;
|
|
289
|
+
border-bottom: 1px solid var(--p-text);
|
|
290
|
+
font-size: 19px;
|
|
291
|
+
font-weight: 600;
|
|
292
|
+
color: var(--p-text-max);
|
|
293
|
+
}
|
|
294
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] .px-4.mt-2 {
|
|
295
|
+
margin-top: 16px;
|
|
296
|
+
}
|
|
297
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] h2 {
|
|
298
|
+
margin-bottom: 4px;
|
|
299
|
+
font-size: 14px;
|
|
300
|
+
font-weight: 600;
|
|
301
|
+
font-variant-caps: all-small-caps;
|
|
302
|
+
letter-spacing: 0.08em;
|
|
303
|
+
color: var(--p-text-2);
|
|
304
|
+
}
|
|
305
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] .mx-2 {
|
|
306
|
+
margin: 0 12px;
|
|
307
|
+
}
|
|
308
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] button[data-testid^="settings-nav-item-"] {
|
|
309
|
+
min-height: 30px;
|
|
310
|
+
padding: 0 8px;
|
|
311
|
+
border-radius: 0;
|
|
312
|
+
color: var(--p-text);
|
|
313
|
+
font-size: 15px;
|
|
314
|
+
}
|
|
315
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] button[data-testid^="settings-nav-item-"] span {
|
|
316
|
+
color: inherit;
|
|
317
|
+
}
|
|
318
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] button[data-testid^="settings-nav-item-"]:hover {
|
|
319
|
+
background: transparent;
|
|
320
|
+
color: var(--p-text-max);
|
|
321
|
+
text-decoration: underline;
|
|
322
|
+
text-decoration-thickness: 1px;
|
|
323
|
+
text-underline-offset: 4px;
|
|
324
|
+
}
|
|
325
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] button[data-testid^="settings-nav-item-"].bg-sidebar-secondary {
|
|
326
|
+
background: var(--p-primary);
|
|
327
|
+
color: var(--p-primary-ink);
|
|
328
|
+
text-decoration: none;
|
|
329
|
+
}
|
|
330
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] button.mx-4 {
|
|
331
|
+
margin: 2px 20px 0;
|
|
332
|
+
color: var(--p-text-2);
|
|
333
|
+
font-style: italic;
|
|
334
|
+
font-weight: 400;
|
|
335
|
+
}
|
|
336
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] button.mx-4:hover {
|
|
337
|
+
color: var(--p-text-max);
|
|
338
|
+
}
|
|
339
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] > .border-t {
|
|
340
|
+
border-color: var(--p-line-2);
|
|
341
|
+
font-family: var(--p-font-ui);
|
|
342
|
+
}
|
|
343
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] > .border-t > button {
|
|
344
|
+
border-radius: 0;
|
|
345
|
+
}
|
|
346
|
+
:root[data-agy-theme="paper"] [data-testid="settings-sidebar"] > .border-t > button > div:first-child {
|
|
347
|
+
border: 1px solid var(--p-text);
|
|
348
|
+
background: transparent;
|
|
349
|
+
color: var(--p-text);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/* the page: a serif title over a rule, small-capital group titles */
|
|
353
|
+
:root[data-agy-theme="paper"] .settings-modal-container .p-6.max-w-2xl {
|
|
354
|
+
gap: 24px;
|
|
355
|
+
padding: 34px 40px 48px;
|
|
356
|
+
}
|
|
357
|
+
:root[data-agy-theme="paper"] .settings-modal-container .p-6.max-w-2xl > div:first-child {
|
|
358
|
+
margin-bottom: 0;
|
|
359
|
+
padding-bottom: 14px;
|
|
360
|
+
border-bottom: 2px solid var(--p-text-max);
|
|
361
|
+
}
|
|
362
|
+
:root[data-agy-theme="paper"] .settings-modal-container h2.text-2xl {
|
|
363
|
+
font-family: var(--p-font-read);
|
|
364
|
+
font-size: 30px;
|
|
365
|
+
font-weight: 600;
|
|
366
|
+
line-height: 1.15;
|
|
367
|
+
color: var(--p-text-max);
|
|
368
|
+
}
|
|
369
|
+
:root[data-agy-theme="paper"] .settings-modal-container h2.text-2xl + div {
|
|
370
|
+
font-family: var(--p-font-read);
|
|
371
|
+
font-size: 15px;
|
|
372
|
+
font-style: italic;
|
|
373
|
+
color: var(--p-text-2);
|
|
374
|
+
}
|
|
375
|
+
:root[data-agy-theme="paper"] .settings-modal-container h3 {
|
|
376
|
+
font-family: var(--p-font-read);
|
|
377
|
+
font-size: 17px;
|
|
378
|
+
font-weight: 600;
|
|
379
|
+
font-variant-caps: all-small-caps;
|
|
380
|
+
letter-spacing: 0.06em;
|
|
381
|
+
color: var(--p-text-max);
|
|
382
|
+
}
|
|
383
|
+
:root[data-agy-theme="paper"] .settings-modal-container .leading-relaxed {
|
|
384
|
+
font-family: var(--p-font-read);
|
|
385
|
+
font-size: 14px;
|
|
386
|
+
color: var(--p-text-2);
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
/* ruled boxes, dashed lines between entries */
|
|
390
|
+
:root[data-agy-theme="paper"] .agy-dialog .agy-card {
|
|
391
|
+
--color-border: var(--p-line-2);
|
|
392
|
+
border: 1px solid var(--p-line-3);
|
|
393
|
+
border-radius: 0;
|
|
394
|
+
background: transparent;
|
|
395
|
+
}
|
|
396
|
+
:root[data-agy-theme="paper"] .agy-dialog .agy-card > :not(:last-child) {
|
|
397
|
+
border-bottom-style: dashed !important;
|
|
398
|
+
}
|
|
399
|
+
:root[data-agy-theme="paper"] .agy-dialog .agy-card .py-2.px-3 {
|
|
400
|
+
min-height: 54px;
|
|
401
|
+
padding: 12px 16px;
|
|
402
|
+
font-size: 14px;
|
|
403
|
+
font-weight: 600;
|
|
404
|
+
color: var(--p-text-max);
|
|
405
|
+
}
|
|
406
|
+
:root[data-agy-theme="paper"] .agy-dialog .agy-card .text-sm {
|
|
407
|
+
font-family: var(--p-font-read);
|
|
408
|
+
font-size: 13.5px;
|
|
409
|
+
font-weight: 400;
|
|
410
|
+
color: var(--p-text-2);
|
|
411
|
+
}
|
|
412
|
+
:root[data-agy-theme="paper"] .agy-dialog .agy-card > button:hover {
|
|
413
|
+
background: transparent;
|
|
414
|
+
color: var(--p-text-max);
|
|
415
|
+
text-decoration: underline;
|
|
416
|
+
}
|
|
417
|
+
:root[data-agy-theme="paper"] .agy-dialog [data-testid="settings-row-badge"] {
|
|
418
|
+
padding: 2px 5px;
|
|
419
|
+
border: 0;
|
|
420
|
+
border-radius: 0;
|
|
421
|
+
background: var(--p-primary);
|
|
422
|
+
color: var(--p-primary-ink);
|
|
423
|
+
font-family: var(--p-font-mono);
|
|
424
|
+
font-size: 10.5px;
|
|
425
|
+
}
|
|
426
|
+
:root[data-agy-theme="paper"] .agy-dialog code {
|
|
427
|
+
border: 1px solid var(--p-line-2);
|
|
428
|
+
border-radius: 0;
|
|
429
|
+
background: transparent;
|
|
430
|
+
font-family: var(--p-font-mono);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
/* controls: ink outlines, square; hover and the chosen state print in
|
|
434
|
+
reverse */
|
|
435
|
+
:root[data-agy-theme="paper"] .agy-dialog :is(.agy-button-sm, .agy-button-md).bg-secondary,
|
|
436
|
+
:root[data-agy-theme="paper"] .agy-dialog .agy-select-trigger {
|
|
437
|
+
height: 30px;
|
|
438
|
+
padding: 0 12px;
|
|
439
|
+
border: 1px solid var(--p-text) !important;
|
|
440
|
+
border-radius: 0 !important;
|
|
441
|
+
background: transparent;
|
|
442
|
+
color: var(--p-text-max);
|
|
443
|
+
font-size: 13px;
|
|
444
|
+
font-weight: 600;
|
|
445
|
+
}
|
|
446
|
+
:root[data-agy-theme="paper"] .agy-dialog :is(.agy-button-sm, .agy-button-md).bg-secondary:hover,
|
|
447
|
+
:root[data-agy-theme="paper"] .agy-dialog .agy-select-trigger:is(:hover, [aria-expanded="true"]) {
|
|
448
|
+
background: var(--p-primary);
|
|
449
|
+
color: var(--p-primary-ink);
|
|
450
|
+
}
|
|
451
|
+
:root[data-agy-theme="paper"] .agy-dialog .agy-select-trigger svg {
|
|
452
|
+
opacity: 1;
|
|
453
|
+
}
|
|
454
|
+
:root[data-agy-theme="paper"] .agy-dialog :is(a, button:not([role])).bg-primary {
|
|
455
|
+
padding: 5px 14px;
|
|
456
|
+
border: 1px solid var(--p-primary);
|
|
457
|
+
border-radius: 0 !important;
|
|
458
|
+
background: var(--p-primary);
|
|
459
|
+
color: var(--p-primary-ink);
|
|
460
|
+
font-weight: 600;
|
|
461
|
+
}
|
|
462
|
+
:root[data-agy-theme="paper"] .agy-dialog :is(a, button:not([role])).bg-primary:hover {
|
|
463
|
+
background: transparent;
|
|
464
|
+
color: var(--p-text-max);
|
|
465
|
+
}
|
|
466
|
+
:root[data-agy-theme="paper"] .agy-dialog [data-testid="delete-project-button"] {
|
|
467
|
+
border: 1px solid var(--p-text);
|
|
468
|
+
border-radius: 0 !important;
|
|
469
|
+
background: transparent;
|
|
470
|
+
color: var(--p-text-max);
|
|
471
|
+
text-decoration: line-through;
|
|
472
|
+
text-decoration-thickness: 1px;
|
|
473
|
+
}
|
|
474
|
+
:root[data-agy-theme="paper"] .agy-dialog [data-testid="delete-project-button"]:hover {
|
|
475
|
+
background: var(--p-primary);
|
|
476
|
+
color: var(--p-primary-ink);
|
|
477
|
+
}
|
|
478
|
+
:root[data-agy-theme="paper"] .agy-dialog :is(.agy-button-sm.text-link, button.self-start.rounded-md) {
|
|
479
|
+
border-radius: 0 !important;
|
|
480
|
+
color: var(--p-text-max);
|
|
481
|
+
font-style: italic;
|
|
482
|
+
font-family: var(--p-font-read);
|
|
483
|
+
}
|
|
484
|
+
:root[data-agy-theme="paper"] .agy-dialog :is(.agy-button-sm.text-link, button.self-start.rounded-md):hover {
|
|
485
|
+
background: transparent;
|
|
486
|
+
text-decoration: underline;
|
|
487
|
+
text-underline-offset: 3px;
|
|
488
|
+
}
|
|
489
|
+
:root[data-agy-theme="paper"] .agy-dialog :is(.agy-button-icon-sm, .agy-button-icon):not(.bg-secondary) {
|
|
490
|
+
border-radius: 0 !important;
|
|
491
|
+
color: var(--p-text-2);
|
|
492
|
+
}
|
|
493
|
+
:root[data-agy-theme="paper"] .agy-dialog :is(.agy-button-icon-sm, .agy-button-icon):not(.bg-secondary):hover {
|
|
494
|
+
background: var(--p-primary);
|
|
495
|
+
color: var(--p-primary-ink);
|
|
496
|
+
}
|
|
497
|
+
/* keys: square caps with a printed offset edge */
|
|
498
|
+
:root[data-agy-theme="paper"] .agy-dialog .agy-button-xs.border {
|
|
499
|
+
height: 24px;
|
|
500
|
+
padding: 0 7px;
|
|
501
|
+
border: 1px solid var(--p-text);
|
|
502
|
+
border-radius: 0 !important;
|
|
503
|
+
background: var(--p-panel);
|
|
504
|
+
box-shadow: 2px 2px 0 var(--p-text);
|
|
505
|
+
color: var(--p-text-max);
|
|
506
|
+
font-family: var(--p-font-mono);
|
|
507
|
+
font-size: 12px;
|
|
508
|
+
}
|
|
509
|
+
:root[data-agy-theme="paper"] .agy-dialog .agy-button-xs.border:hover {
|
|
510
|
+
background: var(--p-primary);
|
|
511
|
+
color: var(--p-primary-ink);
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
/* segmented control: one ruled strip; the chosen segment in reverse */
|
|
515
|
+
:root[data-agy-theme="paper"] .agy-dialog [data-slot="toggle-group"] {
|
|
516
|
+
height: 30px;
|
|
517
|
+
padding: 0;
|
|
518
|
+
gap: 0;
|
|
519
|
+
border: 1px solid var(--p-text) !important;
|
|
520
|
+
border-radius: 0;
|
|
521
|
+
background: transparent !important;
|
|
522
|
+
box-shadow: none !important;
|
|
523
|
+
}
|
|
524
|
+
:root[data-agy-theme="paper"] .agy-dialog [data-slot="toggle-group"] > button {
|
|
525
|
+
padding: 0 12px;
|
|
526
|
+
border-radius: 0;
|
|
527
|
+
background: transparent !important;
|
|
528
|
+
color: var(--p-text) !important;
|
|
529
|
+
font-size: 13px;
|
|
530
|
+
box-shadow: none !important;
|
|
531
|
+
}
|
|
532
|
+
:root[data-agy-theme="paper"] .agy-dialog [data-slot="toggle-group"] > button + button {
|
|
533
|
+
border-left: 1px solid var(--p-text);
|
|
534
|
+
}
|
|
535
|
+
:root[data-agy-theme="paper"] .agy-dialog [data-slot="toggle-group"] > button:hover {
|
|
536
|
+
text-decoration: underline;
|
|
537
|
+
}
|
|
538
|
+
:root[data-agy-theme="paper"] .agy-dialog [data-slot="toggle-group"] > button[data-pressed] {
|
|
539
|
+
background: var(--p-primary) !important;
|
|
540
|
+
color: var(--p-primary-ink) !important;
|
|
541
|
+
font-weight: 600;
|
|
542
|
+
text-decoration: none;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
/* switch: a square ink box; on, it prints in reverse */
|
|
546
|
+
:root[data-agy-theme="paper"] [role="switch"].rounded-full {
|
|
547
|
+
width: 36px;
|
|
548
|
+
height: 18px;
|
|
549
|
+
padding: 0;
|
|
550
|
+
border: 1px solid var(--p-text);
|
|
551
|
+
border-radius: 0;
|
|
552
|
+
background: transparent !important;
|
|
553
|
+
}
|
|
554
|
+
:root[data-agy-theme="paper"] [role="switch"].rounded-full:is([aria-checked="true"], [data-checked]) {
|
|
555
|
+
background: var(--p-primary) !important;
|
|
556
|
+
}
|
|
557
|
+
:root[data-agy-theme="paper"] [role="switch"].rounded-full > span {
|
|
558
|
+
width: 12px;
|
|
559
|
+
height: 12px;
|
|
560
|
+
border-radius: 0;
|
|
561
|
+
background: var(--p-text-2);
|
|
562
|
+
box-shadow: none !important;
|
|
563
|
+
transform: translateX(2px) !important;
|
|
564
|
+
transition: none; /* e-ink: no in-between frames */
|
|
565
|
+
}
|
|
566
|
+
:root[data-agy-theme="paper"] [role="switch"].rounded-full:is([aria-checked="true"], [data-checked]) > span {
|
|
567
|
+
background: var(--p-primary-ink);
|
|
568
|
+
transform: translateX(20px) !important;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
/* slider: an ink line and a tick */
|
|
572
|
+
:root[data-agy-theme="paper"] .agy-dialog input[type="range"] {
|
|
573
|
+
--primary: var(--p-text-max);
|
|
574
|
+
--secondary: var(--p-line-2);
|
|
575
|
+
height: 2px;
|
|
576
|
+
border-radius: 0;
|
|
577
|
+
}
|
|
578
|
+
:root[data-agy-theme="paper"] .agy-dialog input[type="range"]::-webkit-slider-thumb {
|
|
579
|
+
width: 4px;
|
|
580
|
+
height: 16px;
|
|
581
|
+
border-radius: 0;
|
|
582
|
+
background: var(--p-text-max);
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
/* option cards: ruled boxes; the chosen one in a heavy rule */
|
|
586
|
+
:root[data-agy-theme="paper"] .agy-dialog [role="radio"].rounded-xl {
|
|
587
|
+
border: 1px solid var(--p-line-3);
|
|
588
|
+
border-radius: 0;
|
|
589
|
+
background: transparent;
|
|
590
|
+
box-shadow: none;
|
|
591
|
+
color: var(--p-text);
|
|
592
|
+
}
|
|
593
|
+
:root[data-agy-theme="paper"] .agy-dialog [role="radio"].rounded-xl:hover {
|
|
594
|
+
border-color: var(--p-text);
|
|
595
|
+
}
|
|
596
|
+
:root[data-agy-theme="paper"] .agy-dialog [role="radio"].rounded-xl:is([data-checked], [aria-checked="true"]) {
|
|
597
|
+
border-color: var(--p-text-max);
|
|
598
|
+
box-shadow: inset 0 0 0 1px var(--p-text-max);
|
|
599
|
+
color: var(--p-text-max);
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
/* fields: a line to write on (the app's layered !important utilities are
|
|
603
|
+
steered through the variables they read) */
|
|
604
|
+
:root[data-agy-theme="paper"] .agy-dialog :is(input.agy-field, input.bg-muted, .h-8.rounded-lg.bg-muted.border) {
|
|
605
|
+
--tw-border-style: none;
|
|
606
|
+
--color-muted: transparent;
|
|
607
|
+
--tw-inset-shadow: inset 0 -1px 0 var(--p-text);
|
|
608
|
+
border-style: none;
|
|
609
|
+
border-radius: 0 !important;
|
|
610
|
+
background: transparent;
|
|
611
|
+
box-shadow: var(--tw-inset-shadow);
|
|
612
|
+
color: var(--p-text-max);
|
|
613
|
+
font-family: var(--p-font-mono);
|
|
614
|
+
font-size: 13px !important;
|
|
615
|
+
}
|
|
616
|
+
:root[data-agy-theme="paper"] .agy-dialog :is(input.agy-field:focus, input.bg-muted:focus, .h-8.rounded-lg.bg-muted.border:focus-within) {
|
|
617
|
+
--tw-inset-shadow: inset 0 -2px 0 var(--p-text-max);
|
|
618
|
+
outline: none;
|
|
619
|
+
}
|
|
620
|
+
:root[data-agy-theme="paper"] .agy-dialog button[aria-label="Show Remote Control QR code"] {
|
|
621
|
+
border-color: var(--p-line-3);
|
|
622
|
+
border-radius: 0;
|
|
623
|
+
}
|
|
624
|
+
:root[data-agy-theme="paper"] .agy-dialog button[aria-label$="color picker"] {
|
|
625
|
+
border-color: var(--p-text);
|
|
626
|
+
border-radius: 0;
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
/* usage rings and token bars: ink on a light rule */
|
|
630
|
+
:root[data-agy-theme="paper"] circle:has(+ [data-testid="quota-progress-circle"]) {
|
|
631
|
+
stroke: var(--p-line-2);
|
|
632
|
+
stroke-opacity: 1;
|
|
633
|
+
}
|
|
634
|
+
:root[data-agy-theme="paper"] .rounded-full:has(> svg [data-testid="quota-progress-circle"]) {
|
|
635
|
+
background: transparent;
|
|
636
|
+
}
|
|
637
|
+
:root[data-agy-theme="paper"] [data-testid="quota-progress-circle"] {
|
|
638
|
+
stroke: var(--p-text-max);
|
|
639
|
+
}
|
|
640
|
+
:root[data-agy-theme="paper"] .agy-dialog {
|
|
641
|
+
--chart-blue: var(--p-text-max);
|
|
642
|
+
--chart-green: var(--p-text-2);
|
|
643
|
+
--chart-purple: var(--p-text-3);
|
|
644
|
+
--chart-yellow: var(--p-line-3);
|
|
645
|
+
--chart-orange: var(--p-line-3);
|
|
646
|
+
--chart-red: var(--p-text-max);
|
|
647
|
+
}
|
|
648
|
+
:root[data-agy-theme="paper"] .agy-dialog .h-2.rounded-full.bg-muted {
|
|
649
|
+
height: 6px;
|
|
650
|
+
border: 1px solid var(--p-text);
|
|
651
|
+
border-radius: 0;
|
|
652
|
+
background: transparent;
|
|
653
|
+
}
|
|
654
|
+
:root[data-agy-theme="paper"] .agy-dialog .h-2.rounded-full.bg-muted > * {
|
|
655
|
+
border-radius: 0;
|
|
656
|
+
}
|
|
657
|
+
:root[data-agy-theme="paper"] [data-testid="workspace-customizations-view"] .border.border-border.rounded-xl {
|
|
658
|
+
--color-border: var(--p-line-2);
|
|
659
|
+
border-color: var(--p-line-3);
|
|
660
|
+
border-radius: 0;
|
|
661
|
+
}
|
|
662
|
+
:root[data-agy-theme="paper"] .agy-dialog span.rounded:is(.bg-blue-500\/10, .bg-purple-500\/10, .bg-green-500\/10, .bg-orange-500\/10) {
|
|
663
|
+
border: 1px solid var(--p-line-3);
|
|
664
|
+
border-radius: 0;
|
|
665
|
+
background: transparent;
|
|
666
|
+
color: var(--p-text-2);
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
/* "Restart to Update": an ink-ruled square label in small capitals,
|
|
670
|
+
printed in reverse on hover; no pulse (e-ink) */
|
|
671
|
+
:root[data-agy-theme="paper"] [data-testid="app-update-button"] {
|
|
672
|
+
animation: none !important;
|
|
673
|
+
}
|
|
674
|
+
:root[data-agy-theme="paper"] [data-testid="app-update-button"]:not(.w-6) {
|
|
675
|
+
width: auto;
|
|
676
|
+
height: 24px;
|
|
677
|
+
padding: 0 10px;
|
|
678
|
+
border: 1px solid var(--p-text);
|
|
679
|
+
border-radius: 0;
|
|
680
|
+
background: transparent;
|
|
681
|
+
color: var(--p-text-max);
|
|
682
|
+
font-size: 13px;
|
|
683
|
+
font-weight: 600;
|
|
684
|
+
font-variant-caps: all-small-caps;
|
|
685
|
+
letter-spacing: 0.06em;
|
|
686
|
+
}
|
|
687
|
+
:root[data-agy-theme="paper"] [data-testid="app-update-button"]:not(.w-6):hover {
|
|
688
|
+
background: var(--p-primary);
|
|
689
|
+
color: var(--p-primary-ink);
|
|
690
|
+
}
|
|
691
|
+
:root[data-agy-theme="paper"] [data-testid="app-update-button"].w-6 {
|
|
692
|
+
border-radius: 0;
|
|
693
|
+
color: var(--p-text-max);
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
/* Chips in a sent message (quotes, files, terminals): they take the bubble's
|
|
697
|
+
own ink, not the app's text colors, which are meant for the panel; a 12%
|
|
698
|
+
tint of that ink marks them, the icon and supporting parts at 80% */
|
|
699
|
+
:root[data-agy-theme="paper"] .agy-user-bubble .inline-pill {
|
|
700
|
+
color: inherit;
|
|
701
|
+
background: color-mix(in srgb, currentColor 12%, transparent);
|
|
702
|
+
border-radius: 0;
|
|
703
|
+
}
|
|
704
|
+
:root[data-agy-theme="paper"] .agy-user-bubble .inline-pill :is(.text-foreground, .text-secondary-foreground) {
|
|
705
|
+
color: inherit;
|
|
706
|
+
}
|
|
707
|
+
:root[data-agy-theme="paper"] .agy-user-bubble .inline-pill .text-muted-foreground {
|
|
708
|
+
color: color-mix(in srgb, currentColor 80%, transparent);
|
|
709
|
+
}
|
|
710
|
+
|
|
274
711
|
/* 80 — Voice Mode & Gemini Live: E-Ink Paper Aesthetic */
|
|
275
712
|
:root[data-agy-theme="paper"] [data-testid="voice-live-pill"] {
|
|
276
713
|
background: var(--p-raised) !important;
|
|
@@ -412,3 +849,6 @@ webview[style*="opacity: 0.005"] {
|
|
|
412
849
|
border-color: var(--p-line-3) !important;
|
|
413
850
|
}
|
|
414
851
|
|
|
852
|
+
|
|
853
|
+
/* 90 — Swarm and other sidecar panes: themes/frames/paper.css. They are
|
|
854
|
+
cross-origin frames; frame-host.js loads that stylesheet inside them. */
|