/* === Open letter optional soundscape (full track) === */
.letter-modal .letter-modal-dialog{
  overflow:visible;
}
.letter-sound-control{
  position:fixed;
  right:26px;
  bottom:26px;
  z-index:1305;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px 14px 10px 12px;
  border-radius:999px;
  border:1px solid rgba(181,154,116,.26);
  background:linear-gradient(135deg,rgba(255,253,248,.88),rgba(245,236,224,.72));
  color:#6e5d4b;
  box-shadow:0 16px 42px rgba(55,43,31,.14), inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(16px) saturate(1.08);
  -webkit-backdrop-filter:blur(16px) saturate(1.08);
  font-family:inherit;
  font-size:13px;
  letter-spacing:1.2px;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px) scale(.98);
  pointer-events:none;
  transition:opacity .34s ease, transform .38s cubic-bezier(.22,.61,.36,1), visibility .34s ease, box-shadow .28s ease;
}
.letter-sound-control.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.letter-sound-control:hover,
.letter-sound-control:focus-visible{
  outline:none;
  transform:translateY(-2px) scale(1);
  box-shadow:0 20px 48px rgba(55,43,31,.17), inset 0 1px 0 rgba(255,255,255,.86);
}
.letter-sound-control .sound-icon{
  width:24px;
  height:24px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#9c7a55;
  background:rgba(255,255,255,.52);
  box-shadow:inset 0 0 0 1px rgba(181,154,116,.22);
  font-size:13px;
}
.letter-sound-control .sound-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1px;
  line-height:1.15;
}
.letter-sound-control .sound-text b{
  font-weight:500;
  font-size:13px;
  letter-spacing:1.5px;
  color:#5e5042;
}
.letter-sound-control .sound-text small{
  font-size:10px;
  letter-spacing:1px;
  color:#9b8b78;
}
.letter-sound-control.is-playing .sound-icon{
  animation:letterSoundPulse 2.2s ease-in-out infinite;
}
.letter-sound-control.is-attached-modal{
  position:absolute;
  right:-96px;
  bottom:18px;
  z-index:5;
}
@keyframes letterSoundPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(176,138,89,.18), inset 0 0 0 1px rgba(181,154,116,.24);}
  50%{box-shadow:0 0 0 8px rgba(176,138,89,0), inset 0 0 0 1px rgba(181,154,116,.34);}
}
@media (max-width:1280px){
  .letter-sound-control.is-attached-modal{
    right:-74px;
  }
}
@media (max-width:980px){
  .letter-sound-control.is-attached-modal{
    right:14px;
    bottom:14px;
  }
}
@media (max-width:768px){
  .letter-sound-control{
    left:auto;
    right:14px;
    bottom:82px;
    padding:9px 12px 9px 10px;
    font-size:12px;
  }
  .letter-sound-control .sound-text b{font-size:12px;}
  .letter-sound-control .sound-text small{font-size:9px;}
  .letter-sound-control.is-attached-modal{
    position:fixed;
    right:16px;
    bottom:88px;
  }
}
