/* Compact single-line study audio player. */
.as-study-audio{
  margin:0 0 18px;
  padding:7px 9px;
  border:1px solid var(--ds-border);
  border-radius:12px;
  background:var(--ds-surface);
  color:var(--ds-text);
  box-shadow:0 3px 14px rgba(15,23,42,.06);
}
.as-study-audio__top{display:block;min-width:0}
.as-study-audio__title{display:none!important}
.as-study-audio__controls{
  display:flex;
  align-items:center;
  gap:6px;
  width:100%;
  min-width:0;
  flex-wrap:nowrap;
}
.as-study-audio button,
.as-study-audio select{
  min-height:34px;
  height:34px;
  border:1px solid var(--ds-border);
  border-radius:9px;
  background:var(--ds-surface);
  color:var(--ds-text);
  font:700 .78rem/1 system-ui,sans-serif;
}
.as-study-audio button{
  flex:0 0 34px;
  width:34px;
  min-width:34px;
  padding:0;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
}
.as-study-audio [data-audio-back],
.as-study-audio [data-audio-forward]{
  flex-basis:42px;
  width:42px;
  min-width:42px;
  font-size:.72rem;
}
.as-study-audio [data-audio-play]{
  background:var(--ds-primary);
  border-color:var(--ds-primary);
  color:var(--ds-on-primary);
  font-size:.88rem;
}
.as-study-audio [data-audio-stop]{font-size:.72rem}
.as-study-audio [data-audio-pause]{display:none!important}
.as-study-audio button:disabled{cursor:default;opacity:.45}

.as-study-audio__progress{
  position:relative;
  flex:1 1 auto;
  min-width:72px;
  height:5px;
  margin:0 2px;
  background:var(--ds-border);
  border-radius:999px;
  cursor:pointer;
  touch-action:none;
  outline:none;
}
.as-study-audio__progress>span{
  position:relative;
  display:block;
  height:100%;
  width:0;
  background:var(--ds-primary);
  border-radius:999px;
}
.as-study-audio__progress>span::after{
  content:"";
  position:absolute;
  right:-5px;
  top:50%;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--ds-primary);
  border:2px solid var(--ds-surface);
  transform:translateY(-50%);
}
.as-study-audio__progress:focus-visible{
  outline:3px solid color-mix(in srgb,var(--ds-primary) 30%,transparent);
  outline-offset:5px;
}
.as-study-audio__speed{
  flex:0 0 auto;
  min-width:0;
}
.as-study-audio__speed select{
  width:58px;
  min-width:58px;
  padding:0 5px;
}
.as-study-audio__bottom{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.as-study-audio__voice{display:none!important}

.as-study-audio--floating{
  position:fixed;
  left:50%;
  bottom:calc(var(--as-bottom-offset,0px) + env(safe-area-inset-bottom) + 7px);
  transform:translateX(-50%);
  width:min(720px,calc(100vw - 14px));
  z-index:1250;
  margin:0;
  padding:7px 8px;
  background:var(--ds-surface);
  border-color:var(--ds-border);
  box-shadow:0 8px 28px rgba(15,23,42,.18);
}
body.as-study-audio-active{
  padding-bottom:calc(var(--as-bottom-offset,0px) + env(safe-area-inset-bottom) + var(--as-audio-dock-height,58px));
}

@media(max-width:47.999rem){
  .as-study-audio{padding:6px 7px;border-radius:10px}
  .as-study-audio__controls{gap:4px}
  .as-study-audio button{
    flex-basis:32px;
    width:32px;
    min-width:32px;
    height:32px;
    min-height:32px;
  }
  .as-study-audio [data-audio-back],
  .as-study-audio [data-audio-forward]{
    flex-basis:39px;
    width:39px;
    min-width:39px;
    font-size:.67rem;
  }
  .as-study-audio__progress{min-width:58px}
  .as-study-audio__speed select{
    width:52px;
    min-width:52px;
    height:32px;
    min-height:32px;
    padding:0 3px;
    font-size:.72rem;
  }
  .as-study-audio--floating{
    width:calc(100vw - 10px);
    bottom:calc(var(--as-bottom-offset,0px) + env(safe-area-inset-bottom) + 5px);
    padding:6px;
  }
}
@media(max-width:360px){
  .as-study-audio__controls{gap:3px}
  .as-study-audio button{flex-basis:30px;width:30px;min-width:30px}
  .as-study-audio [data-audio-back],
  .as-study-audio [data-audio-forward]{flex-basis:37px;width:37px;min-width:37px}
  .as-study-audio__speed select{width:48px;min-width:48px}
  .as-study-audio__progress{min-width:46px}
}
@media print{.as-study-audio,.as-audio-spacer{display:none!important}}


@media(max-width:340px){
  .as-study-audio__speed{display:none!important}
  .as-study-audio__progress{min-width:40px}
}
