/* Font from https://github.com/0xType/0xProto/ */
@font-face {
  font-family: "0xProto";
  src: url("/static/0xProto-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
:root {
  /* old ones */
  /* --tertiary-background: #6b5fa7; */
  /* --tertiary-background: #7c6cff; */
  /* --primary: #3ee0a8; */
  /* --secondary: #2cbf8a; */
  --primary-background: #0e1417;
  --secondary-background: #18212660;
  --accent-background: #187a5f;
  /* --primary: #5f5498;
  --secondary: #4f4586; */
  /* --primary: #4a416f;
  --secondary: #3d355e; */
  /* --primary: #5a4bb3;
  --secondary: #483b96; */
  --primary: #4d3fa3;
  --secondary: #3f3386;
  --primary2: #4d3fa3;
  --secondary2: #3f3386;
  /* Mouse coords changed by js */
  --mx: -1000px;
  --my: -1000px;
}

/* No support for white as im too lazy to add it rn */
/* @media (prefers-color-scheme: light) {
	:root {
		/*--primary-background: #ffffff;
		/*--secondary-background: #afafaf60;
	}
} */
html {
  background-color: var(--primary-background);
}

body {
  font-family: "0xProto";
  padding-top: 45px;
  background-color: transparent;
  color: var(--secondary);
}

:focus {
  outline: 2px solid currentColor;
}

/* Navigation bar */
nav {
  width: max-content;
  height: max-content;
  display: flex;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
  text-align: center;
  z-index: 1;
  top: 0;
}
nav .underline {
  position: absolute;
  bottom: 0;
  height: 3px;
  background: var(--secondary);
  border-radius: 2px;
  transition: 0.3s ease;
  pointer-events: none;
}
nav a {
  text-decoration: none;
  color: var(--secondary);
  padding: 10px 20px 3px 20px;
  position: relative;
  user-select: none;
  font-size: medium;
  transition: color 0.3s ease;
}
nav a.selected {
  color: var(--primary);
}
nav a.selected:nth-child(1) ~ .underline {
  left: 20px;
  width: 59px;
}
nav a.selected:nth-child(2) ~ .underline {
  left: 119px;
  width: 69px;
}
nav a.selected:nth-child(3) ~ .underline {
  left: 228px;
  width: 30px;
}
nav a:hover {
  cursor: pointer;
  color: var(--primary);
}
nav a:hover:nth-child(1) ~ .underline {
  left: 10px;
  width: 79px;
}
nav a:hover:nth-child(2) ~ .underline {
  left: 109px;
  width: 89px;
}
nav a:hover:nth-child(3) ~ .underline {
  left: 218px;
  width: 50px;
}

/* Background */
#background,
#background2 {
  z-index: -1;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: 15px 15px;
  pointer-events: none;
}

#background {
  background-image: radial-gradient(circle at 25% 25%, var(--accent-background) 2px, transparent 0), radial-gradient(circle at 75% 75%, var(--accent-background) 2px, transparent 0);
  mask-image: radial-gradient(circle 100px at var(--mx) var(--my), #000 0%, #000 40%, #00000020 100%);
}

#background2 {
  background-image: radial-gradient(circle at 25% 25%, var(--secondary-background) 2px, transparent 0), radial-gradient(circle at 75% 75%, var(--secondary-background) 2px, transparent 0);
  mask-image: radial-gradient(circle 100px at var(--mx) var(--my), #0000 0%, #0000 40%, #000000d0 100%);
}

/* Loader From Uiverse.io by barisdogansutcu, modified by me */
#loader {
  width: 5em;
  transform-origin: center;
  animation: rotate4 2s linear infinite;
  border-radius: 50%;
}
#loader circle {
  fill: none;
  stroke: var(--primary);
  stroke-width: 2;
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  stroke-linecap: round;
  animation: dash4 1.5s ease-in-out infinite;
}

@keyframes rotate4 {
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes dash4 {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dashoffset: -125px;
  }
}
/* Move animations */
.out {
  animation: out 0.3s ease;
}

.in {
  animation: in 0.3s ease;
}

@keyframes out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* New tab being added animation */
.tab-in {
  animation: tab-in 0.3s ease;
}

.tab-out {
  animation: tab-out 0.3s ease;
}

@keyframes tab-in {
  from {
    transform: translateY(-50px);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes tab-out {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50px);
  }
}