/* Glampfire design tokens. Replaces Campfire's colors.css: the named --lch-* values
   and --color-* abstractions keep their names so every existing stylesheet follows
   the new palette; --gf-* tokens serve the redesigned components. */
:root {
  /* Named color values (OKLCH lightness chroma hue) */
  --lch-black: 21.5% 0.018 265;          /* ink #151922, from the logo wordmark */
  --lch-white: 100% 0 0;
  --lch-gray: 96.8% 0.002 265;           /* subtle surface */
  --lch-gray-dark: 92.6% 0.004 265;      /* border */
  --lch-gray-darker: 84% 0.007 265;      /* strong border */
  --lch-blue: 53% 0.19 262;              /* links and mentions */
  --lch-blue-light: 95.5% 0.025 262;
  --lch-blue-dark: 82% 0.08 262;
  --lch-orange: 68.5% 0.205 40;          /* brand #fd5d1c, from the logo flame */
  --lch-red: 57% 0.2 27;
  --lch-green: 62% 0.16 150;
  --lch-always-black: 0% 0 0;

  /* Campfire abstractions */
  --color-negative: oklch(var(--lch-red));
  --color-positive: oklch(var(--lch-green));
  --color-bg: oklch(var(--lch-white));
  --color-message-bg: oklch(var(--lch-gray));
  --color-text: oklch(var(--lch-black));
  --color-text-reversed: oklch(var(--lch-white));
  --color-link: oklch(var(--lch-blue));
  --color-border: oklch(var(--lch-gray-dark));
  --color-border-dark: oklch(var(--lch-gray-dark));
  --color-border-darker: oklch(var(--lch-gray-darker));
  --color-selected: oklch(var(--lch-blue-light));
  --color-selected-dark: oklch(var(--lch-blue-dark));
  --color-alert: oklch(var(--lch-orange));

  /* Glampfire tokens */
  --gf-canvas: oklch(94.8% 0.009 278);
  --gf-surface: oklch(var(--lch-white));
  --gf-surface-raised: oklch(var(--lch-white));
  --gf-hover: oklch(96.4% 0.003 265);
  --gf-selected: oklch(93.6% 0.004 265);
  --gf-border: oklch(var(--lch-gray-dark));
  --gf-border-strong: oklch(var(--lch-gray-darker));
  --gf-ink: oklch(var(--lch-black));
  --gf-ink-subtle: oklch(52% 0.014 265);
  --gf-ink-faint: oklch(66% 0.01 265);
  --gf-primary: oklch(var(--lch-black));
  --gf-on-primary: oklch(var(--lch-white));
  --gf-brand: oklch(var(--lch-orange));
  --gf-brand-soft: oklch(95% 0.035 45);
  --gf-mention: oklch(var(--lch-blue));
  --gf-mention-soft: oklch(96% 0.025 262);
  --gf-positive: oklch(var(--lch-green));
  --gf-negative: oklch(var(--lch-red));

  --gf-radius-card: 20px;
  --gf-radius-control: 10px;
  --gf-radius-item: 8px;
  --gf-shadow-card: 0 0 0 1px oklch(0% 0 0 / 0.05), 0 1px 2px oklch(0% 0 0 / 0.04);
  --gf-shadow-pop: 0 0 0 1px oklch(0% 0 0 / 0.06), 0 8px 24px oklch(0% 0 0 / 0.12);
  --gf-ease: cubic-bezier(0.2, 0, 0, 1);

  --font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --hover-color: var(--gf-border-strong);

  /* Dark mode: same structure, inverted lightness */
  @media (prefers-color-scheme: dark) {
    --lch-black: 94% 0.006 265;
    --lch-white: 17.5% 0.008 265;
    --lch-gray: 22.5% 0.009 265;
    --lch-gray-dark: 27% 0.01 265;
    --lch-gray-darker: 36% 0.012 265;
    --lch-blue: 72% 0.14 258;
    --lch-blue-light: 27% 0.05 262;
    --lch-blue-dark: 42% 0.08 262;
    --lch-orange: 70% 0.19 42;
    --lch-red: 70% 0.17 25;
    --lch-green: 72% 0.15 150;

    --gf-canvas: oklch(13.5% 0.007 265);
    --gf-hover: oklch(21.5% 0.009 265);
    --gf-selected: oklch(24.5% 0.01 265);
    --gf-ink-subtle: oklch(72% 0.012 265);
    --gf-ink-faint: oklch(58% 0.012 265);
    --gf-brand-soft: oklch(28% 0.06 42);
    --gf-mention-soft: oklch(26% 0.05 262);
    --gf-shadow-card: 0 0 0 1px oklch(100% 0 0 / 0.06);
    --gf-shadow-pop: 0 0 0 1px oklch(100% 0 0 / 0.08), 0 12px 32px oklch(0% 0 0 / 0.5);
  }
}
