@flyos/design-system 2.6.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/flyos-design-system.mjs +309 -20
- package/fesm2022/flyos-design-system.mjs.map +1 -1
- package/package.json +1 -1
- package/scss/_nova-tokens.scss +39 -33
- package/scss/_shell-embed-bridge.scss +23 -6
- package/scss/_theme-dark.scss +35 -51
- package/scss/_theme-light.scss +57 -51
- package/types/flyos-design-system.d.ts +174 -2
- package/types/flyos-design-system.d.ts.map +1 -1
package/package.json
CHANGED
package/scss/_nova-tokens.scss
CHANGED
|
@@ -247,21 +247,15 @@ html.light-theme {
|
|
|
247
247
|
--mat-menu-solid-a: rgb(238 242 247);
|
|
248
248
|
--mat-menu-solid-b: rgb(222 229 238);
|
|
249
249
|
|
|
250
|
-
// The agent aside — the
|
|
251
|
-
//
|
|
252
|
-
//
|
|
253
|
-
//
|
|
254
|
-
//
|
|
255
|
-
//
|
|
256
|
-
//
|
|
257
|
-
//
|
|
258
|
-
|
|
259
|
-
// one — sub-AA, and measured as such by `theme-contrast.spec`. The window plate
|
|
260
|
-
// solves this with the adaptive `--fly-glass-alpha` knob; this pair is not in that
|
|
261
|
-
// set, so it takes the static equivalent instead. 0.60 is not arbitrary: it leaves
|
|
262
|
-
// 40% transmission, the same as the window plate's ratified floor, so the aside
|
|
263
|
-
// and the window beside it now let the wallpaper through by the same amount.
|
|
264
|
-
--mat-agent-a-alpha: 0.6;
|
|
250
|
+
// The agent aside — the design's translucent vertical ramp, verbatim (fidelity
|
|
251
|
+
// ruling, 2026-08-17): `Home.dc.html` draws `--mat-agent-a/-b` at 52% → 65% of the
|
|
252
|
+
// theme hue, and the desktop must look as the design does, full stop. The top stop
|
|
253
|
+
// spent a day at 0.60 (the S6.-1 fan-in bump: at 0.52 body ink measured 4.06:1
|
|
254
|
+
// over the darkest wallpaper) — that legibility debt now rides the same rails as
|
|
255
|
+
// the pinned `--mat-*` chrome plates: a measured `exempt` row in
|
|
256
|
+
// `theme-contrast.ts` SURFACES on the adverse pairing, not a value the design
|
|
257
|
+
// never drew. Do not re-thicken these; the sanctioned exit is DS-side ink work.
|
|
258
|
+
--mat-agent-a-alpha: 0.52;
|
|
265
259
|
--mat-agent-a: rgb(230 236 243 / calc(var(--mat-agent-a-alpha) * 100%));
|
|
266
260
|
--mat-agent-b-alpha: 0.65;
|
|
267
261
|
--mat-agent-b: rgb(230 236 243 / calc(var(--mat-agent-b-alpha) * 100%));
|
|
@@ -297,9 +291,22 @@ html.light-theme {
|
|
|
297
291
|
// Selector matches `_theme-dark.scss`.
|
|
298
292
|
html.dark-theme {
|
|
299
293
|
// ── Chrome + nav rail ──────────────────────────────────────────────────────
|
|
300
|
-
|
|
294
|
+
// 90%, not the design mock's 65% (RULED 2026-08-17). The `--mat-*` plates are
|
|
295
|
+
// PINNED at the mock's static alphas under the fidelity ruling — the adaptive
|
|
296
|
+
// thickening that briefly compensated for a weak ink was itself the "bar and rail
|
|
297
|
+
// are darker than Home" defect — so the ink is the ONLY legibility lever this
|
|
298
|
+
// chrome has left. At the pinned `--mat-rail-alpha: .38`, 65% ink measures 4.45:1
|
|
299
|
+
// over a mid-luminance wallpaper (sub-AA) where 90% measures 6.81:1, and it
|
|
300
|
+
// roughly halves the depth of the bright-room exemption cells that remain
|
|
301
|
+
// (`theme-contrast.ts` SURFACES carries them, measured). Weakening this back
|
|
302
|
+
// toward the mock's 65% re-fails the mid rooms — `theme-contrast.spec.ts` pins
|
|
303
|
+
// exactly that recomputation.
|
|
304
|
+
// —
|
|
305
|
+
// Hover affordance is unaffected: both the rail item and the header buttons carry
|
|
306
|
+
// hover on the BACKGROUND (`--w05` / `--tint-hover`), not on this ink delta.
|
|
307
|
+
--chrome-ink: rgb(255 255 255 / 90%);
|
|
301
308
|
--chrome-ink-hover: #fff;
|
|
302
|
-
--rail-ink: rgb(255 255 255 /
|
|
309
|
+
--rail-ink: rgb(255 255 255 / 90%);
|
|
303
310
|
--rail-stroke: rgb(255 255 255 / 12%);
|
|
304
311
|
|
|
305
312
|
// Selection family — accent-derived (the 2026-08-17 two-purples ruling, the
|
|
@@ -414,22 +421,21 @@ html.dark-theme {
|
|
|
414
421
|
--mat-menu-solid-a: rgb(32 31 37);
|
|
415
422
|
--mat-menu-solid-b: rgb(26 25 30);
|
|
416
423
|
|
|
417
|
-
//
|
|
418
|
-
//
|
|
419
|
-
//
|
|
420
|
-
//
|
|
421
|
-
//
|
|
422
|
-
//
|
|
423
|
-
//
|
|
424
|
-
//
|
|
425
|
-
//
|
|
426
|
-
//
|
|
427
|
-
//
|
|
428
|
-
|
|
429
|
-
--mat-agent-a-alpha
|
|
430
|
-
--mat-agent-
|
|
431
|
-
--mat-agent-b-alpha
|
|
432
|
-
--mat-agent-b: rgb(26 25 30 / calc(var(--mat-agent-b-alpha) * 100%));
|
|
424
|
+
// The design's aside, verbatim (fidelity ruling, 2026-08-17): ONE hue — the panel's
|
|
425
|
+
// rgb(56 54 60) — at 52% → 65%, exactly as `Home.dc.html` draws it. This pair has
|
|
426
|
+
// been alpha-1 on the menu hues (S6W: "muddy brown over warm wallpapers"), then
|
|
427
|
+
// translucent on the menu hues at 0.6/0.68 — and both retunes were measured through
|
|
428
|
+
// layers that no longer exist: the 35% wallpaper scrim their AA numbers assumed was
|
|
429
|
+
// removed by the raw-wallpaper ruling, and the mud S6W saw was the UNBLURRED
|
|
430
|
+
// wallpaper showing through (dark used to neutralise the aside's backdrop-filter;
|
|
431
|
+
// the fidelity pass restored the design's blur(16) saturate(180) brightness(.95),
|
|
432
|
+
// which is what actually averages a warm backdrop to neutral). Sub-AA cells at
|
|
433
|
+
// these values are measured `exempt` rows in `theme-contrast.ts` SURFACES, same
|
|
434
|
+
// rails as the pinned `--mat-*` chrome — do not re-thicken or re-cool these stops.
|
|
435
|
+
--mat-agent-a-alpha: 0.52;
|
|
436
|
+
--mat-agent-a: rgb(56 54 60 / calc(var(--mat-agent-a-alpha) * 100%));
|
|
437
|
+
--mat-agent-b-alpha: 0.65;
|
|
438
|
+
--mat-agent-b: rgb(56 54 60 / calc(var(--mat-agent-b-alpha) * 100%));
|
|
433
439
|
--mat-tip-a-alpha: 0.82;
|
|
434
440
|
--mat-tip-a: rgb(46 44 52 / calc(var(--mat-tip-a-alpha) * 100%));
|
|
435
441
|
--mat-tip-b-alpha: 0.86;
|
|
@@ -32,15 +32,32 @@
|
|
|
32
32
|
@mixin app-surface-on-glass {
|
|
33
33
|
// Surfaces: the window chrome supplies the material, so the app's own page
|
|
34
34
|
// background is nothing at all; cards/tracks are lifts ON that plate.
|
|
35
|
-
--bg: transparent;
|
|
36
|
-
--bg-2: var(--surface-card);
|
|
37
|
-
--bg-3: var(--fill-tertiary);
|
|
38
|
-
--bg-hover: var(--surface-active);
|
|
39
35
|
|
|
40
|
-
//
|
|
36
|
+
// LIFTS COME FROM THE NOVA RAMP, NOT FROM `--surface-card`. The design canon
|
|
37
|
+
// for content regions inside a window (MainContent.dc.html — the signals
|
|
38
|
+
// listing) is a `--w03` plate with `--w06` header bars, `--w05` row hover and
|
|
39
|
+
// `--w07` hairlines: a barely-there ink wash the window glass glows through.
|
|
40
|
+
// `--surface-card` is a different design element — the CHROME card (home
|
|
41
|
+
// widgets), which in dark is a 55% smoke (`rgb(28 28 32 / .55)`). Stacked on
|
|
42
|
+
// an already-dark window plate that composites to a near-opaque black slab —
|
|
43
|
+
// measured live on PPM's `fly-data-table`, and exactly the mismatch a
|
|
44
|
+
// side-by-side with the design shows. The ramp flips polarity per theme
|
|
45
|
+
// (white-lift on dark glass, ink-wash on light), which is also what the
|
|
46
|
+
// design's own components do — they never branch on theme.
|
|
47
|
+
--bg: transparent;
|
|
48
|
+
--bg-2: var(--w03);
|
|
49
|
+
--bg-3: var(--w06);
|
|
50
|
+
--bg-hover: var(--w05);
|
|
51
|
+
|
|
52
|
+
// Hairlines. `--line`/`--line-2` stay on the chrome separators (14% ≈ the
|
|
53
|
+
// design's `--w14` CONTROL border — FormField.dc.html inputs), which is the
|
|
54
|
+
// role `--line` now serves: containers and header underlines draw their own
|
|
55
|
+
// canon ramp step (`--w08`/`--w1`) directly in the components, the same way
|
|
56
|
+
// detail-card/detail-shell already did. Row dividers drop to the design's
|
|
57
|
+
// hairline step so they read as hairlines on a `--w03` plate.
|
|
41
58
|
--line: var(--separator);
|
|
42
59
|
--line-2: var(--surface-border);
|
|
43
|
-
--line-3: var(--
|
|
60
|
+
--line-3: var(--w07);
|
|
44
61
|
|
|
45
62
|
// Ink — opaque label tokens, never a surface token. Aliasing a translucent
|
|
46
63
|
// surface onto an ink slot is what turns a control into an empty coloured
|
package/scss/_theme-dark.scss
CHANGED
|
@@ -138,59 +138,50 @@ html.dark-theme {
|
|
|
138
138
|
--card-padding: 20px;
|
|
139
139
|
--card-gap: 14px;
|
|
140
140
|
|
|
141
|
-
// ──
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
--launcher-card-radius: 16px;
|
|
146
|
-
--launcher-card-icon-bg: rgb(255 255 255 / 8%);
|
|
147
|
-
--launcher-card-icon-border: rgb(255 255 255 / 14%);
|
|
148
|
-
--launcher-card-icon-blur: 4px;
|
|
149
|
-
--launcher-card-title: rgb(255 255 255 / 92%);
|
|
150
|
-
--launcher-card-desc: rgb(255 255 255 / 58%);
|
|
141
|
+
// ── `--launcher-card-*` — DELETED (2026-08-18) ─────────────────────────────
|
|
142
|
+
// The nine-token "dark glass variant" of a launcher tile that paints
|
|
143
|
+
// `--surface-card` inside `--window-bg` and takes its ink from the label
|
|
144
|
+
// family. No consumers in either theme; see `_theme-light.scss`.
|
|
151
145
|
|
|
152
146
|
// ── Window chrome ───────────────────────────────────────────────────────────
|
|
153
|
-
//
|
|
154
|
-
//
|
|
155
|
-
//
|
|
156
|
-
//
|
|
157
|
-
//
|
|
158
|
-
// the
|
|
159
|
-
//
|
|
160
|
-
//
|
|
161
|
-
|
|
147
|
+
// ONE GLASS FAMILY (RULED 2026-08-17, second window ruling of the day): the
|
|
148
|
+
// window wears the CHROME material — the magic bar / nav rail recipe — not the
|
|
149
|
+
// mock's content-panel plate. The first fidelity pass shipped `panelStyle`
|
|
150
|
+
// verbatim (quartet glow + sheen over `--mat-panel` .55, blur 72), and it WAS
|
|
151
|
+
// byte-exact — a pixel-accurate render over `tropical.jpg` reproduced the shell
|
|
152
|
+
// to the digit — but the .55 plate over the darker wallpaper midfield read as a
|
|
153
|
+
// separate, muddier glass beside the .38 chrome, and the owner ruled the shell
|
|
154
|
+
// shows one family: flat `--mat-rail` fill, `--w16` hairline, the `--w2`
|
|
155
|
+
// half-pixel inset, `blur(36px) saturate(180%)`. The drop pair stays the
|
|
156
|
+
// design's window shadow (16/40 + 4/10) — a floating window still needs a
|
|
157
|
+
// window's elevation, and the shadow does not touch the plate colour.
|
|
158
|
+
// The AA ladder re-measures on the thinner plate; sub-AA cells ride the exempt
|
|
159
|
+
// rails in `theme-contrast.ts` as measured rows, same as every other pin.
|
|
160
|
+
--window-bg: var(--mat-rail);
|
|
162
161
|
--window-radius: 24px;
|
|
163
|
-
--window-blur:
|
|
164
|
-
--window-backdrop-saturate:
|
|
165
|
-
--window-shadow: 0
|
|
166
|
-
--window-border: var(--
|
|
167
|
-
--window-specular: inset 0
|
|
168
|
-
inset 0 -1px 0 rgb(255 255 255 / 6%);
|
|
162
|
+
--window-blur: 36px;
|
|
163
|
+
--window-backdrop-saturate: 180%;
|
|
164
|
+
--window-shadow: 0 16px 40px rgb(0 0 0 / 20%), 0 4px 10px rgb(0 0 0 / 10%);
|
|
165
|
+
--window-border: var(--w16);
|
|
166
|
+
--window-specular: inset 0 0.5px 0 var(--w2);
|
|
169
167
|
--window-content-scrim: transparent;
|
|
170
168
|
|
|
171
169
|
// ── Titlebar ────────────────────────────────────────────────────────────────
|
|
172
|
-
|
|
170
|
+
// The design's in-window header row (`MainContent.dc.html`): a `--w06` strip
|
|
171
|
+
// over a `--w1` bottom hairline (the hairline is authored in
|
|
172
|
+
// `_window-titlebar.scss` — it is structure, not a theme value).
|
|
173
|
+
--titlebar-bg: var(--w06);
|
|
173
174
|
--titlebar-height: 44px;
|
|
174
175
|
--titlebar-padding: 0 14px;
|
|
175
176
|
|
|
176
|
-
// ──
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
//
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
--menubar-text: var(--label-primary);
|
|
185
|
-
--menubar-blur: 40px;
|
|
186
|
-
--menubar-radius: 24px;
|
|
187
|
-
|
|
188
|
-
// ── Sidebar ─────────────────────────────────────────────────────────────────
|
|
189
|
-
--sidebar-bg: rgb(18 18 22 / 72%);
|
|
190
|
-
--sidebar-border: var(--material-glass-stroke);
|
|
191
|
-
--sidebar-width: 60px;
|
|
192
|
-
--sidebar-icon-size: 36px;
|
|
193
|
-
--sidebar-radius: 28px;
|
|
177
|
+
// ── `--dock-*` / `--menubar-*` / `--sidebar-*` — DELETED (2026-08-18) ───────
|
|
178
|
+
// Three surfaces this shell does not have, described in fifteen tokens. The
|
|
179
|
+
// mobile dock is `bottom-nav` and it takes `glass.chrome`; there is no menubar
|
|
180
|
+
// and no sidebar. Their last references — `--dock-bg` in ~300 lines of dead
|
|
181
|
+
// CSS in `desktop-icons.component.scss`, `--dock-blur`/`--dock-border` in
|
|
182
|
+
// `tasks-panel` — went in the same sweep. See `_theme-light.scss` for why they
|
|
183
|
+
// were deleted rather than left: 40px/50px blurs and 60–80% fills advertised
|
|
184
|
+
// to whoever goes looking for a shell plate, beside the three ratified tiers.
|
|
194
185
|
--focus-ring: color-mix(in srgb, var(--accent) 60%, transparent);
|
|
195
186
|
|
|
196
187
|
// ── Button selected state — white-tint pill on dark surface ─────────────────
|
|
@@ -214,12 +205,5 @@ html.dark-theme {
|
|
|
214
205
|
--window-bg: #141416;
|
|
215
206
|
--window-blur: 0px;
|
|
216
207
|
--window-backdrop-saturate: 100%;
|
|
217
|
-
--dock-bg: #121214;
|
|
218
|
-
--dock-blur: 0px;
|
|
219
|
-
--menubar-bg: #0e0e10;
|
|
220
|
-
--menubar-blur: 0px;
|
|
221
|
-
--sidebar-bg: #121214;
|
|
222
|
-
--launcher-card-bg: #1c1c1f;
|
|
223
|
-
--launcher-card-blur: 0px;
|
|
224
208
|
}
|
|
225
209
|
}
|
package/scss/_theme-light.scss
CHANGED
|
@@ -78,8 +78,9 @@ html.light-theme {
|
|
|
78
78
|
--surface-section: rgb(255 255 255 / 35%);
|
|
79
79
|
--surface-card: rgb(255 255 255 / 20%);
|
|
80
80
|
|
|
81
|
-
// The substrate plate alpha — ONE knob,
|
|
82
|
-
// `--dock-bg
|
|
81
|
+
// The substrate plate alpha — ONE knob, two consumers (`--window-bg`, `--glass-bg`; the
|
|
82
|
+
// third, `--dock-bg`, went with the dead dock tokens below).
|
|
83
|
+
// 0.6 is the ratified static plate; `WallpaperGlassService` overrides it at
|
|
83
84
|
// runtime with the thinnest alpha in [0.6, 0.7] that keeps the WEAKEST substrate body ink
|
|
84
85
|
// (`--text-color-secondary`, 78%) at AA over the ACTIVE wallpaper. Over bright and mid rooms
|
|
85
86
|
// that is 0.6 itself; over a starfield-dark room it steps to 0.62 (0.6 measures 4.51:1 there —
|
|
@@ -151,55 +152,67 @@ html.light-theme {
|
|
|
151
152
|
--card-padding: 20px;
|
|
152
153
|
--card-gap: 14px;
|
|
153
154
|
|
|
154
|
-
//
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
//
|
|
164
|
-
//
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
//
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
//
|
|
172
|
-
//
|
|
155
|
+
// ── `--launcher-card-*` — DELETED (2026-08-18) ─────────────────────────────
|
|
156
|
+
// Nine tokens "matching the Figma frosted glass card spec" for a launcher tile
|
|
157
|
+
// that paints `--surface-card` inside `--window-bg` and reads its ink from the
|
|
158
|
+
// label family. A note here already recorded that `--launcher-card-bg` had no
|
|
159
|
+
// consumers; the truth was that none of the nine did. They carried a 50px blur
|
|
160
|
+
// and a 30–45% fill — a plate recipe nothing painted, next to the three tiers
|
|
161
|
+
// the language actually has.
|
|
162
|
+
|
|
163
|
+
// ── Window chrome ───────────────────────────────────────────────────────────
|
|
164
|
+
// ONE GLASS FAMILY, light half (2026-08-18). Dark's ruling put the window on
|
|
165
|
+
// the CHROME material — the magic bar / nav rail recipe — and this block kept
|
|
166
|
+
// the panel family whole: `.46`-class fill, the 72px panel blur, the `--w18`
|
|
167
|
+
// rim and the `--w22` inset. Only the FILL ever had a reason.
|
|
168
|
+
// —
|
|
169
|
+
// The fill genuinely diverges and stays: the mock's static `--mat-panel` plate
|
|
170
|
+
// (.46 pale slate) measures 2.74:1 for window BODY text over the dark-wallpaper
|
|
171
|
+
// majority — 2.0:1 for tertiary — which is app content unreadable in the light
|
|
172
|
+
// theme's common case, not a label on an adverse pairing. The exemption
|
|
173
|
+
// mechanism is for edges, not for the main reading surface, so the adaptive
|
|
174
|
+
// white `--fly-glass-alpha` composition stays: the thinnest white plate that
|
|
175
|
+
// holds the weakest body ink at AA over the CURRENT wallpaper (0.6 floor, one
|
|
176
|
+
// step more white over a dark room). Over bright rooms — the pairing the mock
|
|
177
|
+
// actually draws — the two plates are near-identical anyway.
|
|
178
|
+
// —
|
|
179
|
+
// The other three carried NO contrast argument. Blur radius, rim step and
|
|
180
|
+
// specular step do not enter a contrast calculation at all — they came along
|
|
181
|
+
// because the panel recipe was copied whole — and while they stayed, a light
|
|
182
|
+
// window read as a different glass from the light rail beside it: the exact
|
|
183
|
+
// complaint the dark ruling answered, still live on the other theme. They now
|
|
184
|
+
// match `glass.chrome`: 36px tier, `--w16` hairline, `--w2` inset.
|
|
185
|
+
// —
|
|
186
|
+
// What is left is one honest divergence (the fill, with a measured floor)
|
|
187
|
+
// instead of four, three of which nobody had decided.
|
|
173
188
|
--window-bg: rgb(255 255 255 / calc(var(--fly-glass-alpha) * 100%));
|
|
174
189
|
--window-radius: 24px;
|
|
175
|
-
--window-blur:
|
|
176
|
-
--window-backdrop-saturate:
|
|
177
|
-
--window-shadow: 0
|
|
178
|
-
--window-border:
|
|
179
|
-
--window-specular: inset 0
|
|
180
|
-
inset 0 -1px 0 rgb(255 255 255 / 16%);
|
|
190
|
+
--window-blur: 36px;
|
|
191
|
+
--window-backdrop-saturate: 180%;
|
|
192
|
+
--window-shadow: 0 16px 40px rgb(0 0 0 / 20%), 0 4px 10px rgb(0 0 0 / 10%);
|
|
193
|
+
--window-border: var(--w16);
|
|
194
|
+
--window-specular: inset 0 0.5px 0 var(--w2);
|
|
181
195
|
--window-content-scrim: transparent;
|
|
182
196
|
--app-content-plate: transparent;
|
|
183
|
-
--titlebar-bg:
|
|
197
|
+
--titlebar-bg: var(--w06);
|
|
184
198
|
--titlebar-height: 44px;
|
|
185
199
|
--titlebar-padding: 0 14px;
|
|
186
200
|
|
|
187
|
-
//
|
|
188
|
-
//
|
|
189
|
-
//
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
--sidebar-radius: 28px;
|
|
201
|
+
// ── `--dock-*` / `--menubar-*` / `--sidebar-*` — DELETED (2026-08-18) ───────
|
|
202
|
+
// Fifteen tokens describing three surfaces this shell does not have. The
|
|
203
|
+
// "dock" and "top Finder bar (`.topbar-glass`)" the comment here named were
|
|
204
|
+
// gone; the menubar and sidebar never shipped at all. The last three
|
|
205
|
+
// references were `--dock-bg` in ~300 lines of dead CSS in
|
|
206
|
+
// `desktop-icons.component.scss`, and `--dock-blur`/`--dock-border` in
|
|
207
|
+
// `tasks-panel`, both fixed in the same sweep. (`--dock-dd-gap` is a
|
|
208
|
+
// different, live token — it is defined locally in `magic-bar-cluster`, not
|
|
209
|
+
// here.)
|
|
210
|
+
// —
|
|
211
|
+
// Deleted rather than left harmless because they were not harmless: they
|
|
212
|
+
// advertised 40px/50px blurs and 60–80% fills to anyone who went looking for a
|
|
213
|
+
// shell plate — a menu of answers the Nova language does not contain, next to
|
|
214
|
+
// the three tiers it does. The same reasoning retired the pre-Nova
|
|
215
|
+
// `glass-panel` mixin family in `src/styles/_mixins.scss`.
|
|
203
216
|
--focus-ring: color-mix(in srgb, var(--accent) 50%, transparent);
|
|
204
217
|
|
|
205
218
|
// Segmented `.fos-btn.selected` / `.active` (Settings theme row, clock, weather, etc.): dark pill on light UI.
|
|
@@ -259,12 +272,5 @@ html.light-theme {
|
|
|
259
272
|
--window-bg: #f7f8fa;
|
|
260
273
|
--window-blur: 0px;
|
|
261
274
|
--window-backdrop-saturate: 100%;
|
|
262
|
-
--dock-bg: #f4f5f7;
|
|
263
|
-
--dock-blur: 0px;
|
|
264
|
-
--menubar-bg: #f7f8fa;
|
|
265
|
-
--menubar-blur: 0px;
|
|
266
|
-
--sidebar-bg: #f4f5f7;
|
|
267
|
-
--launcher-card-bg: #fff;
|
|
268
|
-
--launcher-card-blur: 0px;
|
|
269
275
|
}
|
|
270
276
|
}
|