/* ========================================
   CSS Variables - 基于参考设计优化
   ======================================== */

:root {
    /* Primary Colors - 参考设计配色 */
    --primary: #165DFF;
    --primary-hover: #0E4AD4;
    --primary-light: rgba(22, 93, 255, 0.1);
    --primary-dark: #0A3A9E;

    /* Secondary Colors */
    --secondary: #36D399;
    --secondary-hover: #2BBF87;
    --secondary-light: rgba(54, 211, 153, 0.1);

    /* Accent Colors */
    --accent: #8B5CF6;
    --accent-hover: #7C3AED;
    --accent-light: rgba(139, 92, 246, 0.1);

    /* Status Colors */
    --success: #22C55E;
    --warning: #F59E0B;
    --danger: #EF4444;
    --info: #0EA5E9;
    --error: #EF4444;

    /* Background colors - 深色主题 */
    --bg-primary: #0F172A;
    --bg-secondary: #1E293B;
    --bg-tertiary: #334155;
    --bg-elevated: #1E293B;
    --bg-hover: #334155;
    --bg-card: #1E293B;

    /* Text colors - 深色主题 */
    --text-primary: #FFFFFF;
    --text-secondary: #94A3B8;
    --text-muted: #64748B;
    --text-tertiary: #475569;

    /* Border colors - 深色主题 */
    --border-primary: #334155;
    --border-default: #475569;
    --border-subtle: rgba(71, 85, 105, 0.5);
    --border-strong: #64748B;

    /* Gradients */
    --accent-gradient: linear-gradient(135deg, #165DFF 0%, #8B5CF6 100%);
    --gradient-bg: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
    --gradient-card: linear-gradient(180deg, #1E293B 0%, #0F172A 100%);

    /* Info backgrounds */
    --info-bg: rgba(22, 93, 255, 0.1);
    --success-bg: rgba(34, 197, 94, 0.1);
    --warning-bg: rgba(245, 158, 11, 0.1);
    --danger-bg: rgba(239, 68, 68, 0.1);

    /* Spacing */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 12px;
    --spacing-lg: 16px;
    --spacing-xl: 20px;
    --spacing-2xl: 24px;
    --spacing-3xl: 32px;

    /* Border radius */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 18px;
    --radius-full: 9999px;

    /* Shadows - 深色主题 */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.2);
    --shadow-xl: 0 20px 40px -10px rgba(0, 0, 0, 0.4);
    --shadow-glow: 0 0 30px rgba(22, 93, 255, 0.3);
    --shadow-glow-success: 0 0 30px rgba(54, 211, 153, 0.3);
    --shadow-glow-warning: 0 0 30px rgba(245, 158, 11, 0.3);
    --shadow-glow-danger: 0 0 30px rgba(239, 68, 68, 0.3);

    /* Transitions */
    --transition-base: 0.2s ease;
    --transition-fast: 0.15s ease;
    --transition-slow: 0.3s ease;
    --transition-bounce: 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);

    /* Z-index */
    --z-dropdown: 1000;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
    --z-toast: 1080;
}

/* 浅色主题 */
[data-theme="light"] {
    /* Background colors */
    --bg-primary: #FFFFFF;
    --bg-secondary: #F8FAFC;
    --bg-tertiary: #E2E8F0;
    --bg-elevated: #FFFFFF;
    --bg-hover: #F1F5F9;
    --bg-card: #FFFFFF;

    /* Text colors */
    --text-primary: #0F172A;
    --text-secondary: #475569;
    --text-muted: #64748B;
    --text-tertiary: #94A3B8;

    /* Border colors */
    --border-primary: #E2E8F0;
    --border-default: #CBD5E1;
    --border-subtle: #F1F5F9;
    --border-strong: #94A3B8;

    /* Gradients */
    --gradient-bg: linear-gradient(135deg, #FFFFFF 0%, #F8FAFC 100%);
    --gradient-card: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);

    /* Info backgrounds */
    --info-bg: rgba(22, 93, 255, 0.08);
    --success-bg: rgba(34, 197, 94, 0.08);
    --warning-bg: rgba(245, 158, 11, 0.08);
    --danger-bg: rgba(239, 68, 68, 0.08);

    /* Shadows */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 40px -10px rgba(0, 0, 0, 0.15);
    --shadow-glow: 0 0 30px rgba(22, 93, 255, 0.2);
    --shadow-glow-success: 0 0 30px rgba(54, 211, 153, 0.2);
    --shadow-glow-warning: 0 0 30px rgba(245, 158, 11, 0.2);
    --shadow-glow-danger: 0 0 30px rgba(239, 68, 68, 0.2);
}

/* 自动主题跟随系统 */
@media (prefers-color-scheme: light) {
    :root:not([data-theme="dark"]) {
        /* Background colors */
        --bg-primary: #FFFFFF;
        --bg-secondary: #F8FAFC;
        --bg-tertiary: #E2E8F0;
        --bg-elevated: #FFFFFF;
        --bg-hover: #F1F5F9;
        --bg-card: #FFFFFF;

        /* Text colors */
        --text-primary: #0F172A;
        --text-secondary: #475569;
        --text-muted: #64748B;
        --text-tertiary: #94A3B8;

        /* Border colors */
        --border-primary: #E2E8F0;
        --border-default: #CBD5E1;
        --border-subtle: #F1F5F9;
        --border-strong: #94A3B8;

        /* Gradients */
        --gradient-bg: linear-gradient(135deg, #FFFFFF 0%, #F8FAFC 100%);
        --gradient-card: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);

        /* Info backgrounds */
        --info-bg: rgba(22, 93, 255, 0.08);
        --success-bg: rgba(34, 197, 94, 0.08);
        --warning-bg: rgba(245, 158, 11, 0.08);
        --danger-bg: rgba(239, 68, 68, 0.08);

        /* Shadows */
        --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
        --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.1);
        --shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
        --shadow-xl: 0 20px 40px -10px rgba(0, 0, 0, 0.15);
        --shadow-glow: 0 0 30px rgba(22, 93, 255, 0.2);
        --shadow-glow-success: 0 0 30px rgba(54, 211, 153, 0.2);
        --shadow-glow-warning: 0 0 30px rgba(245, 158, 11, 0.2);
        --shadow-glow-danger: 0 0 30px rgba(239, 68, 68, 0.2);
    }
}
