:root{--bg-dark: #0d1117;--bg-panel: #161b22;--bg-hover: #21262d;--border-color: #30363d;--text-primary: #c9d1d9;--text-secondary: #8b949e;--primary-color: #58a6ff;--danger-color: #f85149;--success-color: #3fb950;--warning-color: #d29922;--highlight-color: rgba(56, 139, 253, .4)}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;background-color:var(--bg-dark);color:var(--text-primary);display:flex;flex-direction:column;height:100vh;overflow:hidden}input,select,textarea{background:#0d1117;color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;font-family:inherit;font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--primary-color);outline:none}.btn{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:4px 12px;cursor:pointer;font-size:13px;transition:background .15s}.btn:hover{background:#30363d}.btn-primary{background:#238636;border-color:#f0f6fc1a;color:#fff}.btn-primary:hover{background:#2ea043}.btn-danger{background:#da3633;color:#fff;border:none}.btn-danger:hover{background:#f85149}.btn-sm{padding:2px 8px;font-size:12px}.header{height:48px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 16px;background-color:var(--bg-panel);flex-shrink:0}.logo{display:flex;align-items:center;font-weight:700;text-decoration:none;color:inherit}.logo:hover{opacity:.9}.logo-img{height:28px;margin-right:12px}.logo-text{font-size:16px;margin-right:8px;flex-shrink:0}.logo-ver{font-size:11px;color:var(--text-secondary);background:#8b949e26;padding:2px 10px;border-radius:12px;font-weight:500}.header-sep{width:1px;height:24px;background:var(--border-color);margin:0 16px}.base-url-group{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.base-url-group label{font-size:13px;color:var(--text-secondary);flex-shrink:0;-webkit-user-select:none;user-select:none;font-weight:500}.base-url-group input{flex:1;height:28px;min-width:120px}.toolbar{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.tool-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s;padding:0}.tool-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tool-btn.primary{color:var(--primary-color)}.tool-btn.primary:hover{background:var(--bg-hover)}.tool-btn.disabled{opacity:.3;cursor:not-allowed}.btn-icon{width:16px;height:16px;display:block;pointer-events:none}.tool-sep{font-size:12px;color:var(--border-color);margin:0 8px;-webkit-user-select:none;user-select:none}.main{display:flex;flex:1;min-height:0;transition:all .3s ease;position:relative}.group-panel{width:220px;background:var(--bg-panel);display:flex;flex-direction:column;border-right:1px solid var(--border-color);flex-shrink:0}.group-panel-header{height:40px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 12px;flex-shrink:0}.group-panel-header span{font-weight:600;font-size:13px}.group-list{flex:1;overflow-y:auto;padding:8px}.group-item{display:flex;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid transparent;margin-bottom:4px;gap:8px;-webkit-user-select:none;user-select:none}.group-item:hover{background:var(--bg-hover)}.group-item.active{background:var(--bg-hover);border-color:var(--primary-color)}.group-item .group-icon{font-size:14px;flex-shrink:0;opacity:.7;cursor:grab}.group-item .group-name{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-item .group-name input{width:100%;background:transparent;border:1px solid var(--primary-color);padding:1px 4px;font-size:13px;color:var(--text-primary);border-radius:3px}.group-item .group-badge{font-size:11px;background:#8b949e26;padding:1px 6px;border-radius:8px;color:var(--text-secondary);flex-shrink:0}.group-item .group-delete{opacity:0;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;border-radius:3px;flex-shrink:0;transition:opacity .15s}.group-item:hover .group-delete{opacity:1}.group-item .group-delete:hover{color:var(--danger-color)}.group-item.drag-over{border-top:2px solid var(--primary-color)}.group-add-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px;margin:4px 8px 8px;border-radius:6px;border:1px dashed var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all .15s;background:transparent}.group-add-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:#58a6ff0d}.group-props{border-top:1px solid var(--border-color);padding:12px;flex-shrink:0}.group-props .prop-title{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}.group-props .form-row{display:flex;align-items:center;margin-bottom:8px;gap:8px}.group-props .form-row label{font-size:12px;color:var(--text-secondary);width:50px;flex-shrink:0;text-align:right;line-height:26px}.group-props .form-row input{flex:1;min-width:0;height:26px;font-size:12px}.toggle-wrap{display:flex;align-items:center;gap:8px}.toggle{position:relative;width:36px;height:20px;background:var(--border-color);border-radius:10px;cursor:pointer;transition:background .2s;flex-shrink:0}.toggle.on{background:var(--success-color)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s}.toggle.on:after{transform:translate(16px)}.toggle-label{font-size:12px;color:var(--text-secondary)}.item-panel{flex:1;display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border-color);position:relative}.item-panel-header{height:40px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 12px;flex-shrink:0;background:var(--bg-panel);gap:8px}.item-panel-header>span:first-child{font-weight:600;font-size:13px;flex-shrink:0}.search-bar{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.search-bar input{width:200px;height:26px;font-size:12px;padding:2px 8px;flex-shrink:0}.search-mode{display:flex;font-size:11px;cursor:pointer;border:1px solid var(--border-color);border-radius:4px;overflow:hidden;background:var(--bg-dark);flex-shrink:0}.search-mode-opt{padding:3px 8px;color:var(--text-secondary);transition:all .15s;-webkit-user-select:none;user-select:none}.search-mode-opt:hover{color:var(--text-primary);background:var(--bg-hover)}.search-mode-opt.active{background:var(--primary-color);color:#fff}mark.search-hl{background:#d2992280;color:inherit;border-radius:2px;padding:0 1px}.search-result-group{font-size:11px;color:var(--text-secondary);padding:6px 10px 4px;background:#ffffff05;border-top:1px solid var(--border-color);font-weight:600;letter-spacing:.3px}.search-result-group:first-child{border-top:none}.item-panel-actions{display:flex;align-items:center;gap:4px}.item-scroll{flex:1;overflow-y:auto}.item-list{padding:8px;display:flex;flex-direction:column;gap:4px}.item-row{display:flex;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s;border:1px solid transparent;gap:8px;-webkit-user-select:none;user-select:none}.item-row:hover{background:var(--bg-hover)}.item-row.active{background:var(--bg-hover);border-color:var(--primary-color)}.item-row.drag-over{border-top:2px solid var(--primary-color)}.item-row.dragging{opacity:.5}.item-row .drag-handle{font-size:14px;color:var(--text-secondary);cursor:grab;flex-shrink:0;opacity:.5}.item-row .drag-handle:hover{opacity:1}.item-row .item-name{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-row .item-type{font-size:10px;padding:1px 6px;border-radius:4px;background:#8b949e26;color:var(--text-secondary);text-transform:uppercase;flex-shrink:0;font-weight:500}.item-row .item-type.live{background:#f8514926;color:var(--danger-color)}.item-row .item-preview-btn{opacity:0;background:transparent;border:none;color:var(--primary-color);cursor:pointer;padding:2px 4px;border-radius:3px;flex-shrink:0;transition:opacity .15s;font-size:13px}.item-row:hover .item-preview-btn{opacity:1}.item-row .item-preview-btn:hover{background:var(--bg-hover)}.item-row .item-delete-btn{opacity:0;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;border-radius:3px;flex-shrink:0;transition:opacity .15s}.item-row:hover .item-delete-btn{opacity:1}.item-row .item-delete-btn:hover{color:var(--danger-color)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state .icon{font-size:40px;margin-bottom:16px;opacity:.4}.empty-state p{font-size:13px;margin:4px 0}.drop-zone-import{border:2px dashed var(--border-color);border-radius:16px;padding:48px 40px;text-align:center;max-width:460px;width:80%;margin:0 auto;transition:border-color .25s,background .25s}.drop-zone-import:hover{border-color:var(--text-secondary);background:#ffffff05}.drop-zone-import .dz-icon{font-size:48px;margin-bottom:16px;opacity:.5}.drop-zone-import .dz-title{font-size:16px;font-weight:600;margin-bottom:8px}.drop-zone-import .dz-sub{font-size:13px;color:var(--text-secondary)}.detail-panel{border-top:1px solid var(--border-color);flex-shrink:0;overflow-y:auto;max-height:50%;animation:fadeSlideIn .2s ease}.detail-panel-header{height:36px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--bg-panel);flex-shrink:0;position:sticky;top:0;z-index:5}.detail-panel-header span{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:2px 4px}.detail-close:hover{color:var(--text-primary)}.detail-body{padding:12px}.detail-body .form-group{margin-bottom:12px}.detail-body .form-group label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-secondary);margin-bottom:4px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.detail-tool-link{font-size:10px;font-weight:400;text-transform:none;letter-spacing:normal;color:#fff;background:var(--primary-color, #409eff);padding:1px 6px;border-radius:3px;text-decoration:none;opacity:.85;transition:opacity .2s}.detail-tool-link:hover{opacity:1;text-decoration:none}.detail-body .form-group input,.detail-body .form-group select{width:100%;height:28px;font-size:12px}.detail-body .form-row{display:flex;gap:12px}.detail-body .form-row .form-group{flex:1}.detail-body .form-divider{border-top:1px solid var(--border-color);margin:12px 0}.subtitle-list{display:flex;flex-direction:column;gap:4px}.subtitle-row{display:flex;gap:4px;align-items:center}.subtitle-row input{flex:1;height:26px;font-size:12px}.subtitle-row .sub-del{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:2px 4px;border-radius:3px;font-size:14px}.subtitle-row .sub-del:hover{color:var(--danger-color)}.sub-add-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px dashed var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:12px;transition:all .15s;background:transparent;margin-top:4px}.sub-add-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.poster-preview{margin-top:4px;background:#0003;border:1px dashed var(--border-color);border-radius:4px;padding:8px;display:flex;justify-content:center}.poster-preview img{max-height:60px;max-width:100%;object-fit:contain;border-radius:4px}.json-panel{width:320px;background:var(--bg-dark);display:flex;flex-direction:column;flex-shrink:0;transition:width .3s ease}.main.json-collapsed .json-panel{width:0;border-left:none;overflow:hidden}.json-panel-header{height:40px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--bg-panel);font-size:13px;font-weight:700;font-family:monospace}#jsonContent{flex:1;border:none;background:transparent;color:#a5d6ff;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;padding:12px;resize:none;line-height:1.4;outline:none}.json-toggle-btn{position:absolute;right:-12px;top:50%;transform:translateY(-50%);z-index:100;width:24px;height:32px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:right .3s}.json-toggle-btn:hover{background:var(--border-color)}.main.json-collapsed .json-toggle-btn{right:0;border-radius:4px 0 0 4px;border-right:none}.statusbar{height:28px;background:#000;display:flex;align-items:center;padding:0 16px;font-size:12px;color:var(--text-secondary);flex-shrink:0;gap:4px}.statusbar .sep{height:12px;width:1px;background:var(--border-color);margin:0 12px}.statusbar .status-ok{color:var(--success-color)}.statusbar .status-warn{color:var(--warning-color)}.statusbar .status-error{color:var(--danger-color)}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:9999;display:none;flex-direction:column}.preview-overlay.active{display:flex}.preview-header{height:48px;background:#000;border-bottom:1px solid #333;display:flex;align-items:center;justify-content:space-between;padding:0 16px;color:#fff}.preview-player-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:32px}.preview-player-wrap .video{width:100%;max-width:1280px;aspect-ratio:16/9;background:#000;border:1px solid #333;box-shadow:0 10px 30px #00000080}.app-toast{position:fixed;left:50%;bottom:80px;transform:translate(-50%) translateY(20px);background:var(--text-primary);color:var(--bg-dark);padding:8px 16px;border-radius:4px;font-size:14px;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.175,.885,.32,1.275);z-index:1000;box-shadow:0 4px 12px #0003}.app-toast.error{background:var(--danger-color);color:#fff}.app-toast.show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.draft-toast{position:fixed;right:16px;top:64px;background:var(--bg-panel);border:1px solid var(--border-color);border-left:4px solid var(--primary-color);padding:12px 16px;border-radius:4px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #00000080;z-index:1000;font-size:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:10000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;width:560px;max-width:90vw;box-shadow:0 16px 48px #00000080;animation:fadeSlideIn .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);font-weight:700;font-size:15px}.modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0 4px}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px}.modal-body p{margin:0 0 12px;color:var(--text-secondary);font-size:13px}.modal-body textarea{width:100%;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.5}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--border-color)}.confirm-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.group-list::-webkit-scrollbar,.item-scroll::-webkit-scrollbar,.detail-panel::-webkit-scrollbar{width:6px}.group-list::-webkit-scrollbar-track,.item-scroll::-webkit-scrollbar-track,.detail-panel::-webkit-scrollbar-track{background:transparent}.group-list::-webkit-scrollbar-thumb,.item-scroll::-webkit-scrollbar-thumb,.detail-panel::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}#jsonContent::-webkit-scrollbar{width:6px}#jsonContent::-webkit-scrollbar-track{background:transparent}#jsonContent::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1117eb;z-index:9998;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drop-overlay.active{display:flex}.drop-overlay-inner{text-align:center}.drop-icon{font-size:64px;margin-bottom:16px;opacity:.7;animation:dropBounce 1.2s ease infinite}.drop-text{font-size:22px;font-weight:600;color:var(--primary-color);margin-bottom:8px}.drop-sub{font-size:14px;color:var(--text-secondary)}@keyframes dropBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.item-row .item-checkbox{width:14px;height:14px;border:1px solid var(--border-color);border-radius:3px;cursor:pointer;flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;transition:all .15s;position:relative;margin:0}.item-row .item-checkbox:checked{background:var(--primary-color);border-color:var(--primary-color)}.item-row .item-checkbox:checked:after{content:"✓";position:absolute;top:-1px;left:1px;font-size:11px;color:#fff;font-weight:700}.item-row.selected{background:#388bfd1a;border-color:#388bfd4d}.bulk-selection-label{font-size:12px;color:var(--primary-color);font-weight:500;padding:2px 8px;background:#388bfd1a;border-radius:10px;white-space:nowrap}.bulk-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.bulk-row label{font-size:12px;color:var(--text-secondary);width:120px;flex-shrink:0;text-align:right}.bulk-row select,.bulk-row input{height:28px;font-size:12px}.form-divider{border-top:1px solid var(--border-color);margin:12px 0}.report-stats{display:flex;flex-direction:column;gap:8px}.report-stat-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#ffffff08;border-radius:6px}.report-icon{font-size:18px;flex-shrink:0}.report-label{flex:1;font-size:14px}.report-count{font-size:18px;font-weight:700;color:var(--primary-color)}.report-divider{border-top:1px solid var(--border-color);margin:12px 0}.report-unmatched-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;color:var(--warning-color)}.report-unmatched-list{max-height:120px;overflow-y:auto}.report-unmatched-item{font-size:12px;color:var(--text-secondary);padding:2px 8px;font-family:monospace}.group-item.drop-target{background:#388bfd26;border-color:var(--primary-color)}.lang-switch{font-weight:600;font-size:.9rem}.lang-switch .lang-link{color:var(--text-muted, #64748b);text-decoration:none;transition:color .3s ease}.lang-switch .lang-link:hover{color:var(--text-primary, #1e293b)}.import-dropzone{border:2px dashed var(--border-color);border-radius:12px;padding:40px;text-align:center;background:#ffffff05;transition:all .2s;cursor:pointer;-webkit-user-select:none;user-select:none}.import-dropzone:hover{border-color:var(--primary-color);background:#58a6ff0d}.import-dropzone.drag-over{border-color:var(--primary-color);background:#58a6ff1a;transform:scale(1.02)}.import-dropzone .icon{font-size:48px;margin-bottom:12px;opacity:.8}.import-dropzone .drop-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.import-dropzone .drop-desc{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.import-dropzone .drop-note{font-size:12px;color:var(--primary-color);background:#58a6ff1a;display:inline-block;padding:4px 12px;border-radius:12px}.validation-popover{position:absolute;bottom:36px;left:50%;transform:translate(-50%);width:340px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 20px #00000080;z-index:1000;display:flex;flex-direction:column;animation:slideUpPop .2s cubic-bezier(.18,.89,.32,1.28) forwards}.validation-popover .popover-header{padding:10px 12px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border-color);background:var(--bg-dark);border-radius:6px 6px 0 0}.validation-popover .popover-content{padding:8px;max-height:260px;overflow-y:auto;font-size:12px;color:var(--text-primary)}.validation-popover .val-item{padding:8px;border-radius:4px;margin-bottom:4px;background:#ffffff08;display:flex;gap:8px;line-height:1.4;border-left:3px solid transparent}.validation-popover .val-item:last-child{margin-bottom:0}.validation-popover .val-item.error{border-left-color:var(--danger-color);background:#f8514914}.validation-popover .val-item.warn{border-left-color:var(--warning-color);background:#d299220d}.validation-popover .val-icon{flex-shrink:0;font-size:14px}@keyframes slideUpPop{0%{opacity:0;margin-bottom:-10px}to{opacity:1;margin-bottom:0}}
