* { box-sizing: border-box; }
html { background: var(--bg-0); color-scheme: dark; }
body {
  margin: 0;
  min-height: 100vh;
  background-color: var(--bg-0);
  background-image:
    linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 32px 32px;
  color: var(--text-1);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}
button, input, textarea, select { font: inherit; }
button { color: inherit; }
a { color: inherit; }
img { max-width: 100%; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.025em; }
::selection { background: rgba(155, 122, 213, .38); }
:focus-visible { outline: 3px solid var(--neutron); outline-offset: 3px; }
.skip-link { position: fixed; left: 12px; top: -70px; z-index: 1000; background: #fff; color: #111; padding: 10px 14px; border-radius: 4px; text-decoration: none; }
.skip-link:focus { top: 12px; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
button[disabled], input[disabled], textarea[disabled] { opacity: .52; cursor: not-allowed; }
.muted { color: var(--text-2); }
.dim { color: var(--text-3); }
.small { font-size: .82rem; }
.tiny { font-size: .72rem; }
.mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.nowrap { white-space: nowrap; }
.hidden { display: none !important; }
