:root {
  /* Abstractions */
  --color-bg: white;
  --color-text: black;
  --color-text-reversed: white;
  --color-text-subtle: var(--zinc-500);
  --color-link: var(--blue-700);
  --color-border-light: var(--zinc-100);
  --color-border: var(--zinc-200);
  --color-border-dark: var(--zinc-400);
  --color-selected: var(--blue-100);
  --color-selected-dark: var(--blue-300);
  --color-highlight: var(--yellow-200);

  /* Accent colors */
  --color-primary: var(--zinc-900);
  --color-secondary: var(--zinc-100);
  --color-negative: var(--red-600);
  --color-positive: var(--green-600);

  /* SVG color values */
  --color-filter-text: invert(0);
  --color-filter-text-reversed: invert(1);
  --color-filter-negative: invert(22%) sepia(85%) saturate(1790%) hue-rotate(339deg) brightness(105%) contrast(108%);
  --color-filter-positive: invert(44%) sepia(89%) saturate(409%) hue-rotate(89deg) brightness(94%) contrast(97%);
}

.dark {
/* Abstractions */
  --color-bg: var(--zinc-900);
  --color-text: var(--zinc-100);
  --color-text-reversed: black;
  --color-text-subtle: var(--zinc-400);
  --color-link: var(--blue-300);
  --color-border-light: var(--zinc-800);
  --color-border: var(--zinc-700);
  --color-border-dark: var(--zinc-600);
  --color-selected: var(--blue-900);
  --color-selected-dark: var(--blue-700);
  --color-highlight: var(--yellow-800);

  /* Accent colors */
  --color-primary: var(--zinc-100);
  --color-secondary: var(--zinc-700);
  --color-negative: var(--red-400);
  --color-positive: var(--green-400);

  /* SVG color values */
  --color-filter-text: invert(1);
  --color-filter-text-reversed: invert(0);
  --color-filter-negative: invert(15%) sepia(65%) saturate(2067%) hue-rotate(339deg) brightness(102%) contrast(97%);
  --color-filter-positive: invert(23%) sepia(62%) saturate(554%) hue-rotate(91deg) brightness(93%) contrast(91%);
}


html {
  scroll-behavior: smooth;
}

/* body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-synthesis-weight: none;
  overscroll-behavior: none;
  text-rendering: optimizeLegibility;
} */

.turbo-progress-bar {
  background-color: var(--color-primary);
}

::selection {
  background-color: var(--color-selected);
}
