.player[data-v-e350f053]{position:fixed;bottom:0;left:0;right:0;height:80px;background:#111;border-top:1px solid #222;display:flex;align-items:center;gap:1rem;padding:0 1.5rem;z-index:50;-webkit-user-select:none;user-select:none}.player-left[data-v-e350f053]{display:flex;align-items:center;gap:.75rem;min-width:180px;flex-shrink:0}.player-thumb[data-v-e350f053]{width:48px;height:48px;border-radius:6px;object-fit:cover;flex-shrink:0}.player-thumb.placeholder[data-v-e350f053]{background:#2a2a2a}.player-meta[data-v-e350f053]{min-width:0}.player-title[data-v-e350f053]{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.player-sub[data-v-e350f053]{font-size:.75rem;color:#666}.player-center[data-v-e350f053]{flex:1;display:flex;flex-direction:column;gap:4px;max-width:600px;margin:0 auto}.player-controls[data-v-e350f053]{display:flex;align-items:center;justify-content:center;gap:.4rem}.ctrl-btn[data-v-e350f053]{background:none;border:none;color:#aaa;font-size:1rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px;transition:color .1s}.ctrl-btn[data-v-e350f053]:hover:not(:disabled){color:#fff}.ctrl-btn[data-v-e350f053]:disabled{opacity:.25;cursor:default}.play-btn[data-v-e350f053]{font-size:1.3rem;color:#fff}.seek-wrap[data-v-e350f053]{position:relative;height:4px;background:#2a2a2a;border-radius:2px;cursor:pointer;outline:none;transition:height .1s}.seek-wrap[data-v-e350f053]:hover,.seek-wrap.dragging[data-v-e350f053]{height:6px}.seek-fill[data-v-e350f053]{position:absolute;left:0;top:0;bottom:0;background:#fff;border-radius:2px;pointer-events:none}.seek-thumb[data-v-e350f053]{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#fff;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .1s}.seek-wrap:hover .seek-thumb[data-v-e350f053],.seek-wrap.dragging .seek-thumb[data-v-e350f053]{opacity:1}.player-times[data-v-e350f053]{display:flex;justify-content:space-between;font-size:.7rem;color:#555;font-variant-numeric:tabular-nums}.remaining[data-v-e350f053]{color:#444}.toasts[data-v-fec91145]{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:300;pointer-events:none}.toast[data-v-fec91145]{padding:.65rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;animation:slide-in-fec91145 .2s ease;max-width:320px}.toast-success[data-v-fec91145]{background:#166534;color:#bbf7d0}.toast-error[data-v-fec91145]{background:#7f1d1d;color:#fecaca}.toast-info[data-v-fec91145]{background:#1e3a5f;color:#bfdbfe}@keyframes slide-in-fec91145{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:#0f0f0f;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}nav[data-v-095884ae]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#1a1a1a;border-bottom:1px solid #2a2a2a}nav a[data-v-095884ae]{color:#666;font-weight:500;padding:.25rem .6rem;border-radius:6px;font-size:.9rem;transition:color .15s}nav a.active[data-v-095884ae],nav a[data-v-095884ae]:hover{color:#fff}.spacer[data-v-095884ae]{flex:1}.user-name[data-v-095884ae]{color:#444;font-size:.85rem}.logout[data-v-095884ae]{display:flex;align-items:center;background:none;border:1px solid #2a2a2a;color:#555;padding:.3rem;border-radius:6px;cursor:pointer}.logout[data-v-095884ae]:hover{color:#fff;border-color:#444}.content[data-v-095884ae]{min-height:calc(100vh - 48px)}.content.with-player[data-v-095884ae]{padding-bottom:80px}.login-page[data-v-af60d5e4]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f0f0f}.login-card[data-v-af60d5e4]{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:2rem 2.5rem;width:100%;max-width:360px;text-align:center}h1[data-v-af60d5e4]{font-size:2.5rem;font-weight:800;color:#fff;margin:0 0 .25rem;letter-spacing:-.05em}.subtitle[data-v-af60d5e4]{color:#666;margin:0 0 2rem;font-size:.9rem}input[data-v-af60d5e4]{width:100%;padding:.75rem 1rem;background:#0f0f0f;border:1px solid #333;border-radius:8px;color:#fff;font-size:1rem;outline:none;box-sizing:border-box}input[data-v-af60d5e4]:focus{border-color:#555}button[data-v-af60d5e4]{width:100%;margin-top:.75rem;padding:.75rem;background:#fff;color:#000;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}button[data-v-af60d5e4]:disabled{opacity:.4;cursor:not-allowed}.error[data-v-af60d5e4]{color:#f87171;font-size:.85rem;margin:.5rem 0 0}.confirm-dialog[data-v-88ac9bd3]{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:1.5rem;width:min(380px,calc(100vw - 2rem));color:#fff;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.confirm-dialog[data-v-88ac9bd3]::backdrop{background:#000000b3}h3[data-v-88ac9bd3]{font-size:1rem;font-weight:600;margin-bottom:.5rem}p[data-v-88ac9bd3]{color:#aaa;font-size:.9rem;line-height:1.5}.actions[data-v-88ac9bd3]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}.btn-cancel[data-v-88ac9bd3]{background:#2a2a2a;color:#aaa;border:none;padding:.5rem 1rem;border-radius:7px;cursor:pointer;font-size:.9rem}.btn-cancel[data-v-88ac9bd3]:hover{background:#333;color:#fff}.btn-confirm[data-v-88ac9bd3]{background:#fff;color:#000;border:none;padding:.5rem 1rem;border-radius:7px;cursor:pointer;font-size:.9rem;font-weight:600}.btn-confirm.danger[data-v-88ac9bd3]{background:#dc2626;color:#fff}.btn-confirm.danger[data-v-88ac9bd3]:hover{background:#b91c1c}.btn-confirm[data-v-88ac9bd3]:not(.danger):hover{background:#e5e5e5}.page[data-v-b68bd338]{max-width:800px;margin:0 auto;padding:1.5rem}.page-header[data-v-b68bd338]{margin-bottom:1.5rem}h2[data-v-b68bd338]{font-size:1.4rem;font-weight:700}.hint[data-v-b68bd338]{color:#555;text-align:center;padding:3rem 0}.hint a[data-v-b68bd338]{color:#888;text-decoration:underline}.error-msg[data-v-b68bd338]{color:#f87171}.books-list[data-v-b68bd338]{display:flex;flex-direction:column;gap:.75rem}.book-row[data-v-b68bd338]{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;padding:.75rem;display:flex;gap:.75rem;align-items:flex-start;transition:border-color .15s}.book-row.active[data-v-b68bd338]{border-color:#444}.row-cover-link[data-v-b68bd338]{flex-shrink:0;display:block}.row-cover[data-v-b68bd338]{width:64px;height:64px;border-radius:6px;object-fit:cover;display:block}.row-cover.placeholder[data-v-b68bd338]{background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.row-body[data-v-b68bd338]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.row-top[data-v-b68bd338]{display:flex;align-items:flex-start;gap:.5rem}.row-info[data-v-b68bd338]{flex:1;min-width:0;text-decoration:none;color:inherit}.row-info:hover .row-title[data-v-b68bd338]{color:#fff}.row-title[data-v-b68bd338]{font-weight:500;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .1s}.row-author[data-v-b68bd338]{color:#666;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.row-actions[data-v-b68bd338]{display:flex;gap:.35rem;flex-shrink:0}.btn-remove[data-v-b68bd338]{background:none;color:#444;border:1px solid #2a2a2a;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:.65rem;display:flex;align-items:center;justify-content:center}.btn-remove[data-v-b68bd338]:hover:not(:disabled){color:#f87171;border-color:#f87171}button[data-v-b68bd338]:disabled{opacity:.4;cursor:not-allowed}.progress-row[data-v-b68bd338]{display:flex;flex-direction:column;gap:3px}.progress-track[data-v-b68bd338]{height:3px;background:#2a2a2a;border-radius:2px;position:relative;overflow:hidden;width:100%}.progress-fill[data-v-b68bd338]{height:100%;background:#555;border-radius:2px;transition:width .3s}.book-row.active .progress-fill[data-v-b68bd338]{background:#fff}.progress-meta[data-v-b68bd338]{display:flex;justify-content:space-between;font-size:.72rem}.chapters-info[data-v-b68bd338],.remaining[data-v-b68bd338]{color:#444}.page[data-v-e544c078]{max-width:960px;margin:0 auto;padding:1.5rem}.page-header[data-v-e544c078]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}h2[data-v-e544c078]{font-size:1.4rem;font-weight:700}.btn-primary[data-v-e544c078]{display:flex;align-items:center;gap:.4rem;background:#fff;color:#000;border:none;padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem}.btn-primary[data-v-e544c078]:hover{background:#e5e5e5}.btn-primary[data-v-e544c078]:disabled{opacity:.4;cursor:not-allowed}.hint[data-v-e544c078]{color:#555;text-align:center;padding:3rem 0}.error[data-v-e544c078]{color:#f87171;font-size:.85rem}.books-grid[data-v-e544c078]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.book-card[data-v-e544c078]{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.book-cover[data-v-e544c078]{width:100%;aspect-ratio:1;object-fit:cover}.book-cover.placeholder[data-v-e544c078]{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);aspect-ratio:1}.book-info[data-v-e544c078]{padding:.75rem;flex:1}.book-info h3[data-v-e544c078]{font-size:.95rem;font-weight:600;margin-bottom:.25rem;line-height:1.3}.author[data-v-e544c078]{color:#888;font-size:.85rem}.meta[data-v-e544c078]{color:#555;font-size:.8rem;margin-top:.1rem}.stats[data-v-e544c078]{display:flex;flex-wrap:wrap;gap:.3rem .5rem;margin-top:.35rem}.stats span[data-v-e544c078]{font-size:.75rem;color:#555;background:#222;padding:1px 6px;border-radius:4px}.book-actions[data-v-e544c078]{padding:.5rem .75rem .75rem;display:flex;gap:.5rem}.btn-add[data-v-e544c078]{flex:1;display:flex;align-items:center;justify-content:center;gap:.3rem;background:#2a2a2a;color:#fff;border:none;padding:.4rem .5rem;border-radius:6px;cursor:pointer;font-size:.8rem}.btn-add[data-v-e544c078]:hover:not(:disabled){background:#333}.btn-delete[data-v-e544c078]{display:flex;align-items:center;justify-content:center;background:#3a1a1a;color:#f87171;border:none;padding:.4rem .6rem;border-radius:6px;cursor:pointer}.btn-delete[data-v-e544c078]:hover:not(:disabled){background:#4a1a1a}button[data-v-e544c078]:disabled{opacity:.5;cursor:not-allowed}.modal[data-v-e544c078]{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:1.5rem;width:min(420px,calc(100vw - 2rem));color:#fff;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.modal[data-v-e544c078]::backdrop{background:#000000b3}.modal h3[data-v-e544c078]{margin-bottom:1rem;font-size:1.1rem}.folder-drop[data-v-e544c078]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border:2px dashed #333;border-radius:8px;padding:1.5rem;cursor:pointer;margin-bottom:1rem;color:#888;font-size:.9rem;transition:border-color .15s}.folder-drop[data-v-e544c078]:hover{border-color:#555;color:#aaa}.folder-drop input[data-v-e544c078]{display:none}.folder-summary[data-v-e544c078]{display:flex;align-items:center;gap:.75rem;background:#0f0f0f;border-radius:8px;padding:.5rem .75rem;margin-bottom:.75rem}.cover-preview[data-v-e544c078]{width:48px;height:48px;border-radius:6px;object-fit:cover;flex-shrink:0}.cover-preview.placeholder[data-v-e544c078]{background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.folder-stats p[data-v-e544c078]{font-size:.9rem;color:#ccc;margin:0}.hint-small[data-v-e544c078]{color:#555!important;font-size:.8rem!important}.modal label[data-v-e544c078]{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-size:.85rem;color:#888}.modal input[type=text][data-v-e544c078]{background:#0f0f0f;border:1px solid #333;border-radius:6px;padding:.5rem .75rem;color:#fff;font-size:.95rem;outline:none}.modal input[type=text][data-v-e544c078]:focus{border-color:#555}.progress-wrap[data-v-e544c078]{height:4px;background:#2a2a2a;border-radius:2px;margin-bottom:.4rem;overflow:hidden}.progress-bar[data-v-e544c078]{height:100%;background:#fff;transition:width .15s ease}.progress-wrap.done .progress-bar[data-v-e544c078]{background:#4ade80}.progress-bar.indeterminate[data-v-e544c078]{width:40%!important;background:#888;animation:indeterminate-e544c078 1.2s ease-in-out infinite}@keyframes indeterminate-e544c078{0%{margin-left:-40%}to{margin-left:100%}}.progress-text[data-v-e544c078]{font-size:.8rem;color:#888;margin-bottom:.75rem}.progress-wrap.done+.progress-text[data-v-e544c078]{color:#4ade80}.upload-error[data-v-e544c078]{display:flex;align-items:center;gap:.4rem;background:#3a1a1a;color:#f87171;border-radius:6px;padding:.5rem .75rem;font-size:.85rem;margin-bottom:.75rem}.modal-actions[data-v-e544c078]{display:flex;gap:.75rem;margin-top:1rem;justify-content:flex-end}.modal-actions button[data-v-e544c078]{background:#2a2a2a;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.modal-actions .btn-primary[data-v-e544c078]{background:#fff;color:#000;font-weight:600}.page[data-v-56c0bac2]{max-width:720px;margin:0 auto;padding:1.5rem}.book-header[data-v-56c0bac2]{display:flex;gap:1.5rem;margin-bottom:2rem;align-items:flex-start}.cover[data-v-56c0bac2]{width:120px;height:120px;border-radius:10px;object-fit:cover;flex-shrink:0}.cover.placeholder[data-v-56c0bac2]{background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.book-info[data-v-56c0bac2]{flex:1;min-width:0}h1[data-v-56c0bac2]{font-size:1.4rem;font-weight:700;margin-bottom:.25rem}.author[data-v-56c0bac2]{color:#888;font-size:.9rem;margin-bottom:.1rem}.narrator[data-v-56c0bac2]{color:#555;font-size:.8rem;margin-bottom:.1rem}.meta[data-v-56c0bac2]{color:#444;font-size:.8rem;margin:.5rem 0}.book-actions[data-v-56c0bac2]{display:flex;align-items:center;gap:1rem;margin-top:.75rem}.btn-resume[data-v-56c0bac2]{display:flex;align-items:center;gap:.35rem;background:#fff;color:#000;border:none;border-radius:20px;padding:.4rem 1.1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .1s}.btn-resume[data-v-56c0bac2]:hover{opacity:.85}.btn-resume.playing[data-v-56c0bac2]{background:#2a2a2a;color:#fff}.back[data-v-56c0bac2]{display:flex;align-items:center;gap:.3rem;color:#555;font-size:.85rem;text-decoration:none}.back[data-v-56c0bac2]:hover{color:#fff}.hint[data-v-56c0bac2]{color:#555;text-align:center;padding:3rem 0}.err[data-v-56c0bac2]{color:#f87171}.chapters[data-v-56c0bac2]{display:flex;flex-direction:column;gap:2px}.chapter[data-v-56c0bac2]{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;width:100%;color:#888;transition:background .1s,color .1s}.chapter[data-v-56c0bac2]:hover{background:#1a1a1a;color:#ccc}.chapter.active[data-v-56c0bac2]{background:#1e1e1e;color:#fff}.ch-left[data-v-56c0bac2]{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.ch-num[data-v-56c0bac2]{width:2rem;text-align:right;font-size:.8rem;color:#444;flex-shrink:0;font-variant-numeric:tabular-nums}.ch-num.playing[data-v-56c0bac2]{color:#fff;font-size:.7rem}.chapter.active .ch-num[data-v-56c0bac2]{color:#aaa}.ch-info[data-v-56c0bac2]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ch-name[data-v-56c0bac2]{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-dur[data-v-56c0bac2]{font-size:.72rem;color:#555;font-variant-numeric:tabular-nums}.chapter.active .ch-dur[data-v-56c0bac2]{color:#666}.ch-progress-wrap[data-v-56c0bac2]{display:flex;align-items:center;gap:.5rem;width:120px;flex-shrink:0}.ch-progress-track[data-v-56c0bac2]{flex:1;height:3px;background:#2a2a2a;border-radius:2px;overflow:hidden}.ch-progress-fill[data-v-56c0bac2]{height:100%;background:#555;border-radius:2px;transition:width .3s}.ch-progress-fill.complete[data-v-56c0bac2]{background:#4ade80}.chapter.active .ch-progress-fill[data-v-56c0bac2]:not(.complete){background:#fff}.ch-remaining[data-v-56c0bac2]{font-size:.68rem;color:#444;font-variant-numeric:tabular-nums;flex-shrink:0}.ch-done[data-v-56c0bac2]{font-size:.7rem;color:#4ade80;flex-shrink:0}
