.top-bar{height:56px;background:#fff;border-bottom:1px solid #E5E7EB;box-shadow:0 1px 2px #0000000d;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:relative;z-index:40}.top-bar-left{display:flex;align-items:center;gap:24px}.top-bar-right{display:flex;align-items:center;gap:12px}.top-bar-logo{display:block;text-decoration:none;transition:opacity .2s}.top-bar-logo:hover{opacity:.8}.top-bar-logo-img{height:32px;width:auto;display:block}.top-bar-separator{width:1px;height:32px;background:#d1d5db}.top-bar-dropdown{position:relative}.top-bar-dropdown-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:transparent;border:none;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:background-color .15s}.top-bar-dropdown-btn:hover{background:#f3f4f6}.top-bar-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;width:192px;background:#fff;border:1px solid #E5E7EB;border-radius:6px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:4px 0;z-index:50;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.top-bar-menu-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px 16px;background:none;border:none;font-size:14px;color:#374151;text-align:left;cursor:pointer;transition:background-color .15s}.top-bar-menu-item:hover:not(:disabled){background:#f3f4f6}.top-bar-menu-item:disabled{color:#9ca3af;cursor:not-allowed}.top-bar-menu-item svg{flex-shrink:0}.top-bar-menu-item>span:first-of-type{flex:1}.top-bar-shortcut{margin-left:auto;font-size:12px;color:#9ca3af}.top-bar-menu-separator{height:1px;background:#e5e7eb;margin:4px 0}.top-bar-menu-item-danger{color:#dc2626}.top-bar-menu-item-danger:hover:not(:disabled){background:#fef2f2}.top-bar-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:#4b5563;cursor:pointer;transition:background-color .15s}.top-bar-icon-btn:hover:not(:disabled){background:#f3f4f6}.top-bar-icon-btn:disabled{color:#9ca3af;cursor:not-allowed}.top-bar-snap-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid transparent;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s}.top-bar-snap-btn:hover{background:#f3f4f6}.top-bar-snap-btn.active{background:#48bb78;color:#fff;border-color:#48bb78}@media (max-width: 1024px){.top-bar-shortcut{display:none}.top-bar-left{gap:16px}}@media (max-width: 768px){.top-bar{padding:0 12px}.top-bar-left{gap:12px}.top-bar-right{gap:8px}.top-bar-snap-btn span{display:none}}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-modal{background:#34495e;color:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 10px 40px #00000080}.confirm-modal h3{margin:0 0 12px;font-size:20px;color:#ecf0f1}.confirm-modal p{margin:0 0 20px;font-size:14px;color:#bdc3c7}.confirm-modal-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-modal-actions .btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;font-weight:500}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover{background:#c0392b}.object-selector-card{background:#2c3e50;border-radius:12px;padding:12px;box-shadow:0 8px 24px #0000004d,0 2px 8px #0003;min-width:160px;max-width:180px;flex-shrink:0}.selector-title{margin:0 0 12px;color:#ecf0f1;font-size:14px;font-weight:600;text-align:center;border-bottom:2px solid #34495e;padding-bottom:8px}.object-type-list{display:flex;flex-direction:column;gap:8px}.object-type-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#34495e;border:2px solid transparent;border-radius:8px;color:#ecf0f1;cursor:pointer;transition:all .2s ease;position:relative;width:100%}.object-type-btn:hover{background:#3d566e;border-color:#27ae60;transform:translate(4px)}.object-type-btn.active{background:linear-gradient(135deg,#27ae60,#229954);border-color:#5dade2;box-shadow:0 0 25px #3498dbe6,0 0 15px #3498db99,inset 0 0 10px #fff3;transform:translate(6px);font-weight:600}.object-type-icon{width:24px;height:24px;object-fit:contain;flex-shrink:0}.object-type-symbol{font-size:22px;line-height:1;flex-shrink:0;font-weight:600;color:#ecf0f1}.object-label{font-size:13px;font-weight:500;flex:1;text-align:left}.icon-count-badge{background:#e74c3c;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.caret-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ecf0f1;cursor:pointer;padding:4px 6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;margin-left:auto}.caret-btn:hover{background:#fff3;border-color:#27ae60;transform:scale(1.1)}.caret-btn svg{font-size:10px}.icon-submenu-card{position:fixed;left:230px;top:50%;transform:translateY(-50%);background:#2c3e50;border-radius:12px;padding:12px;box-shadow:0 8px 24px #0000004d,0 2px 8px #0003;z-index:99;max-width:180px;max-height:80vh;overflow-y:auto}.icon-submenu-list{display:flex;flex-direction:column;gap:6px}.icon-submenu-option{background:#34495e;border:2px solid transparent;border-radius:6px;cursor:pointer;padding:8px 10px;display:flex;align-items:center;gap:10px;transition:all .2s ease;width:100%}.icon-submenu-option:hover{background:#3d566e;border-color:#27ae60;transform:translate(4px)}.icon-submenu-image{width:28px;height:28px;object-fit:contain;flex-shrink:0}.icon-submenu-name{font-size:12px;color:#ecf0f1;font-weight:500;flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arrow-mode-list{display:flex;flex-direction:column;gap:6px}.arrow-mode-option{background:#34495e;border:2px solid transparent;border-radius:6px;cursor:pointer;padding:8px 10px;display:flex;align-items:center;gap:10px;transition:all .2s ease;color:#ecf0f1;width:100%}.arrow-mode-option:hover{background:#3d566e;border-color:#27ae60;transform:translate(4px)}.arrow-mode-option.active{background:linear-gradient(135deg,#27ae60,#229954);border-color:#5dade2;box-shadow:0 0 20px #3498db80;font-weight:600}.arrow-mode-icon{font-size:28px;line-height:1;flex-shrink:0}.arrow-mode-label{font-size:12px;font-weight:500;flex:1;text-align:left}.templates-card{margin-top:20px}.template-list{display:flex;flex-direction:column;gap:6px}.template-item{display:flex;gap:4px;align-items:center}.template-use-btn{flex:1;background:#34495e;border:2px solid transparent;border-radius:6px;color:#ecf0f1;cursor:pointer;padding:8px 10px;font-size:12px;font-weight:500;transition:all .2s ease;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-use-btn:hover{background:#3d566e;border-color:#27ae60;transform:translate(4px)}.template-delete-btn{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;width:24px;height:24px;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.template-delete-btn:hover{background:#c0392b;transform:scale(1.1)}.icon-submenu-card::-webkit-scrollbar{width:8px}.icon-submenu-card::-webkit-scrollbar-track{background:#34495e;border-radius:4px}.icon-submenu-card::-webkit-scrollbar-thumb{background:#4a6278;border-radius:4px}.icon-submenu-card::-webkit-scrollbar-thumb:hover{background:#5a7a9a}@media (max-width: 768px){.object-selector-card{left:10px;min-width:144px;max-width:168px}.icon-submenu-card{left:192px}}.compact-menu{background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:200px;overflow:hidden;box-shadow:0 4px 12px #00000014;flex-shrink:0}.compact-header{background:#f8fafc;padding:14px 16px;border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.submenu-header{display:flex;align-items:center;gap:8px}.submenu-back-btn{background:none;border:none;color:#6b7280;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.submenu-back-btn:hover{background:#e5e7eb;color:#1f2937}.compact-items{max-height:400px;overflow-y:auto}.compact-items::-webkit-scrollbar{width:6px}.compact-items::-webkit-scrollbar-track{background:#f9fafb}.compact-items::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.compact-items::-webkit-scrollbar-thumb:hover{background:#94a3b8}.compact-item{padding:12px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid #f3f4f6;position:relative}.compact-item:last-child{border-bottom:none}.compact-item:hover{background:#f9fafb}.compact-item.has-submenu{background:transparent}.compact-item.has-submenu:hover{background:#f9fafb}.compact-item.active{background:#eff6ff;border-left:3px solid #3b82f6;padding-left:13px}.compact-item:focus{outline:2px solid #3b82f6;outline-offset:-2px}.compact-indicator{display:none}.compact-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:#e5e7eb;border-radius:6px}.compact-text{color:#374151;font-size:14px;font-weight:500;flex:1}.compact-shortcut{background:#f3f4f6;color:#6b7280;font-size:11px;font-weight:600;padding:2px 6px;border-radius:3px;border:1px solid #e5e7eb;flex-shrink:0;font-family:monospace;min-width:20px;text-align:center}.compact-chevron{color:#9ca3af;font-size:14px;flex-shrink:0}.compact-divider{height:1px;background:#e5e7eb;margin:8px 0}.compact-section-label{padding:8px 16px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb}.compact-template{background:#fef3c7}.compact-template:hover{background:#fde68a}.template-delete-btn{width:20px;height:20px;border-radius:4px;background:#0000001a;border:none;color:#dc2626;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.template-delete-btn:hover{background:#fee2e2;transform:scale(1.1)}.compact-menu{animation:menuFadeIn .15s ease-out}@keyframes menuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 640px){.compact-menu{width:calc(100vw - 32px);max-width:320px}.compact-item{padding:14px 16px;min-height:44px}}.compact-item:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px;z-index:1}.submenu-back-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.compact-items{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f9fafb}.object{position:absolute;cursor:grab;width:auto;height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.object-rotatable{display:flex;align-items:center;justify-content:center}.object.selected{filter:drop-shadow(0 0 6px rgba(52,152,219,1)) drop-shadow(0 0 10px rgba(52,152,219,1)) drop-shadow(0 0 15px rgba(52,152,219,.9));z-index:100;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 6px rgba(52,152,219,1)) drop-shadow(0 0 10px rgba(52,152,219,1)) drop-shadow(0 0 15px rgba(52,152,219,.9))}50%{filter:drop-shadow(0 0 8px rgba(52,152,219,1)) drop-shadow(0 0 12px rgba(52,152,219,1)) drop-shadow(0 0 18px rgba(52,152,219,1))}}.object:hover:not(.selected):not(:active){transform:scale(1.1)}.object:active{cursor:grabbing}.object:active,.object.selected:active{transform:none!important}.object-emoji{font-size:30px;pointer-events:none}.object-image{object-fit:contain;pointer-events:none}.text-object{border-radius:4px;min-width:40px;text-align:center}.text-label{font-weight:700;white-space:nowrap;pointer-events:none}.text-input-inline{min-width:80px;text-align:center}.object-id-label{font-size:10px;font-weight:700;color:#2c3e50;background:#fff;border:1px solid #27ae60;border-radius:3px;padding:1px 4px;margin-top:2px;pointer-events:none;white-space:nowrap}.object.selected .object-id-label{background:#27ae60;color:#fff;border-color:#fff;box-shadow:0 0 10px #3498db99}.canvas-container{flex:1;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ecf0f1}.pitch{position:relative;background:#2ecc71;border:3px solid white;box-shadow:0 4px 12px #0003}.pitch-logo-container{position:absolute;bottom:15px;right:15px;padding:10px 15px;background:#ffffff59;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 6px #0000001a;z-index:50;pointer-events:none}.pitch-logo{height:40px;width:auto;display:block;opacity:1}.pitch-grid{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.arrow-handle{position:absolute;width:20px;height:20px;cursor:move;display:flex;flex-direction:column;align-items:center;-webkit-user-select:none;user-select:none;z-index:10}.arrow-handle-inner{width:16px;height:16px;background:#ffffffe6;border:3px solid #3498db;border-radius:50%;pointer-events:none;box-shadow:0 2px 4px #0000004d}.arrow-handle.selected .arrow-handle-inner{background:#3498db;border-color:#fff;box-shadow:0 0 8px #3498dbcc,0 2px 4px #0000004d}.arrow-handle:hover .arrow-handle-inner{transform:scale(1.3);box-shadow:0 0 8px #3498db99,0 2px 6px #0006}.arrow-point-handle{position:absolute;width:16px;height:16px;border-radius:50%;cursor:move;z-index:15;border:2px solid white;box-shadow:0 2px 4px #0000004d;transition:all .2s ease}.arrow-point-start{background:#e74c3c}.arrow-point-end{background:#3498db}.arrow-point-control{background:#f39c12}.arrow-point-handle:hover{transform:scale(1.3);box-shadow:0 0 10px #fffc,0 2px 6px #0006;z-index:20}.arrow-point-handle.selected{border-width:3px;box-shadow:0 0 12px #fff,0 2px 6px #00000080}.arrow-id-label{position:absolute;background:#2c3e50e6;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;pointer-events:none;transform:translate(-50%,-50%);z-index:5;box-shadow:0 2px 4px #0000004d}.add-frame-dropdown{position:relative;display:inline-flex;gap:1px}.add-frame-main-button{border-top-right-radius:0;border-bottom-right-radius:0;padding:4px 8px!important;font-size:11px!important}.add-frame-dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0;padding:4px 6px!important;min-width:auto;border-left:1px solid rgba(255,255,255,.3);font-size:11px!important}.add-frame-dropdown-arrow{font-size:10px;transition:transform .2s;display:inline-block}.add-frame-dropdown-menu{position:absolute;top:calc(100% + 5px);left:0;background:#fff;border:1px solid #27ae60;border-radius:4px;box-shadow:0 4px 6px #0000001a;z-index:1000;min-width:200px;overflow:hidden}.add-frame-dropdown-item{display:block;width:100%;padding:10px 20px;background:#fff;color:#2c3e50;border:none;text-align:left;cursor:pointer;font-size:14px;transition:background .2s;white-space:nowrap}.add-frame-dropdown-item:hover{background:#ecf0f1}.add-frame-dropdown-item:not(:last-child){border-bottom:1px solid #ecf0f1}.timeline-settings-card{background:#2c3e50f2;border-radius:8px;margin-bottom:16px;box-shadow:0 2px 8px #0003;overflow:hidden}.timeline-settings-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:transparent;border:none;color:#ecf0f1;cursor:pointer;font-size:14px;font-weight:600;transition:background-color .2s}.timeline-settings-toggle:hover{background:#ffffff0d}.timeline-settings-toggle-text{-webkit-user-select:none;user-select:none}.timeline-settings-toggle-icon{color:#95a5a6;transition:transform .3s ease}.timeline-settings-toggle-icon.expanded{transform:rotate(180deg)}.timeline-settings-content{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}.timeline-settings-content.expanded{max-height:400px}.timeline-settings-inner{padding:0 20px 16px;display:flex;flex-direction:column;gap:16px}.timeline-setting-group{display:flex;flex-direction:column;gap:6px}.timeline-setting-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500;color:#ecf0f1}.timeline-setting-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3498db}.timeline-setting-label span{-webkit-user-select:none;user-select:none}.timeline-setting-label-text{display:block;font-size:14px;font-weight:500;color:#ecf0f1;margin-bottom:4px}.timeline-setting-description{margin:0;font-size:12px;color:#95a5a6;line-height:1.4;max-width:200px}.timeline-setting-slider{width:150px;height:6px;border-radius:3px;background:#fff3;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.timeline-setting-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#3498db;cursor:pointer;transition:all .2s}.timeline-setting-slider::-webkit-slider-thumb:hover{background:#5dade2;transform:scale(1.1)}.timeline-setting-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#3498db;cursor:pointer;border:none;transition:all .2s}.timeline-setting-slider::-moz-range-thumb:hover{background:#5dade2;transform:scale(1.1)}@media (max-width: 1200px){.timeline-setting-description{max-width:180px}}.timeline-balanced-compact{position:relative;width:100%;height:85px;background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;display:flex;box-shadow:0 -2px 8px #0000000f;margin:0 8px 8px;flex-shrink:0}.timeline-panel{display:flex;flex-direction:column}.timeline-panel-left{width:120px;background:#f8fafc;padding:10px;border-right:1px solid #e5e7eb}.timeline-panel-center{flex:1;min-width:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.timeline-panel-right{width:120px;background:#f8fafc;padding:10px;border-left:1px solid #e5e7eb}.panel-label{font-size:9px;font-weight:600;color:#64748b;text-transform:uppercase;margin-bottom:8px;letter-spacing:.5px}.timeline-btn{width:100%;border:none;font-size:10px;font-weight:500;padding:4px 8px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:3px;transition:all .2s}.timeline-btn:hover:not(:disabled){opacity:.8;transform:translateY(-1px)}.timeline-btn:active:not(:disabled){transform:translateY(0)}.timeline-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.timeline-btn-add{background:#10b981;color:#fff;box-shadow:0 1px 3px #10b98133}.timeline-btn-remove{background:#fff;color:#ef4444;border:1px solid #ef4444;margin-top:8px}.timeline-btn-play{background:#10b981;color:#fff;padding:5px 10px;font-size:11px;box-shadow:0 1px 3px #10b98133}.speed-selector{width:100%;background:#fff;border:1px solid #d1d5db;padding:4px 6px;border-radius:4px;font-size:10px;cursor:pointer;margin-top:6px;transition:all .2s}.speed-selector:hover:not(:disabled){border-color:#9ca3af}.speed-selector:disabled{opacity:.5;cursor:not-allowed}.step-visualization{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;overflow:hidden}.step-indicator-row{display:flex;align-items:center;gap:12px;width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:0 8px;scroll-behavior:smooth}.step-indicator-row::-webkit-scrollbar{height:8px}.step-indicator-row::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px;margin:0 8px}.step-indicator-row::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;border:2px solid #f1f5f9;transition:background .2s}.step-indicator-row::-webkit-scrollbar-thumb:hover{background:#3b82f6;border-color:#eff6ff}.step-indicator-row{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.step-circle{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:50%;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.step-circle.completed{background:#3b82f6;color:#fff;box-shadow:0 2px 4px #3b82f633}.step-circle.current{background:#fbbf24;color:#fff;box-shadow:0 0 0 3px #fbbf2433,0 2px 4px #fbbf244d}.step-circle.upcoming{background:#e5e7eb;color:#9ca3af}.step-circle:hover:not(.current){transform:scale(1.05)}.step-connector{height:2px;flex:1;min-width:20px;background:#e5e7eb;transition:background .3s}.step-connector.completed{background:#3b82f6}.timeline-nav-controls-above{position:relative;display:flex;gap:6px;justify-content:center;background:#fafafaf2;padding:4px;border-radius:6px;box-shadow:0 2px 6px #0000001a;margin:0 auto 8px;width:fit-content}.nav-btn-above{width:24px;height:24px;min-width:24px;min-height:24px;background:#fff;border:1px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.nav-btn-above:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px)}.nav-btn-above:active:not(:disabled){transform:translateY(0)}.nav-btn-above:disabled{opacity:.4;cursor:not-allowed;transform:none}.timeline-btn:focus-visible,.nav-btn-above:focus-visible,.step-circle:focus-visible,.speed-selector:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (max-width: 1024px){.timeline-balanced-compact{flex-direction:column;height:auto;max-height:50vh;overflow-y:auto}.timeline-panel-left,.timeline-panel-right,.timeline-panel-center{width:100%;border:none}.timeline-panel-left{border-bottom:1px solid #e5e7eb}.timeline-panel-center{border-bottom:1px solid #e5e7eb;padding:20px}.step-indicator-row{overflow-x:auto;justify-content:flex-start}}.timeline-sidebar,.object-item-compact,.object-group-compact,.group-header-compact{display:none!important}.objects-container{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:6px;height:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.objects-header{display:flex;justify-content:space-between;color:#64748b;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.objects-scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;min-width:0}.objects-scroll-area::-webkit-scrollbar{width:8px}.objects-scroll-area::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.objects-scroll-area::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;transition:background .2s}.objects-scroll-area::-webkit-scrollbar-thumb:hover{background:#3b82f6}.chrome-group{background:#fff;border-radius:6px;margin-bottom:8px;overflow:hidden;border:2px solid #fb923c;transition:all .2s ease}.chrome-group.blue{border-color:#60a5fa}.chrome-group.green{border-color:#4ade80}.chrome-group.purple{border-color:#a78bfa}.chrome-group.red{border-color:#f87171}.chrome-group.yellow{border-color:#fbbf24}.chrome-group.pink{border-color:#f472b6}.group-header{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s;background:linear-gradient(to right,#fb923c1f,#fb923c0a);min-width:0}.chrome-group.blue .group-header{background:linear-gradient(to right,#60a5fa1f,#60a5fa0a)}.chrome-group.green .group-header{background:linear-gradient(to right,#4ade801f,#4ade800a)}.chrome-group.purple .group-header{background:linear-gradient(to right,#a78bfa1f,#a78bfa0a)}.chrome-group.red .group-header{background:linear-gradient(to right,#f871711f,#f871710a)}.chrome-group.yellow .group-header{background:linear-gradient(to right,#fbbf241f,#fbbf240a)}.chrome-group.pink .group-header{background:linear-gradient(to right,#f472b61f,#f472b60a)}.group-header:hover{background:linear-gradient(to right,#fb923c2e,#fb923c0f)}.chrome-group.blue .group-header:hover{background:linear-gradient(to right,#60a5fa2e,#60a5fa0f)}.chrome-group.green .group-header:hover{background:linear-gradient(to right,#4ade802e,#4ade800f)}.chrome-group.purple .group-header:hover{background:linear-gradient(to right,#a78bfa2e,#a78bfa0f)}.chrome-group.red .group-header:hover{background:linear-gradient(to right,#f871712e,#f871710f)}.chrome-group.yellow .group-header:hover{background:linear-gradient(to right,#fbbf242e,#fbbf240f)}.chrome-group.pink .group-header:hover{background:linear-gradient(to right,#f472b62e,#f472b60f)}.collapse-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;transition:transform .2s;color:#ea580c}.chrome-group.blue .collapse-icon{color:#2563eb}.chrome-group.green .collapse-icon{color:#16a34a}.chrome-group.purple .collapse-icon{color:#7c3aed}.chrome-group.red .collapse-icon{color:#dc2626}.chrome-group.yellow .collapse-icon{color:#d97706}.chrome-group.pink .collapse-icon{color:#db2777}.chrome-group.collapsed .collapse-icon{transform:rotate(-90deg)}.group-color-indicator{width:4px;height:20px;border-radius:2px;flex-shrink:0;background:#fb923c}.chrome-group.blue .group-color-indicator{background:#60a5fa}.chrome-group.green .group-color-indicator{background:#4ade80}.chrome-group.purple .group-color-indicator{background:#a78bfa}.chrome-group.red .group-color-indicator{background:#f87171}.chrome-group.yellow .group-color-indicator{background:#fbbf24}.chrome-group.pink .group-color-indicator{background:#f472b6}.group-title{font-size:11px;font-weight:600;flex:1;color:#ea580c;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chrome-group.blue .group-title{color:#2563eb}.chrome-group.green .group-title{color:#16a34a}.chrome-group.purple .group-title{color:#7c3aed}.chrome-group.red .group-title{color:#dc2626}.chrome-group.yellow .group-title{color:#d97706}.chrome-group.pink .group-title{color:#db2777}.group-title-edit{flex:1;font-size:13px;font-weight:600;background:#fff;border:1px solid #fb923c;border-radius:3px;padding:2px 6px;color:#ea580c;outline:none;min-width:0}.chrome-group.blue .group-title-edit{border-color:#60a5fa;color:#2563eb}.chrome-group.green .group-title-edit{border-color:#4ade80;color:#16a34a}.chrome-group.purple .group-title-edit{border-color:#a78bfa;color:#7c3aed}.chrome-group.red .group-title-edit{border-color:#f87171;color:#dc2626}.chrome-group.yellow .group-title-edit{border-color:#fbbf24;color:#d97706}.chrome-group.pink .group-title-edit{border-color:#f472b6;color:#db2777}.group-count{font-size:10px;font-weight:500;color:#94a3b8;background:#fff9;padding:1px 6px;border-radius:8px}.group-edit-actions{display:flex;gap:4px;flex-shrink:0}.group-edit-btn{width:24px;height:24px;min-width:24px;min-height:24px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;padding:0;flex-shrink:0}.group-edit-btn.confirm{color:#16a34a;border-color:#4ade80}.group-edit-btn.confirm:hover{background:#f0fdf4;border-color:#22c55e}.group-edit-btn.cancel{color:#dc2626;border-color:#f87171}.group-edit-btn.cancel:hover{background:#fef2f2;border-color:#ef4444}.group-actions{display:flex;gap:4px}.group-action-btn{width:20px;height:20px;min-width:20px;min-height:20px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:10px;transition:all .2s;padding:0;flex-shrink:0}.group-action-btn:hover{background:#ffffffe6;border-color:#0003;transform:scale(1.05)}.group-items{padding:4px;max-height:1000px;opacity:1;overflow:hidden;transition:max-height .3s ease,opacity .3s ease,padding .3s ease}.chrome-group.collapsed .group-items{max-height:0;opacity:0;padding:0 8px}.chrome-item{background:#fafafa;border-radius:4px;padding:6px 8px;margin-bottom:4px;display:flex;align-items:center;gap:6px;border:1px solid transparent;transition:all .2s;cursor:pointer}.chrome-item:last-child{margin-bottom:0}.chrome-item:hover{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000d}.chrome-item.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 1px 3px #3b82f633}.chrome-item.hidden-object{opacity:.5}.item-left-group{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.item-checkbox{width:16px;height:16px;min-width:16px;min-height:16px;background:#10b981;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:700;cursor:pointer;flex-shrink:0;transition:all .2s;-webkit-user-select:none;user-select:none}.item-checkbox:hover{transform:scale(1.1)}.item-checkbox.unchecked{background:transparent;border:2px solid #cbd5e1}.item-object-icon{width:22px;height:22px;min-width:22px;min-height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;font-size:10px}.item-label{color:#334155;font-size:11px;font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text}.item-label-edit{flex:1;background:#fff;border:1px solid #cbd5e1;border-radius:3px;padding:2px 6px;font-size:13px;color:#334155;outline:none}.item-actions{display:flex;gap:3px;flex-shrink:0}.item-action-btn{width:20px;height:20px;min-width:20px;min-height:20px;background:#fff;border:1px solid #e5e7eb;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s;font-size:10px;padding:0;flex-shrink:0}.item-action-btn:hover{background:#f8fafc;color:#334155;border-color:#cbd5e1}.item-action-btn.delete:hover{background:#fee2e2;color:#ef4444;border-color:#fecaca}.standalone-item{background:#fff;border-radius:4px;padding:6px 8px;margin-bottom:8px;display:flex;align-items:center;gap:6px;border:1px solid #e5e7eb;transition:all .2s;cursor:pointer}.standalone-item:hover{border-color:#cbd5e1;box-shadow:0 1px 3px #0000000d}.standalone-item.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 1px 3px #3b82f633}.standalone-item.hidden-object{opacity:.5}.group-header:focus-visible,.item-checkbox:focus-visible,.group-action-btn:focus-visible,.item-action-btn:focus-visible,.icon-picker-item:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (max-width: 768px){.objects-container{padding:16px}.chrome-item,.standalone-item{padding:8px 10px}.group-header{gap:6px}.group-action-btn{width:24px;height:24px}.item-action-btn{width:26px;height:26px}}.frame-visibility-compact{display:flex;flex-direction:column;gap:8px}.visibility-row{display:flex;align-items:center;gap:8px}.visibility-mode-select{border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-size:13px;background:#fff;color:#2d3748;cursor:pointer;transition:all .2s ease;flex:1}.visibility-mode-select:hover{border-color:#cbd5e0}.visibility-mode-select:focus{outline:none;border-color:#48bb78}.visibility-input-label{font-size:12px;font-weight:500;color:#4a5568;white-space:nowrap;min-width:50px}.visibility-number-input{border:1px solid #e2e8f0;border-radius:6px;padding:6px 10px;font-size:13px;background:#fff;color:#2d3748;width:70px;transition:all .2s ease}.visibility-number-input:hover{border-color:#cbd5e0}.visibility-number-input:focus{outline:none;border-color:#48bb78}.frame-checkboxes-inline{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:#f7fafc;border-radius:6px;border:1px solid #e2e8f0;width:100%}.frame-checkbox-compact{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;background:#fff;border:1px solid #e2e8f0;transition:all .2s ease;-webkit-user-select:none;user-select:none}.frame-checkbox-compact:hover{background:#edf2f7;border-color:#cbd5e0}.frame-checkbox-compact input[type=checkbox]{cursor:pointer;width:14px;height:14px;margin:0}.frame-checkbox-compact span{font-weight:500;color:#2d3748}.properties-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;overflow:hidden;flex-shrink:0}.properties-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f7fafc;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.properties-header:hover{background:#edf2f7}.properties-title{font-size:10px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px}.properties-collapse-btn{background:none;border:none;cursor:pointer;color:#718096;display:flex;align-items:center;padding:0;transition:color .2s ease}.properties-collapse-btn:hover{color:#4a5568}.properties-content{padding:6px;display:flex;flex-direction:column;gap:6px;max-height:400px;overflow-y:auto;overflow-x:visible}.properties-content::-webkit-scrollbar{width:8px}.properties-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.properties-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;transition:background .2s}.properties-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.properties-empty{text-align:center;padding:20px 12px;color:#94a3b8}.properties-empty p{margin:0;font-size:12px;line-height:1.5}.property-group{display:flex;flex-direction:column;gap:3px;position:relative;overflow:visible}.property-label{font-size:10px;font-weight:500;color:#4a5568;margin-bottom:0}.property-select{border:1px solid #e2e8f0;border-radius:4px;padding:4px 6px;font-size:11px;background:#fff;color:#2d3748;cursor:pointer;transition:all .2s ease}.property-select:hover{border-color:#cbd5e0}.property-select:focus{outline:none;border-color:#48bb78}.property-font-select option{padding:8px;font-size:14px}.property-color-select{display:flex;align-items:center;gap:8px}.property-color-preview{width:24px;height:24px;border-radius:4px;border:2px solid #e2e8f0;flex-shrink:0}.property-color-select .property-select{flex:1}.property-bg-toggle{border:1px solid #e2e8f0;border-radius:4px;padding:4px 6px;font-size:11px;background:#fff;color:#4a5568;cursor:pointer;transition:all .2s ease;font-weight:500}.property-bg-toggle:hover{border-color:#cbd5e0;background:#f7fafc}.property-bg-toggle.active{background:#48bb78;border-color:#48bb78;color:#fff}.property-bg-toggle.active:hover{background:#38a169;border-color:#38a169}.property-info{background:#f7fafc;border-radius:4px;padding:8px;gap:4px}.property-info-row{display:flex;justify-content:space-between;align-items:center;font-size:11px}.property-info-label{font-weight:500;color:#718096}.property-info-value{font-weight:600;color:#2d3748}.property-info-compact{display:flex;align-items:center;justify-content:center;gap:8px;background:#f7fafc;border-radius:4px;padding:4px 8px;font-size:10px}.property-info-item{display:flex;align-items:center;gap:4px}.property-info-label-sm{font-weight:500;color:#718096}.property-info-value-sm{font-weight:600;color:#2d3748}.property-info-divider{color:#cbd5e1;font-weight:300}.property-position-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.property-coord{display:flex;flex-direction:column;gap:4px}.property-coord-label{font-size:11px;font-weight:600;color:#718096;text-transform:uppercase}.property-coord-input{border:1px solid #e2e8f0;border-radius:4px;padding:4px;font-size:11px;font-weight:500;background:#fff;color:#2d3748;cursor:ns-resize;transition:all .2s ease;-moz-appearance:textfield}.property-coord-input::-webkit-outer-spin-button,.property-coord-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.property-coord-input:hover{border-color:#cbd5e0;background:#f7fafc}.property-coord-input:focus{outline:none;border-color:#48bb78;cursor:text}.property-path-toggle{display:flex;align-items:center;gap:6px;border:1px solid #e2e8f0;border-radius:4px;padding:4px 6px;font-size:11px;background:#fff;color:#4a5568;cursor:pointer;transition:all .2s ease;font-weight:500}.property-path-toggle:hover:not(:disabled){border-color:#cbd5e0;background:#f7fafc}.property-path-toggle.active{background:#48bb78;border-color:#48bb78;color:#fff}.property-path-toggle.active:hover{background:#38a169;border-color:#38a169}.property-path-toggle:disabled{opacity:.5;cursor:not-allowed}.property-slider{width:100%;height:6px;border-radius:3px;background:#e2e8f0;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.property-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#48bb78;cursor:pointer;transition:background-color .2s}.property-slider::-webkit-slider-thumb:hover{background:#38a169}.property-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#48bb78;cursor:pointer;border:none;transition:background-color .2s}.property-slider::-moz-range-thumb:hover{background:#38a169}.property-slider-labels{display:flex;justify-content:space-between;color:#718096;font-size:10px;font-weight:600;margin-top:4px}.property-hint{font-size:10px;color:#94a3b8;margin:2px 0 0;font-style:italic}.property-path-visibility{display:flex;align-items:center;gap:6px;margin-top:4px}.property-inline-label{font-size:10px;color:#718096;min-width:70px;font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:#fff;padding:20px;border-radius:8px;max-width:500px;max-height:80vh;overflow:auto}.modal-content h3{margin-bottom:15px;color:#2c3e50}.size-selector-section{margin-bottom:20px;padding:15px;background:#ecf0f1;border-radius:6px}.size-selector-label{display:block;font-weight:600;color:#2c3e50;margin-bottom:10px;font-size:14px}.size-selector-buttons{display:flex;gap:10px}.size-btn{flex:1;padding:8px 16px;background:#fff;border:2px solid #bdc3c7;border-radius:4px;color:#2c3e50;font-weight:500;cursor:pointer;transition:all .2s}.size-btn:hover{border-color:#3498db;background:#f8f9fa}.size-btn.active{background:#3498db;border-color:#3498db;color:#fff}.modal-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px;margin-bottom:15px}.icon-selector-section{margin-bottom:20px}.modal-icon-option{padding:10px;border:2px solid #bdc3c7;border-radius:4px;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:all .2s;position:relative}.modal-icon-option:hover{background:#ecf0f1;transform:translateY(-2px);border-color:#3498db}.modal-icon-option.current{border-color:#95a5a6;background:#f8f9fa}.modal-icon-option.selected{border-color:#27ae60;background:#d5f4e6}.current-badge{position:absolute;top:2px;right:2px;background:#95a5a6;color:#fff;font-size:8px;padding:2px 4px;border-radius:3px;font-weight:600;text-transform:uppercase}.modal-icon-display{font-size:30px}.modal-icon-image{width:40px;height:40px;object-fit:contain}.modal-icon-label{font-size:10px;color:#7f8c8d;word-break:break-word;text-align:center}.modal-close-btn{width:100%}.modal-content{background-color:#2c3e50;border-radius:8px;padding:24px;max-width:500px;width:90%;box-shadow:0 4px 6px #0000004d}.modal-content h2{margin-top:0;margin-bottom:20px;color:#ecf0f1}.modal-field{margin-bottom:16px}.modal-field label{display:block;margin-bottom:6px;color:#ecf0f1;font-weight:700}.modal-input,.modal-textarea{width:100%;padding:8px;border:1px solid #34495e;border-radius:4px;background-color:#34495e;color:#ecf0f1;font-family:inherit;font-size:14px;box-sizing:border-box}.modal-input:focus,.modal-textarea:focus{outline:none;border-color:#27ae60}.modal-textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.modal-actions .btn{padding:10px 20px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.saved-drills-modal{background-color:#2c3e50;border-radius:8px;padding:0;max-width:700px;width:90%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 4px 6px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #34495e}.modal-header h2{margin:0;color:#ecf0f1;font-size:22px}.close-button{background:none;border:none;color:#ecf0f1;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button:hover{background-color:#34495e}.drills-filters{padding:16px 24px;border-bottom:1px solid #34495e;display:flex;flex-direction:column;gap:12px}.search-box{display:flex;align-items:center;gap:8px;background-color:#34495e;padding:8px 12px;border-radius:6px;color:#fff}.search-input{flex:1;background:none;border:none;color:#ecf0f1;font-size:14px;outline:none}.search-input::placeholder{color:#95a5a6}.filter-pills{display:flex;flex-direction:column;gap:8px}.filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-label{color:#ecf0f1;font-size:12px;font-weight:600}.filter-pill{background-color:#34495e;color:#bdc3c7;border:none;padding:4px 12px;border-radius:12px;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-pill:hover{background-color:#3d566e;color:#ecf0f1}.filter-pill.active{background-color:#27ae60;color:#fff}.modal-body{flex:1;overflow-y:auto;padding:12px 24px;min-height:300px}.saved-drills-body{max-height:none}.saved-drills-list{display:flex;flex-direction:column;gap:8px}.saved-drill-item{display:flex;align-items:flex-start;gap:12px;background-color:#34495e;border-radius:6px;padding:12px;cursor:pointer;transition:all .2s;position:relative}.saved-drill-item:hover{background-color:#3d566e;transform:translate(2px)}.drill-thumbnail-small{width:120px;height:90px;background-color:#2c3e50;border-radius:4px;overflow:hidden;flex-shrink:0;border:1px solid #475d70}.drill-thumbnail-small img{width:100%;height:100%;object-fit:cover;display:block}.thumbnail-loading-small{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#7f8c8d;font-size:12px}.drill-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.drill-header-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.drill-title-small{font-size:15px;font-weight:600;color:#fff!important;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.drill-description{font-size:12px;color:#fff!important;margin:0;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.drill-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-top:4px}.drill-tags{display:flex;flex-wrap:wrap;gap:4px;flex:1}.drill-date{font-size:11px;color:#bdc3c7;white-space:nowrap;flex-shrink:0;align-self:flex-end}.drill-tag{font-size:10px;padding:2px 8px;border-radius:10px;white-space:nowrap}.drill-tag.difficulty{background-color:#e67e22;color:#fff}.drill-tag.players{background-color:#3498db;color:#fff}.drill-tag.type{background-color:#27ae60;color:#fff}.delete-drill-btn-small{position:absolute;top:8px;right:8px;background-color:#e74c3ce6;border:none;color:#fff;width:28px;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .2s;z-index:10}.saved-drill-item:hover .delete-drill-btn-small{opacity:1}.delete-drill-btn-small:hover{background-color:#c0392bf2;transform:scale(1.1)}.empty-state{text-align:center;padding:60px 20px;color:#95a5a6}.empty-state p{font-size:16px;margin-bottom:8px}.empty-state-subtitle{font-size:13px;color:#7f8c8d}.modal-footer{border-top:1px solid #34495e;padding:16px 24px}.upload-section{display:flex;justify-content:center}.upload-file-btn{background-color:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.upload-file-btn:hover{background-color:#2980b9}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#2c3e50}.modal-body::-webkit-scrollbar-thumb{background:#34495e;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#3d566e}.new-drill-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.new-drill-modal{background:#34495e;color:#fff;border-radius:12px;padding:24px;max-width:450px;width:90%;box-shadow:0 10px 40px #00000080}.new-drill-modal h3{margin:0 0 12px;font-size:20px;color:#ecf0f1}.new-drill-modal p{margin:0 0 20px;font-size:14px;color:#bdc3c7}.new-drill-modal-actions{display:flex;gap:12px;justify-content:flex-end}.new-drill-modal-actions .btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;font-weight:500}.new-drill-modal-actions .btn-secondary{background:#7f8c8d;color:#fff}.new-drill-modal-actions .btn-secondary:hover{background:#95a5a6}.new-drill-modal-actions .btn-danger{background:#e74c3c;color:#fff}.new-drill-modal-actions .btn-danger:hover{background:#c0392b}.new-drill-modal-actions .btn-success{background:#27ae60;color:#fff}.new-drill-modal-actions .btn-success:hover{background:#2ecc71}.context-menu{position:fixed;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026,0 8px 32px #0000001a;padding:6px;min-width:200px;z-index:10000;animation:contextMenuFadeIn .15s ease-out;border:1px solid rgba(0,0,0,.1)}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:none;background:transparent;color:#2c3e50;font-size:14px;text-align:left;cursor:pointer;border-radius:4px;transition:background .15s ease;width:100%;font-family:inherit}.context-menu-item:hover:not(.disabled){background:#3498db;color:#fff}.context-menu-item.disabled{opacity:.4;cursor:not-allowed}.context-menu-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.context-menu-label{flex:1}.context-menu-shortcut{font-size:12px;opacity:.6;margin-left:auto}.context-menu-divider{height:1px;background:#0000001a;margin:4px 0}.template-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.template-modal{background:#34495e;color:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 10px 40px #00000080}.template-modal h3{margin:0 0 12px;font-size:20px;color:#ecf0f1}.template-modal p{margin:0 0 16px;font-size:14px;color:#bdc3c7}.template-name-input{width:100%;padding:10px 12px;font-size:14px;border:2px solid #27ae60;border-radius:6px;background:#2c3e50;color:#fff;margin-bottom:20px;box-sizing:border-box}.template-name-input:focus{outline:none;border-color:#2ecc71;background:#34495e}.template-name-input::placeholder{color:#7f8c8d}.template-modal-actions{display:flex;gap:12px;justify-content:flex-end}.template-modal-actions .btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;font-weight:500}.btn-cancel{background:#7f8c8d;color:#fff}.btn-cancel:hover{background:#95a5a6}.btn-save{background:#27ae60;color:#fff}.btn-save:hover:not(:disabled){background:#2ecc71}.btn-save:disabled{background:#95a5a6;cursor:not-allowed;opacity:.6}.drill-metadata-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.drill-metadata-panel{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 6px #0000001a}.metadata-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.metadata-header h2{margin:0;font-size:20px;color:#333}.close-btn{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-btn:hover{color:#333}.metadata-content{padding:20px;overflow-y:auto;flex:1}.metadata-section{margin-bottom:24px}.metadata-section:last-child{margin-bottom:0}.section-label{display:block;font-weight:600;color:#333;margin-bottom:12px;font-size:14px}.difficulty-buttons{display:flex;gap:10px}.difficulty-btn{flex:1;padding:10px 16px;border:2px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.difficulty-btn:hover{border-color:#4caf50;background:#f5f5f5}.difficulty-btn.active{border-color:#4caf50;background:#4caf50;color:#fff}.drill-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.drill-type-btn{padding:10px 16px;border:2px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;text-align:center}.drill-type-btn:hover{border-color:#2196f3;background:#f5f5f5}.drill-type-btn.active{border-color:#2196f3;background:#2196f3;color:#fff}.equipment-list{margin-bottom:12px;max-height:200px;overflow-y:auto}.empty-message{color:#999;font-style:italic;font-size:14px;margin:0 0 12px}.equipment-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f5f5f5;border-radius:6px;margin-bottom:8px}.equipment-item:last-child{margin-bottom:0}.equipment-name{font-weight:500;color:#333;flex:1}.equipment-controls{display:flex;align-items:center;gap:8px}.equipment-qty-input{width:60px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px;text-align:center}.equipment-qty-input:focus{outline:none;border-color:#2196f3}.remove-equipment-btn{background:#f44336;color:#fff;border:none;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;transition:background .2s}.remove-equipment-btn:hover{background:#d32f2f}.add-equipment-form{display:flex;gap:8px;margin-top:12px}.equipment-name-input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.equipment-name-input:focus{outline:none;border-color:#2196f3}.equipment-qty-input-small{width:60px;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px;text-align:center}.equipment-qty-input-small:focus{outline:none;border-color:#2196f3}.add-equipment-btn{padding:8px 16px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.add-equipment-btn:hover{background:#45a049}.min-players-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.min-players-input:focus{outline:none;border-color:#2196f3}.metadata-footer{padding:16px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end}.done-btn{padding:10px 24px;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.done-btn:hover{background:#45a049}@media (max-width: 600px){.drill-metadata-panel{width:95%;max-height:95vh}.difficulty-buttons{flex-direction:column}.drill-types-grid{grid-template-columns:1fr}.add-equipment-form{flex-wrap:wrap}.equipment-name-input{width:100%}.equipment-qty-input-small{flex:1}}.settings-modal{max-width:600px}.settings-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #34495e}.settings-section:last-of-type{border-bottom:none}.settings-section h3{margin-top:0;margin-bottom:16px;color:#ecf0f1;font-size:18px}.settings-field{margin-bottom:20px}.settings-field:last-child{margin-bottom:0}.settings-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;color:#ecf0f1;font-weight:500;-webkit-user-select:none;user-select:none}.settings-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.settings-label{display:block;margin-bottom:10px;color:#ecf0f1;font-size:14px}.settings-label strong{color:#27ae60}.settings-slider-container{margin-bottom:8px}.settings-slider{width:100%;height:6px;border-radius:3px;background:#34495e;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#27ae60;cursor:pointer;transition:background-color .2s}.settings-slider::-webkit-slider-thumb:hover{background:#2ecc71}.settings-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#27ae60;cursor:pointer;border:none;transition:background-color .2s}.settings-slider::-moz-range-thumb:hover{background:#2ecc71}.settings-slider-labels{display:flex;justify-content:space-between;color:#95a5a6;font-size:12px;margin-top:4px}.settings-description{margin:8px 0 0;color:#95a5a6;font-size:13px;line-height:1.5}.settings-info-text{margin:12px 0;color:#bdc3c7;font-size:14px;line-height:1.6}.settings-info-text strong{color:#ecf0f1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:4000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.export-quality-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.export-quality-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.export-quality-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.modal-close-btn{background:none;border:none;font-size:28px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close-btn:hover{background:#f3f4f6;color:#374151}.export-quality-content{padding:24px;overflow-y:auto;flex:1}.export-quality-intro{margin:0 0 20px;color:#6b7280;font-size:14px;line-height:1.6}.quality-options{display:flex;flex-direction:column;gap:12px}.quality-option{border:2px solid #e5e7eb;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s;background:#fff}.quality-option:hover{border-color:#d1d5db;background:#f9fafb}.quality-option.selected{border-color:#3b82f6;background:#eff6ff}.quality-option-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.quality-radio{width:20px;height:20px;min-width:20px;min-height:20px;border:2px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-top:2px}.quality-option.selected .quality-radio{border-color:#3b82f6}.radio-dot{width:10px;height:10px;border-radius:50%;background:transparent;transition:all .2s}.radio-dot.active{background:#3b82f6}.quality-info{flex:1}.quality-info h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#1f2937}.quality-description{margin:0;font-size:13px;color:#6b7280}.quality-details{display:flex;flex-direction:column;gap:6px;background:#00000005;border-radius:6px;padding:10px 12px 10px 32px}.quality-option.selected .quality-details{background:#3b82f60d}.quality-detail-item{display:flex;justify-content:space-between;font-size:12px}.detail-label{color:#6b7280;font-weight:500}.detail-value{color:#374151;font-weight:600;font-family:monospace}.export-quality-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}@media (max-width: 640px){.export-quality-modal{width:95%;max-height:95vh}.export-quality-header{padding:16px 20px}.export-quality-header h2{font-size:18px}.export-quality-content{padding:20px}.quality-details{padding-left:12px}}.export-progress-card{position:fixed;bottom:24px;right:24px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;padding:20px;width:320px;z-index:5000;animation:slideInUp .3s ease-out;border:1px solid #e5e7eb;transition:all .3s ease}.export-progress-card.minimized{width:200px;padding:12px 16px}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.export-progress-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.export-progress-icon{width:40px;height:40px;min-width:40px;min-height:40px;background:linear-gradient(135deg,#27ae60,#229954);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #27ae6066}50%{transform:scale(1.05);box-shadow:0 0 0 8px #27ae6000}}.export-progress-text{flex:1;min-width:0}.export-progress-title{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:2px}.export-progress-stage{font-size:13px;color:#6b7280}.export-minimize-btn{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px 8px;border-radius:4px;font-size:12px;transition:all .2s;flex-shrink:0}.export-minimize-btn:hover{background:#f3f4f6;color:#374151}.export-progress-bar-container{display:flex;align-items:center;gap:12px}.export-progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;position:relative}.export-progress-fill{height:100%;background:linear-gradient(90deg,#27ae60,#229954);border-radius:4px;transition:width .3s ease-out;position:relative;overflow:hidden}.export-progress-fill:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.export-progress-percentage{font-size:14px;font-weight:600;color:#27ae60;min-width:45px;text-align:right;font-family:monospace}@media (max-width: 640px){.export-progress-card{bottom:16px;right:16px;left:16px;width:auto}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f5f5;padding:8px}.container{max-width:100%;margin:0 auto;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;display:flex;flex-direction:column;height:calc(100vh - 16px)}.content-wrapper{display:flex;gap:8px;padding:8px 8px 8px 10px;flex:1;min-height:0;overflow:hidden}.main-content{display:flex;flex:1;gap:8px;overflow:hidden}.right-sidebar{display:flex;flex-direction:column;width:280px;overflow:hidden;flex-shrink:0}.btn{background:#27ae60;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.btn:hover{background:#229954}.btn:disabled{background:#95a5a6;cursor:not-allowed}.btn-danger{background:#e74c3c}.btn-danger:hover{background:#c0392b}.toast-notification{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#2c3e50;color:#fff;padding:16px 24px;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:3000;font-size:14px;font-weight:500;animation:slideDown .3s ease-out;max-width:400px;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mobile-message{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.mobile-content{text-align:center;background:#fff;padding:60px 40px;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:500px}.mobile-logo{width:120px;height:auto;margin-bottom:30px}.mobile-content h1{font-size:32px;color:#2c3e50;margin-bottom:16px;font-weight:700}.mobile-content p{font-size:18px;color:#7f8c8d;line-height:1.6}
