/* base.css — reset, document, typography. No component styling here. */

*, *::before, *::after { box-sizing: border-box; }

html { color-scheme: light dark; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--txt);
  font: 14px/1.45 var(--font);
  -webkit-font-smoothing: antialiased;
  transition: background 0.15s ease, color 0.15s ease;
}

h1, h2 { margin: 0; }
h2 { font-size: 14px; margin-bottom: var(--sp-3); }

a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }

sup { font-size: 0.7em; }

/* off-screen icon sprite (never display:none — that breaks <use> refs) */
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
