@import "tailwindcss";

@theme {
  --color-bg: oklch(0 0 0);
  --color-bg-surface: oklch(0.1 0 0);
  --color-bg-elevated: oklch(0.15 0 0);
  --color-bg-hover: oklch(0.18 0 0);

  --color-text: oklch(0.93 0 0);
  --color-text-muted: oklch(0.5 0 0);
  --color-text-faint: oklch(0.3 0 0);

  --color-accent: oklch(0.72 0.12 55);
  --color-accent-muted: oklch(0.35 0.06 55);
  --color-accent-subtle: oklch(0.18 0.04 55);

  --color-border: oklch(0.18 0 0);

  --color-positive: oklch(0.72 0.15 155);
  --color-negative: oklch(0.65 0.2 25);

  --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
}

html {
  color-scheme: dark;
}

body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: var(--color-border);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-faint);
}

/* Selection */
::selection {
  background-color: var(--color-accent-subtle);
  color: var(--color-text);
}

/* Focus ring */
:focus-visible {
  outline: 1.5px solid var(--color-accent);
  outline-offset: 2px;
}

/* Textarea resize */
textarea {
  field-sizing: content;
}
