/* ============================================
   CUU LONG HUYET KIEM — Design Token System
   Dark Wuxia / Blood & Gold Theme
   ============================================ */

:root {
    /* === COLORS — Background === */
    --color-bg-primary: #0a0a0b;
    --color-bg-secondary: #111113;
    --color-bg-tertiary: #17171a;
    --color-bg-card: #111113;
    --color-bg-card-hover: #17171a;
    --color-bg-surface: #0f0f11;
    --color-bg-overlay: rgba(10, 10, 11, 0.88);
    --color-bg-navbar: rgba(10, 10, 11, 0.92);
    --color-bg-input: rgba(10, 10, 11, 0.6);

    /* === COLORS — Blood Red Accent === */
    --color-blood: #b8182a;
    --color-blood-bright: #dc1e35;
    --color-blood-deep: #7a0f1c;

    /* === COLORS — Gold Palette === */
    --color-gold-primary: #c9a961;
    --color-gold-bright: #e4c989;
    --color-gold-light: #e4c989;
    --color-gold-dark: #a8894a;
    --color-gold-muted: #6b5d3e;

    /* === COLORS — Border Lines === */
    --color-line: #2a2a2f;
    --color-line-soft: #1d1d21;

    /* === COLORS — Text === */
    --color-text-primary: #f4f1ea;
    --color-text-secondary: #a8a39a;
    --color-text-muted: #6b6860;
    --color-text-heading: #f4f1ea;
    --color-text-gold: #c9a961;
    --color-text-link: #c9a961;
    --color-text-link-hover: #e4c989;

    /* === COLORS — Accent (kept for compatibility) === */
    --color-accent-red: #b8182a;
    --color-accent-red-bright: #dc1e35;
    --color-accent-blue: #1e3a5f;
    --color-accent-green: #2d6016;
    --color-accent-green-bright: #4caf50;
    --color-accent-orange: #d4760a;

    /* === COLORS — Status === */
    --color-online: #22c55e;
    --color-offline: #dc1e35;
    --color-warning: #ff9800;

    /* === TYPOGRAPHY === */
    --font-heading: 'Noto Serif SC', 'Noto Sans', serif;
    --font-body: 'Inter', 'Noto Sans', system-ui, sans-serif;
    --font-display: 'Cinzel', serif;        /* Latin-only decorative (badges, scroll hints) */
    --font-hero: 'Philosopher', 'Noto Serif SC', serif; /* Hero title — wuxia + Vietnamese */
    --font-mono: 'Fira Code', 'Consolas', monospace;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 2rem;
    --font-size-4xl: 2.5rem;
    --font-size-5xl: 3.5rem;
    --font-size-hero: clamp(52px, 8vw, 112px);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-black: 900;
    --line-height-tight: 1.15;
    --line-height-normal: 1.6;
    --line-height-relaxed: 1.8;

    /* === SPACING === */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;
    --space-4xl: 6rem;
    --space-5xl: 8rem;

    /* === BORDERS === */
    --border-gold: 1px solid var(--color-gold-dark);
    --border-gold-bright: 1px solid var(--color-gold-primary);
    --border-subtle: 1px solid var(--color-line);
    --border-card: 1px solid var(--color-line-soft);
    --border-radius-sm: 2px;
    --border-radius-md: 4px;
    --border-radius-lg: 6px;
    --border-radius-xl: 8px;

    /* === SHADOWS === */
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.4);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.6);
    --shadow-xl: 0 12px 40px rgba(0, 0, 0, 0.7);
    --shadow-glow-gold: 0 0 24px rgba(201, 169, 97, 0.2);
    --shadow-glow-gold-strong: 0 0 32px rgba(228, 201, 137, 0.35);
    --shadow-glow-blood: 0 0 32px rgba(220, 30, 53, 0.4);
    --shadow-card: 0 4px 20px rgba(0, 0, 0, 0.5);
    --shadow-card-hover: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 15px rgba(184, 24, 42, 0.15);

    /* === EASING === */
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --transition-fast: all 0.15s var(--ease-out);
    --transition-base: all 0.3s var(--ease-out);
    --transition-slow: all 0.5s var(--ease-out);
    --transition-smooth: all 0.6s var(--ease-in-out);

    /* === LAYOUT === */
    --container-max: 1280px;
    --container-wide: 1600px;
    --navbar-height: 72px;
    --sidebar-width: 260px;
    --section-padding: 120px 48px;

    /* === Z-INDEX === */
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-navbar: 1000;
    --z-modal-backdrop: 1400;
    --z-modal: 1500;
    --z-tooltip: 1600;
    --z-noise: 9000;
}
