Color System

Hệ thống màu đầy đủ cho SoiTarot — primary palette, scales 10 bậc, neutral, semantic, gradient và token cho cả dark/light theme. Export ra CSS · Tailwind · JSON.

8 SECTION · 100+ TOKEN
SOITAROT.VN · 2026
01

Primary palette

5 màu gốc đã chốt từ brand. Mỗi màu chính (navy, gold, lavender) mở rộng thành thang 10 bậc (50 → 900) — bậc là màu gốc thương hiệu.

SECTION 01 / 08
PRIMARY
BG · DEEPEST
Void
#0A0E27
RGB 10·14·39 · HSL 229° 60% 10%
BG · PRIMARY
Navy
#0F1B3D
RGB 15·27·61 · HSL 224° 61% 15%
ACCENT · CTA
Gold
#D4A574
RGB 212·165·116 · HSL 32° 53% 64%
ACCENT · ITALIC
Lavender
#B8A8D9
RGB 184·168·217 · HSL 256° 41% 76%
TEXT · HIGHLIGHT
Ivory
#F8F4E3
RGB 248·244·227 · HSL 49° 65% 93%
Navy · 10 steps
// navy-700 = brand primary
Gold · 10 steps
// gold-400 = brand accent
Lavender · 10 steps
// lav-400 = brand secondary
02

Neutral · cool violet-tinted

Cool gray ngả tím nhẹ — không phải neutral lạnh chuẩn — để hài hoà với navy/lavender. 10 bậc, đánh số 50 → 900.

SECTION 02 / 08
NEUTRAL
03

Semantic colors

Success / Warning / Error / Info — chọn tông desaturated, hài hoà cosmic. Mỗi cái có 3 variant: base (cho icon/border), bg (nền badge mờ), fg (chữ trên bg đậm).

SECTION 03 / 08
SEMANTIC
Success
success / base
#7FAB91
success / bg
#243D33
success / fg
#B8D9C5
Đã lưu thành công
Warning
warning / base
#D9A05B
warning / bg
#3D2D14
warning / fg
#F4D5A0
Cẩn thận — không hoàn tác
Error
error / base
#C26B6B
error / bg
#3D1D22
error / fg
#E9B5BB
Có gì đó sai sai
Info
info / base
#8FA8CC
info / bg
#1A2D4A
info / fg
#C5D7E8
Tarot không phải bói toán
// LƯU Ý
Tránh xa pure red/green/blue. Tất cả semantic đều desaturated, có chroma thấp để không "phá" tông cosmic. Error dùng dusty rose (≠ "đỏ chợ"). Warning dùng amber khác hue/saturation rõ rệt với brand gold để không nhầm.
04

Gradient definitions

3 gradient chính + 2 phụ. Mỗi cái ghi đầy đủ stops và hướng. Click block CSS để copy.

SECTION 04 / 08
GRADIENT
0% navy 50% violet 100% void
// 01 · COSMIC
Cosmic Drift

Background hero / section lớn. Hướng dọc, từ navy → tím nhẹ → void.

background: linear-gradient( 180deg, #0F1B3D 0%, #251F4A 50%, #0A0E27 100% );
RADIAL · GOLD
// 02 · ACCENT
Gold Glow

Highlight CTA, hover state, ánh quanh logo/lá bài. Radial từ center.

background: radial-gradient( circle, rgba(212,165,116,0.45) 0%, rgba(212,165,116,0.18) 30%, rgba(15,27,61,0) 70% );
0% lav 18% 60% transparent
// 03 · SUBTLE
Lavender Mist

Card / section nhẹ — pha lavender mờ vào góc. Diagonal 135°.

background: linear-gradient( 135deg, rgba(184,168,217,0.18) 0%, rgba(15,27,61,0) 60% );
light gold deep gold
// 04 · BUTTON
Gold Foil

Cho button primary, badge premium. Mô phỏng kim loại lá vàng.

background: linear-gradient( 135deg, #E0BD86 0%, #D4A574 50%, #B88A55 100% );
lav @ 30%·20% gold @ 70%·80%
// 05 · ATMOSPHERIC
Aurora

Hero ấn tượng — 2 radial layer (lav + gold) trên nền navy. Mystical.

background: radial-gradient(circle at 30% 20%, rgba(184,168,217,0.35), transparent 50%), radial-gradient(circle at 70% 80%, rgba(212,165,116,0.30), transparent 50%), #0F1B3D;
0% transparent 100% void
// 06 · OVERLAY
Void Fade

Bottom-of-image fade cho legibility — image overlay khi cần đặt text.

background: linear-gradient( 180deg, transparent 0%, #0A0E27 100% );
05

Usage rules & contrast

Bảng quy định màu cho từng vai trò UI + check cặp tương phản theo WCAG + ví dụ dùng đúng vs sai.

SECTION 05 / 08
RULES
// COLOR BY ROLE · DARK THEME
Vai tròTokenGiá trịGhi chú
Page background--color-bg#0A0E27 (void)Nền toàn trang.
Surface · card--color-surface#0F1B3D (navy)Card, section panel.
Surface · elevated--color-surface-elev#1E2D53 (navy-600)Modal, popover, dropdown.
Text · primary--color-text#F8F4E3 (ivory)Body, heading mặc định.
Text · secondary--color-text-mutedivory @ 75%Sub-text, captions.
Text · disabled--color-text-disabledivory @ 35%Disabled state.
Heading display--color-text + gold accent+Ivory + italic gold cho emphasis word.
Link · text--color-link#D4A574 (gold)Inline link.
Link · hover--color-link-hover#E0BD86 (gold-300)Lighter gold.
Border · subtle--color-border-subtleivory @ 6%Card outline, divider mờ.
Border · default--color-borderivory @ 12%Input border, table divider.
Border · accent--color-border-accent#D4A574 (gold)Focused input, emphasis box.
Button · primary--color-btn-primarygold bg + navy textCTA chính ("Rút bài ngay").
Button · secondary--color-btn-secondarytransparent + ivory borderAction phụ.
Icon · default--color-iconivory @ 75%Icon UI, không nhấn mạnh.
Icon · accent--color-icon-accent#D4A574 (gold)Icon emphasized / decorative.
Glow · gold--color-glow-goldrgba(212,165,116,0.35)Box-shadow / drop-shadow halo.
Glow · lavender--color-glow-lavrgba(184,168,217,0.30)Halo nhẹ cho element phụ.
// CONTRAST RATIOS · WCAG
Soi mình
ivory / navy14.5 : 1AAA
Soi mình
ivory / void17.8 : 1AAA
Soi mình
gold / navy7.6 : 1AAA
Soi mình
lav / navy7.4 : 1AAA
Soi mình
navy / ivory14.5 : 1AAA
Soi mình
gold / ivory2.0 : 1FAIL
Soi mình
ivory 75% / navy9.7 : 1AAA
Soi mình
ivory 55% / navy5.5 : 1AA Large
Soi mình
navy / gold7.6 : 1AAA
// DO & DON'T
✓ DÙNG ĐÚNG
Soi mình
Ivory + gold italic trên navy. Contrast AAA, cảm thức cosmic chuẩn.
✓ DÙNG ĐÚNG
Primary gold + secondary outline ivory. Hierarchy rõ.
✓ DÙNG ĐÚNG
✓ ĐÃ LƯU
Success badge — sage muted, không "xanh chợ".
✓ DÙNG ĐÚNG
trực giác
Lavender CHỈ dùng cho italic accent / decorative — không text body.
✗ THIẾU CONTRAST
Soi mình
Gold trên ivory chỉ 2.0:1 — FAIL. Đừng đặt gold làm text trên nền sáng.
✗ LAVENDER LÀM BODY
Đoạn văn body dài đặt bằng lavender đọc lâu sẽ mỏi mắt và mất hierarchy.
Lavender làm decorative thôi — body text luôn dùng ivory.
✗ NEON / SATURATED
Không neon green/blue/pink. Phá vibe cosmic premium ngay lập tức.
✗ ĐỎ CHỢ
Error dùng dusty rose (#C26B6B), không pure red. Vẫn đủ alert mà không "đỏ chợ".
06

Dark theme · tokens

Bộ token đầy đủ cho dark theme — mặc định của SoiTarot. Đặt tên theo convention --color-[role]-[variant].

SECTION 06 / 08
DARK · DEFAULT
07

Light theme · tokens

Phiên bản light dùng dự phòng (print, light mode option). Map 1-1 với dark tokens — chỉ đảo bg/text.

SECTION 07 / 08
LIGHT · OPTIONAL
08

Export

3 format sẵn sàng: CSS variables · Tailwind config snippet · JSON design tokens. Click "Copy" để paste vào codebase.

SECTION 08 / 08
EXPORT

  
// SẴN SÀNG CHO HANDOFF
Token đã match convention --color-* dễ dùng với CSS Modules / Tailwind plugin / Style Dictionary. JSON theo cấu trúc nested phổ biến (color.brand.*, color.scale.*, color.semantic.*).
EXPORT