diff --git a/static/chapters_editor/chapters-editor.css b/static/chapters_editor/chapters-editor.css index caaa7d31..532a8328 100644 --- a/static/chapters_editor/chapters-editor.css +++ b/static/chapters_editor/chapters-editor.css @@ -1 +1 @@ -#chapters-editor-root{@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(1)}}}#chapters-editor-root .video-player-container{position:relative;width:100%;background:#000;border-radius:.5rem;overflow:hidden;margin-bottom:1rem;aspect-ratio:16/9;-webkit-user-select:none;-moz-user-select:none;user-select:none}#chapters-editor-root .video-player-container video{width:100%;height:100%;cursor:pointer;transform:translateZ(0);-webkit-transform:translateZ(0);-webkit-user-select:none;-moz-user-select:none;user-select:none}@supports (-webkit-touch-callout: none){#chapters-editor-root .video-player-container video{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}}#chapters-editor-root .play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background-color:#0009;border-radius:50%;opacity:0;transition:opacity .3s;pointer-events:none}#chapters-editor-root .video-player-container:hover .play-pause-indicator{opacity:1}#chapters-editor-root .play-pause-indicator:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#chapters-editor-root .play-pause-indicator.play-icon:before{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid white;margin-left:3px}#chapters-editor-root .play-pause-indicator.pause-icon:before{width:20px;height:25px;border-left:6px solid white;border-right:6px solid white}#chapters-editor-root .ios-first-play-indicator{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10}#chapters-editor-root .ios-play-message{color:#fff;font-size:1.2rem;text-align:center;padding:1rem;background:#000c;border-radius:.5rem;animation:pulse 2s infinite}#chapters-editor-root .video-controls{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity .3s}#chapters-editor-root .video-player-container:hover .video-controls{opacity:1}#chapters-editor-root .video-current-time,#chapters-editor-root .video-duration{color:#fff;font-size:.875rem}#chapters-editor-root .video-time-display{display:flex;justify-content:space-between;margin-bottom:.5rem;color:#fff;font-size:.875rem}#chapters-editor-root .video-progress{position:relative;height:6px;background-color:#ffffff4d;border-radius:3px;cursor:pointer;margin:0 10px;touch-action:none;flex-grow:1}#chapters-editor-root .video-progress.dragging{height:8px}#chapters-editor-root .video-progress-fill{position:absolute;top:0;left:0;height:100%;background-color:red;border-radius:3px;pointer-events:none}#chapters-editor-root .video-scrubber{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;background-color:red;border-radius:50%;cursor:grab;transition:transform .1s ease,width .1s ease,height .1s ease}#chapters-editor-root .video-progress.dragging .video-scrubber{transform:translate(-50%,-50%) scale(1.2);width:18px;height:18px;cursor:grabbing;box-shadow:0 0 8px #f009}@media (pointer: coarse){#chapters-editor-root .video-scrubber{width:20px;height:20px}#chapters-editor-root .video-progress.dragging .video-scrubber{width:24px;height:24px}#chapters-editor-root .video-scrubber:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px}}#chapters-editor-root .video-controls-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}#chapters-editor-root .mute-button,#chapters-editor-root .fullscreen-button{min-width:auto;color:#fff;background:none;border:none;cursor:pointer;padding:.25rem;transition:transform .2s}#chapters-editor-root .mute-button:hover,#chapters-editor-root .fullscreen-button:hover{transform:scale(1.1)}#chapters-editor-root .mute-button svg,#chapters-editor-root .fullscreen-button svg{width:1.25rem;height:1.25rem}#chapters-editor-root .video-time-tooltip{position:absolute;top:-30px;background-color:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-family:monospace;pointer-events:none;z-index:1000;white-space:nowrap;box-shadow:0 2px 4px #0000004d}#chapters-editor-root .video-time-tooltip:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7)}#chapters-editor-root{@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes success-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes error-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}}#chapters-editor-root .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}#chapters-editor-root .modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modal-fade-in .3s ease-out}#chapters-editor-root .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}#chapters-editor-root .modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#333}#chapters-editor-root .modal-close-button{background:none;border:none;cursor:pointer;color:#666;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}#chapters-editor-root .modal-close-button:hover{color:#000}#chapters-editor-root .modal-content{padding:20px;color:#333;font-size:1rem;line-height:1.5;max-height:400px;overflow-y:auto}#chapters-editor-root .modal-actions{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid #eee;gap:12px}#chapters-editor-root .modal-button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:none}#chapters-editor-root .modal-button-primary{background-color:#06c;color:#fff}#chapters-editor-root .modal-button-primary:hover{background-color:#05a}#chapters-editor-root .modal-button-secondary{background-color:#f0f0f0;color:#333}#chapters-editor-root .modal-button-secondary:hover{background-color:#e0e0e0}#chapters-editor-root .modal-button-danger{background-color:#dc3545;color:#fff}#chapters-editor-root .modal-button-danger:hover{background-color:#bd2130}#chapters-editor-root .modal-message{margin-bottom:16px;font-size:1rem}#chapters-editor-root .modal-spinner{display:flex;align-items:center;justify-content:center;margin:20px 0}#chapters-editor-root .spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #0066cc;width:30px;height:30px;animation:spin 1s linear infinite}#chapters-editor-root .modal-success-icon{display:flex;justify-content:center;margin-bottom:16px;color:#28a745;font-size:2rem}#chapters-editor-root .modal-success-icon svg{width:60px;height:60px;color:#4caf50;animation:success-pop .5s ease-out}#chapters-editor-root .modal-error-icon{display:flex;justify-content:center;margin-bottom:16px;color:#dc3545;font-size:2rem}#chapters-editor-root .modal-error-icon svg{width:60px;height:60px;color:#f44336;animation:error-pop .5s ease-out}#chapters-editor-root .modal-choices{display:flex;flex-direction:column;gap:10px;margin-top:20px}#chapters-editor-root .modal-choice-button{padding:12px 16px;border:none;border-radius:4px;background-color:#06c;text-align:center;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-weight:500;text-decoration:none;color:#fff}#chapters-editor-root .modal-choice-button:hover{background-color:#05a;transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}#chapters-editor-root .modal-choice-button svg{margin-right:8px}#chapters-editor-root .success-link{background-color:#4caf50}#chapters-editor-root .success-link:hover{background-color:#3d8b40}#chapters-editor-root .centered-choice{margin:0 auto;width:auto;min-width:220px;background-color:#06c;color:#fff}#chapters-editor-root .centered-choice:hover{background-color:#05a}@media (max-width: 480px){#chapters-editor-root .modal-container{width:95%}#chapters-editor-root .modal-actions{flex-direction:column}#chapters-editor-root .modal-button{width:100%}}#chapters-editor-root .error-message{color:#f44336;font-weight:500;background-color:#f443361a;padding:10px;border-radius:4px;border-left:4px solid #f44336;margin-top:10px}#chapters-editor-root .redirect-message{color:#555;font-size:.95rem;padding:0;margin:0}#chapters-editor-root .countdown{font-weight:700;color:#06c;font-size:1.1rem}#chapters-editor-root{@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}}#chapters-editor-root .timeline-container-card{background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .timeline-header{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}#chapters-editor-root .timeline-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333)}#chapters-editor-root .timeline-title-text{font-weight:700}#chapters-editor-root .current-time{font-size:.875rem;color:var(--foreground, #333)}#chapters-editor-root .time-code{font-family:monospace;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem}#chapters-editor-root .duration-time{font-size:.875rem;color:var(--foreground, #333)}#chapters-editor-root .timeline-scroll-container{position:relative;overflow:visible!important}#chapters-editor-root .timeline-container{position:relative;min-width:100%;background-color:#fafbfc;height:70px;border-radius:.25rem;overflow:visible!important}#chapters-editor-root .timeline-marker{position:absolute;height:82px;width:2px;background-color:#000;transform:translate(-50%);z-index:50;pointer-events:none}#chapters-editor-root .timeline-marker-head{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:16px;height:16px;background-color:#ef4444;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:51}#chapters-editor-root .timeline-marker-drag{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:16px;height:16px;background-color:#4b5563;border-radius:50%;cursor:grab;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:51}#chapters-editor-root .timeline-marker-drag.dragging{cursor:grabbing;background-color:#374151}#chapters-editor-root .timeline-marker-head-icon{color:#fff;font-size:14px;font-weight:700;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}#chapters-editor-root .timeline-marker-drag-icon{color:#fff;font-size:12px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:rotate(90deg);display:inline-block}#chapters-editor-root .trim-line-marker{position:absolute;top:0;bottom:0;width:1px;background-color:#00000080;z-index:20}#chapters-editor-root .trim-handle{position:absolute;width:10px;height:20px;background-color:#000;cursor:ew-resize}#chapters-editor-root .trim-handle.left{right:0;top:10px;border-radius:3px 0 0 3px}#chapters-editor-root .trim-handle.right{left:0;top:10px;border-radius:0 3px 3px 0}#chapters-editor-root .timeline-thumbnail{display:inline-block;height:70px;border-right:1px solid rgba(0,0,0,.03)}#chapters-editor-root .split-point{position:absolute;top:0;bottom:0;width:1px;background-color:#ff000080;z-index:15}#chapters-editor-root .clip-segment{position:absolute;height:70px;border-radius:4px;z-index:10;border:2px solid rgba(0,0,0,.15);cursor:pointer}#chapters-editor-root .clip-segment:hover{box-shadow:0 0 0 2px #0000004d;border-color:#0006;background-color:#f0f0f0cc!important}#chapters-editor-root .clip-segment.selected{box-shadow:0 0 0 2px #3b82f6b3;border-color:#3b82f6e6}#chapters-editor-root .clip-segment.selected:hover{background-color:#f0f8ffd9!important}#chapters-editor-root .clip-segment-info{position:absolute;bottom:0;left:0;right:0;padding:.4rem;background-color:#0006;color:#fff;opacity:1;transition:background-color .2s;line-height:1.3}#chapters-editor-root .clip-segment:hover .clip-segment-info{background-color:#00000080}#chapters-editor-root .clip-segment.selected .clip-segment-info{background-color:#3b82f680}#chapters-editor-root .clip-segment.selected:hover .clip-segment-info{background-color:#3b82f666}#chapters-editor-root .clip-segment-name{font-weight:700;font-size:12px}#chapters-editor-root .clip-segment-time,#chapters-editor-root .clip-segment-duration{font-size:10px}#chapters-editor-root .clip-segment-handle{position:absolute;top:0;bottom:0;width:6px;background-color:#0003;cursor:ew-resize}#chapters-editor-root .clip-segment-handle:hover{background-color:#0006}#chapters-editor-root .clip-segment-handle.left{left:0;border-radius:2px 0 0 2px}#chapters-editor-root .clip-segment-handle.right{right:0;border-radius:0 2px 2px 0}@media (pointer: coarse){#chapters-editor-root .clip-segment-handle{width:14px;background-color:#0006}#chapters-editor-root .clip-segment-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:20px;background-color:#fffc;border-radius:1px}#chapters-editor-root .clip-segment-handle.left:after{box-shadow:-2px 0 #00000080}#chapters-editor-root .clip-segment-handle.right:after{box-shadow:2px 0 #00000080}#chapters-editor-root .clip-segment-handle:active{background-color:#0009}#chapters-editor-root .timeline-marker{height:85px}#chapters-editor-root .timeline-marker-head{width:24px;height:24px;top:-13px}#chapters-editor-root .timeline-marker-drag{width:24px;height:24px;bottom:-18px}#chapters-editor-root .timeline-marker-head.dragging{width:28px;height:28px;top:-15px}}#chapters-editor-root .segment-tooltip,#chapters-editor-root .empty-space-tooltip{position:absolute;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #0000004d;padding:.5rem;z-index:1000;min-width:150px;text-align:center;pointer-events:auto;top:-105px!important;transform:translateY(-10px)}#chapters-editor-root .segment-tooltip{top:-165px!important}#chapters-editor-root .segment-tooltip:after,#chapters-editor-root .empty-space-tooltip:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid white}#chapters-editor-root .segment-tooltip:before,#chapters-editor-root .empty-space-tooltip:before{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.1);z-index:-1}#chapters-editor-root .tooltip-time{font-weight:600;font-size:.875rem;margin-bottom:.5rem;color:#333}#chapters-editor-root .tooltip-actions{display:flex;justify-content:center;gap:.5rem}#chapters-editor-root .tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:.25rem;padding:.375rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;min-width:20px!important}#chapters-editor-root .tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}#chapters-editor-root .tooltip-action-btn.delete{color:#ef4444}#chapters-editor-root .tooltip-action-btn.delete:hover{background-color:#fee2e2}#chapters-editor-root .tooltip-action-btn.new-segment{padding:.375rem .5rem}#chapters-editor-root .tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:.25rem;font-size:.75rem}#chapters-editor-root .tooltip-action-btn svg{width:1rem;height:1rem}#chapters-editor-root .timeline-controls{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}#chapters-editor-root .time-navigation{display:none;align-items:center;gap:.5rem}#chapters-editor-root .time-nav-label{font-size:.875rem;font-weight:500}#chapters-editor-root .time-input{border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;width:8rem;font-size:.875rem}#chapters-editor-root .time-button-group{display:flex}#chapters-editor-root .time-button{background-color:#e5e7eb;color:#000;padding:.25rem .5rem;font-size:.875rem;border:none;cursor:pointer;margin-right:.5rem}#chapters-editor-root .time-button:hover{background-color:#d1d5db}#chapters-editor-root .time-button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#chapters-editor-root .time-button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#chapters-editor-root .controls-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}#chapters-editor-root .zoom-dropdown-container{position:relative;z-index:100;display:none}#chapters-editor-root .zoom-button{background-color:#374151;color:#fff;border:none;border-radius:.25rem;padding:.25rem .75rem;font-size:.875rem;display:flex;align-items:center;cursor:pointer}#chapters-editor-root .zoom-button:hover{background-color:#1f2937}#chapters-editor-root .zoom-button svg{margin-left:.25rem}#chapters-editor-root .zoom-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;width:9rem;background-color:#374151;color:#fff;border-radius:.25rem;box-shadow:0 4px 6px -1px #0000001a;z-index:50;max-height:300px;overflow-y:auto}#chapters-editor-root .zoom-option{padding:.25rem .75rem;cursor:pointer}#chapters-editor-root .zoom-option:hover{background-color:#4b5563}#chapters-editor-root .zoom-option.selected{background-color:#6b7280;display:flex;align-items:center}#chapters-editor-root .zoom-option svg{margin-right:.25rem}#chapters-editor-root .save-buttons-row{display:flex;align-items:center;gap:.5rem;margin:0;flex-wrap:nowrap}#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{color:#fff;background:#06c;border-radius:.25rem;font-size:.75rem;padding:.25rem .5rem;cursor:pointer;border:none;white-space:nowrap;transition:background-color .2s;min-width:-moz-fit-content;min-width:fit-content}#chapters-editor-root .save-button:hover,#chapters-editor-root .save-copy-button:hover,#chapters-editor-root .save-segments-button:hover{background-color:#0056b3}@media (max-width: 576px){#chapters-editor-root .save-buttons-row{width:100%;justify-content:space-between;gap:.5rem}#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{flex:1;font-size:.7rem;padding:.25rem .35rem}}@media (max-width: 480px){#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{font-size:.675rem;padding:.25rem}#chapters-editor-root .controls-right,#chapters-editor-root .controls-right button{margin:0}}#chapters-editor-root .modal-success-content,#chapters-editor-root .modal-error-content{display:flex;flex-direction:column;align-items:center;padding:1rem;text-align:center;padding:0;margin:0}#chapters-editor-root .modal-success-icon,#chapters-editor-root .modal-error-icon{margin-bottom:1rem}#chapters-editor-root .modal-success-icon svg{color:#4caf50;animation:fadeIn .5s ease-in-out}#chapters-editor-root .modal-error-icon svg{color:#f44336;animation:fadeIn .5s ease-in-out}#chapters-editor-root .success-link{background-color:#4caf50;color:#fff;transition:background-color .3s}#chapters-editor-root .success-link:hover{background-color:#388e3c}#chapters-editor-root .error-message{color:#f44336;font-weight:500}#chapters-editor-root .modal-spinner{display:flex;justify-content:center;margin:2rem 0}#chapters-editor-root .spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#06c;animation:spin 1s ease-in-out infinite}#chapters-editor-root .text-center{text-align:center}#chapters-editor-root .modal-message{margin-bottom:1rem;line-height:1.5}#chapters-editor-root .modal-choice-button{display:flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;background-color:#06c;color:#fff;border-radius:4px;text-decoration:none;margin:0 auto;cursor:pointer;font-weight:500;gap:.5rem;border:none;transition:background-color .3s}#chapters-editor-root .modal-choice-button:hover{background-color:#0056b3}#chapters-editor-root .modal-choice-button svg{flex-shrink:0}#chapters-editor-root .centered-choice{margin:0 auto;min-width:180px}.mobile-timeline-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:50;display:flex;justify-content:center;align-items:center;border-radius:.5rem;pointer-events:none}.mobile-timeline-message{background-color:#000c;border-radius:8px;padding:15px 25px;text-align:center;max-width:80%;animation:pulse 2s infinite}.mobile-timeline-message p{color:#fff;font-size:16px;margin:0 0 15px;font-weight:500}.mobile-play-icon{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid white;margin:0 auto}@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(1)}}.segments-playback-mode .tooltip-time-btn,.segments-playback-mode .tooltip-action-btn.play,.segments-playback-mode .tooltip-action-btn.pause{opacity:1;cursor:pointer}.segments-playback-mode .tooltip-time-btn[disabled],.segments-playback-mode .tooltip-action-btn[disabled]{opacity:.5!important;cursor:not-allowed!important}.segments-playback-mode [data-tooltip][disabled]:hover:before,.segments-playback-mode [data-tooltip][disabled]:hover:after{opacity:1!important;visibility:visible!important}.segments-playback-message{display:flex;align-items:center;background-color:#3b82f61a;color:#3b82f6;padding:6px 12px;border-radius:4px;font-weight:600;font-size:.875rem;animation:pulse 2s infinite}.segments-playback-message svg{height:1.25rem;width:1.25rem;margin-right:.5rem;color:#3b82f6}.chapter-editor{background-color:#f8fafc;border:2px solid #3b82f6;border-radius:.5rem;padding:1rem;margin-bottom:1rem;transition:all .2s ease}.chapter-editor-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem;gap:1rem}.chapter-editor-title-section{display:flex;flex-direction:column;gap:.5rem;flex:1}.chapter-editor-header h4{margin:0;font-size:.875rem;font-weight:600;color:#1f2937}.chapter-editor-segment{font-size:.75rem;color:#6b7280;background-color:#e5e7eb;padding:.25rem .5rem;border-radius:.25rem;display:inline-block}.save-chapters-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.save-chapters-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f64d}.save-chapters-button.has-changes{background-color:#10b981;animation:pulse-green-chapters 2s infinite}.save-chapters-button.has-changes:hover{background-color:#059669}.save-chapters-button svg{width:1rem;height:1rem}@keyframes pulse-green-chapters{0%,to{background-color:#10b981}50%{background-color:#34d399}}.chapter-title-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.chapter-title-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.chapter-title-input::-moz-placeholder{color:#9ca3af}.chapter-title-input::placeholder{color:#9ca3af}.chapter-editor-info{margin-top:.5rem;font-size:.75rem;color:#6b7280;font-style:italic}@media (max-width: 768px){.chapter-editor-header{flex-direction:column;gap:.75rem;align-items:stretch}.save-chapters-button{justify-content:center;align-self:stretch}.chapter-editor-segment{text-align:center}}.tooltip-chapter-editor{background-color:#fffffff2;border-radius:.375rem;pointer-events:auto}.tooltip-chapter-input{width:100%;padding:.5rem;border:2px solid #ccc;border-radius:.25rem;background-color:#fff;color:#000;font-size:.75rem;resize:none;outline:none;box-sizing:border-box;max-height:70px!important}.tooltip-chapter-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.tooltip-chapter-input::-moz-placeholder{color:#999}.tooltip-chapter-input::placeholder{color:#999}.two-row-tooltip{display:flex;flex-direction:column;background-color:#fff;padding:6px;border-radius:4px;box-shadow:0 2px 8px #00000026;position:relative;z-index:3000}.tooltip-time-btn[data-tooltip="Decrease by 100ms"],.tooltip-time-btn[data-tooltip="Increase by 100ms"]{display:none!important}.tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:3px}.tooltip-row:first-child{margin-bottom:6px}.tooltip-time-btn{background-color:#f0f0f0!important;border:none!important;border-radius:4px!important;padding:4px 8px!important;font-size:.75rem!important;font-weight:500!important;color:#333!important;cursor:pointer!important;transition:background-color .2s!important;min-width:20px!important}.tooltip-time-btn:hover{background-color:#e0e0e0!important}.tooltip-time-display{font-family:monospace!important;font-size:.875rem!important;font-weight:600!important;color:#333!important;padding:4px 6px!important;background-color:#f7f7f7!important;border-radius:4px!important;min-width:100px!important;text-align:center!important;overflow:hidden!important}.tooltip-time-display.disabled{pointer-events:none!important;cursor:not-allowed!important;opacity:.6!important;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.tooltip-time-btn.disabled[data-tooltip]:hover:before,.tooltip-time-btn.disabled[data-tooltip]:hover:after,.tooltip-action-btn.disabled[data-tooltip]:hover:before,.tooltip-action-btn.disabled[data-tooltip]:hover:after{opacity:1!important;visibility:visible!important}.tooltip-actions{display:flex;justify-content:space-between;align-items:center;gap:3px;position:relative;z-index:2500}.tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:4px;padding:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;width:26px;height:26px;min-width:20px!important;position:relative}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);position:absolute;height:30px;top:35px;left:50%;transform:translate(-50%);margin-left:0;background-color:#000000d9;color:#fff;text-align:left;padding:6px 12px;border-radius:4px;box-shadow:0 2px 8px #0003;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}.tooltip-action-btn[data-tooltip]:after{content:"";position:absolute;top:35px;left:50%;transform:translate(-50%);border-width:4px;border-style:solid;border-color:rgba(0,0,0,.85) transparent transparent transparent;margin-left:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}@media (hover: hover) and (pointer: fine){.tooltip-action-btn[data-tooltip]:hover:before,.tooltip-action-btn[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;content:none!important}}.tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}.tooltip-action-btn.delete{color:#ef4444}.tooltip-action-btn.delete:hover{background-color:#fee2e2}.tooltip-action-btn.play{color:#10b981}.tooltip-action-btn.play:hover{background-color:#d1fae5}.tooltip-action-btn.pause{color:#3b82f6}.tooltip-action-btn.pause:hover{background-color:#dbeafe}.tooltip-action-btn.play-from-start{color:#4f46e5}.tooltip-action-btn.play-from-start:hover{background-color:#e0e7ff}.tooltip-action-btn svg{width:16px;height:16px}.tooltip-action-btn.new-segment{width:auto;height:auto;padding:6px 10px;display:flex;flex-direction:row;color:#10b981}.tooltip-action-btn.new-segment:hover{background-color:#d1fae5}.tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:6px;font-size:.75rem;white-space:nowrap}.tooltip-action-btn.disabled{opacity:.5;cursor:not-allowed;background-color:#f3f4f6}.tooltip-action-btn.disabled:hover{background-color:#f3f4f6;color:#9ca3af}.tooltip-action-btn.disabled svg{color:#9ca3af}.tooltip-action-btn.disabled .tooltip-btn-text{color:#9ca3af}.tooltip-action-btn.pause.disabled{color:#9ca3af!important;opacity:.5;cursor:not-allowed}.tooltip-action-btn.pause.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-action-btn.play.disabled{color:#9ca3af!important;opacity:.5;cursor:not-allowed}.tooltip-action-btn.play.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-time-btn.disabled{opacity:.5!important;cursor:not-allowed!important;background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-time-btn.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}@media (max-width: 768px){.two-row-tooltip{padding:4px}.tooltip-row:first-child{margin-bottom:4px}.tooltip-time-btn{min-width:20px!important;font-size:.7rem!important;padding:3px 6px!important}.tooltip-time-display{font-size:.8rem!important;padding:3px 4px!important;min-width:90px!important}.tooltip-action-btn{width:24px;height:24px;padding:4px}.tooltip-action-btn.new-segment{padding:4px 8px}.tooltip-action-btn svg{width:14px;height:14px}.tooltip-action-btn[data-tooltip]:before{min-width:100px;font-size:11px;padding:4px 8px;height:24px;top:33px}.tooltip-action-btn[data-tooltip]:after{top:33px}}#chapters-editor-root{@keyframes bluePulse{0%{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}to{box-shadow:0 0 #3b82f600}}@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}}#chapters-editor-root .editing-tools-container{background-color:#fff;border-radius:.5rem;padding:1rem;margin-bottom:2.5rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .flex-container{display:flex;justify-content:space-between;align-items:center;position:relative;gap:15px;width:100%}#chapters-editor-root .flex-container.single-row{flex-wrap:nowrap}#chapters-editor-root .full-text{display:inline}#chapters-editor-root .short-text{display:none}#chapters-editor-root .reset-text{display:inline}#chapters-editor-root .button-group{display:flex;align-items:center}#chapters-editor-root .button-group.play-buttons-group{gap:.75rem;justify-content:flex-start;flex:0 0 auto}#chapters-editor-root .button-group.secondary{gap:.75rem;align-items:center;justify-content:flex-end;margin-left:auto}#chapters-editor-root .button-group button{display:flex;align-items:center;color:#333;background:none;border:none;cursor:pointer;min-width:auto}#chapters-editor-root .button-group button:hover:not(:disabled){color:inherit}#chapters-editor-root .button-group button:disabled{opacity:.5;cursor:not-allowed}#chapters-editor-root .button-group button svg{height:1.25rem;width:1.25rem;margin-right:.25rem}#chapters-editor-root .divider{border-right:1px solid #d1d5db;height:1.5rem;margin:0 .5rem}#chapters-editor-root .play-button,#chapters-editor-root .preview-button{font-weight:600;display:flex;align-items:center;position:relative;overflow:hidden;min-width:80px;justify-content:center;font-size:.875rem!important}#chapters-editor-root .play-button.greyed-out{opacity:.5;cursor:not-allowed}#chapters-editor-root .segments-button.highlighted-stop{background-color:#3b82f61a;color:#3b82f6;border:1px solid #3b82f6;animation:bluePulse 2s infinite}#chapters-editor-root .play-button:hover:not(:disabled),#chapters-editor-root .preview-button:hover:not(:disabled){color:inherit!important;transform:none!important;font-size:.875rem!important;width:auto!important;background:none!important}#chapters-editor-root .play-button svg,#chapters-editor-root .preview-button svg{height:1.5rem;width:1.5rem;flex-shrink:0}#chapters-editor-root .button-text{margin-left:.25rem}@media (max-width: 992px){#chapters-editor-root .button-group.secondary .button-text{display:none}}@media (max-width: 768px){#chapters-editor-root .flex-container.single-row{justify-content:space-between}#chapters-editor-root .button-group{gap:.5rem}#chapters-editor-root .preview-button,#chapters-editor-root .play-button{font-size:.875rem!important}}@media (max-width: 640px){#chapters-editor-root .editing-tools-container{padding:.75rem;overflow-x:hidden}#chapters-editor-root .preview-button{min-width:auto}#chapters-editor-root .full-text{display:none}#chapters-editor-root .short-text{display:inline;margin-left:.15rem}#chapters-editor-root .reset-text{display:none}#chapters-editor-root .button-group.play-buttons-group{flex:initial;justify-content:flex-start;flex-shrink:0}#chapters-editor-root .button-group.secondary{flex:initial;justify-content:flex-end;flex-shrink:0}#chapters-editor-root .button-group button{padding:.375rem;min-width:auto}#chapters-editor-root .button-group button svg{height:1.125rem;width:1.125rem;margin-right:.125rem}}@media (max-width: 576px){#chapters-editor-root .flex-container.single-row{justify-content:space-between;flex-wrap:nowrap;gap:10px}#chapters-editor-root .button-group.play-buttons-group{justify-content:flex-start;flex:0 0 auto}#chapters-editor-root .button-group.secondary{justify-content:flex-end;margin-left:auto}#chapters-editor-root .button-group button{padding:.25rem}#chapters-editor-root .divider{margin:0 .25rem}}@media (max-width: 480px){#chapters-editor-root .editing-tools-container{padding:.5rem}#chapters-editor-root .flex-container.single-row{gap:8px}#chapters-editor-root .button-group.play-buttons-group,#chapters-editor-root .button-group.secondary{gap:.25rem}#chapters-editor-root .divider{display:none}#chapters-editor-root .button-group button{padding:.125rem}#chapters-editor-root .button-group button svg{height:1rem;width:1rem;margin-right:0}#chapters-editor-root .button-text,#chapters-editor-root .reset-text{display:none}}@media (max-width: 640px) and (orientation: portrait){#chapters-editor-root .editing-tools-container{width:100%;box-sizing:border-box}#chapters-editor-root .flex-container.single-row{width:100%;padding:0;margin:0}#chapters-editor-root .button-group{max-width:50%}#chapters-editor-root .button-group.play-buttons-group{max-width:60%}#chapters-editor-root .button-group.secondary{max-width:40%}}#chapters-editor-root{@keyframes pulse-green{0%,to{background-color:#10b981}50%{background-color:#34d399}}}@media (hover: hover) and (pointer: fine){#chapters-editor-root [data-tooltip]{position:relative}#chapters-editor-root [data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;background-color:#000c;color:#fff;text-align:center;padding:5px 10px;border-radius:3px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none}#chapters-editor-root [data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}#chapters-editor-root [data-tooltip]:hover:before,#chapters-editor-root [data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){#chapters-editor-root [data-tooltip]:before,#chapters-editor-root [data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}#chapters-editor-root .clip-segments-container{margin-top:1rem;background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .clip-segments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}#chapters-editor-root .clip-segments-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333);margin:0}#chapters-editor-root .save-chapters-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}#chapters-editor-root .save-chapters-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f64d}#chapters-editor-root .save-chapters-button.has-changes{background-color:#10b981;animation:pulse-green 2s infinite}#chapters-editor-root .save-chapters-button.has-changes:hover{background-color:#059669}#chapters-editor-root .save-chapters-button svg{width:1rem;height:1rem}#chapters-editor-root .chapter-editor{background-color:#f8fafc;border:2px solid #3b82f6;border-radius:.5rem;padding:1rem;margin-bottom:1rem;transition:all .2s ease}#chapters-editor-root .chapter-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}#chapters-editor-root .chapter-editor-header h4{margin:0;font-size:.875rem;font-weight:600;color:#1f2937}#chapters-editor-root .chapter-editor-segment{font-size:.75rem;color:#6b7280;background-color:#e5e7eb;padding:.25rem .5rem;border-radius:.25rem}#chapters-editor-root .chapter-title-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}#chapters-editor-root .chapter-title-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}#chapters-editor-root .chapter-title-input::-moz-placeholder{color:#9ca3af}#chapters-editor-root .chapter-title-input::placeholder{color:#9ca3af}#chapters-editor-root .chapter-editor-info{margin-top:.5rem;font-size:.75rem;color:#6b7280;font-style:italic}#chapters-editor-root .segment-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border:1px solid #e5e7eb;border-radius:.25rem;margin-bottom:.5rem;transition:all .2s ease}#chapters-editor-root .segment-item:hover{box-shadow:0 4px 6px -1px #0000001a}#chapters-editor-root .segment-item.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#3b82f60d}#chapters-editor-root .segment-content{display:flex;align-items:center}#chapters-editor-root .segment-thumbnail{width:4rem;height:2.25rem;background-size:cover;background-position:center;border-radius:.25rem;margin-right:.75rem;box-shadow:0 0 0 1px #ffffff4d}#chapters-editor-root .segment-info{display:flex;flex-direction:column}#chapters-editor-root .segment-title{font-weight:500;font-size:.875rem;color:#000}#chapters-editor-root .chapter-title{color:#1f2937;font-weight:600}#chapters-editor-root .default-title{color:#6b7280;font-style:italic}#chapters-editor-root .segment-time{font-size:.75rem;color:#000}#chapters-editor-root .segment-duration{font-size:.75rem;margin-top:.25rem;display:inline-block;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem;color:#000}#chapters-editor-root .segment-actions{display:flex;align-items:center;gap:.5rem}#chapters-editor-root .delete-button{padding:.375rem;color:#4b5563;background-color:#e5e7eb;border-radius:9999px;border:none;cursor:pointer;transition:background-color .2s,color .2s;min-width:auto}#chapters-editor-root .delete-button:hover{color:#000;background-color:#d1d5db}#chapters-editor-root .delete-button svg{height:1rem;width:1rem}#chapters-editor-root .empty-message{padding:1rem;text-align:center;color:#333333b3}#chapters-editor-root .segment-color-1{background-color:#3b82f626}#chapters-editor-root .segment-color-2{background-color:#10b98126}#chapters-editor-root .segment-color-3{background-color:#f59e0b26}#chapters-editor-root .segment-color-4{background-color:#ef444426}#chapters-editor-root .segment-color-5{background-color:#8b5cf626}#chapters-editor-root .segment-color-6{background-color:#ec489926}#chapters-editor-root .segment-color-7{background-color:#06b6d426}#chapters-editor-root .segment-color-8{background-color:#facc1526}@media (max-width: 768px){#chapters-editor-root .clip-segments-header{flex-direction:column;gap:.75rem;align-items:stretch}#chapters-editor-root .save-chapters-button{justify-content:center}#chapters-editor-root .chapter-editor-header{flex-direction:column;gap:.5rem;align-items:flex-start}#chapters-editor-root .chapter-editor-segment{align-self:stretch;text-align:center}}.mobile-play-prompt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.mobile-play-prompt{background-color:#fff;width:90%;max-width:400px;border-radius:12px;padding:25px;box-shadow:0 4px 20px #00000040;text-align:center}.mobile-play-prompt h3{margin:0 0 15px;font-size:20px;color:#333;font-weight:600}.mobile-play-prompt p{margin:0 0 15px;font-size:16px;color:#444;line-height:1.5}.mobile-prompt-instructions{margin:20px 0;text-align:left;background-color:#f8f9fa;padding:15px;border-radius:8px}.mobile-prompt-instructions p{margin:0 0 8px;font-size:15px;font-weight:500}.mobile-prompt-instructions ol{margin:0;padding-left:22px}.mobile-prompt-instructions li{margin-bottom:8px;font-size:14px;color:#333}.mobile-play-button{background-color:#007bff;color:#fff;border:none;border-radius:8px;padding:12px 25px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:5px;min-height:44px;min-width:200px}.mobile-play-button:hover{background-color:#0069d9}.mobile-play-button:active{background-color:#0062cc;transform:scale(.98)}@supports (-webkit-touch-callout: none){.mobile-play-button{padding:14px 25px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:hsl(var(--border))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.inline{display:inline}.flex{display:flex}.hidden{display:none}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-6xl{max-width:72rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.bg-background{background-color:hsl(var(--background))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.paused{animation-play-state:paused}:root{--foreground: 20 14.3% 4.1%;--muted: 60 4.8% 95.9%;--muted-foreground: 25 5.3% 44.7%;--popover: 0 0% 100%;--popover-foreground: 20 14.3% 4.1%;--card: 0 0% 100%;--card-foreground: 20 14.3% 4.1%;--border: 20 5.9% 90%;--input: 20 5.9% 90%;--primary: 207 90% 54%;--primary-foreground: 211 100% 99%;--secondary: 30 84% 54%;--secondary-foreground: 60 9.1% 97.8%;--accent: 60 4.8% 95.9%;--accent-foreground: 24 9.8% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 60 9.1% 97.8%;--ring: 20 14.3% 4.1%;--radius: .5rem}.video-player{position:relative;width:100%;background-color:#000;overflow:hidden;border-radius:.5rem}.video-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1rem;display:flex;flex-direction:column}.video-current-time{color:#fff;font-weight:500}.video-progress{position:relative;height:4px;background-color:#ffffff4d;border-radius:2px;margin-bottom:1rem}.video-progress-fill{position:absolute;left:0;top:0;height:100%;background-color:hsl(var(--primary));border-radius:2px}.video-scrubber{position:absolute;width:12px;height:12px;margin-left:-6px;background-color:#fff;border-radius:50%;top:-4px}.video-player-container{position:relative;overflow:hidden}.play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background-color:#00000080;z-index:20;opacity:0;transition:opacity .2s ease;pointer-events:none;background-position:center;background-repeat:no-repeat}.play-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")}.pause-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M6 19h4V5H6v14zm8-14v14h4V5h-4z'/%3E%3C/svg%3E")}.video-player-container:hover .play-pause-indicator{opacity:1}.timeline-scroll-container{height:6rem;border-radius:.375rem;overflow-x:auto;overflow-y:hidden;margin-bottom:.75rem;background-color:#eee;position:relative}.timeline-container{position:relative;background-color:#eee;height:6rem;width:100%;cursor:pointer;transition:width .3s ease}.timeline-marker{position:absolute;top:-10px;height:calc(100% + 10px);width:2px;background-color:red;z-index:100;pointer-events:none;box-shadow:0 0 4px #ff000080}.trim-line-marker{position:absolute;top:0;bottom:0;width:2px;background-color:#007bffe6;z-index:10}.trim-handle{width:8px;background-color:#6c757de6;position:absolute;top:0;bottom:0;cursor:ew-resize;z-index:15}.trim-handle.left{left:-4px}.trim-handle.right{right:-4px}.timeline-thumbnail{height:100%;border-right:1px solid rgba(0,0,0,.1);position:relative;display:inline-block;background-size:cover;background-position:center}.split-point{position:absolute;width:2px;background-color:#6c757de6;top:0;bottom:0;z-index:5}.clip-segment{position:absolute;height:95%;top:0;border-radius:4px;background-size:cover;background-position:center;background-blend-mode:soft-light;box-shadow:0 2px 8px #0003;overflow:hidden;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:box-shadow .2s,transform .1s;z-index:15}.clip-segment:nth-child(odd),.segment-color-1,.segment-color-3,.segment-color-5,.segment-color-7{background-color:transparent;border:2px solid rgba(0,123,255,.9)}.clip-segment:nth-child(2n),.segment-color-2,.segment-color-4,.segment-color-6,.segment-color-8{background-color:transparent;border:2px solid rgba(108,117,125,.9)}.clip-segment:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-1px);filter:brightness(1.1)}.clip-segment:active{cursor:grabbing;box-shadow:0 2px 6px #0000004d;transform:translateY(0)}.clip-segment.selected{border-width:3px;box-shadow:0 4px 12px #0006;z-index:25;filter:brightness(1.2)}.clip-segment-info{background-color:#e2e6eae6;color:#000;padding:6px 8px;font-size:.7rem;position:absolute;top:0;left:0;width:100%;border-radius:4px 4px 0 0;z-index:2;display:flex;flex-direction:column;gap:2px}.clip-segment-name{font-weight:700;color:#000}.clip-segment-time{font-size:.65rem;color:#000}.clip-segment-duration{font-size:.65rem;color:#000;background:#b3d9ff66;padding:1px 4px;border-radius:2px;display:inline-block;margin-top:2px}.clip-segment-handle{position:absolute;width:8px;top:0;bottom:0;background-color:#6c757de6;cursor:ew-resize;z-index:20;display:flex;align-items:center;justify-content:center}.clip-segment-handle:after{content:"↔";color:#fff;font-size:12px;text-shadow:0 0 2px rgba(0,0,0,.8)}.clip-segment-handle.left{left:0}.clip-segment-handle.right{right:0}.clip-segment-handle:hover{background-color:#007bffe6;width:10px}input[type=range]{-webkit-appearance:none;height:6px;background:#e0e0e0;border-radius:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;border-radius:50%;background:#007bffe6;cursor:pointer}[data-tooltip]{position:relative;cursor:pointer}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background-color:#000c;color:#fff;padding:5px 10px;border-radius:4px;font-size:.8rem;white-space:nowrap;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}[data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;margin-bottom:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}@media (hover: hover) and (pointer: fine){[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){[data-tooltip]:before,[data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}button[disabled][data-tooltip]:before,button[disabled][data-tooltip]:after{opacity:.5}.tooltip-action-btn{position:relative}.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{opacity:0;visibility:hidden;position:absolute;pointer-events:none;transition:all .3s ease}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);background-color:#000c;color:#fff;font-size:12px;padding:4px 8px;border-radius:3px;white-space:nowrap;bottom:-35px;left:50%;transform:translate(-50%);z-index:9999}.tooltip-action-btn[data-tooltip]:after{content:"";border-width:5px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.8) transparent;bottom:-15px;left:50%;transform:translate(-50%);z-index:9999}@media (hover: hover) and (pointer: fine){.tooltip-action-btn:hover[data-tooltip]:before,.tooltip-action-btn:hover[data-tooltip]:after{opacity:1;visibility:visible}}.segment-tooltip{background-color:#b3d9fff2;color:#000;border-radius:4px;padding:6px;min-width:140px;z-index:1000;box-shadow:0 3px 10px #0003}.segment-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(179,217,255,.95)}.tooltip-time{font-size:.85rem;font-weight:700;text-align:center;margin-bottom:6px;color:#000}.tooltip-actions{display:flex;justify-content:space-between;gap:5px;position:relative}.tooltip-action-btn{background-color:#007bff33;border:none;border-radius:3px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:6px;transition:background-color .2s;min-width:20px!important}.tooltip-action-btn:hover{background-color:#007bff66}.tooltip-action-btn svg{width:100%;height:100%;stroke:currentColor}.tooltip-action-btn.set-in svg,.tooltip-action-btn.set-out svg{width:100%;height:100%;margin:0 auto;fill:currentColor;stroke:none}.empty-space-tooltip{background-color:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;padding:8px;z-index:50;min-width:120px;text-align:center;position:relative}.empty-space-tooltip:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);border-width:8px 8px 0;border-style:solid;border-color:white transparent transparent}.tooltip-action-btn.new-segment{width:auto;padding:6px 10px;display:flex;align-items:center;gap:5px}.tooltip-btn-text{font-size:.8rem;white-space:nowrap;color:#000}.icon-new-segment{width:20px;height:20px}.zoom-dropdown-container{position:relative}.zoom-button{display:flex;align-items:center;gap:6px;background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.zoom-button:hover{background-color:#6c757d}.zoom-dropdown{background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #00000026;max-height:300px;overflow-y:auto}.zoom-option{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:5px}.zoom-option:hover{background-color:#007bff1a}.zoom-option.selected{background-color:#007bff33;font-weight:500}.save-button,.save-copy-button,.save-segments-button{background-color:#007bffcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.save-button:hover,.save-copy-button:hover{background-color:#007bff}.save-copy-button{background-color:#6c757dcc}.save-copy-button:hover{background-color:#6c757d}.time-nav-label{font-weight:500;font-size:.9rem}.time-input{padding:6px 10px;border-radius:4px;border:1px solid #ccc;width:150px;font-family:monospace}.time-button-group{display:flex;gap:5px}.time-button{background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:6px 8px;font-size:.8rem;cursor:pointer;transition:background-color .2s}.time-button:hover{background-color:#6c757d}.timeline-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px;background-color:#f5f5f5;border-radius:6px;margin-top:15px}.time-navigation{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.controls-right{display:flex;align-items:center;gap:10px}@media (max-width: 768px){.timeline-controls{flex-direction:column;align-items:flex-start;gap:15px}.controls-right{margin-top:10px;width:100%;justify-content:flex-start;text-align:center;align-items:center;justify-content:center}}.timeline-header{display:flex;align-items:center;gap:20px;margin-bottom:10px;flex-wrap:wrap}.timeline-title{font-weight:700;margin-right:20px}.timeline-title-text{font-size:1.1rem}.current-time,.duration-time{white-space:nowrap}.time-code{font-family:monospace;font-weight:500}@media (max-width: 480px){.timeline-header{flex-direction:column;align-items:flex-start;gap:8px}.time-navigation{width:100%;flex-direction:column;align-items:flex-start;gap:10px}.time-button-group{width:100%;display:flex;justify-content:space-between;margin-top:10px}.controls-right{flex-wrap:wrap;gap:8px}.save-button,.save-copy-button{margin-top:8px;width:100%}.zoom-dropdown-container{width:100%}.zoom-button{width:100%;justify-content:center}} +#chapters-editor-root{@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(1)}}}#chapters-editor-root .video-player-container{position:relative;width:100%;background:#000;border-radius:.5rem;overflow:hidden;margin-bottom:1rem;aspect-ratio:16/9;-webkit-user-select:none;-moz-user-select:none;user-select:none}#chapters-editor-root .video-player-container video{width:100%;height:100%;cursor:pointer;transform:translateZ(0);-webkit-transform:translateZ(0);-webkit-user-select:none;-moz-user-select:none;user-select:none}@supports (-webkit-touch-callout: none){#chapters-editor-root .video-player-container video{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}}#chapters-editor-root .play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background-color:#0009;border-radius:50%;opacity:0;transition:opacity .3s;pointer-events:none}#chapters-editor-root .video-player-container:hover .play-pause-indicator{opacity:1}#chapters-editor-root .play-pause-indicator:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#chapters-editor-root .play-pause-indicator.play-icon:before{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid white;margin-left:3px}#chapters-editor-root .play-pause-indicator.pause-icon:before{width:20px;height:25px;border-left:6px solid white;border-right:6px solid white}#chapters-editor-root .ios-first-play-indicator{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10}#chapters-editor-root .ios-play-message{color:#fff;font-size:1.2rem;text-align:center;padding:1rem;background:#000c;border-radius:.5rem;animation:pulse 2s infinite}#chapters-editor-root .video-controls{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity .3s}#chapters-editor-root .video-player-container:hover .video-controls{opacity:1}#chapters-editor-root .video-current-time,#chapters-editor-root .video-duration{color:#fff;font-size:.875rem}#chapters-editor-root .video-time-display{display:flex;justify-content:space-between;margin-bottom:.5rem;color:#fff;font-size:.875rem}#chapters-editor-root .video-progress{position:relative;height:6px;background-color:#ffffff4d;border-radius:3px;cursor:pointer;margin:0 10px;touch-action:none;flex-grow:1}#chapters-editor-root .video-progress.dragging{height:8px}#chapters-editor-root .video-progress-fill{position:absolute;top:0;left:0;height:100%;background-color:red;border-radius:3px;pointer-events:none}#chapters-editor-root .video-scrubber{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;background-color:red;border-radius:50%;cursor:grab;transition:transform .1s ease,width .1s ease,height .1s ease}#chapters-editor-root .video-progress.dragging .video-scrubber{transform:translate(-50%,-50%) scale(1.2);width:18px;height:18px;cursor:grabbing;box-shadow:0 0 8px #f009}@media (pointer: coarse){#chapters-editor-root .video-scrubber{width:20px;height:20px}#chapters-editor-root .video-progress.dragging .video-scrubber{width:24px;height:24px}#chapters-editor-root .video-scrubber:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px}}#chapters-editor-root .video-controls-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}#chapters-editor-root .mute-button,#chapters-editor-root .fullscreen-button{min-width:auto;color:#fff;background:none;border:none;cursor:pointer;padding:.25rem;transition:transform .2s}#chapters-editor-root .mute-button:hover,#chapters-editor-root .fullscreen-button:hover{transform:scale(1.1)}#chapters-editor-root .mute-button svg,#chapters-editor-root .fullscreen-button svg{width:1.25rem;height:1.25rem}#chapters-editor-root .video-time-tooltip{position:absolute;top:-30px;background-color:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-family:monospace;pointer-events:none;z-index:1000;white-space:nowrap;box-shadow:0 2px 4px #0000004d}#chapters-editor-root .video-time-tooltip:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7)}#chapters-editor-root{@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes success-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes error-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}}#chapters-editor-root .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}#chapters-editor-root .modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modal-fade-in .3s ease-out}#chapters-editor-root .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}#chapters-editor-root .modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#333}#chapters-editor-root .modal-close-button{background:none;border:none;cursor:pointer;color:#666;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}#chapters-editor-root .modal-close-button:hover{color:#000}#chapters-editor-root .modal-content{padding:20px;color:#333;font-size:1rem;line-height:1.5;max-height:400px;overflow-y:auto}#chapters-editor-root .modal-actions{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid #eee;gap:12px}#chapters-editor-root .modal-button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:none}#chapters-editor-root .modal-button-primary{background-color:#06c;color:#fff}#chapters-editor-root .modal-button-primary:hover{background-color:#05a}#chapters-editor-root .modal-button-secondary{background-color:#f0f0f0;color:#333}#chapters-editor-root .modal-button-secondary:hover{background-color:#e0e0e0}#chapters-editor-root .modal-button-danger{background-color:#dc3545;color:#fff}#chapters-editor-root .modal-button-danger:hover{background-color:#bd2130}#chapters-editor-root .modal-message{margin-bottom:16px;font-size:1rem}#chapters-editor-root .modal-spinner{display:flex;align-items:center;justify-content:center;margin:20px 0}#chapters-editor-root .spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #0066cc;width:30px;height:30px;animation:spin 1s linear infinite}#chapters-editor-root .modal-success-icon{display:flex;justify-content:center;margin-bottom:16px;color:#28a745;font-size:2rem}#chapters-editor-root .modal-success-icon svg{width:60px;height:60px;color:#4caf50;animation:success-pop .5s ease-out}#chapters-editor-root .modal-error-icon{display:flex;justify-content:center;margin-bottom:16px;color:#dc3545;font-size:2rem}#chapters-editor-root .modal-error-icon svg{width:60px;height:60px;color:#f44336;animation:error-pop .5s ease-out}#chapters-editor-root .modal-choices{display:flex;flex-direction:column;gap:10px;margin-top:20px}#chapters-editor-root .modal-choice-button{padding:12px 16px;border:none;border-radius:4px;background-color:#06c;text-align:center;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-weight:500;text-decoration:none;color:#fff}#chapters-editor-root .modal-choice-button:hover{background-color:#05a;transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}#chapters-editor-root .modal-choice-button svg{margin-right:8px}#chapters-editor-root .success-link{background-color:#4caf50}#chapters-editor-root .success-link:hover{background-color:#3d8b40}#chapters-editor-root .centered-choice{margin:0 auto;width:auto;min-width:220px;background-color:#06c;color:#fff}#chapters-editor-root .centered-choice:hover{background-color:#05a}@media (max-width: 480px){#chapters-editor-root .modal-container{width:95%}#chapters-editor-root .modal-actions{flex-direction:column}#chapters-editor-root .modal-button{width:100%}}#chapters-editor-root .error-message{color:#f44336;font-weight:500;background-color:#f443361a;padding:10px;border-radius:4px;border-left:4px solid #f44336;margin-top:10px}#chapters-editor-root .redirect-message{color:#555;font-size:.95rem;padding:0;margin:0}#chapters-editor-root .countdown{font-weight:700;color:#06c;font-size:1.1rem}#chapters-editor-root{@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}}#chapters-editor-root .timeline-container-card{background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .timeline-header{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}#chapters-editor-root .timeline-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333)}#chapters-editor-root .timeline-title-text{font-weight:700}#chapters-editor-root .current-time{font-size:.875rem;color:var(--foreground, #333)}#chapters-editor-root .time-code{font-family:monospace;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem}#chapters-editor-root .duration-time{font-size:.875rem;color:var(--foreground, #333)}#chapters-editor-root .timeline-scroll-container{position:relative;overflow:visible!important}#chapters-editor-root .timeline-container{position:relative;min-width:100%;background-color:#fafbfc;height:70px;border-radius:.25rem;overflow:visible!important}#chapters-editor-root .timeline-marker{position:absolute;height:82px;width:2px;background-color:#000;transform:translate(-50%);z-index:50;pointer-events:none}#chapters-editor-root .timeline-marker-head{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:16px;height:16px;background-color:#ef4444;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:51}#chapters-editor-root .timeline-marker-drag{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:16px;height:16px;background-color:#4b5563;border-radius:50%;cursor:grab;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:51}#chapters-editor-root .timeline-marker-drag.dragging{cursor:grabbing;background-color:#374151}#chapters-editor-root .timeline-marker-head-icon{color:#fff;font-size:14px;font-weight:700;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}#chapters-editor-root .timeline-marker-drag-icon{color:#fff;font-size:12px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:rotate(90deg);display:inline-block}#chapters-editor-root .trim-line-marker{position:absolute;top:0;bottom:0;width:1px;background-color:#00000080;z-index:20}#chapters-editor-root .trim-handle{position:absolute;width:10px;height:20px;background-color:#000;cursor:ew-resize}#chapters-editor-root .trim-handle.left{right:0;top:10px;border-radius:3px 0 0 3px}#chapters-editor-root .trim-handle.right{left:0;top:10px;border-radius:0 3px 3px 0}#chapters-editor-root .timeline-thumbnail{display:inline-block;height:70px;border-right:1px solid rgba(0,0,0,.03)}#chapters-editor-root .split-point{position:absolute;top:0;bottom:0;width:1px;background-color:#ff000080;z-index:15}#chapters-editor-root .clip-segment{position:absolute;height:70px;border-radius:4px;z-index:10;border:2px solid rgba(0,0,0,.15);cursor:pointer}#chapters-editor-root .clip-segment:hover{box-shadow:0 0 0 2px #0000004d;border-color:#0006;background-color:#f0f0f0cc!important}#chapters-editor-root .clip-segment.selected{box-shadow:0 0 0 2px #3b82f6b3;border-color:#3b82f6e6}#chapters-editor-root .clip-segment.selected:hover{background-color:#f0f8ffd9!important}#chapters-editor-root .clip-segment-info{position:absolute;bottom:0;left:0;right:0;padding:.4rem;background-color:#0006;color:#fff;opacity:1;transition:background-color .2s;line-height:1.3}#chapters-editor-root .clip-segment:hover .clip-segment-info{background-color:#00000080}#chapters-editor-root .clip-segment.selected .clip-segment-info{background-color:#3b82f680}#chapters-editor-root .clip-segment.selected:hover .clip-segment-info{background-color:#3b82f666}#chapters-editor-root .clip-segment-name{font-weight:700;font-size:12px}#chapters-editor-root .clip-segment-time,#chapters-editor-root .clip-segment-duration{font-size:10px}#chapters-editor-root .clip-segment-handle{position:absolute;top:0;bottom:0;width:6px;background-color:#0003;cursor:ew-resize}#chapters-editor-root .clip-segment-handle:hover{background-color:#0006}#chapters-editor-root .clip-segment-handle.left{left:0;border-radius:2px 0 0 2px}#chapters-editor-root .clip-segment-handle.right{right:0;border-radius:0 2px 2px 0}@media (pointer: coarse){#chapters-editor-root .clip-segment-handle{width:14px;background-color:#0006}#chapters-editor-root .clip-segment-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:20px;background-color:#fffc;border-radius:1px}#chapters-editor-root .clip-segment-handle.left:after{box-shadow:-2px 0 #00000080}#chapters-editor-root .clip-segment-handle.right:after{box-shadow:2px 0 #00000080}#chapters-editor-root .clip-segment-handle:active{background-color:#0009}#chapters-editor-root .timeline-marker{height:85px}#chapters-editor-root .timeline-marker-head{width:24px;height:24px;top:-13px}#chapters-editor-root .timeline-marker-drag{width:24px;height:24px;bottom:-18px}#chapters-editor-root .timeline-marker-head.dragging{width:28px;height:28px;top:-15px}}#chapters-editor-root .segment-tooltip,#chapters-editor-root .empty-space-tooltip{position:absolute;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #0000004d;padding:.5rem;z-index:1000;min-width:150px;text-align:center;pointer-events:auto;top:-105px!important;transform:translateY(-10px)}#chapters-editor-root .segment-tooltip{top:-165px!important}#chapters-editor-root .segment-tooltip:after,#chapters-editor-root .empty-space-tooltip:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid white}#chapters-editor-root .segment-tooltip:before,#chapters-editor-root .empty-space-tooltip:before{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.1);z-index:-1}#chapters-editor-root .tooltip-time{font-weight:600;font-size:.875rem;margin-bottom:.5rem;color:#333}#chapters-editor-root .tooltip-actions{display:flex;justify-content:center;gap:.5rem}#chapters-editor-root .tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:.25rem;padding:.375rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;min-width:20px!important}#chapters-editor-root .tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}#chapters-editor-root .tooltip-action-btn.delete{color:#ef4444}#chapters-editor-root .tooltip-action-btn.delete:hover{background-color:#fee2e2}#chapters-editor-root .tooltip-action-btn.new-segment{padding:.375rem .5rem}#chapters-editor-root .tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:.25rem;font-size:.75rem}#chapters-editor-root .tooltip-action-btn svg{width:1rem;height:1rem}#chapters-editor-root .timeline-controls{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}#chapters-editor-root .time-navigation{display:none;align-items:center;gap:.5rem}#chapters-editor-root .time-nav-label{font-size:.875rem;font-weight:500}#chapters-editor-root .time-input{border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;width:8rem;font-size:.875rem}#chapters-editor-root .time-button-group{display:flex}#chapters-editor-root .time-button{background-color:#e5e7eb;color:#000;padding:.25rem .5rem;font-size:.875rem;border:none;cursor:pointer;margin-right:.5rem}#chapters-editor-root .time-button:hover{background-color:#d1d5db}#chapters-editor-root .time-button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#chapters-editor-root .time-button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#chapters-editor-root .controls-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}#chapters-editor-root .zoom-dropdown-container{position:relative;z-index:100;display:none}#chapters-editor-root .zoom-button{background-color:#374151;color:#fff;border:none;border-radius:.25rem;padding:.25rem .75rem;font-size:.875rem;display:flex;align-items:center;cursor:pointer}#chapters-editor-root .zoom-button:hover{background-color:#1f2937}#chapters-editor-root .zoom-button svg{margin-left:.25rem}#chapters-editor-root .zoom-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;width:9rem;background-color:#374151;color:#fff;border-radius:.25rem;box-shadow:0 4px 6px -1px #0000001a;z-index:50;max-height:300px;overflow-y:auto}#chapters-editor-root .zoom-option{padding:.25rem .75rem;cursor:pointer}#chapters-editor-root .zoom-option:hover{background-color:#4b5563}#chapters-editor-root .zoom-option.selected{background-color:#6b7280;display:flex;align-items:center}#chapters-editor-root .zoom-option svg{margin-right:.25rem}#chapters-editor-root .save-buttons-row{display:flex;align-items:center;gap:.5rem;margin:0;flex-wrap:nowrap}#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{color:#fff;background:#06c;border-radius:.25rem;font-size:.75rem;padding:.25rem .5rem;cursor:pointer;border:none;white-space:nowrap;transition:background-color .2s;min-width:-moz-fit-content;min-width:fit-content}#chapters-editor-root .save-button:hover,#chapters-editor-root .save-copy-button:hover,#chapters-editor-root .save-segments-button:hover{background-color:#0056b3}@media (max-width: 576px){#chapters-editor-root .save-buttons-row{width:100%;justify-content:space-between;gap:.5rem}#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{flex:1;font-size:.7rem;padding:.25rem .35rem}}@media (max-width: 480px){#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{font-size:.675rem;padding:.25rem}#chapters-editor-root .controls-right,#chapters-editor-root .controls-right button{margin:0}}#chapters-editor-root .modal-success-content,#chapters-editor-root .modal-error-content{display:flex;flex-direction:column;align-items:center;padding:1rem;text-align:center;padding:0;margin:0}#chapters-editor-root .modal-success-icon,#chapters-editor-root .modal-error-icon{margin-bottom:1rem}#chapters-editor-root .modal-success-icon svg{color:#4caf50;animation:fadeIn .5s ease-in-out}#chapters-editor-root .modal-error-icon svg{color:#f44336;animation:fadeIn .5s ease-in-out}#chapters-editor-root .success-link{background-color:#4caf50;color:#fff;transition:background-color .3s}#chapters-editor-root .success-link:hover{background-color:#388e3c}#chapters-editor-root .error-message{color:#f44336;font-weight:500}#chapters-editor-root .modal-spinner{display:flex;justify-content:center;margin:2rem 0}#chapters-editor-root .spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#06c;animation:spin 1s ease-in-out infinite}#chapters-editor-root .auto-save-spinner{animation:spin 1s linear infinite}#chapters-editor-root .text-center{text-align:center}#chapters-editor-root .modal-message{margin-bottom:1rem;line-height:1.5}#chapters-editor-root .modal-choice-button{display:flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;background-color:#06c;color:#fff;border-radius:4px;text-decoration:none;margin:0 auto;cursor:pointer;font-weight:500;gap:.5rem;border:none;transition:background-color .3s}#chapters-editor-root .modal-choice-button:hover{background-color:#0056b3}#chapters-editor-root .modal-choice-button svg{flex-shrink:0}#chapters-editor-root .centered-choice{margin:0 auto;min-width:180px}.mobile-timeline-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:50;display:flex;justify-content:center;align-items:center;border-radius:.5rem;pointer-events:none}.mobile-timeline-message{background-color:#000c;border-radius:8px;padding:15px 25px;text-align:center;max-width:80%;animation:pulse 2s infinite}.mobile-timeline-message p{color:#fff;font-size:16px;margin:0 0 15px;font-weight:500}.mobile-play-icon{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid white;margin:0 auto}@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(1)}}.segments-playback-mode .tooltip-time-btn,.segments-playback-mode .tooltip-action-btn.play,.segments-playback-mode .tooltip-action-btn.pause{opacity:1;cursor:pointer}.segments-playback-mode .tooltip-time-btn[disabled],.segments-playback-mode .tooltip-action-btn[disabled]{opacity:.5!important;cursor:not-allowed!important}.segments-playback-mode [data-tooltip][disabled]:hover:before,.segments-playback-mode [data-tooltip][disabled]:hover:after{opacity:1!important;visibility:visible!important}.segments-playback-message{display:flex;align-items:center;background-color:#3b82f61a;color:#3b82f6;padding:6px 12px;border-radius:4px;font-weight:600;font-size:.875rem;animation:pulse 2s infinite}.segments-playback-message svg{height:1.25rem;width:1.25rem;margin-right:.5rem;color:#3b82f6}.chapter-editor{background-color:#f8fafc;border:2px solid #3b82f6;border-radius:.5rem;padding:1rem;margin-bottom:1rem;transition:all .2s ease}.chapter-editor-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem;gap:1rem}.chapter-editor-title-section{display:flex;flex-direction:column;gap:.5rem;flex:1}.chapter-editor-header h4{margin:0;font-size:.875rem;font-weight:600;color:#1f2937}.chapter-editor-segment{font-size:.75rem;color:#6b7280;background-color:#e5e7eb;padding:.25rem .5rem;border-radius:.25rem;display:inline-block}.save-chapters-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.save-chapters-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f64d}.save-chapters-button.has-changes{background-color:#10b981;animation:pulse-green-chapters 2s infinite}.save-chapters-button.has-changes:hover{background-color:#059669}.save-chapters-button svg{width:1rem;height:1rem}@keyframes pulse-green-chapters{0%,to{background-color:#10b981}50%{background-color:#34d399}}.chapter-title-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.chapter-title-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.chapter-title-input::-moz-placeholder{color:#9ca3af}.chapter-title-input::placeholder{color:#9ca3af}.chapter-editor-info{margin-top:.5rem;font-size:.75rem;color:#6b7280;font-style:italic}@media (max-width: 768px){.chapter-editor-header{flex-direction:column;gap:.75rem;align-items:stretch}.save-chapters-button{justify-content:center;align-self:stretch}.chapter-editor-segment{text-align:center}}.tooltip-chapter-editor{background-color:#fffffff2;border-radius:.375rem;pointer-events:auto}.tooltip-chapter-input{width:100%;padding:.5rem;border:2px solid #ccc;border-radius:.25rem;background-color:#fff;color:#000;font-size:.75rem;resize:none;outline:none;box-sizing:border-box;max-height:70px!important}.tooltip-chapter-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.tooltip-chapter-input::-moz-placeholder{color:#999}.tooltip-chapter-input::placeholder{color:#999}.two-row-tooltip{display:flex;flex-direction:column;background-color:#fff;padding:6px;border-radius:4px;box-shadow:0 2px 8px #00000026;position:relative;z-index:3000}.tooltip-time-btn[data-tooltip="Decrease by 100ms"],.tooltip-time-btn[data-tooltip="Increase by 100ms"]{display:none!important}.tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:3px}.tooltip-row:first-child{margin-bottom:6px}.tooltip-time-btn{background-color:#f0f0f0!important;border:none!important;border-radius:4px!important;padding:4px 8px!important;font-size:.75rem!important;font-weight:500!important;color:#333!important;cursor:pointer!important;transition:background-color .2s!important;min-width:20px!important}.tooltip-time-btn:hover{background-color:#e0e0e0!important}.tooltip-time-display{font-family:monospace!important;font-size:.875rem!important;font-weight:600!important;color:#333!important;padding:4px 6px!important;background-color:#f7f7f7!important;border-radius:4px!important;min-width:100px!important;text-align:center!important;overflow:hidden!important}.tooltip-time-display.disabled{pointer-events:none!important;cursor:not-allowed!important;opacity:.6!important;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.tooltip-time-btn.disabled[data-tooltip]:hover:before,.tooltip-time-btn.disabled[data-tooltip]:hover:after,.tooltip-action-btn.disabled[data-tooltip]:hover:before,.tooltip-action-btn.disabled[data-tooltip]:hover:after{opacity:1!important;visibility:visible!important}.tooltip-actions{display:flex;justify-content:space-between;align-items:center;gap:3px;position:relative;z-index:2500}.tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:4px;padding:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;width:26px;height:26px;min-width:20px!important;position:relative}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);position:absolute;height:30px;top:35px;left:50%;transform:translate(-50%);margin-left:0;background-color:#000000d9;color:#fff;text-align:left;padding:6px 12px;border-radius:4px;box-shadow:0 2px 8px #0003;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}.tooltip-action-btn[data-tooltip]:after{content:"";position:absolute;top:35px;left:50%;transform:translate(-50%);border-width:4px;border-style:solid;border-color:rgba(0,0,0,.85) transparent transparent transparent;margin-left:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}@media (hover: hover) and (pointer: fine){.tooltip-action-btn[data-tooltip]:hover:before,.tooltip-action-btn[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;content:none!important}}.tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}.tooltip-action-btn.delete{color:#ef4444}.tooltip-action-btn.delete:hover{background-color:#fee2e2}.tooltip-action-btn.play{color:#10b981}.tooltip-action-btn.play:hover{background-color:#d1fae5}.tooltip-action-btn.pause{color:#3b82f6}.tooltip-action-btn.pause:hover{background-color:#dbeafe}.tooltip-action-btn.play-from-start{color:#4f46e5}.tooltip-action-btn.play-from-start:hover{background-color:#e0e7ff}.tooltip-action-btn svg{width:16px;height:16px}.tooltip-action-btn.new-segment{width:auto;height:auto;padding:6px 10px;display:flex;flex-direction:row;color:#10b981}.tooltip-action-btn.new-segment:hover{background-color:#d1fae5}.tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:6px;font-size:.75rem;white-space:nowrap}.tooltip-action-btn.disabled{opacity:.5;cursor:not-allowed;background-color:#f3f4f6}.tooltip-action-btn.disabled:hover{background-color:#f3f4f6;color:#9ca3af}.tooltip-action-btn.disabled svg{color:#9ca3af}.tooltip-action-btn.disabled .tooltip-btn-text{color:#9ca3af}.tooltip-action-btn.pause.disabled{color:#9ca3af!important;opacity:.5;cursor:not-allowed}.tooltip-action-btn.pause.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-action-btn.play.disabled{color:#9ca3af!important;opacity:.5;cursor:not-allowed}.tooltip-action-btn.play.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-time-btn.disabled{opacity:.5!important;cursor:not-allowed!important;background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-time-btn.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}@media (max-width: 768px){.two-row-tooltip{padding:4px}.tooltip-row:first-child{margin-bottom:4px}.tooltip-time-btn{min-width:20px!important;font-size:.7rem!important;padding:3px 6px!important}.tooltip-time-display{font-size:.8rem!important;padding:3px 4px!important;min-width:90px!important}.tooltip-action-btn{width:24px;height:24px;padding:4px}.tooltip-action-btn.new-segment{padding:4px 8px}.tooltip-action-btn svg{width:14px;height:14px}.tooltip-action-btn[data-tooltip]:before{min-width:100px;font-size:11px;padding:4px 8px;height:24px;top:33px}.tooltip-action-btn[data-tooltip]:after{top:33px}}#chapters-editor-root{@keyframes bluePulse{0%{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}to{box-shadow:0 0 #3b82f600}}@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}}#chapters-editor-root .editing-tools-container{background-color:#fff;border-radius:.5rem;padding:1rem;margin-bottom:2.5rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .flex-container{display:flex;justify-content:space-between;align-items:center;position:relative;gap:15px;width:100%}#chapters-editor-root .flex-container.single-row{flex-wrap:nowrap}#chapters-editor-root .full-text{display:inline}#chapters-editor-root .short-text{display:none}#chapters-editor-root .reset-text{display:inline}#chapters-editor-root .button-group{display:flex;align-items:center}#chapters-editor-root .button-group.play-buttons-group{gap:.75rem;justify-content:flex-start;flex:0 0 auto}#chapters-editor-root .button-group.secondary{gap:.75rem;align-items:center;justify-content:flex-end;margin-left:auto}#chapters-editor-root .button-group button{display:flex;align-items:center;color:#333;background:none;border:none;cursor:pointer;min-width:auto}#chapters-editor-root .button-group button:hover:not(:disabled){color:inherit}#chapters-editor-root .button-group button:disabled{opacity:.5;cursor:not-allowed}#chapters-editor-root .button-group button svg{height:1.25rem;width:1.25rem;margin-right:.25rem}#chapters-editor-root .divider{border-right:1px solid #d1d5db;height:1.5rem;margin:0 .5rem}#chapters-editor-root .play-button,#chapters-editor-root .preview-button{font-weight:600;display:flex;align-items:center;position:relative;overflow:hidden;min-width:80px;justify-content:center;font-size:.875rem!important}#chapters-editor-root .play-button.greyed-out{opacity:.5;cursor:not-allowed}#chapters-editor-root .segments-button.highlighted-stop{background-color:#3b82f61a;color:#3b82f6;border:1px solid #3b82f6;animation:bluePulse 2s infinite}#chapters-editor-root .play-button:hover:not(:disabled),#chapters-editor-root .preview-button:hover:not(:disabled){color:inherit!important;transform:none!important;font-size:.875rem!important;width:auto!important;background:none!important}#chapters-editor-root .play-button svg,#chapters-editor-root .preview-button svg{height:1.5rem;width:1.5rem;flex-shrink:0}#chapters-editor-root .button-text{margin-left:.25rem}@media (max-width: 992px){#chapters-editor-root .button-group.secondary .button-text{display:none}}@media (max-width: 768px){#chapters-editor-root .flex-container.single-row{justify-content:space-between}#chapters-editor-root .button-group{gap:.5rem}#chapters-editor-root .preview-button,#chapters-editor-root .play-button{font-size:.875rem!important}}@media (max-width: 640px){#chapters-editor-root .editing-tools-container{padding:.75rem;overflow-x:hidden}#chapters-editor-root .preview-button{min-width:auto}#chapters-editor-root .full-text{display:none}#chapters-editor-root .short-text{display:inline;margin-left:.15rem}#chapters-editor-root .reset-text{display:none}#chapters-editor-root .button-group.play-buttons-group{flex:initial;justify-content:flex-start;flex-shrink:0}#chapters-editor-root .button-group.secondary{flex:initial;justify-content:flex-end;flex-shrink:0}#chapters-editor-root .button-group button{padding:.375rem;min-width:auto}#chapters-editor-root .button-group button svg{height:1.125rem;width:1.125rem;margin-right:.125rem}}@media (max-width: 576px){#chapters-editor-root .flex-container.single-row{justify-content:space-between;flex-wrap:nowrap;gap:10px}#chapters-editor-root .button-group.play-buttons-group{justify-content:flex-start;flex:0 0 auto}#chapters-editor-root .button-group.secondary{justify-content:flex-end;margin-left:auto}#chapters-editor-root .button-group button{padding:.25rem}#chapters-editor-root .divider{margin:0 .25rem}}@media (max-width: 480px){#chapters-editor-root .editing-tools-container{padding:.5rem}#chapters-editor-root .flex-container.single-row{gap:8px}#chapters-editor-root .button-group.play-buttons-group,#chapters-editor-root .button-group.secondary{gap:.25rem}#chapters-editor-root .divider{display:none}#chapters-editor-root .button-group button{padding:.125rem}#chapters-editor-root .button-group button svg{height:1rem;width:1rem;margin-right:0}#chapters-editor-root .button-text,#chapters-editor-root .reset-text{display:none}}@media (max-width: 640px) and (orientation: portrait){#chapters-editor-root .editing-tools-container{width:100%;box-sizing:border-box}#chapters-editor-root .flex-container.single-row{width:100%;padding:0;margin:0}#chapters-editor-root .button-group{max-width:50%}#chapters-editor-root .button-group.play-buttons-group{max-width:60%}#chapters-editor-root .button-group.secondary{max-width:40%}}#chapters-editor-root{@keyframes pulse-green{0%,to{background-color:#10b981}50%{background-color:#34d399}}}@media (hover: hover) and (pointer: fine){#chapters-editor-root [data-tooltip]{position:relative}#chapters-editor-root [data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;background-color:#000c;color:#fff;text-align:center;padding:5px 10px;border-radius:3px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none}#chapters-editor-root [data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}#chapters-editor-root [data-tooltip]:hover:before,#chapters-editor-root [data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){#chapters-editor-root [data-tooltip]:before,#chapters-editor-root [data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}#chapters-editor-root .clip-segments-container{margin-top:1rem;background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .clip-segments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}#chapters-editor-root .clip-segments-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333);margin:0}#chapters-editor-root .save-chapters-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}#chapters-editor-root .save-chapters-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f64d}#chapters-editor-root .save-chapters-button.has-changes{background-color:#10b981;animation:pulse-green 2s infinite}#chapters-editor-root .save-chapters-button.has-changes:hover{background-color:#059669}#chapters-editor-root .save-chapters-button svg{width:1rem;height:1rem}#chapters-editor-root .chapter-editor{background-color:#f8fafc;border:2px solid #3b82f6;border-radius:.5rem;padding:1rem;margin-bottom:1rem;transition:all .2s ease}#chapters-editor-root .chapter-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}#chapters-editor-root .chapter-editor-header h4{margin:0;font-size:.875rem;font-weight:600;color:#1f2937}#chapters-editor-root .chapter-editor-segment{font-size:.75rem;color:#6b7280;background-color:#e5e7eb;padding:.25rem .5rem;border-radius:.25rem}#chapters-editor-root .chapter-title-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}#chapters-editor-root .chapter-title-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}#chapters-editor-root .chapter-title-input::-moz-placeholder{color:#9ca3af}#chapters-editor-root .chapter-title-input::placeholder{color:#9ca3af}#chapters-editor-root .chapter-editor-info{margin-top:.5rem;font-size:.75rem;color:#6b7280;font-style:italic}#chapters-editor-root .segment-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border:1px solid #e5e7eb;border-radius:.25rem;margin-bottom:.5rem;transition:all .2s ease}#chapters-editor-root .segment-item:hover{box-shadow:0 4px 6px -1px #0000001a}#chapters-editor-root .segment-item.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#3b82f60d}#chapters-editor-root .segment-content{display:flex;align-items:center}#chapters-editor-root .segment-thumbnail{width:4rem;height:2.25rem;background-size:cover;background-position:center;border-radius:.25rem;margin-right:.75rem;box-shadow:0 0 0 1px #ffffff4d}#chapters-editor-root .segment-info{display:flex;flex-direction:column}#chapters-editor-root .segment-title{font-weight:500;font-size:.875rem;color:#000}#chapters-editor-root .chapter-title{color:#1f2937;font-weight:600}#chapters-editor-root .default-title{color:#6b7280;font-style:italic}#chapters-editor-root .segment-time{font-size:.75rem;color:#000}#chapters-editor-root .segment-duration{font-size:.75rem;margin-top:.25rem;display:inline-block;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem;color:#000}#chapters-editor-root .segment-actions{display:flex;align-items:center;gap:.5rem}#chapters-editor-root .delete-button{padding:.375rem;color:#4b5563;background-color:#e5e7eb;border-radius:9999px;border:none;cursor:pointer;transition:background-color .2s,color .2s;min-width:auto}#chapters-editor-root .delete-button:hover{color:#000;background-color:#d1d5db}#chapters-editor-root .delete-button svg{height:1rem;width:1rem}#chapters-editor-root .empty-message{padding:1rem;text-align:center;color:#333333b3}#chapters-editor-root .segment-color-1{background-color:#3b82f626}#chapters-editor-root .segment-color-2{background-color:#10b98126}#chapters-editor-root .segment-color-3{background-color:#f59e0b26}#chapters-editor-root .segment-color-4{background-color:#ef444426}#chapters-editor-root .segment-color-5{background-color:#8b5cf626}#chapters-editor-root .segment-color-6{background-color:#ec489926}#chapters-editor-root .segment-color-7{background-color:#06b6d426}#chapters-editor-root .segment-color-8{background-color:#facc1526}@media (max-width: 768px){#chapters-editor-root .clip-segments-header{flex-direction:column;gap:.75rem;align-items:stretch}#chapters-editor-root .save-chapters-button{justify-content:center}#chapters-editor-root .chapter-editor-header{flex-direction:column;gap:.5rem;align-items:flex-start}#chapters-editor-root .chapter-editor-segment{align-self:stretch;text-align:center}}.mobile-play-prompt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.mobile-play-prompt{background-color:#fff;width:90%;max-width:400px;border-radius:12px;padding:25px;box-shadow:0 4px 20px #00000040;text-align:center}.mobile-play-prompt h3{margin:0 0 15px;font-size:20px;color:#333;font-weight:600}.mobile-play-prompt p{margin:0 0 15px;font-size:16px;color:#444;line-height:1.5}.mobile-prompt-instructions{margin:20px 0;text-align:left;background-color:#f8f9fa;padding:15px;border-radius:8px}.mobile-prompt-instructions p{margin:0 0 8px;font-size:15px;font-weight:500}.mobile-prompt-instructions ol{margin:0;padding-left:22px}.mobile-prompt-instructions li{margin-bottom:8px;font-size:14px;color:#333}.mobile-play-button{background-color:#007bff;color:#fff;border:none;border-radius:8px;padding:12px 25px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:5px;min-height:44px;min-width:200px}.mobile-play-button:hover{background-color:#0069d9}.mobile-play-button:active{background-color:#0062cc;transform:scale(.98)}@supports (-webkit-touch-callout: none){.mobile-play-button{padding:14px 25px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:hsl(var(--border))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-6xl{max-width:72rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.bg-background{background-color:hsl(var(--background))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.paused{animation-play-state:paused}:root{--foreground: 20 14.3% 4.1%;--muted: 60 4.8% 95.9%;--muted-foreground: 25 5.3% 44.7%;--popover: 0 0% 100%;--popover-foreground: 20 14.3% 4.1%;--card: 0 0% 100%;--card-foreground: 20 14.3% 4.1%;--border: 20 5.9% 90%;--input: 20 5.9% 90%;--primary: 207 90% 54%;--primary-foreground: 211 100% 99%;--secondary: 30 84% 54%;--secondary-foreground: 60 9.1% 97.8%;--accent: 60 4.8% 95.9%;--accent-foreground: 24 9.8% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 60 9.1% 97.8%;--ring: 20 14.3% 4.1%;--radius: .5rem}.video-player{position:relative;width:100%;background-color:#000;overflow:hidden;border-radius:.5rem}.video-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1rem;display:flex;flex-direction:column}.video-current-time{color:#fff;font-weight:500}.video-progress{position:relative;height:4px;background-color:#ffffff4d;border-radius:2px;margin-bottom:1rem}.video-progress-fill{position:absolute;left:0;top:0;height:100%;background-color:hsl(var(--primary));border-radius:2px}.video-scrubber{position:absolute;width:12px;height:12px;margin-left:-6px;background-color:#fff;border-radius:50%;top:-4px}.video-player-container{position:relative;overflow:hidden}.play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background-color:#00000080;z-index:20;opacity:0;transition:opacity .2s ease;pointer-events:none;background-position:center;background-repeat:no-repeat}.play-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")}.pause-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M6 19h4V5H6v14zm8-14v14h4V5h-4z'/%3E%3C/svg%3E")}.video-player-container:hover .play-pause-indicator{opacity:1}.timeline-scroll-container{height:6rem;border-radius:.375rem;overflow-x:auto;overflow-y:hidden;margin-bottom:.75rem;background-color:#eee;position:relative}.timeline-container{position:relative;background-color:#eee;height:6rem;width:100%;cursor:pointer;transition:width .3s ease}.timeline-marker{position:absolute;top:-10px;height:calc(100% + 10px);width:2px;background-color:red;z-index:100;pointer-events:none;box-shadow:0 0 4px #ff000080}.trim-line-marker{position:absolute;top:0;bottom:0;width:2px;background-color:#007bffe6;z-index:10}.trim-handle{width:8px;background-color:#6c757de6;position:absolute;top:0;bottom:0;cursor:ew-resize;z-index:15}.trim-handle.left{left:-4px}.trim-handle.right{right:-4px}.timeline-thumbnail{height:100%;border-right:1px solid rgba(0,0,0,.1);position:relative;display:inline-block;background-size:cover;background-position:center}.split-point{position:absolute;width:2px;background-color:#6c757de6;top:0;bottom:0;z-index:5}.clip-segment{position:absolute;height:95%;top:0;border-radius:4px;background-size:cover;background-position:center;background-blend-mode:soft-light;box-shadow:0 2px 8px #0003;overflow:hidden;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:box-shadow .2s,transform .1s;z-index:15}.clip-segment:nth-child(odd),.segment-color-1,.segment-color-3,.segment-color-5,.segment-color-7{background-color:transparent;border:2px solid rgba(0,123,255,.9)}.clip-segment:nth-child(2n),.segment-color-2,.segment-color-4,.segment-color-6,.segment-color-8{background-color:transparent;border:2px solid rgba(108,117,125,.9)}.clip-segment:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-1px);filter:brightness(1.1)}.clip-segment:active{cursor:grabbing;box-shadow:0 2px 6px #0000004d;transform:translateY(0)}.clip-segment.selected{border-width:3px;box-shadow:0 4px 12px #0006;z-index:25;filter:brightness(1.2)}.clip-segment-info{background-color:#e2e6eae6;color:#000;padding:6px 8px;font-size:.7rem;position:absolute;top:0;left:0;width:100%;border-radius:4px 4px 0 0;z-index:2;display:flex;flex-direction:column;gap:2px}.clip-segment-name{font-weight:700;color:#000}.clip-segment-time{font-size:.65rem;color:#000}.clip-segment-duration{font-size:.65rem;color:#000;background:#b3d9ff66;padding:1px 4px;border-radius:2px;display:inline-block;margin-top:2px}.clip-segment-handle{position:absolute;width:8px;top:0;bottom:0;background-color:#6c757de6;cursor:ew-resize;z-index:20;display:flex;align-items:center;justify-content:center}.clip-segment-handle:after{content:"↔";color:#fff;font-size:12px;text-shadow:0 0 2px rgba(0,0,0,.8)}.clip-segment-handle.left{left:0}.clip-segment-handle.right{right:0}.clip-segment-handle:hover{background-color:#007bffe6;width:10px}input[type=range]{-webkit-appearance:none;height:6px;background:#e0e0e0;border-radius:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;border-radius:50%;background:#007bffe6;cursor:pointer}[data-tooltip]{position:relative;cursor:pointer}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background-color:#000c;color:#fff;padding:5px 10px;border-radius:4px;font-size:.8rem;white-space:nowrap;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}[data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;margin-bottom:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}@media (hover: hover) and (pointer: fine){[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){[data-tooltip]:before,[data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}button[disabled][data-tooltip]:before,button[disabled][data-tooltip]:after{opacity:.5}.tooltip-action-btn{position:relative}.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{opacity:0;visibility:hidden;position:absolute;pointer-events:none;transition:all .3s ease}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);background-color:#000c;color:#fff;font-size:12px;padding:4px 8px;border-radius:3px;white-space:nowrap;bottom:-35px;left:50%;transform:translate(-50%);z-index:9999}.tooltip-action-btn[data-tooltip]:after{content:"";border-width:5px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.8) transparent;bottom:-15px;left:50%;transform:translate(-50%);z-index:9999}@media (hover: hover) and (pointer: fine){.tooltip-action-btn:hover[data-tooltip]:before,.tooltip-action-btn:hover[data-tooltip]:after{opacity:1;visibility:visible}}.segment-tooltip{background-color:#b3d9fff2;color:#000;border-radius:4px;padding:6px;min-width:140px;z-index:1000;box-shadow:0 3px 10px #0003}.segment-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(179,217,255,.95)}.tooltip-time{font-size:.85rem;font-weight:700;text-align:center;margin-bottom:6px;color:#000}.tooltip-actions{display:flex;justify-content:space-between;gap:5px;position:relative}.tooltip-action-btn{background-color:#007bff33;border:none;border-radius:3px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:6px;transition:background-color .2s;min-width:20px!important}.tooltip-action-btn:hover{background-color:#007bff66}.tooltip-action-btn svg{width:100%;height:100%;stroke:currentColor}.tooltip-action-btn.set-in svg,.tooltip-action-btn.set-out svg{width:100%;height:100%;margin:0 auto;fill:currentColor;stroke:none}.empty-space-tooltip{background-color:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;padding:8px;z-index:50;min-width:120px;text-align:center;position:relative}.empty-space-tooltip:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);border-width:8px 8px 0;border-style:solid;border-color:white transparent transparent}.tooltip-action-btn.new-segment{width:auto;padding:6px 10px;display:flex;align-items:center;gap:5px}.tooltip-btn-text{font-size:.8rem;white-space:nowrap;color:#000}.icon-new-segment{width:20px;height:20px}.zoom-dropdown-container{position:relative}.zoom-button{display:flex;align-items:center;gap:6px;background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.zoom-button:hover{background-color:#6c757d}.zoom-dropdown{background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #00000026;max-height:300px;overflow-y:auto}.zoom-option{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:5px}.zoom-option:hover{background-color:#007bff1a}.zoom-option.selected{background-color:#007bff33;font-weight:500}.save-button,.save-copy-button,.save-segments-button{background-color:#007bffcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.save-button:hover,.save-copy-button:hover{background-color:#007bff}.save-copy-button{background-color:#6c757dcc}.save-copy-button:hover{background-color:#6c757d}.time-nav-label{font-weight:500;font-size:.9rem}.time-input{padding:6px 10px;border-radius:4px;border:1px solid #ccc;width:150px;font-family:monospace}.time-button-group{display:flex;gap:5px}.time-button{background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:6px 8px;font-size:.8rem;cursor:pointer;transition:background-color .2s}.time-button:hover{background-color:#6c757d}.timeline-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px;background-color:#f5f5f5;border-radius:6px;margin-top:15px}.time-navigation{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.controls-right{display:flex;align-items:center;gap:10px}@media (max-width: 768px){.timeline-controls{flex-direction:column;align-items:flex-start;gap:15px}.controls-right{margin-top:10px;width:100%;justify-content:flex-start;text-align:center;align-items:center;justify-content:center}}.timeline-header{display:flex;align-items:center;gap:20px;margin-bottom:10px;flex-wrap:wrap}.timeline-title{font-weight:700;margin-right:20px}.timeline-title-text{font-size:1.1rem}.current-time,.duration-time{white-space:nowrap}.time-code{font-family:monospace;font-weight:500}@media (max-width: 480px){.timeline-header{flex-direction:column;align-items:flex-start;gap:8px}.time-navigation{width:100%;flex-direction:column;align-items:flex-start;gap:10px}.time-button-group{width:100%;display:flex;justify-content:space-between;margin-top:10px}.controls-right{flex-wrap:wrap;gap:8px}.save-button,.save-copy-button{margin-top:8px;width:100%}.zoom-dropdown-container{width:100%}.zoom-button{width:100%;justify-content:center}} diff --git a/static/chapters_editor/chapters-editor.js b/static/chapters_editor/chapters-editor.js index b57d09a2..fc27f84c 100644 --- a/static/chapters_editor/chapters-editor.js +++ b/static/chapters_editor/chapters-editor.js @@ -1,4 +1,4 @@ -(function(){"use strict";var dm={exports:{}},Kc={exports:{}},al={exports:{}};al.exports;var vm;function U0(){return vm||(vm=1,function(k,R){/** +(function(){"use strict";var dm={exports:{}},Jc={exports:{}},ul={exports:{}};ul.exports;var vm;function U0(){return vm||(vm=1,function(M,R){/** * @license React * react.development.js * @@ -6,29 +6,29 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var Ee="18.3.1",we=Symbol.for("react.element"),xe=Symbol.for("react.portal"),se=Symbol.for("react.fragment"),d=Symbol.for("react.strict_mode"),G=Symbol.for("react.profiler"),de=Symbol.for("react.provider"),te=Symbol.for("react.context"),gt=Symbol.for("react.forward_ref"),le=Symbol.for("react.suspense"),Me=Symbol.for("react.suspense_list"),J=Symbol.for("react.memo"),Ve=Symbol.for("react.lazy"),Ge=Symbol.for("react.offscreen"),Y=Symbol.iterator,St="@@iterator";function it(s){if(s===null||typeof s!="object")return null;var h=Y&&s[Y]||s[St];return typeof h=="function"?h:null}var _e={current:null},nt={transition:null},ye={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},j={current:null},Q={},Ot=null;function bt(s){Ot=s}Q.setExtraStackFrame=function(s){Ot=s},Q.getCurrentStack=null,Q.getStackAddendum=function(){var s="";Ot&&(s+=Ot);var h=Q.getCurrentStack;return h&&(s+=h()||""),s};var lt=!1,Rt=!1,Te=!1,q=!1,Je=!1,re={ReactCurrentDispatcher:_e,ReactCurrentBatchConfig:nt,ReactCurrentOwner:j};re.ReactDebugCurrentFrame=Q,re.ReactCurrentActQueue=ye;function me(s){{for(var h=arguments.length,D=new Array(h>1?h-1:0),O=1;O1?h-1:0),O=1;O1){for(var qt=Array(At),Gt=0;Gt1){for(var st=Array(Gt),Jt=0;Jt is not supported and will be removed in a future major release. Did you mean to render instead?")),h.Provider},set:function(ge){h.Provider=ge}},_currentValue:{get:function(){return h._currentValue},set:function(ge){h._currentValue=ge}},_currentValue2:{get:function(){return h._currentValue2},set:function(ge){h._currentValue2=ge}},_threadCount:{get:function(){return h._threadCount},set:function(ge){h._threadCount=ge}},Consumer:{get:function(){return D||(D=!0,W("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),h.Consumer}},displayName:{get:function(){return h.displayName},set:function(ge){X||(me("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",ge),X=!0)}}}),h.Consumer=Oe}return h._currentRenderer=null,h._currentRenderer2=null,h}var ga=-1,_n=0,kn=1,Da=2;function gr(s){if(s._status===ga){var h=s._result,D=h();if(D.then(function(Oe){if(s._status===_n||s._status===ga){var ge=s;ge._status=kn,ge._result=Oe}},function(Oe){if(s._status===_n||s._status===ga){var ge=s;ge._status=Da,ge._result=Oe}}),s._status===ga){var O=s;O._status=_n,O._result=D}}if(s._status===kn){var X=s._result;return X===void 0&&W(`lazy: Expected the result of a dynamic import() call. Instead received: %s + */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var be="18.3.1",Re=Symbol.for("react.element"),we=Symbol.for("react.portal"),ve=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),W=Symbol.for("react.profiler"),ge=Symbol.for("react.provider"),re=Symbol.for("react.context"),Tt=Symbol.for("react.forward_ref"),ce=Symbol.for("react.suspense"),je=Symbol.for("react.suspense_list"),te=Symbol.for("react.memo"),Be=Symbol.for("react.lazy"),Qe=Symbol.for("react.offscreen"),I=Symbol.iterator,xt="@@iterator";function ot(s){if(s===null||typeof s!="object")return null;var m=I&&s[I]||s[xt];return typeof m=="function"?m:null}var Le={current:null},rt={transition:null},Ce={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},U={current:null},Z={},zt=null;function Et(s){zt=s}Z.setExtraStackFrame=function(s){zt=s},Z.getCurrentStack=null,Z.getStackAddendum=function(){var s="";zt&&(s+=zt);var m=Z.getCurrentStack;return m&&(s+=m()||""),s};var st=!1,Ot=!1,ke=!1,X=!1,tt=!1,oe={ReactCurrentDispatcher:Le,ReactCurrentBatchConfig:rt,ReactCurrentOwner:U};oe.ReactDebugCurrentFrame=Z,oe.ReactCurrentActQueue=Ce;function Se(s){{for(var m=arguments.length,_=new Array(m>1?m-1:0),O=1;O1?m-1:0),O=1;O1){for(var Qt=Array(Vt),Kt=0;Kt1){for(var dt=Array(Kt),nn=0;nn is not supported and will be removed in a future major release. Did you mean to render instead?")),m.Provider},set:function(xe){m.Provider=xe}},_currentValue:{get:function(){return m._currentValue},set:function(xe){m._currentValue=xe}},_currentValue2:{get:function(){return m._currentValue2},set:function(xe){m._currentValue2=xe}},_threadCount:{get:function(){return m._threadCount},set:function(xe){m._threadCount=xe}},Consumer:{get:function(){return _||(_=!0,q("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),m.Consumer}},displayName:{get:function(){return m.displayName},set:function(xe){J||(Se("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",xe),J=!0)}}}),m.Consumer=Ue}return m._currentRenderer=null,m._currentRenderer2=null,m}var Ra=-1,fn=0,En=1,ja=2;function Ua(s){if(s._status===Ra){var m=s._result,_=m();if(_.then(function(Ue){if(s._status===fn||s._status===Ra){var xe=s;xe._status=En,xe._result=Ue}},function(Ue){if(s._status===fn||s._status===Ra){var xe=s;xe._status=ja,xe._result=Ue}}),s._status===Ra){var O=s;O._status=fn,O._result=_}}if(s._status===En){var J=s._result;return J===void 0&&q(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: const MyComponent = lazy(() => import('./MyComponent')) -Did you accidentally put curly braces around the import?`,X),"default"in X||W(`lazy: Expected the result of a dynamic import() call. Instead received: %s +Did you accidentally put curly braces around the import?`,J),"default"in J||q(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: - const MyComponent = lazy(() => import('./MyComponent'))`,X),X.default}else throw s._result}function y(s){var h={_status:ga,_result:s},D={$$typeof:Ve,_payload:h,_init:gr};{var O,X;Object.defineProperties(D,{defaultProps:{configurable:!0,get:function(){return O},set:function(Oe){W("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),O=Oe,Object.defineProperty(D,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return X},set:function(Oe){W("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),X=Oe,Object.defineProperty(D,"propTypes",{enumerable:!0})}}})}return D}function F(s){s!=null&&s.$$typeof===J?W("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof s!="function"?W("forwardRef requires a render function but was given %s.",s===null?"null":typeof s):s.length!==0&&s.length!==2&&W("forwardRef render functions accept exactly two parameters: props and ref. %s",s.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),s!=null&&(s.defaultProps!=null||s.propTypes!=null)&&W("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");var h={$$typeof:gt,render:s};{var D;Object.defineProperty(h,"displayName",{enumerable:!1,configurable:!0,get:function(){return D},set:function(O){D=O,!s.name&&!s.displayName&&(s.displayName=O)}})}return h}var c;c=Symbol.for("react.module.reference");function m(s){return!!(typeof s=="string"||typeof s=="function"||s===se||s===G||Je||s===d||s===le||s===Me||q||s===Ge||lt||Rt||Te||typeof s=="object"&&s!==null&&(s.$$typeof===Ve||s.$$typeof===J||s.$$typeof===de||s.$$typeof===te||s.$$typeof===gt||s.$$typeof===c||s.getModuleId!==void 0))}function g(s,h){m(s)||W("memo: The first argument must be a component. Instead received: %s",s===null?"null":typeof s);var D={$$typeof:J,type:s,compare:h===void 0?null:h};{var O;Object.defineProperty(D,"displayName",{enumerable:!1,configurable:!0,get:function(){return O},set:function(X){O=X,!s.name&&!s.displayName&&(s.displayName=X)}})}return D}function E(){var s=_e.current;return s===null&&W(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: + const MyComponent = lazy(() => import('./MyComponent'))`,J),J.default}else throw s._result}function Cr(s){var m={_status:Ra,_result:s},_={$$typeof:Be,_payload:m,_init:Ua};{var O,J;Object.defineProperties(_,{defaultProps:{configurable:!0,get:function(){return O},set:function(Ue){q("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),O=Ue,Object.defineProperty(_,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return J},set:function(Ue){q("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),J=Ue,Object.defineProperty(_,"propTypes",{enumerable:!0})}}})}return _}function xr(s){s!=null&&s.$$typeof===te?q("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof s!="function"?q("forwardRef requires a render function but was given %s.",s===null?"null":typeof s):s.length!==0&&s.length!==2&&q("forwardRef render functions accept exactly two parameters: props and ref. %s",s.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),s!=null&&(s.defaultProps!=null||s.propTypes!=null)&&q("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");var m={$$typeof:Tt,render:s};{var _;Object.defineProperty(m,"displayName",{enumerable:!1,configurable:!0,get:function(){return _},set:function(O){_=O,!s.name&&!s.displayName&&(s.displayName=O)}})}return m}var h;h=Symbol.for("react.module.reference");function B(s){return!!(typeof s=="string"||typeof s=="function"||s===ve||s===W||tt||s===f||s===ce||s===je||X||s===Qe||st||Ot||ke||typeof s=="object"&&s!==null&&(s.$$typeof===Be||s.$$typeof===te||s.$$typeof===ge||s.$$typeof===re||s.$$typeof===Tt||s.$$typeof===h||s.getModuleId!==void 0))}function ne(s,m){B(s)||q("memo: The first argument must be a component. Instead received: %s",s===null?"null":typeof s);var _={$$typeof:te,type:s,compare:m===void 0?null:m};{var O;Object.defineProperty(_,"displayName",{enumerable:!1,configurable:!0,get:function(){return O},set:function(J){O=J,!s.name&&!s.displayName&&(s.displayName=J)}})}return _}function fe(){var s=Le.current;return s===null&&q(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: 1. You might have mismatching versions of React and the renderer (such as React DOM) 2. You might be breaking the Rules of Hooks 3. You might have more than one copy of React in the same app -See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`),s}function T(s){var h=E();if(s._context!==void 0){var D=s._context;D.Consumer===s?W("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):D.Provider===s&&W("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return h.useContext(s)}function M(s){var h=E();return h.useState(s)}function L(s,h,D){var O=E();return O.useReducer(s,h,D)}function z(s){var h=E();return h.useRef(s)}function Ue(s,h){var D=E();return D.useEffect(s,h)}function B(s,h){var D=E();return D.useInsertionEffect(s,h)}function Ce(s,h){var D=E();return D.useLayoutEffect(s,h)}function et(s,h){var D=E();return D.useCallback(s,h)}function rt(s,h){var D=E();return D.useMemo(s,h)}function It(s,h,D){var O=E();return O.useImperativeHandle(s,h,D)}function Bt(s,h){{var D=E();return D.useDebugValue(s,h)}}function Be(){var s=E();return s.useTransition()}function on(s){var h=E();return h.useDeferredValue(s)}function Fa(){var s=E();return s.useId()}function Un(s,h,D){var O=E();return O.useSyncExternalStore(s,h,D)}var Lt=0,sa,nr,no,Yr,ba,_a,bi;function Wr(){}Wr.__reactDisabledLog=!0;function cn(){{if(Lt===0){sa=console.log,nr=console.info,no=console.warn,Yr=console.error,ba=console.group,_a=console.groupCollapsed,bi=console.groupEnd;var s={configurable:!0,enumerable:!0,value:Wr,writable:!0};Object.defineProperties(console,{info:s,log:s,warn:s,error:s,group:s,groupCollapsed:s,groupEnd:s})}Lt++}}function ft(){{if(Lt--,Lt===0){var s={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:ut({},s,{value:sa}),info:ut({},s,{value:nr}),warn:ut({},s,{value:no}),error:ut({},s,{value:Yr}),group:ut({},s,{value:ba}),groupCollapsed:ut({},s,{value:_a}),groupEnd:ut({},s,{value:bi})})}Lt<0&&W("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ca=re.ReactCurrentDispatcher,In;function ar(s,h,D){{if(In===void 0)try{throw Error()}catch(X){var O=X.stack.trim().match(/\n( *(at )?)/);In=O&&O[1]||""}return` -`+In+s}}var Si=!1,ao;{var il=typeof WeakMap=="function"?WeakMap:Map;ao=new il}function Yu(s,h){if(!s||Si)return"";{var D=ao.get(s);if(D!==void 0)return D}var O;Si=!0;var X=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var Oe;Oe=ca.current,ca.current=null,cn();try{if(h){var ge=function(){throw Error()};if(Object.defineProperty(ge.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ge,[])}catch(pn){O=pn}Reflect.construct(s,[],ge)}else{try{ge.call()}catch(pn){O=pn}s.call(ge.prototype)}}else{try{throw Error()}catch(pn){O=pn}s()}}catch(pn){if(pn&&O&&typeof pn.stack=="string"){for(var Ie=pn.stack.split(` -`),vt=O.stack.split(` -`),At=Ie.length-1,qt=vt.length-1;At>=1&&qt>=0&&Ie[At]!==vt[qt];)qt--;for(;At>=1&&qt>=0;At--,qt--)if(Ie[At]!==vt[qt]){if(At!==1||qt!==1)do if(At--,qt--,qt<0||Ie[At]!==vt[qt]){var Gt=` -`+Ie[At].replace(" at new "," at ");return s.displayName&&Gt.includes("")&&(Gt=Gt.replace("",s.displayName)),typeof s=="function"&&ao.set(s,Gt),Gt}while(At>=1&&qt>=0);break}}}finally{Si=!1,ca.current=Oe,ft(),Error.prepareStackTrace=X}var st=s?s.displayName||s.name:"",Jt=st?ar(st):"";return typeof s=="function"&&ao.set(s,Jt),Jt}function ol(s,h,D){return Yu(s,!1)}function af(s){var h=s.prototype;return!!(h&&h.isReactComponent)}function Ti(s,h,D){if(s==null)return"";if(typeof s=="function")return Yu(s,af(s));if(typeof s=="string")return ar(s);switch(s){case le:return ar("Suspense");case Me:return ar("SuspenseList")}if(typeof s=="object")switch(s.$$typeof){case gt:return ol(s.render);case J:return Ti(s.type,h,D);case Ve:{var O=s,X=O._payload,Oe=O._init;try{return Ti(Oe(X),h,D)}catch{}}}return""}var Wu={},ll=re.ReactDebugCurrentFrame;function Ct(s){if(s){var h=s._owner,D=Ti(s.type,s._source,h?h.type:null);ll.setExtraStackFrame(D)}else ll.setExtraStackFrame(null)}function rf(s,h,D,O,X){{var Oe=Function.call.bind(Le);for(var ge in s)if(Oe(s,ge)){var Ie=void 0;try{if(typeof s[ge]!="function"){var vt=Error((O||"React class")+": "+D+" type `"+ge+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof s[ge]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw vt.name="Invariant Violation",vt}Ie=s[ge](h,ge,O,D,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(At){Ie=At}Ie&&!(Ie instanceof Error)&&(Ct(X),W("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",O||"React class",D,ge,typeof Ie),Ct(null)),Ie instanceof Error&&!(Ie.message in Wu)&&(Wu[Ie.message]=!0,Ct(X),W("Failed %s type: %s",D,Ie.message),Ct(null))}}}function br(s){if(s){var h=s._owner,D=Ti(s.type,s._source,h?h.type:null);bt(D)}else bt(null)}var Xe;Xe=!1;function ul(){if(j.current){var s=pe(j.current.type);if(s)return` +See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`),s}function lt(s){var m=fe();if(s._context!==void 0){var _=s._context;_.Consumer===s?q("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):_.Provider===s&&q("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return m.useContext(s)}function qe(s){var m=fe();return m.useState(s)}function v(s,m,_){var O=fe();return O.useReducer(s,m,_)}function w(s){var m=fe();return m.useRef(s)}function E(s,m){var _=fe();return _.useEffect(s,m)}function b(s,m){var _=fe();return _.useInsertionEffect(s,m)}function S(s,m){var _=fe();return _.useLayoutEffect(s,m)}function L(s,m){var _=fe();return _.useCallback(s,m)}function T(s,m){var _=fe();return _.useMemo(s,m)}function V(s,m,_){var O=fe();return O.useImperativeHandle(s,m,_)}function j(s,m){{var _=fe();return _.useDebugValue(s,m)}}function F(){var s=fe();return s.useTransition()}function ut(s){var m=fe();return m.useDeferredValue(s)}function ee(){var s=fe();return s.useId()}function ft(s,m,_){var O=fe();return O.useSyncExternalStore(s,m,_)}var Rt=0,Ct,hn,Rr,Ha,On,wr,Vn;function Yt(){}Yt.__reactDisabledLog=!0;function ha(){{if(Rt===0){Ct=console.log,hn=console.info,Rr=console.warn,Ha=console.error,On=console.group,wr=console.groupCollapsed,Vn=console.groupEnd;var s={configurable:!0,enumerable:!0,value:Yt,writable:!0};Object.defineProperties(console,{info:s,log:s,warn:s,error:s,group:s,groupCollapsed:s,groupEnd:s})}Rt++}}function na(){{if(Rt--,Rt===0){var s={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:ct({},s,{value:Ct}),info:ct({},s,{value:hn}),warn:ct({},s,{value:Rr}),error:ct({},s,{value:Ha}),group:ct({},s,{value:On}),groupCollapsed:ct({},s,{value:wr}),groupEnd:ct({},s,{value:Vn})})}Rt<0&&q("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ti=oe.ReactCurrentDispatcher,Wa;function ya(s,m,_){{if(Wa===void 0)try{throw Error()}catch(J){var O=J.stack.trim().match(/\n( *(at )?)/);Wa=O&&O[1]||""}return` +`+Wa+s}}var aa=!1,Dr;{var Mi=typeof WeakMap=="function"?WeakMap:Map;Dr=new Mi}function yn(s,m){if(!s||aa)return"";{var _=Dr.get(s);if(_!==void 0)return _}var O;aa=!0;var J=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var Ue;Ue=ti.current,ti.current=null,ha();try{if(m){var xe=function(){throw Error()};if(Object.defineProperty(xe.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(xe,[])}catch(gn){O=gn}Reflect.construct(s,[],xe)}else{try{xe.call()}catch(gn){O=gn}s.call(xe.prototype)}}else{try{throw Error()}catch(gn){O=gn}s()}}catch(gn){if(gn&&O&&typeof gn.stack=="string"){for(var Ge=gn.stack.split(` +`),ht=O.stack.split(` +`),Vt=Ge.length-1,Qt=ht.length-1;Vt>=1&&Qt>=0&&Ge[Vt]!==ht[Qt];)Qt--;for(;Vt>=1&&Qt>=0;Vt--,Qt--)if(Ge[Vt]!==ht[Qt]){if(Vt!==1||Qt!==1)do if(Vt--,Qt--,Qt<0||Ge[Vt]!==ht[Qt]){var Kt=` +`+Ge[Vt].replace(" at new "," at ");return s.displayName&&Kt.includes("")&&(Kt=Kt.replace("",s.displayName)),typeof s=="function"&&Dr.set(s,Kt),Kt}while(Vt>=1&&Qt>=0);break}}}finally{aa=!1,ti.current=Ue,na(),Error.prepareStackTrace=J}var dt=s?s.displayName||s.name:"",nn=dt?ya(dt):"";return typeof s=="function"&&Dr.set(s,nn),nn}function _t(s,m,_){return yn(s,!1)}function ur(s){var m=s.prototype;return!!(m&&m.isReactComponent)}function ra(s,m,_){if(s==null)return"";if(typeof s=="function")return yn(s,ur(s));if(typeof s=="string")return ya(s);switch(s){case ce:return ya("Suspense");case je:return ya("SuspenseList")}if(typeof s=="object")switch(s.$$typeof){case Tt:return _t(s.render);case te:return ra(s.type,m,_);case Be:{var O=s,J=O._payload,Ue=O._init;try{return ra(Ue(J),m,_)}catch{}}}return""}var ni={},cl=oe.ReactDebugCurrentFrame;function kt(s){if(s){var m=s._owner,_=ra(s.type,s._source,m?m.type:null);cl.setExtraStackFrame(_)}else cl.setExtraStackFrame(null)}function rf(s,m,_,O,J){{var Ue=Function.call.bind(Oe);for(var xe in s)if(Ue(s,xe)){var Ge=void 0;try{if(typeof s[xe]!="function"){var ht=Error((O||"React class")+": "+_+" type `"+xe+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof s[xe]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw ht.name="Invariant Violation",ht}Ge=s[xe](m,xe,O,_,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(Vt){Ge=Vt}Ge&&!(Ge instanceof Error)&&(kt(J),q("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",O||"React class",_,xe,typeof Ge),kt(null)),Ge instanceof Error&&!(Ge.message in ni)&&(ni[Ge.message]=!0,kt(J),q("Failed %s type: %s",_,Ge.message),kt(null))}}}function _r(s){if(s){var m=s._owner,_=ra(s.type,s._source,m?m.type:null);Et(_)}else Et(null)}var Ke;Ke=!1;function fl(){if(U.current){var s=Te(U.current.type);if(s)return` -Check the render method of \``+s+"`."}return""}function Jn(s){if(s!==void 0){var h=s.fileName.replace(/^.*[\\\/]/,""),D=s.lineNumber;return` +Check the render method of \``+s+"`."}return""}function ia(s){if(s!==void 0){var m=s.fileName.replace(/^.*[\\\/]/,""),_=s.lineNumber;return` -Check your code at `+h+":"+D+"."}return""}function Ei(s){return s!=null?Jn(s.__source):""}var Ir={};function of(s){var h=ul();if(!h){var D=typeof s=="string"?s:s.displayName||s.name;D&&(h=` +Check your code at `+m+":"+_+"."}return""}function Li(s){return s!=null?ia(s.__source):""}var ai={};function of(s){var m=fl();if(!m){var _=typeof s=="string"?s:s.displayName||s.name;_&&(m=` -Check the top-level render call using <`+D+">.")}return h}function Mn(s,h){if(!(!s._store||s._store.validated||s.key!=null)){s._store.validated=!0;var D=of(h);if(!Ir[D]){Ir[D]=!0;var O="";s&&s._owner&&s._owner!==j.current&&(O=" It was passed a child from "+pe(s._owner.type)+"."),br(s),W('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',D,O),br(null)}}}function Zt(s,h){if(typeof s=="object"){if(en(s))for(var D=0;D",X=" Did you accidentally export a JSX literal instead of a component?"):ge=typeof s,W("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",ge,X)}var Ie=Ne.apply(this,arguments);if(Ie==null)return Ie;if(O)for(var vt=2;vt10&&me("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."),O._updatedFibers.clear()}}}var cl=!1,ro=null;function uf(s){if(ro===null)try{var h=("require"+Math.random()).slice(0,7),D=k&&k[h];ro=D.call(k,"timers").setImmediate}catch{ro=function(X){cl===!1&&(cl=!0,typeof MessageChannel>"u"&&W("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var Oe=new MessageChannel;Oe.port1.onmessage=X,Oe.port2.postMessage(void 0)}}return ro(s)}var qr=0,Ci=!1;function fl(s){{var h=qr;qr++,ye.current===null&&(ye.current=[]);var D=ye.isBatchingLegacy,O;try{if(ye.isBatchingLegacy=!0,O=s(),!D&&ye.didScheduleLegacyUpdate){var X=ye.current;X!==null&&(ye.didScheduleLegacyUpdate=!1,lo(X))}}catch(st){throw Sr(h),st}finally{ye.isBatchingLegacy=D}if(O!==null&&typeof O=="object"&&typeof O.then=="function"){var Oe=O,ge=!1,Ie={then:function(st,Jt){ge=!0,Oe.then(function(pn){Sr(h),qr===0?io(pn,st,Jt):st(pn)},function(pn){Sr(h),Jt(pn)})}};return!Ci&&typeof Promise<"u"&&Promise.resolve().then(function(){}).then(function(){ge||(Ci=!0,W("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),Ie}else{var vt=O;if(Sr(h),qr===0){var At=ye.current;At!==null&&(lo(At),ye.current=null);var qt={then:function(st,Jt){ye.current===null?(ye.current=[],io(vt,st,Jt)):st(vt)}};return qt}else{var Gt={then:function(st,Jt){st(vt)}};return Gt}}}}function Sr(s){s!==qr-1&&W("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "),qr=s}function io(s,h,D){{var O=ye.current;if(O!==null)try{lo(O),uf(function(){O.length===0?(ye.current=null,h(s)):io(s,h,D)})}catch(X){D(X)}else h(s)}}var oo=!1;function lo(s){if(!oo){oo=!0;var h=0;try{for(;h.")}return m}function An(s,m){if(!(!s._store||s._store.validated||s.key!=null)){s._store.validated=!0;var _=of(m);if(!ai[_]){ai[_]=!0;var O="";s&&s._owner&&s._owner!==U.current&&(O=" It was passed a child from "+Te(s._owner.type)+"."),_r(s),q('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',_,O),_r(null)}}}function tn(s,m){if(typeof s=="object"){if(an(s))for(var _=0;_",J=" Did you accidentally export a JSX literal instead of a component?"):xe=typeof s,q("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",xe,J)}var Ge=Ae.apply(this,arguments);if(Ge==null)return Ge;if(O)for(var ht=2;ht10&&Se("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."),O._updatedFibers.clear()}}}var vl=!1,so=null;function uf(s){if(so===null)try{var m=("require"+Math.random()).slice(0,7),_=M&&M[m];so=_.call(M,"timers").setImmediate}catch{so=function(J){vl===!1&&(vl=!0,typeof MessageChannel>"u"&&q("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var Ue=new MessageChannel;Ue.port1.onmessage=J,Ue.port2.postMessage(void 0)}}return so(s)}var ri=0,Oi=!1;function pl(s){{var m=ri;ri++,Ce.current===null&&(Ce.current=[]);var _=Ce.isBatchingLegacy,O;try{if(Ce.isBatchingLegacy=!0,O=s(),!_&&Ce.didScheduleLegacyUpdate){var J=Ce.current;J!==null&&(Ce.didScheduleLegacyUpdate=!1,vo(J))}}catch(dt){throw kr(m),dt}finally{Ce.isBatchingLegacy=_}if(O!==null&&typeof O=="object"&&typeof O.then=="function"){var Ue=O,xe=!1,Ge={then:function(dt,nn){xe=!0,Ue.then(function(gn){kr(m),ri===0?co(gn,dt,nn):dt(gn)},function(gn){kr(m),nn(gn)})}};return!Oi&&typeof Promise<"u"&&Promise.resolve().then(function(){}).then(function(){xe||(Oi=!0,q("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),Ge}else{var ht=O;if(kr(m),ri===0){var Vt=Ce.current;Vt!==null&&(vo(Vt),Ce.current=null);var Qt={then:function(dt,nn){Ce.current===null?(Ce.current=[],co(ht,dt,nn)):dt(ht)}};return Qt}else{var Kt={then:function(dt,nn){dt(ht)}};return Kt}}}}function kr(s){s!==ri-1&&q("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "),ri=s}function co(s,m,_){{var O=Ce.current;if(O!==null)try{vo(O),uf(function(){O.length===0?(Ce.current=null,m(s)):co(s,m,_)})}catch(J){_(J)}else m(s)}}var fo=!1;function vo(s){if(!fo){fo=!0;var m=0;try{for(;m.")}return h}function Mn(s,h){if(!( * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */return function(){var k=Zc(),R=Symbol.for("react.element"),Ee=Symbol.for("react.portal"),we=Symbol.for("react.fragment"),xe=Symbol.for("react.strict_mode"),se=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),G=Symbol.for("react.context"),de=Symbol.for("react.forward_ref"),te=Symbol.for("react.suspense"),gt=Symbol.for("react.suspense_list"),le=Symbol.for("react.memo"),Me=Symbol.for("react.lazy"),J=Symbol.for("react.offscreen"),Ve=Symbol.iterator,Ge="@@iterator";function Y(c){if(c===null||typeof c!="object")return null;var m=Ve&&c[Ve]||c[Ge];return typeof m=="function"?m:null}var St=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function it(c){{for(var m=arguments.length,g=new Array(m>1?m-1:0),E=1;E=1&&Ce>=0&&z[B]!==Ue[Ce];)Ce--;for(;B>=1&&Ce>=0;B--,Ce--)if(z[B]!==Ue[Ce]){if(B!==1||Ce!==1)do if(B--,Ce--,Ce<0||z[B]!==Ue[Ce]){var et=` -`+z[B].replace(" at new "," at ");return c.displayName&&et.includes("")&&(et=et.replace("",c.displayName)),typeof c=="function"&&Yt.set(c,et),et}while(B>=1&&Ce>=0);break}}}finally{Ze=!1,je.current=M,Ye(),Error.prepareStackTrace=T}var rt=c?c.displayName||c.name:"",It=rt?dn(rt):"";return typeof c=="function"&&Yt.set(c,It),It}function en(c,m,g){return at(c,!1)}function nn(c){var m=c.prototype;return!!(m&&m.isReactComponent)}function an(c,m,g){if(c==null)return"";if(typeof c=="function")return at(c,nn(c));if(typeof c=="string")return dn(c);switch(c){case te:return dn("Suspense");case gt:return dn("SuspenseList")}if(typeof c=="object")switch(c.$$typeof){case de:return en(c.render);case le:return an(c.type,m,g);case Me:{var E=c,T=E._payload,M=E._init;try{return an(M(T),m,g)}catch{}}}return""}var sn=Object.prototype.hasOwnProperty,U={},ne=St.ReactDebugCurrentFrame;function be(c){if(c){var m=c._owner,g=an(c.type,c._source,m?m.type:null);ne.setExtraStackFrame(g)}else ne.setExtraStackFrame(null)}function pe(c,m,g,E,T){{var M=Function.call.bind(sn);for(var L in c)if(M(c,L)){var z=void 0;try{if(typeof c[L]!="function"){var Ue=Error((E||"React class")+": "+g+" type `"+L+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof c[L]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Ue.name="Invariant Violation",Ue}z=c[L](m,L,E,g,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(B){z=B}z&&!(z instanceof Error)&&(be(T),it("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",E||"React class",g,L,typeof z),be(null)),z instanceof Error&&!(z.message in U)&&(U[z.message]=!0,be(T),it("Failed %s type: %s",g,z.message),be(null))}}}var Le=Array.isArray;function Qe(c){return Le(c)}function ot(c){{var m=typeof Symbol=="function"&&Symbol.toStringTag,g=m&&c[Symbol.toStringTag]||c.constructor.name||"Object";return g}}function Fe(c){try{return We(c),!1}catch{return!0}}function We(c){return""+c}function wt(c){if(Fe(c))return it("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ot(c)),We(c)}var vn=St.ReactCurrentOwner,yn={key:!0,ref:!0,__self:!0,__source:!0},gn,K;function fe(c){if(sn.call(c,"ref")){var m=Object.getOwnPropertyDescriptor(c,"ref").get;if(m&&m.isReactWarning)return!1}return c.ref!==void 0}function Ne(c){if(sn.call(c,"key")){var m=Object.getOwnPropertyDescriptor(c,"key").get;if(m&&m.isReactWarning)return!1}return c.key!==void 0}function Ke(c,m){typeof c.ref=="string"&&vn.current}function Nt(c,m){{var g=function(){gn||(gn=!0,it("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",m))};g.isReactWarning=!0,Object.defineProperty(c,"key",{get:g,configurable:!0})}}function zt(c,m){{var g=function(){K||(K=!0,it("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",m))};g.isReactWarning=!0,Object.defineProperty(c,"ref",{get:g,configurable:!0})}}var $t=function(c,m,g,E,T,M,L){var z={$$typeof:R,type:c,key:m,ref:g,props:L,_owner:M};return z._store={},Object.defineProperty(z._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(z,"_self",{configurable:!1,enumerable:!1,writable:!1,value:E}),Object.defineProperty(z,"_source",{configurable:!1,enumerable:!1,writable:!1,value:T}),Object.freeze&&(Object.freeze(z.props),Object.freeze(z)),z};function rn(c,m,g,E,T){{var M,L={},z=null,Ue=null;g!==void 0&&(wt(g),z=""+g),Ne(m)&&(wt(m.key),z=""+m.key),fe(m)&&(Ue=m.ref,Ke(m,T));for(M in m)sn.call(m,M)&&!yn.hasOwnProperty(M)&&(L[M]=m[M]);if(c&&c.defaultProps){var B=c.defaultProps;for(M in B)L[M]===void 0&&(L[M]=B[M])}if(z||Ue){var Ce=typeof c=="function"?c.displayName||c.name||"Unknown":c;z&&Nt(L,Ce),Ue&&zt(L,Ce)}return $t(c,z,Ue,T,E,vn.current,L)}}var Wt=St.ReactCurrentOwner,Ft=St.ReactDebugCurrentFrame;function Vt(c){if(c){var m=c._owner,g=an(c.type,c._source,m?m.type:null);Ft.setExtraStackFrame(g)}else Ft.setExtraStackFrame(null)}var tr;tr=!1;function ya(c){return typeof c=="object"&&c!==null&&c.$$typeof===R}function bn(){{if(Wt.current){var c=q(Wt.current.type);if(c)return` + */return function(){var M=Zc(),R=Symbol.for("react.element"),be=Symbol.for("react.portal"),Re=Symbol.for("react.fragment"),we=Symbol.for("react.strict_mode"),ve=Symbol.for("react.profiler"),f=Symbol.for("react.provider"),W=Symbol.for("react.context"),ge=Symbol.for("react.forward_ref"),re=Symbol.for("react.suspense"),Tt=Symbol.for("react.suspense_list"),ce=Symbol.for("react.memo"),je=Symbol.for("react.lazy"),te=Symbol.for("react.offscreen"),Be=Symbol.iterator,Qe="@@iterator";function I(h){if(h===null||typeof h!="object")return null;var B=Be&&h[Be]||h[Qe];return typeof B=="function"?B:null}var xt=M.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function ot(h){{for(var B=arguments.length,ne=new Array(B>1?B-1:0),fe=1;fe=1&&S>=0&&w[b]!==E[S];)S--;for(;b>=1&&S>=0;b--,S--)if(w[b]!==E[S]){if(b!==1||S!==1)do if(b--,S--,S<0||w[b]!==E[S]){var L=` +`+w[b].replace(" at new "," at ");return h.displayName&&L.includes("")&&(L=L.replace("",h.displayName)),typeof h=="function"&&Gt.set(h,L),L}while(b>=1&&S>=0);break}}}finally{Ze=!1,ze.current=qe,Ye(),Error.prepareStackTrace=lt}var T=h?h.displayName||h.name:"",V=T?vn(T):"";return typeof h=="function"&&Gt.set(h,V),V}function an(h,B,ne){return it(h,!1)}function on(h){var B=h.prototype;return!!(B&&B.isReactComponent)}function ln(h,B,ne){if(h==null)return"";if(typeof h=="function")return it(h,on(h));if(typeof h=="string")return vn(h);switch(h){case re:return vn("Suspense");case Tt:return vn("SuspenseList")}if(typeof h=="object")switch(h.$$typeof){case ge:return an(h.render);case ce:return ln(h.type,B,ne);case je:{var fe=h,lt=fe._payload,qe=fe._init;try{return ln(qe(lt),B,ne)}catch{}}}return""}var cn=Object.prototype.hasOwnProperty,z={},ue=xt.ReactDebugCurrentFrame;function De(h){if(h){var B=h._owner,ne=ln(h.type,h._source,B?B.type:null);ue.setExtraStackFrame(ne)}else ue.setExtraStackFrame(null)}function Te(h,B,ne,fe,lt){{var qe=Function.call.bind(cn);for(var v in h)if(qe(h,v)){var w=void 0;try{if(typeof h[v]!="function"){var E=Error((fe||"React class")+": "+ne+" type `"+v+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof h[v]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw E.name="Invariant Violation",E}w=h[v](B,v,fe,ne,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(b){w=b}w&&!(w instanceof Error)&&(De(lt),ot("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",fe||"React class",ne,v,typeof w),De(null)),w instanceof Error&&!(w.message in z)&&(z[w.message]=!0,De(lt),ot("Failed %s type: %s",ne,w.message),De(null))}}}var Oe=Array.isArray;function et(h){return Oe(h)}function Je(h){{var B=typeof Symbol=="function"&&Symbol.toStringTag,ne=B&&h[Symbol.toStringTag]||h.constructor.name||"Object";return ne}}function Ie(h){try{return We(h),!1}catch{return!0}}function We(h){return""+h}function mt(h){if(Ie(h))return ot("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Je(h)),We(h)}var pn=xt.ReactCurrentOwner,Ln={key:!0,ref:!0,__self:!0,__source:!0},mn,K;function ye(h){if(cn.call(h,"ref")){var B=Object.getOwnPropertyDescriptor(h,"ref").get;if(B&&B.isReactWarning)return!1}return h.ref!==void 0}function Ae(h){if(cn.call(h,"key")){var B=Object.getOwnPropertyDescriptor(h,"key").get;if(B&&B.isReactWarning)return!1}return h.key!==void 0}function nt(h,B){typeof h.ref=="string"&&pn.current}function Ut(h,B){{var ne=function(){mn||(mn=!0,ot("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",B))};ne.isReactWarning=!0,Object.defineProperty(h,"key",{get:ne,configurable:!0})}}function Wt(h,B){{var ne=function(){K||(K=!0,ot("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",B))};ne.isReactWarning=!0,Object.defineProperty(h,"ref",{get:ne,configurable:!0})}}var Ht=function(h,B,ne,fe,lt,qe,v){var w={$$typeof:R,type:h,key:B,ref:ne,props:v,_owner:qe};return w._store={},Object.defineProperty(w._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(w,"_self",{configurable:!1,enumerable:!1,writable:!1,value:fe}),Object.defineProperty(w,"_source",{configurable:!1,enumerable:!1,writable:!1,value:lt}),Object.freeze&&(Object.freeze(w.props),Object.freeze(w)),w};function zn(h,B,ne,fe,lt){{var qe,v={},w=null,E=null;ne!==void 0&&(mt(ne),w=""+ne),Ae(B)&&(mt(B.key),w=""+B.key),ye(B)&&(E=B.ref,nt(B,lt));for(qe in B)cn.call(B,qe)&&!Ln.hasOwnProperty(qe)&&(v[qe]=B[qe]);if(h&&h.defaultProps){var b=h.defaultProps;for(qe in b)v[qe]===void 0&&(v[qe]=b[qe])}if(w||E){var S=typeof h=="function"?h.displayName||h.name||"Unknown":h;w&&Ut(v,S),E&&Wt(v,S)}return Ht(h,w,E,lt,fe,pn.current,v)}}var Xt=xt.ReactCurrentOwner,It=xt.ReactDebugCurrentFrame;function Ft(h){if(h){var B=h._owner,ne=ln(h.type,h._source,B?B.type:null);It.setExtraStackFrame(ne)}else It.setExtraStackFrame(null)}var Fn;Fn=!1;function xa(h){return typeof h=="object"&&h!==null&&h.$$typeof===R}function ma(){{if(Xt.current){var h=X(Xt.current.type);if(h)return` -Check the render method of \``+c+"`."}return""}}function ua(c){return""}var Br={};function za(c){{var m=bn();if(!m){var g=typeof c=="string"?c:c.displayName||c.name;g&&(m=` +Check the render method of \``+h+"`."}return""}}function lr(h){return""}var Na={};function Jr(h){{var B=ma();if(!B){var ne=typeof h=="string"?h:h.displayName||h.name;ne&&(B=` -Check the top-level render call using <`+g+">.")}return m}}function yr(c,m){{if(!c._store||c._store.validated||c.key!=null)return;c._store.validated=!0;var g=za(m);if(Br[g])return;Br[g]=!0;var E="";c&&c._owner&&c._owner!==Wt.current&&(E=" It was passed a child from "+q(c._owner.type)+"."),Vt(c),it('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',g,E),Vt(null)}}function $r(c,m){{if(typeof c!="object")return;if(Qe(c))for(var g=0;g",z=" Did you accidentally export a JSX literal instead of a component?"):B=typeof c,it("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",B,z)}var Ce=rn(c,m,g,T,M);if(Ce==null)return Ce;if(L){var et=m.children;if(et!==void 0)if(E)if(Qe(et)){for(var rt=0;rt0?"{key: someKey, "+Bt.join(": ..., ")+": ...}":"{key: someKey}";if(!_n[It+Be]){var on=Bt.length>0?"{"+Bt.join(": ..., ")+": ...}":"{}";it(`A props object containing a "key" prop is being spread into JSX: +Check the top-level render call using <`+ne+">.")}return B}}function Er(h,B){{if(!h._store||h._store.validated||h.key!=null)return;h._store.validated=!0;var ne=Jr(B);if(Na[ne])return;Na[ne]=!0;var fe="";h&&h._owner&&h._owner!==Xt.current&&(fe=" It was passed a child from "+X(h._owner.type)+"."),Ft(h),ot('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',ne,fe),Ft(null)}}function Zr(h,B){{if(typeof h!="object")return;if(et(h))for(var ne=0;ne",w=" Did you accidentally export a JSX literal instead of a component?"):b=typeof h,ot("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",b,w)}var S=zn(h,B,ne,lt,qe);if(S==null)return S;if(v){var L=B.children;if(L!==void 0)if(fe)if(et(L)){for(var T=0;T0?"{key: someKey, "+j.join(": ..., ")+": ...}":"{key: someKey}";if(!fn[V+F]){var ut=j.length>0?"{"+j.join(": ..., ")+": ...}":"{}";ot(`A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; - <%s key={someKey} {...props} />`,Be,It,on,It),_n[It+Be]=!0}}return c===we?ga(Ce):Pr(Ce),Ce}}function Da(c,m,g){return kn(c,m,g,!0)}function gr(c,m,g){return kn(c,m,g,!1)}var y=gr,F=Da;rl.Fragment=we,rl.jsx=y,rl.jsxs=F}(),rl}dm.exports=H0();var p=dm.exports,hm={exports:{}},Jc={exports:{}},ef={},ym;function z0(){return ym||(ym=1,function(k){/** + <%s key={someKey} {...props} />`,F,V,ut,V),fn[V+F]=!0}}return h===Re?Ra(S):ei(S),S}}function ja(h,B,ne){return En(h,B,ne,!0)}function Ua(h,B,ne){return En(h,B,ne,!1)}var Cr=Ua,xr=ja;sl.Fragment=Re,sl.jsx=Cr,sl.jsxs=xr}(),sl}dm.exports=H0();var p=dm.exports,hm={exports:{}},ef={exports:{}},tf={},ym;function z0(){return ym||(ym=1,function(M){/** * @license React * scheduler.development.js * @@ -57,7 +57,7 @@ React keys must be passed directly to JSX without using spread: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var R=!1,Ee=5;function we(K,fe){var Ne=K.length;K.push(fe),d(K,fe,Ne)}function xe(K){return K.length===0?null:K[0]}function se(K){if(K.length===0)return null;var fe=K[0],Ne=K.pop();return Ne!==fe&&(K[0]=Ne,G(K,Ne,0)),fe}function d(K,fe,Ne){for(var Ke=Ne;Ke>0;){var Nt=Ke-1>>>1,zt=K[Nt];if(de(zt,fe)>0)K[Nt]=fe,K[Ke]=zt,Ke=Nt;else return}}function G(K,fe,Ne){for(var Ke=Ne,Nt=K.length,zt=Nt>>>1;KeNe&&(!K||ne()));){var Ke=Te.callback;if(typeof Ke=="function"){Te.callback=null,q=Te.priorityLevel;var Nt=Te.expirationTime<=Ne,zt=Ke(Nt);Ne=k.unstable_now(),typeof zt=="function"?Te.callback=zt:Te===xe(bt)&&se(bt),dt(Ne)}else se(bt);Te=xe(bt)}if(Te!==null)return!0;var $t=xe(lt);return $t!==null&&wt(kt,$t.startTime-Ne),!1}function Mt(K,fe){switch(K){case te:case gt:case le:case Me:case J:break;default:K=le}var Ne=q;q=K;try{return fe()}finally{q=Ne}}function Ye(K){var fe;switch(q){case te:case gt:case le:fe=le;break;default:fe=q;break}var Ne=q;q=fe;try{return K()}finally{q=Ne}}function je(K){var fe=q;return function(){var Ne=q;q=fe;try{return K.apply(this,arguments)}finally{q=Ne}}}function ze(K,fe,Ne){var Ke=k.unstable_now(),Nt;if(typeof Ne=="object"&&Ne!==null){var zt=Ne.delay;typeof zt=="number"&&zt>0?Nt=Ke+zt:Nt=Ke}else Nt=Ke;var $t;switch(K){case te:$t=nt;break;case gt:$t=ye;break;case J:$t=Ot;break;case Me:$t=Q;break;case le:default:$t=j;break}var rn=Nt+$t,Wt={id:Rt++,callback:fe,priorityLevel:K,startTime:Nt,expirationTime:rn,sortIndex:-1};return Nt>Ke?(Wt.sortIndex=Nt,we(lt,Wt),xe(bt)===null&&Wt===xe(lt)&&(me?vn():me=!0,wt(kt,Nt-Ke))):(Wt.sortIndex=rn,we(bt,Wt),!re&&!Je&&(re=!0,We(ut))),Wt}function dn(){}function Ze(){!re&&!Je&&(re=!0,We(ut))}function Yt(){return xe(bt)}function yt(K){K.callback=null}function at(){return q}var en=!1,nn=null,an=-1,sn=Ee,U=-1;function ne(){var K=k.unstable_now()-U;return!(K125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");return}K>0?sn=Math.floor(1e3/K):sn=Ee}var Le=function(){if(nn!==null){var K=k.unstable_now();U=K;var fe=!0,Ne=!0;try{Ne=nn(fe,K)}finally{Ne?Qe():(en=!1,nn=null)}}else en=!1},Qe;if(typeof ve=="function")Qe=function(){ve(Le)};else if(typeof MessageChannel<"u"){var ot=new MessageChannel,Fe=ot.port2;ot.port1.onmessage=Le,Qe=function(){Fe.postMessage(null)}}else Qe=function(){W(Le,0)};function We(K){nn=K,en||(en=!0,Qe())}function wt(K,fe){an=W(function(){K(k.unstable_now())},fe)}function vn(){I(an),an=-1}var yn=be,gn=null;k.unstable_IdlePriority=J,k.unstable_ImmediatePriority=te,k.unstable_LowPriority=Me,k.unstable_NormalPriority=le,k.unstable_Profiling=gn,k.unstable_UserBlockingPriority=gt,k.unstable_cancelCallback=yt,k.unstable_continueExecution=Ze,k.unstable_forceFrameRate=pe,k.unstable_getCurrentPriorityLevel=at,k.unstable_getFirstCallbackNode=Yt,k.unstable_next=Ye,k.unstable_pauseExecution=dn,k.unstable_requestPaint=yn,k.unstable_runWithPriority=Mt,k.unstable_scheduleCallback=ze,k.unstable_shouldYield=ne,k.unstable_wrapCallback=je,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)})()}(ef)),ef}var gm;function F0(){return gm||(gm=1,Jc.exports=z0()),Jc.exports}var la={},bm;function V0(){if(bm)return la;bm=1;/** + */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var R=!1,be=5;function Re(K,ye){var Ae=K.length;K.push(ye),f(K,ye,Ae)}function we(K){return K.length===0?null:K[0]}function ve(K){if(K.length===0)return null;var ye=K[0],Ae=K.pop();return Ae!==ye&&(K[0]=Ae,W(K,Ae,0)),ye}function f(K,ye,Ae){for(var nt=Ae;nt>0;){var Ut=nt-1>>>1,Wt=K[Ut];if(ge(Wt,ye)>0)K[Ut]=ye,K[nt]=Wt,nt=Ut;else return}}function W(K,ye,Ae){for(var nt=Ae,Ut=K.length,Wt=Ut>>>1;ntAe&&(!K||ue()));){var nt=ke.callback;if(typeof nt=="function"){ke.callback=null,X=ke.priorityLevel;var Ut=ke.expirationTime<=Ae,Wt=nt(Ut);Ae=M.unstable_now(),typeof Wt=="function"?ke.callback=Wt:ke===we(Et)&&ve(Et),pt(Ae)}else ve(Et);ke=we(Et)}if(ke!==null)return!0;var Ht=we(st);return Ht!==null&&mt(At,Ht.startTime-Ae),!1}function jt(K,ye){switch(K){case re:case Tt:case ce:case je:case te:break;default:K=ce}var Ae=X;X=K;try{return ye()}finally{X=Ae}}function Ye(K){var ye;switch(X){case re:case Tt:case ce:ye=ce;break;default:ye=X;break}var Ae=X;X=ye;try{return K()}finally{X=Ae}}function ze(K){var ye=X;return function(){var Ae=X;X=ye;try{return K.apply(this,arguments)}finally{X=Ae}}}function Ve(K,ye,Ae){var nt=M.unstable_now(),Ut;if(typeof Ae=="object"&&Ae!==null){var Wt=Ae.delay;typeof Wt=="number"&&Wt>0?Ut=nt+Wt:Ut=nt}else Ut=nt;var Ht;switch(K){case re:Ht=rt;break;case Tt:Ht=Ce;break;case te:Ht=zt;break;case je:Ht=Z;break;case ce:default:Ht=U;break}var zn=Ut+Ht,Xt={id:Ot++,callback:ye,priorityLevel:K,startTime:Ut,expirationTime:zn,sortIndex:-1};return Ut>nt?(Xt.sortIndex=Ut,Re(st,Xt),we(Et)===null&&Xt===we(st)&&(Se?pn():Se=!0,mt(At,Ut-nt))):(Xt.sortIndex=zn,Re(Et,Xt),!oe&&!tt&&(oe=!0,We(ct))),Xt}function vn(){}function Ze(){!oe&&!tt&&(oe=!0,We(ct))}function Gt(){return we(Et)}function St(K){K.callback=null}function it(){return X}var an=!1,on=null,ln=-1,cn=be,z=-1;function ue(){var K=M.unstable_now()-z;return!(K125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");return}K>0?cn=Math.floor(1e3/K):cn=be}var Oe=function(){if(on!==null){var K=M.unstable_now();z=K;var ye=!0,Ae=!0;try{Ae=on(ye,K)}finally{Ae?et():(an=!1,on=null)}}else an=!1},et;if(typeof he=="function")et=function(){he(Oe)};else if(typeof MessageChannel<"u"){var Je=new MessageChannel,Ie=Je.port2;Je.port1.onmessage=Oe,et=function(){Ie.postMessage(null)}}else et=function(){q(Oe,0)};function We(K){on=K,an||(an=!0,et())}function mt(K,ye){ln=q(function(){K(M.unstable_now())},ye)}function pn(){G(ln),ln=-1}var Ln=De,mn=null;M.unstable_IdlePriority=te,M.unstable_ImmediatePriority=re,M.unstable_LowPriority=je,M.unstable_NormalPriority=ce,M.unstable_Profiling=mn,M.unstable_UserBlockingPriority=Tt,M.unstable_cancelCallback=St,M.unstable_continueExecution=Ze,M.unstable_forceFrameRate=Te,M.unstable_getCurrentPriorityLevel=it,M.unstable_getFirstCallbackNode=Gt,M.unstable_next=Ye,M.unstable_pauseExecution=vn,M.unstable_requestPaint=Ln,M.unstable_runWithPriority=jt,M.unstable_scheduleCallback=Ve,M.unstable_shouldYield=ue,M.unstable_wrapCallback=ze,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)})()}(tf)),tf}var gm;function F0(){return gm||(gm=1,ef.exports=z0()),ef.exports}var pa={},bm;function V0(){if(bm)return pa;bm=1;/** * @license React * react-dom.development.js * @@ -65,15 +65,15 @@ React keys must be passed directly to JSX without using spread: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */return function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var k=Zc(),R=F0(),Ee=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,we=!1;function xe(e){we=e}function se(e){if(!we){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a1?t-1:0),a=1;a2&&(e[0]==="o"||e[0]==="O")&&(e[1]==="n"||e[1]==="N")}function $t(e,t,n,a){if(n!==null&&n.type===Qe)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":{if(a)return!1;if(n!==null)return!n.acceptsBooleans;var r=e.toLowerCase().slice(0,5);return r!=="data-"&&r!=="aria-"}default:return!1}}function rn(e,t,n,a){if(t===null||typeof t>"u"||$t(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case We:return!t;case wt:return t===!1;case vn:return isNaN(t);case yn:return isNaN(t)||t<1}return!1}function Wt(e){return Vt.hasOwnProperty(e)?Vt[e]:null}function Ft(e,t,n,a,r,i,o){this.acceptsBooleans=t===Fe||t===We||t===wt,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var Vt={},tr=["children","dangerouslySetInnerHTML","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style"];tr.forEach(function(e){Vt[e]=new Ft(e,Qe,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0],n=e[1];Vt[t]=new Ft(t,ot,!1,n,null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Vt[e]=new Ft(e,Fe,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Vt[e]=new Ft(e,Fe,!1,e,null,!1,!1)}),["allowFullScreen","async","autoFocus","autoPlay","controls","default","defer","disabled","disablePictureInPicture","disableRemotePlayback","formNoValidate","hidden","loop","noModule","noValidate","open","playsInline","readOnly","required","reversed","scoped","seamless","itemScope"].forEach(function(e){Vt[e]=new Ft(e,We,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Vt[e]=new Ft(e,We,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Vt[e]=new Ft(e,wt,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Vt[e]=new Ft(e,yn,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Vt[e]=new Ft(e,vn,!1,e.toLowerCase(),null,!1,!1)});var ya=/[\-\:]([a-z])/g,bn=function(e){return e[1].toUpperCase()};["accent-height","alignment-baseline","arabic-form","baseline-shift","cap-height","clip-path","clip-rule","color-interpolation","color-interpolation-filters","color-profile","color-rendering","dominant-baseline","enable-background","fill-opacity","fill-rule","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","glyph-name","glyph-orientation-horizontal","glyph-orientation-vertical","horiz-adv-x","horiz-origin-x","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","overline-position","overline-thickness","paint-order","panose-1","pointer-events","rendering-intent","shape-rendering","stop-color","stop-opacity","strikethrough-position","strikethrough-thickness","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-rendering","underline-position","underline-thickness","unicode-bidi","unicode-range","units-per-em","v-alphabetic","v-hanging","v-ideographic","v-mathematical","vector-effect","vert-adv-y","vert-origin-x","vert-origin-y","word-spacing","writing-mode","xmlns:xlink","x-height"].forEach(function(e){var t=e.replace(ya,bn);Vt[t]=new Ft(t,ot,!1,e,null,!1,!1)}),["xlink:actuate","xlink:arcrole","xlink:role","xlink:show","xlink:title","xlink:type"].forEach(function(e){var t=e.replace(ya,bn);Vt[t]=new Ft(t,ot,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ya,bn);Vt[t]=new Ft(t,ot,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Vt[e]=new Ft(e,ot,!1,e.toLowerCase(),null,!1,!1)});var ua="xlinkHref";Vt[ua]=new Ft("xlinkHref",ot,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Vt[e]=new Ft(e,ot,!1,e.toLowerCase(),null,!0,!0)});var Br=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i,za=!1;function yr(e){!za&&Br.test(e)&&(za=!0,d("A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.",JSON.stringify(e)))}function $r(e,t,n,a){if(a.mustUseProperty){var r=a.propertyName;return e[r]}else{sn(n,t),a.sanitizeURL&&yr(""+n);var i=a.attributeName,o=null;if(a.type===wt){if(e.hasAttribute(i)){var l=e.getAttribute(i);return l===""?!0:rn(t,n,a,!1)?l:l===""+n?n:l}}else if(e.hasAttribute(i)){if(rn(t,n,a,!1))return e.getAttribute(i);if(a.type===We)return n;o=e.getAttribute(i)}return rn(t,n,a,!1)?o===null?n:o:o===""+n?n:o}}function Pr(e,t,n,a){{if(!Nt(t))return;if(!e.hasAttribute(t))return n===void 0?void 0:null;var r=e.getAttribute(t);return sn(n,t),r===""+n?n:r}}function ga(e,t,n,a){var r=Wt(t);if(!zt(t,r,a)){if(rn(t,n,r,a)&&(n=null),a||r===null){if(Nt(t)){var i=t;n===null?e.removeAttribute(i):(sn(n,t),e.setAttribute(i,""+n))}return}var o=r.mustUseProperty;if(o){var l=r.propertyName;if(n===null){var u=r.type;e[l]=u===We?!1:""}else e[l]=n;return}var f=r.attributeName,v=r.attributeNamespace;if(n===null)e.removeAttribute(f);else{var S=r.type,b;S===We||S===wt&&n===!0?b="":(sn(n,f),b=""+n,r.sanitizeURL&&yr(b.toString())),v?e.setAttributeNS(v,f,b):e.setAttribute(f,b)}}}var _n=Symbol.for("react.element"),kn=Symbol.for("react.portal"),Da=Symbol.for("react.fragment"),gr=Symbol.for("react.strict_mode"),y=Symbol.for("react.profiler"),F=Symbol.for("react.provider"),c=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),E=Symbol.for("react.suspense_list"),T=Symbol.for("react.memo"),M=Symbol.for("react.lazy"),L=Symbol.for("react.scope"),z=Symbol.for("react.debug_trace_mode"),Ue=Symbol.for("react.offscreen"),B=Symbol.for("react.legacy_hidden"),Ce=Symbol.for("react.cache"),et=Symbol.for("react.tracing_marker"),rt=Symbol.iterator,It="@@iterator";function Bt(e){if(e===null||typeof e!="object")return null;var t=rt&&e[rt]||e[It];return typeof t=="function"?t:null}var Be=Object.assign,on=0,Fa,Un,Lt,sa,nr,no,Yr;function ba(){}ba.__reactDisabledLog=!0;function _a(){{if(on===0){Fa=console.log,Un=console.info,Lt=console.warn,sa=console.error,nr=console.group,no=console.groupCollapsed,Yr=console.groupEnd;var e={configurable:!0,enumerable:!0,value:ba,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}on++}}function bi(){{if(on--,on===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Be({},e,{value:Fa}),info:Be({},e,{value:Un}),warn:Be({},e,{value:Lt}),error:Be({},e,{value:sa}),group:Be({},e,{value:nr}),groupCollapsed:Be({},e,{value:no}),groupEnd:Be({},e,{value:Yr})})}on<0&&d("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Wr=Ee.ReactCurrentDispatcher,cn;function ft(e,t,n){{if(cn===void 0)try{throw Error()}catch(r){var a=r.stack.trim().match(/\n( *(at )?)/);cn=a&&a[1]||""}return` -`+cn+e}}var ca=!1,In;{var ar=typeof WeakMap=="function"?WeakMap:Map;In=new ar}function Si(e,t){if(!e||ca)return"";{var n=In.get(e);if(n!==void 0)return n}var a;ca=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var i;i=Wr.current,Wr.current=null,_a();try{if(t){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(o,[])}catch(_){a=_}Reflect.construct(e,[],o)}else{try{o.call()}catch(_){a=_}e.call(o.prototype)}}else{try{throw Error()}catch(_){a=_}e()}}catch(_){if(_&&a&&typeof _.stack=="string"){for(var l=_.stack.split(` + */return function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var M=Zc(),R=F0(),be=M.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Re=!1;function we(e){Re=e}function ve(e){if(!Re){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a1?t-1:0),a=1;a2&&(e[0]==="o"||e[0]==="O")&&(e[1]==="n"||e[1]==="N")}function Ht(e,t,n,a){if(n!==null&&n.type===et)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":{if(a)return!1;if(n!==null)return!n.acceptsBooleans;var r=e.toLowerCase().slice(0,5);return r!=="data-"&&r!=="aria-"}default:return!1}}function zn(e,t,n,a){if(t===null||typeof t>"u"||Ht(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case We:return!t;case mt:return t===!1;case pn:return isNaN(t);case Ln:return isNaN(t)||t<1}return!1}function Xt(e){return Ft.hasOwnProperty(e)?Ft[e]:null}function It(e,t,n,a,r,i,o){this.acceptsBooleans=t===Ie||t===We||t===mt,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var Ft={},Fn=["children","dangerouslySetInnerHTML","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style"];Fn.forEach(function(e){Ft[e]=new It(e,et,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0],n=e[1];Ft[t]=new It(t,Je,!1,n,null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ft[e]=new It(e,Ie,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ft[e]=new It(e,Ie,!1,e,null,!1,!1)}),["allowFullScreen","async","autoFocus","autoPlay","controls","default","defer","disabled","disablePictureInPicture","disableRemotePlayback","formNoValidate","hidden","loop","noModule","noValidate","open","playsInline","readOnly","required","reversed","scoped","seamless","itemScope"].forEach(function(e){Ft[e]=new It(e,We,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Ft[e]=new It(e,We,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Ft[e]=new It(e,mt,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Ft[e]=new It(e,Ln,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Ft[e]=new It(e,pn,!1,e.toLowerCase(),null,!1,!1)});var xa=/[\-\:]([a-z])/g,ma=function(e){return e[1].toUpperCase()};["accent-height","alignment-baseline","arabic-form","baseline-shift","cap-height","clip-path","clip-rule","color-interpolation","color-interpolation-filters","color-profile","color-rendering","dominant-baseline","enable-background","fill-opacity","fill-rule","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","glyph-name","glyph-orientation-horizontal","glyph-orientation-vertical","horiz-adv-x","horiz-origin-x","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","overline-position","overline-thickness","paint-order","panose-1","pointer-events","rendering-intent","shape-rendering","stop-color","stop-opacity","strikethrough-position","strikethrough-thickness","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-rendering","underline-position","underline-thickness","unicode-bidi","unicode-range","units-per-em","v-alphabetic","v-hanging","v-ideographic","v-mathematical","vector-effect","vert-adv-y","vert-origin-x","vert-origin-y","word-spacing","writing-mode","xmlns:xlink","x-height"].forEach(function(e){var t=e.replace(xa,ma);Ft[t]=new It(t,Je,!1,e,null,!1,!1)}),["xlink:actuate","xlink:arcrole","xlink:role","xlink:show","xlink:title","xlink:type"].forEach(function(e){var t=e.replace(xa,ma);Ft[t]=new It(t,Je,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(xa,ma);Ft[t]=new It(t,Je,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Ft[e]=new It(e,Je,!1,e.toLowerCase(),null,!1,!1)});var lr="xlinkHref";Ft[lr]=new It("xlinkHref",Je,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Ft[e]=new It(e,Je,!1,e.toLowerCase(),null,!0,!0)});var Na=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i,Jr=!1;function Er(e){!Jr&&Na.test(e)&&(Jr=!0,f("A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.",JSON.stringify(e)))}function Zr(e,t,n,a){if(a.mustUseProperty){var r=a.propertyName;return e[r]}else{cn(n,t),a.sanitizeURL&&Er(""+n);var i=a.attributeName,o=null;if(a.type===mt){if(e.hasAttribute(i)){var l=e.getAttribute(i);return l===""?!0:zn(t,n,a,!1)?l:l===""+n?n:l}}else if(e.hasAttribute(i)){if(zn(t,n,a,!1))return e.getAttribute(i);if(a.type===We)return n;o=e.getAttribute(i)}return zn(t,n,a,!1)?o===null?n:o:o===""+n?n:o}}function ei(e,t,n,a){{if(!Ut(t))return;if(!e.hasAttribute(t))return n===void 0?void 0:null;var r=e.getAttribute(t);return cn(n,t),r===""+n?n:r}}function Ra(e,t,n,a){var r=Xt(t);if(!Wt(t,r,a)){if(zn(t,n,r,a)&&(n=null),a||r===null){if(Ut(t)){var i=t;n===null?e.removeAttribute(i):(cn(n,t),e.setAttribute(i,""+n))}return}var o=r.mustUseProperty;if(o){var l=r.propertyName;if(n===null){var u=r.type;e[l]=u===We?!1:""}else e[l]=n;return}var c=r.attributeName,d=r.attributeNamespace;if(n===null)e.removeAttribute(c);else{var g=r.type,y;g===We||g===mt&&n===!0?y="":(cn(n,c),y=""+n,r.sanitizeURL&&Er(y.toString())),d?e.setAttributeNS(d,c,y):e.setAttribute(c,y)}}}var fn=Symbol.for("react.element"),En=Symbol.for("react.portal"),ja=Symbol.for("react.fragment"),Ua=Symbol.for("react.strict_mode"),Cr=Symbol.for("react.profiler"),xr=Symbol.for("react.provider"),h=Symbol.for("react.context"),B=Symbol.for("react.forward_ref"),ne=Symbol.for("react.suspense"),fe=Symbol.for("react.suspense_list"),lt=Symbol.for("react.memo"),qe=Symbol.for("react.lazy"),v=Symbol.for("react.scope"),w=Symbol.for("react.debug_trace_mode"),E=Symbol.for("react.offscreen"),b=Symbol.for("react.legacy_hidden"),S=Symbol.for("react.cache"),L=Symbol.for("react.tracing_marker"),T=Symbol.iterator,V="@@iterator";function j(e){if(e===null||typeof e!="object")return null;var t=T&&e[T]||e[V];return typeof t=="function"?t:null}var F=Object.assign,ut=0,ee,ft,Rt,Ct,hn,Rr,Ha;function On(){}On.__reactDisabledLog=!0;function wr(){{if(ut===0){ee=console.log,ft=console.info,Rt=console.warn,Ct=console.error,hn=console.group,Rr=console.groupCollapsed,Ha=console.groupEnd;var e={configurable:!0,enumerable:!0,value:On,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}ut++}}function Vn(){{if(ut--,ut===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:F({},e,{value:ee}),info:F({},e,{value:ft}),warn:F({},e,{value:Rt}),error:F({},e,{value:Ct}),group:F({},e,{value:hn}),groupCollapsed:F({},e,{value:Rr}),groupEnd:F({},e,{value:Ha})})}ut<0&&f("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Yt=be.ReactCurrentDispatcher,ha;function na(e,t,n){{if(ha===void 0)try{throw Error()}catch(r){var a=r.stack.trim().match(/\n( *(at )?)/);ha=a&&a[1]||""}return` +`+ha+e}}var ti=!1,Wa;{var ya=typeof WeakMap=="function"?WeakMap:Map;Wa=new ya}function aa(e,t){if(!e||ti)return"";{var n=Wa.get(e);if(n!==void 0)return n}var a;ti=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var i;i=Yt.current,Yt.current=null,wr();try{if(t){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(o,[])}catch(k){a=k}Reflect.construct(e,[],o)}else{try{o.call()}catch(k){a=k}e.call(o.prototype)}}else{try{throw Error()}catch(k){a=k}e()}}catch(k){if(k&&a&&typeof k.stack=="string"){for(var l=k.stack.split(` `),u=a.stack.split(` -`),f=l.length-1,v=u.length-1;f>=1&&v>=0&&l[f]!==u[v];)v--;for(;f>=1&&v>=0;f--,v--)if(l[f]!==u[v]){if(f!==1||v!==1)do if(f--,v--,v<0||l[f]!==u[v]){var S=` -`+l[f].replace(" at new "," at ");return e.displayName&&S.includes("")&&(S=S.replace("",e.displayName)),typeof e=="function"&&In.set(e,S),S}while(f>=1&&v>=0);break}}}finally{ca=!1,Wr.current=i,bi(),Error.prepareStackTrace=r}var b=e?e.displayName||e.name:"",w=b?ft(b):"";return typeof e=="function"&&In.set(e,w),w}function ao(e,t,n){return Si(e,!0)}function il(e,t,n){return Si(e,!1)}function Yu(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function ol(e,t,n){if(e==null)return"";if(typeof e=="function")return Si(e,Yu(e));if(typeof e=="string")return ft(e);switch(e){case g:return ft("Suspense");case E:return ft("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case m:return il(e.render);case T:return ol(e.type,t,n);case M:{var a=e,r=a._payload,i=a._init;try{return ol(i(r),t,n)}catch{}}}return""}function af(e){switch(e._debugOwner&&e._debugOwner.type,e._debugSource,e.tag){case J:return ft(e.type);case Ot:return ft("Lazy");case ye:return ft("Suspense");case Rt:return ft("SuspenseList");case de:case gt:case Q:return il(e.type);case _e:return il(e.type.render);case te:return ao(e.type);default:return""}}function Ti(e){try{var t="",n=e;do t+=af(n),n=n.return;while(n);return t}catch(a){return` +`),c=l.length-1,d=u.length-1;c>=1&&d>=0&&l[c]!==u[d];)d--;for(;c>=1&&d>=0;c--,d--)if(l[c]!==u[d]){if(c!==1||d!==1)do if(c--,d--,d<0||l[c]!==u[d]){var g=` +`+l[c].replace(" at new "," at ");return e.displayName&&g.includes("")&&(g=g.replace("",e.displayName)),typeof e=="function"&&Wa.set(e,g),g}while(c>=1&&d>=0);break}}}finally{ti=!1,Yt.current=i,Vn(),Error.prepareStackTrace=r}var y=e?e.displayName||e.name:"",D=y?na(y):"";return typeof e=="function"&&Wa.set(e,D),D}function Dr(e,t,n){return aa(e,!0)}function Mi(e,t,n){return aa(e,!1)}function yn(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function _t(e,t,n){if(e==null)return"";if(typeof e=="function")return aa(e,yn(e));if(typeof e=="string")return na(e);switch(e){case ne:return na("Suspense");case fe:return na("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case B:return Mi(e.render);case lt:return _t(e.type,t,n);case qe:{var a=e,r=a._payload,i=a._init;try{return _t(i(r),t,n)}catch{}}}return""}function ur(e){switch(e._debugOwner&&e._debugOwner.type,e._debugSource,e.tag){case te:return na(e.type);case zt:return na("Lazy");case Ce:return na("Suspense");case Ot:return na("SuspenseList");case ge:case Tt:case Z:return Mi(e.type);case Le:return Mi(e.type.render);case re:return Dr(e.type);default:return""}}function ra(e){try{var t="",n=e;do t+=ur(n),n=n.return;while(n);return t}catch(a){return` Error generating stack: `+a.message+` -`+a.stack}}function Wu(e,t,n){var a=e.displayName;if(a)return a;var r=t.displayName||t.name||"";return r!==""?n+"("+r+")":n}function ll(e){return e.displayName||"Context"}function Ct(e){if(e==null)return null;if(typeof e.tag=="number"&&d("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Da:return"Fragment";case kn:return"Portal";case y:return"Profiler";case gr:return"StrictMode";case g:return"Suspense";case E:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case c:var t=e;return ll(t)+".Consumer";case F:var n=e;return ll(n._context)+".Provider";case m:return Wu(e,e.render,"ForwardRef");case T:var a=e.displayName||null;return a!==null?a:Ct(e.type)||"Memo";case M:{var r=e,i=r._payload,o=r._init;try{return Ct(o(i))}catch{return null}}}return null}function rf(e,t,n){var a=t.displayName||t.name||"";return e.displayName||(a!==""?n+"("+a+")":n)}function br(e){return e.displayName||"Context"}function Xe(e){var t=e.tag,n=e.type;switch(t){case re:return"Cache";case St:var a=n;return br(a)+".Consumer";case it:var r=n;return br(r._context)+".Provider";case lt:return"DehydratedFragment";case _e:return rf(n,n.render,"ForwardRef");case Ge:return"Fragment";case J:return n;case Me:return"Portal";case le:return"Root";case Ve:return"Text";case Ot:return Ct(n);case Y:return n===gr?"StrictMode":"Mode";case q:return"Offscreen";case nt:return"Profiler";case Te:return"Scope";case ye:return"Suspense";case Rt:return"SuspenseList";case me:return"TracingMarker";case te:case de:case bt:case gt:case j:case Q:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;break}return null}var ul=Ee.ReactDebugCurrentFrame,Jn=null,Ei=!1;function Ir(){{if(Jn===null)return null;var e=Jn._debugOwner;if(e!==null&&typeof e<"u")return Xe(e)}return null}function of(){return Jn===null?"":Ti(Jn)}function Mn(){ul.getCurrentStack=null,Jn=null,Ei=!1}function Zt(e){ul.getCurrentStack=e===null?null:of,Jn=e,Ei=!1}function Iu(){return Jn}function ka(e){Ei=e}function ea(e){return""+e}function Va(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return Le(e),e;default:return""}}var lf={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0};function sl(e,t){lf[t.type]||t.onChange||t.onInput||t.readOnly||t.disabled||t.value==null||d("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."),t.onChange||t.readOnly||t.disabled||t.checked==null||d("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")}function qu(e){var t=e.type,n=e.nodeName;return n&&n.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function cl(e){return e._valueTracker}function ro(e){e._valueTracker=null}function uf(e){var t="";return e&&(qu(e)?t=e.checked?"true":"false":t=e.value),t}function qr(e){var t=qu(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);Le(e[t]);var a=""+e[t];if(!(e.hasOwnProperty(t)||typeof n>"u"||typeof n.get!="function"||typeof n.set!="function")){var r=n.get,i=n.set;Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(l){Le(l),a=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:n.enumerable});var o={getValue:function(){return a},setValue:function(l){Le(l),a=""+l},stopTracking:function(){ro(e),delete e[t]}};return o}}function Ci(e){cl(e)||(e._valueTracker=qr(e))}function fl(e){if(!e)return!1;var t=cl(e);if(!t)return!0;var n=t.getValue(),a=uf(e);return a!==n?(t.setValue(a),!0):!1}function Sr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var io=!1,oo=!1,lo=!1,Gu=!1;function Xu(e){var t=e.type==="checkbox"||e.type==="radio";return t?e.checked!=null:e.value!=null}function dl(e,t){var n=e,a=t.checked,r=Be({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??n._wrapperState.initialChecked});return r}function Qu(e,t){sl("input",t),t.checked!==void 0&&t.defaultChecked!==void 0&&!oo&&(d("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components",Ir()||"A component",t.type),oo=!0),t.value!==void 0&&t.defaultValue!==void 0&&!io&&(d("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components",Ir()||"A component",t.type),io=!0);var n=e,a=t.defaultValue==null?"":t.defaultValue;n._wrapperState={initialChecked:t.checked!=null?t.checked:t.defaultChecked,initialValue:Va(t.value!=null?t.value:a),controlled:Xu(t)}}function s(e,t){var n=e,a=t.checked;a!=null&&ga(n,"checked",a,!1)}function h(e,t){var n=e;{var a=Xu(t);!n._wrapperState.controlled&&a&&!Gu&&(d("A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"),Gu=!0),n._wrapperState.controlled&&!a&&!lo&&(d("A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"),lo=!0)}s(e,t);var r=Va(t.value),i=t.type;if(r!=null)i==="number"?(r===0&&n.value===""||n.value!=r)&&(n.value=ea(r)):n.value!==ea(r)&&(n.value=ea(r));else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}t.hasOwnProperty("value")?Oe(n,t.type,r):t.hasOwnProperty("defaultValue")&&Oe(n,t.type,Va(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(n.defaultChecked=!!t.defaultChecked)}function D(e,t,n){var a=e;if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type,i=r==="submit"||r==="reset";if(i&&(t.value===void 0||t.value===null))return;var o=ea(a._wrapperState.initialValue);n||o!==a.value&&(a.value=o),a.defaultValue=o}var l=a.name;l!==""&&(a.name=""),a.defaultChecked=!a.defaultChecked,a.defaultChecked=!!a._wrapperState.initialChecked,l!==""&&(a.name=l)}function O(e,t){var n=e;h(n,t),X(n,t)}function X(e,t){var n=t.name;if(t.type==="radio"&&n!=null){for(var a=e;a.parentNode;)a=a.parentNode;sn(n,"name");for(var r=a.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),i=0;i.")))}):t.dangerouslySetInnerHTML!=null&&(vt||(vt=!0,d("Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.")))),t.selected!=null&&!ge&&(d("Use the `defaultValue` or `value` props on instead of setting `selected` on