@import 'tailwindcss';

@custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *));

@theme inline {
  --font-sans:
    Geist, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
    'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-mono:
    Geist Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    'Liberation Mono', 'Courier New', monospace;

  --color-background: var(--background);
  --color-foreground: var(--foreground);

  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);

  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);

  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);

  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);

  --color-additive: var(--additive);
  --color-additive-foreground: var(--additive-foreground);

  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);

  --color-border: var(--border);
  --color-ring: var(--ring);
}

@font-face {
  font-family: 'Geist';
  src: url('/fonts/GeistVF.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Geist Mono';
  src: url('/fonts/GeistMonoVF.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Flexoki light — https://stephango.com/flexoki */
:root {
  --background: #fffcf0; /* paper */
  --foreground: #100f0f; /* black */
  --primary: #205ea6; /* blue-600 */
  --primary-foreground: #fffcf0;
  --secondary: #f2f0e5; /* base-50 */
  --secondary-foreground: #100f0f;
  --muted: #f2f0e5; /* base-50 */
  --muted-foreground: #6f6e69; /* base-600 */
  --accent: #e6e4d9; /* base-100 */
  --accent-foreground: #100f0f;
  --additive: #66800b; /* green-600 */
  --additive-foreground: #fffcf0;
  --destructive: #af3029; /* red-600 */
  --destructive-foreground: #fffcf0;
  --border: #dad8ce; /* base-150 */
  --ring: #205ea6; /* blue-600 */
}

/* Flexoki dark */
[data-theme='dark'] {
  --background: #1c1b1a; /* base-950 */
  --foreground: #cecdc3; /* base-200 */
  --primary: #4385be; /* blue-400 */
  --primary-foreground: #1c1b1a;
  --secondary: #282726; /* base-900 */
  --secondary-foreground: #cecdc3;
  --muted: #282726; /* base-900 */
  --muted-foreground: #878580; /* base-500 */
  --accent: #343331; /* base-850 */
  --accent-foreground: #cecdc3;
  --additive: #879a39; /* green-400 */
  --additive-foreground: #1c1b1a;
  --destructive: #d14d41; /* red-400 */
  --destructive-foreground: #1c1b1a;
  --border: #403e3c; /* base-800 */
  --ring: #4385be; /* blue-400 */
}

@layer base {
  *,
  ::after,
  ::before,
  ::backdrop,
  ::file-selector-button {
    @apply border-border outline-ring/50 tracking-tight;
  }
}
