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

* {
    box-sizing: border-box;
  }

img {
  height: auto;
  max-width: 100%;
  display: inline-block;
}

.aboutimg {
  min-width: 50px;
  max-width: 250px;
  float: left;
  margin-right: 2rem;
  margin-bottom: 1rem;
}

p {
  margin-bottom: 2rem;
}

a {
  color:#2e103b;
}

h1 {
  font-family: 'Press Start 2P', monospace;
  font-size: .9rem;
  line-height: 1rem;
  text-transform: uppercase;
  margin: 4rem auto 2rem auto;
  display: block;
  text-align: center;
}

h2 {
  font-family: 'Press Start 2P', monospace;
  font-size: .75rem;
  line-height: .9rem;
  text-transform: uppercase;
  margin: 4rem auto 1rem auto;
  display: block;
  text-align: center;
}
  
body {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 1rem;
  margin: 0;
  padding: 0;
  background: linear-gradient(135deg, #e0a668, #6045aa);
  background-size: 200% 200%;
  animation: warmGlow 30s ease infinite;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}
  
@keyframes warmGlow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

  .desktop-container {
    position: relative;
    top: -5%;
    width: 100%;
    max-width: 1250px;
    aspect-ratio: 4 / 3;
  }

  .desktop-image {
    width: 100%;
    height: auto;
    display: block;
  }
  
  /* The screen part of the monitor – adjust these values to match your SVG screen */
  .screen-overlay {
    position: absolute;
    top: 35%;
    left: 18%;
    width: 43%;
    height: 32.5%;
    display: block;
    pointer-events: none;
    overflow: visible; /* allows popups to show */
  }
  
  
  /* Icons inside screen */
  .icon {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 80px;
    pointer-events: auto; /* make them clickable again */
    text-decoration: none;
    color: white;
  }
  
  .icon img {
    width: 48px;
    height: 48px;
  }
  
  .icon span {
    font-family: 'IBM Plex Mono', monospace;
    font-size: .75rem;
    letter-spacing: .1rem;
    margin-top: 4px;
    text-align: center;
  }

/* ------------------------------ */
/* Windows Styles */
/* ------------------------------ */

.window {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f9f6ff; /* soft lavender background */
    color: #2e103b;       /* deep eggplant text */
    border: 5px solid #000000;
    border-radius: 10px;
    box-shadow: 4px 4px 0 #00000033;
    display: none;
    flex-direction: column;
    font-family: 'Courier New', Courier, monospace;
    z-index: 2;
  }
  
  .window,
  .window * {
    pointer-events: auto;
  }
  
  .window-header {
    font-family: 'Press Start 2P', monospace;
    font-size: 0.7rem;
    text-transform: uppercase;
    background: #b99ed3; /* pastel purple header */
    color: #2e103b;
    border-radius: 5px 5px 0px 0px;
    padding: 0.5em;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .window-content {
    padding: 1em 2em;
    overflow-y: auto;
    border-radius: 0px 0px 8px 8px;
    background: linear-gradient(to bottom, #ffffff, #f2e5d7);
    flex: 1;
    font-size: 1rem;
    font-weight: bold;
  }
  
  .close-btn {
    font-family: 'Press Start 2P', monospace;
    background: none;
    border: none;
    color: #2e103b;
    font-size: 1.5em;
    font-weight: bolder;
    cursor: pointer;
  }
  
  .close-btn:hover {
    color: #eb199a; /* bright pastel magenta on hover */
  }

  /* Sunset Pink */
  .window.sunset {
    background: #fff0f5;
    border: 5px solid #000000; 
    box-shadow: 4px 4px 0 #00000033;
    color: #3c0027;
  }
  
  .window.sunset .window-header {
    background: #f99fe0;
    color: #3c0027;
  }
  
  .window.sunset .close-btn {
    color: #3c0027;
  }
  
  .window.sunset .close-btn:hover {
    color: #ff2e63;
  }
  
  /* Leafy Green*/
  .window.leafy {
    background: #f0fff4;
    border: 5px solid #000000; 
    box-shadow: 4px 4px 0 #00000033;
    color: #2e4c3a;
  }
  
  .window.leafy .window-header {
    background: #c6efd7;
    color: #2e4c3a;
  }
  
  .window.leafy .close-btn {
    color: #2e4c3a;
  }
  
  .window.leafy .close-btn:hover {
    color: #599d7c;
  }
  
  /*Golden Peach*/
  .window.peach {
    background: #fff8f0;
    border: 5px solid #000000; 
    box-shadow: 4px 4px 0 #00000033;
    color: #4a2c00;
  }
  
  .window.peach .window-header {
    background: #ffe0b2;
    color: #4a2c00;
  }
  
  .window.peach .close-btn {
    color: #4a2c00;
  }
  
  .window.peach .close-btn:hover {
    color: #c77d32;
  }
    
/* ------------------------------ */
/* Thumbnails */
/* ------------------------------ */
.thumb-row {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.thumb-row a {
  display: block;           /* makes spacing & alignment easier */
  max-width: 45%;
}

.thumb-row img.thumb {
  width: 100%;              /* image fills the link container */
  height: auto;
  display: block;
}

/* ------------------------------ */
/* Mobile Design */
/* ------------------------------ */

  @media (max-width: 768px) {
    body {
      overflow-x: hidden;
      }

    p {
      margin-bottom: 1rem;
     }

    .desktop-container {
      position: relative;
      top: -25%;
      left: 19%;
      transform: scale(1.8);
      transform-origin: center top;
    }

    .window {
      position: fixed;
      top: 10%;
      left: 14%;
      width: 50%;
      height: 80%;
      z-index: 99;
    }

    .window-content {
      font-size: .6rem;
    }

    .aboutimg {
      min-width: 50px;
      max-width: 100px;
      float: left;
      margin-right: .75rem;
      margin-bottom: .5rem;
    }

    .icon {
      width: 75px;
    }

    .icon img {
      width: 25px;
      height: 25px;
    }

    .icon span {
      font-size: .5rem;
      letter-spacing: .05rem;
      margin-top: 4px;
    }
      
    img.thumb {
      max-width: 100%;
    }

  }


  