body {
  background-image: url("./bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.embed-map {
  width: 100%;
  height: 400px;
  border: none;
  border-radius: 0.5rem;
}

.footer {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: var(--page-margin);
  backdrop-filter: blur(8px);
  border-radius: 1rem;
  border: 1px solid #EEEEFFCC;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: row;
  align-items: center;
  overflow: hidden;
  min-height: 4rem;

  .footer-button {
    flex-shrink: 0;
    appearance: none;
    background-color: #FFFFFFAA;
    text-decoration: none;
    outline: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0.5rem 1.5rem;
    gap: 0.25rem;
    transition: background-color 0.3s ease;
    color: var(--color-text);

    &:hover, &:focus {
      background-color: #FFFFFFDD;
    }

    span.icon {
      position: relative;
      width: 1.5rem;
      height: 1.5rem;
      font-size: 1.5rem;

      iconify-icon {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 1;
        transition: opacity 0.3s ease;

        &.hidden {
          opacity: 0;
        }
      }
    }

    span.label {
      font-size: 0.75rem;
      transition: font-weight 0.3s ease;
    }

    &.active, &.active:visited, &.active:hover, &.active:focus {
     color: var(--color-primary);

     span {
      font-weight: bold;
     }
    }
  }
}

.embed-game-frame {
  width: 100%;
  height: 410px;
  border: none;
}

#game {
  height: 0;
  transition: all 0.5s ease;
  overflow: hidden;
  padding-block: 0;
  opacity: 0;

  &.active {
    height: fit-content;
    padding-block: var(--page-margin);
    opacity: 1;
  }
}

body:not(:has(#game.active)) a[href="#game"] {
  display: none;
}

body:has(#game.active) #hint {
  display: none;
}

#hint {
  margin-top: 50vh;
  color: #FFFFFFAA;

  display: flex;
  align-items: center;
  gap: 0.5rem;

  iconify-icon {
    font-size: 1.25rem;
  }
}
