4.7 KiB
4.7 KiB
Design Language
Aesthetic
Dark fantasy TCG aesthetic. Warm golds and bronzes on near-black brown backgrounds. Cinzel for headings/labels/buttons, Crimson Text for body/prose/inputs.
Colors
All core colors are available as CSS custom properties on :root in app.css (e.g. var(--color-bg), var(--color-bronze)).
| Role | Value |
|---|---|
| Page background | #0d0a04 |
| Header background | #1a1008 |
| Modal / dark surface | #110d04 |
| Raised surface | #3d2507 |
| Primary text / accent | #f0d080 (gold) |
| Secondary text | rgba(240, 180, 80, 0.6) |
| Placeholder text | rgba(240, 180, 80, 0.3–0.4) |
| Interactive accent (buttons, borders, hover) | #c8861a (bronze-orange) |
| Interactive accent hover | #e09820 |
| Border / divider | #6b4c1e |
| Subtle border | rgba(107, 76, 30, 0.3–0.5) |
| Button text | #fff8e0 |
| Error / delete | #c84040 |
| Success / positive | #6aaa6a |
| Energy cost indicator | #6ea0ec |
Typography
- Headings / labels / buttons: Cinzel (Google Fonts), weights 400/700/900
- Body / prose / inputs: Crimson Text (Google Fonts), weights 400/600; italic for flavor/secondary text
- Button and label text: uppercase,
letter-spacing: 0.06–0.1em - Form labels: uppercase,
letter-spacing: 0.08em
Type Scale
All type scale tokens are CSS custom properties on :root in app.css.
| Token | Value | Use for |
|---|---|---|
--text-xs |
9px |
Fine print, badges, metadata labels |
--text-sm |
11px |
Secondary text, captions, small labels |
--text-base |
13px |
Default body text, buttons, card details |
--text-md |
15px |
Form inputs, emphasized body text |
--text-lg |
18px |
Section headings, card titles |
--text-xl |
22px |
Page headings, prominent labels |
--text-2xl |
28px |
Large display headings |
--text-3xl |
36px |
Hero headings, splash text |
Buttons
| Variant | Background | Border | Text |
|---|---|---|---|
| Primary | #c8861a |
none | #fff8e0 |
| Secondary | #3d2507 |
1px solid rgba(107,76,30,0.4) |
#f0d080 |
| Destructive | rgba(180,40,40,0.8) |
none | #fff |
Sizes
All button size tokens are CSS custom properties on :root in app.css.
| Size | Padding | Font-size | Border-radius | Use for |
|---|---|---|---|---|
| Small | 4px 10px |
10px |
var(--radius-sm) |
Toolbar filters, sort toggles, inline actions, edit/delete |
| Medium | 8px 18px |
12px |
var(--radius-md) |
Card actions, done/choose, friend, secondary, cancel |
| Large | 10px 32px |
13px |
var(--radius-md) |
Primary CTAs, auth submit, play, buy, accept trade |
- Font: Cinzel 700 uppercase, letter-spacing 0.06–0.1em
- Disabled: opacity 0.5; hover: lighten background or brighten border + text
Inputs / Forms
- Background:
#1a1008; border-radius: 6px; color:#f0d080; font: Crimson Text 15px - Text inputs:
1.5px solid #6b4c1e; focus border:#c8861a - Selects:
1.5px solid #6b4c1e - Placeholder:
rgba(240, 180, 80, 0.4); accent-color (checkboxes, ranges):#c8861a
Containers / Panels
Border-radius, shadows, z-index layers, and spacing are available as CSS custom properties on :root in app.css (e.g. var(--radius-lg), var(--shadow-card), var(--z-modal), var(--space-md)).
- Border-radius: 10–12px; box-shadow:
0 4px 24px rgba(0,0,0,0.5) - Borders:
1–2px solid #6b4c1estandard,#c8861afor emphasis - Backgrounds:
#1a1008(surface),#3d2507(raised) - Card hover lift:
translateY(-4px) scale(1.02), shadow0 12px 40px rgba(0,0,0,0.6)
Transitions
- Default:
0.15s easeon background, border-color, color, transform - Card hover:
0.2s ease
Card Type Colors (CSS vars --bg / --header)
| Type | Background | Header |
|---|---|---|
| person | #f0e0c8 |
#b87830 |
| location | #d8e8d4 |
#4a7a50 |
| artwork | #e4d4e8 |
#7a5090 |
| life_form | #ccdce8 |
#3a6878 |
| event | #e8d4d4 |
#8b2020 |
| group | #e8e4d0 |
#748c12 |
| science_thing | #c7c5c1 |
#060c17 |
| vehicle | #c7c1c4 |
#801953 |
| organization | #b7c1c4 |
#3c5251 |
Rarity Badge Colors
| Rarity | Background | Text |
|---|---|---|
| common | #c8c8c8 |
#333 |
| uncommon | #4a7a50 |
#fff |
| rare | #2a5a9b |
#fff |
| super_rare | #7a3a9b |
#fff |
| epic | #9b3a3a |
#fff |
| legendary | #b87820 |
#fff |
Card Component
- Outer border and internal borders:
#000(pure black) — these are structural borders within the card face, distinct from the themed#6b4c1eborders on containers/panels. - Card background:
#111; border-radius: 12px; padding: 7px
Spacing
- Page padding:
2rem; section gap:1–1.5rem; component internal gap:0.4–0.75rem