Halation
Halation is the glow that escapes a bright edge.
Its pictures are drawn in Bloomline.
Download DESIGN.md
Tokens, rules and the paired art style Bloomline.
Preview
Typography
Each face set in this language's own words.
Halation
Halation
Halation is the glow that escapes a bright edge.
Halation is the glow that escapes a bright edge.
Specification
Philosophy
summary
Halation is the glow that escapes a bright edge. One confident hairline draws the form and colour blooms out from it like mist over a near-white field. Emphasis is a glow, never a block. The page is one full-bleed Bloomline picture with the headline on its calm ground, one floating glass panel, one quiet form and one closing sentence, in a serif with a soft hand and a clean humanist sans.
It values
- Atmosphere over decoration
- Glow, not fill, for emphasis
- One line draws the form
- Calm pacing with room to breathe
- Honest status: a word beside every colour
It refuses
- Dense dashboards
- Hard borders and drop shadows
- Stock quotes, stat rows and three matching cards
- Scrims and veils over the picture
- Saturated solid fields
visual character
- A full-bleed hairline songbird whose body dissolves into periwinkle and mint blooms, with the headline on the calm ground beside it.
- Blurred radial blooms behind the panel and the closing sentence.
- One translucent white glass panel with a 24px radius and a soft indigo shadow.
- One italic accent word that glows in #4F5BDB.
- Pill buttons in #4F5BDB with a halo shadow that widens on hover.
lineage
Revised in place from the live Halation (en-019efa16-d17d-7320-a992-4f271c14b4c2): the same periwinkle and mint bloom family, glass and hairline bird, with a deeper accent for AA, new fonts and a calmer page order.
Tokens
colors14
derived5
- bloom periwinkle
- radial wash of rgba(111,124,255,0.42) fading to transparent at 65%, blurred 90px
- bloom mint
- radial wash of rgba(142,216,210,0.45) fading to transparent at 65%, blurred 90px
- glass blur
- backdrop blur 18px
- focus glow
- 0 0 0 2px accent plus 0 0 28px rgba(111,124,255,0.35)
- em glow
- text-shadow 0 0 36px rgba(111,124,255,0.45) on the one accent word
typography11
- heading font
- Fanwood Text
- body font
- Kulim Park
- heading weight
- 400
- body weight
- 400
- button weight
- 700
- heading transform
- none
- letter spacing
- -0.01em
- base size
- 17px
- line height
- 1.62
- scale
- 17px, 18px, 22px, 28px, 34px, 48px, 60px, 78px, 104px
- google fonts url
- https://fonts.googleapis.com/css2?family=Fanwood+Text:ital@0;1&family=Kulim+Park:wght@300;400;600;700&display=swap
radii4
- none
- 0
- md
- 16px
- lg
- 24px
- full
- 9999px
shadows3
- sm
- 0 14px 40px rgba(79,91,219,0.35)
- md
- 0 24px 60px rgba(79,91,219,0.12)
- lg
- 0 36px 90px rgba(79,91,219,0.14)
spacing2
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64, 96, 150
surfaces3
- treatment
- glass
- card style
- one translucent white panel with backdrop blur over blurred colour blooms; never nested
- bg pattern
- blurred radial colour blooms
borders4
- default width
- 0
- accent width
- 0
- style
- none
- character
- No borders. Edges are a 1px luminous ring made of a box-shadow in the border colour on fields and chips only, never a rule or a frame.
motion3
- duration
- 600ms
- easing
- cubic-bezier(0.22,1,0.36,1)
- philosophy
- Deliberate. The settled page is complete with no JS; hover lifts a button 2px and widens its glow. Everything is skipped under prefers-reduced-motion.
controls3
- height
- 54px (52 for fields, 40 for chips)
- radius
- 9999px on buttons and chips, 16px on fields, 24px on panels
- glow
- focus lights the field's edge in accent plus a soft halo
Rules
composition
- Open with one full-bleed hero picture and put the headline on its calm ground, never over the bird.
- Give a view one glass panel at most, floating on a bloom, never inside another panel.
- Let blooms sit behind content and fade to nothing at their edges; they are atmosphere, not blocks.
- Close with one sentence, centred, and one action.
hierarchy
- Fanwood Text 400 for every headline, 48 to 104px on the hero and 34 to 78px below, with one italic accent word glowing in the accent.
- Kulim Park 17px and up for prose in two tones: ink for the fact, muted for the reassurance.
- Hierarchy comes from scale and space before colour; status is always a word plus a glow dot.
density
Low. 80 to 150px between sections on desktop, a few facts per panel, lines held to about 26em.
signature
The halation bloom: a blurred radial colour wash sits behind a word or panel and fades to nothing; emphasis arrives as glow (a soft shadow on the italic word, a halo under the primary button, a lit field edge) and never as a hard fill.
Layout
grid
One centred wrap at 1180px with 24 to 48px side padding; the hero spans the full viewport and its copy aligns to the wrap edge. The panel is two columns (1.15fr copy, 1fr drawing), the in-use section two columns (copy, form).
whitespace
Structural: 80 to 150px section padding, 28px under the lede, 36 to 40px above a button.
density
low
responsive
Under 900px the hero swaps to a tall picture with the copy above it, panels and the form stack to one column. Renders from 390px to 2560px; content caps and centres, only the hero spans the viewport.
breakpoints
- desktop
- default
- tablet
- 900px
- mobile
- 390px
Guidance
Do
- Use colour as atmosphere and emphasis as glow.
- Put the headline on the hero's calm ground and keep the bird clear of the letters.
- Keep one glass panel, one form and one closing sentence.
- Pair every status colour with a word.
- Paint the hero from a Bloomline picture through var(--hero-image).
Avoid
- Don't add eyebrow labels, stat rows, stock quotes or three matching cards.
- Don't lay a gradient scrim or a multiply veil over the hero.
- Don't fill an area with a saturated solid colour.
- Don't use a hard border, a thick outline or a hard drop shadow.
- Don't nest panels.
Imagery
pairs with
bloomline
art style id
en-019efa08-950f-7d72-a8cf-f5dca1311660
summary
A hairline songbird in a single ink contour whose body dissolves into feathered periwinkle and seafoam blooms on a near-white #F6F8FF ground, composed with an empty calm area for the headline: bird on the right 45 percent on desktop, on the bottom half on phones.
subjects
- a songbird in flight
- feathers and botanical stems
- single-line gestures
usage
One full-bleed hero painted with var(--hero-image): a wide picture with the bird right and calm ground left, and a tall picture with the bird low and calm ground above for phones. No scrim, panel or fade over it.
avoid
A scrim, multiply veil or text over the bird; coloured patches that read as solid fills; photographic rendering.
Katagami spec file
# Halation ## Philosophy Halation is the glow that escapes a bright edge. One confident hairline draws the form and colour blooms out from it like mist over a near-white field. Emphasis is a glow, never a block. The page is one full-bleed Bloomline picture with the headline on its calm ground, one floating glass panel, one quiet form and one closing sentence, in a serif with a soft hand and a clean humanist sans. ### Values - Atmosphere over decoration - Glow, not fill, for emphasis - One line draws the form - Calm pacing with room to breathe - Honest status: a word beside every colour ### Anti-Values - Dense dashboards - Hard borders and drop shadows - Stock quotes, stat rows and three matching cards - Scrims and veils over the picture - Saturated solid fields ### Visual Character - A full-bleed hairline songbird whose body dissolves into periwinkle and mint blooms, with the headline on the calm ground beside it. - Blurred radial blooms behind the panel and the closing sentence. - One translucent white glass panel with a 24px radius and a soft indigo shadow. - One italic accent word that glows in #4F5BDB. - Pill buttons in #4F5BDB with a halo shadow that widens on hover. ### Lineage > Revised in place from the live Halation (en-019efa16-d17d-7320-a992-4f271c14b4c2): the same periwinkle and mint bloom family, glass and hairline bird, with a deeper accent for AA, new fonts and a calmer page order. ## Tokens ### Colors | Name | Value | |------|-------| | bg | `#F6F8FF` | | surface | `rgba(255,255,255,0.78)` | | surface_solid | `#FFFFFF` | | text | `#20283F` | | muted | `#5B6586` | | border | `rgba(79,91,219,0.16)` | | accent | `#4F5BDB` | | accent_2 | `#8ED8D2` | | accent_soft | `#B8C2FF` | | on_accent | `#FFFFFF` | | success | `#1D7A70` | | warning | `#8A5A12` | | error | `#B8325A` | | info | `#4F5BDB` | ### Derived - **Bloom Periwinkle**: radial wash of rgba(111,124,255,0.42) fading to transparent at 65%, blurred 90px - **Bloom Mint**: radial wash of rgba(142,216,210,0.45) fading to transparent at 65%, blurred 90px - **Glass Blur**: backdrop blur 18px - **Focus Glow**: 0 0 0 2px accent plus 0 0 28px rgba(111,124,255,0.35) - **Em Glow**: text-shadow 0 0 36px rgba(111,124,255,0.45) on the one accent word ### Typography - **Heading Font**: Fanwood Text - **Body Font**: Kulim Park - **Heading Weight**: 400 - **Body Weight**: 400 - **Button Weight**: 700 - **Heading Transform**: none - **Letter Spacing**: -0.01em - **Base Size**: 17px - **Line Height**: 1.62 - **Scale**: ["17px","18px","22px","28px","34px","48px","60px","78px","104px"] - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Fanwood+Text:ital@0;1&family=Kulim+Park:wght@300;400;600;700&display=swap ### Radii - **None**: 0 - **Md**: 16px - **Lg**: 24px - **Full**: 9999px ### Shadows - **Sm**: 0 14px 40px rgba(79,91,219,0.35) - **Md**: 0 24px 60px rgba(79,91,219,0.12) - **Lg**: 0 36px 90px rgba(79,91,219,0.14) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64,96,150] ### Surfaces - **Treatment**: glass - **Card Style**: one translucent white panel with backdrop blur over blurred colour blooms; never nested - **Bg Pattern**: blurred radial colour blooms ### Borders - **Default Width**: 0 - **Accent Width**: 0 - **Style**: none - **Character**: No borders. Edges are a 1px luminous ring made of a box-shadow in the border colour on fields and chips only, never a rule or a frame. ### Motion - **Duration**: 600ms - **Easing**: cubic-bezier(0.22,1,0.36,1) - **Philosophy**: Deliberate. The settled page is complete with no JS; hover lifts a button 2px and widens its glow. Everything is skipped under prefers-reduced-motion. ### Controls - **Height**: 54px (52 for fields, 40 for chips) - **Radius**: 9999px on buttons and chips, 16px on fields, 24px on panels - **Glow**: focus lights the field's edge in accent plus a soft halo ## Rules ### Composition - Open with one full-bleed hero picture and put the headline on its calm ground, never over the bird. - Give a view one glass panel at most, floating on a bloom, never inside another panel. - Let blooms sit behind content and fade to nothing at their edges; they are atmosphere, not blocks. - Close with one sentence, centred, and one action. ### Hierarchy - Fanwood Text 400 for every headline, 48 to 104px on the hero and 34 to 78px below, with one italic accent word glowing in the accent. - Kulim Park 17px and up for prose in two tones: ink for the fact, muted for the reassurance. - Hierarchy comes from scale and space before colour; status is always a word plus a glow dot. ### Density Low. 80 to 150px between sections on desktop, a few facts per panel, lines held to about 26em. ### Signature The halation bloom: a blurred radial colour wash sits behind a word or panel and fades to nothing; emphasis arrives as glow (a soft shadow on the italic word, a halo under the primary button, a lit field edge) and never as a hard fill. ## Layout ### Grid One centred wrap at 1180px with 24 to 48px side padding; the hero spans the full viewport and its copy aligns to the wrap edge. The panel is two columns (1.15fr copy, 1fr drawing), the in-use section two columns (copy, form). ### Whitespace Structural: 80 to 150px section padding, 28px under the lede, 36 to 40px above a button. ### Density low ### Responsive Under 900px the hero swaps to a tall picture with the copy above it, panels and the form stack to one column. Renders from 390px to 2560px; content caps and centres, only the hero spans the viewport. ### Breakpoints - **Desktop**: default - **Tablet**: 900px - **Mobile**: 390px ## Guidance ### Do - Use colour as atmosphere and emphasis as glow. - Put the headline on the hero's calm ground and keep the bird clear of the letters. - Keep one glass panel, one form and one closing sentence. - Pair every status colour with a word. - Paint the hero from a Bloomline picture through var(--hero-image). ### Don't - Don't add eyebrow labels, stat rows, stock quotes or three matching cards. - Don't lay a gradient scrim or a multiply veil over the hero. - Don't fill an area with a saturated solid colour. - Don't use a hard border, a thick outline or a hard drop shadow. - Don't nest panels. ### Accessibility Body 17px and up. Ink #20283F on #F6F8FF is 13.8:1; muted #5B6586 is 5.4:1; the button label white on #4F5BDB is 5.45:1; the status inks #1D7A70, #8A5A12 and #B8325A all clear 4.8:1 on the ground and each sits beside a word. Focus lights the field edge in the accent with a halo. The settled page renders with no JS and motion respects prefers-reduced-motion. ### Usage Context Calm editorial products, studios, journals and wellness or fashion sites that want a luminous gallery-wall feel rather than a dense dashboard. ## Imagery Direction ### Pairs With bloomline ### Art Style Id en-019efa08-950f-7d72-a8cf-f5dca1311660 ### Summary A hairline songbird in a single ink contour whose body dissolves into feathered periwinkle and seafoam blooms on a near-white #F6F8FF ground, composed with an empty calm area for the headline: bird on the right 45 percent on desktop, on the bottom half on phones. ### Subjects - a songbird in flight - feathers and botanical stems - single-line gestures ### Usage One full-bleed hero painted with var(--hero-image): a wide picture with the bird right and calm ground left, and a tall picture with the bird low and calm ground above for phones. No scrim, panel or fade over it. ### Avoid A scrim, multiply veil or text over the bird; coloured patches that read as solid fills; photographic rendering.
DESIGN.md file
---
version: "alpha"
name: "Halation"
description: "Halation is the glow that escapes a bright edge. One confident hairline draws the form and colour blooms out from it like mist over a near-white field. Emphasis is a glow, never a block. The page is one full-bleed Bloomline picture with..."
colors:
bg: "#F6F8FF"
surface_solid: "#FFFFFF"
text: "#20283F"
muted: "#5B6586"
accent: "#4F5BDB"
accent_2: "#8ED8D2"
accent_soft: "#B8C2FF"
on_accent: "#FFFFFF"
success: "#1D7A70"
warning: "#8A5A12"
error: "#B8325A"
info: "#4F5BDB"
typography:
headline-lg:
fontFamily: "Fanwood Text"
fontSize: "2.075rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.01em"
headline-md:
fontFamily: "Fanwood Text"
fontSize: "1.66rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.01em"
body-md:
fontFamily: "Kulim Park"
fontSize: "17px"
fontWeight: 400
lineHeight: 1.5
letterSpacing: "-0.01em"
label-md:
fontFamily: "Kulim Park"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
none: "0px"
md: "16px"
lg: "24px"
full: "9999px"
spacing:
base: "8px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "24px"
2xl: "32px"
3xl: "48px"
4xl: "64px"
step-8: "96px"
step-9: "150px"
components:
color-reference-bg:
backgroundColor: "{colors.bg}"
color-reference-surface_solid:
backgroundColor: "{colors.surface_solid}"
color-reference-text:
backgroundColor: "{colors.text}"
color-reference-muted:
backgroundColor: "{colors.muted}"
color-reference-accent:
backgroundColor: "{colors.accent}"
color-reference-accent_2:
backgroundColor: "{colors.accent_2}"
color-reference-accent_soft:
backgroundColor: "{colors.accent_soft}"
color-reference-on_accent:
backgroundColor: "{colors.on_accent}"
color-reference-success:
backgroundColor: "{colors.success}"
color-reference-warning:
backgroundColor: "{colors.warning}"
color-reference-error:
backgroundColor: "{colors.error}"
color-reference-info:
backgroundColor: "{colors.info}"
button-primary:
backgroundColor: "{colors.accent}"
textColor: "{colors.on_accent}"
typography: "{typography.label-md}"
rounded: "{rounded.md}"
padding: "{spacing.md}"
---
# Halation
## Overview
Halation is the glow that escapes a bright edge. One confident hairline draws the form and colour blooms out from it like mist over a near-white field. Emphasis is a glow, never a block. The page is one full-bleed Bloomline picture with the headline on its calm ground, one floating glass panel, one quiet form and one closing sentence, in a serif with a soft hand and a clean humanist sans.
### Values
- Atmosphere over decoration
- Glow, not fill, for emphasis
- One line draws the form
- Calm pacing with room to breathe
- Honest status: a word beside every colour
### Anti-Values
- Dense dashboards
- Hard borders and drop shadows
- Stock quotes, stat rows and three matching cards
- Scrims and veils over the picture
- Saturated solid fields
### Visual Character
- A full-bleed hairline songbird whose body dissolves into periwinkle and mint blooms, with the headline on the calm ground beside it.
- Blurred radial blooms behind the panel and the closing sentence.
- One translucent white glass panel with a 24px radius and a soft indigo shadow.
- One italic accent word that glows in #4F5BDB.
- Pill buttons in #4F5BDB with a halo shadow that widens on hover.
### Lineage
> Revised in place from the live Halation (en-019efa16-d17d-7320-a992-4f271c14b4c2): the same periwinkle and mint bloom family, glass and hairline bird, with a deeper accent for AA, new fonts and a calmer page order.
## Colors
Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.
| Token | Value |
|-------|-------|
| bg | `#F6F8FF` |
| surface_solid | `#FFFFFF` |
| text | `#20283F` |
| muted | `#5B6586` |
| accent | `#4F5BDB` |
| accent_2 | `#8ED8D2` |
| accent_soft | `#B8C2FF` |
| on_accent | `#FFFFFF` |
| success | `#1D7A70` |
| warning | `#8A5A12` |
| error | `#B8325A` |
| info | `#4F5BDB` |
## Typography
Load the fonts from Google Fonts: https://fonts.googleapis.com/css2?family=Fanwood+Text:ital@0;1&family=Kulim+Park:wght@300;400;600;700&display=swap
- **Headline-Lg**: Fanwood Text, 2.075rem, weight 700, line-height 1.1.
- **Headline-Md**: Fanwood Text, 1.66rem, weight 600, line-height 1.15.
- **Body-Md**: Kulim Park, 17px, weight 400, line-height 1.5.
- **Label-Md**: Kulim Park, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`
- **Step-8**: `96px`
- **Step-9**: `150px`
### Grid
One centred wrap at 1180px with 24 to 48px side padding; the hero spans the full viewport and its copy aligns to the wrap edge. The panel is two columns (1.15fr copy, 1fr drawing), the in-use section two columns (copy, form).
### Whitespace
Structural: 80 to 150px section padding, 28px under the lede, 36 to 40px above a button.
### Density
low
### Responsive
Under 900px the hero swaps to a tall picture with the copy above it, panels and the form stack to one column. Renders from 390px to 2560px; content caps and centres, only the hero spans the viewport.
### Breakpoints
- **Desktop**: default
- **Tablet**: 900px
- **Mobile**: 390px
## Elevation & Depth
### Shadows
- **Sm**: 0 14px 40px rgba(79,91,219,0.35)
- **Md**: 0 24px 60px rgba(79,91,219,0.12)
- **Lg**: 0 36px 90px rgba(79,91,219,0.14)
## Shapes
### Rounded
- **None**: `0px`
- **Md**: `16px`
- **Lg**: `24px`
- **Full**: `9999px`
### Surfaces
- **Treatment**: glass
- **Card Style**: one translucent white panel with backdrop blur over blurred colour blooms; never nested
- **Bg Pattern**: blurred radial colour blooms
### Borders
- **Default Width**: 0
- **Accent Width**: 0
- **Style**: none
- **Character**: No borders. Edges are a 1px luminous ring made of a box-shadow in the border colour on fields and chips only, never a rule or a frame.
## Components
### Composition
- Open with one full-bleed hero picture and put the headline on its calm ground, never over the bird.
- Give a view one glass panel at most, floating on a bloom, never inside another panel.
- Let blooms sit behind content and fade to nothing at their edges; they are atmosphere, not blocks.
- Close with one sentence, centred, and one action.
### Hierarchy
- Fanwood Text 400 for every headline, 48 to 104px on the hero and 34 to 78px below, with one italic accent word glowing in the accent.
- Kulim Park 17px and up for prose in two tones: ink for the fact, muted for the reassurance.
- Hierarchy comes from scale and space before colour; status is always a word plus a glow dot.
### Density
Low. 80 to 150px between sections on desktop, a few facts per panel, lines held to about 26em.
### Signature
The halation bloom: a blurred radial colour wash sits behind a word or panel and fades to nothing; emphasis arrives as glow (a soft shadow on the italic word, a halo under the primary button, a lit field edge) and never as a hard fill.
## shadcn/ui Usage
When the target app uses shadcn/ui, copy DESIGN.md with shadcn instead of the plain DESIGN.md. It contains the same Katagami design-language source plus the shadcn/ui primitives, imports, theme variables, component recipes, and preview-shot guidance.
DESIGN.md with shadcn: `/language/en-01a11301-0432-7801-b605-9da96034f800/DESIGN.with-shadcn.md`.
Machine-readable companions for automation: `/language/en-01a11301-0432-7801-b605-9da96034f800/shadcn.json` (registry theme), `/language/en-01a11301-0432-7801-b605-9da96034f800/shadcn-components.md` (component recipes) and `/language/en-01a11301-0432-7801-b605-9da96034f800/shadcn-shots.json` (preview shots). The human-facing handoff is still DESIGN.md with shadcn.
Install recommended primitives with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.
Use these primitives in shadcn apps:
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table
Implementation rule for agents: import shadcn primitives from `@/components/ui/*`, apply the generated CSS variables first, then compose the language-specific recipes from the companion MD. Katagami remains the source of truth; shadcn names are the implementation surface.
## Do's and Don'ts
- Do Use colour as atmosphere and emphasis as glow.
- Do Put the headline on the hero's calm ground and keep the bird clear of the letters.
- Do Keep one glass panel, one form and one closing sentence.
- Do Pair every status colour with a word.
- Do Paint the hero from a Bloomline picture through var(--hero-image).
- Don't Don't add eyebrow labels, stat rows, stock quotes or three matching cards.
- Don't Don't lay a gradient scrim or a multiply veil over the hero.
- Don't Don't fill an area with a saturated solid colour.
- Don't Don't use a hard border, a thick outline or a hard drop shadow.
- Don't Don't nest panels.
### Accessibility
Body 17px and up. Ink #20283F on #F6F8FF is 13.8:1; muted #5B6586 is 5.4:1; the button label white on #4F5BDB is 5.45:1; the status inks #1D7A70, #8A5A12 and #B8325A all clear 4.8:1 on the ground and each sits beside a word. Focus lights the field edge in the accent with a halo. The settled page renders with no JS and motion respects prefers-reduced-motion.
### Usage Context
Calm editorial products, studios, journals and wellness or fashion sites that want a luminous gallery-wall feel rather than a dense dashboard.
## Imagery Direction
### Pairs With
bloomline
### Art Style Id
en-019efa08-950f-7d72-a8cf-f5dca1311660
### Summary
A hairline songbird in a single ink contour whose body dissolves into feathered periwinkle and seafoam blooms on a near-white #F6F8FF ground, composed with an empty calm area for the headline: bird on the right 45 percent on desktop, on the bottom half on phones.
### Subjects
- a songbird in flight
- feathers and botanical stems
- single-line gestures
### Usage
One full-bleed hero painted with var(--hero-image): a wide picture with the bird right and calm ground left, and a tall picture with the bird low and calm ground above for phones. No scrim, panel or fade over it.
### Avoid
A scrim, multiply veil or text over the bird; coloured patches that read as solid fills; photographic rendering.
shadcn/ui theme file
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "halation",
"type": "registry:theme",
"title": "Halation shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F6F8FF",
"foreground": "#20283F",
"card": "rgba(255,255,255,0.78)",
"card-foreground": "#20283F",
"popover": "rgba(255,255,255,0.78)",
"popover-foreground": "#20283F",
"primary": "#20283F",
"primary-foreground": "#ffffff",
"secondary": "#f4f4f5",
"secondary-foreground": "#111111",
"muted": "#5B6586",
"muted-foreground": "#20283F",
"accent": "#4F5BDB",
"accent-foreground": "#ffffff",
"destructive": "#B8325A",
"border": "rgba(79,91,219,0.16)",
"input": "rgba(79,91,219,0.16)",
"ring": "#4F5BDB",
"chart-1": "#20283F",
"chart-2": "#f4f4f5",
"chart-3": "#4F5BDB",
"chart-4": "#1D7A70",
"chart-5": "#8A5A12",
"sidebar": "rgba(255,255,255,0.78)",
"sidebar-foreground": "#20283F",
"sidebar-primary": "#20283F",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#4F5BDB",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "rgba(79,91,219,0.16)",
"sidebar-ring": "#4F5BDB",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#20283F",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#4F5BDB",
"accent-foreground": "#ffffff",
"destructive": "#B8325A",
"border": "#303642",
"input": "#303642",
"ring": "#4F5BDB",
"chart-1": "#20283F",
"chart-2": "#f4f4f5",
"chart-3": "#4F5BDB",
"chart-4": "#1D7A70",
"chart-5": "#8A5A12",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#20283F",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#4F5BDB",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#4F5BDB",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-01a11301-0432-7801-b605-9da96034f800",
"slug": "halation",
"componentManifest": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"nativeTokenNames": {
"colors": [
"accent",
"accent_2",
"accent_soft",
"bg",
"border",
"error",
"info",
"muted",
"on_accent",
"success",
"surface",
"surface_solid",
"text",
"warning"
],
"derived": [
"bloom_mint",
"bloom_periwinkle",
"em_glow",
"focus_glow",
"glass_blur"
],
"typography": [
"base_size",
"body_font",
"body_weight",
"button_weight",
"google_fonts_url",
"heading_font",
"heading_transform",
"heading_weight",
"letter_spacing",
"line_height",
"scale"
],
"radii": [
"full",
"lg",
"md",
"none"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"controls": [
"glow",
"height",
"radius"
]
}
}
}
```