:root {
  --bg-primary: #0F0F0F;
  --bg-secondary: #16161c;
  --bg-tertiary: #1c1c24;
  --bg-card: #1e1e28;
  --bg-hover: #252530;
  --bg-alternate: #ffffff;

  --border-color: #2a2a36;

  --text-primary: #ffffff;
  --text-secondary: #a0a0b0;
  --text-muted: color-mix(in srgb, currentColor 70%, transparent);
  --text-alternate: #000000;
  --text-warning: #FE9500;
  --text-danger: #FF0000;
  --text-accent: #69D273;
  --text-extra: #6969D2;

  --accent-primary: #3b82f6;
  --accent-orange: #f59e0b;

  --accent-color: #69D273;
  --accent-color-05: color-mix(in srgb, var(--accent-color) 5%, transparent);
  --accent-color-08: color-mix(in srgb, var(--accent-color) 8%, transparent);
  --accent-color-10: color-mix(in srgb, var(--accent-color) 10%, transparent);
  --accent-color-20: color-mix(in srgb, var(--accent-color) 20%, transparent);
  --accent-color-65: color-mix(in srgb, var(--accent-color) 65%, transparent);

  --warning-color-10: color-mix(in srgb, var(--text-warning) 10%, transparent);
  --warning-color-20: color-mix(in srgb, var(--text-warning) 20%, transparent);

  --current-color-02: color-mix(in srgb, currentColor 2%, transparent);
  --current-color-04: color-mix(in srgb, currentColor 4%, transparent);
  --current-color-05: color-mix(in srgb, currentColor 5%, transparent);
  --current-color-08: color-mix(in srgb, currentColor 8%, transparent);
  --current-color-10: color-mix(in srgb, currentColor 10%, transparent);
  --current-color-15: color-mix(in srgb, currentColor 15%, transparent);
  --current-color-20: color-mix(in srgb, currentColor 20%, transparent);
  --current-color-30: color-mix(in srgb, currentColor 30%, transparent);
  --current-color-50: color-mix(in srgb, currentColor 50%, transparent);
  --current-color-70: color-mix(in srgb, currentColor 70%, transparent);

  --border-radius-lg: 1.25rem;
  --border-radius: 0.625rem;
  --border-radius-sm: 0.5rem;

  --transition: all 0.2s ease;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

@media (max-width: 1024px) {
  html {
    font-size: 14px;
  }
}

body {
  font-family: "Space Grotesk", sans-serif;
  background-color: var(--bg-primary);
  color: var(--text-primary);
  line-height: 1.5;

  background-position: top, bottom;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 432px, 100% 1080px;
  background-image: url(../img/page-bg-top.webp), url(../img/page-bg-bottom.webp);
  /* box-shadow: inset 0 0 8rem 2rem rgba(0,0,0,0.5); */ /* temp: edge vignette off */
}

body:has(.docs-page),
body:has(.error-page) {
  background-image: url(../img/page-bg-top.webp);
  box-shadow: none;
}

@media (max-width: 768px) {
  body {
    background-size: 100% 432px, 100% 1620px;
    /* box-shadow: inset 0 0 6rem 1rem rgba(0,0,0,0.5); */ /* temp: edge vignette off */
  }
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
}

ul {
  list-style: none;
}

iconify-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
}