/* AV DS 4 design tokens.
   Единый источник правды для цветов, теней, шрифтов.
   Подключение: @import '@sgeo/ui-kit/tokens/variables.css'; */

/* LIGHT MODE (по умолчанию) */
:root {
  --button-outline: rgba(0,0,0, .10);
  --badge-outline: rgba(0,0,0, .05);
  --opaque-button-border-intensity: -8;
  --elevate-1: rgba(0,0,0, .03);
  --elevate-2: rgba(0,0,0, .08);
  --background: 216 20% 97%;
  --foreground: 220 25% 10%;
  --border: 216 12% 88%;
  --card: 216 18% 98%;
  --card-foreground: 220 25% 10%;
  --card-border: 216 12% 92%;
  --sidebar: 218 22% 95%;
  --sidebar-foreground: 220 25% 10%;
  --sidebar-border: 216 12% 90%;
  --sidebar-primary: 210 70% 42%;
  --sidebar-primary-foreground: 0 0% 99%;
  --sidebar-accent: 216 14% 88%;
  --sidebar-accent-foreground: 220 25% 10%;
  --sidebar-ring: 210 70% 42%;
  --popover: 216 18% 96%;
  --popover-foreground: 220 25% 10%;
  --popover-border: 216 12% 88%;
  --primary: 210 70% 42%;
  --primary-foreground: 0 0% 99%;
  --secondary: 216 14% 91%;
  --secondary-foreground: 220 25% 10%;
  --muted: 216 12% 92%;
  --muted-foreground: 216 10% 45%;
  --accent: 210 16% 90%;
  --accent-foreground: 220 25% 10%;
  --destructive: 0 72% 48%;
  --destructive-foreground: 0 0% 99%;
  --input: 216 12% 78%;
  --ring: 210 70% 42%;
  --chart-1: 210 70% 42%;
  --chart-2: 170 55% 38%;
  --chart-3: 38 75% 50%;
  --chart-4: 280 55% 50%;
  --chart-5: 0 65% 50%;
  --font-sans: 'IBM Plex Sans', 'Inter', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  --font-mono: 'IBM Plex Mono', 'JetBrains Mono', 'Fira Code', Menlo, monospace;
  --font-display: 'IBM Plex Sans', 'Inter', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-micro: 'Inter', 'IBM Plex Sans', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-dashboard: Arial, 'Helvetica Neue', Helvetica, sans-serif;
  --radius: .4375rem;
  --shadow-2xs: 0px 1px 1px hsl(220 25% 10% / 0.03);
  --shadow-xs: 0px 1px 2px hsl(220 25% 10% / 0.04);
  --shadow-sm: 0px 1px 3px hsl(220 25% 10% / 0.06), 0px 1px 2px hsl(220 25% 10% / 0.04);
  --shadow: 0px 2px 4px hsl(220 25% 10% / 0.06), 0px 1px 2px hsl(220 25% 10% / 0.04);
  --shadow-md: 0px 4px 8px hsl(220 25% 10% / 0.06), 0px 2px 4px hsl(220 25% 10% / 0.04);
  --shadow-lg: 0px 8px 16px hsl(220 25% 10% / 0.08), 0px 4px 8px hsl(220 25% 10% / 0.04);
  --shadow-xl: 0px 12px 24px hsl(220 25% 10% / 0.10), 0px 8px 12px hsl(220 25% 10% / 0.04);
  --shadow-2xl: 0px 20px 40px hsl(220 25% 10% / 0.12);
  --tracking-normal: 0em;
  --spacing: 0.25rem;

  --sidebar-primary-border: hsl(var(--sidebar-primary));
  --sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --sidebar-accent-border: hsl(var(--sidebar-accent));
  --sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --primary-border: hsl(var(--primary));
  --primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --secondary-border: hsl(var(--secondary));
  --secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --muted-border: hsl(var(--muted));
  --muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --accent-border: hsl(var(--accent));
  --accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --destructive-border: hsl(var(--destructive));
  --destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
}

.theme-golden-paper {
  --background: 40 38% 95%;
  --foreground: 28 28% 18%;
  --border: 34 24% 82%;
  --card: 42 42% 97%;
  --card-foreground: 28 28% 18%;
  --card-border: 34 22% 86%;
  --sidebar: 40 40% 93%;
  --sidebar-foreground: 28 28% 18%;
  --sidebar-border: 34 24% 84%;
  --sidebar-primary: 24 62% 38%;
  --sidebar-primary-foreground: 42 60% 97%;
  --sidebar-accent: 38 30% 88%;
  --sidebar-accent-foreground: 28 28% 18%;
  --sidebar-ring: 24 62% 38%;
  --popover: 42 42% 96%;
  --popover-foreground: 28 28% 18%;
  --popover-border: 34 22% 84%;
  --primary: 24 62% 38%;
  --primary-foreground: 42 60% 97%;
  --secondary: 40 28% 89%;
  --secondary-foreground: 28 28% 18%;
  --muted: 38 24% 90%;
  --muted-foreground: 28 16% 40%;
  --accent: 46 34% 86%;
  --accent-foreground: 28 28% 18%;
  --input: 34 20% 74%;
  --ring: 24 62% 38%;
  --chart-1: 24 62% 38%;
  --chart-2: 142 36% 36%;
  --chart-3: 42 74% 48%;
  --chart-4: 12 58% 52%;
  --chart-5: 348 54% 48%;
  --font-sans: 'Inter', 'IBM Plex Sans', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  --font-display: 'IBM Plex Serif', 'IBM Plex Sans', Georgia, serif;
  --font-micro: 'Inter', 'IBM Plex Sans', 'Onest', 'Helvetica Neue', Arial, sans-serif;
}

.theme-institutional {
  --background: 210 30% 96%;
  --foreground: 218 34% 16%;
  --border: 214 24% 85%;
  --card: 0 0% 100%;
  --card-foreground: 218 34% 16%;
  --card-border: 214 22% 88%;
  --sidebar: 210 28% 94%;
  --sidebar-foreground: 218 34% 16%;
  --sidebar-border: 214 24% 86%;
  --sidebar-primary: 221 68% 36%;
  --sidebar-primary-foreground: 210 40% 98%;
  --sidebar-accent: 210 22% 89%;
  --sidebar-accent-foreground: 218 34% 16%;
  --sidebar-ring: 221 68% 36%;
  --popover: 0 0% 100%;
  --popover-foreground: 218 34% 16%;
  --popover-border: 214 22% 88%;
  --primary: 221 68% 36%;
  --primary-foreground: 210 40% 98%;
  --secondary: 212 28% 90%;
  --secondary-foreground: 218 34% 16%;
  --muted: 212 22% 91%;
  --muted-foreground: 217 16% 42%;
  --accent: 206 36% 88%;
  --accent-foreground: 218 34% 16%;
  --input: 214 18% 76%;
  --ring: 221 68% 36%;
  --chart-1: 221 68% 36%;
  --chart-2: 191 62% 34%;
  --chart-3: 36 78% 46%;
  --chart-4: 268 42% 48%;
  --chart-5: 352 60% 46%;
  --font-sans: 'IBM Plex Sans', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  --font-display: 'IBM Plex Sans', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-micro: 'Inter', 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
}

.theme-cyber-dark {
  --button-outline: rgba(125,211,252, .16);
  --badge-outline: rgba(125,211,252, .10);
  --opaque-button-border-intensity: 10;
  --elevate-1: rgba(125,211,252, .05);
  --elevate-2: rgba(125,211,252, .11);
  --background: 222 34% 9%;
  --foreground: 193 72% 92%;
  --border: 217 26% 18%;
  --card: 223 30% 11%;
  --card-foreground: 193 72% 92%;
  --card-border: 217 24% 16%;
  --sidebar: 223 30% 12%;
  --sidebar-foreground: 193 72% 92%;
  --sidebar-border: 217 24% 16%;
  --sidebar-primary: 191 87% 46%;
  --sidebar-primary-foreground: 222 34% 9%;
  --sidebar-accent: 218 24% 18%;
  --sidebar-accent-foreground: 193 72% 92%;
  --sidebar-ring: 191 87% 46%;
  --popover: 223 30% 12%;
  --popover-foreground: 193 72% 92%;
  --popover-border: 217 24% 18%;
  --primary: 191 87% 46%;
  --primary-foreground: 222 34% 9%;
  --secondary: 218 24% 20%;
  --secondary-foreground: 193 72% 92%;
  --muted: 218 22% 22%;
  --muted-foreground: 194 26% 66%;
  --accent: 214 22% 18%;
  --accent-foreground: 193 72% 92%;
  --input: 218 20% 28%;
  --ring: 191 87% 46%;
  --chart-1: 191 87% 46%;
  --chart-2: 164 78% 42%;
  --chart-3: 43 92% 56%;
  --chart-4: 272 84% 72%;
  --chart-5: 350 85% 60%;
  --font-sans: 'IBM Plex Sans', 'Onest', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  --font-display: 'Onest', 'IBM Plex Sans', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-micro: 'Onest', 'Inter', 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
}

/* DARK MODE */
.dark {
  --button-outline: rgba(255,255,255, .10);
  --badge-outline: rgba(255,255,255, .05);
  --opaque-button-border-intensity: 9;
  --elevate-1: rgba(255,255,255, .04);
  --elevate-2: rgba(255,255,255, .09);
  --background: 220 18% 8%;
  --foreground: 216 12% 92%;
  --border: 220 12% 18%;
  --card: 220 16% 10%;
  --card-foreground: 216 12% 92%;
  --card-border: 220 12% 14%;
  --sidebar: 220 18% 11%;
  --sidebar-foreground: 216 12% 92%;
  --sidebar-border: 220 12% 16%;
  --sidebar-primary: 210 65% 55%;
  --sidebar-primary-foreground: 0 0% 99%;
  --sidebar-accent: 220 12% 18%;
  --sidebar-accent-foreground: 216 12% 92%;
  --sidebar-ring: 210 65% 55%;
  --popover: 220 16% 13%;
  --popover-foreground: 216 12% 92%;
  --popover-border: 220 12% 18%;
  --primary: 210 65% 55%;
  --primary-foreground: 220 25% 10%;
  --secondary: 220 12% 20%;
  --secondary-foreground: 216 12% 92%;
  --muted: 220 10% 22%;
  --muted-foreground: 216 8% 55%;
  --accent: 210 12% 19%;
  --accent-foreground: 216 12% 92%;
  --destructive: 0 72% 48%;
  --destructive-foreground: 0 0% 99%;
  --input: 220 12% 28%;
  --ring: 210 65% 55%;
  --chart-1: 210 65% 60%;
  --chart-2: 170 50% 50%;
  --chart-3: 38 70% 58%;
  --chart-4: 280 50% 62%;
  --chart-5: 0 60% 58%;
  --font-sans: 'IBM Plex Sans', 'Inter', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  --font-mono: 'IBM Plex Mono', 'JetBrains Mono', 'Fira Code', Menlo, monospace;
  --font-display: 'IBM Plex Sans', 'Inter', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --font-micro: 'Inter', 'IBM Plex Sans', 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --shadow-2xs: 0px 1px 1px hsl(0 0% 0% / 0.15);
  --shadow-xs: 0px 1px 2px hsl(0 0% 0% / 0.20);
  --shadow-sm: 0px 1px 3px hsl(0 0% 0% / 0.25), 0px 1px 2px hsl(0 0% 0% / 0.15);
  --shadow: 0px 2px 4px hsl(0 0% 0% / 0.25), 0px 1px 2px hsl(0 0% 0% / 0.15);
  --shadow-md: 0px 4px 8px hsl(0 0% 0% / 0.25), 0px 2px 4px hsl(0 0% 0% / 0.15);
  --shadow-lg: 0px 8px 16px hsl(0 0% 0% / 0.30), 0px 4px 8px hsl(0 0% 0% / 0.15);
  --shadow-xl: 0px 12px 24px hsl(0 0% 0% / 0.35), 0px 8px 12px hsl(0 0% 0% / 0.15);
  --shadow-2xl: 0px 20px 40px hsl(0 0% 0% / 0.40);

  --sidebar-primary-border: hsl(var(--sidebar-primary));
  --sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --sidebar-accent-border: hsl(var(--sidebar-accent));
  --sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --primary-border: hsl(var(--primary));
  --primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --secondary-border: hsl(var(--secondary));
  --secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --muted-border: hsl(var(--muted));
  --muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --accent-border: hsl(var(--accent));
  --accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
  --destructive-border: hsl(var(--destructive));
  --destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);
}
