:root {
  --color-bg: light-dark(white, var(--zinc-950));
  --color-surface: light-dark(white, var(--zinc-900));
  --color-text: light-dark(var(--zinc-950), white);
  --color-text-reversed: light-dark(white, var(--zinc-950));
  --color-text-subtle: light-dark(var(--zinc-500), var(--zinc-400));
  --color-link: light-dark(var(--blue-700), var(--blue-400));
  --color-border-light: light-dark(var(--zinc-100), var(--zinc-800));
  --color-border: light-dark(var(--zinc-200), var(--zinc-700));
  --color-border-dark: light-dark(var(--zinc-400), var(--zinc-600));
  --color-selected: light-dark(var(--sky-100), var(--sky-950));
  --color-selected-dark: light-dark(var(--blue-300), var(--blue-800));
  --color-highlight: light-dark(var(--yellow-200), var(--yellow-900));

  --color-primary: light-dark(var(--blue-700), var(--blue-400));
  --color-secondary: light-dark(var(--zinc-100), var(--zinc-800));
  --color-negative: light-dark(var(--red-600), var(--red-800));
  --color-positive: light-dark(var(--green-600), var(--green-800));

  --font-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
}

* {
  border-color: var(--color-border);
  scrollbar-color: #C1C1C1 transparent;
  scrollbar-width: thin;
}

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);
  color: var(--color-text);
}

/* Screen reader only content - accessible but visually hidden */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Focus indicators for better keyboard navigation */
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
  outline: 2px solid var(--color-link);
  outline-offset: 2px;
}
