* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; background: transparent; color: var(--text); font: 14px/1.5 var(--font); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { color: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }
img, svg, canvas { max-width: 100%; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
::selection { background: rgba(96,165,250,.25); }
h1,h2,h3,p { margin-top: 0; }
h1 { font-size: clamp(1.45rem, 3vw, 2rem); letter-spacing: -.04em; line-height: 1.15; }
h2 { font-size: 1.05rem; letter-spacing: -.02em; }
h3 { font-size: .92rem; }
small, .muted { color: var(--muted); }
.eyebrow { color: var(--muted); font-size: .68rem; letter-spacing: .13em; font-weight: 700; }
.num { font-variant-numeric: tabular-nums; }
.positive { color: var(--green) !important; }
.negative { color: var(--red) !important; }
.warning { color: var(--yellow) !important; }
hr { border: 0; border-top: 1px solid var(--border); }
