:root {
  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;
  font-size: 12px;

  @media only screen and (max-width: 600px) {
    font-size: 16px;
  }

  color-scheme: dark;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@keyframes background-gradient-animation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@theme {
  --color-background-gradient-1: var(--color-fuchsia-500);
  --color-background-gradient-2: var(--color-violet-500);
  --color-background-gradient-3: var(--color-fuchsia-700);

  --color-header-package-name: var(--color-white);
  --color-header-package-description: var(--color-white);
  --color-header-icons: var(--color-white);

  --color-data-focus: var(--color-sky-300);
  --color-data-focus-bold: var(--color-sky-600);
  --color-link: var(--color-sky-400);

  --color-nav-active: var(--color-fuchsia-400);
  --color-nav-hover: var(--color-fuchsia-200);

  --color-common-question-header: var(--color-sky-400);
}

#root {
  width: 100dvw;
  height: 100dvh;
  overflow: auto;
  background: linear-gradient(
    -45deg,
    var(--color-background-gradient-1),
    var(--color-background-gradient-2),
    var(--color-background-gradient-3)
  );
  background-size: 400% 400%;
  animation: background-gradient-animation 20s ease infinite;
}

@media (prefers-reduced-motion: reduce) {
  #root {
    background-size: 200% 200%;
    animation: none;
  }
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-slate-600) transparent;
  outline: none;
  transition: none !important;
}

main {
  [data-link],
  a {
    cursor: pointer;
    color: var(--color-link);
    &:hover {
      color: var(--color-data-focus);
    }
  }
}

*[data-focus] {
  border: 2px solid transparent;
  &:focus {
    border: 2px solid var(--color-data-focus);
  }
}

*[data-focus-within] {
  border: 2px solid transparent;
  &:focus-within {
    border: 2px solid var(--color-data-focus);
  }

  &[data-focus-within="bold"] {
    border-color: var(--color-data-focus-bold);
    &:focus-within {
      border: 2px solid var(--color-data-focus);
    }
  }
}

code {
  color: rgba(255, 255, 255, 0.8);
}

.tok-bool {
  color: var(--color-teal-300);
}
.tok-comment {
  color: var(--color-slate-500);
}
.tok-definition {
}
.tok-local {
}
.tok-keyword {
  color: var(--color-pink-400);
}
.tok-meta {
}
.tok-number {
  color: var(--color-teal-300);
}
.tok-operator {
  color: var(--color-slate-400);
}
.tok-labelName,
.tok-propertyName {
  color: var(--color-sky-300);
}
.tok-punctuation {
  color: var(--color-slate-400);
}
.tok-string {
  color: var(--color-teal-300);
}
.tok-string2 {
  color: var(--color-sky-300);
}
.tok-typeName {
  color: var(--color-pink-400);
}
.tok-variableName:not(.tok-definition) {
}
.tok-variableName2 {
}
