:root {
  --g1: rgba(61, 245, 167, 1);
  --g2: rgba(9, 111, 224, 1);
}

@keyframes background-pan {
  from {
    background-position: 0% center;
  }

  to {
    background-position: -200% center;
  }
}

body {
  animation: background-pan 10s linear infinite;
  background: linear-gradient(to right, var(--g1), var(--g2), var(--g1));
  background-size: 200%;
  height: 100vh;
  overflow: hidden;
  margin: 0px;
}

body.toggled {
  animation: none;
}

body.toggled > #title {
  opacity: 0;
}

body.toggled > #icon {
  opacity: 1;
}

body.toggled > #tiles > .tile:hover {
  opacity: 0.1 !important;
}

.centered {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

#tiles {
  height: calc(100vh - 1px);
  width: calc(100vw - 1px);
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns: repeat(var(--columns), 1fr);
  grid-template-rows: repeat(var(--rows), 1fr);
}

.tile {
  cursor: pointer;
  position: relative;
}

.tile:hover:before {
  background-color: rgb(30, 30, 30);
}

.tile:before {
  background-color: rgb(15, 15, 15);
  content: "";
  inset: 0.5px;
  position: absolute;
}

#title {
  color: white;
  font-family: "Rubik", sans-serif;
  font-size: 6vw;
  margin: 0px;
  pointer-events: none;
  transition: opacity 1200ms ease;
  width: 50vw;
  z-index: 3;
}

#title > .fancy {
  color: var(--g2);
  font-family: "Dancing Script", cursive;
  font-size: 1.5em;
  line-height: 0.9em;
}

#icon {
  color: rgba(255, 255, 255, 0.15);
  font-size: 80vmin;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1200ms ease;
  z-index: 1;
}

/* -- YouTube Link Styles -- */

body.menu-toggled > .meta-link > span {
  color: rgb(30, 30, 30);
}

#source-link {
  bottom: 60px;
}

#source-link > i {
  color: rgb(94, 106, 210);
}

#yt-link > i {
  color: rgb(239, 83, 80);
}

.meta-link {
  align-items: center;
  backdrop-filter: blur(3px);
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  bottom: 10px;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: inline-flex;
  gap: 5px;
  left: 10px;
  padding: 10px 20px;
  position: fixed;
  text-decoration: none;
  transition: background-color 400ms, border-color 400ms;
  z-index: 10000;
}

.meta-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.meta-link > i,
.meta-link > span {
  height: 20px;
  line-height: 20px;
}

.meta-link > span {
  color: white;
  font-family: "Rubik", sans-serif;
  transition: color 400ms;
}
