
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  letter-spacing: 0;
}
body.drawer-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea {
  font: inherit;
  color: inherit;
}
button { cursor: pointer; }
img, svg { display: block; }
.mono {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.icon {
  width: 18px;
  height: 18px;
  flex: none;
  color: currentColor;
}
.icon-sm { width: 15px; height: 15px; }
.shell {
  min-height: 100vh;
  background: var(--page);
}

/* Focus visible sur tout élément interactif. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 6px;
}

h1, h2, h3 { line-height: 1.2; }
p { line-height: 1.55; }
