* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--color-bg); color: var(--color-text); font-family: var(--font-ui);
  font-size: var(--fs-md); line-height: 1.5; -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-weight: 600; margin: 0 0 var(--space-2); letter-spacing: -0.01em; }
h1 { font-size: var(--fs-xl); }
h2 { font-size: var(--fs-lg); }
h3 { font-size: var(--fs-md); color: var(--color-text-muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; font-size: var(--fs-xs); }
p { margin: 0 0 var(--space-2); color: var(--color-text-muted); }
a { color: var(--color-accent); text-decoration: none; }
a:hover { text-decoration: underline; }
table { border-collapse: collapse; width: 100%; }
th, td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--color-border); font-size: var(--fs-sm); }
th { color: var(--color-text-muted); font-weight: 600; font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: 0.04em; }
select, input[type="search"], input[type="text"] {
  background: var(--color-bg-raised); border: 1px solid var(--color-border-strong); color: var(--color-text);
  border-radius: var(--radius-sm); padding: 7px 10px; font-family: var(--font-ui); font-size: var(--fs-sm);
}
input[type="range"] { width: 100%; accent-color: var(--color-accent); }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.numeric { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
