|
@@ -1,4 +1,4 @@
|
|
|
-// Переменные цветов
|
|
|
|
|
|
|
+// Базовые цвета
|
|
|
$primary-50 = #fef2f2
|
|
$primary-50 = #fef2f2
|
|
|
$primary-100 = #fee2e2
|
|
$primary-100 = #fee2e2
|
|
|
$primary-200 = #fecaca
|
|
$primary-200 = #fecaca
|
|
@@ -35,6 +35,186 @@ $gray-900 = #111827
|
|
|
$white = #ffffff
|
|
$white = #ffffff
|
|
|
$black = #000000
|
|
$black = #000000
|
|
|
|
|
|
|
|
|
|
+// CSS-переменные для глобального использования
|
|
|
|
|
+:root
|
|
|
|
|
+ // Основные цвета
|
|
|
|
|
+ --color-primary-50: #fef2f2
|
|
|
|
|
+ --color-primary-100: #fee2e2
|
|
|
|
|
+ --color-primary-200: #fecaca
|
|
|
|
|
+ --color-primary-300: #fca5a5
|
|
|
|
|
+ --color-primary-400: #f87171
|
|
|
|
|
+ --color-primary-500: #ef4444
|
|
|
|
|
+ --color-primary-600: #dc2626
|
|
|
|
|
+ --color-primary-700: #b91c1c
|
|
|
|
|
+ --color-primary-800: #991b1b
|
|
|
|
|
+ --color-primary-900: #7f1d1d
|
|
|
|
|
+
|
|
|
|
|
+ --color-accent-50: #f0f9ff
|
|
|
|
|
+ --color-accent-100: #e0f2fe
|
|
|
|
|
+ --color-accent-200: #bae6fd
|
|
|
|
|
+ --color-accent-300: #7dd3fc
|
|
|
|
|
+ --color-accent-400: #38bdf8
|
|
|
|
|
+ --color-accent-500: #0ea5e9
|
|
|
|
|
+ --color-accent-600: #0284c7
|
|
|
|
|
+ --color-accent-700: #0369a1
|
|
|
|
|
+ --color-accent-800: #075985
|
|
|
|
|
+ --color-accent-900: #0c4a6e
|
|
|
|
|
+
|
|
|
|
|
+ --color-gray-50: #f9fafb
|
|
|
|
|
+ --color-gray-100: #f3f4f6
|
|
|
|
|
+ --color-gray-200: #e5e7eb
|
|
|
|
|
+ --color-gray-300: #d1d5db
|
|
|
|
|
+ --color-gray-400: #9ca3af
|
|
|
|
|
+ --color-gray-500: #6b7280
|
|
|
|
|
+ --color-gray-600: #4b5563
|
|
|
|
|
+ --color-gray-700: #374151
|
|
|
|
|
+ --color-gray-800: #1f2937
|
|
|
|
|
+ --color-gray-900: #111827
|
|
|
|
|
+
|
|
|
|
|
+ --color-white: #ffffff
|
|
|
|
|
+ --color-black: #000000
|
|
|
|
|
+
|
|
|
|
|
+ // RGB значения для использования с прозрачностью
|
|
|
|
|
+ --color-primary-500-rgb: 239, 68, 68
|
|
|
|
|
+ --color-primary-600-rgb: 220, 38, 38
|
|
|
|
|
+ --color-accent-500-rgb: 14, 165, 233
|
|
|
|
|
+ --color-accent-600-rgb: 2, 132, 199
|
|
|
|
|
+ --color-gray-500-rgb: 107, 114, 128
|
|
|
|
|
+ --color-gray-600-rgb: 75, 85, 99
|
|
|
|
|
+ --color-gray-700-rgb: 55, 65, 81
|
|
|
|
|
+ --color-gray-800-rgb: 31, 41, 55
|
|
|
|
|
+ --color-gray-900-rgb: 17, 24, 39
|
|
|
|
|
+ --color-white-rgb: 255, 255, 255
|
|
|
|
|
+ --color-black-rgb: 0, 0, 0
|
|
|
|
|
+
|
|
|
|
|
+ // Готовые цвета с прозрачностью
|
|
|
|
|
+ // Primary colors with opacity
|
|
|
|
|
+ --color-primary-50-a10: rgba(254, 242, 242, 0.1)
|
|
|
|
|
+ --color-primary-50-a20: rgba(254, 242, 242, 0.2)
|
|
|
|
|
+ --color-primary-50-a30: rgba(254, 242, 242, 0.3)
|
|
|
|
|
+ --color-primary-50-a40: rgba(254, 242, 242, 0.4)
|
|
|
|
|
+ --color-primary-50-a50: rgba(254, 242, 242, 0.5)
|
|
|
|
|
+
|
|
|
|
|
+ --color-primary-500-a10: rgba(239, 68, 68, 0.1)
|
|
|
|
|
+ --color-primary-500-a20: rgba(239, 68, 68, 0.2)
|
|
|
|
|
+ --color-primary-500-a30: rgba(239, 68, 68, 0.3)
|
|
|
|
|
+ --color-primary-500-a40: rgba(239, 68, 68, 0.4)
|
|
|
|
|
+ --color-primary-500-a50: rgba(239, 68, 68, 0.5)
|
|
|
|
|
+ --color-primary-500-a60: rgba(239, 68, 68, 0.6)
|
|
|
|
|
+ --color-primary-500-a70: rgba(239, 68, 68, 0.7)
|
|
|
|
|
+ --color-primary-500-a80: rgba(239, 68, 68, 0.8)
|
|
|
|
|
+ --color-primary-500-a90: rgba(239, 68, 68, 0.9)
|
|
|
|
|
+
|
|
|
|
|
+ --color-primary-600-a10: rgba(220, 38, 38, 0.1)
|
|
|
|
|
+ --color-primary-600-a20: rgba(220, 38, 38, 0.2)
|
|
|
|
|
+ --color-primary-600-a30: rgba(220, 38, 38, 0.3)
|
|
|
|
|
+ --color-primary-600-a40: rgba(220, 38, 38, 0.4)
|
|
|
|
|
+ --color-primary-600-a50: rgba(220, 38, 38, 0.5)
|
|
|
|
|
+
|
|
|
|
|
+ // Accent colors with opacity
|
|
|
|
|
+ --color-accent-500-a10: rgba(14, 165, 233, 0.1)
|
|
|
|
|
+ --color-accent-500-a20: rgba(14, 165, 233, 0.2)
|
|
|
|
|
+ --color-accent-500-a30: rgba(14, 165, 233, 0.3)
|
|
|
|
|
+ --color-accent-500-a40: rgba(14, 165, 233, 0.4)
|
|
|
|
|
+ --color-accent-500-a50: rgba(14, 165, 233, 0.5)
|
|
|
|
|
+ --color-accent-500-a60: rgba(14, 165, 233, 0.6)
|
|
|
|
|
+ --color-accent-500-a70: rgba(14, 165, 233, 0.7)
|
|
|
|
|
+ --color-accent-500-a80: rgba(14, 165, 233, 0.8)
|
|
|
|
|
+ --color-accent-500-a90: rgba(14, 165, 233, 0.9)
|
|
|
|
|
+
|
|
|
|
|
+ --color-accent-600-a10: rgba(2, 132, 199, 0.1)
|
|
|
|
|
+ --color-accent-600-a20: rgba(2, 132, 199, 0.2)
|
|
|
|
|
+ --color-accent-600-a30: rgba(2, 132, 199, 0.3)
|
|
|
|
|
+ --color-accent-600-a40: rgba(2, 132, 199, 0.4)
|
|
|
|
|
+ --color-accent-600-a50: rgba(2, 132, 199, 0.5)
|
|
|
|
|
+
|
|
|
|
|
+ // Gray colors with opacity
|
|
|
|
|
+ --color-gray-500-a10: rgba(107, 114, 128, 0.1)
|
|
|
|
|
+ --color-gray-500-a20: rgba(107, 114, 128, 0.2)
|
|
|
|
|
+ --color-gray-500-a30: rgba(107, 114, 128, 0.3)
|
|
|
|
|
+ --color-gray-500-a40: rgba(107, 114, 128, 0.4)
|
|
|
|
|
+ --color-gray-500-a50: rgba(107, 114, 128, 0.5)
|
|
|
|
|
+
|
|
|
|
|
+ --color-gray-600-a10: rgba(75, 85, 99, 0.1)
|
|
|
|
|
+ --color-gray-600-a20: rgba(75, 85, 99, 0.2)
|
|
|
|
|
+ --color-gray-600-a30: rgba(75, 85, 99, 0.3)
|
|
|
|
|
+ --color-gray-600-a40: rgba(75, 85, 99, 0.4)
|
|
|
|
|
+ --color-gray-600-a50: rgba(75, 85, 99, 0.5)
|
|
|
|
|
+
|
|
|
|
|
+ --color-gray-700-a10: rgba(55, 65, 81, 0.1)
|
|
|
|
|
+ --color-gray-700-a20: rgba(55, 65, 81, 0.2)
|
|
|
|
|
+ --color-gray-700-a30: rgba(55, 65, 81, 0.3)
|
|
|
|
|
+ --color-gray-700-a40: rgba(55, 65, 81, 0.4)
|
|
|
|
|
+ --color-gray-700-a50: rgba(55, 65, 81, 0.5)
|
|
|
|
|
+ --color-gray-700-a60: rgba(55, 65, 81, 0.6)
|
|
|
|
|
+ --color-gray-700-a70: rgba(55, 65, 81, 0.7)
|
|
|
|
|
+ --color-gray-700-a80: rgba(55, 65, 81, 0.8)
|
|
|
|
|
+ --color-gray-700-a90: rgba(55, 65, 81, 0.9)
|
|
|
|
|
+
|
|
|
|
|
+ --color-gray-800-a10: rgba(31, 41, 55, 0.1)
|
|
|
|
|
+ --color-gray-800-a20: rgba(31, 41, 55, 0.2)
|
|
|
|
|
+ --color-gray-800-a30: rgba(31, 41, 55, 0.3)
|
|
|
|
|
+ --color-gray-800-a40: rgba(31, 41, 55, 0.4)
|
|
|
|
|
+ --color-gray-800-a50: rgba(31, 41, 55, 0.5)
|
|
|
|
|
+ --color-gray-800-a60: rgba(31, 41, 55, 0.6)
|
|
|
|
|
+ --color-gray-800-a70: rgba(31, 41, 55, 0.7)
|
|
|
|
|
+ --color-gray-800-a80: rgba(31, 41, 55, 0.8)
|
|
|
|
|
+ --color-gray-800-a90: rgba(31, 41, 55, 0.9)
|
|
|
|
|
+
|
|
|
|
|
+ --color-gray-900-a10: rgba(17, 24, 39, 0.1)
|
|
|
|
|
+ --color-gray-900-a20: rgba(17, 24, 39, 0.2)
|
|
|
|
|
+ --color-gray-900-a30: rgba(17, 24, 39, 0.3)
|
|
|
|
|
+ --color-gray-900-a40: rgba(17, 24, 39, 0.4)
|
|
|
|
|
+ --color-gray-900-a50: rgba(17, 24, 39, 0.5)
|
|
|
|
|
+ --color-gray-900-a60: rgba(17, 24, 39, 0.6)
|
|
|
|
|
+ --color-gray-900-a70: rgba(17, 24, 39, 0.7)
|
|
|
|
|
+ --color-gray-900-a80: rgba(17, 24, 39, 0.8)
|
|
|
|
|
+ --color-gray-900-a90: rgba(17, 24, 39, 0.9)
|
|
|
|
|
+
|
|
|
|
|
+ // White and black with opacity
|
|
|
|
|
+ --color-white-a10: rgba(255, 255, 255, 0.1)
|
|
|
|
|
+ --color-white-a20: rgba(255, 255, 255, 0.2)
|
|
|
|
|
+ --color-white-a30: rgba(255, 255, 255, 0.3)
|
|
|
|
|
+ --color-white-a40: rgba(255, 255, 255, 0.4)
|
|
|
|
|
+ --color-white-a50: rgba(255, 255, 255, 0.5)
|
|
|
|
|
+ --color-white-a60: rgba(255, 255, 255, 0.6)
|
|
|
|
|
+ --color-white-a70: rgba(255, 255, 255, 0.7)
|
|
|
|
|
+ --color-white-a80: rgba(255, 255, 255, 0.8)
|
|
|
|
|
+ --color-white-a90: rgba(255, 255, 255, 0.9)
|
|
|
|
|
+
|
|
|
|
|
+ --color-black-a10: rgba(0, 0, 0, 0.1)
|
|
|
|
|
+ --color-black-a20: rgba(0, 0, 0, 0.2)
|
|
|
|
|
+ --color-black-a30: rgba(0, 0, 0, 0.3)
|
|
|
|
|
+ --color-black-a40: rgba(0, 0, 0, 0.4)
|
|
|
|
|
+ --color-black-a50: rgba(0, 0, 0, 0.5)
|
|
|
|
|
+ --color-black-a60: rgba(0, 0, 0, 0.6)
|
|
|
|
|
+ --color-black-a70: rgba(0, 0, 0, 0.7)
|
|
|
|
|
+ --color-black-a80: rgba(0, 0, 0, 0.8)
|
|
|
|
|
+ --color-black-a90: rgba(0, 0, 0, 0.9)
|
|
|
|
|
+
|
|
|
|
|
+ // Семантические переменные с прозрачностью
|
|
|
|
|
+ --color-background-overlay: var(--color-black-a50)
|
|
|
|
|
+ --color-background-modal: var(--color-white-a95)
|
|
|
|
|
+ --color-background-tooltip: var(--color-gray-900-a90)
|
|
|
|
|
+ --color-background-hover: var(--color-gray-500-a10)
|
|
|
|
|
+ --color-background-active: var(--color-primary-500-a20)
|
|
|
|
|
+ --color-border-light: var(--color-gray-300-a30)
|
|
|
|
|
+ --color-border-medium: var(--color-gray-500-a40)
|
|
|
|
|
+ --color-text-secondary: var(--color-gray-600-a80)
|
|
|
|
|
+ --color-text-disabled: var(--color-gray-500-a50)
|
|
|
|
|
+ --color-shadow-light: var(--color-black-a10)
|
|
|
|
|
+ --color-shadow-medium: var(--color-black-a20)
|
|
|
|
|
+ --color-shadow-heavy: var(--color-black-a30)
|
|
|
|
|
+
|
|
|
|
|
+ // Переменные для темной темы с прозрачностью
|
|
|
|
|
+ --color-dark-background-overlay: var(--color-white-a10)
|
|
|
|
|
+ --color-dark-background-modal: var(--color-gray-900-a95)
|
|
|
|
|
+ --color-dark-background-tooltip: var(--color-white-a90)
|
|
|
|
|
+ --color-dark-background-hover: var(--color-white-a10)
|
|
|
|
|
+ --color-dark-background-active: var(--color-accent-500-a20)
|
|
|
|
|
+ --color-dark-border-light: var(--color-white-a20)
|
|
|
|
|
+ --color-dark-border-medium: var(--color-white-a30)
|
|
|
|
|
+
|
|
|
// Миксины
|
|
// Миксины
|
|
|
flex-center()
|
|
flex-center()
|
|
|
display: flex
|
|
display: flex
|
|
@@ -60,7 +240,7 @@ transition-all($duration = 0.3s)
|
|
|
// Header
|
|
// Header
|
|
|
.header
|
|
.header
|
|
|
background-color: $white
|
|
background-color: $white
|
|
|
- box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)
|
|
|
|
|
|
|
+ box-shadow: 0 1px 3px 0 var(--color-shadow-light)
|
|
|
position: sticky
|
|
position: sticky
|
|
|
top: 0
|
|
top: 0
|
|
|
z-index: 50
|
|
z-index: 50
|
|
@@ -82,8 +262,8 @@ transition-all($duration = 0.3s)
|
|
|
gap: 0.75rem
|
|
gap: 0.75rem
|
|
|
|
|
|
|
|
.header__logo
|
|
.header__logo
|
|
|
- width: auto
|
|
|
|
|
- height: 5rem
|
|
|
|
|
|
|
+ width: 2rem
|
|
|
|
|
+ height: 2rem
|
|
|
object-fit: contain
|
|
object-fit: contain
|
|
|
|
|
|
|
|
.header__nav-name
|
|
.header__nav-name
|
|
@@ -127,14 +307,14 @@ transition-all($duration = 0.3s)
|
|
|
cursor: pointer
|
|
cursor: pointer
|
|
|
|
|
|
|
|
&:hover
|
|
&:hover
|
|
|
- background-color: $gray-200
|
|
|
|
|
|
|
+ background-color: var(--color-background-hover)
|
|
|
|
|
|
|
|
.dark &
|
|
.dark &
|
|
|
background-color: $gray-700
|
|
background-color: $gray-700
|
|
|
color: $gray-300
|
|
color: $gray-300
|
|
|
|
|
|
|
|
&:hover
|
|
&:hover
|
|
|
- background-color: $gray-600
|
|
|
|
|
|
|
+ background-color: var(--color-dark-background-hover)
|
|
|
|
|
|
|
|
// Main content
|
|
// Main content
|
|
|
.main
|
|
.main
|
|
@@ -202,9 +382,9 @@ transition-all($duration = 0.3s)
|
|
|
&:hover
|
|
&:hover
|
|
|
color: $white
|
|
color: $white
|
|
|
|
|
|
|
|
-// Утилитарные классы
|
|
|
|
|
|
|
+// Утилитарные классы с использованием CSS-переменных
|
|
|
.btn-primary
|
|
.btn-primary
|
|
|
- background-color: $primary-500
|
|
|
|
|
|
|
+ background-color: var(--color-primary-600)
|
|
|
color: $white
|
|
color: $white
|
|
|
padding: 0.5rem 1rem
|
|
padding: 0.5rem 1rem
|
|
|
border-radius: 0.5rem
|
|
border-radius: 0.5rem
|
|
@@ -217,11 +397,11 @@ transition-all($duration = 0.3s)
|
|
|
text-align: center
|
|
text-align: center
|
|
|
|
|
|
|
|
&:hover
|
|
&:hover
|
|
|
- background-color: $primary-600
|
|
|
|
|
|
|
+ background-color: var(--color-primary-700)
|
|
|
|
|
|
|
|
.btn-secondary
|
|
.btn-secondary
|
|
|
- background-color: $gray-200
|
|
|
|
|
- color: $gray-700
|
|
|
|
|
|
|
+ background-color: var(--color-gray-200)
|
|
|
|
|
+ color: var(--color-gray-700)
|
|
|
padding: 0.5rem 1rem
|
|
padding: 0.5rem 1rem
|
|
|
border-radius: 0.5rem
|
|
border-radius: 0.5rem
|
|
|
font-weight: 500
|
|
font-weight: 500
|
|
@@ -233,19 +413,19 @@ transition-all($duration = 0.3s)
|
|
|
text-align: center
|
|
text-align: center
|
|
|
|
|
|
|
|
&:hover
|
|
&:hover
|
|
|
- background-color: $gray-300
|
|
|
|
|
|
|
+ background-color: var(--color-gray-300)
|
|
|
|
|
|
|
|
.dark &
|
|
.dark &
|
|
|
- background-color: $gray-700
|
|
|
|
|
- color: $gray-300
|
|
|
|
|
|
|
+ background-color: var(--color-gray-700)
|
|
|
|
|
+ color: var(--color-gray-300)
|
|
|
|
|
|
|
|
&:hover
|
|
&:hover
|
|
|
- background-color: $gray-600
|
|
|
|
|
|
|
+ background-color: var(--color-gray-600)
|
|
|
|
|
|
|
|
.card
|
|
.card
|
|
|
background-color: $white
|
|
background-color: $white
|
|
|
border-radius: 0.5rem
|
|
border-radius: 0.5rem
|
|
|
- box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)
|
|
|
|
|
|
|
+ box-shadow: 0 1px 3px 0 var(--color-shadow-light)
|
|
|
padding: 1.5rem
|
|
padding: 1.5rem
|
|
|
|
|
|
|
|
.dark &
|
|
.dark &
|
|
@@ -254,7 +434,7 @@ transition-all($duration = 0.3s)
|
|
|
.form-input
|
|
.form-input
|
|
|
width: 100%
|
|
width: 100%
|
|
|
padding: 0.5rem 0.75rem
|
|
padding: 0.5rem 0.75rem
|
|
|
- border: 1px solid $gray-300
|
|
|
|
|
|
|
+ border: 1px solid var(--color-border-light)
|
|
|
border-radius: 0.5rem
|
|
border-radius: 0.5rem
|
|
|
background-color: $white
|
|
background-color: $white
|
|
|
color: $gray-900
|
|
color: $gray-900
|
|
@@ -264,12 +444,12 @@ transition-all($duration = 0.3s)
|
|
|
&:focus
|
|
&:focus
|
|
|
outline: none
|
|
outline: none
|
|
|
border-color: $primary-500
|
|
border-color: $primary-500
|
|
|
- box-shadow: 0 0 0 2px rgba($primary-500, 0.2)
|
|
|
|
|
|
|
+ box-shadow: 0 0 0 2px var(--color-primary-500-a20)
|
|
|
|
|
|
|
|
.dark &
|
|
.dark &
|
|
|
background-color: $gray-700
|
|
background-color: $gray-700
|
|
|
color: $white
|
|
color: $white
|
|
|
- border-color: $gray-600
|
|
|
|
|
|
|
+ border-color: var(--color-dark-border-light)
|
|
|
|
|
|
|
|
&:focus
|
|
&:focus
|
|
|
border-color: $primary-500
|
|
border-color: $primary-500
|
|
@@ -284,92 +464,43 @@ transition-all($duration = 0.3s)
|
|
|
.dark &
|
|
.dark &
|
|
|
color: $gray-300
|
|
color: $gray-300
|
|
|
|
|
|
|
|
-// Admin panel overrides
|
|
|
|
|
-.admin
|
|
|
|
|
- .header
|
|
|
|
|
- position: static
|
|
|
|
|
- box-shadow: none
|
|
|
|
|
- border-bottom: 1px solid $gray-200
|
|
|
|
|
-
|
|
|
|
|
- .dark &
|
|
|
|
|
- border-bottom-color: $gray-700
|
|
|
|
|
-
|
|
|
|
|
-// Responsive design
|
|
|
|
|
-@media (max-width: 768px)
|
|
|
|
|
- .header__nav
|
|
|
|
|
- padding: 0.5rem
|
|
|
|
|
-
|
|
|
|
|
- .header__nav-block
|
|
|
|
|
- flex-direction: column
|
|
|
|
|
- gap: 1rem
|
|
|
|
|
-
|
|
|
|
|
- .header__nav-menu
|
|
|
|
|
- width: 100%
|
|
|
|
|
- justify-content: center
|
|
|
|
|
-
|
|
|
|
|
- .header__brand
|
|
|
|
|
- justify-content: center
|
|
|
|
|
-
|
|
|
|
|
- .footer__sections
|
|
|
|
|
- grid-template-columns: 1fr
|
|
|
|
|
- gap: 1.5rem
|
|
|
|
|
-
|
|
|
|
|
- .footer__content
|
|
|
|
|
- padding: 0 0.5rem
|
|
|
|
|
-
|
|
|
|
|
-@media (max-width: 480px)
|
|
|
|
|
- .header__nav-menu
|
|
|
|
|
- flex-wrap: wrap
|
|
|
|
|
- gap: 0.5rem
|
|
|
|
|
|
|
+// Специальные классы для работы с прозрачностью
|
|
|
|
|
+.overlay
|
|
|
|
|
+ background-color: var(--color-background-overlay)
|
|
|
|
|
|
|
|
- .header__menu-link
|
|
|
|
|
- font-size: 0.875rem
|
|
|
|
|
|
|
+.modal-backdrop
|
|
|
|
|
+ background-color: var(--color-background-modal)
|
|
|
|
|
|
|
|
- .header__logo
|
|
|
|
|
- width: 1.5rem
|
|
|
|
|
- height: 1.5rem
|
|
|
|
|
-
|
|
|
|
|
- .header__nav-name
|
|
|
|
|
- font-size: 1.25rem
|
|
|
|
|
-
|
|
|
|
|
-// Print styles
|
|
|
|
|
-@media print
|
|
|
|
|
- .header,
|
|
|
|
|
- .footer
|
|
|
|
|
- display: none
|
|
|
|
|
-
|
|
|
|
|
- #app
|
|
|
|
|
- background-color: $white
|
|
|
|
|
-
|
|
|
|
|
-// High contrast mode support
|
|
|
|
|
-@media (prefers-contrast: high)
|
|
|
|
|
- .header__menu-link
|
|
|
|
|
- color: $black
|
|
|
|
|
|
|
+.tooltip
|
|
|
|
|
+ background-color: var(--color-background-tooltip)
|
|
|
|
|
+ color: $white
|
|
|
|
|
+ padding: 0.5rem 0.75rem
|
|
|
|
|
+ border-radius: 0.375rem
|
|
|
|
|
+ font-size: 0.875rem
|
|
|
|
|
|
|
|
- .dark &
|
|
|
|
|
- color: $white
|
|
|
|
|
|
|
+.hover-effect
|
|
|
|
|
+ transition: background-color 0.2s ease-in-out
|
|
|
|
|
|
|
|
- .btn-primary
|
|
|
|
|
- background-color: $black
|
|
|
|
|
- color: $white
|
|
|
|
|
|
|
+ &:hover
|
|
|
|
|
+ background-color: var(--color-background-hover)
|
|
|
|
|
|
|
|
- .dark &
|
|
|
|
|
- background-color: $white
|
|
|
|
|
- color: $black
|
|
|
|
|
|
|
+.active-state
|
|
|
|
|
+ background-color: var(--color-background-active)
|
|
|
|
|
|
|
|
-// Reduced motion support
|
|
|
|
|
-@media (prefers-reduced-motion: reduce)
|
|
|
|
|
- .page-slide
|
|
|
|
|
- &-enter-active,
|
|
|
|
|
- &-leave-active
|
|
|
|
|
- transition: none
|
|
|
|
|
|
|
+.border-transparent
|
|
|
|
|
+ border-color: var(--color-border-light)
|
|
|
|
|
|
|
|
- .header__menu-link,
|
|
|
|
|
- .btn-primary,
|
|
|
|
|
- .btn-secondary
|
|
|
|
|
- transition: none
|
|
|
|
|
|
|
+.text-muted
|
|
|
|
|
+ color: var(--color-text-secondary)
|
|
|
|
|
|
|
|
// Темная тема
|
|
// Темная тема
|
|
|
@media (prefers-color-scheme: dark)
|
|
@media (prefers-color-scheme: dark)
|
|
|
:root
|
|
:root
|
|
|
color-scheme: dark
|
|
color-scheme: dark
|
|
|
|
|
+
|
|
|
|
|
+// Утилиты для отладки
|
|
|
|
|
+.debug-border
|
|
|
|
|
+ border: 1px solid var(--color-primary-500-a50)
|
|
|
|
|
+
|
|
|
|
|
+.debug-bg
|
|
|
|
|
+ background-color: var(--color-accent-500-a20)
|