/* ═══ Floating chapter-one audio player ═══ */
.listen-btn{cursor:pointer}

#lp{position:fixed;z-index:9000;left:auto;right:22px;bottom:22px;width:330px;min-width:250px;max-width:min(94vw,560px);
  min-height:0;height:auto;max-height:min(70vh,420px);padding:0;margin:0;display:none;flex-direction:column;
  background:rgba(6,10,13,.94);border:1px solid var(--line,rgba(98,255,77,.16));
  box-shadow:0 18px 60px rgba(0,0,0,.66),0 0 0 1px rgba(0,0,0,.4);
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
  font-family:var(--mono,ui-monospace,Menlo,monospace);color:var(--ink,#d3ded8);
  resize:both;overflow:hidden}
#lp.open{display:flex}
#lp.min{height:auto!important;min-height:0;max-height:none;resize:none}
#lp.min .lp-body{display:none}
#lp.drag{user-select:none}

.lp-bar{display:flex;align-items:center;gap:10px;padding:9px 10px 9px 12px;cursor:grab;
  border-bottom:1px solid var(--line-soft,rgba(120,150,135,.13));background:rgba(4,7,10,.7);flex:none}
.lp-bar:active{cursor:grabbing}
#lp.min .lp-bar{border-bottom:0}
.lp-dot{width:6px;height:6px;flex:none;border-radius:50%;background:var(--green,#62ff4d);
  box-shadow:0 0 8px var(--green-glow,rgba(98,255,77,.35))}
.lp-dot.playing{animation:lpPulse 1.6s ease-in-out infinite}
@keyframes lpPulse{0%,100%{opacity:1}50%{opacity:.25}}
.lp-ttl{flex:1;min-width:0;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--faint,#5f7169);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-x{flex:none;width:22px;height:22px;display:grid;place-items:center;cursor:pointer;
  background:transparent;border:1px solid transparent;color:var(--faint,#5f7169);
  font-family:inherit;font-size:12px;line-height:1;padding:0;transition:.15s}
.lp-x:hover{color:var(--green,#62ff4d);border-color:var(--line,rgba(98,255,77,.16))}
.lp-x:focus-visible{outline:1px solid var(--green,#62ff4d);outline-offset:1px}

.lp-body{padding:13px 13px 15px;display:flex;flex-direction:column;gap:11px;flex:1;min-height:0;overflow:auto}
.lp-head{font-family:var(--display,Oswald,Impact,sans-serif);text-transform:uppercase;
  font-size:15px;letter-spacing:.03em;color:#fff;line-height:1.15}
.lp-sub{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--faint,#5f7169)}

.lp-row{display:flex;align-items:center;gap:11px}
.lp-play{flex:none;width:42px;height:42px;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;padding:0;
  background:rgba(98,255,77,.09);border:1px solid var(--green,#62ff4d);color:var(--green,#62ff4d);
  transition:.18s}
.lp-play:hover{background:rgba(98,255,77,.18);box-shadow:0 0 20px var(--green-glow,rgba(98,255,77,.35))}
.lp-play:focus-visible{outline:2px solid var(--green,#62ff4d);outline-offset:2px}
.lp-play svg{width:15px;height:15px;fill:currentColor;pointer-events:none}

.lp-seek{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.lp-track{position:relative;height:20px;display:flex;align-items:center;cursor:pointer;touch-action:none}
.lp-track::before{content:'';position:absolute;left:0;right:0;height:2px;background:rgba(120,150,135,.24)}
.lp-fill{position:absolute;left:0;height:2px;width:0;background:var(--green,#62ff4d);
  box-shadow:0 0 9px var(--green-glow,rgba(98,255,77,.35))}
.lp-knob{position:absolute;left:0;width:9px;height:9px;border-radius:50%;background:var(--green,#62ff4d);
  transform:translateX(-4.5px);box-shadow:0 0 9px var(--green-glow,rgba(98,255,77,.35))}
.lp-time{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;color:var(--faint,#5f7169)}

.lp-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lp-mini{background:transparent;border:0;padding:0;cursor:pointer;font-family:inherit;
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint,#5f7169);transition:.15s}
.lp-mini:hover{color:var(--green,#62ff4d)}
.lp-mini:focus-visible{outline:1px solid var(--green,#62ff4d);outline-offset:2px}
.lp-rate{margin-left:auto;display:flex;gap:5px}
.lp-rate button{background:transparent;border:1px solid var(--line-soft,rgba(120,150,135,.13));
  color:var(--faint,#5f7169);font-family:inherit;font-size:9.5px;letter-spacing:.06em;
  padding:3px 6px;cursor:pointer;transition:.15s}
.lp-rate button:hover{color:var(--green,#62ff4d);border-color:var(--line,rgba(98,255,77,.16))}
.lp-rate button[aria-pressed="true"]{color:var(--green,#62ff4d);border-color:var(--green,#62ff4d)}

.lp-grip{position:absolute;right:2px;bottom:2px;width:12px;height:12px;pointer-events:none;opacity:.5}
.lp-grip::after{content:'';position:absolute;right:2px;bottom:2px;width:7px;height:7px;
  border-right:1px solid var(--green-dim,#2b9a3c);border-bottom:1px solid var(--green-dim,#2b9a3c)}
#lp.min .lp-grip{display:none}

@media (max-width:640px){
  #lp{right:10px;left:10px;bottom:10px;width:auto;max-width:none;resize:none}
  .lp-grip{display:none}
}
@media (prefers-reduced-motion:reduce){
  .lp-dot.playing{animation:none}
  #lp,.lp-play,.lp-x{transition:none}
}
