|
61 | 61 | --color-sidebar-border: var(--sidebar-border); |
62 | 62 | --color-sidebar-ring: var(--sidebar-ring); |
63 | 63 |
|
64 | | - /* Custom */ |
| 64 | + /* Custom: Overlay */ |
65 | 65 | --color-overlay: var(--overlay); |
66 | 66 | } |
67 | 67 |
|
|
75 | 75 | --radius: 0.625rem; |
76 | 76 |
|
77 | 77 | /* shadcn/ui: Core */ |
78 | | - --background: oklch(0.99 0 0); /* #FDFDFD */ |
| 78 | + --background: oklch(0.99 0 0); |
79 | 79 | --foreground: oklch(0.129 0.042 264.695); |
80 | | - --card: oklch(0.9722 0.0034 247.86); /* #F4F6F8 */ |
81 | | - --card-foreground: oklch(0.129 0.042 264.695); |
82 | | - --popover: oklch(1 0 0); |
83 | | - --popover-foreground: oklch(0.129 0.042 264.695); |
| 80 | + --card: oklch(0.9722 0.0034 247.86); |
| 81 | + --card-foreground: var(--foreground); |
| 82 | + --popover: var(--card); |
| 83 | + --popover-foreground: var(--foreground); |
84 | 84 | --primary: oklch(0.7089 0.1967 46.81); |
85 | 85 | --primary-foreground: oklch(1 0 0); |
86 | | - --secondary: oklch(0.9147 0.0205 264.47); /* #DCE3F1 - Figma */ |
| 86 | + --secondary: oklch(0.9147 0.0205 264.47); |
87 | 87 | --secondary-foreground: oklch(0.208 0.042 265.755); |
88 | 88 | --muted: oklch(0.968 0.007 247.896); |
89 | 89 | --muted-foreground: oklch(0.554 0.046 257.417); |
90 | | - --accent: oklch(0.968 0.007 247.896); |
91 | | - --accent-foreground: oklch(0.208 0.042 265.755); |
| 90 | + --accent: var(--muted); |
| 91 | + --accent-foreground: var(--secondary-foreground); |
92 | 92 | --destructive: oklch(0.577 0.245 27.325); |
93 | 93 | --border: oklch(0.929 0.013 255.508); |
94 | | - --input: oklch(0.929 0.013 255.508); |
| 94 | + --input: var(--border); |
95 | 95 | --ring: oklch(0.704 0.04 256.788); |
96 | 96 |
|
97 | 97 | /* shadcn/ui: Charts */ |
|
102 | 102 | --chart-5: oklch(0.769 0.188 70.08); |
103 | 103 |
|
104 | 104 | /* shadcn/ui: Sidebar */ |
105 | | - --sidebar: oklch(1 0 0); /* Figma #ffffff */ |
106 | | - --sidebar-foreground: oklch(0.2102 0.0185 270.39); /* #151821 */ |
107 | | - --sidebar-primary: oklch(0.208 0.042 265.755); |
| 105 | + --sidebar: oklch(1 0 0); |
| 106 | + --sidebar-foreground: oklch(0.2102 0.0185 270.39); |
| 107 | + --sidebar-primary: var(--secondary-foreground); |
108 | 108 | --sidebar-primary-foreground: oklch(0.984 0.003 247.858); |
109 | | - --sidebar-accent: oklch(0.968 0.007 247.896); |
110 | | - --sidebar-accent-foreground: oklch(0.208 0.042 265.755); |
111 | | - --sidebar-border: oklch(0.9722 0.0034 247.86); /* #F4F6F8 */ |
112 | | - --sidebar-ring: oklch(0.704 0.04 256.788); |
| 109 | + --sidebar-accent: var(--muted); |
| 110 | + --sidebar-accent-foreground: var(--secondary-foreground); |
| 111 | + --sidebar-border: var(--card); |
| 112 | + --sidebar-ring: var(--ring); |
113 | 113 |
|
114 | 114 | /* Custom: Gradients */ |
115 | | - --primary-gradient-to: oklch(0.7434 0.115 58.23); /* #E2995F */ |
| 115 | + --primary-gradient-to: oklch(0.7434 0.115 58.23); |
116 | 116 | --gradient-primary: linear-gradient( |
117 | 117 | 93.22deg, |
118 | 118 | var(--primary) -13.95%, |
119 | 119 | var(--primary-gradient-to) 99.54% |
120 | 120 | ); |
121 | 121 |
|
122 | 122 | /* Custom: Overlay */ |
123 | | - --overlay: oklch(0 0 0); /* black, both modes */ |
| 123 | + --overlay: oklch(0 0 0); |
124 | 124 |
|
125 | 125 | /* Custom: Assets (theme-aware URLs) */ |
126 | 126 | --logo-full-themed: url("/images/logo-light.svg"); |
127 | 127 | --auth-bg: url("/images/auth-bg-light.webp"); |
128 | 128 |
|
129 | 129 | /* Custom: Tag badges */ |
130 | | - --tag-bg: oklch(0.9722 0.0034 247.86); /* #F4F6F8 */ |
131 | | - --tag-text: oklch(0.6504 0.0475 272.34); /* #858EAD */ |
| 130 | + --tag-bg: var(--card); |
| 131 | + --tag-text: oklch(0.6504 0.0475 272.34); |
132 | 132 | } |
133 | 133 |
|
134 | 134 | /* Dark mode overrides — these values take precedence over :root when .dark is active */ |
135 | 135 | .dark { |
136 | | - /* Base */ |
137 | | - --radius: 0.625rem; /* same as root */ |
138 | | - |
139 | 136 | /* shadcn/ui: Core */ |
140 | | - --background: oklch(0 0 0); /* #000000 */ |
| 137 | + --background: oklch(0 0 0); |
141 | 138 | --foreground: oklch(0.984 0.003 247.858); |
142 | | - --card: oklch(0.1783 0.0128 270.6); /* #0F1117 */ |
143 | | - --card-foreground: oklch(0.984 0.003 247.858); |
144 | | - --popover: oklch(0.208 0.042 265.755); |
145 | | - --popover-foreground: oklch(0.984 0.003 247.858); |
| 139 | + --card: oklch(0.1783 0.0128 270.6); |
| 140 | + --card-foreground: var(--foreground); |
| 141 | + --popover: oklch(0.2741 0.023 270.44); |
| 142 | + --popover-foreground: var(--foreground); |
146 | 143 | --primary: oklch(0.7089 0.1967 46.81); |
147 | 144 | --primary-foreground: oklch(1 0 0); |
148 | | - --secondary: oklch(0.2728 0.0257 265.4); /* #212734 - Figma */ |
149 | | - --secondary-foreground: oklch(0.984 0.003 247.858); |
| 145 | + --secondary: oklch(0.2728 0.0257 265.4); |
| 146 | + --secondary-foreground: var(--foreground); |
150 | 147 | --muted: oklch(0.279 0.041 260.031); |
151 | 148 | --muted-foreground: oklch(0.704 0.04 256.788); |
152 | | - --accent: oklch(0.279 0.041 260.031); |
153 | | - --accent-foreground: oklch(0.984 0.003 247.858); |
| 149 | + --accent: var(--muted); |
| 150 | + --accent-foreground: var(--foreground); |
154 | 151 | --destructive: oklch(0.704 0.191 22.216); |
155 | 152 | --border: oklch(1 0 0 / 10%); |
156 | 153 | --input: oklch(1 0 0 / 15%); |
|
164 | 161 | --chart-5: oklch(0.645 0.246 16.439); |
165 | 162 |
|
166 | 163 | /* shadcn/ui: Sidebar */ |
167 | | - --sidebar: oklch(0.1783 0.0128 270.6); /* Figma #0F1117 */ |
168 | | - --sidebar-foreground: oklch(1 0 0); /* #FFFFFF */ |
| 164 | + --sidebar: var(--card); |
| 165 | + --sidebar-foreground: oklch(1 0 0); |
169 | 166 | --sidebar-primary: oklch(0.488 0.243 264.376); |
170 | | - --sidebar-primary-foreground: oklch(0.984 0.003 247.858); |
171 | | - --sidebar-accent: oklch(0.279 0.041 260.031); |
172 | | - --sidebar-accent-foreground: oklch(0.984 0.003 247.858); |
| 167 | + --sidebar-primary-foreground: var(--foreground); |
| 168 | + --sidebar-accent: var(--muted); |
| 169 | + --sidebar-accent-foreground: var(--foreground); |
173 | 170 | --sidebar-border: transparent; |
174 | | - --sidebar-ring: oklch(0.551 0.027 264.364); |
| 171 | + --sidebar-ring: var(--ring); |
175 | 172 |
|
176 | 173 | /* Custom: Gradients */ |
177 | | - --primary-gradient-to: oklch(0.7434 0.115 58.23); /* same as root */ |
| 174 | + --primary-gradient-to: oklch(0.7434 0.115 58.23); |
178 | 175 | --gradient-primary: linear-gradient( |
179 | 176 | 93.22deg, |
180 | 177 | var(--primary) -13.95%, |
181 | 178 | var(--primary-gradient-to) 99.54% |
182 | | - ); /* same as root */ |
| 179 | + ); |
183 | 180 |
|
184 | 181 | /* Custom: Overlay */ |
185 | | - --overlay: oklch(0 0 0); /* same as root */ |
| 182 | + --overlay: oklch(0 0 0); |
186 | 183 |
|
187 | 184 | /* Custom: Assets (theme-aware URLs) */ |
188 | 185 | --logo-full-themed: url("/images/logo-dark.svg"); |
189 | 186 | --auth-bg: url("/images/auth-bg-dark.webp"); |
190 | 187 |
|
191 | 188 | /* Custom: Tag badges */ |
192 | | - --tag-bg: oklch(0.2102 0.0185 270.39); /* #151821 */ |
193 | | - --tag-text: oklch(0.6547 0.0897 269.9); /* #7B8EC8 */ |
| 189 | + --tag-bg: oklch(0.2102 0.0185 270.39); |
| 190 | + --tag-text: oklch(0.6547 0.0897 269.9); |
194 | 191 | } |
195 | 192 |
|
196 | 193 | @layer base { |
|
257 | 254 | @apply invert dark:invert-0; |
258 | 255 | } |
259 | 256 |
|
260 | | - /* Subtle directional shadow for navigation edges (light mode only) */ |
| 257 | + /* Subtle directional shadow for navigation edges */ |
261 | 258 | .shadow-light { |
262 | 259 | box-shadow: -10px 10px 20px 0px oklch(0.877 0.006 17.26 / 10%); |
263 | 260 | } |
264 | | - .dark .shadow-light { |
265 | | - box-shadow: none; |
266 | | - } |
267 | 261 | } |
0 commit comments