/* Kyoto place view — adapted from the original 观声 Kyoto visual language. */
.place-view {
  color: rgba(220, 220, 210, 0.82);
  background: radial-gradient(ellipse at 50% 30%, #1a2a1a 0%, #0d0f0d 70%, #050505 100%);
}

.place-view::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url("/assets/kyoto-background.jpeg") center / cover no-repeat;
  opacity: 0.15;
  pointer-events: none;
}

.place-view::after {
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(5, 5, 5, 0.12), transparent 28%, rgba(5, 5, 5, 0.28) 72%, rgba(5, 5, 5, 0.72)),
    radial-gradient(circle at 50% 42%, transparent 0%, rgba(3, 7, 4, 0.22) 72%);
}

.place-view .bamboo-light {
  display: none;
}

.place-view .bamboo-grove {
  inset: 0;
  z-index: -1;
  opacity: 1;
  transform: none;
}

.place-view .bamboo-grove i {
  bottom: 0;
  width: 8px;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(50, 70, 40, 0.12) 50%, transparent 70%);
  box-shadow: none;
  transform: none;
}

.place-view .bamboo-grove i::after {
  display: none;
}

.place-view .bamboo-grove i:nth-child(1) { left: 15%; }
.place-view .bamboo-grove i:nth-child(2) { left: 35%; width: 6px; }
.place-view .bamboo-grove i:nth-child(3) { top: 15%; left: 60%; height: 85%; width: 10px; }
.place-view .bamboo-grove i:nth-child(4) { left: 80%; height: 90%; width: 5px; }
.place-view .bamboo-grove i:nth-child(n + 5) { display: none; }

.place-view .back-button {
  width: max-content;
  height: 2.5rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(160, 175, 150, 0.58);
  font-size: 0.76rem;
  letter-spacing: 0.1em;
  backdrop-filter: none;
  transition: color 0.35s ease;
}

.place-view .back-button::after {
  content: "世界地图";
  margin-left: 0.45rem;
}

.place-view .back-button:hover,
.place-view .back-button:focus-visible {
  color: rgba(210, 220, 200, 0.9);
}

.place-view .place-copy {
  align-self: center;
  justify-self: center;
  margin: 0;
  padding: 1.25rem;
  text-align: center;
}

.place-view .place-copy .eyebrow {
  margin: 0.85rem 0 1.7rem;
  color: rgba(160, 175, 150, 0.68);
  font-family: inherit;
  font-size: clamp(0.78rem, 3.3vw, 0.95rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: none;
}

.place-view .place-copy h2 {
  margin: 0;
  color: rgba(205, 214, 195, 0.92);
  font-size: clamp(2.4rem, 12vw, 3.6rem);
  font-weight: 400;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  text-shadow: none;
}

.place-view .place-poem {
  margin: 0;
  color: rgba(155, 170, 145, 0.56);
  font-size: clamp(0.76rem, 3.2vw, 0.9rem);
  line-height: 1.9;
  letter-spacing: 0.16em;
}

.place-view .player-panel {
  width: min(100%, 22rem);
  margin-inline: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.place-view .playback-status {
  margin-bottom: 0.8rem;
  color: rgba(145, 160, 135, 0.5);
  font-family: inherit;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
}

.place-view .player-actions {
  grid-template-columns: 1fr;
  gap: 0.7rem;
}

.place-view .play-button,
.place-view .music-button,
.place-view .timer-button {
  min-height: 3rem;
  border: 1px solid rgba(160, 180, 150, 0.3);
  border-radius: 2px;
  background: rgba(160, 180, 150, 0.025);
  color: rgba(205, 214, 195, 0.76);
  font-family: inherit;
  font-size: 0.76rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  transition: border-color 0.45s ease, color 0.45s ease, background 0.45s ease;
}

.place-view .master-volume-control {
  border-color: rgba(160, 180, 150, 0.3);
  background: rgba(160, 180, 150, 0.025);
  color: rgba(205, 214, 195, 0.76);
}

.place-view .play-button:hover,
.place-view .music-button:hover,
.place-view .timer-button:hover {
  border-color: rgba(160, 180, 150, 0.58);
  background: rgba(160, 180, 150, 0.06);
  color: rgba(225, 230, 215, 0.92);
}

.place-view .sound-switch[aria-checked="true"] {
  border-color: rgba(194, 207, 181, 0.72);
  background: rgba(160, 180, 150, 0.16);
  color: rgba(232, 235, 222, 0.96);
}

.place-view .timer-note {
  color: rgba(145, 160, 135, 0.5);
}

@media (max-height: 650px) {
  .place-view .place-copy .eyebrow { margin-bottom: 0.9rem; }
  .place-view .place-copy { transform: translateY(0.75rem); }
}
