/* Base document styles. Loaded after reset.css and tokens.css. */

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: var(--fs-md);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

#app {
  height: 100%;
}

/* Scrollbars: thin, dark, matches the reference feel */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--border-strong) transparent;
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

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

*::-webkit-scrollbar-thumb {
  background: var(--border-strong);
  border-radius: var(--r-full);
  border: 2px solid transparent;
  background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
  background: var(--text-faint);
  background-clip: padding-box;
}

/* Focus ring: visible on every interactive element, keyboard only */
:focus {
  outline: none;
}

:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
  border-radius: var(--r-sm);
}

a {
  transition: color var(--dur) var(--ease);
}

a:hover {
  color: var(--brand-hover);
}

code, pre {
  font-family: "SF Mono", "Cascadia Code", Consolas, monospace;
  font-size: var(--fs-sm);
}

::placeholder {
  color: var(--text-faint);
}

hr {
  border: none;
  border-top: 1px solid var(--border);
}
