.sidebar{width:280px;height:100vh;overflow-y:auto;position:fixed;left:0;top:0;background:#16213e;border-right:1px solid #0f3460}.ds-select{padding:10px 12px;display:flex;align-items:center;gap:8px;background:#0f3460;border-bottom:1px solid #1a3a6e}.ds-select label{font-size:12px;color:#9bb4d4;white-space:nowrap}.ds-select select{flex:1;padding:5px 8px;background:#16213e;border:1px solid #1a3a6e;color:#eee;border-radius:4px;font-size:13px;cursor:pointer}.sidebar h2{padding:12px 16px;background:#0f3460;font-size:14px;position:sticky;top:0;z-index:1}.sidebar-search{padding:8px 12px;position:sticky;top:42px;background:#16213e;z-index:1}.sidebar-search input{width:100%;padding:6px 10px;background:#0f3460;border:1px solid #1a3a6e;color:#eee;border-radius:4px;font-size:13px}.cat-filter{padding:4px 12px 8px;display:flex;gap:4px;flex-wrap:wrap}.cat-btn{background:#0f3460;color:#aaa;border:none;padding:3px 8px;border-radius:10px;cursor:pointer;font-size:11px}.cat-btn.active{background:#e94560;color:#fff}.sidebar-toolbar{padding:8px 12px;display:flex;gap:6px}.sidebar-toolbar button{background:#0f3460;color:#eee;border:none;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:12px}.sidebar-toolbar button:hover{background:#e94560}.sidebar-toolbar .lib-btn{background:#4fc3f7;color:#000;font-weight:700}.sidebar-toolbar .lib-btn:hover{background:#81d4fa}.sidebar-toolbar .batch-btn{background:#ff9800;color:#000;font-weight:700}.sidebar-toolbar .batch-btn:hover{background:#ffb74d}.sidebar-toolbar .gen-btn{background:linear-gradient(135deg,#9b59b6,#e94560);color:#fff;font-weight:700}.sidebar-toolbar .gen-btn:hover{filter:brightness(1.1);background:linear-gradient(135deg,#b06ec9,#ff5874)}.char-item{padding:10px 16px;cursor:pointer;border-bottom:1px solid #0f3460;transition:background .15s;display:flex;gap:10px;align-items:center}.char-item:hover{background:#0f3460}.char-item.active{background:#e94560}.char-thumb{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#0f3460}.char-meta{overflow:hidden}.char-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.char-info{font-size:11px;color:#aaa;margin-top:2px}.sidebar-toolbar .add-btn{background:#27ae60;color:#fff;font-weight:700;font-size:14px;padding:5px 12px}.sidebar-toolbar .add-btn:hover{background:#2ecc71}.confirm-toggle-row{padding:6px 12px 10px;border-bottom:1px solid #0f3460}.confirm-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 8px;border-radius:6px;transition:background .15s}.confirm-toggle:hover{background:#0f3460}.confirm-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.confirm-toggle-slider{position:relative;flex-shrink:0;width:32px;height:18px;background:#3a506b;border-radius:9px;transition:background .2s}.confirm-toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#eee;border-radius:50%;transition:transform .2s}.confirm-toggle input:checked~.confirm-toggle-slider{background:#27ae60}.confirm-toggle input:checked~.confirm-toggle-slider:after{transform:translate(14px)}.confirm-toggle-text{display:flex;flex-direction:column;line-height:1.2;font-size:12px;color:#eee}.confirm-toggle-hint{font-size:10px;color:#9bb4d4;margin-top:2px}.confirm-toggle input:not(:checked)~.confirm-toggle-text .confirm-toggle-hint{color:#f39c12}.ctx-menu{position:fixed;z-index:9999;background:#1e2a3a;border:1px solid #3a506b;border-radius:6px;padding:4px 0;box-shadow:0 4px 16px #0006;min-width:120px}.ctx-menu-item{display:block;width:100%;padding:8px 16px;background:none;border:none;color:#eee;font-size:13px;cursor:pointer;text-align:left}.ctx-menu-item:hover{background:#2c3e50}.ctx-menu-item.danger{color:#e74c3c}.ctx-menu-item.danger:hover{background:#3d1f1f}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0009;display:flex;align-items:center;justify-content:center}.modal-box{background:#1e2a3a;border:1px solid #3a506b;border-radius:8px;padding:24px;width:340px;box-shadow:0 8px 32px #00000080}.modal-box h3{margin:0 0 16px;font-size:16px}.modal-box label{display:block;font-size:12px;color:#9bb4d4;margin:10px 0 4px}.modal-box input,.modal-box textarea,.modal-box select{width:100%;padding:8px 10px;background:#0f3460;border:1px solid #1a3a6e;color:#eee;border-radius:4px;font-size:13px;box-sizing:border-box}.modal-box textarea{resize:vertical}.modal-actions{margin-top:16px;display:flex;gap:8px;justify-content:flex-end}.modal-actions button{padding:7px 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;background:#3a506b;color:#eee}.modal-actions button:hover{background:#4a6080}.modal-actions button.primary{background:#27ae60;color:#fff}.modal-actions button.primary:hover{background:#2ecc71}.modal-actions button.primary:disabled{background:#555;color:#999;cursor:not-allowed}.media-grid{columns:90px;column-gap:6px}.media-card{position:relative;break-inside:avoid;margin-bottom:8px;background:#16213e;border-radius:6px;overflow:hidden;border:1px solid #0f3460}.media-card img{width:100%;height:auto;display:block;cursor:pointer}.card-badge{position:absolute;top:4px;left:4px;background:#0f3460d9;color:#eee;padding:2px 6px;border-radius:3px;font-size:10px}.card-del{position:absolute;top:4px;right:4px;background:#e94560d9;color:#fff;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.media-card:hover .card-del{opacity:1}.card-hard-del{position:absolute;top:4px;right:28px;background:#a02828f2;color:#fff;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.media-card:hover .card-hard-del{opacity:1}.card-hard-del:hover{background:#dc2828}.card-avatar-btn{position:absolute;top:30px;right:4px;background:#3498dbe6;color:#fff;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.media-card:hover .card-avatar-btn{opacity:1}.empty{color:#666;font-size:14px;padding:40px 0}.media-card.trashed{opacity:.6;border-color:#e94560}.card-restore{position:absolute;top:4px;right:4px;background:#2ecc71e6;color:#fff;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.media-card.trashed:hover .card-restore{opacity:1}.media-card.trashed:hover .card-del{opacity:0}.video-grid{columns:100px;column-gap:6px}.video-card{position:relative;break-inside:avoid;margin-bottom:8px;background:#16213e;border-radius:6px;overflow:hidden;border:1px solid #0f3460}.video-card video{width:100%;height:auto;display:block;cursor:pointer;min-height:80px;background:#0d1117}.video-card .card-del{position:absolute;top:4px;right:4px;background:#e94560d9;color:#fff;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.video-card:hover .card-del{opacity:1}.video-card .card-hard-del{position:absolute;top:4px;right:28px;background:#a02828f2;color:#fff;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.video-card:hover .card-hard-del{opacity:1}.video-card .card-hard-del:hover{background:#dc2828}.card-name{padding:4px 6px;font-size:10px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-section{margin-top:16px}.ref-search-panel{background:#1a2332;border:1px solid #2a4a6e;border-radius:8px;padding:12px;margin:8px 0}.ref-search-bar{display:flex;gap:8px;margin-bottom:8px}.ref-search-bar input{flex:1;padding:6px 10px;background:#0f3460;border:1px solid #1a3a6e;color:#eee;border-radius:4px;font-size:13px}.ref-search-bar button{background:#4fc3f7;color:#000;border:none;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:700}.ref-search-bar button:hover{background:#81d4fa}.ref-search-bar button:disabled{opacity:.5}.ref-search-results{columns:200px;column-gap:8px}.ref-search-card{break-inside:avoid;margin-bottom:8px;background:#16213e;border-radius:6px;overflow:hidden;border:1px solid #0f3460;position:relative}.ref-search-card.added{opacity:.5}.ref-search-card img{width:100%;height:auto;display:block}.ref-search-info{padding:6px 8px}.ref-search-name{font-size:10px;color:#aaa}.ref-search-prompt{font-size:10px;color:#8bc34a;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ref-add-btn{position:absolute;top:4px;right:4px;background:#2ecc71e6;color:#fff;border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.ref-search-card:hover .ref-add-btn{opacity:1}.ref-added-badge{position:absolute;top:4px;right:4px;background:#27ae60e6;color:#fff;padding:2px 8px;border-radius:3px;font-size:10px}.ref-list{columns:200px;column-gap:8px}.ref-card{break-inside:avoid;margin-bottom:8px;background:#16213e;border-radius:6px;overflow:hidden;border:1px solid #0f3460;position:relative}.ref-card img{width:100%;height:auto;display:block}.ref-remove{position:absolute;top:4px;right:4px;background:#e94560e6;color:#fff;border:none;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.ref-card:hover .ref-remove{opacity:1}.ref-info{padding:6px 8px}.ref-name{font-size:10px;color:#aaa}.ref-prompt{font-size:10px;color:#8bc34a;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.modal-overlay{display:flex;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;z-index:9999;overflow:auto}.modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-content img{max-width:95vw;max-height:95vh;display:block}.modal-content video{max-width:95vw;max-height:95vh;display:block}.modal-close{position:fixed;top:20px;left:20px;background:#0f3460;color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:14px;z-index:10000}.gen-panel{background:#1a1a2e;border-radius:12px;padding:16px;border:1px solid #0f3460;margin-top:12px}.gen-status-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #0f3460}.gen-status-label{font-size:13px;color:#aaa;font-weight:600}.gen-status-btn{padding:4px 12px;border-radius:16px;font-size:12px;border:1px solid #333;background:#16213e;color:#aaa;cursor:pointer;transition:all .15s}.gen-status-btn:hover{border-color:#666}.gen-status-btn.active{font-weight:700}.gen-status-online.active{background:#1b5e20;border-color:#4caf50;color:#a5d6a7}.gen-status-pre_release.active{background:#4a3000;border-color:#ff9800;color:#ffe0b2}.gen-status-pending.active{background:#263238;border-color:#78909c;color:#cfd8dc}.gen-tab-bar{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #0f3460}.gen-tab{padding:6px 14px;border-radius:6px;font-size:12px;border:1px solid #1a3a6e;background:#0d1b30;color:#aaa;cursor:pointer;transition:all .15s;font-weight:500;white-space:nowrap}.gen-tab:hover{border-color:#4fc3f7;color:#eee;background:#102540}.gen-tab.active{font-weight:600;color:#fff}.gen-tab-image.active{background:#0d47a1;border-color:#4fc3f7}.gen-tab-video.active{background:#4a148c;border-color:#ff6fd8}.gen-tab-sep{width:1px;background:#0f3460;margin:0 4px;align-self:stretch}.gen-section{margin-bottom:14px}.gen-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:6px}.gen-section-title{font-size:14px;font-weight:600;color:#4fc3f7}.gen-section-controls{display:flex;align-items:center;gap:6px}.gen-poll-badge{font-size:11px;color:#ffab40;background:#3e2723;padding:2px 8px;border-radius:10px;animation:gen-pulse 2s ease-in-out infinite}@keyframes gen-pulse{0%,to{opacity:1}50%{opacity:.6}}.gen-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;max-height:280px;overflow-y:auto;padding:4px}.gen-cards::-webkit-scrollbar{width:6px}.gen-cards::-webkit-scrollbar-track{background:#0d1117;border-radius:3px}.gen-cards::-webkit-scrollbar-thumb{background:#4fc3f750;border-radius:3px}.gen-card{position:relative;border-radius:8px;overflow:hidden;border:2px solid #0f3460;cursor:pointer;transition:all .15s;background:#16213e}.gen-card:hover{border-color:#4fc3f7}.gen-card.selected{border-color:#e94560;box-shadow:0 0 12px #e9456044}.gen-card-check{position:absolute;top:4px;right:4px;z-index:2;width:22px;height:22px;border-radius:50%;background:#e94560;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.gen-card img{width:100%;height:100px;object-fit:cover;display:block;cursor:zoom-in}.gen-card-actions{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:4px;display:flex;justify-content:space-between;align-items:center;gap:4px;opacity:0;transition:opacity .15s}.gen-card:hover .gen-card-actions{opacity:1}.gen-card-face-btn{background:#4fc3f7d9;color:#000;border:none;padding:2px 6px;border-radius:4px;font-size:10px;cursor:pointer;font-weight:600}.gen-card-face-btn:hover{background:#4fc3f7}.gen-card-skip-btn{background:#e94560d9;color:#fff;border:none;padding:2px 6px;border-radius:4px;font-size:10px;cursor:pointer;font-weight:600;margin-right:auto}.gen-card-skip-btn:hover{background:#e94560}.gen-card-prompt{padding:3px 6px;font-size:9px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#0d1117}.gen-selected-info{font-size:11px;color:#e94560;margin-top:4px;padding:4px 8px;background:#2d1f2f;border-radius:4px}.gen-selected-bar{display:flex;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;background:#2d1f2f;border-radius:6px;border:1px solid #e9456050}.gen-selected-bar .gen-selected-info{margin:0;padding:0;background:none;font-size:12px;flex-shrink:0}.gen-config{display:flex;flex-direction:column;gap:8px}.gen-config-row{display:flex;align-items:center;gap:10px}.gen-config-row label{font-size:12px;color:#aaa;width:60px;flex-shrink:0}.gen-config-row-full{flex-direction:column;align-items:flex-start}.gen-config-row-full label{width:auto;margin-bottom:4px}.gen-select{background:#0f3460;color:#eee;border:1px solid #1a3a6e;border-radius:6px;padding:4px 8px;font-size:12px;cursor:pointer}.gen-select:focus{border-color:#4fc3f7;outline:none}.gen-select-wide{flex:1}.gen-textarea{width:100%;background:#0f3460;color:#eee;border:1px solid #1a3a6e;border-radius:6px;padding:6px 10px;font-size:12px;resize:vertical;font-family:inherit}.gen-textarea:focus{border-color:#4fc3f7;outline:none}.gen-face-preview-wrap{display:flex;align-items:center;gap:8px}.gen-face-preview{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #4fc3f7}.gen-face-hint{font-size:11px;color:#666;font-style:italic}.gen-btn{padding:6px 14px;border-radius:6px;font-size:12px;border:1px solid transparent;cursor:pointer;transition:all .15s;white-space:nowrap}.gen-btn-sm{padding:3px 10px;font-size:11px}.gen-btn-primary{background:#e94560;color:#fff;border-color:#e94560;align-self:flex-start}.gen-btn-primary:hover:not(:disabled){background:#c0384a}.gen-btn-primary:disabled{opacity:.5;cursor:not-allowed}.gen-btn-secondary{background:#0f3460;color:#4fc3f7;border-color:#4fc3f7}.gen-btn-secondary:hover:not(:disabled){background:#4fc3f7;color:#000}.gen-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.gen-btn-danger{background:#3d1f1f;color:#e94560;border-color:#e94560}.gen-btn-danger:hover{background:#e94560;color:#fff}.gen-tasks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;max-height:500px;overflow-y:auto}.gen-task-card{background:#16213e;border-radius:8px;overflow:hidden;border:1px solid #0f3460}.gen-task-card.gen-task-pending,.gen-task-card.gen-task-running{border-color:#ffab40}.gen-task-card.gen-task-completed,.gen-task-card.gen-task-succeeded{border-color:#66bb6a}.gen-task-card.gen-task-failed{border-color:#e94560}.gen-task-card.gen-task-saved{opacity:.6}.gen-task-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:#0f3460}.gen-task-type{font-size:10px;color:#4fc3f7;font-weight:600;text-transform:uppercase}.gen-task-status{font-size:11px}.gen-task-elapsed{margin-left:6px;font-size:10px;color:#ff9800;font-weight:600;font-variant-numeric:tabular-nums;animation:gen-pulse 1.5s ease-in-out infinite}.gen-task-prompt{padding:4px 8px;font-size:10px;color:#8bc34a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gen-task-result{padding:0}.gen-task-media{width:100%;height:auto;display:block;cursor:pointer;max-height:200px;object-fit:cover}.gen-task-error{padding:4px 8px;font-size:10px;color:#e94560}.gen-task-actions{display:flex;gap:6px;padding:6px 8px}.gen-empty{text-align:center;color:#666;padding:20px 0;font-size:13px}.gen-profile-preview{display:flex;align-items:center;gap:12px}.gen-profile-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;border:2px solid #e94560;box-shadow:0 0 8px #e9456044}.gen-profile-hint{font-size:12px;color:#888}.comfyui-hints{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:#888}.comfyui-source-ok{color:#4caf50}.comfyui-submit-btn{width:100%;padding:8px 0;border-radius:6px;background:#0d47a1;color:#fff;font-weight:600;border:1px solid #1565c0;cursor:pointer;font-size:12px;transition:background .15s}.comfyui-submit-btn:hover:not(:disabled){background:#1565c0}.comfyui-submit-btn:disabled{opacity:.5;cursor:not-allowed}.comfyui-jobs{margin-top:4px}.comfyui-jobs-header{display:flex;align-items:center;gap:6px;font-size:11px;color:#aaa;margin-bottom:4px}.comfyui-job{border:1px solid #1a3a6e;border-radius:6px;padding:6px 8px;margin-bottom:6px;background:#0d1b30;font-size:11px}.comfyui-job-running{border-left:3px solid #ff9800}.comfyui-job-completed{border-left:3px solid #4caf50}.comfyui-job-failed{border-left:3px solid #e94560}.comfyui-job-row{display:flex;align-items:center;gap:6px}.comfyui-job-icon{font-size:13px}.comfyui-job-label{color:#ddd;font-weight:500}.comfyui-job-time{margin-left:auto;color:#666;font-size:10px}.comfyui-job-error{color:#e94560;font-size:10px;margin-top:3px;word-break:break-all}.comfyui-job-result{display:flex;align-items:center;gap:8px;margin-top:6px}.comfyui-result-media{width:80px;height:80px;object-fit:cover;border-radius:4px;border:1px solid #1a3a6e;cursor:pointer}.comfyui-save-btn{padding:4px 10px;border-radius:4px;background:#1b5e20;color:#fff;border:none;font-size:11px;cursor:pointer;font-weight:500;transition:background .15s}.comfyui-save-btn:hover{background:#2e7d32}.char-header{margin-bottom:20px}.char-header-top{display:flex;gap:16px;align-items:flex-start}.char-header-info{flex:1;min-width:0}.char-avatar{flex-shrink:0}.char-avatar img{width:96px;height:96px;border-radius:12px;object-fit:cover;border:2px solid #0f3460}.char-avatar-empty{width:96px;height:96px;border-radius:12px;border:2px dashed #0f3460;color:#666;font-size:11px;display:flex;align-items:center;justify-content:center}.char-header h1{font-size:24px}.char-desc{font-size:13px;color:#aaa;margin-top:6px;max-width:700px;line-height:1.5}.char-attrs{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.attr-tag{background:#0f3460;padding:3px 10px;border-radius:12px;font-size:11px}.char-stats{font-size:13px;color:#aaa;margin-top:4px}.char-voice{margin-top:10px}.char-voice label{font-size:12px;color:#9bb4d4;display:block;margin-bottom:6px}.char-voice-current{margin-bottom:8px}.char-voice-current audio{height:32px;width:100%}.char-voice-picker{display:flex;gap:8px;margin-bottom:8px}.voice-pick-btn,.voice-manual-toggle{padding:5px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.voice-manual-toggle{background:#0f3460;border:1px solid #1a3a6e;color:#cfe}.voice-pick-btn:disabled{opacity:.6;cursor:default}.char-voice-candidates{background:#0d1b2a;border:1px solid #1a3a6e;border-radius:6px;padding:8px;margin-bottom:8px}.voice-candidate{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding:4px 0;border-bottom:1px solid #162d50}.voice-candidate:last-of-type{border-bottom:none}.vc-cat{font-size:11px;color:#e67e22;min-width:70px}.vc-name{font-size:11px;color:#ccc;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-candidate audio{height:28px;flex-shrink:0;width:180px}.vc-select-btn{padding:3px 10px;background:#2ecc71;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px}.vc-reject-btn{padding:3px 10px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px}.vc-status-tag{font-size:11px;padding:2px 8px;border-radius:3px;margin-left:8px}.vc-status-tag.online{background:#2ecc71;color:#fff}.vc-section-label{font-size:11px;color:#9bb4d4;margin-bottom:6px}.voice-refresh-btn{padding:4px 10px;background:#0f3460;color:#cfe;border:1px solid #1a3a6e;border-radius:4px;cursor:pointer;font-size:11px;margin-top:4px}.char-voice-manual{display:flex;gap:8px;align-items:center}.char-voice-manual input{flex:1;min-width:220px;padding:5px 8px;background:#0f3460;border:1px solid #1a3a6e;color:#eee;border-radius:4px;font-size:12px}.char-voice-manual button{padding:5px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.char-voice-manual button:disabled{opacity:.6;cursor:default}.vc-enroll-btn{padding:4px 12px;background:#e67e22;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px;margin-left:8px}.vc-enroll-btn:disabled{opacity:.6;cursor:default}.vc-status-tag.enrolled{background:#9b59b6;color:#fff}.vc-voice-id{font-size:10px;color:#7f8c8d;margin-left:8px;word-break:break-all}.vc-enroll-result{padding:6px 10px;border-radius:4px;font-size:11px;margin:6px 0;display:flex;align-items:center;gap:8px}.vc-enroll-result.ok{background:#1a3a2e;color:#2ecc71;border:1px solid #2ecc71}.vc-enroll-result.fail{background:#3a1a1a;color:#e74c3c;border:1px solid #e74c3c}.vc-enroll-close{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;font-size:14px;padding:0 4px}.char-voice-online{margin:6px 0}.voice-candidate.online{display:flex;align-items:center;gap:8px;padding:4px 0;border-top:1px solid #1a3a6e}.voice-candidate.online audio{height:28px;width:180px}.section-title{font-size:14px;color:#aaa;margin:16px 0 8px;border-bottom:1px solid #0f3460;padding-bottom:4px;display:flex;align-items:center;gap:8px}.trash-title .trash-actions{margin-left:auto;display:flex;gap:6px}.trash-toggle{background:none;border:1px solid #e94560;color:#e94560;padding:3px 10px;border-radius:4px;cursor:pointer;font-size:11px}.trash-toggle:hover,.trash-toggle.active{background:#e94560;color:#fff}.btn-sm{background:#0f3460;color:#eee;border:none;padding:3px 10px;border-radius:4px;cursor:pointer;font-size:11px}.btn-sm:hover{background:#e94560}.btn-red{background:#c0392b}.btn-red:hover{background:#e74c3c}.gen-toggle-row{margin:12px 0}.gen-toggle-btn{background:#0f3460;color:#4fc3f7;border:1px solid #4fc3f7;padding:8px 20px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .2s;font-weight:600}.gen-toggle-btn:hover{background:#4fc3f7;color:#000}.gen-toggle-btn.active{background:#e94560;border-color:#e94560;color:#fff}.pending-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:12px}.pending-card{position:relative;background:#16213e;border:1px solid #f1c40f55;border-radius:8px;overflow:hidden}.pending-card img,.pending-card video{width:100%;height:180px;object-fit:cover;display:block;cursor:pointer}.pending-source{position:absolute;top:4px;left:4px;background:#0009;color:#f1c40f;font-size:10px;padding:2px 6px;border-radius:3px}.pending-actions{display:flex;gap:4px;padding:6px}.pending-adopt{flex:1;padding:5px;background:#2ecc71;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.pending-discard{flex:1;padding:5px;background:#e94560;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.pending-harddel{flex:1;padding:5px;background:#7d1020;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.pending-adopt-all{padding:4px 12px;background:#2ecc71;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px}.pending-del-all{padding:4px 12px;background:#7d1020;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px}.lib-overlay{display:flex;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000eb;z-index:10001;overflow:auto}.lib-panel{max-width:1200px;margin:20px auto;padding:20px;background:#1a1a2e;border-radius:12px;min-height:90vh;width:100%}.lib-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.lib-header h2{font-size:20px;color:#4fc3f7}.lib-total{font-size:12px;color:#aaa}.lib-close{margin-left:auto;background:#0f3460;color:#eee;border:none;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:13px}.lib-close:hover{background:#e94560}.lib-error{background:#5c1a1a;border:1px solid #e94560;color:#fcc;padding:8px 14px;border-radius:6px;margin-bottom:12px;font-size:12px;display:flex;align-items:center;gap:8px}.lib-error-dismiss{margin-left:auto;background:none;border:none;color:#fcc;cursor:pointer;font-size:14px}.lib-search{margin-bottom:16px}.lib-search input{width:100%;padding:8px 14px;background:#0f3460;border:1px solid #1a3a6e;color:#eee;border-radius:6px;font-size:14px;box-sizing:border-box}.lib-search input:focus{border-color:#4fc3f7;outline:none}.lib-loading{display:flex;align-items:center;gap:10px;color:#aaa;font-size:13px;padding:20px 0}.lib-spinner{width:20px;height:20px;border:2px solid #333;border-top-color:#4fc3f7;border-radius:50%;animation:lib-spin .6s linear infinite}.lib-spinner-sm{width:14px;height:14px;border-width:2px}@keyframes lib-spin{to{transform:rotate(360deg)}}.lib-dim-section{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #16213e}.lib-dim-label{font-size:12px;color:#4fc3f7;font-weight:700;margin-bottom:6px;text-transform:uppercase}.lib-dim-label.priority{color:#e94560;font-size:13px}.lib-tags{display:flex;flex-wrap:wrap;gap:4px}.lib-dim-group{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;margin-bottom:4px;vertical-align:top}.lib-dim-group-expanded{display:flex;flex-basis:100%;width:100%;align-items:flex-start;gap:3px;flex-wrap:wrap;margin-bottom:6px;padding:6px 8px;background:#16213e;border-radius:8px;border:1px solid #1a3a6e;max-height:160px;overflow-y:auto;position:relative}.lib-dim-group-expanded .lib-dim-prefix{align-self:flex-start;padding-top:4px}.lib-dim-prefix{font-size:10px;color:#888;margin-right:3px;font-weight:600}.lib-tag{background:#16213e;color:#ccc;border:1px solid #0f3460;padding:3px 10px;border-radius:14px;font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap}.lib-tag:hover{background:#0f3460;color:#fff;border-color:#4fc3f7}.lib-tag.active{background:#e94560;color:#fff;border-color:#e94560}.tag-count{color:#888;font-size:10px;margin-left:3px}.lib-tag.active .tag-count{color:#fdd}.lib-tag-expand{background:#1a3a6e;color:#4fc3f7;border:1px dashed #4fc3f7;padding:3px 10px;border-radius:14px;font-size:11px;cursor:pointer;transition:all .15s;font-weight:700}.lib-tag-expand:hover{background:#4fc3f7;color:#000}.lib-tag-collapse{background:#2d1f3d;color:#bb86fc;border:1px solid #bb86fc;padding:3px 10px;border-radius:14px;font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.lib-tag-collapse:hover{background:#bb86fc;color:#000}.lib-dim-toolbar{display:inline-flex;align-items:center;gap:8px;flex-basis:100%;order:-1;padding-bottom:4px;margin-bottom:2px;width:100%}.lib-dim-search{background:#0f3460;border:1px solid #1a3a6e;color:#eee;padding:3px 10px;border-radius:12px;font-size:11px;flex:1;min-width:120px}.lib-dim-search:focus{border-color:#4fc3f7;outline:none}.lib-dim-expand-count{font-size:10px;color:#888;white-space:nowrap;flex-shrink:0}.lib-dim-group-expanded::-webkit-scrollbar{width:4px}.lib-dim-group-expanded::-webkit-scrollbar-track{background:#0f3460;border-radius:2px}.lib-dim-group-expanded::-webkit-scrollbar-thumb{background:#4fc3f7;border-radius:2px}.lib-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 10px;font-size:13px;color:#aaa}.filter-chip{background:#3d1f3d;color:#ddd;border:1px solid #bb86fc;padding:3px 10px;border-radius:12px;font-size:11px;cursor:pointer;transition:all .15s}.filter-chip:hover{background:#c0392b;border-color:#c0392b;color:#fff}.filter-chip-active{background:#e94560;color:#fff;border-color:#e94560}.lib-filters-hint{font-size:10px;color:#666;font-style:italic}.lib-results-header{font-size:12px;color:#aaa;margin:12px 0 8px;padding:6px 10px;background:#16213e;border-radius:4px}.lib-results{columns:240px;column-gap:10px}.lib-card{break-inside:avoid;margin-bottom:10px;background:#16213e;border-radius:8px;overflow:hidden;border:1px solid #0f3460}.lib-card img{width:100%;height:auto;display:block;cursor:pointer}.lib-card-actions{display:flex;gap:4px;padding:4px 6px;background:#0f3460;border-bottom:1px solid #1a3a6e}.lib-card-btn{background:#1a3a6e;color:#ccc;border:none;padding:3px 8px;border-radius:3px;font-size:10px;cursor:pointer;transition:all .15s;white-space:nowrap}.lib-card-btn:hover{background:#4fc3f7;color:#000}.lib-card-btn.copied{background:#27ae60;color:#fff}.lib-card-del{margin-left:auto}.lib-card-del:hover{background:#e94560!important;color:#fff!important}.lib-card-info{padding:8px}.lib-card-prompt{font-size:11px;color:#8bc34a;line-height:1.5;word-break:break-word}.lib-card-desc{font-size:10px;color:#aaa;margin-top:4px;line-height:1.3}.lib-card-dims{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.lib-card-dim-tag{background:#0f3460;color:#ccc;padding:1px 6px;border-radius:8px;font-size:9px}.lib-load-more-wrap{text-align:center;padding:16px 0}.lib-load-more{background:#0f3460;color:#4fc3f7;border:1px solid #4fc3f7;padding:10px 32px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.lib-load-more:hover:not(:disabled){background:#4fc3f7;color:#000}.lib-load-more:disabled{opacity:.6;cursor:not-allowed}.empty{text-align:center;color:#666;padding:40px 0;font-size:14px}.global-batch-view{padding:20px;max-width:1200px;margin:0 auto}.gb-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #0f3460}.gb-back-btn{background:#0f3460;color:#4fc3f7;border:1px solid #4fc3f7;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.gb-back-btn:hover{background:#4fc3f7;color:#000}.gb-header h2{margin:0;font-size:20px;color:#eee}.gb-loading,.gb-empty{text-align:center;padding:40px;color:#888;font-size:14px}.gb-char-select{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;background:#16213e;border-radius:8px;border:1px solid #0f3460}.gb-char-select label{font-size:13px;color:#aaa;font-weight:600;white-space:nowrap}.gb-char-select select{flex:1;max-width:300px;padding:6px 10px;background:#0f3460;color:#eee;border:1px solid #1a3a6e;border-radius:6px;font-size:13px;cursor:pointer}.gb-char-select select:focus{border-color:#4fc3f7;outline:none}.gb-content{background:#1a1a2e;border-radius:12px;padding:16px;border:1px solid #0f3460}.gb-anime-batch{margin:0 16px 20px;padding:16px;background:#16213e;border:1px solid #0f3460;border-radius:8px}.gb-anime-batch h3{font-size:15px;margin:0 0 8px;color:#eee}.gb-anime-desc{font-size:12px;color:#9bb4d4;line-height:1.6;margin:0 0 12px}.gb-anime-actions{display:flex;gap:8px;margin-bottom:12px}.gb-start-btn{padding:8px 18px;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:13px}.gb-start-btn:disabled{opacity:.6;cursor:default}.gb-stop-btn{padding:8px 18px;background:#e94560;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:13px}.gb-resume-btn{padding:8px 18px;background:#2ecc71;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:13px}.gb-refresh-btn{padding:8px 14px;background:#0f3460;color:#cfe;border:1px solid #1a3a6e;border-radius:5px;cursor:pointer;font-size:13px}.gb-free-vram-btn{padding:8px 14px;background:#e67e22;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:13px}.gb-overwrite-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#ccc}.gb-overwrite-label input{accent-color:#e67e22}.gb-progress{margin-top:8px}.gb-progress-bar{width:100%;height:10px;background:#0f3460;border-radius:5px;overflow:hidden}.gb-progress-fill{height:100%;background:#2ecc71;transition:width .3s}.gb-progress-text{font-size:12px;color:#ccc;margin-top:6px}.gb-progress-error{font-size:12px;color:#e94560;margin-top:4px}.gb-fail-list{margin-top:6px;font-size:12px;color:#e9a}.gb-fail-list ul{margin:4px 0 0;padding-left:18px}.gb-batch-box{margin:0 16px 20px;padding:16px;background:#16213e;border:1px solid #0f3460;border-radius:8px}.gb-batch-box h3{font-size:15px;margin:0 0 12px;color:#eee}.gb-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.gb-type-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px 12px;background:#0f3460;border:1px solid #1a3a6e;border-radius:6px;cursor:pointer;color:#cfe}.gb-type-card.active{border-color:#3498db;background:#14406e}.gb-type-card:disabled{opacity:.6;cursor:default}.gb-type-label{font-size:13px;font-weight:600;color:#fff}.gb-type-desc{font-size:11px;color:#9bb4d4;line-height:1.5}.gb-params{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:10px}.gb-params label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#9bb4d4}.gb-params input{padding:5px 8px;background:#0f3460;border:1px solid #1a3a6e;color:#eee;border-radius:4px;font-size:13px;width:140px}.gb-hint{font-size:11px;color:#9bb4d4;margin:8px 0 0}.gb-edit-prompt{margin-bottom:12px}.gb-edit-prompt label{display:block;font-size:12px;color:#9bb4d4;margin-bottom:4px}.gb-edit-prompt textarea{width:100%;padding:8px;background:#0f3460;border:1px solid #1a3a6e;color:#eee;border-radius:4px;font-size:12px;resize:vertical;box-sizing:border-box}.gb-params select{padding:5px 8px;background:#0f3460;border:1px solid #1a3a6e;color:#eee;border-radius:4px;font-size:13px}.gb-cat-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.gb-cat-tag{padding:3px 10px;background:#0f3460;border:1px solid #1a3a6e;color:#aaa;border-radius:12px;cursor:pointer;font-size:11px}.gb-cat-tag:hover{border-color:#3498db;color:#eee}.gb-cat-tag.active{background:#e94560;border-color:#e94560;color:#fff}.gb-cat-tag:disabled{opacity:.6;cursor:default}.gb-cat-tag.clear{background:none;border-color:#555;color:#888;font-style:italic}.gb-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.gb-preset-btn{padding:5px 12px;background:#0f3460;border:1px solid #1a3a6e;color:#cfe;border-radius:4px;cursor:pointer;font-size:12px}.gb-preset-btn.active{border-color:#3498db;background:#14406e;color:#fff}.gb-preset-btn:disabled{opacity:.6;cursor:default}.bcp{--bcp-bg: #0e1730;--bcp-surface: #16213e;--bcp-surface-2: #0f3460;--bcp-border: #1a3a6e;--bcp-border-soft: #14305a;--bcp-text: #e7eef9;--bcp-text-dim: #9bb4d4;--bcp-text-mute: #6f87a8;--bcp-accent: #4fc3f7;--bcp-accent-2: #3498db;--bcp-pink: #e94560;--bcp-green: #2ecc71;--bcp-amber: #f1c40f;padding:24px 28px 64px;max-width:1280px;margin:0 auto;color:var(--bcp-text)}.bcp-header{display:flex;align-items:center;gap:16px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--bcp-border-soft);position:relative}.bcp-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(79,195,247,.5) 18%,rgba(233,69,96,.5) 60%,transparent 100%)}.bcp-back-btn{background:var(--bcp-surface-2);color:var(--bcp-accent);border:1px solid var(--bcp-accent);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.bcp-back-btn:hover{background:var(--bcp-accent);color:#001623}.bcp-title{display:flex;flex-direction:column;gap:2px}.bcp-title h2{margin:0;font-size:22px;letter-spacing:.4px;background:linear-gradient(120deg,#fff,#4fc3f7 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.bcp-subtitle{font-size:12px;color:var(--bcp-text-dim)}.bcp-form{background:var(--bcp-surface);border:1px solid var(--bcp-border-soft);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden}.bcp-form:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(600px 220px at 0% 0%,rgba(79,195,247,.07),transparent 60%),radial-gradient(500px 200px at 100% 0%,rgba(233,69,96,.05),transparent 60%);pointer-events:none}.bcp-row{position:relative}.bcp-row-numbers{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px}.bcp-label{display:block;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--bcp-text-dim);margin-bottom:8px}.bcp-cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bcp-cat-chip{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;background:var(--bcp-surface-2);border:1px solid var(--bcp-border);border-radius:10px;cursor:pointer;color:var(--bcp-text);text-align:left;transition:transform .15s ease,border-color .15s,background .15s}.bcp-cat-chip:hover:not(:disabled){border-color:var(--bcp-accent);transform:translateY(-1px)}.bcp-cat-chip.active{border-color:var(--bcp-pink);background:linear-gradient(135deg,#1a2a52,#2a1a30);box-shadow:0 0 0 1px #e9456059 inset}.bcp-cat-chip:disabled{opacity:.5;cursor:not-allowed}.bcp-cat-chip-label{font-size:14px;font-weight:600}.bcp-cat-chip-sub{font-size:11px;color:var(--bcp-text-dim)}.bcp-num{display:flex;flex-direction:column}.bcp-num-input{display:inline-flex;align-items:stretch;background:var(--bcp-surface-2);border:1px solid var(--bcp-border);border-radius:8px;overflow:hidden;height:34px}.bcp-num-input button{background:transparent;border:none;color:var(--bcp-text);width:30px;font-size:16px;cursor:pointer;transition:background .15s}.bcp-num-input button:hover:not(:disabled){background:var(--bcp-border)}.bcp-num-input button:disabled{opacity:.4;cursor:not-allowed}.bcp-num-input input{width:64px;border:none;background:transparent;color:var(--bcp-text);text-align:center;font-size:14px;outline:none;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.bcp-num-input input::-webkit-outer-spin-button,.bcp-num-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bcp-help{font-size:11px;color:var(--bcp-text-mute);margin-top:6px}.bcp-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.bcp-primary-btn{padding:9px 22px;background:linear-gradient(135deg,var(--bcp-accent) 0%,var(--bcp-accent-2) 100%);color:#00131f;border:none;border-radius:7px;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.4px;box-shadow:0 6px 18px -8px #4fc3f7b3;transition:transform .15s,box-shadow .15s,filter .15s}.bcp-primary-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.bcp-primary-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.bcp-ghost-btn{padding:8px 14px;background:transparent;color:var(--bcp-text-dim);border:1px solid var(--bcp-border);border-radius:7px;cursor:pointer;font-size:12px;transition:all .15s}.bcp-ghost-btn:hover{color:var(--bcp-text);border-color:var(--bcp-accent)}.bcp-toast{margin:16px 0 0;padding:10px 14px;border-radius:8px;font-size:13px;display:flex;align-items:center;gap:10px;animation:bcpFadeIn .25s ease}.bcp-toast b{color:#fff}.bcp-toast-err{background:#e945601f;border:1px solid rgba(233,69,96,.45);color:#ffb1c1}.bcp-toast-ok{background:#2ecc711a;border:1px solid rgba(46,204,113,.45);color:#b6f0cd}.bcp-toast-info{background:#4fc3f71a;border:1px solid rgba(79,195,247,.45);color:#c7e6fb}.bcp-toast-meta{font-size:11px;color:var(--bcp-text-mute);margin-left:2px}.bcp-toast-action{margin-left:auto;font-size:12px;color:var(--bcp-pink)}.bcp-toast-action:hover{text-decoration:underline}.bcp-toast-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.bcp-num-em{color:var(--bcp-accent)}.bcp-loading{margin-top:22px;text-align:center}.bcp-spinner{width:38px;height:38px;margin:0 auto 10px;border:3px solid var(--bcp-border);border-top-color:var(--bcp-accent);border-radius:50%;animation:bcpSpin .9s linear infinite}.bcp-loading-title{font-size:14px;color:var(--bcp-text);margin-bottom:4px}.bcp-loading-hint{font-size:12px;color:var(--bcp-text-dim);margin-bottom:18px}.bcp-loading-hint b{color:var(--bcp-accent)}.bcp-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;text-align:left}.bcp-skeleton-card{background:var(--bcp-surface);border:1px solid var(--bcp-border-soft);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:10px}.bcp-sk-line{height:10px;border-radius:4px;background:linear-gradient(90deg,var(--bcp-surface-2) 0%,var(--bcp-border) 50%,var(--bcp-surface-2) 100%);background-size:200% 100%;animation:bcpShimmer 1.4s ease-in-out infinite}.bcp-sk-line.w-60{width:60%}.bcp-sk-line.w-80{width:80%}.bcp-sk-line.w-90{width:90%}.bcp-sk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:4px}.bcp-sk-pill{height:22px;border-radius:6px;background:linear-gradient(90deg,var(--bcp-surface-2) 0%,var(--bcp-border) 50%,var(--bcp-surface-2) 100%);background-size:200% 100%;animation:bcpShimmer 1.4s ease-in-out infinite}.bcp-toolbar{margin:22px 0 14px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bcp-surface);border:1px solid var(--bcp-border-soft);border-radius:10px;position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bcp-toolbar-left{display:flex;align-items:center;gap:14px}.bcp-toolbar-right{display:flex;align-items:center;gap:10px}.bcp-toggle-all{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bcp-surface-2);border:1px solid var(--bcp-border);border-radius:7px;cursor:pointer;color:var(--bcp-text);font-size:12px;transition:border-color .15s,background .15s}.bcp-toggle-all:hover{border-color:var(--bcp-accent)}.bcp-mini-check{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--bcp-text-dim);position:relative;transition:all .15s}.bcp-mini-check.on{background:var(--bcp-accent);border-color:var(--bcp-accent)}.bcp-mini-check.on:after{content:"";position:absolute;left:3px;top:0;width:5px;height:9px;border:solid #001623;border-width:0 2px 2px 0;transform:rotate(45deg)}.bcp-counter{font-size:12px;color:var(--bcp-text-dim)}.bcp-write-btn{padding:9px 22px;background:linear-gradient(135deg,var(--bcp-green) 0%,#1abc9c 100%);color:#00231a;border:none;border-radius:7px;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.4px;box-shadow:0 6px 18px -8px #2ecc7199;transition:transform .15s,filter .15s}.bcp-write-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.bcp-write-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.bcp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.bcp-card{background:var(--bcp-surface);border:1px solid var(--bcp-border-soft);border-radius:12px;padding:14px 16px 16px;cursor:pointer;position:relative;transition:transform .15s ease,border-color .15s,box-shadow .15s;overflow:hidden}.bcp-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#4fc3f700,#4fc3f70a);opacity:0;transition:opacity .2s;pointer-events:none}.bcp-card:hover{border-color:var(--bcp-accent);transform:translateY(-2px);box-shadow:0 10px 28px -16px #4fc3f780}.bcp-card:hover:before{opacity:1}.bcp-card.selected{border-color:var(--bcp-pink);box-shadow:0 0 0 1px #e9456066 inset,0 12px 30px -18px #e9456080}.bcp-card.selected:after{content:"";position:absolute;top:-1px;right:-1px;border-width:0 24px 24px 0;border-style:solid;border-color:transparent var(--bcp-pink) transparent transparent}.bcp-card-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.bcp-checkbox{position:relative;display:inline-flex;align-items:center;cursor:pointer}.bcp-checkbox input{position:absolute;opacity:0;width:0;height:0}.bcp-checkbox-box{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--bcp-text-dim);background:var(--bcp-surface-2);position:relative;transition:all .15s}.bcp-checkbox input:checked~.bcp-checkbox-box{background:var(--bcp-pink);border-color:var(--bcp-pink)}.bcp-checkbox input:checked~.bcp-checkbox-box:after{content:"";position:absolute;left:4px;top:.5px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.bcp-card-name{font-size:14px;font-weight:700;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.bcp-card-cat{font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:3px 8px;background:#4fc3f71f;color:var(--bcp-accent);border:1px solid rgba(79,195,247,.3);border-radius:999px}.bcp-card-desc{margin:0 0 12px;font-size:12.5px;line-height:1.55;color:var(--bcp-text-dim)}.bcp-link-btn{background:none;border:none;color:var(--bcp-accent);cursor:pointer;font-size:12px;padding:0}.bcp-link-btn:hover{text-decoration:underline}.bcp-attrs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.bcp-attr{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:var(--bcp-surface-2);border:1px solid var(--bcp-border-soft);border-radius:6px;min-width:0}.bcp-attr-key{font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--bcp-text-mute)}.bcp-attr-val{font-size:12px;color:var(--bcp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcp-foot-hint{margin-top:18px;padding:10px 14px;font-size:11.5px;line-height:1.55;color:var(--bcp-text-dim);background:#0f34608c;border:1px dashed var(--bcp-border);border-radius:8px}.bcp-foot-hint code{background:var(--bcp-surface-2);padding:1px 6px;border-radius:4px;color:var(--bcp-accent);font-size:11px}@keyframes bcpSpin{to{transform:rotate(360deg)}}@keyframes bcpShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes bcpFadeIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:880px){.bcp{padding:16px}.bcp-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bcp-row-numbers{flex-direction:column;align-items:stretch}.bcp-actions{margin-left:0}}.app{display:flex;min-height:100vh}.main{margin-left:280px;padding:20px;flex:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;color:#666}.empty-state h1{font-size:24px;margin-bottom:8px}.empty-state p{font-size:14px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;background:#1a1a2e;color:#eee}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#16213e}::-webkit-scrollbar-thumb{background:#0f3460;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#e94560}
