anentrypoint-design 0.0.59 → 0.0.61
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/package.json +2 -1
- package/src/desktop/icons.js +1 -0
- package/src/desktop/launcher.css +10 -5
- package/src/desktop/theme.css +70 -46
- package/src/desktop/validate.css +19 -0
- package/src/desktop/wm.css +29 -16
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anentrypoint-design",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.61",
|
|
4
4
|
"description": "247420 design system SDK — webjsx + modified ripple-ui, single-file ESM bundle for reproducible use of the AnEntrypoint design.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/247420.js",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"./desktop/theme.css": "./src/desktop/theme.css",
|
|
20
20
|
"./desktop/wm.css": "./src/desktop/wm.css",
|
|
21
21
|
"./desktop/launcher.css": "./src/desktop/launcher.css",
|
|
22
|
+
"./desktop/validate.css": "./src/desktop/validate.css",
|
|
22
23
|
"./desktop/icons.js": "./src/desktop/icons.js",
|
|
23
24
|
"./desktop/shell.js": "./src/desktop/shell.js",
|
|
24
25
|
"./page-html": {
|
package/src/desktop/icons.js
CHANGED
|
@@ -13,4 +13,5 @@ export const icons = {
|
|
|
13
13
|
close: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M6 6l12 12M18 6l-12 12"/></svg>',
|
|
14
14
|
chat: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5h16v11H8l-4 4z"/><path d="M8 9h8M8 12h6"/></svg>',
|
|
15
15
|
tools: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 7l3-3 3 3-3 3-3-3zM7 14l3 3-7 7-3-3 7-7zM5 7l3-3M14 14l6 6"/></svg>',
|
|
16
|
+
freddie: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2M8 12a4 4 0 008 0"/></svg>',
|
|
16
17
|
};
|
package/src/desktop/launcher.css
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/* ============================================================
|
|
2
2
|
Launcher dock — paired with createLauncher() (validation harness path)
|
|
3
|
+
Bible: tonal step from canvas, no borders, pill controls, lowercase.
|
|
3
4
|
============================================================ */
|
|
4
5
|
|
|
5
6
|
.launcher-dock {
|
|
6
7
|
position: fixed;
|
|
7
8
|
left: 0; top: 0; bottom: 0;
|
|
8
9
|
width: 56px;
|
|
9
|
-
background: var(--os-bg-
|
|
10
|
-
border
|
|
10
|
+
background: var(--os-bg-2);
|
|
11
|
+
border: none;
|
|
11
12
|
display: flex;
|
|
12
13
|
flex-direction: column;
|
|
13
14
|
align-items: center;
|
|
@@ -30,10 +31,14 @@
|
|
|
30
31
|
justify-content: center;
|
|
31
32
|
padding: 0;
|
|
32
33
|
font: inherit;
|
|
33
|
-
transition: background 80ms ease, color 80ms ease;
|
|
34
|
+
transition: background 80ms ease, color 80ms ease, box-shadow 80ms ease;
|
|
35
|
+
}
|
|
36
|
+
.launcher-btn:hover { background: var(--panel-hover, var(--os-bg-1)); color: var(--os-fg); }
|
|
37
|
+
.launcher-btn.active {
|
|
38
|
+
background: var(--panel-select, var(--os-accent-soft));
|
|
39
|
+
color: var(--os-fg);
|
|
40
|
+
box-shadow: inset 4px 0 0 var(--os-accent);
|
|
34
41
|
}
|
|
35
|
-
.launcher-btn:hover { background: var(--os-accent); color: var(--panel-accent-fg, #000); }
|
|
36
|
-
.launcher-btn.active { background: var(--os-accent); color: var(--panel-accent-fg, #000); }
|
|
37
42
|
.launcher-add { font-size: 20px; }
|
|
38
43
|
|
|
39
44
|
.launcher-dock + .wm-root { left: 56px !important; }
|
package/src/desktop/theme.css
CHANGED
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
--os-bar-h-mobile: 52px;
|
|
19
19
|
--os-rail-w: 64px;
|
|
20
20
|
--os-tap: 44px;
|
|
21
|
-
--os-font: var(--ff-ui, 'Nunito',
|
|
22
|
-
--os-display: var(--ff-display, 'Archivo Black', 'Archivo',
|
|
23
|
-
--os-mono: var(--ff-mono, 'JetBrains Mono', ui-monospace,
|
|
21
|
+
--os-font: var(--ff-ui, 'Nunito', sans-serif);
|
|
22
|
+
--os-display: var(--ff-display, 'Archivo Black', 'Archivo', sans-serif);
|
|
23
|
+
--os-mono: var(--ff-mono, 'JetBrains Mono', ui-monospace, monospace);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
html, body {
|
|
@@ -32,7 +32,7 @@ html, body {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.os-menubar, .os-taskbar {
|
|
35
|
-
background: var(--os-bg-
|
|
35
|
+
background: var(--os-bg-2);
|
|
36
36
|
border: none;
|
|
37
37
|
color: var(--os-fg);
|
|
38
38
|
font: 13px var(--os-font);
|
|
@@ -40,9 +40,14 @@ html, body {
|
|
|
40
40
|
padding: 0 12px;
|
|
41
41
|
gap: 6px;
|
|
42
42
|
box-shadow: none;
|
|
43
|
+
display: flex;
|
|
44
|
+
align-items: center;
|
|
45
|
+
flex-wrap: nowrap;
|
|
46
|
+
min-width: 0;
|
|
43
47
|
}
|
|
44
|
-
.os-menubar
|
|
45
|
-
.os-
|
|
48
|
+
.os-menubar > *, .os-taskbar > * { flex-shrink: 0; }
|
|
49
|
+
.os-menubar .os-spacer { flex: 1 1 auto; min-width: 0; }
|
|
50
|
+
.os-menubar .os-tray { margin-left: auto; }
|
|
46
51
|
|
|
47
52
|
.os-brand {
|
|
48
53
|
color: var(--os-fg);
|
|
@@ -54,6 +59,7 @@ html, body {
|
|
|
54
59
|
display: inline-flex;
|
|
55
60
|
align-items: center;
|
|
56
61
|
gap: 8px;
|
|
62
|
+
text-transform: lowercase;
|
|
57
63
|
}
|
|
58
64
|
.os-brand::before {
|
|
59
65
|
content: '';
|
|
@@ -70,6 +76,7 @@ html, body {
|
|
|
70
76
|
padding: 7px 14px;
|
|
71
77
|
cursor: pointer;
|
|
72
78
|
font: inherit;
|
|
79
|
+
font-family: var(--os-font);
|
|
73
80
|
font-size: 13px;
|
|
74
81
|
border-radius: 999px;
|
|
75
82
|
transition: background 80ms ease, color 80ms ease;
|
|
@@ -77,9 +84,10 @@ html, body {
|
|
|
77
84
|
align-items: center;
|
|
78
85
|
gap: 6px;
|
|
79
86
|
outline: none;
|
|
87
|
+
text-transform: lowercase;
|
|
80
88
|
}
|
|
81
89
|
.os-btn:hover { background: var(--panel-hover, var(--os-bg-2)); color: var(--os-fg); }
|
|
82
|
-
.os-btn.active, .os-btn[aria-pressed="true"] { background: var(--os-accent); color: var(--
|
|
90
|
+
.os-btn.active, .os-btn[aria-pressed="true"] { background: var(--panel-select, var(--os-accent-soft)); color: var(--os-fg); }
|
|
83
91
|
.os-btn:focus-visible { background: var(--panel-hover, var(--os-bg-2)); }
|
|
84
92
|
.os-btn .ic { color: var(--os-accent); display: inline-flex; width: 16px; height: 16px; }
|
|
85
93
|
.os-btn .ic svg { width: 16px; height: 16px; display: block; fill: none; stroke: currentColor; }
|
|
@@ -87,9 +95,9 @@ html, body {
|
|
|
87
95
|
.os-menu {
|
|
88
96
|
position: absolute;
|
|
89
97
|
background: var(--os-bg-1);
|
|
90
|
-
border:
|
|
91
|
-
border-radius: var(--
|
|
92
|
-
padding:
|
|
98
|
+
border: none;
|
|
99
|
+
border-radius: var(--r-3, 18px);
|
|
100
|
+
padding: 8px;
|
|
93
101
|
min-width: 220px;
|
|
94
102
|
top: calc(var(--os-bar-h) + 4px);
|
|
95
103
|
left: 8px;
|
|
@@ -108,53 +116,56 @@ html, body {
|
|
|
108
116
|
color: var(--os-fg);
|
|
109
117
|
justify-content: flex-start;
|
|
110
118
|
}
|
|
111
|
-
.os-menu .os-btn:hover { background: var(--os-bg-2); color: var(--os-
|
|
119
|
+
.os-menu .os-btn:hover { background: var(--panel-hover, var(--os-bg-2)); color: var(--os-fg); }
|
|
112
120
|
|
|
113
121
|
.os-clock {
|
|
114
122
|
color: var(--os-fg-2);
|
|
115
123
|
font-variant-numeric: tabular-nums;
|
|
124
|
+
font-family: var(--os-mono);
|
|
116
125
|
padding: 0 10px;
|
|
117
126
|
font-size: 12px;
|
|
118
127
|
}
|
|
119
128
|
|
|
120
129
|
.os-task {
|
|
121
130
|
border: none;
|
|
122
|
-
background: var(--os-bg-
|
|
131
|
+
background: var(--os-bg-1);
|
|
123
132
|
color: var(--os-fg-2);
|
|
124
133
|
border-radius: 999px;
|
|
125
134
|
padding: 6px 14px;
|
|
126
135
|
font-size: 12px;
|
|
127
136
|
font-family: var(--os-font);
|
|
128
|
-
transition: background 80ms ease, color 80ms ease;
|
|
137
|
+
transition: background 80ms ease, color 80ms ease, box-shadow 80ms ease;
|
|
129
138
|
max-width: 200px;
|
|
130
139
|
cursor: pointer;
|
|
131
140
|
outline: none;
|
|
132
141
|
white-space: nowrap;
|
|
133
142
|
overflow: hidden;
|
|
134
143
|
text-overflow: ellipsis;
|
|
144
|
+
text-transform: lowercase;
|
|
135
145
|
}
|
|
136
|
-
.os-task:hover { background: var(--panel-hover, var(--os-bg-
|
|
146
|
+
.os-task:hover { background: var(--panel-hover, var(--os-bg-2)); color: var(--os-fg); }
|
|
137
147
|
.os-task.focused {
|
|
138
|
-
background: var(--os-accent);
|
|
139
|
-
color: var(--
|
|
140
|
-
font-weight:
|
|
148
|
+
background: var(--panel-select, var(--os-accent-soft));
|
|
149
|
+
color: var(--os-fg);
|
|
150
|
+
font-weight: 600;
|
|
151
|
+
box-shadow: inset 4px 0 0 var(--os-accent);
|
|
141
152
|
}
|
|
142
153
|
|
|
143
154
|
.wm-win {
|
|
144
155
|
background: var(--os-bg-1) !important;
|
|
145
|
-
border:
|
|
146
|
-
border-radius: var(--
|
|
156
|
+
border: none !important;
|
|
157
|
+
border-radius: var(--r-3, 18px) !important;
|
|
147
158
|
box-shadow: none !important;
|
|
148
159
|
overflow: hidden;
|
|
149
160
|
}
|
|
150
161
|
.wm-win.wm-focused {
|
|
151
|
-
border
|
|
152
|
-
box-shadow:
|
|
162
|
+
border: none !important;
|
|
163
|
+
box-shadow: inset 4px 0 0 var(--os-accent) !important;
|
|
153
164
|
}
|
|
154
165
|
|
|
155
166
|
.wm-bar {
|
|
156
167
|
background: var(--os-bg-2) !important;
|
|
157
|
-
border
|
|
168
|
+
border: none !important;
|
|
158
169
|
padding: 8px 12px !important;
|
|
159
170
|
gap: 10px !important;
|
|
160
171
|
}
|
|
@@ -163,38 +174,49 @@ html, body {
|
|
|
163
174
|
color: var(--os-fg-2) !important;
|
|
164
175
|
letter-spacing: 0.005em;
|
|
165
176
|
text-align: center;
|
|
166
|
-
font-weight:
|
|
177
|
+
font-weight: 600;
|
|
178
|
+
text-transform: lowercase;
|
|
167
179
|
}
|
|
168
180
|
.wm-btns { gap: 6px !important; order: -1; }
|
|
169
181
|
.wm-btn {
|
|
170
|
-
width:
|
|
171
|
-
height:
|
|
172
|
-
border-radius:
|
|
182
|
+
width: 22px !important;
|
|
183
|
+
height: 22px !important;
|
|
184
|
+
border-radius: var(--r-1, 6px) !important;
|
|
173
185
|
border: none !important;
|
|
186
|
+
background: var(--os-bg-3) !important;
|
|
187
|
+
color: var(--os-fg-2) !important;
|
|
174
188
|
padding: 0 !important;
|
|
175
189
|
cursor: pointer;
|
|
176
|
-
font
|
|
177
|
-
|
|
190
|
+
font: 600 12px var(--os-mono) !important;
|
|
191
|
+
line-height: 1 !important;
|
|
192
|
+
display: inline-flex !important;
|
|
193
|
+
align-items: center;
|
|
194
|
+
justify-content: center;
|
|
195
|
+
transition: background 100ms ease, color 100ms ease;
|
|
178
196
|
}
|
|
179
|
-
.wm-btn:hover {
|
|
180
|
-
.wm-btns .wm-btn:nth-child(1) { background: var(--os-amber) !important; }
|
|
181
|
-
.wm-btns .wm-btn:nth-child(2) { background: var(--os-green) !important; }
|
|
182
|
-
.wm-btns .wm-btn:nth-child(3) { background: var(--os-red) !important; }
|
|
197
|
+
.wm-btn:hover { background: var(--panel-hover, var(--os-bg-2)) !important; color: var(--os-fg) !important; }
|
|
183
198
|
|
|
184
199
|
.wm-resize {
|
|
185
|
-
background:
|
|
200
|
+
background: transparent !important;
|
|
186
201
|
width: 14px !important;
|
|
187
202
|
height: 14px !important;
|
|
188
|
-
|
|
203
|
+
color: var(--os-fg-3);
|
|
204
|
+
opacity: 0.4;
|
|
205
|
+
font: 10px var(--os-mono);
|
|
206
|
+
display: flex;
|
|
207
|
+
align-items: flex-end;
|
|
208
|
+
justify-content: flex-end;
|
|
209
|
+
line-height: 1;
|
|
189
210
|
}
|
|
211
|
+
.wm-resize::after { content: '\25E2'; }
|
|
190
212
|
.wm-body { background: var(--os-bg-1) !important; }
|
|
191
213
|
|
|
192
214
|
.os-side-rail {
|
|
193
215
|
position: fixed;
|
|
194
216
|
left: 0; top: 0; bottom: 0;
|
|
195
217
|
width: var(--os-rail-w);
|
|
196
|
-
background: var(--os-bg-
|
|
197
|
-
border
|
|
218
|
+
background: var(--os-bg-2);
|
|
219
|
+
border: none;
|
|
198
220
|
display: none;
|
|
199
221
|
flex-direction: column;
|
|
200
222
|
align-items: center;
|
|
@@ -215,8 +237,8 @@ html, body {
|
|
|
215
237
|
padding: 0;
|
|
216
238
|
outline: none;
|
|
217
239
|
}
|
|
218
|
-
.os-rail-btn:hover { background: var(--os-bg-
|
|
219
|
-
.os-rail-btn:active { background: var(--os-
|
|
240
|
+
.os-rail-btn:hover { background: var(--panel-hover, var(--os-bg-1)); }
|
|
241
|
+
.os-rail-btn:active { background: var(--panel-select, var(--os-accent-soft)); }
|
|
220
242
|
.os-rail-btn .ic { color: var(--os-accent); display: inline-flex; }
|
|
221
243
|
.os-rail-btn .ic svg { width: 22px; height: 22px; fill: none; stroke: currentColor; }
|
|
222
244
|
|
|
@@ -238,11 +260,12 @@ html, body {
|
|
|
238
260
|
.os-drawer-head {
|
|
239
261
|
display: flex; align-items: center; justify-content: space-between;
|
|
240
262
|
padding: 12px 16px;
|
|
241
|
-
border
|
|
263
|
+
border: none;
|
|
242
264
|
height: 56px;
|
|
243
265
|
box-sizing: border-box;
|
|
266
|
+
background: var(--os-bg-2);
|
|
244
267
|
}
|
|
245
|
-
.os-drawer-title { color: var(--os-fg); font-family: var(--os-display); font-size: 22px; font-weight: 700; letter-spacing: -0.01em; }
|
|
268
|
+
.os-drawer-title { color: var(--os-fg); font-family: var(--os-display); font-size: 22px; font-weight: 700; letter-spacing: -0.01em; text-transform: lowercase; }
|
|
246
269
|
.os-drawer-close {
|
|
247
270
|
width: 44px; height: 44px;
|
|
248
271
|
border: none; background: transparent;
|
|
@@ -252,7 +275,7 @@ html, body {
|
|
|
252
275
|
border-radius: var(--os-radius-sm);
|
|
253
276
|
outline: none;
|
|
254
277
|
}
|
|
255
|
-
.os-drawer-close:hover { background: var(--os-bg-2); color: var(--os-fg); }
|
|
278
|
+
.os-drawer-close:hover { background: var(--panel-hover, var(--os-bg-2)); color: var(--os-fg); }
|
|
256
279
|
.os-drawer-close .ic svg { width: 22px; height: 22px; fill: none; stroke: currentColor; }
|
|
257
280
|
.os-drawer-grid {
|
|
258
281
|
display: grid;
|
|
@@ -275,12 +298,13 @@ html, body {
|
|
|
275
298
|
transition: background 80ms ease;
|
|
276
299
|
outline: none;
|
|
277
300
|
border-radius: var(--r-3, 18px);
|
|
301
|
+
text-transform: lowercase;
|
|
278
302
|
}
|
|
279
303
|
.os-drawer-tile:hover { background: var(--panel-hover, var(--os-bg-2)); }
|
|
280
|
-
.os-drawer-tile:active { background: var(--panel-select, var(--os-
|
|
304
|
+
.os-drawer-tile:active, .os-drawer-tile.active { background: var(--panel-select, var(--os-accent-soft)); }
|
|
281
305
|
.os-drawer-tile .ic { color: var(--os-accent); display: inline-flex; }
|
|
282
306
|
.os-drawer-tile .ic svg { width: 32px; height: 32px; fill: none; stroke: currentColor; }
|
|
283
|
-
.os-drawer-tile .lbl { color: var(--os-fg); font-weight:
|
|
307
|
+
.os-drawer-tile .lbl { color: var(--os-fg); font-weight: 600; }
|
|
284
308
|
|
|
285
309
|
.os-spacer { flex: 1 1 auto; }
|
|
286
310
|
.os-tray { display: flex; align-items: center; gap: 6px; }
|
|
@@ -305,6 +329,7 @@ html, body {
|
|
|
305
329
|
.app-pane.mono .row:hover { background: var(--panel-hover, var(--os-bg-2)); }
|
|
306
330
|
.app-pane.mono .head { color: var(--os-accent); margin-bottom: 8px; padding-bottom: 6px; font-weight: 600; letter-spacing: 0.02em; }
|
|
307
331
|
.app-pane.mono pre { background: var(--os-bg-2); padding: 10px 12px; margin: 8px 0 0 0; max-height: 220px; overflow: auto; white-space: pre-wrap; font: 11.5px var(--os-mono); border-radius: var(--r-1, 6px); color: var(--os-fg); border: none; }
|
|
332
|
+
.app-shell-pane { margin: 0; padding: 8px; font: 12px var(--os-mono); color: var(--os-fg); background: var(--os-bg-0); height: 100%; overflow: auto; white-space: pre-wrap; box-sizing: border-box; }
|
|
308
333
|
.app-canvas { width: 100%; height: 100%; background: var(--os-bg-0); display: block; cursor: default; }
|
|
309
334
|
.app-canvas.x-display { background: #0b0d10; }
|
|
310
335
|
.app-frame { width: 100%; height: 100%; border: 0; background: var(--os-bg-0); }
|
|
@@ -350,10 +375,9 @@ html, body {
|
|
|
350
375
|
max-width: none;
|
|
351
376
|
padding: 10px 14px;
|
|
352
377
|
scroll-snap-align: start;
|
|
353
|
-
border-left: 3px solid transparent;
|
|
354
378
|
font-size: 13px;
|
|
355
379
|
}
|
|
356
|
-
.os-task.focused {
|
|
380
|
+
.os-task.focused { background: var(--panel-select, var(--os-accent-soft)); box-shadow: inset 4px 0 0 var(--os-accent); }
|
|
357
381
|
.os-side-rail { display: none !important; }
|
|
358
382
|
.os-menu { left: 8px; right: 8px; min-width: 0; top: calc(var(--os-bar-h) + env(safe-area-inset-top, 0) + 4px); }
|
|
359
383
|
.wm-root {
|
|
@@ -380,6 +404,6 @@ html, body {
|
|
|
380
404
|
.wm-bar .wm-title { pointer-events: auto; font-size: 13px !important; }
|
|
381
405
|
.wm-bar .wm-btns { pointer-events: auto; }
|
|
382
406
|
.wm-btns .wm-btn:nth-child(1), .wm-btns .wm-btn:nth-child(2) { display: none !important; }
|
|
383
|
-
.wm-btns .wm-btn:nth-child(3) { width: 44px !important; height: 44px !important; border-radius:
|
|
407
|
+
.wm-btns .wm-btn:nth-child(3) { width: 44px !important; height: 44px !important; border-radius: var(--r-1, 6px) !important; background: var(--os-bg-3) !important; color: var(--os-fg) !important; }
|
|
384
408
|
.wm-resize { display: none !important; }
|
|
385
409
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
body { margin: 0; padding: 24px; font-family: var(--os-font); background: var(--os-bg-0); color: var(--os-fg); }
|
|
2
|
+
h1 { margin: 0 0 8px 0; font-size: 22px; font-weight: 600; }
|
|
3
|
+
h3 { margin: 18px 0 6px 0; color: var(--os-fg-2); font-size: 13px; font-weight: 600; }
|
|
4
|
+
.sub { color: var(--os-fg-2); margin-bottom: 20px; }
|
|
5
|
+
table { border-collapse: collapse; width: 100%; max-width: 760px; }
|
|
6
|
+
td { padding: 6px 12px; border-bottom: 1px solid var(--os-bg-3); }
|
|
7
|
+
td.k { width: 280px; color: var(--os-fg-2); }
|
|
8
|
+
td.v { font-weight: 600; }
|
|
9
|
+
td.v.pass { color: var(--os-accent); }
|
|
10
|
+
td.v.fail { color: var(--os-red); }
|
|
11
|
+
td.v.pending { color: var(--os-amber); }
|
|
12
|
+
.all { margin-top: 16px; padding: 12px; background: var(--os-bg-1); max-width: 760px; border-radius: var(--os-radius-sm); }
|
|
13
|
+
.all.green { color: var(--os-accent); }
|
|
14
|
+
.all.red { color: var(--os-red); }
|
|
15
|
+
.err { color: var(--os-red); white-space: pre-wrap; margin-top: 12px; }
|
|
16
|
+
a { color: var(--os-accent); text-decoration: none; }
|
|
17
|
+
a:hover { color: var(--os-accent-2); }
|
|
18
|
+
iframe.osframe { position: absolute; left: -9999px; top: 0; width: 1280px; height: 900px; border: 0; }
|
|
19
|
+
iframe.osframe-phone { position: absolute; left: -9999px; top: 0; width: 414px; height: 720px; border: 0; }
|
package/src/desktop/wm.css
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* ============================================================
|
|
2
2
|
Window Manager visuals — paired with createWM() behavior
|
|
3
3
|
Tokens: --os-* (defined by desktop/theme.css)
|
|
4
|
+
Bible: tonal surfaces, no borders for chrome, inset rail for focus.
|
|
4
5
|
============================================================ */
|
|
5
6
|
|
|
6
7
|
.wm-root {
|
|
@@ -16,24 +17,25 @@
|
|
|
16
17
|
min-height: 120px;
|
|
17
18
|
background: var(--os-bg-1);
|
|
18
19
|
color: var(--os-fg);
|
|
19
|
-
border:
|
|
20
|
-
border-radius: var(--
|
|
20
|
+
border: none;
|
|
21
|
+
border-radius: var(--r-3, 18px);
|
|
21
22
|
display: flex;
|
|
22
23
|
flex-direction: column;
|
|
23
24
|
pointer-events: auto;
|
|
24
25
|
overflow: hidden;
|
|
25
26
|
}
|
|
26
|
-
.wm-win.wm-focused {
|
|
27
|
+
.wm-win.wm-focused { box-shadow: inset 4px 0 0 var(--os-accent); }
|
|
27
28
|
|
|
28
29
|
.wm-bar {
|
|
29
30
|
display: flex;
|
|
30
31
|
align-items: center;
|
|
31
|
-
padding:
|
|
32
|
+
padding: 6px 10px;
|
|
32
33
|
background: var(--os-bg-2);
|
|
33
34
|
cursor: move;
|
|
34
35
|
user-select: none;
|
|
35
36
|
gap: 8px;
|
|
36
37
|
touch-action: none;
|
|
38
|
+
border: none;
|
|
37
39
|
}
|
|
38
40
|
.wm-title {
|
|
39
41
|
flex: 1;
|
|
@@ -41,23 +43,27 @@
|
|
|
41
43
|
white-space: nowrap;
|
|
42
44
|
overflow: hidden;
|
|
43
45
|
text-overflow: ellipsis;
|
|
46
|
+
text-transform: lowercase;
|
|
44
47
|
}
|
|
45
48
|
|
|
46
49
|
.wm-btns { display: flex; gap: 4px; }
|
|
47
50
|
.wm-btn {
|
|
48
|
-
width:
|
|
49
|
-
height:
|
|
50
|
-
border:
|
|
51
|
-
background:
|
|
51
|
+
width: 22px;
|
|
52
|
+
height: 22px;
|
|
53
|
+
border: none;
|
|
54
|
+
background: var(--os-bg-3);
|
|
55
|
+
color: var(--os-fg-2);
|
|
52
56
|
cursor: pointer;
|
|
53
57
|
padding: 0;
|
|
54
|
-
font:
|
|
55
|
-
|
|
58
|
+
font: 600 12px var(--os-mono);
|
|
59
|
+
line-height: 1;
|
|
60
|
+
display: inline-flex;
|
|
56
61
|
align-items: center;
|
|
57
62
|
justify-content: center;
|
|
58
|
-
|
|
63
|
+
border-radius: var(--r-1, 6px);
|
|
64
|
+
transition: background 100ms ease, color 100ms ease;
|
|
59
65
|
}
|
|
60
|
-
.wm-btn:hover { background: var(--os-
|
|
66
|
+
.wm-btn:hover { background: var(--panel-hover, var(--os-bg-2)); color: var(--os-fg); }
|
|
61
67
|
|
|
62
68
|
.wm-body {
|
|
63
69
|
flex: 1;
|
|
@@ -70,13 +76,20 @@
|
|
|
70
76
|
position: absolute;
|
|
71
77
|
right: 0;
|
|
72
78
|
bottom: 0;
|
|
73
|
-
width:
|
|
74
|
-
height:
|
|
79
|
+
width: 14px;
|
|
80
|
+
height: 14px;
|
|
75
81
|
cursor: nwse-resize;
|
|
76
|
-
background:
|
|
77
|
-
|
|
82
|
+
background: transparent;
|
|
83
|
+
color: var(--os-fg-3);
|
|
84
|
+
opacity: 0.4;
|
|
85
|
+
font: 10px var(--os-mono);
|
|
86
|
+
line-height: 1;
|
|
87
|
+
display: flex;
|
|
88
|
+
align-items: flex-end;
|
|
89
|
+
justify-content: flex-end;
|
|
78
90
|
touch-action: none;
|
|
79
91
|
}
|
|
92
|
+
.wm-resize::after { content: '\25E2'; }
|
|
80
93
|
|
|
81
94
|
.wm-win.wm-min .wm-body,
|
|
82
95
|
.wm-win.wm-min .wm-resize { display: none; }
|