| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 |
- :root
- // Цветовая система для темной темы по умолчанию
- --primary-color: #f87171
- --primary-dark: #ef4444
- --primary-light: #fca5a5
- --secondary-color: #1e293b
- --secondary-dark: #0f172a
- --secondary-light: #334155
- --accent-color: #22d3ee
- --accent-dark: #06b6d4
- --accent-light: #67e8f9
- // Нейтральные цвета для темной темы
- --neutral-50: #0f172a
- --neutral-100: #1e293b
- --neutral-200: #334155
- --neutral-300: #475569
- --neutral-400: #64748b
- --neutral-500: #94a3b8
- --neutral-600: #cbd5e1
- --neutral-700: #e2e8f0
- --neutral-800: #f1f5f9
- --neutral-900: #f8fafc
- // Цвета текста для темной темы
- --text-primary: #f8fafc
- --text-secondary: #e2e8f0
- --text-muted: #94a3b8
- // Цвета фона для темной темы
- --bg-primary: #0f172a
- --bg-secondary: #1e293b
- --bg-card: #1e293b
- --bg-overlay: rgba(15, 23, 42, 0.8)
- // Градиенты для темной темы
- --gradient-primary: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary-color) 50%, var(--accent-color) 100%)
- --gradient-dark: linear-gradient(135deg, var(--secondary-dark) 0%, var(--secondary-color) 100%)
- // Типографическая система
- --font-family-sans: 'Inter', 'Segoe UI', system-ui, sans-serif
- --font-family-serif: 'Georgia', 'Times New Roman', serif
- --text-xs: 0.75rem
- --text-sm: 0.875rem
- --text-base: 1rem
- --text-lg: 1.125rem
- --text-xl: 1.25rem
- --text-2xl: 1.5rem
- --text-3xl: 1.875rem
- --text-4xl: 2.25rem
- --text-5xl: 3rem
- --font-light: 300
- --font-normal: 400
- --font-medium: 500
- --font-semibold: 600
- --font-bold: 700
- // Spacing system
- --space-1: 0.25rem
- --space-2: 0.5rem
- --space-3: 0.75rem
- --space-4: 1rem
- --space-5: 1.25rem
- --space-6: 1.5rem
- --space-8: 2rem
- --space-10: 2.5rem
- --space-12: 3rem
- --space-16: 4rem
- --space-20: 5rem
- // Тени и эффекты для темной темы
- --shadow-sm: 0 1px 2px 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)
- --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.8), 0 10px 10px -5px rgba(0, 0, 0, 0.6)
- // Анимации
- --transition-fast: 0.15s ease-in-out
- --transition-normal: 0.3s ease-in-out
- --transition-slow: 0.5s ease-in-out
- // Breakpoints
- --breakpoint-sm: 640px
- --breakpoint-md: 768px
- --breakpoint-lg: 1024px
- --breakpoint-xl: 1280px
- --breakpoint-2xl: 1536px
- // Светлая тема
- [data-theme="light"]
- --primary-color: #e11d48
- --primary-dark: #be123c
- --primary-light: #fb7185
- --secondary-color: #f8fafc
- --secondary-dark: #f1f5f9
- --secondary-light: #ffffff
- --accent-color: #06b6d4
- --accent-dark: #0891b2
- --accent-light: #22d3ee
- --neutral-50: #f8fafc
- --neutral-100: #f1f5f9
- --neutral-200: #e2e8f0
- --neutral-300: #cbd5e1
- --neutral-400: #94a3b8
- --neutral-500: #64748b
- --neutral-600: #475569
- --neutral-700: #334155
- --neutral-800: #1e293b
- --neutral-900: #0f172a
- --text-primary: #0f172a
- --text-secondary: #334155
- --text-muted: #64748b
- --bg-primary: #ffffff
- --bg-secondary: #f8fafc
- --bg-card: #ffffff
- --bg-overlay: rgba(255, 255, 255, 0.8)
- --gradient-primary: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary-color) 50%, var(--accent-color) 100%)
- --gradient-dark: linear-gradient(135deg, var(--neutral-100) 0%, var(--neutral-50) 100%)
- --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)
- // Утилитарные классы для кастомных свойств
- .bg-primary
- background-color: var(--primary-color)
- .text-primary
- color: var(--primary-color)
- .border-primary
- border-color: var(--primary-color)
- .bg-accent
- background-color: var(--accent-color)
- .text-accent
- color: var(--accent-color)
- .bg-neutral
- background-color: var(--neutral-500)
- .text-neutral
- color: var(--neutral-500)
- .bg-dark
- background-color: var(--bg-primary)
- .text-dark
- color: var(--text-primary)
- .bg-card
- background-color: var(--bg-card)
- .text-card
- color: var(--text-primary)
- // Анимации
- .transition-fast
- transition: var(--transition-fast)
- .transition-normal
- transition: var(--transition-normal)
- .transition-slow
- transition: var(--transition-slow)
- // Тени
- .shadow-custom-sm
- box-shadow: var(--shadow-sm)
- .shadow-custom-md
- box-shadow: var(--shadow-md)
- .shadow-custom-lg
- box-shadow: var(--shadow-lg)
- .shadow-custom-xl
- box-shadow: var(--shadow-xl)
- // Добавляем дополнительные утилитарные классы для лучшей поддержки компонентов
- .card-primary
- background-color: var(--bg-card)
- border: 1px solid var(--neutral-300)
- border-radius: 8px
- box-shadow: var(--shadow-sm)
- transition: all var(--transition-normal)
- .card-primary:hover
- border-color: var(--primary-color)
- box-shadow: var(--shadow-md)
- .text-icon
- filter: brightness(0) invert(0)
- transition: filter var(--transition-fast)
- [data-theme="dark"] .text-icon
- filter: brightness(0) invert(1)
- .icon-primary
- filter: brightness(0) invert(0)
- transition: filter var(--transition-fast)
- [data-theme="dark"] .icon-primary
- filter: brightness(0) invert(1)
- // Утилиты для контрастного текста
- .text-contrast-high
- color: var(--text-primary)
- .text-contrast-medium
- color: var(--text-secondary)
- .text-contrast-low
- color: var(--text-muted)
- // Утилиты для фонов
- .bg-surface
- background-color: var(--bg-card)
- .bg-surface-alt
- background-color: var(--bg-secondary)
|