        @font-face {
            font-family: "TROUG___";
            src: url("https://netprophet.neocities.org/fonts/TROUG___.TTF") format("truetype");
        }
        
    body {
      margin: 0;
      height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      background: linear-gradient(to bottom, #9ecbff, #ffffff);
      font-family: 'Helvetica', serif;
      color: #2c2c2c;
      overflow: hidden;
    }
    
    .fade-container {
      opacity: 0;                  /* start hidden */
      transition: opacity 2s ease; /* smooth fade effect */
    }

    .fade-container.visible {
      opacity: 1;
    }

    .cloud-container {
      position: relative;
      background: white;
      border-radius: 50% 50% 40% 60% / 60% 40% 60% 40%;
      padding: 4rem 6rem;
      box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
      text-align: center;
      max-width: 900px;
      min-height: 500px;
    }

    /* Curved text containers */
    .character-name-top,
    .character-name-bottom {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
      height: 150px;
      z-index: 1;
      pointer-events: none;
      font-family: "TROUG___";
    }

    .character-name-top {
      top: -10px;
    }

    .character-name-bottom {
      bottom: -20px;
      transform: translateX(-50%) rotate(0deg);
    }

    svg text {
      font-size: 2.0rem;
      font-weight: bold;
      fill: rgba(251, 201, 1, 1);
      text-transform: uppercase;
      letter-spacing: 2px;
      text-shadow: #AA6C39 2px 0 10px;
    }

    .character-image {
      position: relative;
      z-index: 2;
      max-height: 400px;
      margin: 2rem auto;
      display: block;
      filter: drop-shadow(0 0 15px rgba(173, 216, 230, 0.8))
              drop-shadow(0 0 30px rgba(173, 216, 230, 0.5));
      transition: transform 0.3s ease, filter 0.3s ease;
    }

    .character-info {
      margin-top: 1rem;
      font-size: 1rem;
      z-index: 3;
      position: relative;
    }

    .info-field {
      margin: 0.5rem 0;
      background: rgba(240, 248, 255, 0.7);
      padding: 0.6rem 1.2rem;
      border-radius: 20px;
      display: inline-block;
      box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
    }

    .info-field a {
      text-decoration: none;
      color: #3b82f6;
      font-weight: bold;
      transition: color 0.3s ease;
    }

    .info-field a:hover {
      color: #1e40af;
    }

.floating-image {
  position: absolute;
  width: 70px;            /* adjust size */
  height: auto;
  opacity: 0;             /* start hidden */
  transition: opacity 2s ease, transform 1s ease;
  z-index: 1;             /* behind main image if needed */
}

.floating-image.visible {
  opacity: 1;
  transform: scale(1.1);  /* slight pop-in effect */
}