*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html, body { height: 100%; }
html { -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; }
:target, .market, .race-card { scroll-margin-top: calc(var(--statusbar-h) + 90px); }
.market:target, .race-card:target { outline: 2px solid var(--amber); outline-offset: 2px; }
body { line-height: var(--lh-base); font-family: var(--ff-mono); color: var(--ink); background: var(--bg); }
img, svg, video { display: block; max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
:focus-visible { outline: none; box-shadow: var(--shadow-focus); border-radius: var(--r-1); }
[hidden] { display: none !important; }
.skip-link { position: absolute; left: -9999px; top: auto; }
.skip-link:focus { left: 8px; top: 8px; background: var(--amber); color: #000; padding: 6px 12px; font: 600 var(--fs-sm)/1 var(--ff-mono); text-transform: uppercase; z-index: 1000; }
::selection { background: var(--amber); color: #000; }
