@font-face{font-family:OpenDyslexic;src:url(/fonts/opendyslexic/OpenDyslexic-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}.listen-player,.listen-player *{box-sizing:border-box;margin:0;padding:0}.listen-player{--bg: #0a0a0f;--bg2: #14141e;--surface: rgba(255,255,255,.05);--surface-hover: rgba(255,255,255,.09);--border: rgba(255,255,255,.07);--text: rgba(255,255,255,.9);--text-dim: rgba(255,255,255,.55);--text-muted: rgba(255,255,255,.35);--accent: #7c8aff;--accent-glow: rgba(124,138,255,.12);--radius: 14px;--font: var(--user-font, "Merriweather", serif);width:100%;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}.listen-player .app{display:flex;flex-direction:column;height:100dvh;max-width:480px;margin:0 auto;padding:0 28px;position:relative}.listen-player .header{display:flex;align-items:center;justify-content:space-between;padding:18px 0 10px;flex-shrink:0}.listen-player .header-title{font-size:13px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.listen-player .header-home{color:var(--text-dim);text-decoration:none;font-size:13px;transition:color .2s}.listen-player .header-home:hover{color:var(--text)}.listen-player .now-playing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .25s,transform .25s}.listen-player .now-playing.hidden{opacity:0;pointer-events:none;position:absolute;transform:scale(.97)}.listen-player .np-label{font-size:30px;font-weight:400;letter-spacing:-.01em;color:var(--text);margin-bottom:36px;text-align:center;line-height:1.3}.listen-player .np-book,.listen-player .np-ch{cursor:pointer;transition:color .2s;border-bottom:1px solid transparent}.listen-player .np-book:hover,.listen-player .np-ch:hover{color:var(--accent);border-bottom-color:var(--accent)}.listen-player .play-ring{position:relative;width:140px;height:140px;margin-bottom:24px;cursor:pointer}.listen-player .play-ring svg.ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.listen-player .play-ring .ring-bg{fill:none;stroke:#ffffff0f;stroke-width:2}.listen-player .play-ring .ring-progress{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;transition:stroke-dashoffset .3s ease}.listen-player .play-ring .play-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.listen-player .play-ring .play-icon svg{width:48px;height:48px;transform:none;fill:var(--text);transition:transform .15s ease}.listen-player .play-ring .play-icon .icon-play{margin-left:4px}.listen-player .play-ring:hover .play-icon svg{transform:scale(1.08)}.listen-player .play-ring:active .play-icon svg{transform:scale(.95)}.listen-player .rw-btn{background:none;border:none;color:var(--text-dim);padding:6px;cursor:pointer;transition:color .2s;display:flex;align-items:center;justify-content:center;border-radius:10px}.listen-player .rw-btn:hover{color:var(--text);background:var(--surface)}.listen-player .times{display:flex;align-items:baseline;justify-content:center;gap:8px;width:100%;font-variant-numeric:tabular-nums;margin-bottom:24px}.listen-player .time-pair{display:flex;align-items:baseline;gap:8px}.listen-player .time-sep{width:24px;height:1px;background:#ffffff1f;align-self:center}.listen-player .time-ch{font-size:16px;color:var(--text);font-weight:400}.listen-player .time-bk{font-size:12px;color:var(--text-muted);font-weight:400}.listen-player .controls{display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:44px}.listen-player .ctrl-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:10px;border-radius:10px;transition:all .2s;display:flex;align-items:center;justify-content:center}.listen-player .ctrl-btn:hover{color:var(--text);background:var(--surface)}.listen-player .ctrl-btn svg{width:26px;height:26px;fill:currentColor}.listen-player .ctrl-speed{font-size:13px;font-weight:500;min-width:44px;text-align:center;color:var(--text-dim);background:none;border:1px solid var(--border);border-radius:8px;padding:5px 10px;cursor:pointer;transition:all .2s;font-family:var(--font)}.listen-player .ctrl-speed:hover{color:var(--text);border-color:#ffffff2e}.listen-player .ctrl-sleep,.listen-player .ctrl-repeat{font-size:13px;font-weight:500;min-width:44px;text-align:center;color:var(--text-dim);background:none;border:1px solid var(--border);border-radius:8px;padding:5px 10px;cursor:pointer;transition:all .2s;font-family:var(--font);text-transform:capitalize}.listen-player .ctrl-sleep:hover,.listen-player .ctrl-repeat:hover{color:var(--text);border-color:#ffffff2e}.listen-player .ctrl-sleep.active,.listen-player .ctrl-repeat.active{color:var(--accent);border-color:var(--accent)}.listen-player .speed-section{margin-bottom:20px}.listen-player .speed-row{display:flex;align-items:center;justify-content:center;gap:10px}.listen-player .ramp-btn{font-size:13px;font-weight:500;min-width:44px;text-align:center;color:var(--text-dim);background:none;border:1px solid var(--border);border-radius:8px;padding:5px 10px;cursor:pointer;transition:all .2s;font-family:var(--font)}.listen-player .ramp-btn:hover{color:var(--text);border-color:#ffffff2e}.listen-player .ramp-btn.active{color:var(--accent);border-color:var(--accent)}.listen-player .ramp-config{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-family:var(--font);padding-top:12px;transition:opacity .15s ease;opacity:1}.listen-player .ramp-config.hidden{opacity:0;pointer-events:none}.listen-player .ramp-cycle{color:var(--text-dim);background:none;border:1px solid var(--border);border-radius:8px;padding:4px 10px;cursor:pointer;font-family:var(--font);font-size:12px;transition:all .2s;white-space:nowrap}.listen-player .ramp-cycle:hover{color:var(--text);border-color:#fff3}.listen-player .ramp-arrow{color:var(--text-muted);font-size:11px}.listen-player .ramp-sep{color:var(--text-muted);font-size:11px;margin:0 2px}.listen-player .ramp-start-btn{color:var(--text-muted);background:none;border:1px solid transparent;border-radius:8px;padding:4px 12px;cursor:pointer;font-family:var(--font);font-size:12px;transition:all .2s;margin-left:4px}.listen-player .ramp-start-btn:hover{color:var(--text-dim);border-color:var(--border)}.listen-player .ramp-start-btn.active{color:var(--accent);border-color:var(--accent)}.listen-player .picker{position:absolute;inset:0;background:var(--bg);z-index:10;display:flex;flex-direction:column;transition:opacity .2s,transform .2s;padding:0 28px}.listen-player .picker.hidden{opacity:0;pointer-events:none;transform:translateY(10px)}.listen-player .picker-header{display:flex;align-items:center;justify-content:space-between;padding:18px 0 14px;flex-shrink:0}.listen-player .picker-title{font-size:16px;font-weight:400;color:var(--text)}.listen-player .picker-close{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:6px 0;font-size:14px;font-family:var(--font);transition:color .2s}.listen-player .picker-close:hover{color:var(--text)}.listen-player .picker-tabs{display:flex;gap:2px;background:var(--surface);border-radius:10px;padding:3px;margin-bottom:20px;flex-shrink:0}.listen-player .picker-tab{flex:1;background:none;border:none;color:var(--text-dim);font-size:13px;font-weight:400;padding:9px;border-radius:8px;cursor:pointer;transition:all .2s;font-family:var(--font)}.listen-player .picker-tab.active{background:var(--surface-hover);color:var(--text)}.listen-player .picker-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:32px}.listen-player .picker-scroll::-webkit-scrollbar{width:3px}.listen-player .picker-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.listen-player .cat-group{margin-bottom:28px}.listen-player .cat-label{display:block;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:10px}.listen-player .cat-books{line-height:2.4}.listen-player .book-item{display:inline-block;color:var(--text-dim);font-size:17px;font-weight:400;cursor:pointer;transition:color .15s;font-family:var(--font);white-space:nowrap;margin:0 18px 4px 0}.listen-player .book-item:hover{color:var(--text)}.listen-player .book-item.current{color:var(--accent)}.listen-player .book-progress{font-size:11px;color:var(--text-muted);margin-left:2px}.listen-player .ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;padding:8px 0 32px}.listen-player .ch-btn{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text-dim);font-size:14px;cursor:pointer;transition:all .15s;font-family:var(--font)}.listen-player .ch-btn:hover{background:var(--surface-hover);color:var(--text);border-color:#ffffff24}.listen-player .ch-btn.current{background:var(--accent-glow);color:var(--accent);border-color:var(--accent)}.listen-player .picker-back{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;padding:8px 0 14px;font-family:var(--font);transition:color .2s}.listen-player .picker-back:hover{color:var(--text)}.listen-player .picker-back svg{width:16px;height:16px;fill:currentColor}@media (max-width: 480px){.listen-player .app{padding:0 22px}.listen-player .np-label{font-size:26px}.listen-player .play-ring{width:120px;height:120px}}@media (min-height: 780px){.listen-player .np-label{font-size:34px;margin-bottom:44px}.listen-player .play-ring{width:160px;height:160px}}@media (min-width: 700px) and (min-height: 700px){.listen-player .app{max-width:680px;padding:0 48px}.listen-player .header{padding-top:22px}.listen-player .header-title,.listen-player .header-home{font-size:15px}.listen-player .np-label{font-size:48px;margin-bottom:56px}.listen-player .play-ring{width:220px;height:220px;margin-bottom:36px}.listen-player .play-ring .play-icon svg{width:72px;height:72px}.listen-player .controls{gap:50px;margin-bottom:56px}.listen-player .ctrl-btn svg,.listen-player .rw-btn svg{width:38px;height:38px}.listen-player .times{gap:12px;margin-bottom:34px}.listen-player .time-pair{gap:10px}.listen-player .time-sep{width:34px}.listen-player .time-ch{font-size:25px}.listen-player .time-bk{font-size:16px}.listen-player .speed-row{gap:16px}.listen-player .ctrl-speed,.listen-player .ramp-btn,.listen-player .ctrl-sleep,.listen-player .ctrl-repeat{font-size:20px;padding:8px 18px;border-radius:10px}.listen-player .ramp-config{gap:10px;padding-top:18px;font-size:16px}.listen-player .ramp-cycle,.listen-player .ramp-start-btn{font-size:17px;padding:7px 16px;border-radius:10px}.listen-player .ramp-arrow,.listen-player .ramp-sep{font-size:15px}}.listen-player[data-embedded=true],.listen-player[data-embedded=true] .app{min-height:100vh;height:100vh}
