Teyvat PaletteTeyvat colour cards
Scene library
GitHub
Gallery
Xigu Antiques Tended in Warm Lamplight
TenderWell-wornAmber-dim

Xigu Antiques Tended in Warm Lamplight

Palette

Click a swatch to copy its HEX; hover for the OKLCH value.

Reconstructed gradient

The gradient distilled from the scene, unrolled left to right by stop; the authored angle is 180° (used by the hero and exports), while gallery cards share a uniform 135° sweep.

0%ec9d3f20%77382a38%ee810066%49343888%934228100%7c625e

Why it works

A coloured lamp levies a fixed hue tax, and whether a thing can pay it is decided by the material's own chroma, not by how brightly it is lit: in a shop full of porcelain and hanging scrolls, the big jar at the right end of the counter measures chroma 0.021 — under the achromatic line, with no hue to report at all. The one thing in the frame that keeps a cool hue is the shopkeeper's robe: L 0.29, the darkest large field in the picture, chroma 0.061, hue 311°. If you want an object to stay itself under a lamp, don't move it into shadow — take its intrinsic chroma above the lamp's.

01

A shop full of porcelain, and not one piece is cool

The lamp shuts 84.37% of the frame into 345°–90° (red 7.95%, orange 61.28%, yellow 15.14%). The other half of the wheel, 150°–330°, holds 45,540 pixels (5.17%) at a mean chroma of 0.043, below the frame's median of 0.071. Measured piece by piece it is more thorough still: the white vase on the shelf at L 0.40 / chroma 0.056 / 31°, the big jar at the right end of the counter at 0.37 / 0.021 / 356°, the celadon on the right at 0.38 / 0.037 / 33°, the two hanging landscape scrolls at 0.53 / 0.045 / 56° and 0.48 / 0.042 / 30° — not one of them lands in 90°–330°. These objects' own colours were spread over half the wheel; now they are packed into a single 30°-wide stretch.

02

What survives is not the shadow

Intuition says colour survives wherever the lamp cannot reach, and this picture refutes it. The shopkeeper's robe is L 0.29, chroma 0.061, hue 311° — the darkest large field in the frame, holding the cool side firmly. The two pillar plinths are equally in shadow at the same lightness of 0.30, but their chroma is only 0.036 and 0.033, and the hues reported are 353° and 314° — the same stone, 39° apart. Those are not two colours; that is what hue looks like when there is not enough chroma to carry it. Darkness only guarantees that a surface is not pushed further; it does not produce hue by itself. The only thing that withstands a coloured lamp is a material's own chroma.

03

The lamp's own saturation is the line

That line is measurable. The frame's chroma ceiling of 0.230 sits on the lantern (its most saturated 3% reads L 0.61 / 0.215 / 32°), and the signboard's most saturated 3% reads L 0.66 / 0.178 / 44°. Everything ordinary that those two light, however, is pressed under 0.08 — the counter inside at 0.031, the stone terrace outside the eaves at 0.034, the shelving at 0.073 — and only the pillars, painted cinnabar to begin with, reach 0.094. How saturated a lamp is and how saturated it can dye everything else are two different numbers: a dyed surface receives the light's hue plus a very little chroma, never the light's chroma. So when you design a coloured lamp, decide first how much of its own chroma a lit surface is allowed to keep. Anything below that line does not change colour under the lamp — it loses colour, and the jar's 0.021 is what that looks like.

Take these colours with you

CSS variables, a Tailwind v4 theme or SVG — one click to copy into your project.

/* Xigu Antiques Tended in Warm Lamplight · Xigu Antiques Tended in Warm Lamplight — Teyvat Palette */
:root {
  --signboard-gold: oklch(0.76 0.142 67); /* Signboard Gold #ec9d3f */
  --lantern-amber: oklch(0.71 0.171 58); /* Lantern Amber #ee8100 */
  --pillar-cinnabar: oklch(0.46 0.094 28); /* Pillar Cinnabar #85413a */
  --shop-umber: oklch(0.35 0.031 6); /* Shop Umber #493438 */
  --keeper-indigo: oklch(0.29 0.061 311); /* Keeper's Indigo #352241 */
  --terrace-stone: oklch(0.52 0.034 27); /* Terrace Stone #7c625e */
  --door-rug: oklch(0.48 0.117 38); /* Door Rug #934228 */
  --gradient-xigu-antiques-tended: linear-gradient(180deg, oklch(0.76 0.142 67) 0%, oklch(0.42 0.091 34) 20%, oklch(0.71 0.171 58) 38%, oklch(0.35 0.031 6) 66%, oklch(0.48 0.117 38) 88%, oklch(0.52 0.034 27) 100%);
}

A 1080×1350 PNG carrying the scene, its palette and every value — save it and post it as is.