:root {
  --pfp-scale: scale(1.1);
}

* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
}

body {
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  font-family: consolas, system-ui, sans-serif;
  font-size: 16px;
  margin: 0 auto;
  max-width: 1200px;
  position: relative;

  &.xp {
    background-image: url("/Images/Windows98bg.jpg");
  }

  &.insane {
    background-image: url("/Images/Tank1.webp");
    background-size: 100% 100%;
  }

  &.frenzy {
    background-image: url("/Images/FeedingFrenzy.png");
    background-size: 100% 100%;
  }

  &.zelda {
    background-image: url("/Images/Ocarina.webp");
    background-size: 100% 100%;
  }

  &.luigi {
    background-image: url("/Images/LuigisMansion.png");
    background-size: 100% 100%;
  }

  &.minecraft {
    background-image: url("/Images/Minecraft.jpg");
    background-size: 100% 100%;
  }

  &.mario64 {
    background-image: url("/Images/Mario64.jpg");
    background-size: 100% 100%;
  }
}

header {
  width: 100%;
  display: inline-block;
}

#Welcome{
  text-align: center;
  font-size: 18px;
}

button, a {
  cursor: pointer;
}

main {
  display: grid;
  gap: 30px;
  grid-auto-rows: auto;
  grid-template-columns: repeat(3, 1fr);
  padding: 30px;
}

#mood {
  text-align:center;
  img{
    border-radius: 5px;
    border:solid 2px black;
    max-width:100%;
    min-height:30px;
  }
}

.mestuff {
  border: 3px solid #333;
  border-radius: 15px;
  padding: 20px;
  background-color: white;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);

  ul {
    margin:0px;
    margin-top:14px;
    padding:0px;
    font-size:18px;
  }

  ul li {
    list-style: none;
    display: flex;
    gap:10px;
    padding:3px;
    align-items:center;
    img{
      max-width:34px;
      max-height:34px;
    }
  }
}

.media, .resume {
  border: 3px solid #333;
  border-radius: 15px;
  padding:20px;
  background-color: white;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.resume {
  display: flex;
  justify-content: center;
  align-items: center;
}

footer {
  cursor: pointer;
}

/* Grid */

.mestuff {
  grid-column: 1;
  grid-row: 1 / 3;
}

.media {
  grid-column: 2 / 4;
  grid-row: 1;
}

.resume{
  grid-column: 2;
  grid-row: 2;
}

footer {
  grid-column: 1 / 4;
  grid-row: 3;
}

/*bottom box*/
.text-box {
  border: 3px solid #333;
  border-radius: 15px;
  padding: 20px;
  max-width: 1000px;
  margin: 20px auto;
  background-color: white;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* Button container box */
.button-box {
  border: 3px solid #333;
  border-radius: 15px;
  padding: 15px;
  max-width: 1000px;
  margin: 20px auto;
  background-color: white;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);

  display: flex;
  justify-content: center; /* center buttons horizontally */
  gap: 20px; /* space between buttons */
}

/* Buttons */
.btn {
  padding: 10px 20px;
  border: none;
  border-radius: 10px;
  background-color: #333;
  color: white;
  font-size: 16px;
  cursor: pointer;
}

/* Hover effect */
.btn:hover {
  background-color: #555;
}

/* Row layout */
.image-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; /* spreads them evenly */
  align-items: center;
  gap: 5px; /* space between items */
  padding: 25px;
}

.media-row{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 5px; /* space between items */
  justify-content: center;
  padding: 50px;
}

/* Each image + text block */
.item {
  border: none;
  background-color: transparent;
  font-size: 24px;
  text-align: center;
  outline: none;
  transition:all 0.5s ease-in-out;
  &:hover:nth-child(even) {
    transform: scale(1.2,1.2) rotate(5deg);
  }
  &:hover:nth-child(odd) {
    transform: scale(1.1,1.1) rotate(-5deg);
  }
}

/* Images */
.item img {
  width: auto;   /* adjust size as needed */
  height: 100px;
  border-radius: 10px; /* optional rounded images */
}
.pfp {
  position: relative;
  width: 150px;
  margin: 0 auto;
  height: 180px;
}

.professional {
  backface-visibility: hidden;
}

.professional, .unprofessional{
  height:150px;
  cursor:pointer;
  width:150px;
  position: absolute;
  border-radius:75px;
  border: solid 3px black;
  transition: all 0.3s ease-in-out;
  transform-style: preserve-3d;
  .flip &.professional {
    transform: rotateY(180deg);
    .pfp:hover & {
      transform: rotateY(180deg) var(--pfp-scale);
    }
  }
  .flip &.unprofessional {
    transform: rotateY(360deg);
    .pfp:hover & {
      transform: rotateY(360deg) var(--pfp-scale);
    }
  }
  .pfp:hover & {
    transform: var(--pfp-scale);
  }
}

.unprofessional{
  transform: rotateY(180deg);
  .pfp:hover & {
    transform: rotateY(180deg) var(--pfp-scale);
  }
}

/* Text under images */
.item p {
  margin-top: 10px;
  font-weight: bold;
}

.text-center {
  text-align: center;
}

@keyframes slide-up {
  from {
    opacity: 0;
    translate: 0 75px;
  }
}

dialog[open] {
  animation: slide-up 0.2s ease-in forwards;
  background-color: white;
  border-radius: 15px;
  height: 100vh;
  padding: 30px;
  width: 100vw;

  .close {
    border: solid 2px black;
    background-color: red;
    border-radius: 5px;
    color: white;
    position: fixed;
    top: 40px;
    right: 40px;

    transition: transform 0.3s ease-in-out;
    &:hover {
      transform: scale(1.1,1.1);
    }
  }
}

.logo {
  max-width: 100%;
}

.copyright{
  background-color:blue;
  color:white;
}

@media (max-width: 750px) {
  .image-row {
    justify-content: center;
  }

  main {
    grid-template-columns: repeat(1, 1fr);
  }

  .mestuff {
    grid-column: 1;
    grid-row: 1;
  }

  .media {
    grid-column: 1;
    grid-row: 2;
  }

  .resume{
    grid-column: 1;
    grid-row: 3;
  }

  footer {
    grid-column: 1;
    grid-row: 4;
  }
}
