:root {
    --font-serif: 'Playfair Display', 'Noto Serif SC', 'Noto Serif TC', serif;
    --font-sans: 'Plus Jakarta Sans', 'Noto Sans SC', 'Noto Sans TC', system-ui, sans-serif;
    --font-mono: 'JetBrains Mono', 'Noto Sans SC', 'Noto Sans TC', monospace;

    --transition-smooth: cubic-bezier(0.2, 0, 0, 1);

    --bg-base: #0A0A0C;
    --bg-glass: rgba(23, 20, 28, 0.85);
    --text-primary: #F5F0FF;
    --text-secondary: #B7B3C4;
    --border-base: rgba(255, 255, 255, 0.1);
    --border-hover: rgba(167, 139, 250, 0.55);

    --pill-bg: rgba(30, 28, 36, 0.85);
    --pill-border: rgba(255, 255, 255, 0.05);

    --accent-flame: #FF7E67;
    --accent-iris: #A78BFA;
    --accent-soft: rgba(167, 139, 250, 0.16);
    --accent-flame-soft: rgba(255, 126, 103, 0.5);
    --accent-iris-soft: rgba(167, 139, 250, 0.45);
    --pulse-soft: rgba(255, 126, 103, 0.7);

    --shadow-expressive: 0 12px 40px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.05);

    --radius-pill: 999px;
    --radius-card: 40px;
    --radius-input: 24px;
}

html.light-mode {
    --bg-base: #FDFBFF;
    --bg-glass: rgba(255, 255, 255, 0.94);
    --text-primary: #17151E;
    --text-secondary: #55515E;
    --border-base: rgba(154, 31, 255, 0.18);
    --border-hover: rgba(154, 31, 255, 0.55);

    --pill-bg: rgba(255, 255, 255, 0.97);
    --pill-border: rgba(154, 31, 255, 0.22);

    --accent-flame: #FF4800;
    --accent-iris: #9A1FFF;
    --accent-soft: rgba(154, 31, 255, 0.14);
    --accent-flame-soft: rgba(255, 72, 0, 0.3);
    --accent-iris-soft: rgba(154, 31, 255, 0.34);
    --pulse-soft: rgba(255, 72, 0, 0.55);

    --shadow-expressive: 0 16px 40px rgba(26, 24, 32, 0.1), 0 0 0 1px rgba(26, 24, 32, 0.04);
}

body[data-lang="ru"] {
    --font-sans: 'Golos Text', 'Plus Jakarta Sans', system-ui, sans-serif;
}

body[data-lang="zh_hans"] {
    --font-serif: 'Noto Serif SC', serif;
    --font-sans: 'Noto Sans SC', system-ui, sans-serif;
    --font-mono: 'JetBrains Mono', 'Noto Sans SC', monospace;
}

body[data-lang="zh_hant"] {
    --font-serif: 'Noto Serif TC', serif;
    --font-sans: 'Noto Sans TC', system-ui, sans-serif;
    --font-mono: 'JetBrains Mono', 'Noto Sans TC', monospace;
}

body[data-lang="ja"] {
    --font-serif: 'Zen Old Mincho', serif;
    --font-sans: 'Zen Kaku Gothic New', system-ui, sans-serif;
    --font-mono: 'JetBrains Mono', 'Zen Kaku Gothic New', monospace;
}

body[data-lang="ko"] {
    --font-serif: 'Nanum Myeongjo', serif;
    --font-sans: 'Noto Sans KR', system-ui, sans-serif;
    --font-mono: 'JetBrains Mono', 'Noto Sans KR', monospace;
}
