/* Пилотный компонент плеера «Лесная библиотека знаний».
   Подключается точечно: исходный <audio> и его URL остаются без изменений. */
.fs-audio-host { position: relative; }
.fs-audio-host .fs-audio-source {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.fs-audio-host .book-fragment-seek { display: none !important; }

.fs-audio-player {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 8px 10px;
  align-items: center;
  width: 100%;
  padding: 9px;
  border: 1px solid rgba(161, 123, 37, 0.34);
  border-radius: 12px;
  background: linear-gradient(145deg, #fffdf1, #f1e6bb);
  box-shadow: 0 7px 14px rgba(24, 54, 38, 0.16), inset 0 1px rgba(255, 255, 255, 0.9);
  color: #123c2a;
  font-family: var(--font, 'Oswald', sans-serif);
}
.fs-audio-player button {
  appearance: none;
  border: 1px solid rgba(232, 207, 115, 0.72);
  border-radius: 50%;
  background: linear-gradient(180deg, #175839, #0a3521);
  box-shadow: inset 0 1px rgba(255,255,255,.19), 0 3px 0 #062315, 0 6px 10px rgba(4, 23, 15, .22);
  color: #fff6ca;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}
.fs-audio-player button:hover { transform: translateY(-1px); filter: brightness(1.08); box-shadow: inset 0 1px rgba(255,255,255,.24), 0 5px 0 #062315, 0 10px 15px rgba(4,23,15,.25); }
.fs-audio-player button:active { transform: translateY(2px); box-shadow: inset 0 2px 5px rgba(0,0,0,.42), 0 1px 0 #062315; }
.fs-audio-player button:focus-visible,
.fs-audio-player input:focus-visible { outline: 3px solid #c49126; outline-offset: 3px; }
.fs-audio-play { width: 38px; height: 38px; font-size: 17px; line-height: 1; }
.fs-audio-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; align-items: center; }
.fs-audio-progress { grid-column: 1 / -1; width: 100%; }
.fs-audio-time { color: #31533d; font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fs-audio-volume { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 5px; align-items: center; width: 100%; }
.fs-audio-mute { width: 28px; height: 28px; font-size: 13px; }
.fs-audio-volume-range { min-width: 0; width: 100%; }
.fs-audio-player input[type='range'] {
  --fs-range-pct: 0%;
  appearance: none;
  height: 5px;
  border-radius: 99px;
  background: linear-gradient(90deg, #b88924 var(--fs-range-pct), rgba(17, 69, 43, .2) var(--fs-range-pct));
  cursor: pointer;
}
.fs-audio-player input[type='range']::-webkit-slider-thumb { appearance: none; width: 14px; height: 14px; border: 1px solid #856018; border-radius: 50%; background: #f6df8d; box-shadow: 0 2px 4px rgba(0,0,0,.26); }
.fs-audio-player input[type='range']::-moz-range-thumb { width: 12px; height: 12px; border: 1px solid #856018; border-radius: 50%; background: #f6df8d; box-shadow: 0 2px 4px rgba(0,0,0,.26); }
.fs-audio-status { grid-column: 1 / -1; color: #8b3f21; font-size: 12px; line-height: 1.25; }
.fs-audio-status:empty { display: none; }

@media (max-width: 520px) {
  .fs-audio-player { grid-template-columns: 36px minmax(0, 1fr); padding: 8px; gap: 7px 8px; }
  .fs-audio-play { width: 36px; height: 36px; }
  .fs-audio-volume { grid-template-columns: 27px minmax(0, 1fr); }
}
