.prefab-v2{--prefab-gap:20px;--prefab-left-width:480px;--prefab-right-width:560px;--prefab-settings-width:260px;--prefab-info-width:260px;display:grid;grid-template-columns:var(--prefab-left-width) var(--prefab-right-width);gap:var(--prefab-gap);max-width:1100px;margin:0 auto;padding:20px;justify-content:center}.prefab-main{width:var(--prefab-left-width);min-width:var(--prefab-left-width);max-width:var(--prefab-left-width);overflow:hidden}@media (max-width:1100px){.prefab-v2{grid-template-columns:1fr;--prefab-left-width:100%;--prefab-right-width:100%}.prefab-main{width:100%;min-width:100%;max-width:100%}}.prefab-right{display:grid;grid-template-columns:var(--prefab-settings-width) var(--prefab-info-width);gap:16px;align-content:start;justify-content:start}@media (max-width:1100px){.prefab-right{grid-template-columns:1fr 1fr}}@media (max-width:700px){.prefab-right{grid-template-columns:1fr}}.prefab-card{background:var(--bg-primary);border-radius:16px;border:1px solid var(--border-color);box-shadow:0 2px 4px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.02);overflow:hidden;transition:.3s cubic-bezier(.4, 0, .2, 1);margin-bottom:20px;width:100%;box-sizing:border-box}.prefab-card:last-child{margin-bottom:0}.prefab-card:hover{box-shadow:0 8px 16px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04)}.prefab-card__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-primary) 100%);border-bottom:1px solid var(--border-color)}.prefab-card__title{display:flex;align-items:center;gap:12px;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.prefab-card__title-icon{width:40px;height:40px;background:var(--primary-gradient);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;box-shadow:0 4px 12px rgba(74,107,255,.3)}.prefab-card__body{padding:24px}.prefab-card__actions{display:flex;align-items:center}.prefab-icon-btn{width:36px;height:36px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:.2s;font-size:.9375rem}.prefab-icon-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:scale(1.05)}.prefab-settings{display:flex;flex-direction:column}.prefab-settings__row{display:grid;grid-template-columns:3fr 1fr;gap:12px}@media (max-width:640px){.prefab-settings__row{grid-template-columns:1fr}}.prefab-select{width:100%;height:44px;padding:0 40px 0 16px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-primary);color:var(--text-primary);font-size:.9375rem;cursor:pointer;transition:.2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.prefab-select:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(74,107,255,.1)}.prefab-field__value{margin-left:auto;font-size:.875rem;color:var(--primary-color);font-weight:600}.prefab-slider{width:100%;height:6px;margin-top:12px;-webkit-appearance:none;appearance:none;background:var(--border-color);border-radius:3px;outline:0;cursor:pointer}.prefab-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;background:var(--primary-gradient);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px rgba(74,107,255,.4);transition:.2s}.prefab-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 12px rgba(74,107,255,.5)}.prefab-slider::-moz-range-thumb{width:24px;height:24px;background:var(--primary-gradient);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 8px rgba(74,107,255,.4)}.prefab-slider__hints{display:flex;justify-content:space-between;margin-top:6px;font-size:.75rem;color:var(--text-tertiary)}.prefab-slider__hints span:nth-child(2){opacity:0}.prefab-field{display:flex;flex-direction:column;gap:8px}.prefab-field__label{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.prefab-field__label i{color:var(--primary-color)}.prefab-input{height:44px;padding:0 16px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-primary);color:var(--text-primary);font-size:.9375rem;transition:.2s}.prefab-input:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(74,107,255,.1)}.prefab-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:16px}.prefab-book{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:.3s;padding:8px;border-radius:12px}.prefab-book:hover{transform:translateY(-4px);background:var(--bg-secondary)}.prefab-book__cover{position:relative;width:100%;aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-tertiary) 100%);box-shadow:0 4px 6px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.1);transition:.3s;display:flex;align-items:center;justify-content:center}.prefab-book:hover .prefab-book__cover{box-shadow:0 12px 24px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.05)}.prefab-book__cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.prefab-book:hover .prefab-book__cover img{transform:scale(1.05)}.prefab-book__cover i{font-size:2rem;color:var(--text-tertiary)}.prefab-book__cache-btn{position:absolute;bottom:6px;right:6px;width:28px;height:28px;background:var(--bg-primary);border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;opacity:0;transform:translateY(10px);transition:.3s;box-shadow:0 2px 8px rgba(0,0,0,.2);font-size:.75rem}.prefab-book:hover .prefab-book__cache-btn{opacity:1;transform:translateY(0)}.prefab-book__cache-btn:hover{background:var(--primary-color);color:#fff;transform:scale(1.1)}.prefab-book__cache-btn.caching{opacity:1;transform:translateY(0);background:var(--warning-color);color:#fff}.prefab-book__cache-btn.cached{opacity:0;transform:translateY(10px);background:var(--success-color);color:#fff}.prefab-book:hover .prefab-book__cache-btn.cached{opacity:1;transform:translateY(0)}.prefab-book__title{font-size:.8125rem;font-weight:600;color:var(--text-primary);text-align:center;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;min-height:2.2em;margin-top:10px}.prefab-book__meta{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:4px;font-size:.6875rem;color:var(--text-tertiary)}.prefab-chapters-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-radius:8px;margin-bottom:12px;font-size:.8125rem;color:var(--text-secondary)}.prefab-chapters-count strong{color:var(--primary-color);font-weight:700}.prefab-chapters{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;padding:4px;width:100%;min-width:0;box-sizing:border-box}.prefab-chapter{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-secondary);border-radius:10px;border:2px solid transparent;cursor:pointer;transition:.2s;width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.prefab-chapter:hover{background:var(--bg-primary);border-color:var(--primary-light)}.prefab-chapter.active{background:rgba(74,107,255,.1);border-color:var(--primary-color)}.prefab-chapter__checkbox{width:18px;height:18px;border:2px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.2s;background:var(--bg-primary)}.prefab-chapter__checkbox i{font-size:.625rem;color:#fff;opacity:0;transform:scale(0);transition:.2s}.prefab-chapter.active .prefab-chapter__checkbox{background:var(--primary-color);border-color:var(--primary-color)}.prefab-chapter.active .prefab-chapter__checkbox i{opacity:1;transform:scale(1)}.prefab-chapter__number{width:28px;height:28px;background:var(--bg-tertiary);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;color:var(--text-secondary);flex-shrink:0}.prefab-chapter.active .prefab-chapter__number{background:var(--primary-color);color:#fff}.prefab-chapter__number.prefetched{background:var(--success-color);color:#fff;cursor:pointer;transition:.2s}.prefab-chapter__number.prefetched:hover{background:var(--error-color);color:#fff;transform:scale(1.1)}.prefab-chapter__number.prefetched::after{content:'点击删除预制';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:var(--error-color);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:.2s;margin-bottom:4px;z-index:100}.prefab-chapter__number.prefetched:hover::after{opacity:1;visibility:visible}.prefab-chapter__title{flex:1;font-size:.875rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prefab-chapter__check{width:20px;height:20px;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.625rem;opacity:0;transform:scale(0);transition:.2s;flex-shrink:0}.prefab-chapter.active .prefab-chapter__check{opacity:1;transform:scale(1)}.prefab-settings-panel{background:var(--bg-primary);border-radius:16px;border:1px solid var(--border-color);padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.05);width:var(--prefab-settings-width);min-width:var(--prefab-settings-width);max-width:var(--prefab-settings-width);overflow:hidden;box-sizing:border-box}.prefab-panel-header{text-align:center;margin-bottom:20px}.prefab-panel-icon{width:48px;height:48px;margin:0 auto 10px;background:linear-gradient(135deg,rgba(74,107,255,.1) 0,rgba(107,127,255,.1) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:1.25rem}.prefab-panel-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.prefab-panel-subtitle{font-size:.75rem;color:var(--success-color);font-weight:500}.prefab-panel-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.prefab-panel-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.prefab-section-label{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.prefab-section-label i{color:var(--primary-color);font-size:.6875rem}.prefab-fields{display:flex;flex-direction:column;gap:12px}.prefab-field-row{display:flex;flex-direction:column;gap:4px}.prefab-field-label{display:flex;align-items:center;gap:5px;font-size:.75rem;font-weight:500;color:var(--text-secondary)}.prefab-field-label i{color:var(--primary-color);font-size:.8125rem}.prefab-field-value{margin-left:auto;font-size:.6875rem;color:var(--primary-color);font-weight:600}.prefab-field-select{width:100%;height:32px;padding:0 28px 0 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;cursor:pointer;transition:.2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.prefab-field-select:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(74,107,255,.1)}.prefab-field-slider{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:var(--border-color);border-radius:2px;outline:0;cursor:pointer}.prefab-field-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--primary-gradient);border-radius:50%;cursor:pointer;box-shadow:0 1px 3px rgba(74,107,255,.4);transition:.2s}.prefab-field-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.prefab-selection-list{display:flex;flex-direction:column;gap:8px}.prefab-selection-item{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-secondary);border-radius:6px;font-size:.75rem;min-width:0;overflow:hidden}.prefab-selection-item i{color:var(--primary-color);font-size:.75rem;flex-shrink:0;width:14px;text-align:center}.prefab-selection-label{color:var(--text-secondary);flex-shrink:0;white-space:nowrap}.prefab-selection-value{margin-left:auto;color:var(--text-primary);font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;padding-left:4px}.prefab-panel-actions{margin-top:16px}.prefab-info-panel{display:flex;flex-direction:column;gap:16px;width:var(--prefab-info-width);min-width:var(--prefab-info-width);max-width:var(--prefab-info-width);overflow:hidden;box-sizing:border-box}.prefab-progress-card{background:var(--bg-primary);border-radius:16px;border:1px solid var(--border-color);padding:20px;box-shadow:0 4px 20px rgba(0,0,0,.1);position:relative}.prefab-progress-card__close{position:absolute;top:12px;right:12px;width:28px;height:28px;background:var(--bg-secondary);border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:.2s;font-size:.75rem}.prefab-progress-card__close:hover{background:var(--error-color);color:#fff}.prefab-progress-card__header{text-align:center;margin-bottom:16px}.prefab-progress-card__icon{width:48px;height:48px;margin:0 auto 10px;background:linear-gradient(135deg,rgba(16,185,129,.15) 0,rgba(16,185,129,.05) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--success-color);font-size:1.25rem}.prefab-progress-card__title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.prefab-progress-card__subtitle{font-size:.75rem;color:var(--success-color);font-weight:500}.prefab-progress-card__bar{margin:16px 0}.prefab-progress-track{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.prefab-progress-fill{height:100%;background:var(--primary-gradient);border-radius:3px;transition:width .3s}.prefab-progress-numbers{display:flex;justify-content:space-between;margin-top:6px;font-size:.75rem;color:var(--text-secondary)}.prefab-progress-card__stats{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.prefab-stat-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-secondary);border-radius:8px;font-size:.8125rem}.prefab-stat-row i{color:var(--primary-color);font-size:.875rem}.prefab-stat-row span:first-of-type{color:var(--text-secondary);flex:1}.prefab-stat-time{color:var(--text-primary);font-weight:600;font-family:monospace}.prefab-progress-card__actions{display:flex;gap:8px}.prefab-btn-sm{display:flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:.2s;border:none;flex:1}.prefab-btn-sm--secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.prefab-btn-sm--secondary:hover{background:var(--bg-tertiary);border-color:var(--border-dark)}.prefab-btn-sm--danger{background:rgba(239,68,68,.1);color:var(--error-color);border:1px solid rgba(239,68,68,.2)}.prefab-btn-sm--danger:hover{background:var(--error-color);color:#fff}.prefab-console-card{background:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}.prefab-console-card__header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.prefab-console-card__header i{color:var(--primary-color)}.prefab-console-card__body{padding:12px 16px;max-height:120px;overflow-y:auto;font-family:Consolas,Monaco,monospace;font-size:.75rem;line-height:1.6}.prefab-console-line{display:flex;gap:8px;color:var(--text-secondary);min-width:0;overflow:hidden}.prefab-console-time{color:var(--text-tertiary);flex-shrink:0;font-size:.6875rem}.prefab-console-text{color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prefab-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:.3s;border:none}.prefab-btn--primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px rgba(74,107,255,.35);width:100%;height:44px;font-size:.9375rem}.prefab-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px rgba(74,107,255,.45)}.prefab-btn--primary:disabled{opacity:.5;cursor:not-allowed}.prefab-btn--secondary{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color)}.prefab-btn--secondary:hover{background:var(--bg-tertiary);border-color:var(--border-dark)}.prefab-btn--ghost{background:0 0;color:var(--text-secondary)}.prefab-btn--ghost:hover{background:rgba(74,107,255,.05);color:var(--primary-color)}.prefab-cache-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transition:.3s}.prefab-cache-modal.active{opacity:1;visibility:visible;pointer-events:auto}.prefab-cache-modal__content{background:var(--bg-primary);border-radius:24px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;transform:scale(.9) translateY(20px);transition:.3s}.prefab-cache-modal.active .prefab-cache-modal__content{transform:scale(1) translateY(0)}.prefab-cache-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.prefab-cache-modal__title{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.prefab-cache-modal__close{width:36px;height:36px;background:var(--bg-secondary);border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:.2s}.prefab-cache-modal__close:hover{background:var(--error-color);color:#fff}.prefab-cache-modal__body{padding:24px;max-height:60vh;overflow-y:auto}.prefab-cache-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:12px;margin-bottom:12px}.prefab-cache-item__icon{width:48px;height:48px;background:var(--primary-gradient);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem}.prefab-cache-item__info{flex:1}.prefab-cache-item__title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.prefab-cache-item__progress{font-size:.8125rem;color:var(--text-secondary)}.prefab-cache-item__progress-bar{height:4px;background:var(--bg-tertiary);border-radius:2px;margin-top:8px;overflow:hidden}.prefab-cache-item__progress-fill{height:100%;background:var(--primary-gradient);border-radius:2px;transition:width .3s}.prefab-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.prefab-empty__icon{width:80px;height:80px;background:var(--bg-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:16px;color:var(--text-tertiary)}.prefab-empty__title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.prefab-empty__desc{font-size:.875rem;color:var(--text-secondary)}@media (max-width:768px){.prefab-v2{padding:16px;--prefab-gap:16px}.prefab-library{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:12px}}body.dark-theme .prefab-book,html[data-theme=dark] .prefab-book{background:0 0}body.dark-theme .prefab-chapter,html[data-theme=dark] .prefab-chapter{background:var(--bg-tertiary)}body.dark-theme .prefab-progress-track,body.dark-theme .prefetch-progress-track,html[data-theme=dark] .prefab-progress-track,html[data-theme=dark] .prefetch-progress-track{background:#4d4d4d}.prefetch-subtasks-simple-list{display:flex;flex-direction:column;gap:12px;padding:4px}.prefetch-subtask-simple-item{background:var(--bg-secondary);border-radius:10px;padding:14px 16px;border:1px solid var(--border-color);transition:.2s;display:flex;align-items:center;gap:12px;cursor:default}.prefetch-subtask-simple-item:hover{border-color:var(--primary-light);box-shadow:0 2px 8px rgba(0,0,0,.08)}.prefetch-subtask-simple-item.subtask-resumable{border-color:var(--warning-color);background:linear-gradient(135deg,var(--bg-secondary) 0,rgba(245,158,11,.05) 100%);cursor:pointer}.prefetch-subtask-simple-item.subtask-resumable:hover{border-color:var(--warning-color);box-shadow:0 2px 12px rgba(245,158,11,.15);transform:translateY(-1px)}.subtask-simple-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.subtask-simple-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.subtask-simple-index{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.subtask-simple-status{font-size:.75rem;padding:3px 10px;border-radius:20px;font-weight:600}.subtask-simple-range{font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.subtask-simple-range i{font-size:.75rem;color:var(--primary-color)}.subtask-simple-meta{display:flex;align-items:center;gap:12px;margin-top:6px;font-size:.75rem;color:var(--text-tertiary)}.subtask-simple-speed,.subtask-simple-voice{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-tertiary);border-radius:4px}.subtask-simple-speed i,.subtask-simple-voice i{font-size:.625rem;color:var(--primary-color)}.subtask-simple-progress{display:flex;flex-direction:column;gap:6px}.subtask-simple-bar{display:flex;align-items:center;gap:10px}.subtask-simple-track{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.subtask-simple-fill{height:100%;border-radius:3px;transition:width .3s}.subtask-simple-fill.status-pending{background:var(--warning-color)}.subtask-simple-fill.status-processing{background:var(--primary-color)}.subtask-simple-fill.status-paused{background:var(--warning-color)}.subtask-simple-fill.status-completed{background:var(--success-color)}.subtask-simple-fill.status-failed{background:var(--error-color)}.subtask-simple-percent{font-size:.8125rem;font-weight:700;color:var(--primary-color);min-width:40px;text-align:right}.subtask-simple-count{font-size:.8125rem;color:var(--text-secondary);text-align:right}.subtask-simple-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.subtask-simple-btn{width:32px;height:32px;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;font-size:.875rem}.subtask-simple-btn.resume{background:rgba(16,185,129,.15);color:var(--success-color)}.subtask-simple-btn.resume:hover{background:var(--success-color);color:#fff;transform:scale(1.1)}.subtask-simple-btn.pause{background:rgba(245,158,11,.15);color:var(--warning-color)}.subtask-simple-btn.pause:hover{background:var(--warning-color);color:#fff;transform:scale(1.1)}.subtask-simple-btn.delete{background:rgba(239,68,68,.15);color:var(--error-color)}.subtask-simple-btn.delete:hover{background:var(--error-color);color:#fff;transform:scale(1.1)}.prefetch-book-tasks-count{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-secondary)}.prefetch-book-tasks-count i{font-size:.75rem;color:var(--primary-color)}.prefetch-level{width:100%;height:100%;display:flex;flex-direction:column}.prefetch-back-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:0 0;border:1px solid var(--border-color);border-radius:8px;font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:.2s;margin-right:12px}.prefetch-back-btn:hover{background:var(--bg-tertiary);border-color:var(--primary-light);color:var(--primary-color)}.prefetch-enter-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:.2s}.prefetch-book-card:hover .prefetch-enter-icon{color:var(--primary-color);transform:translateX(4px)}.prefetch-books-list{display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow-y:auto;padding:4px}.prefetch-book-card{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);overflow:hidden;transition:.3s;display:flex;align-items:center;padding:16px;gap:12px;cursor:pointer}.prefetch-book-card:hover{border-color:var(--primary-light);box-shadow:0 4px 12px rgba(0,0,0,.08)}.prefetch-book-header{display:flex;align-items:flex-start;gap:12px;padding:16px;cursor:pointer;transition:background .2s}.prefetch-book-header:hover{background:var(--bg-tertiary)}.prefetch-book-main{flex:1;min-width:0}.prefetch-book-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.prefetch-book-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.prefetch-book-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;flex-shrink:0}.prefetch-book-status i{font-size:.5rem}.status-pending{background:rgba(245,158,11,.15);color:var(--warning-color)}.status-processing{background:rgba(74,107,255,.15);color:var(--primary-color)}.status-paused{background:rgba(245,158,11,.15);color:var(--warning-color)}.status-completed{background:rgba(16,185,129,.15);color:var(--success-color)}.status-failed{background:rgba(239,68,68,.15);color:var(--error-color)}.status-cancelled{background:rgba(156,163,175,.15);color:var(--text-tertiary)}.prefetch-book-meta{display:flex;align-items:center;gap:16px;margin-bottom:10px;flex-wrap:wrap}.prefetch-book-progress-text,.prefetch-book-range{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-secondary)}.prefetch-book-progress-text i,.prefetch-book-range i{font-size:.75rem}.prefetch-book-percent{font-size:.8125rem;font-weight:700;color:var(--primary-color);margin-left:auto}.prefetch-book-progress-bar{margin-bottom:10px}.prefetch-progress-track{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.prefetch-progress-fill{height:100%;border-radius:3px;transition:width .3s}.prefetch-progress-fill.status-pending{background:var(--warning-color)}.prefetch-progress-fill.status-processing{background:var(--primary-color)}.prefetch-progress-fill.status-paused{background:var(--warning-color)}.prefetch-progress-fill.status-completed{background:var(--success-color)}.prefetch-progress-fill.status-failed{background:var(--error-color)}.prefetch-book-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.prefetch-book-stats .stat-item{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;padding:2px 8px;border-radius:4px;background:var(--bg-primary)}.prefetch-book-stats .stat-item.completed{color:var(--success-color)}.prefetch-book-stats .stat-item.processing{color:var(--primary-color)}.prefetch-book-stats .stat-item.pending{color:var(--warning-color)}.prefetch-book-stats .stat-item.failed{color:var(--error-color)}.prefetch-book-stats .stat-item.cached,.prefetch-book-stats .stat-item.tasks{color:var(--text-secondary)}.prefetch-book-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.prefetch-btn-delete,.prefetch-btn-resume,.prefetch-btn-view{width:32px;height:32px;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;font-size:.875rem}.prefetch-btn-resume{background:rgba(16,185,129,.15);color:var(--success-color)}.prefetch-btn-resume:hover{background:var(--success-color);color:#fff;transform:scale(1.1)}.prefetch-btn-view{background:rgba(74,107,255,.15);color:var(--primary-color)}.prefetch-btn-view:hover{background:var(--primary-color);color:#fff;transform:scale(1.1)}.prefetch-btn-delete{background:rgba(239,68,68,.15);color:var(--error-color)}.prefetch-btn-delete:hover{background:var(--error-color);color:#fff;transform:scale(1.1)}.prefetch-expand-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:transform .3s;margin-left:4px}.prefetch-book-detail{border-top:1px solid var(--border-color);background:var(--bg-primary);padding:16px}.prefetch-tasks-list{display:flex;flex-direction:column;gap:12px}.prefetch-tasks-empty{text-align:center;padding:20px;color:var(--text-secondary);font-size:.875rem}.prefetch-task-item{background:var(--bg-secondary);border-radius:10px;padding:12px;border:1px solid var(--border-color)}.prefetch-task-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.prefetch-task-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.prefetch-task-id{font-size:.8125rem;color:var(--text-secondary);font-family:monospace}.prefetch-task-status{font-size:.75rem;padding:2px 8px;border-radius:4px;font-weight:600}.prefetch-task-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.prefetch-task-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:.2s}.prefetch-task-btn.resume{background:rgba(16,185,129,.15);color:var(--success-color)}.prefetch-task-btn.resume:hover{background:var(--success-color);color:#fff}.prefetch-task-btn.pause{background:rgba(245,158,11,.15);color:var(--warning-color)}.prefetch-task-btn.pause:hover{background:var(--warning-color);color:#fff}.prefetch-task-btn.view{background:rgba(74,107,255,.15);color:var(--primary-color)}.prefetch-task-btn.view:hover{background:var(--primary-color);color:#fff}.prefetch-task-btn.delete{background:rgba(239,68,68,.15);color:var(--error-color);padding:4px 8px}.prefetch-task-btn.delete:hover{background:var(--error-color);color:#fff}.prefetch-task-progress{display:flex;flex-direction:column;gap:6px}.prefetch-task-range{font-size:.75rem;color:var(--text-secondary)}.prefetch-task-bar{display:flex;align-items:center;gap:10px}.prefetch-task-track{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.prefetch-task-fill{height:100%;border-radius:2px;transition:width .3s}.prefetch-task-percent{font-size:.75rem;font-weight:600;color:var(--primary-color);min-width:36px;text-align:right}.prefetch-task-count{font-size:.75rem;color:var(--text-secondary)}.prefetch-chapters-mini{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border-color);display:flex;flex-direction:column;gap:6px}.prefetch-chapter-mini-item{display:flex;align-items:center;gap:8px;font-size:.75rem;padding:4px 8px;background:var(--bg-primary);border-radius:4px}.chapter-mini-status{flex-shrink:0}.chapter-mini-status .status-icon-completed{color:var(--success-color)}.chapter-mini-status .status-icon-processing{color:var(--primary-color)}.chapter-mini-status .status-icon-pending{color:var(--warning-color)}.chapter-mini-status .status-icon-failed{color:var(--error-color)}.chapter-mini-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.prefetch-chapters-more{text-align:center;font-size:.75rem;color:var(--text-tertiary);padding:4px}.prefetch-footer-stats{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.prefetch-stats-row{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}.prefetch-stat-item{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-secondary)}.prefetch-stat-item i{color:var(--primary-color)}.prefetch-btn-clear-all{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:40px;padding:0 16px;background:0 0;border:1px solid var(--border-color);border-radius:8px;font-size:.875rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:.2s}.prefetch-btn-clear-all:hover{background:rgba(239,68,68,.1);border-color:var(--error-color);color:var(--error-color)}@media (max-width:640px){.prefetch-book-header{flex-direction:column;align-items:stretch}.prefetch-book-actions{justify-content:flex-end;margin-top:8px}.prefetch-book-meta{gap:10px}.prefetch-book-stats{gap:8px}.prefetch-task-header{flex-direction:column;align-items:flex-start}.prefetch-task-actions{width:100%;justify-content:flex-end}}