225 lines
8.8 KiB
CSS
225 lines
8.8 KiB
CSS
|
|
/* Health Industry Elegant Theme - Professional Resume */
|
||
|
|
:root {
|
||
|
|
/* Sophisticated Health Industry Color Palette */
|
||
|
|
--background: oklch(0.1400 0.0350 158.0000); /* 更深邃的青绿背景 - 高级质感 */
|
||
|
|
--foreground: oklch(0.9500 0.0150 152.0000); /* 高对比度文字 - 更清晰 */
|
||
|
|
--card: oklch(0.2000 0.0420 152.0000); /* 精致卡片背景 - 层次感 */
|
||
|
|
--card-foreground: oklch(0.9200 0.0200 152.0000);
|
||
|
|
--popover: oklch(0.2200 0.0450 152.0000);
|
||
|
|
--popover-foreground: oklch(0.9200 0.0200 152.0000);
|
||
|
|
|
||
|
|
/* Primary - Medical Green with Health Vitality */
|
||
|
|
--primary: oklch(0.6200 0.1450 145.0000); /* 更柔和的医疗绿 - 高级感 */
|
||
|
|
--primary-foreground: oklch(0.0800 0.0000 0); /* 深色文字 - 更好对比 */
|
||
|
|
--primary-hover: oklch(0.6800 0.1550 145.0000); /* 悬停时更亮 - 现代感 */
|
||
|
|
--primary-glow: oklch(0.6200 0.1450 145.0000 / 0.3); /* 发光效果 */
|
||
|
|
|
||
|
|
/* Secondary - Light Sky Blue */
|
||
|
|
--secondary: oklch(0.2800 0.0520 172.0000); /* 深蓝绿色 */
|
||
|
|
--secondary-foreground: oklch(0.9200 0.0200 152.0000);
|
||
|
|
--secondary-hover: oklch(0.3200 0.0620 172.0000);
|
||
|
|
|
||
|
|
/* Muted tones */
|
||
|
|
--muted: oklch(0.1600 0.0350 152.0000); /* 更深的柔和背景 */
|
||
|
|
--muted-foreground: oklch(0.7000 0.0300 152.0000); /* 可读的柔和文字 */
|
||
|
|
|
||
|
|
/* Accent - Elegant Teal */
|
||
|
|
--accent: oklch(0.6180 0.1180 180.0000); /* Professional teal accent */
|
||
|
|
--accent-foreground: oklch(0.9890 0.0045 142.5000);
|
||
|
|
--accent-hover: oklch(0.5680 0.1280 180.0000);
|
||
|
|
|
||
|
|
/* Destructive - Sophisticated Red */
|
||
|
|
--destructive: oklch(0.5580 0.1980 25.8500);
|
||
|
|
--destructive-foreground: oklch(0.9890 0.0045 142.5000);
|
||
|
|
|
||
|
|
/* Border and Input */
|
||
|
|
--border: oklch(0.3000 0.0400 152.0000); /* 深绿色边框 */
|
||
|
|
--input: oklch(0.2000 0.0380 152.0000); /* 深色输入框背景 */
|
||
|
|
--ring: oklch(0.5500 0.1680 142.5000); /* Focus ring matches primary */
|
||
|
|
|
||
|
|
/* Chart colors for data visualization */
|
||
|
|
--chart-1: oklch(0.4890 0.1420 142.5000); /* Primary green */
|
||
|
|
--chart-2: oklch(0.6180 0.1180 180.0000); /* Teal accent */
|
||
|
|
--chart-3: oklch(0.7200 0.1080 25.8500); /* Warm orange */
|
||
|
|
--chart-4: oklch(0.6800 0.0980 280.0000); /* Professional purple */
|
||
|
|
--chart-5: oklch(0.5800 0.1280 60.0000); /* Sophisticated yellow-green */
|
||
|
|
|
||
|
|
/* Sidebar colors */
|
||
|
|
--sidebar: oklch(0.1600 0.0350 152.0000); /* 深色侧边栏 */
|
||
|
|
--sidebar-foreground: oklch(0.9200 0.0200 152.0000);
|
||
|
|
--sidebar-primary: oklch(0.5500 0.1680 142.5000);
|
||
|
|
--sidebar-primary-foreground: oklch(0.1000 0.0000 0);
|
||
|
|
--sidebar-accent: oklch(0.2800 0.0520 172.0000);
|
||
|
|
--sidebar-accent-foreground: oklch(0.9200 0.0200 152.0000);
|
||
|
|
--sidebar-border: oklch(0.3000 0.0400 152.0000);
|
||
|
|
--sidebar-ring: oklch(0.5500 0.1680 142.5000);
|
||
|
|
|
||
|
|
/* Typography - Professional Health Industry Fonts */
|
||
|
|
--font-sans: 'Inter', 'DM Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
|
||
|
|
--font-serif: 'Playfair Display', 'Merriweather', ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
|
||
|
|
--font-mono: 'Geist Mono', 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||
|
|
--font-heading: 'Outfit', 'Plus Jakarta Sans', var(--font-sans);
|
||
|
|
|
||
|
|
/* Modern Border Radius System */
|
||
|
|
--radius: 0.750rem; /* 12px - Modern rounded corners */
|
||
|
|
--radius-sm: calc(var(--radius) - 0.250rem); /* 8px */
|
||
|
|
--radius-md: calc(var(--radius) - 0.125rem); /* 10px */
|
||
|
|
--radius-lg: var(--radius); /* 12px */
|
||
|
|
--radius-xl: calc(var(--radius) + 0.250rem); /* 16px */
|
||
|
|
--radius-2xl: calc(var(--radius) + 0.500rem); /* 20px */
|
||
|
|
|
||
|
|
/* Sophisticated Shadow System */
|
||
|
|
--shadow-2xs: 0 1px 2px 0px oklch(0.1520 0.0180 142.5000 / 0.06);
|
||
|
|
--shadow-xs: 0 1px 3px 0px oklch(0.1520 0.0180 142.5000 / 0.08), 0 1px 2px -1px oklch(0.1520 0.0180 142.5000 / 0.08);
|
||
|
|
--shadow-sm: 0 1px 3px 0px oklch(0.1520 0.0180 142.5000 / 0.10), 0 1px 2px -1px oklch(0.1520 0.0180 142.5000 / 0.10);
|
||
|
|
--shadow: 0 1px 3px 0px oklch(0.1520 0.0180 142.5000 / 0.10), 0 1px 2px -1px oklch(0.1520 0.0180 142.5000 / 0.10);
|
||
|
|
--shadow-md: 0 4px 6px -1px oklch(0.1520 0.0180 142.5000 / 0.08), 0 2px 4px -2px oklch(0.1520 0.0180 142.5000 / 0.08);
|
||
|
|
--shadow-lg: 0 10px 15px -3px oklch(0.1520 0.0180 142.5000 / 0.08), 0 4px 6px -4px oklch(0.1520 0.0180 142.5000 / 0.08);
|
||
|
|
--shadow-xl: 0 20px 25px -5px oklch(0.1520 0.0180 142.5000 / 0.08), 0 8px 10px -6px oklch(0.1520 0.0180 142.5000 / 0.08);
|
||
|
|
--shadow-2xl: 0 25px 50px -12px oklch(0.1520 0.0180 142.5000 / 0.25);
|
||
|
|
--shadow-inner: inset 0 2px 4px 0 oklch(0.1520 0.0180 142.5000 / 0.05);
|
||
|
|
|
||
|
|
/* Professional Spacing System */
|
||
|
|
--spacing: 0.25rem; /* 4px base unit */
|
||
|
|
--spacing-xs: calc(var(--spacing) * 0.5); /* 2px */
|
||
|
|
--spacing-sm: var(--spacing); /* 4px */
|
||
|
|
--spacing-md: calc(var(--spacing) * 2); /* 8px */
|
||
|
|
--spacing-lg: calc(var(--spacing) * 4); /* 16px */
|
||
|
|
--spacing-xl: calc(var(--spacing) * 6); /* 24px */
|
||
|
|
--spacing-2xl: calc(var(--spacing) * 8); /* 32px */
|
||
|
|
--spacing-3xl: calc(var(--spacing) * 12); /* 48px */
|
||
|
|
--spacing-4xl: calc(var(--spacing) * 16); /* 64px */
|
||
|
|
|
||
|
|
/* Typography Scale */
|
||
|
|
--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 */
|
||
|
|
--text-6xl: 3.75rem; /* 60px */
|
||
|
|
|
||
|
|
/* Line Heights */
|
||
|
|
--leading-tight: 1.25;
|
||
|
|
--leading-snug: 1.375;
|
||
|
|
--leading-normal: 1.5;
|
||
|
|
--leading-relaxed: 1.625;
|
||
|
|
--leading-loose: 2;
|
||
|
|
|
||
|
|
/* Letter Spacing */
|
||
|
|
--tracking-tighter: -0.05em;
|
||
|
|
--tracking-tight: -0.025em;
|
||
|
|
--tracking-normal: 0em;
|
||
|
|
--tracking-wide: 0.025em;
|
||
|
|
--tracking-wider: 0.05em;
|
||
|
|
--tracking-widest: 0.1em;
|
||
|
|
|
||
|
|
/* Modern Gradients for Health Industry */
|
||
|
|
--gradient-primary: linear-gradient(135deg,
|
||
|
|
oklch(0.6200 0.1450 145.0000) 0%,
|
||
|
|
oklch(0.7000 0.1300 148.0000) 100%);
|
||
|
|
--gradient-secondary: linear-gradient(135deg,
|
||
|
|
oklch(0.2000 0.0420 152.0000) 0%,
|
||
|
|
oklch(0.2400 0.0480 148.0000) 100%);
|
||
|
|
--gradient-accent: linear-gradient(135deg,
|
||
|
|
oklch(0.6180 0.1180 180.0000) 0%,
|
||
|
|
oklch(0.6800 0.1080 175.0000) 100%);
|
||
|
|
--gradient-neutral: linear-gradient(135deg,
|
||
|
|
oklch(0.1400 0.0350 158.0000) 0%,
|
||
|
|
oklch(0.1800 0.0420 152.0000) 100%);
|
||
|
|
--gradient-hero: linear-gradient(135deg,
|
||
|
|
oklch(0.1200 0.0320 160.0000) 0%,
|
||
|
|
oklch(0.1600 0.0380 155.0000) 50%,
|
||
|
|
oklch(0.2000 0.0420 150.0000) 100%);
|
||
|
|
--gradient-glass: linear-gradient(135deg,
|
||
|
|
oklch(0.2200 0.0450 152.0000 / 0.8) 0%,
|
||
|
|
oklch(0.2600 0.0520 148.0000 / 0.6) 100%);
|
||
|
|
|
||
|
|
/* Interactive States */
|
||
|
|
--focus-ring: 0 0 0 2px oklch(0.4890 0.1420 142.5000 / 0.20);
|
||
|
|
--focus-ring-offset: 0 0 0 2px oklch(0.9890 0.0045 142.5000);
|
||
|
|
|
||
|
|
/* Animation Timing */
|
||
|
|
--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);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Dark mode overrides for accessibility */
|
||
|
|
@media (prefers-color-scheme: dark) {
|
||
|
|
:root {
|
||
|
|
--background: oklch(0.0890 0.0180 142.5000);
|
||
|
|
--foreground: oklch(0.9520 0.0120 142.5000);
|
||
|
|
--card: oklch(0.1220 0.0180 142.5000);
|
||
|
|
--card-foreground: oklch(0.9520 0.0120 142.5000);
|
||
|
|
--popover: oklch(0.1220 0.0180 142.5000);
|
||
|
|
--popover-foreground: oklch(0.9520 0.0120 142.5000);
|
||
|
|
--primary: oklch(0.6890 0.1420 142.5000);
|
||
|
|
--primary-foreground: oklch(0.0890 0.0180 142.5000);
|
||
|
|
--secondary: oklch(0.2750 0.0680 142.5000);
|
||
|
|
--secondary-foreground: oklch(0.9520 0.0120 142.5000);
|
||
|
|
--muted: oklch(0.1820 0.0180 142.5000);
|
||
|
|
--muted-foreground: oklch(0.6480 0.0280 142.5000);
|
||
|
|
--accent: oklch(0.7180 0.1180 180.0000);
|
||
|
|
--accent-foreground: oklch(0.0890 0.0180 142.5000);
|
||
|
|
--border: oklch(0.2920 0.0180 142.5000);
|
||
|
|
--input: oklch(0.1820 0.0180 142.5000);
|
||
|
|
--ring: oklch(0.6890 0.1420 142.5000);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Utility classes for common patterns */
|
||
|
|
.health-gradient-primary {
|
||
|
|
background: var(--gradient-primary);
|
||
|
|
}
|
||
|
|
|
||
|
|
.health-gradient-secondary {
|
||
|
|
background: var(--gradient-secondary);
|
||
|
|
}
|
||
|
|
|
||
|
|
.health-gradient-accent {
|
||
|
|
background: var(--gradient-accent);
|
||
|
|
}
|
||
|
|
|
||
|
|
.health-gradient-neutral {
|
||
|
|
background: var(--gradient-neutral);
|
||
|
|
}
|
||
|
|
|
||
|
|
.health-shadow-soft {
|
||
|
|
box-shadow: var(--shadow-lg);
|
||
|
|
}
|
||
|
|
|
||
|
|
.health-shadow-strong {
|
||
|
|
box-shadow: var(--shadow-2xl);
|
||
|
|
}
|
||
|
|
|
||
|
|
.health-focus-ring {
|
||
|
|
box-shadow: var(--focus-ring-offset), var(--focus-ring);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Professional typography classes */
|
||
|
|
.health-heading {
|
||
|
|
font-family: var(--font-heading);
|
||
|
|
font-weight: 600;
|
||
|
|
letter-spacing: var(--tracking-tight);
|
||
|
|
line-height: var(--leading-tight);
|
||
|
|
}
|
||
|
|
|
||
|
|
.health-body {
|
||
|
|
font-family: var(--font-sans);
|
||
|
|
font-weight: 400;
|
||
|
|
letter-spacing: var(--tracking-normal);
|
||
|
|
line-height: var(--leading-normal);
|
||
|
|
}
|
||
|
|
|
||
|
|
.health-caption {
|
||
|
|
font-family: var(--font-sans);
|
||
|
|
font-weight: 500;
|
||
|
|
font-size: var(--text-sm);
|
||
|
|
letter-spacing: var(--tracking-wide);
|
||
|
|
line-height: var(--leading-snug);
|
||
|
|
color: oklch(from var(--muted-foreground) l c h / 0.8);
|
||
|
|
}
|