/* soti.sh - тема на базе tweakcn candyland, сгенерировано candyland.ts
   Подмены: primary розовый → лого-голубой oklch(0.73 0.12 237), accent лайм → лого-жёлтый oklch(0.84 0.16 83) */

:root {
  --font-sans: 'Manrope Variable', Manrope, system-ui, sans-serif;
  --font-mono: Roboto Mono, monospace;
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --radius: 0.5rem;
  --tracking-tighter: calc(var(--tracking-normal) - 0.05em);
  --tracking-tight: calc(var(--tracking-normal) - 0.025em);
  --tracking-wide: calc(var(--tracking-normal) + 0.025em);
  --tracking-wider: calc(var(--tracking-normal) + 0.05em);
  --tracking-widest: calc(var(--tracking-normal) + 0.1em);
  --font-heading: 'Onest Variable', Onest, system-ui, sans-serif;
  --font-heading-weight: 600;
  --tracking-heading: -0.035em;
  --leading-heading: 1.12;
  --text-h1-desktop: 3.25rem;
  --text-h2-desktop: 2rem;
  --text-h3-desktop: 1.3125rem;
  --text-display-desktop: 3.875rem;
  --text-h1-mobile: 1.875rem;
  --text-h2-mobile: 1.6875rem;
  --text-h3-mobile: 1.3125rem;
  --text-display-mobile: 2.6875rem;
  --text-product-title: 1.375rem;
  --text-product-price: 1.625rem;
  --product-photo-height: 16.125rem;
  --leading-product-title: 1.23;
  --text-admin-title-mobile: 1.8125rem;
  --text-metric: 1.75rem;
  --tracking-numeric: -0.03em;
  --font-price-weight: 750;
  --text-eyebrow: 0.6875rem;
  --tracking-eyebrow: 0.14em;
  --font-eyebrow-weight: 700;
  --text-caption: 0.75rem;
  --text-body: 1rem;
  --text-lead: 1.125rem;
  --text-note: 0.8125rem;
  --text-card-title: 0.875rem;
  --leading-card-title: 1.4;
  --background: oklch(0.9809 0.0025 228.7836);
  --foreground: oklch(0.3211 0 0);
  --card: oklch(1.0000 0 0);
  --card-foreground: oklch(0.3211 0 0);
  --popover: oklch(1.0000 0 0);
  --popover-foreground: oklch(0.3211 0 0);
  --primary: oklch(0.73 0.12 237);
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(0.936 0.035 219);
  --secondary-foreground: oklch(0.36 0.06 240);
  --muted: oklch(0.96 0.024 220);
  --muted-foreground: oklch(0.52 0.046 237);
  --accent: oklch(0.979 0.010 220);
  --accent-foreground: oklch(0.3211 0 0);
  --destructive: oklch(0.6368 0.2078 25.3313);
  --destructive-foreground: oklch(1.0000 0 0);
  --border: oklch(0.92 0.03 225);
  --input: oklch(0.92 0.03 225);
  --ring: oklch(0.73 0.12 237);
  --chart-1: oklch(0.73 0.12 237);
  --chart-2: oklch(0.8148 0.0819 225.7537);
  --chart-3: oklch(0.84 0.16 83);
  --chart-4: oklch(0.73 0.12 237);
  --chart-5: oklch(0.7395 0.2268 142.8504);
  --radius: 0.5rem;
  --sidebar: oklch(0.9809 0.0025 228.7836);
  --sidebar-foreground: oklch(0.3211 0 0);
  --sidebar-primary: oklch(0.73 0.12 237);
  --sidebar-primary-foreground: oklch(0 0 0);
  --sidebar-accent: oklch(0.96 0.024 220);
  --sidebar-accent-foreground: oklch(0.3211 0 0);
  --sidebar-border: oklch(0.92 0.03 225);
  --sidebar-ring: oklch(0.73 0.12 237);
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: Roboto Mono, monospace;
  --shadow-color: oklch(0 0 0);
  --shadow-opacity: 0.1;
  --shadow-blur: 3px;
  --shadow-spread: 0px;
  --shadow-offset-x: 0;
  --shadow-offset-y: 1px;
  --letter-spacing: 0em;
  --spacing: 0.25rem;
  --shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
  --shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
  --shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
  --shadow: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
  --shadow-md: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 2px 4px -1px hsl(0 0% 0% / 0.10);
  --shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 4px 6px -1px hsl(0 0% 0% / 0.10);
  --shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 8px 10px -1px hsl(0 0% 0% / 0.10);
  --shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25);
  --tracking-normal: 0em;
  --brand-blue: oklch(0.73 0.12 237);
  --brand-yellow: oklch(0.84 0.16 83);
  --seed-stem: oklch(0.44 0.07 55);
  --status-warn: oklch(0.95 0.09 88);
  --status-warn-foreground: oklch(0.42 0.11 70);
  --status-ok: oklch(1 0 0);
  --status-ok-foreground: oklch(0.5382 0 0);
  --status-neutral: color-mix(in oklab, var(--muted) 50%, var(--card));
  --status-neutral-foreground: color-mix(in oklab, var(--muted-foreground) 80%, var(--foreground));
  --status-danger: color-mix(in oklab, var(--destructive) 15%, var(--card));
  --status-danger-foreground: color-mix(in oklab, var(--destructive) 60%, var(--foreground));
}

.dark {
  --background: oklch(0.2303 0.0125 264.2926);
  --foreground: oklch(0.9219 0 0);
  --card: oklch(0.3210 0.0078 223.6661);
  --card-foreground: oklch(0.9219 0 0);
  --popover: oklch(0.3210 0.0078 223.6661);
  --popover-foreground: oklch(0.9219 0 0);
  --primary: oklch(0.78 0.11 237);
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(0.42 0.06 237);
  --secondary-foreground: oklch(0.9219 0 0);
  --muted: oklch(0.36 0.02 240);
  --muted-foreground: oklch(0.7155 0 0);
  --accent: oklch(0.34 0.025 240);
  --accent-foreground: oklch(0.9219 0 0);
  --destructive: oklch(0.6368 0.2078 25.3313);
  --destructive-foreground: oklch(1.0000 0 0);
  --border: oklch(0.40 0.02 240);
  --input: oklch(0.40 0.02 240);
  --ring: oklch(0.78 0.11 237);
  --chart-1: oklch(0.78 0.11 237);
  --chart-2: oklch(0.7395 0.2268 142.8504);
  --chart-3: oklch(0.8148 0.0819 225.7537);
  --chart-4: oklch(0.84 0.16 83);
  --chart-5: oklch(0.8652 0.1768 90.3816);
  --radius: 0.5rem;
  --sidebar: oklch(0.2303 0.0125 264.2926);
  --sidebar-foreground: oklch(0.9219 0 0);
  --sidebar-primary: oklch(0.78 0.11 237);
  --sidebar-primary-foreground: oklch(0 0 0);
  --sidebar-accent: oklch(0.38 0.03 237);
  --sidebar-accent-foreground: oklch(0.9219 0 0);
  --sidebar-border: oklch(0.40 0.02 240);
  --sidebar-ring: oklch(0.78 0.11 237);
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: Roboto Mono, monospace;
  --shadow-color: oklch(0 0 0);
  --shadow-opacity: 0.1;
  --shadow-blur: 3px;
  --shadow-spread: 0px;
  --shadow-offset-x: 0;
  --shadow-offset-y: 1px;
  --letter-spacing: 0em;
  --spacing: 0.25rem;
  --shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
  --shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
  --shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
  --shadow: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10);
  --shadow-md: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 2px 4px -1px hsl(0 0% 0% / 0.10);
  --shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 4px 6px -1px hsl(0 0% 0% / 0.10);
  --shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 8px 10px -1px hsl(0 0% 0% / 0.10);
  --shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25);
  --brand-blue: oklch(0.78 0.11 237);
  --brand-yellow: oklch(0.84 0.16 83);
  --seed-stem: oklch(0.58 0.07 55);
  --status-warn: oklch(0.36 0.07 75);
  --status-warn-foreground: oklch(0.90 0.08 83);
  --status-ok: oklch(0.3210 0.0078 223.6661);
  --status-ok-foreground: oklch(0.7155 0 0);
  --status-neutral: color-mix(in oklab, var(--muted) 50%, var(--card));
  --status-neutral-foreground: color-mix(in oklab, var(--muted-foreground) 80%, var(--foreground));
  --status-danger: color-mix(in oklab, var(--destructive) 15%, var(--card));
  --status-danger-foreground: color-mix(in oklab, var(--destructive) 60%, var(--foreground));
}

:root {
  --text-h1: var(--text-h1-mobile);
  --text-h2: var(--text-h2-mobile);
  --text-h3: var(--text-h3-mobile);
  --text-display: var(--text-display-mobile);
  --text-admin-title: var(--text-admin-title-mobile);
}
@media (min-width: 768px) {
  :root {
    --text-h1: var(--text-h1-desktop);
    --text-h2: var(--text-h2-desktop);
    --text-h3: var(--text-h3-desktop);
    --text-display: var(--text-display-desktop);
    --text-admin-title: var(--text-h1-desktop);
    --text-product-title: var(--text-h1-desktop);
    --leading-product-title: var(--leading-heading);
  }
}
.type-h1, .type-h2, .type-h3, .type-display, .type-admin-title, .type-product-title {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  letter-spacing: var(--tracking-heading);
  line-height: var(--leading-heading);
  text-wrap: balance;
  overflow-wrap: break-word;
}
.type-h1 { font-size: var(--text-h1); }
.type-h2 { font-size: var(--text-h2); }
.type-h3 { font-size: var(--text-h3); }
.type-display { font-size: var(--text-display); }
.type-admin-title { font-size: var(--text-admin-title); }
.type-product-title { font-size: var(--text-product-title); line-height: var(--leading-product-title); }
.type-card-title { font-family: var(--font-heading); font-size: var(--text-card-title); font-weight: var(--font-heading-weight); line-height: var(--leading-card-title); letter-spacing: var(--tracking-heading); }
.type-numeric { font-variant-numeric: tabular-nums; letter-spacing: var(--tracking-numeric); }
.type-product-price { font-size: var(--text-product-price); }
.type-price { font-variant-numeric: tabular-nums; letter-spacing: var(--tracking-numeric); font-weight: var(--font-price-weight); }
.type-metric { font-family: var(--font-heading); font-size: var(--text-metric); font-weight: var(--font-heading-weight); line-height: var(--leading-heading); font-variant-numeric: tabular-nums; letter-spacing: var(--tracking-numeric); }
.type-eyebrow { font-size: var(--text-eyebrow); font-weight: var(--font-eyebrow-weight); letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; }
.type-caption { font-size: var(--text-caption); }
