/* Chapter audio lives beside the reader controls, not inside the prose. */
body.reading-mode .reader-dock.has-audio{grid-template-columns:minmax(42px,1fr) minmax(52px,1fr) 32px minmax(70px,1.05fr) 32px minmax(42px,1fr) minmax(42px,1fr)}
body.reading-mode.reader-audio-open .reader-dock{transform:translateY(0);opacity:1}
.reader-audio-shell{position:fixed;z-index:1101;right:max(15px,env(safe-area-inset-right));bottom:calc(72px + env(safe-area-inset-bottom));width:min(290px,calc(100vw - 30px))}
.reader-audio-shell[hidden]{display:none!important}
.reader-audio-shell.panel-open{animation:archiveDropdownIn .22s cubic-bezier(.2,.75,.25,1) both;transform-origin:bottom right}
.reader-audio-shell.panel-closing{animation:archiveDropdownOut .16s ease both;transform-origin:bottom right;pointer-events:none}
.reader-audio-panel{position:relative;width:100%;max-height:calc(100dvh - 155px);overflow:visible;padding:20px;border:1px solid #bca26d75;border-radius:13px;background:#1b2e3b;box-shadow:0 20px 45px #000a;color:#ead8b5}
.reader-audio-panel button{font:inherit}
.reader-audio-close{position:absolute;z-index:2;top:-42px;right:2px;display:grid;place-items:center;width:34px;height:34px;padding:8px;border:1px solid #c1a56f88;border-radius:50%;background:#172936f2;color:#dfc693;box-shadow:0 8px 22px #0008;cursor:pointer}
.reader-audio-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.reader-audio-panel audio{display:none}
.reader-audio-seek{margin-top:5px}
#readerAudioSeek{display:block;width:100%;height:20px;margin:0;padding:0;appearance:none;-webkit-appearance:none;border:0;background:transparent;cursor:pointer;--audio-progress:0%}
#readerAudioSeek::-webkit-slider-runnable-track{height:4px;border-radius:6px;background:linear-gradient(to right,#d6b577 var(--audio-progress),#607384 var(--audio-progress))}
#readerAudioSeek::-moz-range-track{height:4px;border-radius:6px;background:linear-gradient(to right,#d6b577 var(--audio-progress),#607384 var(--audio-progress))}
#readerAudioSeek::-webkit-slider-thumb{width:15px;height:15px;margin-top:-5.5px;appearance:none;-webkit-appearance:none;border:2px solid #f5e0b6;border-radius:50%;background:#b4925d;box-shadow:0 0 0 4px #b4925d25}
#readerAudioSeek::-moz-range-thumb{width:12px;height:12px;border:2px solid #f5e0b6;border-radius:50%;background:#b4925d;box-shadow:0 0 0 4px #b4925d25}
.reader-audio-times{display:flex;justify-content:space-between;margin-top:2px;color:#a6b3bd;font:10px/1.4 'DM Sans',sans-serif;font-variant-numeric:tabular-nums}
.reader-audio-transport{display:flex;align-items:center;justify-content:center;gap:20px;margin:17px 0 22px}
.reader-audio-transport button{display:grid;place-items:center;width:43px;height:43px;padding:8px;border:1px solid transparent;border-radius:50%;background:transparent;color:#e0c695;cursor:pointer}
.reader-audio-transport button:hover,.reader-audio-close:hover{background:#c9ab7240;color:#fff1ca}
.reader-audio-transport button:disabled{opacity:.42;cursor:wait}
.reader-audio-transport svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.reader-audio-transport .reader-audio-skip{display:flex;flex-direction:column;gap:1px;width:52px;height:56px;padding:5px;border:0;border-radius:12px;background:transparent}
.reader-audio-skip svg{width:25px;height:25px}
.reader-audio-skip small{font:500 10px/1.2 'DM Sans',sans-serif;letter-spacing:.04em;opacity:.85}
.reader-audio-transport .reader-audio-play{width:64px;height:64px;border:1px solid #e8cc96a0;background:linear-gradient(150deg,#d4b679,#a98751);color:#142431;box-shadow:0 7px 22px #0005, inset 0 1px #fff6}
.reader-audio-transport .reader-audio-play:hover{background:linear-gradient(150deg,#eed49d,#ba985f);color:#10202c}
.reader-audio-play svg{width:29px;height:29px;stroke-width:2.2}
.reader-audio-play .audio-play-shape{fill:currentColor;stroke:none;margin:0}
.reader-audio-play .audio-pause-shape,.reader-audio-play.is-playing .audio-play-shape{display:none}
.reader-audio-play.is-playing .audio-pause-shape{display:block}
.reader-audio-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid #d7bb8538;color:#a5b4be;font:10px/1.3 'DM Sans',sans-serif}
.reader-audio-foot [role="status"]{min-width:0;white-space:normal}
.reader-audio-speed{position:relative;display:flex;align-items:center;gap:9px;flex:none;color:#c7ad80}
#readerAudioSpeedToggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:75px;min-height:34px;padding:6px 9px;border:1px solid #c7ad8070;border-radius:9px;background:#1b2f3c;color:#eddbb3;cursor:pointer}
#readerAudioSpeedToggle svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#readerAudioSpeedMenu{position:absolute;right:42px;bottom:calc(100% + 8px);z-index:2;width:112px;padding:5px;border:1px solid #bfa37575;border-radius:12px;background:#172b39;box-shadow:0 18px 35px #000a}
#readerAudioSpeedMenu[hidden]{display:none!important}
#readerAudioSpeedMenu button{display:block;width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#e8dfcd;text-align:left;cursor:pointer}
#readerAudioSpeedMenu button:hover,#readerAudioSpeedMenu button[aria-checked="true"]{background:#c5a56d30;color:#f3dcae}
.reader-audio-retry{margin-top:12px;padding:8px 11px;border:1px solid #c7ad8070;border-radius:8px;background:#c7ad8018;color:#eddbb3;cursor:pointer}
.reader-audio-panel :is(button,input):focus-visible,.reader-audio-close:focus-visible{outline:2px solid #efd498;outline-offset:3px}
@media(max-width:760px){body.reading-mode .reader-dock.has-audio{grid-template-columns:minmax(31px,1fr) minmax(40px,1fr) 27px minmax(53px,1.12fr) 27px minmax(34px,1fr) minmax(37px,1fr);gap:0}body.reading-mode .reader-dock.has-audio button{padding-inline:0}.reader-audio-transport{gap:16px;margin:14px 0 17px}}
@media(prefers-reduced-motion:reduce){.reader-audio-shell.panel-open,.reader-audio-shell.panel-closing{animation:none!important}.reader-audio-panel,.reader-audio-panel *{scroll-behavior:auto}}
