/*
 * core/reset.css - CSS reset + base elements + .nv-root reset
 * Extracted from app.css. Contains no tokens (:root) and no components.
 * Load alongside tokens.css before all other files.
 */

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

/* HTML */
html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

/* Body */
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
}

/* Media elements */
img, video, svg { max-width: 100%; height: auto; display: block; }
img { vertical-align: middle; }

/* Links */
a { color: var(--color-primary); text-decoration: none; }

/* Headings */
h1,h2,h3,h4,h5,h6 {
  margin: 0 0 var(--space-4);
  line-height: var(--line-height-tight);
  font-weight: 700;
}

/* Paragraph */
p { margin: 0 0 var(--space-4); }

/* Lists */
ul, ol { margin: 0 0 var(--space-4); padding-left: var(--space-6); }

/* Horizontal rule */
hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: var(--space-8) 0;
}

/* Form elements */
button, input, select, textarea { font: inherit; margin: 0; }
button { cursor: pointer; }

/* Table */
table { border-collapse: collapse; width: 100%; }

/* .nv-root reset */
.nv-root {
  font-family: var(--font-sans);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
}
.nv-root *, .nv-root *::before, .nv-root *::after { box-sizing: border-box; }
.nv-root button { font-family: inherit; cursor: pointer; }
.nv-root a { text-decoration: none; color: inherit; }
.nv-root ul, .nv-root ol { margin: 0; padding: 0; list-style: none; }
.nv-root img { display: block; max-width: 100%; }
.nv-root h1,.nv-root h2,.nv-root h3,.nv-root h4,.nv-root h5,.nv-root h6,
.nv-root p { margin: 0; }
