PersonalPage/src/styles/variables.css

108 lines
3.3 KiB
CSS

/* ========== 颜色变量 ========== */
:root {
/* 主色调 (猫主题蓝) */
--color-primary-50: #f0f9ff;
--color-primary-100: #e0f2fe;
--color-primary-200: #bae6fd;
--color-primary-300: #7ac5e8; /* 主要品牌色 */
--color-primary-400: #38bdf8;
--color-primary-500: #0ea5e9;
--color-primary-600: #0284c7;
/* 文字颜色 */
--color-text-primary: #1e293b; /* 主要文字 */
--color-text-secondary: #64748b; /* 次要文字 */
--color-text-inverse: #f8fafc; /* 反色文字 */
/* 背景色 */
--color-bg-light: #f8fafc; /* 浅色背景 */
--color-bg-dark: #1e293b; /* 深色背景 */
--color-bg-blur: rgba(255, 255, 255, 0.85); /* 毛玻璃效果 */
/* 社交平台品牌色 */
--social-qq: #12b7f5;
--social-wechat: #07c160;
--social-github: #181717;
--social-gitea: #609926;
--social-steam: #145b8e;
--social-email: #d44638;
--social-discord: #5865f2;
/* 状态色 */
--color-success: #10b981;
--color-warning: #f59e0b;
--color-error: #ef4444;
--color-info: #3b82f6;
/* ========== 尺寸变量 ========== */
--spacing-xs: 0.25rem; /* 4px */
--spacing-sm: 0.5rem; /* 8px */
--spacing-md: 1rem; /* 16px */
--spacing-lg: 1.5rem; /* 24px */
--spacing-xl: 2rem; /* 32px */
--radius-sm: 0.25rem; /* 4px */
--radius-md: 0.5rem; /* 8px */
--radius-lg: 1rem; /* 16px */
--radius-full: 9999px; /* 圆形 */
/* ========== 文字变量 ========== */
--text-xs: 0.75rem; /* 12px */
--text-sm: 0.875rem; /* 14px */
--text-base: 1rem; /* 16px */
--text-lg: 1.125rem; /* 18px */
--text-xl: 1.25rem; /* 20px */
--text-2xl: 1.5rem; /* 24px */
--text-3xl: 1.875rem; /* 30px */
--text-4xl: 2.25rem; /* 36px */
--text-5xl: 3rem; /* 48px */
/* ========== 阴影变量 ========== */
--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);
/* ========== 动效变量 ========== */
--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
--transition-normal: 300ms cubic-bezier(0.4, 0, 0.2, 1);
--transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);
/* ========== 层级管理 ========== */
--z-index-particle: 0;
--z-index-background: 1;
--z-index-content: 10;
--z-index-social: 20;
--z-index-header: 30;
--z-index-modal: 100;
--z-index-toast: 200;
/* ========== 响应式断点 ========== */
--screen-xs: 480px;
--screen-sm: 640px;
--screen-md: 768px;
--screen-lg: 1024px;
--screen-xl: 1280px;
--screen-2xl: 1536px;
}
/* ========== 暗黑模式变量 ========== */
@media (prefers-color-scheme: dark) {
:root {
--color-text-primary: #f8fafc;
--color-text-secondary: #94a3b8;
--color-bg-light: #1e293b;
--color-bg-dark: #0f172a;
--color-bg-blur: rgba(15, 23, 42, 0.85);
--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.5);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.6),
0 2px 4px -1px rgba(0, 0, 0, 0.4);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.7),
0 4px 6px -2px rgba(0, 0, 0, 0.5);
}
}