/* Gotham — premium font, downloaded via `pnpm setup-fonts` (gitignored).
 * Files served from /fonts/Gotham/ at runtime; missing files fall back to system stack.
 */

@font-face {
  font-family: 'Gotham';
  src: url('/fonts/Gotham/Gotham-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gotham';
  src: url('/fonts/Gotham/Gotham-Book.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gotham';
  src: url('/fonts/Gotham/Gotham-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gotham';
  src: url('/fonts/Gotham/Gotham-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Liquid brand tokens — Liquid Marketing + Liquid Intelligence Coalition.
 * Anchors (Liquid brand guidelines):
 *   primary  → #2F6BFF (Primary / Default), #1E5AE0 (Primary / Hover)
 *   error    → #EF4444 (Red accent)
 *   accent   → #FACC15 (Yellow — graphics only)
 *   surface  → #FFFFFF (cards) / #F5F5F5 (page) / #F9FAFB (muted) / #000000 (inverse)
 *   neutral  → black, white, gray-100..600
 * Activate with [data-brand='liquid'][data-theme='light|dark'].
 */

[data-brand='liquid'] {
  /* Primary Blue ramp — anchored on #2F6BFF (500) and #1E5AE0 (600 hover) */
  --colors-raw-liquidblue-050-v-oklch: 0.97 0.025 263;
  --colors-raw-liquidblue-100-v-oklch: 0.94 0.05 263;
  --colors-raw-liquidblue-150-v-oklch: 0.9 0.07 263;
  --colors-raw-liquidblue-200-v-oklch: 0.85 0.1 263;
  --colors-raw-liquidblue-250-v-oklch: 0.79 0.13 263;
  --colors-raw-liquidblue-300-v-oklch: 0.73 0.16 263;
  --colors-raw-liquidblue-350-v-oklch: 0.66 0.19 263;
  --colors-raw-liquidblue-400-v-oklch: 0.6 0.22 263;
  --colors-raw-liquidblue-450-v-oklch: 0.575 0.22 263;
  --colors-raw-liquidblue-500-v-oklch: 0.55 0.22 263;
  --colors-raw-liquidblue-550-v-oklch: 0.515 0.22 263;
  --colors-raw-liquidblue-600-v-oklch: 0.48 0.22 263;
  --colors-raw-liquidblue-650-v-oklch: 0.435 0.2 263;
  --colors-raw-liquidblue-700-v-oklch: 0.39 0.18 263;
  --colors-raw-liquidblue-750-v-oklch: 0.34 0.155 263;
  --colors-raw-liquidblue-800-v-oklch: 0.29 0.13 263;
  --colors-raw-liquidblue-850-v-oklch: 0.24 0.1 263;
  --colors-raw-liquidblue-900-v-oklch: 0.19 0.07 263;
  --colors-raw-liquidblue-950-v-oklch: 0.13 0.04 263;

  /* Yellow accent ramp — anchored on #FACC15 (graphics only) */
  --colors-raw-liquidcyan-050-v-oklch: 0.97 0.04 92;
  --colors-raw-liquidcyan-100-v-oklch: 0.94 0.07 92;
  --colors-raw-liquidcyan-150-v-oklch: 0.92 0.09 92;
  --colors-raw-liquidcyan-200-v-oklch: 0.91 0.11 92;
  --colors-raw-liquidcyan-250-v-oklch: 0.9 0.125 92;
  --colors-raw-liquidcyan-300-v-oklch: 0.89 0.14 92;
  --colors-raw-liquidcyan-350-v-oklch: 0.88 0.155 92;
  --colors-raw-liquidcyan-400-v-oklch: 0.875 0.165 92;
  --colors-raw-liquidcyan-450-v-oklch: 0.868 0.175 92;
  --colors-raw-liquidcyan-500-v-oklch: 0.86 0.18 92;
  --colors-raw-liquidcyan-550-v-oklch: 0.82 0.175 92;
  --colors-raw-liquidcyan-600-v-oklch: 0.78 0.165 92;
  --colors-raw-liquidcyan-650-v-oklch: 0.73 0.155 92;
  --colors-raw-liquidcyan-700-v-oklch: 0.68 0.14 92;
  --colors-raw-liquidcyan-750-v-oklch: 0.615 0.125 92;
  --colors-raw-liquidcyan-800-v-oklch: 0.55 0.11 92;
  --colors-raw-liquidcyan-850-v-oklch: 0.475 0.09 92;
  --colors-raw-liquidcyan-900-v-oklch: 0.4 0.07 92;
  --colors-raw-liquidcyan-950-v-oklch: 0.25 0.04 92;

  /* Red ramp — anchored on #EF4444 (500) */
  --colors-raw-liquidred-050-v-oklch: 0.97 0.02 25;
  --colors-raw-liquidred-100-v-oklch: 0.94 0.04 25;
  --colors-raw-liquidred-150-v-oklch: 0.9 0.06 25;
  --colors-raw-liquidred-200-v-oklch: 0.85 0.085 25;
  --colors-raw-liquidred-250-v-oklch: 0.79 0.11 25;
  --colors-raw-liquidred-300-v-oklch: 0.73 0.14 25;
  --colors-raw-liquidred-350-v-oklch: 0.69 0.17 25;
  --colors-raw-liquidred-400-v-oklch: 0.665 0.2 25;
  --colors-raw-liquidred-450-v-oklch: 0.655 0.215 25;
  --colors-raw-liquidred-500-v-oklch: 0.65 0.22 25;
  --colors-raw-liquidred-550-v-oklch: 0.6 0.205 25;
  --colors-raw-liquidred-600-v-oklch: 0.55 0.19 25;
  --colors-raw-liquidred-650-v-oklch: 0.495 0.17 25;
  --colors-raw-liquidred-700-v-oklch: 0.44 0.15 25;
  --colors-raw-liquidred-750-v-oklch: 0.385 0.13 25;
  --colors-raw-liquidred-800-v-oklch: 0.33 0.105 25;
  --colors-raw-liquidred-850-v-oklch: 0.275 0.08 25;
  --colors-raw-liquidred-900-v-oklch: 0.22 0.055 25;
  --colors-raw-liquidred-950-v-oklch: 0.15 0.03 25;

  /* Neutral gray ramp — anchored on Gray 100..600 + black/white */
  --colors-raw-liquidgray-050-v-oklch: 1 0 0;
  --colors-raw-liquidgray-100-v-oklch: 0.985 0 0;
  --colors-raw-liquidgray-150-v-oklch: 0.965 0.002 250;
  --colors-raw-liquidgray-200-v-oklch: 0.93 0.004 250;
  --colors-raw-liquidgray-250-v-oklch: 0.875 0.008 250;
  --colors-raw-liquidgray-300-v-oklch: 0.83 0.01 250;
  --colors-raw-liquidgray-350-v-oklch: 0.77 0.013 250;
  --colors-raw-liquidgray-400-v-oklch: 0.71 0.015 250;
  --colors-raw-liquidgray-450-v-oklch: 0.63 0.013 250;
  --colors-raw-liquidgray-500-v-oklch: 0.55 0.012 250;
  --colors-raw-liquidgray-550-v-oklch: 0.485 0.008 250;
  --colors-raw-liquidgray-600-v-oklch: 0.42 0 0;
  --colors-raw-liquidgray-650-v-oklch: 0.37 0 0;
  --colors-raw-liquidgray-700-v-oklch: 0.34 0.01 263;
  --colors-raw-liquidgray-750-v-oklch: 0.29 0.012 263;
  --colors-raw-liquidgray-800-v-oklch: 0.245 0.014 263;
  --colors-raw-liquidgray-850-v-oklch: 0.205 0.014 263;
  --colors-raw-liquidgray-900-v-oklch: 0.18 0.012 263;
  --colors-raw-liquidgray-950-v-oklch: 0.13 0.008 263;
  --colors-raw-liquidgray-1000-v-oklch: 0 0 0;

  --colors-raw-neutral-fg-light-v-oklch: 0 0 0;
  --colors-raw-neutral-bg-light-v-oklch: 1 0 0;
  --colors-raw-neutral-fg-dark-v-oklch: 1 0 0;
  --colors-raw-neutral-bg-dark-v-oklch: 0 0 0;

  /* Brand semantic surface mapping (subtle blue tint, lifted from pure black):
   *   bg1 = page background        → very light cool / lifted dark blue
   *   bg2 = elevated card/surface  → pure white / lifted
   *   bg3 = muted alt section      → near white / deeper dark
   */
  --colors-raw-base-bg1-light-v-oklch: 0.99 0.006 263;
  --colors-raw-base-bg1-dark-v-oklch: 0.18 0.012 263;
  --colors-raw-base-bg2-light-v-oklch: 0.94 0.014 263;
  --colors-raw-base-bg2-dark-v-oklch: 0.235 0.015 263;
  --colors-raw-base-bg3-light-v-oklch: 0.88 0.022 263;
  --colors-raw-base-bg3-dark-v-oklch: 0.14 0.008 263;

  --semantic-surface-1-light: oklch(var(--colors-raw-base-bg1-light-v-oklch));
  --semantic-surface-1-dark: oklch(var(--colors-raw-base-bg1-dark-v-oklch));
  --semantic-surface-2-light: oklch(var(--colors-raw-base-bg2-light-v-oklch));
  --semantic-surface-2-dark: oklch(var(--colors-raw-base-bg2-dark-v-oklch));
  --semantic-surface-3-light: oklch(var(--colors-raw-base-bg3-light-v-oklch));
  --semantic-surface-3-dark: oklch(var(--colors-raw-base-bg3-dark-v-oklch));
  --semantic-content-primary-light: oklch(var(--colors-raw-neutral-fg-light-v-oklch));
  --semantic-content-primary-dark: oklch(var(--colors-raw-neutral-fg-dark-v-oklch));
  --semantic-content-muted-light: oklch(var(--colors-raw-liquidgray-600-v-oklch));
  --semantic-content-muted-dark: oklch(var(--colors-raw-liquidgray-400-v-oklch));
  --semantic-content-inverse-light: oklch(var(--colors-raw-neutral-bg-light-v-oklch));
  --semantic-content-inverse-dark: oklch(var(--colors-raw-neutral-bg-dark-v-oklch));
  --semantic-border-subtle-light: oklch(var(--colors-raw-liquidgray-200-v-oklch));
  --semantic-border-subtle-dark: oklch(var(--colors-raw-liquidgray-800-v-oklch));
  --semantic-border-default-light: oklch(var(--colors-raw-liquidgray-300-v-oklch));
  --semantic-border-default-dark: oklch(var(--colors-raw-liquidgray-700-v-oklch));
  --semantic-brand-primary-light: oklch(var(--colors-raw-liquidblue-500-v-oklch));
  --semantic-brand-primary-dark: oklch(var(--colors-raw-liquidblue-400-v-oklch));
  --semantic-brand-primary-content-light: oklch(var(--colors-raw-neutral-bg-light-v-oklch));
  --semantic-brand-primary-content-dark: oklch(var(--colors-raw-neutral-bg-light-v-oklch));
  --semantic-brand-secondary-light: oklch(var(--colors-raw-liquidblue-600-v-oklch));
  --semantic-brand-secondary-dark: oklch(var(--colors-raw-liquidblue-450-v-oklch));
  --semantic-brand-accent-light: oklch(var(--colors-raw-liquidcyan-500-v-oklch));
  --semantic-brand-accent-dark: oklch(var(--colors-raw-liquidcyan-500-v-oklch));
  --semantic-brand-accent-content-light: oklch(var(--colors-raw-liquidgray-1000-v-oklch));
  --semantic-brand-accent-content-dark: oklch(var(--colors-raw-liquidgray-1000-v-oklch));
  --semantic-neutral-base-light: oklch(var(--colors-raw-neutral-bg-light-v-oklch));
  --semantic-neutral-base-dark: oklch(var(--colors-raw-neutral-bg-dark-v-oklch));
  --semantic-neutral-content-light: oklch(var(--colors-raw-neutral-fg-light-v-oklch));
  --semantic-neutral-content-dark: oklch(var(--colors-raw-neutral-fg-dark-v-oklch));
  --semantic-status-info-light: oklch(var(--colors-raw-liquidblue-500-v-oklch));
  --semantic-status-info-dark: oklch(var(--colors-raw-liquidblue-400-v-oklch));
  --semantic-status-info-content-light: oklch(var(--colors-raw-neutral-bg-light-v-oklch));
  --semantic-status-info-content-dark: oklch(var(--colors-raw-neutral-bg-light-v-oklch));
  --semantic-status-success-light: var(--snyder-accent-lime-600);
  --semantic-status-success-dark: var(--snyder-accent-lime-500);
  --semantic-status-success-content-light: var(--snyder-accent-lime-050);
  --semantic-status-success-content-dark: var(--snyder-accent-lime-950);
  --semantic-status-warning-light: oklch(var(--colors-raw-liquidcyan-500-v-oklch));
  --semantic-status-warning-dark: oklch(var(--colors-raw-liquidcyan-500-v-oklch));
  --semantic-status-warning-content-light: oklch(var(--colors-raw-liquidgray-1000-v-oklch));
  --semantic-status-warning-content-dark: oklch(var(--colors-raw-liquidgray-1000-v-oklch));
  --semantic-status-error-light: oklch(var(--colors-raw-liquidred-500-v-oklch));
  --semantic-status-error-dark: oklch(var(--colors-raw-liquidred-350-v-oklch));
  --semantic-status-error-content-light: oklch(var(--colors-raw-neutral-bg-light-v-oklch));
  --semantic-status-error-content-dark: oklch(var(--colors-raw-neutral-bg-light-v-oklch));
}

/* DaisyUI overlay for Liquid. */
[data-brand='liquid'] {
  --color-primary: var(--semantic-brand-primary);
  --color-primary-content: var(--semantic-brand-primary-content);
  --color-secondary: var(--semantic-brand-secondary);
  --color-secondary-content: var(--semantic-brand-primary-content);
  --color-accent: var(--semantic-brand-accent);
  --color-accent-content: var(--semantic-brand-accent-content);

  --root-bg: var(--semantic-surface-1);
  --color-base-100: var(--semantic-surface-1);
  --color-base-200: var(--semantic-surface-2);
  --color-base-300: var(--semantic-surface-3);
  --color-base-content: var(--semantic-content-primary);

  --color-neutral: var(--semantic-neutral-base);
  --color-neutral-content: var(--semantic-neutral-content);

  --color-info: var(--semantic-status-info);
  --color-info-content: var(--semantic-status-info-content);
  --color-success: var(--semantic-status-success);
  --color-success-content: var(--semantic-status-success-content);
  --color-warning: var(--semantic-status-warning);
  --color-warning-content: var(--semantic-status-warning-content);
  --color-error: var(--semantic-status-error);
  --color-error-content: var(--semantic-status-error-content);
}

[data-brand='liquid'][data-theme='light'] {
  color-scheme: light;
}
[data-brand='liquid'][data-theme='dark'] {
  color-scheme: dark;
}

/* Liquid Brand - MUI Color Mappings - Light */
[data-brand='liquid'][data-theme='light'] {
  --mui-palette-primary-main: var(--snyder-primary-500);
  --mui-palette-primary-light: var(--snyder-primary-300);
  --mui-palette-primary-dark: var(--snyder-primary-700);
  --mui-palette-primary-contrastText: var(--snyder-gray-050);
  --mui-palette-secondary-main: oklch(var(--colors-raw-liquidblue-700-v-oklch));
  --mui-palette-secondary-light: oklch(var(--colors-raw-liquidblue-500-v-oklch));
  --mui-palette-secondary-dark: oklch(var(--colors-raw-liquidblue-900-v-oklch));
  --mui-palette-secondary-contrastText: var(--snyder-gray-050);
  --mui-palette-error-main: oklch(var(--colors-raw-liquidred-500-v-oklch));
  --mui-palette-error-light: oklch(var(--colors-raw-liquidred-300-v-oklch));
  --mui-palette-error-dark: oklch(var(--colors-raw-liquidred-700-v-oklch));
  --mui-palette-error-contrastText: var(--snyder-gray-050);
  --mui-palette-warning-main: oklch(var(--colors-raw-liquidcyan-500-v-oklch));
  --mui-palette-warning-light: oklch(var(--colors-raw-liquidcyan-300-v-oklch));
  --mui-palette-warning-dark: oklch(var(--colors-raw-liquidcyan-700-v-oklch));
  --mui-palette-warning-contrastText: var(--snyder-gray-1000);
  --mui-palette-info-main: oklch(var(--colors-raw-liquidblue-500-v-oklch));
  --mui-palette-info-light: oklch(var(--colors-raw-liquidblue-300-v-oklch));
  --mui-palette-info-dark: oklch(var(--colors-raw-liquidblue-800-v-oklch));
  --mui-palette-info-contrastText: var(--snyder-gray-050);
  --mui-palette-success-main: var(--snyder-accent-lime-600);
  --mui-palette-success-light: var(--snyder-accent-lime-400);
  --mui-palette-success-dark: var(--snyder-accent-lime-800);
  --mui-palette-success-contrastText: var(--snyder-accent-lime-050);
  --mui-palette-background-default: var(--snyder-background-primary);
  --mui-palette-background-paper: var(--snyder-background-elevated);
  --mui-palette-text-primary: var(--snyder-text-primary);
  --mui-palette-text-secondary: var(--snyder-text-secondary);
  --mui-palette-text-disabled: var(--snyder-text-tertiary);
  --mui-palette-divider: var(--snyder-border-default);
  --mui-palette-action-active: var(--snyder-text-secondary);
  --mui-palette-action-hover: var(--snyder-interactive-secondary);
  --mui-palette-action-selected: var(--snyder-interactive-secondary-hover);
  --mui-palette-action-focus: var(--snyder-border-focus);
}

/* Liquid Brand - MUI Color Mappings - Dark */
[data-brand='liquid'][data-theme='dark'] {
  --mui-palette-primary-main: var(--snyder-primary-400);
  --mui-palette-primary-light: var(--snyder-primary-300);
  --mui-palette-primary-dark: var(--snyder-primary-600);
  --mui-palette-primary-contrastText: var(--snyder-gray-050);
  --mui-palette-secondary-main: oklch(var(--colors-raw-liquidblue-450-v-oklch));
  --mui-palette-secondary-light: oklch(var(--colors-raw-liquidblue-300-v-oklch));
  --mui-palette-secondary-dark: oklch(var(--colors-raw-liquidblue-700-v-oklch));
  --mui-palette-secondary-contrastText: var(--snyder-gray-050);
  --mui-palette-error-main: oklch(var(--colors-raw-liquidred-350-v-oklch));
  --mui-palette-error-light: oklch(var(--colors-raw-liquidred-250-v-oklch));
  --mui-palette-error-dark: oklch(var(--colors-raw-liquidred-550-v-oklch));
  --mui-palette-error-contrastText: var(--snyder-gray-050);
  --mui-palette-warning-main: oklch(var(--colors-raw-liquidcyan-500-v-oklch));
  --mui-palette-warning-light: oklch(var(--colors-raw-liquidcyan-300-v-oklch));
  --mui-palette-warning-dark: oklch(var(--colors-raw-liquidcyan-700-v-oklch));
  --mui-palette-warning-contrastText: var(--snyder-gray-1000);
  --mui-palette-info-main: oklch(var(--colors-raw-liquidblue-400-v-oklch));
  --mui-palette-info-light: oklch(var(--colors-raw-liquidblue-300-v-oklch));
  --mui-palette-info-dark: oklch(var(--colors-raw-liquidblue-700-v-oklch));
  --mui-palette-info-contrastText: var(--snyder-gray-050);
  --mui-palette-success-main: var(--snyder-accent-lime-500);
  --mui-palette-success-light: var(--snyder-accent-lime-300);
  --mui-palette-success-dark: var(--snyder-accent-lime-700);
  --mui-palette-success-contrastText: var(--snyder-accent-lime-950);
  --mui-palette-background-default: var(--snyder-background-primary);
  --mui-palette-background-paper: var(--snyder-background-elevated);
  --mui-palette-text-primary: var(--snyder-text-primary);
  --mui-palette-text-secondary: var(--snyder-text-secondary);
  --mui-palette-text-disabled: var(--snyder-text-tertiary);
  --mui-palette-divider: var(--snyder-border-default);
  --mui-palette-action-active: var(--snyder-text-secondary);
  --mui-palette-action-hover: var(--snyder-interactive-secondary);
  --mui-palette-action-selected: var(--snyder-interactive-secondary-hover);
  --mui-palette-action-focus: var(--snyder-border-focus);
}

/* Liquid semantic color aliases via light-dark(). */
[data-brand='liquid'] {
  --semantic-surface-1: light-dark(var(--semantic-surface-1-light), var(--semantic-surface-1-dark));
  --semantic-surface-2: light-dark(var(--semantic-surface-2-light), var(--semantic-surface-2-dark));
  --semantic-surface-3: light-dark(var(--semantic-surface-3-light), var(--semantic-surface-3-dark));

  --semantic-content-primary: light-dark(var(--semantic-content-primary-light), var(--semantic-content-primary-dark));
  --semantic-content-muted: light-dark(var(--semantic-content-muted-light), var(--semantic-content-muted-dark));
  --semantic-content-inverse: light-dark(var(--semantic-content-inverse-light), var(--semantic-content-inverse-dark));

  --semantic-border-subtle: light-dark(var(--semantic-border-subtle-light), var(--semantic-border-subtle-dark));
  --semantic-border-default: light-dark(var(--semantic-border-default-light), var(--semantic-border-default-dark));

  --semantic-brand-primary: light-dark(var(--semantic-brand-primary-light), var(--semantic-brand-primary-dark));
  --semantic-brand-primary-content: light-dark(var(--semantic-brand-primary-content-light), var(--semantic-brand-primary-content-dark));
  --semantic-brand-secondary: light-dark(var(--semantic-brand-secondary-light), var(--semantic-brand-secondary-dark));
  --semantic-brand-accent: light-dark(var(--semantic-brand-accent-light), var(--semantic-brand-accent-dark));
  --semantic-brand-accent-content: light-dark(var(--semantic-brand-accent-content-light), var(--semantic-brand-accent-content-dark));

  --semantic-neutral-base: light-dark(var(--semantic-neutral-base-light), var(--semantic-neutral-base-dark));
  --semantic-neutral-content: light-dark(var(--semantic-neutral-content-light), var(--semantic-neutral-content-dark));

  --semantic-status-info: light-dark(var(--semantic-status-info-light), var(--semantic-status-info-dark));
  --semantic-status-info-content: light-dark(var(--semantic-status-info-content-light), var(--semantic-status-info-content-dark));
  --semantic-status-success: light-dark(var(--semantic-status-success-light), var(--semantic-status-success-dark));
  --semantic-status-success-content: light-dark(var(--semantic-status-success-content-light), var(--semantic-status-success-content-dark));
  --semantic-status-warning: light-dark(var(--semantic-status-warning-light), var(--semantic-status-warning-dark));
  --semantic-status-warning-content: light-dark(var(--semantic-status-warning-content-light), var(--semantic-status-warning-content-dark));
  --semantic-status-error: light-dark(var(--semantic-status-error-light), var(--semantic-status-error-dark));
  --semantic-status-error-content: light-dark(var(--semantic-status-error-content-light), var(--semantic-status-error-content-dark));

  --semantic-on-accent: oklch(1 0 0);
  --semantic-on-accent-muted: oklch(1 0 0 / 0.85);
  --semantic-on-accent-subtle: oklch(1 0 0 / 0.7);
  --semantic-on-accent-shine: oklch(1 0 0 / 0.18);
  --semantic-tile-dim: oklch(0 0 0 / 0.08);
}

:root[data-brand='liquid'] {
  --snyder-brand: light-dark(var(--snyder-primary-500), var(--snyder-primary-400));

  --snyder-text-primary: light-dark(var(--snyder-gray-1000), var(--snyder-gray-050));
  --snyder-text-secondary: light-dark(var(--snyder-gray-600), var(--snyder-gray-300));
  --snyder-text-tertiary: light-dark(var(--snyder-gray-500), var(--snyder-gray-400));
  --snyder-text-inverted: light-dark(var(--snyder-gray-050), var(--snyder-gray-1000));
  --snyder-text-on-primary: light-dark(var(--snyder-gray-050), var(--snyder-gray-050));
  --snyder-text-link: light-dark(var(--snyder-primary-500), var(--snyder-primary-300));
  --snyder-text-link-hover: light-dark(var(--snyder-primary-600), var(--snyder-primary-250));

  --snyder-background-primary: light-dark(var(--snyder-gray-100), var(--snyder-gray-950));
  --snyder-background-secondary: light-dark(var(--snyder-gray-050), var(--snyder-gray-900));
  --snyder-background-tertiary: light-dark(var(--snyder-gray-200), var(--snyder-gray-850));
  --snyder-background-elevated: light-dark(var(--snyder-gray-050), var(--snyder-gray-850));
  --snyder-background-overlay: light-dark(oklch(from var(--snyder-gray-1000) l c h / 0.5), oklch(from var(--snyder-gray-1000) l c h / 0.76));
  --snyder-root-bg: light-dark(oklch(var(--colors-raw-base-bg1-light-v-oklch)), oklch(var(--colors-raw-base-bg1-dark-v-oklch)));
  --snyder-base-100: light-dark(oklch(var(--colors-raw-base-bg1-light-v-oklch)), oklch(var(--colors-raw-base-bg1-dark-v-oklch)));
  --snyder-base-200: light-dark(oklch(var(--colors-raw-base-bg2-light-v-oklch)), oklch(var(--colors-raw-base-bg2-dark-v-oklch)));
  --snyder-base-300: light-dark(oklch(var(--colors-raw-base-bg3-light-v-oklch)), oklch(var(--colors-raw-base-bg3-dark-v-oklch)));
  --snyder-base-content: light-dark(oklch(var(--colors-raw-neutral-fg-dark-v-oklch)), oklch(var(--colors-raw-neutral-fg-light-v-oklch)));

  /* Border bridge tuned for liquid surfaces (cards = white in light, 0.235 in dark).
   * Each step picks a gray with meaningful lightness delta vs card bg so borders
   * remain visible while staying subtle. Previously used gray-200 / gray-800,
   * which collapsed to near-zero contrast in dark mode (gray-800 ≈ bg2). */
  --snyder-border-subtle: light-dark(var(--snyder-gray-250), var(--snyder-gray-700));
  --snyder-border-default: light-dark(var(--snyder-gray-350), var(--snyder-gray-650));
  --snyder-border-strong: light-dark(var(--snyder-gray-450), var(--snyder-gray-550));
  --snyder-border-focus: light-dark(var(--snyder-primary-500), var(--snyder-primary-400));

  --snyder-interactive-primary: light-dark(var(--snyder-primary-500), var(--snyder-primary-400));
  --snyder-interactive-primary-hover: light-dark(var(--snyder-primary-600), var(--snyder-primary-300));
  --snyder-interactive-secondary: light-dark(var(--snyder-gray-200), var(--snyder-gray-800));
  --snyder-interactive-secondary-hover: light-dark(var(--snyder-gray-300), var(--snyder-gray-700));

  --snyder-status-success: light-dark(var(--snyder-accent-lime-600), var(--snyder-accent-lime-500));
  --snyder-status-warning: light-dark(oklch(var(--colors-raw-liquidcyan-500-v-oklch)), oklch(var(--colors-raw-liquidcyan-500-v-oklch)));
  --snyder-status-error: light-dark(oklch(var(--colors-raw-liquidred-500-v-oklch)), oklch(var(--colors-raw-liquidred-350-v-oklch)));
  --snyder-status-info: light-dark(oklch(var(--colors-raw-liquidblue-500-v-oklch)), oklch(var(--colors-raw-liquidblue-400-v-oklch)));
}

[data-brand='liquid'] {
  /* Color Palette - Primary (Liquid Blue) */
  --snyder-primary-050: oklch(var(--colors-raw-liquidblue-050-v-oklch));
  --snyder-primary-100: oklch(var(--colors-raw-liquidblue-100-v-oklch));
  --snyder-primary-150: oklch(var(--colors-raw-liquidblue-150-v-oklch));
  --snyder-primary-200: oklch(var(--colors-raw-liquidblue-200-v-oklch));
  --snyder-primary-250: oklch(var(--colors-raw-liquidblue-250-v-oklch));
  --snyder-primary-300: oklch(var(--colors-raw-liquidblue-300-v-oklch));
  --snyder-primary-350: oklch(var(--colors-raw-liquidblue-350-v-oklch));
  --snyder-primary-400: oklch(var(--colors-raw-liquidblue-400-v-oklch));
  --snyder-primary-450: oklch(var(--colors-raw-liquidblue-450-v-oklch));
  --snyder-primary-500: oklch(var(--colors-raw-liquidblue-500-v-oklch));
  --snyder-primary-550: oklch(var(--colors-raw-liquidblue-550-v-oklch));
  --snyder-primary-600: oklch(var(--colors-raw-liquidblue-600-v-oklch));
  --snyder-primary-650: oklch(var(--colors-raw-liquidblue-650-v-oklch));
  --snyder-primary-700: oklch(var(--colors-raw-liquidblue-700-v-oklch));
  --snyder-primary-750: oklch(var(--colors-raw-liquidblue-750-v-oklch));
  --snyder-primary-800: oklch(var(--colors-raw-liquidblue-800-v-oklch));
  --snyder-primary-850: oklch(var(--colors-raw-liquidblue-850-v-oklch));
  --snyder-primary-900: oklch(var(--colors-raw-liquidblue-900-v-oklch));
  --snyder-primary-950: oklch(var(--colors-raw-liquidblue-950-v-oklch));

  /* Color Palette - Gray (cool neutral, brand-aligned) */
  --snyder-gray-050: oklch(var(--colors-raw-liquidgray-050-v-oklch));
  --snyder-gray-100: oklch(var(--colors-raw-liquidgray-100-v-oklch));
  --snyder-gray-150: oklch(var(--colors-raw-liquidgray-150-v-oklch));
  --snyder-gray-200: oklch(var(--colors-raw-liquidgray-200-v-oklch));
  --snyder-gray-250: oklch(var(--colors-raw-liquidgray-250-v-oklch));
  --snyder-gray-300: oklch(var(--colors-raw-liquidgray-300-v-oklch));
  --snyder-gray-350: oklch(var(--colors-raw-liquidgray-350-v-oklch));
  --snyder-gray-400: oklch(var(--colors-raw-liquidgray-400-v-oklch));
  --snyder-gray-450: oklch(var(--colors-raw-liquidgray-450-v-oklch));
  --snyder-gray-500: oklch(var(--colors-raw-liquidgray-500-v-oklch));
  --snyder-gray-550: oklch(var(--colors-raw-liquidgray-550-v-oklch));
  --snyder-gray-600: oklch(var(--colors-raw-liquidgray-600-v-oklch));
  --snyder-gray-650: oklch(var(--colors-raw-liquidgray-650-v-oklch));
  --snyder-gray-700: oklch(var(--colors-raw-liquidgray-700-v-oklch));
  --snyder-gray-750: oklch(var(--colors-raw-liquidgray-750-v-oklch));
  --snyder-gray-800: oklch(var(--colors-raw-liquidgray-800-v-oklch));
  --snyder-gray-850: oklch(var(--colors-raw-liquidgray-850-v-oklch));
  --snyder-gray-900: oklch(var(--colors-raw-liquidgray-900-v-oklch));
  --snyder-gray-950: oklch(var(--colors-raw-liquidgray-950-v-oklch));
  --snyder-gray-1000: oklch(var(--colors-raw-liquidgray-1000-v-oklch));

  /* Typography — Liquid Marketing uses Gotham for both headings and body. */
  --snyder-font-gotham: 'Gotham', 'Inter Variable', 'Inter', system-ui, sans-serif;
  --snyder-font-heading-display: var(--snyder-font-gotham);
  --snyder-font-body-display: var(--snyder-font-gotham);
}
