Sistine
OKLCH ramps
Ramps for your current theme color: its hue tracks the top-menu tint, so picking a theme instantly re-rolls these. Tune lightness, chroma and steps below; all four ramps build from the same base via lib/oklch-utils. The base is centered in each; click a swatch to copy it.
Neutral theme → achromatic (gray). Change it from the top-menu tint switcher.
Base
oklch(60.0% 0.000 255.0)
Lightness60%
Chroma0 · neutral
Steps each side12
Hue ramp
Chroma ramp · 0 → sRGB max
Lightness ramp
Tonal ramp · gamut-safe tints & shades (sRGB)
Your color on glass · real components: top-menu style + your tint
BadgeSecondaryDestructive

Real <Button> / <Badge> components: they follow the glass style from the top menu and take your color as their tint. Glass text uses the APCA foreground (Lc 104 on this surface); destructive keeps its red.

Gradient schemes

The oklch gradient generator (lib/gradient-utils): four harmony schemes from one base hue, plus a stable seeded gradient: all emitted as linear-gradient(… in oklch).

complementary
analogous
triadic
monochromatic
seeded("sistine"): deterministic per string

Harmonic color tokens

CSS custom properties derived from the harmony anchor hue (--harmony-h), no JS. Each is calc(var(--harmony-h) + N°), and they follow the active theme: switch it from the header (◇) to see the harmony in context. Selenite + moonstone anchor the wheel at , so their accents stay a colorful red-based set.

One row per harmony style: --hue-* angle tokens at a fixed illustrative chroma (mono row: --mono-1..3)

Complement
base
+180
Analogous
−30
base
+30
Split
base
+150
+210
Triad
base
+120
+240
Tetrad
base
+60
+180
+240
Square
base
+90
+180
+270
Monochromatic
mono-1
mono-2
mono-3

--color-*: ready tokens at a fixed vivid chroma (colorful in every theme, incl. selenite/moonstone)

complement
analogous-1
analogous-2
split-1
split-2
triad-1
triad-2

Alpha tiers: accent at 0.04 → 0.5

Crystal flavors: white · tonal · hue

The crystal shine has three flavors (data-gloss): White is the classic flat specular, Tonal is a tonally-close single-hue tint of the theme, and Hue is iridescent: the highlight sweeps hues shifted up & down from the tint. The knobs apply site-wide, so switching the glass style to Crystal shows the same everywhere.

Selenite
Rose
Amber
Aventurine
Sapphire
Amethyst
Light· follows the theme (day/night)97% · auto
Tint· theme-chroma ×4.25
Direction · streak diagonal

Foreground source

Pick the text foreground ramp, Tonal or Linear, and it sets the site's text palette live (via AutoForeground), band-picked for legibility (ARC Bronze). The panel below is a single glass-solid card on the page background, the real surface text sits on, so its Lc matches production. Tune the base color in the generator above; icons are demoed separately (lightness solved for the ui band at any hue).

Solid 65%
white (readable)baseblack (toward bg)
107
100
Fn
93
86
Bd
79
73
67
Lg
61
55
49
44
39
·
34
27
21
16
10
0
0
0
0
0
0
0
0
Large heading
Body copy: the quick brown fox jumps over the lazy dog.
Fine print: the quick brown fox jumps over the lazy dog.
icons · readableForeground(ui): Lc 60
thinlightregularboldfillgearheartstarbellsearch
tiercolorLchromaLc / band
large / heading77%0.00061 / 4576
body (default)87%0.00079 / 7590
fine / small93%0.00093 / 90100

Picking a ramp sets the site's text foreground live. The strip is the full Linear ramp (via themeForeground): extreme → base → extreme; each tier takes the swatch in its [floor–ceiling] band nearest target, so fine stays ≥ 90 (a floor, not a cap). Lc is modeled on the solid floor. Linear holds the theme's chroma; Tonal fades toward gray. Icons are separate: readableForeground solves lightness for the ui band at your chosen harmonic angle (complement / triad / split / tetrad / square, the same --hue-* tokens as the swatches), so they stay legible while tracking the theme.