@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation: auto;
    types: curtain;
  }
}

html:active-view-transition-type(curtain)::view-transition-old(root) {
  animation: curtain-out 1.4s ease forwards;
}

html:active-view-transition-type(curtain)::view-transition-new(root) {
  animation: curtain-in 1.4s ease forwards;
}

@keyframes curtain-out {
  from {
    clip-path: inset(0 0 0 0);
  }
}

@keyframes curtain-in {
  from {
    clip-path: inset(0 50% 0 50%);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}

@import url(https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap);

@property --p {
  syntax: "<percentage>";
  initial-value: 0%;
  inherits: false;
}
:root {
  --blue: #2c4c5c;
  --gray: #b8bfc1;
  --yellow: #f3e308;
  --lightBlue: #6c8494;
  --yellowGreen: #9cac54;
  --lightGreen: #97cd97;
  --hackerGreen: #70ffaf;
  --blue: #a7f0dd;
  --white: #f4fcfb;
  --black: #000000;

  /*Margins*/
  --margin-PC: 8rem;
  --margin-Tablet: 6rem;
  --margin-Phone: 4rem;
  /*Breakpoints*/
  --BreakL: 1328px;
  --BreakM: 900px;
  --BreakS: 600px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  font-family: "Slabo 13px", serif;
  font-style: normal;
}

#About {
  font-family: "Slabo 13px", serif;

  .Title-Heading {
    font-family: "Slabo 13px", serif;
  }
  .About-Subheading {
    border-bottom: 2px solid var(--yellow);
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    display: flex;
    width: calc(40% + 10px);
    margin: 0 auto;
    margin-top: var(--margin-Phone);
    justify-content: center;
  }

  .Stuff-About-Me {
    background-color: var(--blue);
    padding: 2rem;
    color: var(--yellow);
    width: 70%;
    margin: 0 auto;
    margin-top: var(--margin-Phone);
    font-size: 1.5rem;
  }

  p {
    font-weight: bold;
  }

  ul {
    list-style: none;
  }

  .About-List {
    margin-bottom: 2rem;

    li {
      padding: 0.5rem 0;
      border-bottom: 2px solid var(--gray);
    }
  }

  .Bookmark-List {
    list-style: square;
    .Bookmark-Item {
    }
  }
}

.Title-Heading {
  font-family: "Press Start 2P", system-ui;
  text-align: center;
  background-color: var(--blue);
  color: var(--yellow);
  transform: skew(14deg);
  width: 70%;
  margin: 0 auto;
  margin-top: var(--margin-Phone);
  font-size: 1.5rem;
  margin-bottom: var(--margin-Phone);

  @media (min-width: 900px) {
    margin-bottom: var(--margin-Tablet);
    font-size: 3.04rem;
    max-width: none;
  }
}

.Bookmark-List {
  .Bookmark-Item {
    margin-bottom: 0.5rem;
    a {
      border-image-source: linear-gradient(
        -45deg,
        #f3e308 var(--p),
        transparent 0%
      );
      border-image-width: 2px;
      border-image-slice: 1;
      border-image-outset: 5px;
      transition: --p 0.6s;
      &:hover {
        --p: 100%;
      }
    }
  }
}

#Gaming {
  margin-top: 4rem;
  margin: 0 2.5rem;
  font-family: "Press Start 2P", system-ui;

  .Gaming-Heading {
    margin: 2rem 0;
  }

  .Title-Heading {
    padding: 1rem;
  }

  .snes-list {
    font-family: "Press Start 2P", system-ui;
  }

  .Currently-Playing {
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
    margin: 0 auto;
    max-width: 90rem;
    @media (min-width: 962px) {
      grid-template-columns: 1fr 1fr 1fr;
    }

    .Gaming-Card {
      width: 40%;
      @media (min-width: 962px) {
        width: 100%;
      }

      .Gaming-Card-Image {
        height: 10rem;
        width: auto;

        @media (min-width: 962px) {
          height: 15rem;
          width: 15rem;
          aspect-ratio: 1;
        }
      }
    }
    .Gaming-Card:last-of-type {
      margin-bottom: 2rem;
    }
    .PC-Heading,
    .Switch-Heading,
    .Retro-Heading {
      margin-bottom: 1rem;
    }
  }

  .Beat-Games {
    margin-top: 4rem;
    margin: 0 auto;
    border-top: 4rem;
    margin-bottom: 4rem;
  }

  .Beat-Games-List {
    display: block;

    @media (min-width: 962px) {
      display: flex;
      gap: 4rem;
    }
  }
  .Beat-List-Item {
    display: block;
    img {
      height: 10rem;
      width: auto;
    }
    .Beat-Rating {
      color: #f2c019;
    }
  }
}

.fade {
  opacity: calc(0.25 + var(--live-visible) * 1.75);
  transition: opacity 0.5s ease-in-out;
}
