@import url('https://fonts.googleapis.com/css2?family=Cherry+Bomb+One&family=Indie+Flower&display=swap');
:root {
  --bg-pink: rgb(252, 193, 225);
  --bg-blue: rgb(140, 189, 218);
  --bg-lightblue: rgb(184, 208, 221);
  --bg-yellow: rgb(224, 247, 23);
  --accent-pink: rgb(250, 58, 116);
  --outline: rgb(197, 58, 125);
  --white: white;

  /*header and footer colors*/
  --clr-text: black;
  --clr-outline: var(--bg-pink);
  --clr-outline-accent: var(--bg-yellow);

  --font-handwriting: 'Indie Flower', cursive;
  --font-pumpkin: 'Cherry Bomb One', system-ui;
}

/* My Styles */
* {
  scrollbar-color: var(--bg-pink) white;
}

body {
  background-image:
    url(/assets/svgs/doodle-bg.svg),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 30px,
      var(--bg-lightblue) 30px,
      var(--bg-lightblue) 32px
    );

  background-size: 800px;
  color: black;
  font-family: var(--font-handwriting);
  margin-block: 0;
}

.body-wrapper {
  max-width: 800px;
  height: 100%;
  margin-inline: auto;
  padding-inline: 1rem;
}

.heading {
  container-type: inline-size;
}

h1,
h2 {
  font-family: var(--font-pumpkin);
}

.space {
  margin-top: 2rem;
}

h1 {
  font-family: var(--font-pumpkin);
  line-height: 0.8;
  width: 55cqi;
  color: var(--clr-text);
  font-size: clamp(3rem, 10cqi + 1rem, 10rem);
  text-shadow:
    0.01em 0.01em 0 var(--bg-yellow),
    0.04em 0.04em 0 var(--bg-yellow),
    -0.01em -0.01em 0 var(--bg-pink),
    -0.04em -0.04em 0 var(--bg-pink);
  text-transform: uppercase;
  paint-order: stroke;
  margin-top: 2rem;
  margin-bottom: 3rem;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.ed-smile {
  float: right;
  shape-outside: circle();
  width: 40cqi;
  margin: 1rem;
  margin-top: 2rem;
  rotate: 10deg;
  filter: drop-shadow(0.25em 0.25em 0px var(--bg-blue));
}

h2 {
  font-size: clamp(1.5rem, 4vw + 1rem, 3rem);
  text-shadow:
    0.01em 0.01em 0 var(--bg-pink),
    0.04em 0.04em 0 var(--bg-pink);
  text-transform: uppercase;
  line-height: 0.8;
  margin-bottom: 3rem;
}

.section-items-grid {
  --min-column-size: 350px;
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(var(--min-column-size), 100%), 1fr)
  );
  gap: 3rem;
  margin-bottom: 5rem;
}

p,
section {
  color: var(--clr-text);
  font-size: clamp(1.25rem, 1.5vw + 1rem, 2rem);
  font-weight: 800;
  text-shadow:
    1px 1px 0px var(--bg-blue),
    2px 2px 0px var(--bg-blue);
}

section {
  margin-top: 4rem;
}

section ul {
  list-style: none;
}

section li {
  padding-left: 1em;
  position: relative;
}

section li::before {
  content: '*';
  position: absolute;
  left: -1em;
  font-size: 1.5em;
}

section li:not(:first-child) {
  margin-top: 2rem;
}

section a {
  text-shadow: none;
  color: inherit;
  -webkit-text-stroke: 0.2em var(--bg-blue);
  paint-order: stroke;
  font-weight: 800;
  text-decoration: none;
}

section a:hover,
section a:focus-visible {
  color: var(--bg-pink);
}

.play-btn {
  border: none;
  color: inherit;
  -webkit-text-stroke: 0.2em var(--bg-blue);
  paint-order: stroke;
  font-weight: 800;
  background-color: transparent;
  padding: 0;
  display: inline;

  &:hover,
  &:focus-visible {
    color: var(--bg-pink);
  }

  &:active {
    -webkit-text-stroke-width: 0.3em;
  }
}

@keyframes bounce {
  0% {
    text-shadow:
      1px 1px 0px var(--bg-blue),
      2px 2px 0px var(--bg-blue);
  }

  20% {
    text-shadow:
      1px 1px 0px var(--bg-blue),
      2px 2px 0px var(--bg-blue),
      3px 3px 0px var(--bg-pink),
      4px 4px 0px var(--bg-pink),
      5px 5px 0px var(--bg-yellow),
      6px 6px 0px var(--bg-yellow),
      7px 7px 0px var(--bg-yellow),
      8px 8px 0px var(--bg-yellow);
  }

  40% {
    text-shadow:
      1px 1px 0px var(--bg-blue),
      2px 2px 0px var(--bg-blue);
  }

  60% {
    text-shadow:
      1px 1px 0px var(--bg-blue),
      2px 2px 0px var(--bg-blue),
      3px 3px 0px var(--bg-pink),
      4px 4px 0px var(--bg-pink),
      5px 5px 0px var(--bg-yellow),
      6px 6px 0px var(--bg-yellow);
  }

  65% {
    text-shadow:
      1px 1px 0px var(--bg-blue),
      2px 2px 0px var(--bg-blue);
  }

  70% {
    text-shadow:
      1px 1px 0px var(--bg-blue),
      2px 2px 0px var(--bg-blue),
      3px 3px 0px var(--bg-pink),
      4px 4px 0px var(--bg-pink),
      5px 5px 0px var(--bg-yellow),
      6px 6px 0px var(--bg-yellow);
  }

  100% {
    text-shadow:
      1px 1px 0px var(--bg-blue),
      2px 2px 0px var(--bg-blue);
  }
}

.madlib-span {
  opacity: 0;
  margin-left: 2rem;
  color: gray;
}

.madlib-span:not(.appear) {
  visibility: hidden;
}

@keyframes appear {
  to {
    opacity: 1;
  }
}

.appear {
  animation:
    appear 6000ms forwards ease-in,
    bounce 4000ms infinite ease-in;
}

.album-art {
  --photo-width: 100px;
  object-fit: cover;
  opacity: 0.9;
  width: var(--photo-width);
  height: var(--photo-width);
  margin-bottom: 1rem;
  box-shadow:
    -0.1em -0.1em 0em 0em var(--bg-pink),
    0.1em 0.1em 0em 0em var(--bg-yellow);
  margin-inline: auto;
}

.albums-anime a {
  text-decoration: none;
  color: inherit;
  -webkit-text-stroke: 0.2em var(--bg-blue);
  paint-order: stroke;
  font-size: 1.35rem;
  font-weight: 800;
  text-align: center;
  justify-self: center;
}

.albums-anime a:hover,
.albums-anime a:focus-visible {
  rotate: 5deg;

  color: var(--bg-pink);
}
