/*
  CHELABS Unified UI v2 — base
  Version: 2.2.0

  Document-level rules from docs/design-system/v2-reference/chelabs-ui.css
  (the reset, body typography, links, focus, selection), plus the
  self-hosted Inter face. No colour or size literal lives here: every
  value is a token from tokens.css, which must be loaded first.

  Inter is served from ./fonts (SIL Open Font License 1.1, see
  fonts/LICENSE.txt). The relative URL resolves next to this file both
  in the source tree and in a vendored copy, so no product ever needs a
  font CDN — external font/script loads are forbidden by the Security
  Baseline.
*/

@font-face {
  font-family: "Inter";
  src: url("fonts/InterVariable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

* { box-sizing: border-box; }

html { background: var(--cl-page); }

body {
  margin: 0;
  min-width: 320px;
  background: var(--cl-page);
  color: var(--cl-text);
  font-family: var(--cl-font);
  font-size: var(--cl-text-body);
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
svg { display: block; }

h1, h2, h3, p { margin: 0; }

b, strong { font-weight: 700; }

code {
  font-family: var(--cl-font-mono);
  font-size: 13px;
  padding: 2px 6px;
  border-radius: var(--cl-r-xs);
  background: var(--cl-gray-soft);
  color: var(--cl-td-text);
}

::selection { background: var(--cl-selection); color: var(--cl-ink); }

:focus-visible {
  outline: 3px solid var(--cl-focus-outline);
  outline-offset: 2px;
}
