:root {
  --vk-color-primary-50: 226 100% 97%;
  --vk-color-primary-100: 226 100% 94%;
  --vk-color-primary-200: 228 96% 89%;
  --vk-color-primary-300: 230 94% 82%;
  --vk-color-primary-400: 234 89% 74%;
  --vk-color-primary-500: 239 84% 67%;
  --vk-color-primary-600: 243 75% 59%;
  --vk-color-primary-700: 245 58% 51%;
  --vk-color-primary-800: 244 55% 41%;
  --vk-color-primary-900: 242 47% 34%;
  --vk-color-primary-950: 244 75% 14%;
  --vk-color-gray-50: 210 40% 98%;
  --vk-color-gray-100: 210 40% 96%;
  --vk-color-gray-200: 214 32% 91%;
  --vk-color-gray-300: 213 27% 84%;
  --vk-color-gray-400: 215 20% 65%;
  --vk-color-gray-500: 215 16% 47%;
  --vk-color-gray-600: 215 19% 35%;
  --vk-color-gray-700: 215 25% 27%;
  --vk-color-gray-800: 217 33% 17%;
  --vk-color-gray-900: 222 47% 11%;
  --vk-color-gray-950: 229 84% 5%;
  --vk-color-info-50: 204 100% 97%;
  --vk-color-info-100: 204 94% 94%;
  --vk-color-info-200: 201 94% 86%;
  --vk-color-info-300: 199 95% 74%;
  --vk-color-info-400: 198 93% 60%;
  --vk-color-info-500: 199 89% 48%;
  --vk-color-info-600: 200 98% 39%;
  --vk-color-info-700: 201 90% 32%;
  --vk-color-info-800: 201 90% 27%;
  --vk-color-info-900: 202 80% 24%;
  --vk-color-info-950: 204 80% 16%;
  --vk-color-success-50: 152 81% 96%;
  --vk-color-success-100: 149 80% 90%;
  --vk-color-success-200: 152 76% 80%;
  --vk-color-success-300: 156 72% 67%;
  --vk-color-success-400: 158 64% 52%;
  --vk-color-success-500: 160 84% 39%;
  --vk-color-success-600: 161 94% 30%;
  --vk-color-success-700: 163 94% 24%;
  --vk-color-success-800: 163 88% 20%;
  --vk-color-success-900: 164 86% 16%;
  --vk-color-success-950: 166 91% 9%;
  --vk-color-warning-50: 48 100% 96%;
  --vk-color-warning-100: 48 96% 89%;
  --vk-color-warning-200: 48 97% 77%;
  --vk-color-warning-300: 46 97% 65%;
  --vk-color-warning-400: 43 96% 56%;
  --vk-color-warning-500: 38 92% 50%;
  --vk-color-warning-600: 32 95% 44%;
  --vk-color-warning-700: 26 90% 37%;
  --vk-color-warning-800: 23 83% 31%;
  --vk-color-warning-900: 22 78% 26%;
  --vk-color-warning-950: 21 92% 14%;
  --vk-color-danger-50: 356 100% 97%;
  --vk-color-danger-100: 356 100% 94%;
  --vk-color-danger-200: 353 96% 90%;
  --vk-color-danger-300: 353 96% 82%;
  --vk-color-danger-400: 351 95% 71%;
  --vk-color-danger-500: 350 89% 60%;
  --vk-color-danger-600: 347 77% 50%;
  --vk-color-danger-700: 345 83% 41%;
  --vk-color-danger-800: 343 80% 35%;
  --vk-color-danger-900: 342 75% 30%;
  --vk-color-danger-950: 343 88% 16%;

  /* legacy shadcn aliases */
  --background: var(--vk-color-gray-50);
  --foreground: var(--vk-color-gray-950);
  --muted: var(--vk-color-gray-100);
  --muted-foreground: var(--vk-color-gray-500);
  --card: var(--vk-color-gray-50);
  --card-foreground: var(--vk-color-gray-950);
  --popover: var(--vk-color-gray-50);
  --popover-foreground: var(--vk-color-gray-950);
  --border: var(--vk-color-gray-200);
  --input: var(--vk-color-gray-200);
  --primary: var(--vk-color-primary-500);
  --primary-foreground: var(--vk-color-primary-50);
  --secondary: var(--vk-color-gray-100);
  --secondary-foreground: var(--vk-color-gray-900);
  --accent: var(--vk-color-gray-100);
  --accent-foreground: var(--vk-color-gray-900);
  --destructive: var(--vk-color-danger-500);
  --destructive-foreground: var(--vk-color-gray-50);
  --success: var(--vk-color-success-600);
  --success-foreground: var(--vk-color-gray-50);
  --ring: var(--vk-color-primary-500);
  --radius: 0;
}

.dark {
  --background: var(--vk-color-gray-950);
  --foreground: var(--vk-color-gray-50);
  --muted: var(--vk-color-gray-800);
  --muted-foreground: var(--vk-color-gray-400);
  --card: var(--vk-color-gray-950);
  --card-foreground: var(--vk-color-gray-50);
  --popover: var(--vk-color-gray-950);
  --popover-foreground: var(--vk-color-gray-50);
  --border: var(--vk-color-gray-800);
  --input: var(--vk-color-gray-800);
  --primary: var(--vk-color-gray-50);
  --primary-foreground: var(--vk-color-gray-950);
  --secondary: var(--vk-color-gray-800);
  --secondary-foreground: var(--vk-color-gray-50);
  --accent: var(--vk-color-gray-800);
  --accent-foreground: var(--vk-color-gray-50);
  --destructive: var(--vk-color-danger-400);
  --destructive-foreground: var(--vk-color-gray-50);
  --success: var(--vk-color-success-400);
  --success-foreground: var(--vk-color-gray-950);
  --ring: var(--vk-color-gray-50);
}