175 lines
5.0 KiB
CSS
175 lines
5.0 KiB
CSS
|
|
/**
|
|||
|
|
* Design System - CSS Variables
|
|||
|
|
*
|
|||
|
|
* 定义 Light 和 Dark 模式的 CSS 变量
|
|||
|
|
* 使用 [data-theme] 属性选择器来切换主题
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/* ========================================
|
|||
|
|
Light Mode (Default)
|
|||
|
|
======================================== */
|
|||
|
|
|
|||
|
|
:root {
|
|||
|
|
/* Text Colors */
|
|||
|
|
--text-primary: #111827;
|
|||
|
|
--text-secondary: #4b5563;
|
|||
|
|
--text-tertiary: #9ca1af;
|
|||
|
|
--text-inverse: #ffffff;
|
|||
|
|
--text-disabled: #d1d5db;
|
|||
|
|
|
|||
|
|
/* Background Colors */
|
|||
|
|
--bg-base: #ffffff;
|
|||
|
|
--bg-subtle: #f9fafb;
|
|||
|
|
--bg-surface: #ffffff;
|
|||
|
|
--bg-elevated: #f3f4f6;
|
|||
|
|
--bg-overlay: rgba(0, 0, 0, 0.5);
|
|||
|
|
|
|||
|
|
/* Border Colors */
|
|||
|
|
--border-normal: #e5e7eb;
|
|||
|
|
--border-subtle: #f3f4f6;
|
|||
|
|
--border-strong: #d1d5db;
|
|||
|
|
|
|||
|
|
/* Accent Colors */
|
|||
|
|
--accent-green: #10b981;
|
|||
|
|
--accent-green-bg: #e1f8ec;
|
|||
|
|
--accent-blue: #1447e6;
|
|||
|
|
--accent-blue-bg: #ebf2ff;
|
|||
|
|
--accent-red: #ef4444;
|
|||
|
|
--accent-yellow: #f59e0b;
|
|||
|
|
|
|||
|
|
/* Special Colors */
|
|||
|
|
--special-black: #000000;
|
|||
|
|
--special-white: #ffffff;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* ========================================
|
|||
|
|
Dark Mode
|
|||
|
|
======================================== */
|
|||
|
|
|
|||
|
|
[data-theme="dark"] {
|
|||
|
|
/* Text Colors */
|
|||
|
|
--text-primary: #fafafa;
|
|||
|
|
--text-secondary: #a1a1aa;
|
|||
|
|
--text-tertiary: #71717a;
|
|||
|
|
--text-inverse: #111827;
|
|||
|
|
--text-disabled: #71717a;
|
|||
|
|
|
|||
|
|
/* Background Colors */
|
|||
|
|
--bg-base: #0a0a0a;
|
|||
|
|
--bg-subtle: #0a0a0a;
|
|||
|
|
--bg-surface: #18181b;
|
|||
|
|
--bg-elevated: #27272a;
|
|||
|
|
--bg-overlay: rgba(0, 0, 0, 0.7);
|
|||
|
|
|
|||
|
|
/* Border Colors */
|
|||
|
|
--border-normal: #27272a;
|
|||
|
|
--border-subtle: #18181b;
|
|||
|
|
--border-strong: #3f3f46;
|
|||
|
|
|
|||
|
|
/* Accent Colors */
|
|||
|
|
--accent-green: #10b981;
|
|||
|
|
--accent-green-bg: rgba(16, 185, 129, 0.15);
|
|||
|
|
--accent-blue: #1447e6;
|
|||
|
|
--accent-blue-bg: rgba(20, 71, 230, 0.15);
|
|||
|
|
--accent-red: #ef4444;
|
|||
|
|
--accent-yellow: #f59e0b;
|
|||
|
|
|
|||
|
|
/* Special Colors */
|
|||
|
|
--special-black: #000000;
|
|||
|
|
--special-white: #ffffff;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* ========================================
|
|||
|
|
Typography - Font Sizes
|
|||
|
|
======================================== */
|
|||
|
|
|
|||
|
|
:root {
|
|||
|
|
/* Serif Display */
|
|||
|
|
--serif--display--giant--bold: 100px;
|
|||
|
|
--serif--display--giant--regular: 100px;
|
|||
|
|
--serif--display--hero--bold: 64px;
|
|||
|
|
--serif--display--hero--regular: 64px;
|
|||
|
|
--serif--display--title-1--bold: 48px;
|
|||
|
|
--serif--display--title-1--regular: 48px;
|
|||
|
|
--serif--display--title-2--bold: 32px;
|
|||
|
|
--serif--display--title-2--regular: 32px;
|
|||
|
|
--serif--display--quote--bold: 24px;
|
|||
|
|
--serif--display--quote--regular: 24px;
|
|||
|
|
--serif--display--text--bold: 16px;
|
|||
|
|
--serif--display--text--regular: 16px;
|
|||
|
|
|
|||
|
|
/* Sans Heading */
|
|||
|
|
--sans--heading--h1--bold: 48px;
|
|||
|
|
--sans--heading--h1--medium: 48px;
|
|||
|
|
--sans--heading--h1--regular: 48px;
|
|||
|
|
--sans--heading--h2--bold: 32px;
|
|||
|
|
--sans--heading--h2--medium: 32px;
|
|||
|
|
--sans--heading--h2--regular: 32px;
|
|||
|
|
--sans--heading--h3--bold: 24px;
|
|||
|
|
--sans--heading--h3--medium: 24px;
|
|||
|
|
--sans--heading--h3--regular: 24px;
|
|||
|
|
--sans--heading--h4--bold: 20px;
|
|||
|
|
--sans--heading--h4--medium: 20px;
|
|||
|
|
--sans--heading--h4--regular: 20px;
|
|||
|
|
|
|||
|
|
/* Sans Body */
|
|||
|
|
--sans--body--large--bold: 18px;
|
|||
|
|
--sans--body--large--medium: 18px;
|
|||
|
|
--sans--body--large--regular: 18px;
|
|||
|
|
--sans--body--default--bold: 16px;
|
|||
|
|
--sans--body--default--medium: 16px;
|
|||
|
|
--sans--body--default--regular: 16px;
|
|||
|
|
--sans--body--small--bold: 14px;
|
|||
|
|
--sans--body--small--medium: 14px;
|
|||
|
|
--sans--body--small--regular: 14px;
|
|||
|
|
|
|||
|
|
/* Sans Caption */
|
|||
|
|
--sans--caption--tiny--bold: 12px;
|
|||
|
|
--sans--caption--tiny--medium: 12px;
|
|||
|
|
--sans--caption--tiny--regular: 12px;
|
|||
|
|
--sans--caption--minuscule--bold: 10px;
|
|||
|
|
--sans--caption--minuscule--medium: 10px;
|
|||
|
|
--sans--caption--minuscule--regular: 10px;
|
|||
|
|
|
|||
|
|
/* Mono Numeric */
|
|||
|
|
--mono--numeric--giant--extra-bold: 48px;
|
|||
|
|
--mono--numeric--giant--bold: 48px;
|
|||
|
|
--mono--numeric--giant--medium: 48px;
|
|||
|
|
--mono--numeric--giant--regular: 48px;
|
|||
|
|
--mono--numeric--huge--extra-bold: 32px;
|
|||
|
|
--mono--numeric--huge--bold: 32px;
|
|||
|
|
--mono--numeric--huge--medium: 32px;
|
|||
|
|
--mono--numeric--huge--regular: 32px;
|
|||
|
|
--mono--numeric--large--extra-bold: 24px;
|
|||
|
|
--mono--numeric--large--bold: 24px;
|
|||
|
|
--mono--numeric--large--medium: 24px;
|
|||
|
|
--mono--numeric--large--regular: 24px;
|
|||
|
|
--mono--numeric--default--extra-bold: 16px;
|
|||
|
|
--mono--numeric--default--bold: 16px;
|
|||
|
|
--mono--numeric--default--medium: 16px;
|
|||
|
|
--mono--numeric--default--regular: 16px;
|
|||
|
|
|
|||
|
|
/* Mono Code */
|
|||
|
|
--mono--code--small--extra-bold: 14px;
|
|||
|
|
--mono--code--small--bold: 14px;
|
|||
|
|
--mono--code--small--medium: 14px;
|
|||
|
|
--mono--code--small--regular: 14px;
|
|||
|
|
--mono--code--tiny--extra-bold: 12px;
|
|||
|
|
--mono--code--tiny--bold: 12px;
|
|||
|
|
--mono--code--tiny--medium: 12px;
|
|||
|
|
--mono--code--tiny--regular: 12px;
|
|||
|
|
--mono--code--minuscule--extra-bold: 10px;
|
|||
|
|
--mono--code--minuscule--bold: 10px;
|
|||
|
|
--mono--code--minuscule--medium: 10px;
|
|||
|
|
--mono--code--minuscule--regular: 10px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* ========================================
|
|||
|
|
Utility Classes (Optional)
|
|||
|
|
======================================== */
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* 如果需要,可以定义一些通用的 utility classes
|
|||
|
|
* 但主要还是通过 Tailwind 的扩展配置来使用这些变量
|
|||
|
|
*/
|