:root {
  --color-primary: #39ff14;
  --color-primary-dark: #053900;
  --color-gold: #d6a84f;
  --color-background: #080112;
  --color-background-soft: #0c0618;
  --color-surface: #131313;
  --color-purple: #6d28d9;
  --color-blue: #1e40af;
  --color-text: #e5e2e1;
  --color-muted: #baccb0;
  --color-outline: rgba(255, 255, 255, 0.12);
  --shadow-purple: 0 0 42px rgba(109, 40, 217, 0.28);
  --shadow-green: 0 0 34px rgba(57, 255, 20, 0.24);
  --shadow-gold: 0 0 28px rgba(214, 168, 79, 0.16);
  --font-body: "Inter", Arial, sans-serif;
  --font-display: "Sora", Arial, sans-serif;
  --font-code: "JetBrains Mono", monospace;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 18px;
  --container: 1280px;
  --header-height: 82px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 8% 0%, rgba(109, 40, 217, 0.22), transparent 32rem),
    radial-gradient(circle at 95% 10%, rgba(57, 255, 20, 0.11), transparent 26rem),
    radial-gradient(circle at 85% 88%, rgba(214, 168, 79, 0.10), transparent 28rem),
    var(--color-background);
  color: var(--color-text);
  font-family: var(--font-body);
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.85), transparent 82%);
}

body.nav-open {
  overflow: hidden;
}

img,
svg {
  max-width: 100%;
  display: block;
}

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

button,
input,
textarea {
  font: inherit;
}

::selection {
  background: rgba(57, 255, 20, 0.28);
  color: #fff;
}

::-webkit-scrollbar {
  width: 7px;
}

::-webkit-scrollbar-track {
  background: #080112;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(var(--color-purple), var(--color-primary));
  border-radius: 999px;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
