/* ═══════════════════════════════════════════════════════════
   Liquid Glass — Design Tokens
   Multi-layer optical material · elevation · spring motion
   ═══════════════════════════════════════════════════════════ */

:root {
  /* Typography */
  --font-ui: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', system-ui, sans-serif;
  --font-display: 'Bebas Neue', var(--font-ui);
  --font-mono: 'DM Mono', ui-monospace, monospace;

  /* Corner radii — iOS continuous feel */
  --glass-radius-xs: 8px;
  --glass-radius-sm: 12px;
  --glass-radius-md: 16px;
  --glass-radius-lg: 22px;
  --glass-radius-xl: 28px;
  --glass-radius-pill: 999px;

  /* Blur stack */
  --glass-blur-near: 12px;
  --glass-blur-mid: 24px;
  --glass-blur-far: 40px;
  --glass-blur-nav: 48px;
  --glass-saturate: 180%;
  --glass-brightness: 1.08;

  /* Adaptive fill — cleaner, less muddy */
  --glass-fill-light: oklch(1 0 0 / 0.12);
  --glass-fill-dark: oklch(0.14 0.016 270 / 0.58);
  --glass-fill-busy: oklch(0.12 0.016 270 / 0.72);
  --glass-adaptive-opacity: 1;
  --glass-adaptive-blur: 0px;
  --glass-adaptive-fill: var(--glass-fill-dark);

  /* Lighting — crisp specular, less violet mud */
  --glass-highlight-top: oklch(1 0 0 / 0.42);
  --glass-highlight-mid: oklch(1 0 0 / 0.10);
  --glass-shadow-bottom: oklch(0 0 0 / 0.08);
  --glass-rim: oklch(1 0 0 / 0.18);
  --glass-rim-outer: transparent;
  --glass-dispersion-cyan: oklch(0.82 0.08 200 / 0.04);
  --glass-dispersion-violet: oklch(0.72 0.06 250 / 0.03);
  --glass-inner-glow: oklch(1 0 0 / 0.05);

  /* Accent bleed — cool neutral, not purple haze */
  --glass-accent-tint-a: oklch(0.75 0.04 250 / 0.04);
  --glass-accent-tint-b: oklch(0.82 0.06 200 / 0.04);

  /* Motion — Apple spring overshoot */
  --glass-spring-hover: cubic-bezier(0.32, 0.72, 0, 1);
  --glass-spring-press: cubic-bezier(0.34, 1.56, 0.64, 1);
  --glass-spring-nav: cubic-bezier(0.32, 0.72, 0, 1);
  --glass-spring-sheet: cubic-bezier(0.28, 0.84, 0.42, 1);
  --glass-duration-fast: 0.22s;
  --glass-duration-mid: 0.38s;
  --glass-duration-slow: 0.55s;

  /* Elevation 0 — flat / embedded */
  --glass-e0-blur: 0px;
  --glass-e0-shadow: none;
  --glass-e0-highlight: 0.18;
  --glass-e0-scale: 1;

  /* Elevation 1 — cards, sidebar */
  --glass-e1-blur: var(--glass-blur-near);
  --glass-e1-shadow: 0 4px 24px oklch(0 0 0 / 0.12), 0 1px 0 oklch(1 0 0 / 0.04);
  --glass-e1-highlight: 0.28;
  --glass-e1-scale: 1;

  /* Elevation 2 — floating cards */
  --glass-e2-blur: var(--glass-blur-mid);
  --glass-e2-shadow: 0 8px 32px oklch(0 0 0 / 0.16), 0 2px 8px oklch(0 0 0 / 0.08);
  --glass-e2-highlight: 0.34;
  --glass-e2-scale: 1;

  /* Elevation 3 — panels, inventory */
  --glass-e3-blur: var(--glass-blur-far);
  --glass-e3-shadow: 0 12px 48px oklch(0 0 0 / 0.20), 0 4px 16px oklch(0 0 0 / 0.10);
  --glass-e3-highlight: 0.40;
  --glass-e3-scale: 1;

  /* Elevation 4 — nav bars, AI bar (inset only — no floating shadow) */
  --glass-e4-blur: var(--glass-blur-nav);
  --glass-e4-shadow: none;
  --glass-e4-highlight: 0.42;
  --glass-e4-scale: 1;

  /* Elevation 5 — modals, sheets */
  --glass-e5-blur: calc(var(--glass-blur-nav) + 8px);
  --glass-e5-shadow: 0 24px 64px oklch(0 0 0 / 0.28), 0 8px 24px oklch(0 0 0 / 0.14);
  --glass-e5-highlight: 0.48;
  --glass-e5-scale: 1;

  /* Interaction deltas */
  --glass-hover-scale: 1.01;
  --glass-press-scale: 0.98;
  --glass-hover-blur-add: 2px;
  --glass-focus-ring: oklch(0.82 0.18 200 / 0.65);

  /* Text on glass */
  --glass-text-primary: var(--text, oklch(0.96 0.005 270));
  --glass-text-secondary: var(--text-dim, oklch(0.65 0.015 275));
  --glass-text-on-light: oklch(0.18 0.02 270);
  --glass-text-on-dark: oklch(0.96 0.005 270);
}
