Commit Graph

10 Commits

Author SHA1 Message Date
jules
30ef4c71cf Name a foreground for each chart tint
An avatar filled with a chart colour drew its initials in white, on the
assumption that every tint is dark enough to carry it. Measured, white
clears AA on two of the ten tint-and-mode combinations: a palette is
tuned so series stay distinct from each other, and dark mode lifts every
tint to stay visible against the dark ground, which puts all five out of
reach. The reported 3.4:1 assistant avatar was dark chart-1, at 3.36.

Each tint now names its own foreground, chosen by measurement — worst
chosen pair 5.32:1. Consumers read them with a white fallback, so a theme
that has not defined them renders exactly as it did.
2026-08-09 09:50:34 +08:00
jules
c2a414589b Stop menus being windows
--popover sat at card alpha, but a card and a menu are not the same kind
of surface: a card rests on the page background, while a menu floats over
whatever happens to be underneath it. In dark mode, over the aurora field
at its most saturated, the text behind a dropdown read straight through
the list of items — the two most-used menus in Canvas (the chat switcher
and the account menu) looked broken every time they opened.

Raised to 0.94/0.95. The backdrop blur still carries the depth, so the
glass reads as glass; it just stops being transparent. Every app that
defines --popover for a surface variant already used a fully opaque
value, so this only aligns the default with what each of them had
already decided independently.
2026-08-08 08:34:00 +08:00
jules
10455e5df7 theme: add --info/--destructive-foreground/--text-subtitle; opt-in font-scale
Some checks failed
validate theme / validate (push) Has been cancelled
Root font-size 18px moved behind html[data-font-scale=lg] so theme switches
are restyle-only. Conforms to the v1 token contract.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 13:45:33 +10:00
jules
37c7ed3e96 Derive primary-button gradient from --primary; narrow calm bg to violet family
Some checks failed
validate theme / validate (push) Has been cancelled
Two color-coherence fixes driven by me.sky-ai.com's UI review:

- The premium button gradient was a fixed 290→350 sweep that ended in
  hot pink, so CTAs read magenta against violet nav/links — and ignored
  the data-palette accents entirely. It now derives from var(--primary)
  with a subtle ±12° hue sweep (relative color syntax; degrades to the
  solid primary fill on older browsers). Dark mode needs no override —
  it follows dark's --primary. Affects all Prism consumers.

- The calm background variant (consumer surfaces) narrows from the full
  rainbow (violet/pink/cyan/mint corners) to an analogous violet family
  (periwinkle 245 → lavender 280 → violet 295 → pink 330), light + dark,
  including calm-specific aurora drift blobs. The cyan/green corners sat
  opposite the violet brand and made pages read as four brands at once.
  Full-strength drift is untouched.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:41:39 +10:00
jules
f688b2b343 Add calm background variant (body[data-bg=calm])
Some checks failed
validate theme / validate (push) Has been cancelled
Full-strength drift floods short consumer pages — the white glass
surfaces cluster and the app reads as a card floating on a poster
(diagnosed on me.sky-ai.com). Calm keeps the same hue story at about
half the stain: corner gradients ~45% alpha, drift blobs at 0.4. Dark
mode keeps its standard gradients (already calm); only the drift layer
eases to 0.7.

Opt-in per consumer app; drift stays the default.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 13:47:54 +10:00
jules
d38352fcc6 Add --heading-family/--body-family utility font tokens
Some checks failed
validate theme / validate (push) Has been cancelled
Distinct names (mirroring --font-heading/--font-sans) so a consuming app's @theme inline can indirect to them without colliding with Tailwind's own font-* namespace.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 22:52:36 +10:00
jules
f41849a3fd feat: add sky/rose/sage accent palettes
Some checks failed
validate theme / validate (push) Has been cancelled
Light + dark `[data-palette=...]` blocks. Violet stays default.
Overrides only Prism-defined vars (primary/accent/ring/chart-1/
sidebar-*/chat-user-bg/syntax-keyword) — avoids carrying Avalon-
only vars. Consumed by arcadia-personal-cloud-web's accent picker.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-08 15:08:51 +10:00
jules
a3369608b6 feat: add --chat-* surface tokens
Some checks failed
validate theme / validate (push) Has been cancelled
Five tokens (light + dark) for the chat bubble contract consumed by
lib-agent-chat-ui / lib-agent-dock-ui: --chat-user-bg/-fg and
--chat-assistant-bg/-fg/-border. User bubble is a filled, deep,
high-contrast panel with light text; assistant bubble is card-like
with a hairline border.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 10:27:53 +10:00
jules
c3d86506bb rename: skyai-finance → prism
Some checks failed
validate theme / validate (push) Has been cancelled
Lifted from skyai-finance into a standalone theme once the choices
stabilised. New name earns itself twice: the literal glass refraction,
and the hue spectrum the corner glows span (lavender → peach → cyan → mint).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 22:15:32 +10:00
jules
8ba09b5db3 feat: initial — fork skyrise for finance product
- Bakes in --warning / --warning-foreground (light + dark).
- Adds --text-hero size step (3.5rem) above display, for KPI heroes.
- Ships a .num utility (tabular-nums + slashed-zero + zero tracking).
- Redesigned dark-mode background: corner glows pushed to L≈0.30 with
  lower chroma over a clean near-black base — reads as soft brand-accent
  light instead of skyrise's muddy gamut-fringe blobs.
- Drops 11 background atmospheres + 4 surface tints — focused product theme.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 22:02:38 +10:00