/**
 * CSS变量配置文件
 * 版本: 1.0.0
 * 变更记录:
 * - 1.0.0: 新建文件，统一管理CSS设计令牌（颜色、尺寸、阴影等）
 */

:root {
    /* ========== 颜色系统 ========== */
    /* 主题色 */
    --color-primary: #4f46e5;
    --color-primary-light: #7c3aed;
    --color-primary-dark: #3730a3;
    
    /* 功能色 */
    --color-success: #10b981;
    --color-error: #ef4444;
    --color-warning: #f59e0b;
    --color-info: #3b82f6;
    
    /* 中性色 */
    --color-white: #ffffff;
    --color-black: #000000;
    --color-gray-50: #f9fafb;
    --color-gray-100: #f1f1f1;
    --color-gray-200: #e5e7eb;
    --color-gray-300: #d1d5db;
    --color-gray-400: #c1c1c1;
    --color-gray-500: #6b7280;
    --color-gray-600: #4b5563;
    --color-gray-700: #374151;
    --color-gray-800: #1f2937;
    --color-gray-900: #111827;
    
    /* 聚类颜色调色板（扩展版 - 50种颜色） */
    /* 蓝色系 */
    --color-cluster-1: #3b82f6;
    --color-cluster-2: #2563eb;
    --color-cluster-3: #1d4ed8;
    --color-cluster-4: #60a5fa;
    --color-cluster-5: #0ea5e9;
    /* 红色系 */
    --color-cluster-6: #ef4444;
    --color-cluster-7: #dc2626;
    --color-cluster-8: #f87171;
    --color-cluster-9: #fb7185;
    --color-cluster-10: #f43f5e;
    /* 绿色系 */
    --color-cluster-11: #10b981;
    --color-cluster-12: #059669;
    --color-cluster-13: #34d399;
    --color-cluster-14: #22c55e;
    --color-cluster-15: #16a34a;
    /* 黄/橙色系 */
    --color-cluster-16: #f59e0b;
    --color-cluster-17: #d97706;
    --color-cluster-18: #fbbf24;
    --color-cluster-19: #f97316;
    --color-cluster-20: #ea580c;
    /* 紫色系 */
    --color-cluster-21: #8b5cf6;
    --color-cluster-22: #7c3aed;
    --color-cluster-23: #a78bfa;
    --color-cluster-24: #9333ea;
    --color-cluster-25: #c026d3;
    /* 粉色系 */
    --color-cluster-26: #ec4899;
    --color-cluster-27: #db2777;
    --color-cluster-28: #f472b6;
    --color-cluster-29: #d946ef;
    --color-cluster-30: #e879f9;
    /* 靛蓝色系 */
    --color-cluster-31: #6366f1;
    --color-cluster-32: #4f46e5;
    --color-cluster-33: #818cf8;
    --color-cluster-34: #5b21b6;
    --color-cluster-35: #6d28d9;
    /* 青色系 */
    --color-cluster-36: #14b8a6;
    --color-cluster-37: #0d9488;
    --color-cluster-38: #2dd4bf;
    --color-cluster-39: #06b6d4;
    --color-cluster-40: #0891b2;
    /* 石灰色系 */
    --color-cluster-41: #84cc16;
    --color-cluster-42: #65a30d;
    --color-cluster-43: #a3e635;
    --color-cluster-44: #bef264;
    --color-cluster-45: #4d7c0f;
    /* 玫瑰色系 */
    --color-cluster-46: #fb923c;
    --color-cluster-47: #f472b6;
    --color-cluster-48: #e11d48;
    --color-cluster-49: #be123c;
    --color-cluster-50: #9f1239;
    
    /* 注意：超过50个聚类时，系统会自动使用HSL色彩空间动态生成更多颜色 */
    
    /* 噪声点颜色 */
    --color-noise: #6b7280;
    --color-noise-border: #374151;
    
    /* 背景色 */
    --color-bg-base: #f3f4f6;
    --color-bg-blue: #eff6ff;
    --color-bg-green: #ecfdf5;
    --color-bg-yellow: #fef3c7;
    --color-bg-purple: #faf5ff;
    --color-bg-pink: #fdf2f8;
    --color-bg-indigo: #eef2ff;
    --color-map-control-default: #f3f4f6;
    --color-map-control-border: #e5e7eb;
    --color-map-control-hover: #e5e7eb;
    --color-map-control-hover-border: #d1d5db;
    --color-map-control-active: #2563eb;
    --color-map-control-active-hover: #1d4ed8;
    
    /* ========== 尺寸系统 ========== */
    /* 间距 */
    --spacing-xs: 0.25rem;  /* 4px */
    --spacing-sm: 0.5rem;   /* 8px */
    --spacing-md: 1rem;     /* 16px */
    --spacing-lg: 1.5rem;   /* 24px */
    --spacing-xl: 2rem;     /* 32px */
    --spacing-2xl: 3rem;    /* 48px */
    
    /* 圆角 */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-full: 50%;
    
    /* 字体大小 */
    --font-size-xs: 0.75rem;    /* 12px */
    --font-size-sm: 0.875rem;   /* 14px */
    --font-size-base: 1rem;     /* 16px */
    --font-size-lg: 1.125rem;   /* 18px */
    --font-size-xl: 1.25rem;    /* 20px */
    --font-size-2xl: 1.5rem;    /* 24px */
    --font-size-3xl: 1.875rem;  /* 30px */
    
    /* 字体粗细 */
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 900;
    
    /* 行高 */
    --line-height-tight: 1.4;
    --line-height-normal: 1.6;
    --line-height-relaxed: 1.8;
    
    /* ========== 阴影系统 ========== */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --shadow-primary: 0 4px 12px rgba(79, 70, 229, 0.2);
    
    /* ========== 过渡动画 ========== */
    --transition-fast: 0.15s ease-in-out;
    --transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.5s ease-out;
    
    /* ========== Z-index层级 ========== */
    --z-index-dropdown: 10;
    --z-index-sticky: 20;
    --z-index-fixed: 30;
    --z-index-modal-backdrop: 40;
    --z-index-modal: 50;
    --z-index-loading: 9999;
    
    /* ========== 组件尺寸 ========== */
    /* 滚动条 */
    --scrollbar-width: 8px;
    --scrollbar-track-bg: var(--color-gray-100);
    --scrollbar-thumb-bg: var(--color-gray-400);
    --scrollbar-thumb-hover-bg: #a8a8a8;
    
    /* 表格 */
    --table-max-height: 400px;
    --table-cell-padding: 2px;
    --table-cell-min-width: 80px;
    --table-cell-max-width: 200px;
    --table-header-bg: rgba(190, 186, 186, 0.5);
    --table-header-color: #00ccff;
    
    /* 地图 */
    --map-height: 500px;
    --map-height-mobile: 400px;
    --map-border-width: 2px;
    --map-border-color: var(--color-gray-200);
    
    /* 标记 */
    --marker-radius-normal: 6;
    --marker-radius-noise: 5;
    --marker-border-width: 1px;
    --marker-border-width-noise: 2px;
    
    /* ========== 响应式断点 ========== */
    --breakpoint-sm: 640px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 1024px;
    --breakpoint-xl: 1280px;
}

