jules 37c7ed3e96
Some checks failed
validate theme / validate (push) Has been cancelled
Derive primary-button gradient from --primary; narrow calm bg to violet family
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
2026-05-18 22:15:32 +10:00

lib-theme-prism

Crystal-clear glass theme. Iridescent multi-hue palette (lavender → peach → cyan → mint) refracted through frosted-glass surfaces.

Forked from lib-theme-skyrise with four product-driven changes that became theme-wide:

  1. Bakes in --warning + --warning-foreground — any product that displays health or risk needs warning semantics in both modes. Skyrise had it; pristine did not.
  2. Adds a --text-hero size step (3.5rem) above display, for KPI hero numbers and editorial mastheads. Exposed as text-hero once the consuming app maps it into Tailwind's @theme inline.
  3. Ships a .num utilityfont-feature-settings: "tnum","ss01","cv01", font-variant-numeric: tabular-nums, letter-spacing: 0. Apply to any element that displays money or counts. Non-negotiable on finance numbers; useful anywhere digits matter.
  4. Redesigned dark-mode background. Skyrise's dark blobs sat at L≈0.18 with chroma ≈0.12, which clipped to muddy gray near OKLCH gamut edges. Prism pushes the four corner glows to L≈0.30 with lower chroma (0.060.09) over a cleaner near-black base. They read as soft brand-accent light rather than tinted fog.

Also dropped: the 11 background atmospheres and 4 surface tints skyrise shipped for white-label flexibility. Prism picks one brand surface (light + dark) and ships it. If alternates return, re-import them from skyrise.

Install

Sibling-clone like the other Crema themes:

your-workspace/
  your-app/
  lib-theme-prism/             ← this dir
  lib-action-bus/
  ...

In the consuming app's app/app.css, swap the active theme import:

@import "../../lib-theme-prism/theme.css";   /* CREMA:THEME */

Then load the fonts at the very top of app.css (Google Fonts URL):

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400..700&family=Instrument+Sans:wght@400..700&family=Geist+Mono:wght@400..600&display=swap");

And expose the hero size step + --font-heading to Tailwind in your @theme inline block:

@theme inline {
    --font-heading: "Instrument Sans", "Inter", sans-serif;
    --text-hero: var(--text-hero-size);
    --text-hero--line-height: var(--text-hero-lh);
    /* … plus the usual --color-* mappings the lib expects */
}

What's in the box

  • Iridescent lavender→peach→cyan→mint light surface (the brand)
  • Clean deep-violet dark surface with four soft corner glows
  • Glass surfaces (blur + saturate + brightness stack) on every shadcn [data-slot]
  • Apple-style spring physics motion tokens
  • Premium primary button gradient + wet-sheen highlight
  • AI orb avatar (rainbow conic) — opt in via <AvatarFallback data-ai>
  • Heading face: Instrument Sans 600 / -0.02em
  • Body face: Inter 17px (1.0625rem), letter-spacing: -0.011em
  • Mono: Geist Mono
  • .num utility — slashed zero, tabular nums, zero tracking
  • --text-hero / --text-display / --text-headline / --text-title / --text-body / --text-label / --text-caption
  • Full semantic colour set: primary, secondary, accent, muted, destructive, success, warning + foregrounds
  • 5-step --elevation-{1..5} shadow scale (primary-tinted at e4/e5)

What's not

  • Background atmosphere variants (pearl, linen, mist, …) — strip from DisplayMenu too.
  • Surface tints (snow, stone, sage, slate) — same.
  • Multiple syntax themes.

If you need either, fork back to lib-theme-skyrise.

Origin

Born inside skyai-finance as lib-theme-skyai-finance during a craft pass on the finance dashboard. Renamed and extracted once the choices stabilised and a senior-designer review confirmed the system was generalisable beyond finance KPIs.

Description
Crystal-clear glass theme for Crema apps. Lifted from skyai-finance; fork of lib-theme-skyrise with .num utility, --text-hero, --warning baked in, and a redesigned dark-mode background.
Readme 93 KiB
Languages
CSS 100%