style: the ribbon takes the logo's colours

--w-accent is the logo's slate instead of Word's blue (5.1:1 on the chrome,
carries white), and the clay marks the contextual tabs — the pair meets where
those sit beside the normal ones. Both defined once from favicon.svg; the
label tone is darkened, the clay itself only 3.3:1 on white.
This commit is contained in:
Steffen Becker committed 2026-08-16 14:12:30 +02:00
1 parent 9b14d1654f
commit b3e5a1c8a9
3 files changed
+40 -26

No files matched your search

+10 -4
View File
@@ -22,17 +22,23 @@ chrome is mounted at a time, so the two sets never coexist.
## Palette
Word's greys live in `--w-*` in `global.css` — its own token set, not the app's, so the two
chromes can look nothing alike while sharing a theme. Accent `--w-accent: #185abd`; the tab's
chromes can look nothing alike while sharing a theme. The accent is **not** Word's blue but the
logo's slate, `--brand-slate` (`#4c6c8a`, 5.1:1 on the chrome and carries white); the tab's
active underline is 2.5px **inset 13px from each side**, not a full-width border.
The logo's other colour, `--brand-clay`, marks the **contextual tabs** — the ones that exist only
for the selected object — as their 2px bar, over a `--w-contextual` label darkened to stay
readable (the clay itself is 3.3:1 on white). Both brand tokens are defined once, from
`favicon.svg`; the classic chrome's island hairline already gradients between the same pair.
`.ribbon` remaps the app's own tokens onto that palette (`--color-surface`, `--color-primary`,
`--toolbar-btn-size`, …). Custom properties inherit, so every reused picker — `ColorPicker`,
`HistoryButton`, `TablePicker`, `TableStylePicker`, the border pickers — adopts the ribbon's look
with no edit of its own, while the classic toolbar keeps the themed set.
**Dark** flips only the colours — every metric holds, so it is the same ribbon. The values are
Word's dark mode: Fluent's dark neutrals, chrome `#1f1f1f` on surface `#292929`, and the accent
lightened to `#479ef5` because `#185abd` on a dark chrome is unreadable. AllBlack goes on to
**Dark** flips only the colours — every metric holds, so it is the same ribbon. The neutrals are
Word's dark mode: Fluent's dark neutrals, chrome `#1f1f1f` on surface `#292929`; both brand tones
lighten (`#8fb3cd` / `#e2916f`), unreadable on a dark chrome otherwise. AllBlack goes on to
Word's Black theme (`#0f0f0f`), since the app's AllBlack canvas is darker than its dark one.
That lightened accent cannot also carry white text, so a **second** pair exists for the one place