/* =====================================================================
   Nakayaka 设计令牌 (Design Tokens) — 全站单一品牌来源
   桌面与移动、各业务子站统一引用本文件。
   组件 CSS 中请使用 var(--token, fallback)，fallback 保证即使未加载本
   文件也呈现正确品牌色。
   ===================================================================== */

:root {
    /* ---- 品牌主色：深红 ---- */
    --color-primary: #C41E3A;
    --color-primary-dark: #9B1729;
    --color-primary-light: #E63946;

    /* ---- 品牌辅色：天蓝 ---- */
    --color-secondary: #5DADE2;
    --color-secondary-dark: #2E86AB;
    --color-secondary-light: #A8DADC;

    /* ---- 品牌渐变 ---- */
    --brand-gradient: linear-gradient(135deg, #C41E3A 0%, #5DADE2 100%);
    --brand-gradient-warm: linear-gradient(135deg, #C41E3A 0%, #9B1729 100%);
    --brand-gradient-cool: linear-gradient(135deg, #5DADE2 0%, #2E86AB 100%);

    /* ---- 中性色阶 ---- */
    --color-black: #1A1A1A;
    --color-gray-900: #2D2D2D;
    --color-gray-800: #3D3D3D;
    --color-gray-700: #4D4D4D;
    --color-gray-600: #6D6D6D;
    --color-gray-500: #8D8D8D;
    --color-gray-400: #ADADAD;
    --color-gray-300: #D1D1D1;
    --color-gray-200: #E8E8E8;
    --color-gray-100: #F5F5F5;
    --color-white: #FFFFFF;

    /* ---- 语义表面 / 文本（暗色模式会覆盖） ---- */
    --surface-page: #FFFFFF;
    --surface-elevated: #FFFFFF;
    --surface-muted: #F5F5F5;
    --surface-sunken: #EEF1F4;
    --text-primary: #1A1A1A;
    --text-secondary: #4D4D4D;
    --text-muted: #6D6D6D;
    --border-subtle: rgba(0, 0, 0, 0.08);
    --border-strong: rgba(0, 0, 0, 0.16);

    /* ---- 聊天组件语义令牌 ---- */
    --chat-sidebar-bg: linear-gradient(160deg, #C41E3A 0%, #9B1729 100%);
    --chat-user-bubble: #C41E3A;
    --chat-user-bubble-text: #FFFFFF;
    --chat-assistant-bubble: #F5F5F5;
    --chat-assistant-bubble-text: #1A1A1A;
    --chat-send-bg: linear-gradient(135deg, #C41E3A 0%, #E63946 100%);
    --chat-accent: #5DADE2;

    /* ---- 状态色 ---- */
    --color-success: #2E9E5B;
    --color-warning: #E0A53B;
    --color-danger: #C41E3A;
    --color-info: #5DADE2;

    /* ---- 焦点环（无障碍） ---- */
    --focus-ring: 0 0 0 3px rgba(93, 173, 226, 0.55);
}

/* 暗色模式令牌在阶段4由 [data-theme="dark"] / prefers-color-scheme 启用，
   此处先定义覆盖值，组件覆盖完成后再激活，避免半成品暗色。 */
[data-theme="dark"] {
    --surface-page: #14171A;
    --surface-elevated: #1E2227;
    --surface-muted: #23282E;
    --surface-sunken: #0F1214;
    --text-primary: #F2F4F6;
    --text-secondary: #C3C8CE;
    --text-muted: #8A9098;
    --border-subtle: rgba(255, 255, 255, 0.10);
    --border-strong: rgba(255, 255, 255, 0.20);
    --color-primary-light: #FF5C72;
    --chat-assistant-bubble: #23282E;
    --chat-assistant-bubble-text: #F2F4F6;
}

/* ===== 全局无障碍：键盘焦点可见 + 动效降级 ===== */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 2px solid var(--color-secondary, #5DADE2);
    outline-offset: 2px;
    border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
