/* Design tokens shared with the Outflare web app. The values are copied
   from outflare web/src/index.css (shadcn/ui theme), so the site and the
   app look the same. Light under :root, dark (the default) under
   [data-theme="dark"]. Keep in step with the app when it changes. */
:root {
  --radius: 0.5rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0.145 0.004 285.8);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.145 0.004 285.8);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.145 0.004 285.8);
  --primary: oklch(0.19 0.005 285.9);
  --primary-foreground: oklch(0.985 0 0);
  --secondary: oklch(0.967 0.001 286.4);
  --secondary-foreground: oklch(0.19 0.005 285.9);
  --muted: oklch(0.967 0.001 286.4);
  --muted-foreground: oklch(0.55 0.016 285.9);
  --accent: oklch(0.967 0.001 286.4);
  --accent-foreground: oklch(0.19 0.005 285.9);
  --destructive: oklch(0.577 0.245 27.3);
  --border: oklch(0.92 0.004 286.3);
  --input: oklch(0.92 0.004 286.3);
  --ring: oklch(0.705 0.015 286.1);
  --sidebar: oklch(0.985 0 0);
  --sidebar-foreground: oklch(0.145 0.004 285.8);
  --sidebar-primary: oklch(0.62 0.17 152);
  --sidebar-primary-foreground: oklch(0.985 0 0);
  --sidebar-accent: oklch(0.94 0.003 286.3);
  --sidebar-accent-foreground: oklch(0.19 0.005 285.9);
  --sidebar-border: oklch(0.92 0.004 286.3);
  --sidebar-ring: oklch(0.705 0.015 286.1);

  /* The one brand colour. In light mode text and marks use the stronger
	   shade so they keep contrast on white. */
  --brand: oklch(0.72 0.17 152);
  --brand-strong: oklch(0.62 0.17 152);
  --brand-ink: var(--brand-strong);

  /* Status colours for shipped / next / planned labels. */
  --status-live: oklch(0.55 0.15 152);
  --status-next: oklch(0.6 0.15 70);
  --status-planned: oklch(0.55 0.16 255);

  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);

  --font-sans: "Geist Variable", ui-sans-serif, system-ui, sans-serif;
  --font-mono:
    "Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;
}

[data-theme="dark"] {
  --background: oklch(0.145 0.004 285.8);
  --foreground: oklch(0.985 0 0);
  --card: oklch(0.165 0.004 285.8);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.19 0.005 285.9);
  --popover-foreground: oklch(0.985 0 0);
  --primary: oklch(0.985 0 0);
  --primary-foreground: oklch(0.19 0.005 285.9);
  --secondary: oklch(0.255 0.006 286);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.21 0.005 285.9);
  --muted-foreground: oklch(0.65 0.016 285.9);
  --accent: oklch(0.235 0.006 286);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.704 0.191 22.2);
  --border: oklch(1 0 0 / 9%);
  --input: oklch(1 0 0 / 12%);
  --ring: oklch(0.55 0.016 285.9);
  --sidebar: oklch(0.145 0.004 285.8);
  --sidebar-foreground: oklch(0.92 0.004 286.3);
  --sidebar-primary: oklch(0.72 0.17 152);
  --sidebar-primary-foreground: oklch(0.145 0.004 285.8);
  --sidebar-accent: oklch(0.21 0.005 285.9);
  --sidebar-accent-foreground: oklch(0.985 0 0);
  --sidebar-border: oklch(1 0 0 / 9%);
  --sidebar-ring: oklch(0.55 0.016 285.9);

  --brand-ink: var(--brand);
  --status-live: oklch(0.72 0.17 152);
  --status-next: oklch(0.8 0.14 80);
  --status-planned: oklch(0.72 0.13 255);
}

html {
  color-scheme: light;
  font-feature-settings: "ss01", "cv11";
}
html[data-theme="dark"] {
  color-scheme: dark;
}
::selection {
  background: color-mix(in oklch, var(--brand) 30%, transparent);
}
