a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, main, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  outline: none !important;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
  display: block
}

input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: none;
}

body {
  background-color: var(--bg-color);
  color: var(--text-color);
  will-change: background-color, color;
  font-family: var(--font-family);
  font-size: 14px;
  line-height: normal;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
  transition: background-color var(--transition-speed), color var(--transition-speed);

  [mode=static] & {
    width: var(--screen-width);
  }
}

#root {
  overflow: hidden;

  [mode=static] & {
    max-height: var(--screen-height);
  }
}
