*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:15px; }
body {
  font-family: var(--font-sans);
  line-height: 1.65;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  transition: background .3s var(--ease), color .3s var(--ease);
}
img { max-width:100%; display:block; }
a { color: var(--accent-mid); text-decoration:none; }
a:hover { text-decoration:underline; }
h1,h2,h3,h4 { line-height:1.25; font-weight:700; color:var(--text); }
p { color:var(--text-2); margin-bottom:.75rem; }
p:last-child { margin-bottom:0; }
ul,ol { padding-left:1.4rem; color:var(--text-2); }
li { margin-bottom:.3rem; }
strong { color:var(--text); font-weight:600; }
code { font-family:var(--font-mono); font-size:.88em; background:var(--surface2); border:1px solid var(--border); border-radius:4px; padding:.1rem .35rem; }
