/* Kept separate so Safari does not reuse the older listening-board styles. */
.listening-sign[hidden],
.number-sign[hidden] {
  display: none !important;
}

.number-sign {
  align-items: center;
  background:
    radial-gradient(circle at 13% 30%, rgb(255 255 255 / 38%) 0 2px, transparent 3px),
    linear-gradient(90deg, rgb(112 62 20 / 8%) 1px, transparent 1px) 0 0 / 24px 100%,
    linear-gradient(#fff0bd, #f4c266);
  border: 6px solid #9d5b25;
  border-radius: 21px 17px 24px 19px;
  box-shadow: inset 0 0 0 4px rgb(255 250 220 / 48%), 0 9px 0 #754018, 0 16px 28px rgb(78 47 19 / 22%);
  color: #5e2e0c;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: auto;
  max-width: 880px;
  min-height: 142px;
  padding: 0.55rem 1rem 0.8rem;
  position: relative;
  width: min(82%, 880px);
}

.number-sign::before,
.number-sign::after {
  background: #815023;
  border-radius: 999px;
  box-shadow: inset 0 0 0 3px rgb(255 255 255 / 18%);
  content: "";
  height: 22px;
  position: absolute;
  top: -15px;
  width: 22px;
}

.number-sign::before { left: 6%; }
.number-sign::after { right: 6%; }

.number-sign-kicker {
  background: #fff8df;
  border: 2px solid rgb(166 102 39 / 24%);
  border-radius: 999px;
  color: #8b501f;
  font-size: clamp(0.72rem, 1vw, 0.9rem);
  font-weight: 900;
  letter-spacing: 0.12em;
  padding: 0.2rem 0.8rem 0.3rem;
}

.picture-clue {
  align-items: center;
  background: rgb(255 255 255 / 78%);
  border: 3px solid rgb(166 102 39 / 18%);
  border-radius: 22px 17px 20px 16px;
  display: flex;
  font-size: clamp(2.1rem, 4.5vw, 4rem);
  justify-content: center;
  left: clamp(1rem, 7%, 4rem);
  line-height: 1;
  min-height: clamp(64px, 8vw, 92px);
  min-width: clamp(74px, 9vw, 112px);
  padding: 0.35rem 0.5rem 0.48rem;
  position: absolute;
  top: 50%;
  transform: translateY(-43%) rotate(-2deg);
}

.picture-hint-button {
  align-items: center;
  background: linear-gradient(145deg, #f8fff2, #dff1bf);
  border: 3px solid #4d8b45;
  border-radius: 22px 17px 20px 16px;
  box-shadow: inset 0 0 0 3px rgb(255 255 255 / 55%), 0 5px 0 #2d6537, 0 9px 16px rgb(57 96 49 / 20%);
  color: #265d36;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font-family: var(--round-font);
  justify-content: center;
  left: clamp(1rem, 7%, 4rem);
  min-height: clamp(70px, 8.5vw, 98px);
  min-width: clamp(82px, 9.5vw, 118px);
  padding: 0.35rem 0.55rem 0.48rem;
  position: absolute;
  top: 50%;
  transform: translateY(-47%) rotate(-2deg);
  transition: transform 150ms ease, box-shadow 150ms ease, filter 150ms ease;
}

.picture-hint-button[hidden] {
  display: none !important;
}

.picture-hint-button:hover {
  filter: brightness(1.04);
  transform: translateY(-49%) rotate(0deg) scale(1.03);
}

.picture-hint-button:active {
  box-shadow: inset 0 0 0 3px rgb(255 255 255 / 48%), 0 2px 0 #2d6537;
  transform: translateY(-43%) rotate(0deg) scale(.98);
}

.picture-hint-button:focus-visible {
  outline: 4px solid #2a6fb0;
  outline-offset: 4px;
}

.number-sign .picture-hint-button strong {
  font-size: clamp(1rem, 1.45vw, 1.35rem);
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0.18rem 0 0;
  text-shadow: none;
}

.number-sign .picture-hint-button small {
  color: #47714d;
  font-size: clamp(0.62rem, 0.8vw, 0.76rem);
  line-height: 1;
  margin-top: 0.28rem;
}

.picture-hint-icon {
  align-items: center;
  background: #f5c84c;
  border: 3px solid #fff8dc;
  border-radius: 50%;
  box-shadow: 0 2px 0 #c88e25;
  color: #73420f;
  display: flex;
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  font-weight: 950;
  height: clamp(28px, 2.5vw, 34px);
  justify-content: center;
  width: clamp(28px, 2.5vw, 34px);
}

.picture-clue[hidden] {
  display: none !important;
}

.picture-art {
  display: block;
  height: clamp(66px, 8vw, 92px);
  overflow: visible;
  width: clamp(78px, 10vw, 118px);
}

.picture-photo {
  background: #fffaf0;
  border-radius: 13px;
  object-fit: contain;
}

.number-sign strong {
  font-family: "PingFang SC", "Microsoft YaHei", var(--round-font);
  font-size: clamp(4.7rem, 8vw, 7.4rem);
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 0.95;
  margin: 0.1rem 0 0.16rem;
  text-shadow: 0 4px 0 rgb(255 255 255 / 48%);
}

.number-sign strong.is-compound {
  font-size: clamp(3.8rem, 6.7vw, 6rem);
}

.number-sign small {
  color: #7f4b22;
  font-size: clamp(0.76rem, 1.15vw, 0.98rem);
  font-weight: 800;
}

@media (max-width: 820px) and (orientation: portrait) {
  .number-sign {
    border-width: 4px;
    box-shadow: inset 0 0 0 3px rgb(255 250 220 / 48%), 0 6px 0 #754018, 0 10px 18px rgb(78 47 19 / 18%);
    min-height: 138px;
    padding: 0.45rem 0.8rem 0.65rem;
    width: 96%;
  }

  .number-sign strong {
    font-size: clamp(4.1rem, 21vw, 6rem);
  }

  .number-sign strong.is-compound {
    font-size: clamp(3rem, 15vw, 4.5rem);
  }

  .picture-clue {
    font-size: clamp(1.65rem, 8vw, 2.6rem);
    left: 0.6rem;
    min-height: 54px;
    min-width: 58px;
    padding: 0.25rem 0.35rem 0.35rem;
  }

  .picture-hint-button {
    border-width: 2px;
    left: 0.6rem;
    min-height: 58px;
    min-width: 66px;
    padding: 0.2rem 0.3rem 0.34rem;
  }

  .number-sign .picture-hint-button strong {
    font-size: 0.86rem;
  }

  .number-sign .picture-hint-button small {
    font-size: 0.55rem;
    margin-top: 0.2rem;
  }

  .picture-hint-icon {
    border-width: 2px;
    font-size: 0.9rem;
    height: 23px;
    width: 23px;
  }

  .picture-art {
    height: 54px;
    width: 62px;
  }
}

@media (max-height: 680px) and (orientation: landscape) {
  .number-sign {
    border-width: 4px;
    min-height: 96px;
    padding-block: 0.25rem 0.4rem;
  }

  .number-sign strong {
    font-size: 4rem;
  }

  .number-sign strong.is-compound {
    font-size: 3.2rem;
  }

  .picture-clue {
    font-size: 2rem;
    left: 1rem;
    min-height: 54px;
    min-width: 64px;
  }

  .picture-hint-button {
    left: 1rem;
    min-height: 58px;
    min-width: 70px;
    padding: 0.2rem 0.35rem 0.3rem;
  }

  .number-sign .picture-hint-button strong {
    font-size: 0.9rem;
  }

  .number-sign .picture-hint-button small {
    font-size: 0.55rem;
  }

  .picture-art {
    height: 54px;
    width: 64px;
  }
}
