/* RESET */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Inter', sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 15% -5%, rgba(139, 93, 255, 0.22), transparent 24%),
    radial-gradient(circle at 90% 12%, rgba(255, 79, 216, 0.18), transparent 22%),
    radial-gradient(circle at 50% 100%, rgba(77, 163, 255, 0.12), transparent 28%),
    linear-gradient(180deg, #05060b 0%, #070914 36%, #05060b 100%);
  min-height: 100vh;
  overflow-x: hidden;
  position: relative;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.022) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.28), transparent 72%);
  opacity: 0.24;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(92, 225, 255, 0.05), transparent 18%),
    radial-gradient(circle at 80% 30%, rgba(255, 79, 216, 0.05), transparent 20%),
    radial-gradient(circle at 50% 85%, rgba(139, 93, 255, 0.05), transparent 20%);
  filter: blur(24px);
  opacity: 0.9;
}

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

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

button,
input,
select,
textarea {
  font: inherit;
}

button {
  font-family: inherit;
}