diff --git a/static/video_editor/video-editor.css b/static/video_editor/video-editor.css index cb6f9cd5..7b9e1d0f 100644 --- a/static/video_editor/video-editor.css +++ b/static/video_editor/video-editor.css @@ -1 +1 @@ -#video-editor-trim-root .video-player-container{position:relative;background-color:#000;border-radius:.5rem;overflow:hidden;margin-bottom:1rem;aspect-ratio:16/9}#video-editor-trim-root .video-player-container video{width:100%;height:100%;cursor:pointer}#video-editor-trim-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}#video-editor-trim-root .play-pause-indicator:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#video-editor-trim-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}#video-editor-trim-root .play-pause-indicator.pause-icon:before{width:20px;height:25px;border-left:6px solid white;border-right:6px solid white}#video-editor-trim-root .video-player-container:hover .play-pause-indicator{opacity:1}#video-editor-trim-root .video-controls{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity .3s}#video-editor-trim-root .video-player-container:hover .video-controls{opacity:1}#video-editor-trim-root .video-current-time,#video-editor-trim-root .video-duration{color:#fff;font-size:.875rem}#video-editor-trim-root .video-time-display{display:flex;justify-content:space-between;margin-bottom:.5rem;color:#fff;font-size:.875rem}#video-editor-trim-root .video-progress{position:relative;height:6px;background-color:#ffffff4d;border-radius:3px;cursor:pointer;margin:0 10px;touch-action:none;flex-grow:1}#video-editor-trim-root .video-progress.dragging{height:8px}#video-editor-trim-root .video-progress-fill{position:absolute;top:0;left:0;height:100%;background-color:red;border-radius:3px;pointer-events:none}#video-editor-trim-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}#video-editor-trim-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){#video-editor-trim-root .video-scrubber{width:20px;height:20px}#video-editor-trim-root .video-progress.dragging .video-scrubber{width:24px;height:24px}#video-editor-trim-root .video-scrubber:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px}}#video-editor-trim-root .video-controls-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}#video-editor-trim-root .mute-button,#video-editor-trim-root .fullscreen-button{min-width:auto;color:#fff;background:none;border:none;cursor:pointer;padding:.25rem;transition:transform .2s}#video-editor-trim-root .mute-button:hover,#video-editor-trim-root .fullscreen-button:hover{transform:scale(1.1)}#video-editor-trim-root .mute-button svg,#video-editor-trim-root .fullscreen-button svg{width:1.25rem;height:1.25rem}#video-editor-trim-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}#video-editor-trim-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)}#video-editor-trim-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}}}#video-editor-trim-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}#video-editor-trim-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}#video-editor-trim-root .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}#video-editor-trim-root .modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#333}#video-editor-trim-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}#video-editor-trim-root .modal-close-button:hover{color:#000}#video-editor-trim-root .modal-content{padding:20px;color:#333;font-size:1rem;line-height:1.5;max-height:400px;overflow-y:auto}#video-editor-trim-root .modal-actions{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid #eee;gap:12px}#video-editor-trim-root .modal-button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:none}#video-editor-trim-root .modal-button-primary{background-color:#06c;color:#fff}#video-editor-trim-root .modal-button-primary:hover{background-color:#05a}#video-editor-trim-root .modal-button-secondary{background-color:#f0f0f0;color:#333}#video-editor-trim-root .modal-button-secondary:hover{background-color:#e0e0e0}#video-editor-trim-root .modal-button-danger{background-color:#dc3545;color:#fff}#video-editor-trim-root .modal-button-danger:hover{background-color:#bd2130}#video-editor-trim-root .modal-message{margin-bottom:16px;font-size:1rem}#video-editor-trim-root .modal-spinner{display:flex;align-items:center;justify-content:center;margin:20px 0}#video-editor-trim-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}#video-editor-trim-root .modal-success-icon{display:flex;justify-content:center;margin-bottom:16px;color:#28a745;font-size:2rem}#video-editor-trim-root .modal-success-icon svg{width:60px;height:60px;color:#4caf50;animation:success-pop .5s ease-out}#video-editor-trim-root .modal-error-icon{display:flex;justify-content:center;margin-bottom:16px;color:#dc3545;font-size:2rem}#video-editor-trim-root .modal-error-icon svg{width:60px;height:60px;color:#f44336;animation:error-pop .5s ease-out}#video-editor-trim-root .modal-choices{display:flex;flex-direction:column;gap:10px;margin-top:20px}#video-editor-trim-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}#video-editor-trim-root .modal-choice-button:hover{background-color:#05a;transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}#video-editor-trim-root .modal-choice-button svg{margin-right:8px}#video-editor-trim-root .success-link{background-color:#4caf50}#video-editor-trim-root .success-link:hover{background-color:#3d8b40}#video-editor-trim-root .centered-choice{margin:0 auto;width:auto;min-width:220px;background-color:#06c;color:#fff}#video-editor-trim-root .centered-choice:hover{background-color:#05a}@media (max-width: 480px){#video-editor-trim-root .modal-container{width:95%}#video-editor-trim-root .modal-actions{flex-direction:column}#video-editor-trim-root .modal-button{width:100%}}#video-editor-trim-root .error-message{color:#f44336;font-weight:500;background-color:#f443361a;padding:10px;border-radius:4px;border-left:4px solid #F44336;margin-top:10px}#video-editor-trim-root .redirect-message{color:#555;font-size:.95rem;padding:0;margin:0}#video-editor-trim-root .countdown{font-weight:700;color:#06c;font-size:1.1rem}#video-editor-trim-root{@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}}#video-editor-trim-root .timeline-container-card{background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .timeline-header{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}#video-editor-trim-root .timeline-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333)}#video-editor-trim-root .timeline-title-text{font-weight:700}#video-editor-trim-root .current-time{font-size:.875rem;color:var(--foreground, #333)}#video-editor-trim-root .time-code{font-family:monospace;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem}#video-editor-trim-root .duration-time{font-size:.875rem;color:var(--foreground, #333)}#video-editor-trim-root .timeline-scroll-container{position:relative;overflow:visible!important}#video-editor-trim-root .timeline-container{position:relative;min-width:100%;background-color:#fafbfc;height:70px;border-radius:.25rem;overflow:visible!important}#video-editor-trim-root .timeline-marker{position:absolute;top:0;bottom:0;width:1px;background-color:red;z-index:30;pointer-events:none}#video-editor-trim-root .timeline-marker-head{position:absolute;top:-11px;left:50%;transform:translate(-50%);width:20px;height:20px;background-color:red;border-radius:50%;pointer-events:auto;cursor:grab;z-index:31;display:flex;align-items:center;justify-content:center;transition:transform .1s ease,background-color .1s ease;touch-action:none}#video-editor-trim-root .timeline-marker-head-icon{color:#fff;font-size:14px;font-weight:700;line-height:1}#video-editor-trim-root .timeline-marker-head.dragging{transform:translate(-50%) scale(1.2);cursor:grabbing;background-color:#f33;box-shadow:0 0 8px #f009}#video-editor-trim-root .trim-line-marker{position:absolute;top:0;bottom:0;width:1px;background-color:#00000080;z-index:20}#video-editor-trim-root .trim-handle{position:absolute;width:10px;height:20px;background-color:#000;cursor:ew-resize}#video-editor-trim-root .trim-handle.left{right:0;top:10px;border-radius:3px 0 0 3px}#video-editor-trim-root .trim-handle.right{left:0;top:10px;border-radius:0 3px 3px 0}#video-editor-trim-root .timeline-thumbnail{display:inline-block;height:70px;border-right:1px solid rgba(0,0,0,.03)}#video-editor-trim-root .split-point{position:absolute;top:0;bottom:0;width:1px;background-color:#ff000080;z-index:15}#video-editor-trim-root .clip-segment{position:absolute;height:70px;border-radius:4px;z-index:10;border:2px solid rgba(0,0,0,.15);cursor:pointer}#video-editor-trim-root .clip-segment:hover{box-shadow:0 0 0 2px #0000004d;border-color:#0006;background-color:#f0f0f0cc!important}#video-editor-trim-root .clip-segment.selected{box-shadow:0 0 0 2px #3b82f6b3;border-color:#3b82f6e6}#video-editor-trim-root .clip-segment.selected:hover{background-color:#f0f8ffd9!important}#video-editor-trim-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}#video-editor-trim-root .clip-segment:hover .clip-segment-info{background-color:#00000080}#video-editor-trim-root .clip-segment.selected .clip-segment-info{background-color:#3b82f680}#video-editor-trim-root .clip-segment.selected:hover .clip-segment-info{background-color:#3b82f666}#video-editor-trim-root .clip-segment-name{font-weight:700;font-size:12px}#video-editor-trim-root .clip-segment-time,#video-editor-trim-root .clip-segment-duration{font-size:10px}#video-editor-trim-root .clip-segment-handle{position:absolute;top:0;bottom:0;width:6px;background-color:#0003;cursor:ew-resize}#video-editor-trim-root .clip-segment-handle:hover{background-color:#0006}#video-editor-trim-root .clip-segment-handle.left{left:0;border-radius:2px 0 0 2px}#video-editor-trim-root .clip-segment-handle.right{right:0;border-radius:0 2px 2px 0}@media (pointer: coarse){#video-editor-trim-root .clip-segment-handle{width:14px;background-color:#0006}#video-editor-trim-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}#video-editor-trim-root .clip-segment-handle.left:after{box-shadow:-2px 0 #00000080}#video-editor-trim-root .clip-segment-handle.right:after{box-shadow:2px 0 #00000080}#video-editor-trim-root .clip-segment-handle:active{background-color:#0009}#video-editor-trim-root .timeline-marker-head{width:24px;height:24px;top:-13px}#video-editor-trim-root .timeline-marker-head.dragging{width:28px;height:28px;top:-15px}#video-editor-trim-root .timeline-marker-head:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px}}#video-editor-trim-root .segment-tooltip,#video-editor-trim-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:-90px!important}#video-editor-trim-root .segment-tooltip:after,#video-editor-trim-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}#video-editor-trim-root .tooltip-time{font-weight:600;font-size:.875rem;margin-bottom:.5rem;color:#333}#video-editor-trim-root .tooltip-actions{display:flex;justify-content:center;gap:.5rem}#video-editor-trim-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}#video-editor-trim-root .tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}#video-editor-trim-root .tooltip-action-btn.delete{color:#ef4444}#video-editor-trim-root .tooltip-action-btn.delete:hover{background-color:#fee2e2}#video-editor-trim-root .tooltip-action-btn.new-segment{padding:.375rem .5rem}#video-editor-trim-root .tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:.25rem;font-size:.75rem}#video-editor-trim-root .tooltip-action-btn svg{width:1rem;height:1rem}#video-editor-trim-root .timeline-controls{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}#video-editor-trim-root .time-navigation{display:none;align-items:center;gap:.5rem}#video-editor-trim-root .time-nav-label{font-size:.875rem;font-weight:500}#video-editor-trim-root .time-input{border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;width:8rem;font-size:.875rem}#video-editor-trim-root .time-button-group{display:flex}#video-editor-trim-root .time-button{background-color:#e5e7eb;color:#000;padding:.25rem .5rem;font-size:.875rem;border:none;cursor:pointer;margin-right:.5rem}#video-editor-trim-root .time-button:hover{background-color:#d1d5db}#video-editor-trim-root .time-button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#video-editor-trim-root .time-button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#video-editor-trim-root .controls-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}#video-editor-trim-root .zoom-dropdown-container{position:relative;z-index:100;display:none}#video-editor-trim-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}#video-editor-trim-root .zoom-button:hover{background-color:#1f2937}#video-editor-trim-root .zoom-button svg{margin-left:.25rem}#video-editor-trim-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}#video-editor-trim-root .zoom-option{padding:.25rem .75rem;cursor:pointer}#video-editor-trim-root .zoom-option:hover{background-color:#4b5563}#video-editor-trim-root .zoom-option.selected{background-color:#6b7280;display:flex;align-items:center}#video-editor-trim-root .zoom-option svg{margin-right:.25rem}#video-editor-trim-root .save-buttons-row{display:flex;align-items:center;gap:.5rem;margin:0;flex-wrap:nowrap}#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-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}#video-editor-trim-root .save-button:hover,#video-editor-trim-root .save-copy-button:hover,#video-editor-trim-root .save-segments-button:hover{background-color:#0056b3}@media (max-width: 576px){#video-editor-trim-root .save-buttons-row{width:100%;justify-content:space-between;gap:.5rem}#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-root .save-segments-button{flex:1;font-size:.7rem;padding:.25rem .35rem}}@media (max-width: 480px){#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-root .save-segments-button{font-size:.675rem;padding:.25rem}#video-editor-trim-root .controls-right,#video-editor-trim-root .controls-right button{margin:0}}#video-editor-trim-root .modal-success-content,#video-editor-trim-root .modal-error-content{display:flex;flex-direction:column;align-items:center;padding:1rem;text-align:center;padding:0;margin:0}#video-editor-trim-root .modal-success-icon,#video-editor-trim-root .modal-error-icon{margin-bottom:1rem}#video-editor-trim-root .modal-success-icon svg{color:#4caf50;animation:fadeIn .5s ease-in-out}#video-editor-trim-root .modal-error-icon svg{color:#f44336;animation:fadeIn .5s ease-in-out}#video-editor-trim-root .success-link{background-color:#4caf50;color:#fff;transition:background-color .3s}#video-editor-trim-root .success-link:hover{background-color:#388e3c}#video-editor-trim-root .error-message{color:#f44336;font-weight:500}#video-editor-trim-root .modal-spinner{display:flex;justify-content:center;margin:2rem 0}#video-editor-trim-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}#video-editor-trim-root .text-center{text-align:center}#video-editor-trim-root .modal-message{margin-bottom:1rem;line-height:1.5}#video-editor-trim-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}#video-editor-trim-root .modal-choice-button:hover{background-color:#0056b3}#video-editor-trim-root .modal-choice-button svg{flex-shrink:0}#video-editor-trim-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)}}.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-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}@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}}#video-editor-trim-root{@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}}#video-editor-trim-root .editing-tools-container{background-color:#fff;border-radius:.5rem;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .flex-container{display:flex;justify-content:space-between;align-items:center;position:relative;gap:15px;width:100%}#video-editor-trim-root .flex-container.single-row{flex-wrap:nowrap}#video-editor-trim-root .full-text{display:inline}#video-editor-trim-root .short-text{display:none}#video-editor-trim-root .reset-text{display:inline}#video-editor-trim-root .button-group{display:flex;align-items:center}#video-editor-trim-root .button-group.play-buttons-group{gap:.75rem;justify-content:flex-start;flex:0 0 auto}#video-editor-trim-root .button-group.secondary{gap:.75rem;align-items:center;justify-content:flex-end;margin-left:auto}#video-editor-trim-root .button-group button{display:flex;align-items:center;color:#333;background:none;border:none;cursor:pointer;min-width:auto}#video-editor-trim-root .button-group button:hover:not(:disabled){color:inherit}#video-editor-trim-root .button-group button:disabled{opacity:.5;cursor:not-allowed}#video-editor-trim-root .button-group button svg{height:1.25rem;width:1.25rem;margin-right:.25rem}#video-editor-trim-root .divider{border-right:1px solid #d1d5db;height:1.5rem;margin:0 .5rem}#video-editor-trim-root .play-button,#video-editor-trim-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}#video-editor-trim-root .play-button:hover:not(:disabled),#video-editor-trim-root .preview-button:hover:not(:disabled){color:inherit!important;transform:none!important;font-size:.875rem!important;width:auto!important;background:none!important}#video-editor-trim-root .play-button svg,#video-editor-trim-root .preview-button svg{height:1.5rem;width:1.5rem;flex-shrink:0}#video-editor-trim-root .preview-mode-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}#video-editor-trim-root .preview-mode-message svg{height:1.25rem;width:1.25rem;margin-right:.5rem;color:#3b82f6}#video-editor-trim-root .button-text{margin-left:.25rem}@media (max-width: 992px){#video-editor-trim-root .button-group.secondary .button-text{display:none}}@media (max-width: 768px){#video-editor-trim-root .flex-container.single-row{justify-content:space-between}#video-editor-trim-root .button-group{gap:.5rem}#video-editor-trim-root .preview-button,#video-editor-trim-root .play-button{font-size:.875rem!important}}@media (max-width: 640px){#video-editor-trim-root .preview-button{min-width:auto}#video-editor-trim-root .full-text{display:none}#video-editor-trim-root .short-text{display:inline}#video-editor-trim-root .reset-text{display:none}#video-editor-trim-root .button-group.play-buttons-group{flex:initial;justify-content:flex-start}#video-editor-trim-root .button-group.secondary{flex:initial;justify-content:flex-end}}@media (max-width: 576px){#video-editor-trim-root .flex-container.single-row{justify-content:space-between;flex-wrap:nowrap}#video-editor-trim-root .button-group.play-buttons-group{justify-content:flex-start;flex:0 0 auto}#video-editor-trim-root .button-group.secondary{justify-content:flex-end;margin-left:auto}#video-editor-trim-root .button-group button{padding:.25rem}#video-editor-trim-root .preview-mode-message{font-size:.8rem;padding:4px 8px}#video-editor-trim-root .divider{margin:0 .25rem}}@media (max-width: 480px){#video-editor-trim-root .button-group.play-buttons-group,#video-editor-trim-root .button-group.secondary{gap:.25rem}#video-editor-trim-root .divider{display:none}}@media (hover: hover) and (pointer: fine){#video-editor-trim-root [data-tooltip]{position:relative}#video-editor-trim-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}#video-editor-trim-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}#video-editor-trim-root [data-tooltip]:hover:before,#video-editor-trim-root [data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){#video-editor-trim-root [data-tooltip]:before,#video-editor-trim-root [data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}#video-editor-trim-root .clip-segments-container{margin-top:1rem;background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .clip-segments-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333);margin-bottom:.75rem}#video-editor-trim-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:box-shadow .2s ease}#video-editor-trim-root .segment-item:hover{box-shadow:0 4px 6px -1px #0000001a}#video-editor-trim-root .segment-content{display:flex;align-items:center}#video-editor-trim-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}#video-editor-trim-root .segment-info{display:flex;flex-direction:column}#video-editor-trim-root .segment-title{font-weight:500;font-size:.875rem;color:#000}#video-editor-trim-root .segment-time{font-size:.75rem;color:#000}#video-editor-trim-root .segment-duration{font-size:.75rem;margin-top:.25rem;display:inline-block;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem;color:#000}#video-editor-trim-root .segment-actions{display:flex;align-items:center;gap:.5rem}#video-editor-trim-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}#video-editor-trim-root .delete-button:hover{color:#000;background-color:#d1d5db}#video-editor-trim-root .delete-button svg{height:1rem;width:1rem}#video-editor-trim-root .empty-message{padding:1rem;text-align:center;color:#333333b3}#video-editor-trim-root .segment-color-1{background-color:#3b82f626}#video-editor-trim-root .segment-color-2{background-color:#10b98126}#video-editor-trim-root .segment-color-3{background-color:#f59e0b26}#video-editor-trim-root .segment-color-4{background-color:#ef444426}#video-editor-trim-root .segment-color-5{background-color:#8b5cf626}#video-editor-trim-root .segment-color-6{background-color:#ec489926}#video-editor-trim-root .segment-color-7{background-color:#06b6d426}#video-editor-trim-root .segment-color-8{background-color:#facc1526}.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))}.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))}}.running{animation-play-state:running}.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{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}} +#video-editor-trim-root{@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(1)}}}#video-editor-trim-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}#video-editor-trim-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){#video-editor-trim-root .video-player-container video{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}}#video-editor-trim-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}#video-editor-trim-root .video-player-container:hover .play-pause-indicator{opacity:1}#video-editor-trim-root .play-pause-indicator:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#video-editor-trim-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}#video-editor-trim-root .play-pause-indicator.pause-icon:before{width:20px;height:25px;border-left:6px solid white;border-right:6px solid white}#video-editor-trim-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}#video-editor-trim-root .ios-play-message{color:#fff;font-size:1.2rem;text-align:center;padding:1rem;background:#000c;border-radius:.5rem;animation:pulse 2s infinite}#video-editor-trim-root .video-controls{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity .3s}#video-editor-trim-root .video-player-container:hover .video-controls{opacity:1}#video-editor-trim-root .video-current-time,#video-editor-trim-root .video-duration{color:#fff;font-size:.875rem}#video-editor-trim-root .video-time-display{display:flex;justify-content:space-between;margin-bottom:.5rem;color:#fff;font-size:.875rem}#video-editor-trim-root .video-progress{position:relative;height:6px;background-color:#ffffff4d;border-radius:3px;cursor:pointer;margin:0 10px;touch-action:none;flex-grow:1}#video-editor-trim-root .video-progress.dragging{height:8px}#video-editor-trim-root .video-progress-fill{position:absolute;top:0;left:0;height:100%;background-color:red;border-radius:3px;pointer-events:none}#video-editor-trim-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}#video-editor-trim-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){#video-editor-trim-root .video-scrubber{width:20px;height:20px}#video-editor-trim-root .video-progress.dragging .video-scrubber{width:24px;height:24px}#video-editor-trim-root .video-scrubber:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px}}#video-editor-trim-root .video-controls-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}#video-editor-trim-root .mute-button,#video-editor-trim-root .fullscreen-button{min-width:auto;color:#fff;background:none;border:none;cursor:pointer;padding:.25rem;transition:transform .2s}#video-editor-trim-root .mute-button:hover,#video-editor-trim-root .fullscreen-button:hover{transform:scale(1.1)}#video-editor-trim-root .mute-button svg,#video-editor-trim-root .fullscreen-button svg{width:1.25rem;height:1.25rem}#video-editor-trim-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}#video-editor-trim-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)}#video-editor-trim-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}}}#video-editor-trim-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}#video-editor-trim-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}#video-editor-trim-root .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}#video-editor-trim-root .modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#333}#video-editor-trim-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}#video-editor-trim-root .modal-close-button:hover{color:#000}#video-editor-trim-root .modal-content{padding:20px;color:#333;font-size:1rem;line-height:1.5;max-height:400px;overflow-y:auto}#video-editor-trim-root .modal-actions{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid #eee;gap:12px}#video-editor-trim-root .modal-button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:none}#video-editor-trim-root .modal-button-primary{background-color:#06c;color:#fff}#video-editor-trim-root .modal-button-primary:hover{background-color:#05a}#video-editor-trim-root .modal-button-secondary{background-color:#f0f0f0;color:#333}#video-editor-trim-root .modal-button-secondary:hover{background-color:#e0e0e0}#video-editor-trim-root .modal-button-danger{background-color:#dc3545;color:#fff}#video-editor-trim-root .modal-button-danger:hover{background-color:#bd2130}#video-editor-trim-root .modal-message{margin-bottom:16px;font-size:1rem}#video-editor-trim-root .modal-spinner{display:flex;align-items:center;justify-content:center;margin:20px 0}#video-editor-trim-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}#video-editor-trim-root .modal-success-icon{display:flex;justify-content:center;margin-bottom:16px;color:#28a745;font-size:2rem}#video-editor-trim-root .modal-success-icon svg{width:60px;height:60px;color:#4caf50;animation:success-pop .5s ease-out}#video-editor-trim-root .modal-error-icon{display:flex;justify-content:center;margin-bottom:16px;color:#dc3545;font-size:2rem}#video-editor-trim-root .modal-error-icon svg{width:60px;height:60px;color:#f44336;animation:error-pop .5s ease-out}#video-editor-trim-root .modal-choices{display:flex;flex-direction:column;gap:10px;margin-top:20px}#video-editor-trim-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}#video-editor-trim-root .modal-choice-button:hover{background-color:#05a;transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}#video-editor-trim-root .modal-choice-button svg{margin-right:8px}#video-editor-trim-root .success-link{background-color:#4caf50}#video-editor-trim-root .success-link:hover{background-color:#3d8b40}#video-editor-trim-root .centered-choice{margin:0 auto;width:auto;min-width:220px;background-color:#06c;color:#fff}#video-editor-trim-root .centered-choice:hover{background-color:#05a}@media (max-width: 480px){#video-editor-trim-root .modal-container{width:95%}#video-editor-trim-root .modal-actions{flex-direction:column}#video-editor-trim-root .modal-button{width:100%}}#video-editor-trim-root .error-message{color:#f44336;font-weight:500;background-color:#f443361a;padding:10px;border-radius:4px;border-left:4px solid #F44336;margin-top:10px}#video-editor-trim-root .redirect-message{color:#555;font-size:.95rem;padding:0;margin:0}#video-editor-trim-root .countdown{font-weight:700;color:#06c;font-size:1.1rem}#video-editor-trim-root{@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}}#video-editor-trim-root .timeline-container-card{background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .timeline-header{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}#video-editor-trim-root .timeline-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333)}#video-editor-trim-root .timeline-title-text{font-weight:700}#video-editor-trim-root .current-time{font-size:.875rem;color:var(--foreground, #333)}#video-editor-trim-root .time-code{font-family:monospace;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem}#video-editor-trim-root .duration-time{font-size:.875rem;color:var(--foreground, #333)}#video-editor-trim-root .timeline-scroll-container{position:relative;overflow:visible!important}#video-editor-trim-root .timeline-container{position:relative;min-width:100%;background-color:#fafbfc;height:70px;border-radius:.25rem;overflow:visible!important}#video-editor-trim-root .timeline-marker{position:absolute;height:82px;width:2px;background-color:#000;transform:translate(-50%);z-index:50;pointer-events:none}#video-editor-trim-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}#video-editor-trim-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}#video-editor-trim-root .timeline-marker-drag.dragging{cursor:grabbing;background-color:#374151}#video-editor-trim-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}#video-editor-trim-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}#video-editor-trim-root .trim-line-marker{position:absolute;top:0;bottom:0;width:1px;background-color:#00000080;z-index:20}#video-editor-trim-root .trim-handle{position:absolute;width:10px;height:20px;background-color:#000;cursor:ew-resize}#video-editor-trim-root .trim-handle.left{right:0;top:10px;border-radius:3px 0 0 3px}#video-editor-trim-root .trim-handle.right{left:0;top:10px;border-radius:0 3px 3px 0}#video-editor-trim-root .timeline-thumbnail{display:inline-block;height:70px;border-right:1px solid rgba(0,0,0,.03)}#video-editor-trim-root .split-point{position:absolute;top:0;bottom:0;width:1px;background-color:#ff000080;z-index:15}#video-editor-trim-root .clip-segment{position:absolute;height:70px;border-radius:4px;z-index:10;border:2px solid rgba(0,0,0,.15);cursor:pointer}#video-editor-trim-root .clip-segment:hover{box-shadow:0 0 0 2px #0000004d;border-color:#0006;background-color:#f0f0f0cc!important}#video-editor-trim-root .clip-segment.selected{box-shadow:0 0 0 2px #3b82f6b3;border-color:#3b82f6e6}#video-editor-trim-root .clip-segment.selected:hover{background-color:#f0f8ffd9!important}#video-editor-trim-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}#video-editor-trim-root .clip-segment:hover .clip-segment-info{background-color:#00000080}#video-editor-trim-root .clip-segment.selected .clip-segment-info{background-color:#3b82f680}#video-editor-trim-root .clip-segment.selected:hover .clip-segment-info{background-color:#3b82f666}#video-editor-trim-root .clip-segment-name{font-weight:700;font-size:12px}#video-editor-trim-root .clip-segment-time,#video-editor-trim-root .clip-segment-duration{font-size:10px}#video-editor-trim-root .clip-segment-handle{position:absolute;top:0;bottom:0;width:6px;background-color:#0003;cursor:ew-resize}#video-editor-trim-root .clip-segment-handle:hover{background-color:#0006}#video-editor-trim-root .clip-segment-handle.left{left:0;border-radius:2px 0 0 2px}#video-editor-trim-root .clip-segment-handle.right{right:0;border-radius:0 2px 2px 0}@media (pointer: coarse){#video-editor-trim-root .clip-segment-handle{width:14px;background-color:#0006}#video-editor-trim-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}#video-editor-trim-root .clip-segment-handle.left:after{box-shadow:-2px 0 #00000080}#video-editor-trim-root .clip-segment-handle.right:after{box-shadow:2px 0 #00000080}#video-editor-trim-root .clip-segment-handle:active{background-color:#0009}#video-editor-trim-root .timeline-marker{height:52px}#video-editor-trim-root .timeline-marker-head{width:24px;height:24px;top:-13px}#video-editor-trim-root .timeline-marker-drag{width:24px;height:24px;bottom:-18px}#video-editor-trim-root .timeline-marker-head.dragging{width:28px;height:28px;top:-15px}}#video-editor-trim-root .segment-tooltip,#video-editor-trim-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:-100px!important;transform:translateY(-10px)}#video-editor-trim-root .segment-tooltip:after,#video-editor-trim-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}#video-editor-trim-root .segment-tooltip:before,#video-editor-trim-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}#video-editor-trim-root .tooltip-time{font-weight:600;font-size:.875rem;margin-bottom:.5rem;color:#333}#video-editor-trim-root .tooltip-actions{display:flex;justify-content:center;gap:.5rem}#video-editor-trim-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}#video-editor-trim-root .tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}#video-editor-trim-root .tooltip-action-btn.delete{color:#ef4444}#video-editor-trim-root .tooltip-action-btn.delete:hover{background-color:#fee2e2}#video-editor-trim-root .tooltip-action-btn.new-segment{padding:.375rem .5rem}#video-editor-trim-root .tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:.25rem;font-size:.75rem}#video-editor-trim-root .tooltip-action-btn svg{width:1rem;height:1rem}#video-editor-trim-root .timeline-controls{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}#video-editor-trim-root .time-navigation{display:none;align-items:center;gap:.5rem}#video-editor-trim-root .time-nav-label{font-size:.875rem;font-weight:500}#video-editor-trim-root .time-input{border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;width:8rem;font-size:.875rem}#video-editor-trim-root .time-button-group{display:flex}#video-editor-trim-root .time-button{background-color:#e5e7eb;color:#000;padding:.25rem .5rem;font-size:.875rem;border:none;cursor:pointer;margin-right:.5rem}#video-editor-trim-root .time-button:hover{background-color:#d1d5db}#video-editor-trim-root .time-button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#video-editor-trim-root .time-button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#video-editor-trim-root .controls-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}#video-editor-trim-root .zoom-dropdown-container{position:relative;z-index:100;display:none}#video-editor-trim-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}#video-editor-trim-root .zoom-button:hover{background-color:#1f2937}#video-editor-trim-root .zoom-button svg{margin-left:.25rem}#video-editor-trim-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}#video-editor-trim-root .zoom-option{padding:.25rem .75rem;cursor:pointer}#video-editor-trim-root .zoom-option:hover{background-color:#4b5563}#video-editor-trim-root .zoom-option.selected{background-color:#6b7280;display:flex;align-items:center}#video-editor-trim-root .zoom-option svg{margin-right:.25rem}#video-editor-trim-root .save-buttons-row{display:flex;align-items:center;gap:.5rem;margin:0;flex-wrap:nowrap}#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-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}#video-editor-trim-root .save-button:hover,#video-editor-trim-root .save-copy-button:hover,#video-editor-trim-root .save-segments-button:hover{background-color:#0056b3}@media (max-width: 576px){#video-editor-trim-root .save-buttons-row{width:100%;justify-content:space-between;gap:.5rem}#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-root .save-segments-button{flex:1;font-size:.7rem;padding:.25rem .35rem}}@media (max-width: 480px){#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-root .save-segments-button{font-size:.675rem;padding:.25rem}#video-editor-trim-root .controls-right,#video-editor-trim-root .controls-right button{margin:0}}#video-editor-trim-root .modal-success-content,#video-editor-trim-root .modal-error-content{display:flex;flex-direction:column;align-items:center;padding:1rem;text-align:center;padding:0;margin:0}#video-editor-trim-root .modal-success-icon,#video-editor-trim-root .modal-error-icon{margin-bottom:1rem}#video-editor-trim-root .modal-success-icon svg{color:#4caf50;animation:fadeIn .5s ease-in-out}#video-editor-trim-root .modal-error-icon svg{color:#f44336;animation:fadeIn .5s ease-in-out}#video-editor-trim-root .success-link{background-color:#4caf50;color:#fff;transition:background-color .3s}#video-editor-trim-root .success-link:hover{background-color:#388e3c}#video-editor-trim-root .error-message{color:#f44336;font-weight:500}#video-editor-trim-root .modal-spinner{display:flex;justify-content:center;margin:2rem 0}#video-editor-trim-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}#video-editor-trim-root .text-center{text-align:center}#video-editor-trim-root .modal-message{margin-bottom:1rem;line-height:1.5}#video-editor-trim-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}#video-editor-trim-root .modal-choice-button:hover{background-color:#0056b3}#video-editor-trim-root .modal-choice-button svg{flex-shrink:0}#video-editor-trim-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)}}.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-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}@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}}#video-editor-trim-root{@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}}#video-editor-trim-root .editing-tools-container{background-color:#fff;border-radius:.5rem;padding:1rem;margin-bottom:2.5rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .flex-container{display:flex;justify-content:space-between;align-items:center;position:relative;gap:15px;width:100%}#video-editor-trim-root .flex-container.single-row{flex-wrap:nowrap}#video-editor-trim-root .full-text{display:inline}#video-editor-trim-root .short-text{display:none}#video-editor-trim-root .reset-text{display:inline}#video-editor-trim-root .button-group{display:flex;align-items:center}#video-editor-trim-root .button-group.play-buttons-group{gap:.75rem;justify-content:flex-start;flex:0 0 auto}#video-editor-trim-root .button-group.secondary{gap:.75rem;align-items:center;justify-content:flex-end;margin-left:auto}#video-editor-trim-root .button-group button{display:flex;align-items:center;color:#333;background:none;border:none;cursor:pointer;min-width:auto}#video-editor-trim-root .button-group button:hover:not(:disabled){color:inherit}#video-editor-trim-root .button-group button:disabled{opacity:.5;cursor:not-allowed}#video-editor-trim-root .button-group button svg{height:1.25rem;width:1.25rem;margin-right:.25rem}#video-editor-trim-root .divider{border-right:1px solid #d1d5db;height:1.5rem;margin:0 .5rem}#video-editor-trim-root .play-button,#video-editor-trim-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}#video-editor-trim-root .play-button:hover:not(:disabled),#video-editor-trim-root .preview-button:hover:not(:disabled){color:inherit!important;transform:none!important;font-size:.875rem!important;width:auto!important;background:none!important}#video-editor-trim-root .play-button svg,#video-editor-trim-root .preview-button svg{height:1.5rem;width:1.5rem;flex-shrink:0}#video-editor-trim-root .preview-mode-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}#video-editor-trim-root .preview-mode-message svg{height:1.25rem;width:1.25rem;margin-right:.5rem;color:#3b82f6}#video-editor-trim-root .button-text{margin-left:.25rem}@media (max-width: 992px){#video-editor-trim-root .button-group.secondary .button-text{display:none}}@media (max-width: 768px){#video-editor-trim-root .flex-container.single-row{justify-content:space-between}#video-editor-trim-root .button-group{gap:.5rem}#video-editor-trim-root .preview-button,#video-editor-trim-root .play-button{font-size:.875rem!important}}@media (max-width: 640px){#video-editor-trim-root .preview-button{min-width:auto}#video-editor-trim-root .full-text{display:none}#video-editor-trim-root .short-text{display:inline}#video-editor-trim-root .reset-text{display:none}#video-editor-trim-root .button-group.play-buttons-group{flex:initial;justify-content:flex-start}#video-editor-trim-root .button-group.secondary{flex:initial;justify-content:flex-end}}@media (max-width: 576px){#video-editor-trim-root .flex-container.single-row{justify-content:space-between;flex-wrap:nowrap}#video-editor-trim-root .button-group.play-buttons-group{justify-content:flex-start;flex:0 0 auto}#video-editor-trim-root .button-group.secondary{justify-content:flex-end;margin-left:auto}#video-editor-trim-root .button-group button{padding:.25rem}#video-editor-trim-root .preview-mode-message{font-size:.8rem;padding:4px 8px}#video-editor-trim-root .divider{margin:0 .25rem}}@media (max-width: 480px){#video-editor-trim-root .button-group.play-buttons-group,#video-editor-trim-root .button-group.secondary{gap:.25rem}#video-editor-trim-root .divider{display:none}}@media (hover: hover) and (pointer: fine){#video-editor-trim-root [data-tooltip]{position:relative}#video-editor-trim-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}#video-editor-trim-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}#video-editor-trim-root [data-tooltip]:hover:before,#video-editor-trim-root [data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){#video-editor-trim-root [data-tooltip]:before,#video-editor-trim-root [data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}#video-editor-trim-root .clip-segments-container{margin-top:1rem;background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .clip-segments-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333);margin-bottom:.75rem}#video-editor-trim-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:box-shadow .2s ease}#video-editor-trim-root .segment-item:hover{box-shadow:0 4px 6px -1px #0000001a}#video-editor-trim-root .segment-content{display:flex;align-items:center}#video-editor-trim-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}#video-editor-trim-root .segment-info{display:flex;flex-direction:column}#video-editor-trim-root .segment-title{font-weight:500;font-size:.875rem;color:#000}#video-editor-trim-root .segment-time{font-size:.75rem;color:#000}#video-editor-trim-root .segment-duration{font-size:.75rem;margin-top:.25rem;display:inline-block;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem;color:#000}#video-editor-trim-root .segment-actions{display:flex;align-items:center;gap:.5rem}#video-editor-trim-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}#video-editor-trim-root .delete-button:hover{color:#000;background-color:#d1d5db}#video-editor-trim-root .delete-button svg{height:1rem;width:1rem}#video-editor-trim-root .empty-message{padding:1rem;text-align:center;color:#333333b3}#video-editor-trim-root .segment-color-1{background-color:#3b82f626}#video-editor-trim-root .segment-color-2{background-color:#10b98126}#video-editor-trim-root .segment-color-3{background-color:#f59e0b26}#video-editor-trim-root .segment-color-4{background-color:#ef444426}#video-editor-trim-root .segment-color-5{background-color:#8b5cf626}#video-editor-trim-root .segment-color-6{background-color:#ec489926}#video-editor-trim-root .segment-color-7{background-color:#06b6d426}#video-editor-trim-root .segment-color-8{background-color:#facc1526}.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))}.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))}}.running{animation-play-state:running}.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{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/video_editor/video-editor.js b/static/video_editor/video-editor.js index b8fda080..77518f69 100644 --- a/static/video_editor/video-editor.js +++ b/static/video_editor/video-editor.js @@ -1,4 +1,4 @@ -(function(){"use strict";var dm={exports:{}},Kc={exports:{}},Zo={exports:{}};Zo.exports;var vm;function z0(){return vm||(vm=1,function(T,M){/** +(function(){"use strict";var dm={exports:{}},Kc={exports:{}},al={exports:{}};al.exports;var vm;function HS(){return vm||(vm=1,function(T,D){/** * @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 he="18.3.1",xe=Symbol.for("react.element"),pe=Symbol.for("react.portal"),Oe=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),Z=Symbol.for("react.profiler"),Se=Symbol.for("react.provider"),se=Symbol.for("react.context"),it=Symbol.for("react.forward_ref"),W=Symbol.for("react.suspense"),D=Symbol.for("react.suspense_list"),oe=Symbol.for("react.memo"),Be=Symbol.for("react.lazy"),zt=Symbol.for("react.offscreen"),Et=Symbol.iterator,kt="@@iterator";function We(s){if(s===null||typeof s!="object")return null;var m=Et&&s[Et]||s[kt];return typeof m=="function"?m:null}var J={current:null},mt={transition:null},_e={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},Me={current:null},V={},nt=null;function K(s){nt=s}V.setExtraStackFrame=function(s){nt=s},V.getCurrentStack=null,V.getStackAddendum=function(){var s="";nt&&(s+=nt);var m=V.getCurrentStack;return m&&(s+=m()||""),s};var Bt=!1,He=!1,ce=!1,le=!1,ht=!1,yt={ReactCurrentDispatcher:J,ReactCurrentBatchConfig:mt,ReactCurrentOwner:Me};yt.ReactDebugCurrentFrame=V,yt.ReactCurrentActQueue=_e;function ze(s){{for(var m=arguments.length,L=new Array(m>1?m-1:0),A=1;A1?m-1:0),A=1;A1){for(var qt=Array(jt),Gt=0;Gt1){for(var at=Array(Gt),an=0;an is not supported and will be removed in a future major release. Did you mean to render instead?")),m.Provider},set:function(Te){m.Provider=Te}},_currentValue:{get:function(){return m._currentValue},set:function(Te){m._currentValue=Te}},_currentValue2:{get:function(){return m._currentValue2},set:function(Te){m._currentValue2=Te}},_threadCount:{get:function(){return m._threadCount},set:function(Te){m._threadCount=Te}},Consumer:{get:function(){return L||(L=!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(Te){Q||(ze("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",Te),Q=!0)}}}),m.Consumer=Ne}return m._currentRenderer=null,m._currentRenderer2=null,m}var E=-1,b=0,O=1,x=2;function X(s){if(s._status===E){var m=s._result,L=m();if(L.then(function(Ne){if(s._status===b||s._status===E){var Te=s;Te._status=O,Te._result=Ne}},function(Ne){if(s._status===b||s._status===E){var Te=s;Te._status=x,Te._result=Ne}}),s._status===E){var A=s;A._status=b,A._result=L}}if(s._status===O){var Q=s._result;return Q===void 0&&q(`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 pe="18.3.1",Te=Symbol.for("react.element"),ve=Symbol.for("react.portal"),Oe=Symbol.for("react.fragment"),d=Symbol.for("react.strict_mode"),X=Symbol.for("react.profiler"),ge=Symbol.for("react.provider"),ae=Symbol.for("react.context"),ct=Symbol.for("react.forward_ref"),q=Symbol.for("react.suspense"),U=Symbol.for("react.suspense_list"),ee=Symbol.for("react.memo"),Fe=Symbol.for("react.lazy"),$t=Symbol.for("react.offscreen"),wt=Symbol.iterator,Dt="@@iterator";function Qe(s){if(s===null||typeof s!="object")return null;var m=wt&&s[wt]||s[Dt];return typeof m=="function"?m:null}var De={current:null},gt={transition:null},_e={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},oe={current:null},Ee={},Ot=null;function Re(s){Ot=s}Ee.setExtraStackFrame=function(s){Ot=s},Ee.getCurrentStack=null,Ee.getStackAddendum=function(){var s="";Ot&&(s+=Ot);var m=Ee.getCurrentStack;return m&&(s+=m()||""),s};var le=!1,Pe=!1,K=!1,Ue=!1,nt=!1,ce={ReactCurrentDispatcher:De,ReactCurrentBatchConfig:gt,ReactCurrentOwner:oe};ce.ReactDebugCurrentFrame=Ee,ce.ReactCurrentActQueue=_e;function I(s){{for(var m=arguments.length,M=new Array(m>1?m-1:0),A=1;A1?m-1:0),A=1;A1){for(var qt=Array(jt),Gt=0;Gt1){for(var lt=Array(Gt),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(ye){m.Provider=ye}},_currentValue:{get:function(){return m._currentValue},set:function(ye){m._currentValue=ye}},_currentValue2:{get:function(){return m._currentValue2},set:function(ye){m._currentValue2=ye}},_threadCount:{get:function(){return m._threadCount},set:function(ye){m._threadCount=ye}},Consumer:{get:function(){return M||(M=!0,W("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(ye){G||(I("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",ye),G=!0)}}}),m.Consumer=ke}return m._currentRenderer=null,m._currentRenderer2=null,m}var g=-1,H=0,w=1,C=2;function E(s){if(s._status===g){var m=s._result,M=m();if(M.then(function(ke){if(s._status===H||s._status===g){var ye=s;ye._status=w,ye._result=ke}},function(ke){if(s._status===H||s._status===g){var ye=s;ye._status=C,ye._result=ke}}),s._status===g){var A=s;A._status=H,A._result=M}}if(s._status===w){var G=s._result;return G===void 0&&W(`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?`,Q),"default"in Q||q(`lazy: Expected the result of a dynamic import() call. Instead received: %s +Did you accidentally put curly braces around the import?`,G),"default"in G||W(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: - const MyComponent = lazy(() => import('./MyComponent'))`,Q),Q.default}else throw s._result}function F(s){var m={_status:E,_result:s},L={$$typeof:Be,_payload:m,_init:X};{var A,Q;Object.defineProperties(L,{defaultProps:{configurable:!0,get:function(){return A},set:function(Ne){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."),A=Ne,Object.defineProperty(L,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return Q},set:function(Ne){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."),Q=Ne,Object.defineProperty(L,"propTypes",{enumerable:!0})}}})}return L}function I(s){s!=null&&s.$$typeof===oe?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:it,render:s};{var L;Object.defineProperty(m,"displayName",{enumerable:!1,configurable:!0,get:function(){return L},set:function(A){L=A,!s.name&&!s.displayName&&(s.displayName=A)}})}return m}var p;p=Symbol.for("react.module.reference");function g(s){return!!(typeof s=="string"||typeof s=="function"||s===Oe||s===Z||ht||s===f||s===W||s===D||le||s===zt||Bt||He||ce||typeof s=="object"&&s!==null&&(s.$$typeof===Be||s.$$typeof===oe||s.$$typeof===Se||s.$$typeof===se||s.$$typeof===it||s.$$typeof===p||s.getModuleId!==void 0))}function P(s,m){g(s)||q("memo: The first argument must be a component. Instead received: %s",s===null?"null":typeof s);var L={$$typeof:oe,type:s,compare:m===void 0?null:m};{var A;Object.defineProperty(L,"displayName",{enumerable:!1,configurable:!0,get:function(){return A},set:function(Q){A=Q,!s.name&&!s.displayName&&(s.displayName=Q)}})}return L}function G(){var s=J.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: + const MyComponent = lazy(() => import('./MyComponent'))`,G),G.default}else throw s._result}function k(s){var m={_status:g,_result:s},M={$$typeof:Fe,_payload:m,_init:E};{var A,G;Object.defineProperties(M,{defaultProps:{configurable:!0,get:function(){return A},set:function(ke){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."),A=ke,Object.defineProperty(M,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return G},set:function(ke){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."),G=ke,Object.defineProperty(M,"propTypes",{enumerable:!0})}}})}return M}function b(s){s!=null&&s.$$typeof===ee?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 m={$$typeof:ct,render:s};{var M;Object.defineProperty(m,"displayName",{enumerable:!1,configurable:!0,get:function(){return M},set:function(A){M=A,!s.name&&!s.displayName&&(s.displayName=A)}})}return m}var f;f=Symbol.for("react.module.reference");function S(s){return!!(typeof s=="string"||typeof s=="function"||s===Oe||s===X||nt||s===d||s===q||s===U||Ue||s===$t||le||Pe||K||typeof s=="object"&&s!==null&&(s.$$typeof===Fe||s.$$typeof===ee||s.$$typeof===ge||s.$$typeof===ae||s.$$typeof===ct||s.$$typeof===f||s.getModuleId!==void 0))}function O(s,m){S(s)||W("memo: The first argument must be a component. Instead received: %s",s===null?"null":typeof s);var M={$$typeof:ee,type:s,compare:m===void 0?null:m};{var A;Object.defineProperty(M,"displayName",{enumerable:!1,configurable:!0,get:function(){return A},set:function(G){A=G,!s.name&&!s.displayName&&(s.displayName=G)}})}return M}function P(){var s=De.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: 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 ee(s){var m=G();if(s._context!==void 0){var L=s._context;L.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?"):L.Provider===s&&q("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return m.useContext(s)}function Ee(s){var m=G();return m.useState(s)}function et(s,m,L){var A=G();return A.useReducer(s,m,L)}function $e(s){var m=G();return m.useRef(s)}function Ct(s,m){var L=G();return L.useEffect(s,m)}function At(s,m){var L=G();return L.useInsertionEffect(s,m)}function st(s,m){var L=G();return L.useLayoutEffect(s,m)}function ct(s,m){var L=G();return L.useCallback(s,m)}function vn(s,m){var L=G();return L.useMemo(s,m)}function un(s,m,L){var A=G();return A.useImperativeHandle(s,m,L)}function bt(s,m){{var L=G();return L.useDebugValue(s,m)}}function Xe(){var s=G();return s.useTransition()}function Ua(s){var m=G();return m.useDeferredValue(s)}function hn(){var s=G();return s.useId()}function _t(s,m,L){var A=G();return A.useSyncExternalStore(s,m,L)}var Jn=0,ga,vr,el,tl,nl,Bu,$u;function Qi(){}Qi.__reactDisabledLog=!0;function al(){{if(Jn===0){ga=console.log,vr=console.info,el=console.warn,tl=console.error,nl=console.group,Bu=console.groupCollapsed,$u=console.groupEnd;var s={configurable:!0,enumerable:!0,value:Qi,writable:!0};Object.defineProperties(console,{info:s,log:s,warn:s,error:s,group:s,groupCollapsed:s,groupEnd:s})}Jn++}}function Ja(){{if(Jn--,Jn===0){var s={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Qt({},s,{value:ga}),info:Qt({},s,{value:vr}),warn:Qt({},s,{value:el}),error:Qt({},s,{value:tl}),group:Qt({},s,{value:nl}),groupCollapsed:Qt({},s,{value:Bu}),groupEnd:Qt({},s,{value:$u})})}Jn<0&&q("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var di=yt.ReactCurrentDispatcher,zr;function Ki(s,m,L){{if(zr===void 0)try{throw Error()}catch(Q){var A=Q.stack.trim().match(/\n( *(at )?)/);zr=A&&A[1]||""}return` -`+zr+s}}var vi=!1,Zi;{var rl=typeof WeakMap=="function"?WeakMap:Map;Zi=new rl}function Yu(s,m){if(!s||vi)return"";{var L=Zi.get(s);if(L!==void 0)return L}var A;vi=!0;var Q=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var Ne;Ne=di.current,di.current=null,al();try{if(m){var Te=function(){throw Error()};if(Object.defineProperty(Te.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Te,[])}catch(yn){A=yn}Reflect.construct(s,[],Te)}else{try{Te.call()}catch(yn){A=yn}s.call(Te.prototype)}}else{try{throw Error()}catch(yn){A=yn}s()}}catch(yn){if(yn&&A&&typeof yn.stack=="string"){for(var Ye=yn.stack.split(` -`),ft=A.stack.split(` -`),jt=Ye.length-1,qt=ft.length-1;jt>=1&&qt>=0&&Ye[jt]!==ft[qt];)qt--;for(;jt>=1&&qt>=0;jt--,qt--)if(Ye[jt]!==ft[qt]){if(jt!==1||qt!==1)do if(jt--,qt--,qt<0||Ye[jt]!==ft[qt]){var Gt=` -`+Ye[jt].replace(" at new "," at ");return s.displayName&&Gt.includes("")&&(Gt=Gt.replace("",s.displayName)),typeof s=="function"&&Zi.set(s,Gt),Gt}while(jt>=1&&qt>=0);break}}}finally{vi=!1,di.current=Ne,Ja(),Error.prepareStackTrace=Q}var at=s?s.displayName||s.name:"",an=at?Ki(at):"";return typeof s=="function"&&Zi.set(s,an),an}function il(s,m,L){return Yu(s,!1)}function af(s){var m=s.prototype;return!!(m&&m.isReactComponent)}function pi(s,m,L){if(s==null)return"";if(typeof s=="function")return Yu(s,af(s));if(typeof s=="string")return Ki(s);switch(s){case W:return Ki("Suspense");case D:return Ki("SuspenseList")}if(typeof s=="object")switch(s.$$typeof){case it:return il(s.render);case oe:return pi(s.type,m,L);case Be:{var A=s,Q=A._payload,Ne=A._init;try{return pi(Ne(Q),m,L)}catch{}}}return""}var Iu={},ol=yt.ReactDebugCurrentFrame;function xt(s){if(s){var m=s._owner,L=pi(s.type,s._source,m?m.type:null);ol.setExtraStackFrame(L)}else ol.setExtraStackFrame(null)}function rf(s,m,L,A,Q){{var Ne=Function.call.bind($t);for(var Te in s)if(Ne(s,Te)){var Ye=void 0;try{if(typeof s[Te]!="function"){var ft=Error((A||"React class")+": "+L+" type `"+Te+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof s[Te]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw ft.name="Invariant Violation",ft}Ye=s[Te](m,Te,A,L,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(jt){Ye=jt}Ye&&!(Ye instanceof Error)&&(xt(Q),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).",A||"React class",L,Te,typeof Ye),xt(null)),Ye instanceof Error&&!(Ye.message in Iu)&&(Iu[Ye.message]=!0,xt(Q),q("Failed %s type: %s",L,Ye.message),xt(null))}}}function pr(s){if(s){var m=s._owner,L=pi(s.type,s._source,m?m.type:null);K(L)}else K(null)}var Ge;Ge=!1;function ll(){if(Me.current){var s=Wt(Me.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 V(s){var m=P();if(s._context!==void 0){var M=s._context;M.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?"):M.Provider===s&&W("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return m.useContext(s)}function re(s){var m=P();return m.useState(s)}function we(s,m,M){var A=P();return A.useReducer(s,m,M)}function me(s){var m=P();return m.useRef(s)}function St(s,m){var M=P();return M.useEffect(s,m)}function Ft(s,m){var M=P();return M.useInsertionEffect(s,m)}function At(s,m){var M=P();return M.useLayoutEffect(s,m)}function Pt(s,m){var M=P();return M.useCallback(s,m)}function Bn(s,m){var M=P();return M.useMemo(s,m)}function en(s,m,M){var A=P();return A.useImperativeHandle(s,m,M)}function qe(s,m){{var M=P();return M.useDebugValue(s,m)}}function ze(){var s=P();return s.useTransition()}function oa(s){var m=P();return m.useDeferredValue(s)}function mr(){var s=P();return s.useId()}function hi(s,m,M){var A=P();return A.useSyncExternalStore(s,m,M)}var $n=0,ya,Pr,yi,cn,Ct,za,wa;function er(){}er.__reactDisabledLog=!0;function il(){{if($n===0){ya=console.log,Pr=console.info,yi=console.warn,cn=console.error,Ct=console.group,za=console.groupCollapsed,wa=console.groupEnd;var s={configurable:!0,enumerable:!0,value:er,writable:!0};Object.defineProperties(console,{info:s,log:s,warn:s,error:s,group:s,groupCollapsed:s,groupEnd:s})}$n++}}function tr(){{if($n--,$n===0){var s={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Ke({},s,{value:ya}),info:Ke({},s,{value:Pr}),warn:Ke({},s,{value:yi}),error:Ke({},s,{value:cn}),group:Ke({},s,{value:Ct}),groupCollapsed:Ke({},s,{value:za}),groupEnd:Ke({},s,{value:wa})})}$n<0&&W("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var gi=ce.ReactCurrentDispatcher,Br;function no(s,m,M){{if(Br===void 0)try{throw Error()}catch(G){var A=G.stack.trim().match(/\n( *(at )?)/);Br=A&&A[1]||""}return` +`+Br+s}}var bi=!1,ao;{var ol=typeof WeakMap=="function"?WeakMap:Map;ao=new ol}function Yu(s,m){if(!s||bi)return"";{var M=ao.get(s);if(M!==void 0)return M}var A;bi=!0;var G=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var ke;ke=gi.current,gi.current=null,il();try{if(m){var ye=function(){throw Error()};if(Object.defineProperty(ye.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ye,[])}catch(vn){A=vn}Reflect.construct(s,[],ye)}else{try{ye.call()}catch(vn){A=vn}s.call(ye.prototype)}}else{try{throw Error()}catch(vn){A=vn}s()}}catch(vn){if(vn&&A&&typeof vn.stack=="string"){for(var Ge=vn.stack.split(` +`),pt=A.stack.split(` +`),jt=Ge.length-1,qt=pt.length-1;jt>=1&&qt>=0&&Ge[jt]!==pt[qt];)qt--;for(;jt>=1&&qt>=0;jt--,qt--)if(Ge[jt]!==pt[qt]){if(jt!==1||qt!==1)do if(jt--,qt--,qt<0||Ge[jt]!==pt[qt]){var Gt=` +`+Ge[jt].replace(" at new "," at ");return s.displayName&&Gt.includes("")&&(Gt=Gt.replace("",s.displayName)),typeof s=="function"&&ao.set(s,Gt),Gt}while(jt>=1&&qt>=0);break}}}finally{bi=!1,gi.current=ke,tr(),Error.prepareStackTrace=G}var lt=s?s.displayName||s.name:"",nn=lt?no(lt):"";return typeof s=="function"&&ao.set(s,nn),nn}function ll(s,m,M){return Yu(s,!1)}function af(s){var m=s.prototype;return!!(m&&m.isReactComponent)}function Si(s,m,M){if(s==null)return"";if(typeof s=="function")return Yu(s,af(s));if(typeof s=="string")return no(s);switch(s){case q:return no("Suspense");case U:return no("SuspenseList")}if(typeof s=="object")switch(s.$$typeof){case ct:return ll(s.render);case ee:return Si(s.type,m,M);case Fe:{var A=s,G=A._payload,ke=A._init;try{return Si(ke(G),m,M)}catch{}}}return""}var Iu={},ul=ce.ReactDebugCurrentFrame;function xt(s){if(s){var m=s._owner,M=Si(s.type,s._source,m?m.type:null);ul.setExtraStackFrame(M)}else ul.setExtraStackFrame(null)}function rf(s,m,M,A,G){{var ke=Function.call.bind(st);for(var ye in s)if(ke(s,ye)){var Ge=void 0;try{if(typeof s[ye]!="function"){var pt=Error((A||"React class")+": "+M+" type `"+ye+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof s[ye]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw pt.name="Invariant Violation",pt}Ge=s[ye](m,ye,A,M,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(jt){Ge=jt}Ge&&!(Ge instanceof Error)&&(xt(G),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).",A||"React class",M,ye,typeof Ge),xt(null)),Ge instanceof Error&&!(Ge.message in Iu)&&(Iu[Ge.message]=!0,xt(G),W("Failed %s type: %s",M,Ge.message),xt(null))}}}function hr(s){if(s){var m=s._owner,M=Si(s.type,s._source,m?m.type:null);Re(M)}else Re(null)}var Ze;Ze=!1;function sl(){if(oe.current){var s=Ve(oe.current.type);if(s)return` -Check the render method of \``+s+"`."}return""}function ea(s){if(s!==void 0){var m=s.fileName.replace(/^.*[\\\/]/,""),L=s.lineNumber;return` +Check the render method of \``+s+"`."}return""}function Qn(s){if(s!==void 0){var m=s.fileName.replace(/^.*[\\\/]/,""),M=s.lineNumber;return` -Check your code at `+m+":"+L+"."}return""}function mi(s){return s!=null?ea(s.__source):""}var Pr={};function of(s){var m=ll();if(!m){var L=typeof s=="string"?s:s.displayName||s.name;L&&(m=` +Check your code at `+m+":"+M+"."}return""}function Ti(s){return s!=null?Qn(s.__source):""}var $r={};function of(s){var m=sl();if(!m){var M=typeof s=="string"?s:s.displayName||s.name;M&&(m=` -Check the top-level render call using <`+L+">.")}return m}function Mn(s,m){if(!(!s._store||s._store.validated||s.key!=null)){s._store.validated=!0;var L=of(m);if(!Pr[L]){Pr[L]=!0;var A="";s&&s._owner&&s._owner!==Me.current&&(A=" It was passed a child from "+Wt(s._owner.type)+"."),pr(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.',L,A),pr(null)}}}function nn(s,m){if(typeof s=="object"){if(ye(s))for(var L=0;L",Q=" Did you accidentally export a JSX literal instead of a component?"):Te=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",Te,Q)}var Ye=Ze.apply(this,arguments);if(Ye==null)return Ye;if(A)for(var ft=2;ft10&&ze("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."),A._updatedFibers.clear()}}}var sl=!1,Ji=null;function uf(s){if(Ji===null)try{var m=("require"+Math.random()).slice(0,7),L=T&&T[m];Ji=L.call(T,"timers").setImmediate}catch{Ji=function(Q){sl===!1&&(sl=!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 Ne=new MessageChannel;Ne.port1.onmessage=Q,Ne.port2.postMessage(void 0)}}return Ji(s)}var Vr=0,hi=!1;function cl(s){{var m=Vr;Vr++,_e.current===null&&(_e.current=[]);var L=_e.isBatchingLegacy,A;try{if(_e.isBatchingLegacy=!0,A=s(),!L&&_e.didScheduleLegacyUpdate){var Q=_e.current;Q!==null&&(_e.didScheduleLegacyUpdate=!1,no(Q))}}catch(at){throw mr(m),at}finally{_e.isBatchingLegacy=L}if(A!==null&&typeof A=="object"&&typeof A.then=="function"){var Ne=A,Te=!1,Ye={then:function(at,an){Te=!0,Ne.then(function(yn){mr(m),Vr===0?eo(yn,at,an):at(yn)},function(yn){mr(m),an(yn)})}};return!hi&&typeof Promise<"u"&&Promise.resolve().then(function(){}).then(function(){Te||(hi=!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 () => ...);"))}),Ye}else{var ft=A;if(mr(m),Vr===0){var jt=_e.current;jt!==null&&(no(jt),_e.current=null);var qt={then:function(at,an){_e.current===null?(_e.current=[],eo(ft,at,an)):at(ft)}};return qt}else{var Gt={then:function(at,an){at(ft)}};return Gt}}}}function mr(s){s!==Vr-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. "),Vr=s}function eo(s,m,L){{var A=_e.current;if(A!==null)try{no(A),uf(function(){A.length===0?(_e.current=null,m(s)):eo(s,m,L)})}catch(Q){L(Q)}else m(s)}}var to=!1;function no(s){if(!to){to=!0;var m=0;try{for(;m.")}return m}function Dn(s,m){if(!(!s._store||s._store.validated||s.key!=null)){s._store.validated=!0;var M=of(m);if(!$r[M]){$r[M]=!0;var A="";s&&s._owner&&s._owner!==oe.current&&(A=" It was passed a child from "+Ve(s._owner.type)+"."),hr(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.',M,A),hr(null)}}}function tn(s,m){if(typeof s=="object"){if(F(s))for(var M=0;M",G=" Did you accidentally export a JSX literal instead of a component?"):ye=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",ye,G)}var Ge=tt.apply(this,arguments);if(Ge==null)return Ge;if(A)for(var pt=2;pt10&&I("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."),A._updatedFibers.clear()}}}var fl=!1,ro=null;function uf(s){if(ro===null)try{var m=("require"+Math.random()).slice(0,7),M=T&&T[m];ro=M.call(T,"timers").setImmediate}catch{ro=function(G){fl===!1&&(fl=!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 ke=new MessageChannel;ke.port1.onmessage=G,ke.port2.postMessage(void 0)}}return ro(s)}var Yr=0,Ei=!1;function dl(s){{var m=Yr;Yr++,_e.current===null&&(_e.current=[]);var M=_e.isBatchingLegacy,A;try{if(_e.isBatchingLegacy=!0,A=s(),!M&&_e.didScheduleLegacyUpdate){var G=_e.current;G!==null&&(_e.didScheduleLegacyUpdate=!1,lo(G))}}catch(lt){throw yr(m),lt}finally{_e.isBatchingLegacy=M}if(A!==null&&typeof A=="object"&&typeof A.then=="function"){var ke=A,ye=!1,Ge={then:function(lt,nn){ye=!0,ke.then(function(vn){yr(m),Yr===0?io(vn,lt,nn):lt(vn)},function(vn){yr(m),nn(vn)})}};return!Ei&&typeof Promise<"u"&&Promise.resolve().then(function(){}).then(function(){ye||(Ei=!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 () => ...);"))}),Ge}else{var pt=A;if(yr(m),Yr===0){var jt=_e.current;jt!==null&&(lo(jt),_e.current=null);var qt={then:function(lt,nn){_e.current===null?(_e.current=[],io(pt,lt,nn)):lt(pt)}};return qt}else{var Gt={then:function(lt,nn){lt(pt)}};return Gt}}}}function yr(s){s!==Yr-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. "),Yr=s}function io(s,m,M){{var A=_e.current;if(A!==null)try{lo(A),uf(function(){A.length===0?(_e.current=null,m(s)):io(s,m,M)})}catch(G){M(G)}else m(s)}}var oo=!1;function lo(s){if(!oo){oo=!0;var m=0;try{for(;m.")}return m}function Mn(s,m){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 T=Zc(),M=Symbol.for("react.element"),he=Symbol.for("react.portal"),xe=Symbol.for("react.fragment"),pe=Symbol.for("react.strict_mode"),Oe=Symbol.for("react.profiler"),f=Symbol.for("react.provider"),Z=Symbol.for("react.context"),Se=Symbol.for("react.forward_ref"),se=Symbol.for("react.suspense"),it=Symbol.for("react.suspense_list"),W=Symbol.for("react.memo"),D=Symbol.for("react.lazy"),oe=Symbol.for("react.offscreen"),Be=Symbol.iterator,zt="@@iterator";function Et(p){if(p===null||typeof p!="object")return null;var g=Be&&p[Be]||p[zt];return typeof g=="function"?g:null}var kt=T.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function We(p){{for(var g=arguments.length,P=new Array(g>1?g-1:0),G=1;G=1&&st>=0&&$e[At]!==Ct[st];)st--;for(;At>=1&&st>=0;At--,st--)if($e[At]!==Ct[st]){if(At!==1||st!==1)do if(At--,st--,st<0||$e[At]!==Ct[st]){var ct=` -`+$e[At].replace(" at new "," at ");return p.displayName&&ct.includes("")&&(ct=ct.replace("",p.displayName)),typeof p=="function"&&mn.set(p,ct),ct}while(At>=1&&st>=0);break}}}finally{on=!1,lt.current=Ee,Ot(),Error.prepareStackTrace=ee}var vn=p?p.displayName||p.name:"",un=vn?Yn(vn):"";return typeof p=="function"&&mn.set(p,un),un}function ye(p,g,P){return te(p,!1)}function Re(p){var g=p.prototype;return!!(g&&g.isReactComponent)}function ge(p,g,P){if(p==null)return"";if(typeof p=="function")return te(p,Re(p));if(typeof p=="string")return Yn(p);switch(p){case se:return Yn("Suspense");case it:return Yn("SuspenseList")}if(typeof p=="object")switch(p.$$typeof){case Se:return ye(p.render);case W:return ge(p.type,g,P);case D:{var G=p,ee=G._payload,Ee=G._init;try{return ge(Ee(ee),g,P)}catch{}}}return""}var qe=Object.prototype.hasOwnProperty,ut={},Je=kt.ReactDebugCurrentFrame;function Ke(p){if(p){var g=p._owner,P=ge(p.type,p._source,g?g.type:null);Je.setExtraStackFrame(P)}else Je.setExtraStackFrame(null)}function Wt(p,g,P,G,ee){{var Ee=Function.call.bind(qe);for(var et in p)if(Ee(p,et)){var $e=void 0;try{if(typeof p[et]!="function"){var Ct=Error((G||"React class")+": "+P+" type `"+et+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof p[et]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Ct.name="Invariant Violation",Ct}$e=p[et](g,et,G,P,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(At){$e=At}$e&&!($e instanceof Error)&&(Ke(ee),We("%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).",G||"React class",P,et,typeof $e),Ke(null)),$e instanceof Error&&!($e.message in ut)&&(ut[$e.message]=!0,Ke(ee),We("Failed %s type: %s",P,$e.message),Ke(null))}}}var $t=Array.isArray;function tn(p){return $t(p)}function gt(p){{var g=typeof Symbol=="function"&&Symbol.toStringTag,P=g&&p[Symbol.toStringTag]||p.constructor.name||"Object";return P}}function fn(p){try{return Zt(p),!1}catch{return!0}}function Zt(p){return""+p}function dn(p){if(fn(p))return We("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",gt(p)),Zt(p)}var Zn=kt.ReactCurrentOwner,sa={key:!0,ref:!0,__self:!0,__source:!0},Na,ie;function De(p){if(qe.call(p,"ref")){var g=Object.getOwnPropertyDescriptor(p,"ref").get;if(g&&g.isReactWarning)return!1}return p.ref!==void 0}function Ze(p){if(qe.call(p,"key")){var g=Object.getOwnPropertyDescriptor(p,"key").get;if(g&&g.isReactWarning)return!1}return p.key!==void 0}function Rt(p,g){typeof p.ref=="string"&&Zn.current}function Yt(p,g){{var P=function(){Na||(Na=!0,We("%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)",g))};P.isReactWarning=!0,Object.defineProperty(p,"key",{get:P,configurable:!0})}}function Jt(p,g){{var P=function(){ie||(ie=!0,We("%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)",g))};P.isReactWarning=!0,Object.defineProperty(p,"ref",{get:P,configurable:!0})}}var Dt=function(p,g,P,G,ee,Ee,et){var $e={$$typeof:M,type:p,key:g,ref:P,props:et,_owner:Ee};return $e._store={},Object.defineProperty($e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty($e,"_self",{configurable:!1,enumerable:!1,writable:!1,value:G}),Object.defineProperty($e,"_source",{configurable:!1,enumerable:!1,writable:!1,value:ee}),Object.freeze&&(Object.freeze($e.props),Object.freeze($e)),$e};function _n(p,g,P,G,ee){{var Ee,et={},$e=null,Ct=null;P!==void 0&&(dn(P),$e=""+P),Ze(g)&&(dn(g.key),$e=""+g.key),De(g)&&(Ct=g.ref,Rt(g,ee));for(Ee in g)qe.call(g,Ee)&&!sa.hasOwnProperty(Ee)&&(et[Ee]=g[Ee]);if(p&&p.defaultProps){var At=p.defaultProps;for(Ee in At)et[Ee]===void 0&&(et[Ee]=At[Ee])}if($e||Ct){var st=typeof p=="function"?p.displayName||p.name||"Unknown":p;$e&&Yt(et,st),Ct&&Jt(et,st)}return Dt(p,$e,Ct,ee,G,Zn.current,et)}}var Pt=kt.ReactCurrentOwner,Vt=kt.ReactDebugCurrentFrame;function Ft(p){if(p){var g=p._owner,P=ge(p.type,p._source,g?g.type:null);Vt.setExtraStackFrame(P)}else Vt.setExtraStackFrame(null)}var Za;Za=!1;function ha(p){return typeof p=="object"&&p!==null&&p.$$typeof===M}function In(){{if(Pt.current){var p=le(Pt.current.type);if(p)return` + */return function(){var T=Zc(),D=Symbol.for("react.element"),pe=Symbol.for("react.portal"),Te=Symbol.for("react.fragment"),ve=Symbol.for("react.strict_mode"),Oe=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),X=Symbol.for("react.context"),ge=Symbol.for("react.forward_ref"),ae=Symbol.for("react.suspense"),ct=Symbol.for("react.suspense_list"),q=Symbol.for("react.memo"),U=Symbol.for("react.lazy"),ee=Symbol.for("react.offscreen"),Fe=Symbol.iterator,$t="@@iterator";function wt(f){if(f===null||typeof f!="object")return null;var S=Fe&&f[Fe]||f[$t];return typeof S=="function"?S:null}var Dt=T.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function Qe(f){{for(var S=arguments.length,O=new Array(S>1?S-1:0),P=1;P=1&&At>=0&&me[Ft]!==St[At];)At--;for(;Ft>=1&&At>=0;Ft--,At--)if(me[Ft]!==St[At]){if(Ft!==1||At!==1)do if(Ft--,At--,At<0||me[Ft]!==St[At]){var Pt=` +`+me[Ft].replace(" at new "," at ");return f.displayName&&Pt.includes("")&&(Pt=Pt.replace("",f.displayName)),typeof f=="function"&&Qt.set(f,Pt),Pt}while(Ft>=1&&At>=0);break}}}finally{et=!1,at.current=re,dn(),Error.prepareStackTrace=V}var Bn=f?f.displayName||f.name:"",en=Bn?bt(Bn):"";return typeof f=="function"&&Qt.set(f,en),en}function F(f,S,O){return ln(f,!1)}function Q(f){var S=f.prototype;return!!(S&&S.isReactComponent)}function Se(f,S,O){if(f==null)return"";if(typeof f=="function")return ln(f,Q(f));if(typeof f=="string")return bt(f);switch(f){case ae:return bt("Suspense");case ct:return bt("SuspenseList")}if(typeof f=="object")switch(f.$$typeof){case ge:return F(f.render);case q:return Se(f.type,S,O);case U:{var P=f,V=P._payload,re=P._init;try{return Se(re(V),S,O)}catch{}}}return""}var be=Object.prototype.hasOwnProperty,Ne={},rt=Dt.ReactDebugCurrentFrame;function dt(f){if(f){var S=f._owner,O=Se(f.type,f._source,S?S.type:null);rt.setExtraStackFrame(O)}else rt.setExtraStackFrame(null)}function Ve(f,S,O,P,V){{var re=Function.call.bind(be);for(var we in f)if(re(f,we)){var me=void 0;try{if(typeof f[we]!="function"){var St=Error((P||"React class")+": "+O+" type `"+we+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof f[we]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw St.name="Invariant Violation",St}me=f[we](S,we,P,O,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(Ft){me=Ft}me&&!(me instanceof Error)&&(dt(V),Qe("%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).",P||"React class",O,we,typeof me),dt(null)),me instanceof Error&&!(me.message in Ne)&&(Ne[me.message]=!0,dt(V),Qe("Failed %s type: %s",O,me.message),dt(null))}}}var st=Array.isArray;function ot(f){return st(f)}function an(f){{var S=typeof Symbol=="function"&&Symbol.toStringTag,O=S&&f[Symbol.toStringTag]||f.constructor.name||"Object";return O}}function hn(f){try{return Nt(f),!1}catch{return!0}}function Nt(f){return""+f}function kt(f){if(hn(f))return Qe("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",an(f)),Nt(f)}var Rn=Dt.ReactCurrentOwner,ia={key:!0,ref:!0,__self:!0,__source:!0},va,Z;function Ce(f){if(be.call(f,"ref")){var S=Object.getOwnPropertyDescriptor(f,"ref").get;if(S&&S.isReactWarning)return!1}return f.ref!==void 0}function tt(f){if(be.call(f,"key")){var S=Object.getOwnPropertyDescriptor(f,"key").get;if(S&&S.isReactWarning)return!1}return f.key!==void 0}function _t(f,S){typeof f.ref=="string"&&Rn.current}function Yt(f,S){{var O=function(){va||(va=!0,Qe("%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)",S))};O.isReactWarning=!0,Object.defineProperty(f,"key",{get:O,configurable:!0})}}function Kt(f,S){{var O=function(){Z||(Z=!0,Qe("%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)",S))};O.isReactWarning=!0,Object.defineProperty(f,"ref",{get:O,configurable:!0})}}var Zt=function(f,S,O,P,V,re,we){var me={$$typeof:D,type:f,key:S,ref:O,props:we,_owner:re};return me._store={},Object.defineProperty(me._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(me,"_self",{configurable:!1,enumerable:!1,writable:!1,value:P}),Object.defineProperty(me,"_source",{configurable:!1,enumerable:!1,writable:!1,value:V}),Object.freeze&&(Object.freeze(me.props),Object.freeze(me)),me};function wn(f,S,O,P,V){{var re,we={},me=null,St=null;O!==void 0&&(kt(O),me=""+O),tt(S)&&(kt(S.key),me=""+S.key),Ce(S)&&(St=S.ref,_t(S,V));for(re in S)be.call(S,re)&&!ia.hasOwnProperty(re)&&(we[re]=S[re]);if(f&&f.defaultProps){var Ft=f.defaultProps;for(re in Ft)we[re]===void 0&&(we[re]=Ft[re])}if(me||St){var At=typeof f=="function"?f.displayName||f.name||"Unknown":f;me&&Yt(we,At),St&&Kt(we,At)}return Zt(f,me,St,V,P,Rn.current,we)}}var Wt=Dt.ReactCurrentOwner,vt=Dt.ReactDebugCurrentFrame;function Bt(f){if(f){var S=f._owner,O=Se(f.type,f._source,S?S.type:null);vt.setExtraStackFrame(O)}else vt.setExtraStackFrame(null)}var pa;pa=!1;function ma(f){return typeof f=="object"&&f!==null&&f.$$typeof===D}function ha(){{if(Wt.current){var f=Ue(Wt.current.type);if(f)return` -Check the render method of \``+p+"`."}return""}}function ya(p){return""}var Ur={};function Hr(p){{var g=In();if(!g){var P=typeof p=="string"?p:p.displayName||p.name;P&&(g=` +Check the render method of \``+f+"`."}return""}}function Ja(f){return""}var Hr={};function Ua(f){{var S=ha();if(!S){var O=typeof f=="string"?f:f.displayName||f.name;O&&(S=` -Check the top-level render call using <`+P+">.")}return g}}function S(p,g){{if(!p._store||p._store.validated||p.key!=null)return;p._store.validated=!0;var P=Hr(g);if(Ur[P])return;Ur[P]=!0;var G="";p&&p._owner&&p._owner!==Pt.current&&(G=" It was passed a child from "+le(p._owner.type)+"."),Ft(p),We('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',P,G),Ft(null)}}function U(p,g){{if(typeof p!="object")return;if(tn(p))for(var P=0;P",$e=" Did you accidentally export a JSX literal instead of a component?"):At=typeof p,We("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",At,$e)}var st=_n(p,g,P,ee,Ee);if(st==null)return st;if(et){var ct=g.children;if(ct!==void 0)if(G)if(tn(ct)){for(var vn=0;vn0?"{key: someKey, "+bt.join(": ..., ")+": ...}":"{key: someKey}";if(!b[un+Xe]){var Ua=bt.length>0?"{"+bt.join(": ..., ")+": ...}":"{}";We(`A props object containing a "key" prop is being spread into JSX: +Check the top-level render call using <`+O+">.")}return S}}function Ra(f,S){{if(!f._store||f._store.validated||f.key!=null)return;f._store.validated=!0;var O=Ua(S);if(Hr[O])return;Hr[O]=!0;var P="";f&&f._owner&&f._owner!==Wt.current&&(P=" It was passed a child from "+Ue(f._owner.type)+"."),Bt(f),Qe('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',O,P),Bt(null)}}function Vr(f,S){{if(typeof f!="object")return;if(ot(f))for(var O=0;O",me=" Did you accidentally export a JSX literal instead of a component?"):Ft=typeof f,Qe("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Ft,me)}var At=wn(f,S,O,V,re);if(At==null)return At;if(we){var Pt=S.children;if(Pt!==void 0)if(P)if(ot(Pt)){for(var Bn=0;Bn0?"{key: someKey, "+qe.join(": ..., ")+": ...}":"{key: someKey}";if(!H[en+ze]){var oa=qe.length>0?"{"+qe.join(": ..., ")+": ...}":"{}";Qe(`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} />`,Xe,un,Ua,un),b[un+Xe]=!0}}return p===xe?E(st):C(st),st}}function x(p,g,P){return O(p,g,P,!0)}function X(p,g,P){return O(p,g,P,!1)}var F=X,I=x;Jo.Fragment=xe,Jo.jsx=F,Jo.jsxs=I}(),Jo}dm.exports=P0();var v=dm.exports,hm={exports:{}},Jc={exports:{}},ef={},ym;function V0(){return ym||(ym=1,function(T){/** + <%s key={someKey} {...props} />`,ze,en,oa,en),H[en+ze]=!0}}return f===Te?g(At):Fr(At),At}}function C(f,S,O){return w(f,S,O,!0)}function E(f,S,O){return w(f,S,O,!1)}var k=E,b=C;rl.Fragment=Te,rl.jsx=k,rl.jsxs=b}(),rl}dm.exports=VS();var p=dm.exports,hm={exports:{}},Jc={exports:{}},ef={},ym;function FS(){return ym||(ym=1,function(T){/** * @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 M=!1,he=5;function xe(ie,De){var Ze=ie.length;ie.push(De),f(ie,De,Ze)}function pe(ie){return ie.length===0?null:ie[0]}function Oe(ie){if(ie.length===0)return null;var De=ie[0],Ze=ie.pop();return Ze!==De&&(ie[0]=Ze,Z(ie,Ze,0)),De}function f(ie,De,Ze){for(var Rt=Ze;Rt>0;){var Yt=Rt-1>>>1,Jt=ie[Yt];if(Se(Jt,De)>0)ie[Yt]=De,ie[Rt]=Jt,Rt=Yt;else return}}function Z(ie,De,Ze){for(var Rt=Ze,Yt=ie.length,Jt=Yt>>>1;RtZe&&(!ie||Je()));){var Rt=ce.callback;if(typeof Rt=="function"){ce.callback=null,le=ce.priorityLevel;var Yt=ce.expirationTime<=Ze,Jt=Rt(Yt);Ze=T.unstable_now(),typeof Jt=="function"?ce.callback=Jt:ce===pe(K)&&Oe(K),Le(Ze)}else Oe(K);ce=pe(K)}if(ce!==null)return!0;var Dt=pe(Bt);return Dt!==null&&dn(Qe,Dt.startTime-Ze),!1}function Kt(ie,De){switch(ie){case se:case it:case W:case D:case oe:break;default:ie=W}var Ze=le;le=ie;try{return De()}finally{le=Ze}}function Ot(ie){var De;switch(le){case se:case it:case W:De=W;break;default:De=le;break}var Ze=le;le=De;try{return ie()}finally{le=Ze}}function lt(ie){var De=le;return function(){var Ze=le;le=De;try{return ie.apply(this,arguments)}finally{le=Ze}}}function rn(ie,De,Ze){var Rt=T.unstable_now(),Yt;if(typeof Ze=="object"&&Ze!==null){var Jt=Ze.delay;typeof Jt=="number"&&Jt>0?Yt=Rt+Jt:Yt=Rt}else Yt=Rt;var Dt;switch(ie){case se:Dt=mt;break;case it:Dt=_e;break;case oe:Dt=nt;break;case D:Dt=V;break;case W:default:Dt=Me;break}var _n=Yt+Dt,Pt={id:He++,callback:De,priorityLevel:ie,startTime:Yt,expirationTime:_n,sortIndex:-1};return Yt>Rt?(Pt.sortIndex=Yt,xe(Bt,Pt),pe(K)===null&&Pt===pe(Bt)&&(ze?Zn():ze=!0,dn(Qe,Yt-Rt))):(Pt.sortIndex=_n,xe(K,Pt),!yt&&!ht&&(yt=!0,Zt(Qt))),Pt}function Yn(){}function on(){!yt&&!ht&&(yt=!0,Zt(Qt))}function mn(){return pe(K)}function H(ie){ie.callback=null}function te(){return le}var ye=!1,Re=null,ge=-1,qe=he,ut=-1;function Je(){var ie=T.unstable_now()-ut;return!(ie125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");return}ie>0?qe=Math.floor(1e3/ie):qe=he}var $t=function(){if(Re!==null){var ie=T.unstable_now();ut=ie;var De=!0,Ze=!0;try{Ze=Re(De,ie)}finally{Ze?tn():(ye=!1,Re=null)}}else ye=!1},tn;if(typeof we=="function")tn=function(){we($t)};else if(typeof MessageChannel<"u"){var gt=new MessageChannel,fn=gt.port2;gt.port1.onmessage=$t,tn=function(){fn.postMessage(null)}}else tn=function(){q($t,0)};function Zt(ie){Re=ie,ye||(ye=!0,tn())}function dn(ie,De){ge=q(function(){ie(T.unstable_now())},De)}function Zn(){Ae(ge),ge=-1}var sa=Ke,Na=null;T.unstable_IdlePriority=oe,T.unstable_ImmediatePriority=se,T.unstable_LowPriority=D,T.unstable_NormalPriority=W,T.unstable_Profiling=Na,T.unstable_UserBlockingPriority=it,T.unstable_cancelCallback=H,T.unstable_continueExecution=on,T.unstable_forceFrameRate=Wt,T.unstable_getCurrentPriorityLevel=te,T.unstable_getFirstCallbackNode=mn,T.unstable_next=Ot,T.unstable_pauseExecution=Yn,T.unstable_requestPaint=sa,T.unstable_runWithPriority=Kt,T.unstable_scheduleCallback=rn,T.unstable_shouldYield=Je,T.unstable_wrapCallback=lt,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=V0()),Jc.exports}var ua={},bm;function B0(){if(bm)return ua;bm=1;/** + */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var D=!1,pe=5;function Te(Z,Ce){var tt=Z.length;Z.push(Ce),d(Z,Ce,tt)}function ve(Z){return Z.length===0?null:Z[0]}function Oe(Z){if(Z.length===0)return null;var Ce=Z[0],tt=Z.pop();return tt!==Ce&&(Z[0]=tt,X(Z,tt,0)),Ce}function d(Z,Ce,tt){for(var _t=tt;_t>0;){var Yt=_t-1>>>1,Kt=Z[Yt];if(ge(Kt,Ce)>0)Z[Yt]=Ce,Z[_t]=Kt,_t=Yt;else return}}function X(Z,Ce,tt){for(var _t=tt,Yt=Z.length,Kt=Yt>>>1;_ttt&&(!Z||rt()));){var _t=K.callback;if(typeof _t=="function"){K.callback=null,Ue=K.priorityLevel;var Yt=K.expirationTime<=tt,Kt=_t(Yt);tt=T.unstable_now(),typeof Kt=="function"?K.callback=Kt:K===ve(Re)&&Oe(Re),Je(tt)}else Oe(Re);K=ve(Re)}if(K!==null)return!0;var Zt=ve(le);return Zt!==null&&kt(ft,Zt.startTime-tt),!1}function Ae(Z,Ce){switch(Z){case ae:case ct:case q:case U:case ee:break;default:Z=q}var tt=Ue;Ue=Z;try{return Ce()}finally{Ue=tt}}function dn(Z){var Ce;switch(Ue){case ae:case ct:case q:Ce=q;break;default:Ce=Ue;break}var tt=Ue;Ue=Ce;try{return Z()}finally{Ue=tt}}function at(Z){var Ce=Ue;return function(){var tt=Ue;Ue=Ce;try{return Z.apply(this,arguments)}finally{Ue=tt}}}function Vt(Z,Ce,tt){var _t=T.unstable_now(),Yt;if(typeof tt=="object"&&tt!==null){var Kt=tt.delay;typeof Kt=="number"&&Kt>0?Yt=_t+Kt:Yt=_t}else Yt=_t;var Zt;switch(Z){case ae:Zt=gt;break;case ct:Zt=_e;break;case ee:Zt=Ot;break;case U:Zt=Ee;break;case q:default:Zt=oe;break}var wn=Yt+Zt,Wt={id:Pe++,callback:Ce,priorityLevel:Z,startTime:Yt,expirationTime:wn,sortIndex:-1};return Yt>_t?(Wt.sortIndex=Yt,Te(le,Wt),ve(Re)===null&&Wt===ve(le)&&(I?Rn():I=!0,kt(ft,Yt-_t))):(Wt.sortIndex=wn,Te(Re,Wt),!ce&&!nt&&(ce=!0,Nt(Ke))),Wt}function bt(){}function et(){!ce&&!nt&&(ce=!0,Nt(Ke))}function Qt(){return ve(Re)}function on(Z){Z.callback=null}function ln(){return Ue}var F=!1,Q=null,Se=-1,be=pe,Ne=-1;function rt(){var Z=T.unstable_now()-Ne;return!(Z125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");return}Z>0?be=Math.floor(1e3/Z):be=pe}var st=function(){if(Q!==null){var Z=T.unstable_now();Ne=Z;var Ce=!0,tt=!0;try{tt=Q(Ce,Z)}finally{tt?ot():(F=!1,Q=null)}}else F=!1},ot;if(typeof We=="function")ot=function(){We(st)};else if(typeof MessageChannel<"u"){var an=new MessageChannel,hn=an.port2;an.port1.onmessage=st,ot=function(){hn.postMessage(null)}}else ot=function(){W(st,0)};function Nt(Z){Q=Z,F||(F=!0,ot())}function kt(Z,Ce){Se=W(function(){Z(T.unstable_now())},Ce)}function Rn(){Ie(Se),Se=-1}var ia=dt,va=null;T.unstable_IdlePriority=ee,T.unstable_ImmediatePriority=ae,T.unstable_LowPriority=U,T.unstable_NormalPriority=q,T.unstable_Profiling=va,T.unstable_UserBlockingPriority=ct,T.unstable_cancelCallback=on,T.unstable_continueExecution=et,T.unstable_forceFrameRate=Ve,T.unstable_getCurrentPriorityLevel=ln,T.unstable_getFirstCallbackNode=Qt,T.unstable_next=dn,T.unstable_pauseExecution=bt,T.unstable_requestPaint=ia,T.unstable_runWithPriority=Ae,T.unstable_scheduleCallback=Vt,T.unstable_shouldYield=rt,T.unstable_wrapCallback=at,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 PS(){return gm||(gm=1,Jc.exports=FS()),Jc.exports}var ra={},bm;function BS(){if(bm)return ra;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 T=Zc(),M=F0(),he=T.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,xe=!1;function pe(e){xe=e}function Oe(e){if(!xe){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 Dt(e,t,n,a){if(n!==null&&n.type===tn)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 _n(e,t,n,a){if(t===null||typeof t>"u"||Dt(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case Zt:return!t;case dn:return t===!1;case Zn:return isNaN(t);case sa:return isNaN(t)||t<1}return!1}function Pt(e){return Ft.hasOwnProperty(e)?Ft[e]:null}function Vt(e,t,n,a,r,i,o){this.acceptsBooleans=t===fn||t===Zt||t===dn,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var Ft={},Za=["children","dangerouslySetInnerHTML","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style"];Za.forEach(function(e){Ft[e]=new Vt(e,tn,!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 Vt(t,gt,!1,n,null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ft[e]=new Vt(e,fn,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ft[e]=new Vt(e,fn,!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 Vt(e,Zt,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Ft[e]=new Vt(e,Zt,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Ft[e]=new Vt(e,dn,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Ft[e]=new Vt(e,sa,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Ft[e]=new Vt(e,Zn,!1,e.toLowerCase(),null,!1,!1)});var ha=/[\-\:]([a-z])/g,In=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(ha,In);Ft[t]=new Vt(t,gt,!1,e,null,!1,!1)}),["xlink:actuate","xlink:arcrole","xlink:role","xlink:show","xlink:title","xlink:type"].forEach(function(e){var t=e.replace(ha,In);Ft[t]=new Vt(t,gt,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ha,In);Ft[t]=new Vt(t,gt,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Ft[e]=new Vt(e,gt,!1,e.toLowerCase(),null,!1,!1)});var ya="xlinkHref";Ft[ya]=new Vt("xlinkHref",gt,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Ft[e]=new Vt(e,gt,!1,e.toLowerCase(),null,!0,!0)});var Ur=/^[\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,Hr=!1;function S(e){!Hr&&Ur.test(e)&&(Hr=!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 U(e,t,n,a){if(a.mustUseProperty){var r=a.propertyName;return e[r]}else{qe(n,t),a.sanitizeURL&&S(""+n);var i=a.attributeName,o=null;if(a.type===dn){if(e.hasAttribute(i)){var l=e.getAttribute(i);return l===""?!0:_n(t,n,a,!1)?l:l===""+n?n:l}}else if(e.hasAttribute(i)){if(_n(t,n,a,!1))return e.getAttribute(i);if(a.type===Zt)return n;o=e.getAttribute(i)}return _n(t,n,a,!1)?o===null?n:o:o===""+n?n:o}}function C(e,t,n,a){{if(!Yt(t))return;if(!e.hasAttribute(t))return n===void 0?void 0:null;var r=e.getAttribute(t);return qe(n,t),r===""+n?n:r}}function E(e,t,n,a){var r=Pt(t);if(!Jt(t,r,a)){if(_n(t,n,r,a)&&(n=null),a||r===null){if(Yt(t)){var i=t;n===null?e.removeAttribute(i):(qe(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===Zt?!1:""}else e[l]=n;return}var c=r.attributeName,d=r.attributeNamespace;if(n===null)e.removeAttribute(c);else{var y=r.type,h;y===Zt||y===dn&&n===!0?h="":(qe(n,c),h=""+n,r.sanitizeURL&&S(h.toString())),d?e.setAttributeNS(d,c,h):e.setAttribute(c,h)}}}var b=Symbol.for("react.element"),O=Symbol.for("react.portal"),x=Symbol.for("react.fragment"),X=Symbol.for("react.strict_mode"),F=Symbol.for("react.profiler"),I=Symbol.for("react.provider"),p=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),P=Symbol.for("react.suspense"),G=Symbol.for("react.suspense_list"),ee=Symbol.for("react.memo"),Ee=Symbol.for("react.lazy"),et=Symbol.for("react.scope"),$e=Symbol.for("react.debug_trace_mode"),Ct=Symbol.for("react.offscreen"),At=Symbol.for("react.legacy_hidden"),st=Symbol.for("react.cache"),ct=Symbol.for("react.tracing_marker"),vn=Symbol.iterator,un="@@iterator";function bt(e){if(e===null||typeof e!="object")return null;var t=vn&&e[vn]||e[un];return typeof t=="function"?t:null}var Xe=Object.assign,Ua=0,hn,_t,Jn,ga,vr,el,tl;function nl(){}nl.__reactDisabledLog=!0;function Bu(){{if(Ua===0){hn=console.log,_t=console.info,Jn=console.warn,ga=console.error,vr=console.group,el=console.groupCollapsed,tl=console.groupEnd;var e={configurable:!0,enumerable:!0,value:nl,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}Ua++}}function $u(){{if(Ua--,Ua===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Xe({},e,{value:hn}),info:Xe({},e,{value:_t}),warn:Xe({},e,{value:Jn}),error:Xe({},e,{value:ga}),group:Xe({},e,{value:vr}),groupCollapsed:Xe({},e,{value:el}),groupEnd:Xe({},e,{value:tl})})}Ua<0&&f("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Qi=he.ReactCurrentDispatcher,al;function Ja(e,t,n){{if(al===void 0)try{throw Error()}catch(r){var a=r.stack.trim().match(/\n( *(at )?)/);al=a&&a[1]||""}return` -`+al+e}}var di=!1,zr;{var Ki=typeof WeakMap=="function"?WeakMap:Map;zr=new Ki}function vi(e,t){if(!e||di)return"";{var n=zr.get(e);if(n!==void 0)return n}var a;di=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var i;i=Qi.current,Qi.current=null,Bu();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(` + */return function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var T=Zc(),D=PS(),pe=T.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Te=!1;function ve(e){Te=e}function Oe(e){if(!Te){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 Zt(e,t,n,a){if(n!==null&&n.type===ot)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 wn(e,t,n,a){if(t===null||typeof t>"u"||Zt(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case Nt:return!t;case kt:return t===!1;case Rn:return isNaN(t);case ia:return isNaN(t)||t<1}return!1}function Wt(e){return Bt.hasOwnProperty(e)?Bt[e]:null}function vt(e,t,n,a,r,i,o){this.acceptsBooleans=t===hn||t===Nt||t===kt,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var Bt={},pa=["children","dangerouslySetInnerHTML","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style"];pa.forEach(function(e){Bt[e]=new vt(e,ot,!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];Bt[t]=new vt(t,an,!1,n,null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Bt[e]=new vt(e,hn,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Bt[e]=new vt(e,hn,!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){Bt[e]=new vt(e,Nt,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Bt[e]=new vt(e,Nt,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Bt[e]=new vt(e,kt,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Bt[e]=new vt(e,ia,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Bt[e]=new vt(e,Rn,!1,e.toLowerCase(),null,!1,!1)});var ma=/[\-\:]([a-z])/g,ha=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(ma,ha);Bt[t]=new vt(t,an,!1,e,null,!1,!1)}),["xlink:actuate","xlink:arcrole","xlink:role","xlink:show","xlink:title","xlink:type"].forEach(function(e){var t=e.replace(ma,ha);Bt[t]=new vt(t,an,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ma,ha);Bt[t]=new vt(t,an,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Bt[e]=new vt(e,an,!1,e.toLowerCase(),null,!1,!1)});var Ja="xlinkHref";Bt[Ja]=new vt("xlinkHref",an,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Bt[e]=new vt(e,an,!1,e.toLowerCase(),null,!0,!0)});var Hr=/^[\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,Ua=!1;function Ra(e){!Ua&&Hr.test(e)&&(Ua=!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 Vr(e,t,n,a){if(a.mustUseProperty){var r=a.propertyName;return e[r]}else{be(n,t),a.sanitizeURL&&Ra(""+n);var i=a.attributeName,o=null;if(a.type===kt){if(e.hasAttribute(i)){var l=e.getAttribute(i);return l===""?!0:wn(t,n,a,!1)?l:l===""+n?n:l}}else if(e.hasAttribute(i)){if(wn(t,n,a,!1))return e.getAttribute(i);if(a.type===Nt)return n;o=e.getAttribute(i)}return wn(t,n,a,!1)?o===null?n:o:o===""+n?n:o}}function Fr(e,t,n,a){{if(!Yt(t))return;if(!e.hasAttribute(t))return n===void 0?void 0:null;var r=e.getAttribute(t);return be(n,t),r===""+n?n:r}}function g(e,t,n,a){var r=Wt(t);if(!Kt(t,r,a)){if(wn(t,n,r,a)&&(n=null),a||r===null){if(Yt(t)){var i=t;n===null?e.removeAttribute(i):(be(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===Nt?!1:""}else e[l]=n;return}var c=r.attributeName,v=r.attributeNamespace;if(n===null)e.removeAttribute(c);else{var y=r.type,h;y===Nt||y===kt&&n===!0?h="":(be(n,c),h=""+n,r.sanitizeURL&&Ra(h.toString())),v?e.setAttributeNS(v,c,h):e.setAttribute(c,h)}}}var H=Symbol.for("react.element"),w=Symbol.for("react.portal"),C=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),b=Symbol.for("react.provider"),f=Symbol.for("react.context"),S=Symbol.for("react.forward_ref"),O=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),V=Symbol.for("react.memo"),re=Symbol.for("react.lazy"),we=Symbol.for("react.scope"),me=Symbol.for("react.debug_trace_mode"),St=Symbol.for("react.offscreen"),Ft=Symbol.for("react.legacy_hidden"),At=Symbol.for("react.cache"),Pt=Symbol.for("react.tracing_marker"),Bn=Symbol.iterator,en="@@iterator";function qe(e){if(e===null||typeof e!="object")return null;var t=Bn&&e[Bn]||e[en];return typeof t=="function"?t:null}var ze=Object.assign,oa=0,mr,hi,$n,ya,Pr,yi,cn;function Ct(){}Ct.__reactDisabledLog=!0;function za(){{if(oa===0){mr=console.log,hi=console.info,$n=console.warn,ya=console.error,Pr=console.group,yi=console.groupCollapsed,cn=console.groupEnd;var e={configurable:!0,enumerable:!0,value:Ct,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}oa++}}function wa(){{if(oa--,oa===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:ze({},e,{value:mr}),info:ze({},e,{value:hi}),warn:ze({},e,{value:$n}),error:ze({},e,{value:ya}),group:ze({},e,{value:Pr}),groupCollapsed:ze({},e,{value:yi}),groupEnd:ze({},e,{value:cn})})}oa<0&&d("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var er=pe.ReactCurrentDispatcher,il;function tr(e,t,n){{if(il===void 0)try{throw Error()}catch(r){var a=r.stack.trim().match(/\n( *(at )?)/);il=a&&a[1]||""}return` +`+il+e}}var gi=!1,Br;{var no=typeof WeakMap=="function"?WeakMap:Map;Br=new no}function bi(e,t){if(!e||gi)return"";{var n=Br.get(e);if(n!==void 0)return n}var a;gi=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var i;i=er.current,er.current=null,za();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(L){a=L}Reflect.construct(e,[],o)}else{try{o.call()}catch(L){a=L}e.call(o.prototype)}}else{try{throw Error()}catch(L){a=L}e()}}catch(L){if(L&&a&&typeof L.stack=="string"){for(var l=L.stack.split(` `),u=a.stack.split(` -`),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 y=` -`+l[c].replace(" at new "," at ");return e.displayName&&y.includes("")&&(y=y.replace("",e.displayName)),typeof e=="function"&&zr.set(e,y),y}while(c>=1&&d>=0);break}}}finally{di=!1,Qi.current=i,$u(),Error.prepareStackTrace=r}var h=e?e.displayName||e.name:"",_=h?Ja(h):"";return typeof e=="function"&&zr.set(e,_),_}function Zi(e,t,n){return vi(e,!0)}function rl(e,t,n){return vi(e,!1)}function Yu(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function il(e,t,n){if(e==null)return"";if(typeof e=="function")return vi(e,Yu(e));if(typeof e=="string")return Ja(e);switch(e){case P:return Ja("Suspense");case G:return Ja("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case g:return rl(e.render);case ee:return il(e.type,t,n);case Ee:{var a=e,r=a._payload,i=a._init;try{return il(i(r),t,n)}catch{}}}return""}function af(e){switch(e._debugOwner&&e._debugOwner.type,e._debugSource,e.tag){case oe:return Ja(e.type);case nt:return Ja("Lazy");case _e:return Ja("Suspense");case He:return Ja("SuspenseList");case Se:case it:case V:return rl(e.type);case J:return rl(e.type.render);case se:return Zi(e.type);default:return""}}function pi(e){try{var t="",n=e;do t+=af(n),n=n.return;while(n);return t}catch(a){return` +`),c=l.length-1,v=u.length-1;c>=1&&v>=0&&l[c]!==u[v];)v--;for(;c>=1&&v>=0;c--,v--)if(l[c]!==u[v]){if(c!==1||v!==1)do if(c--,v--,v<0||l[c]!==u[v]){var y=` +`+l[c].replace(" at new "," at ");return e.displayName&&y.includes("")&&(y=y.replace("",e.displayName)),typeof e=="function"&&Br.set(e,y),y}while(c>=1&&v>=0);break}}}finally{gi=!1,er.current=i,wa(),Error.prepareStackTrace=r}var h=e?e.displayName||e.name:"",_=h?tr(h):"";return typeof e=="function"&&Br.set(e,_),_}function ao(e,t,n){return bi(e,!0)}function ol(e,t,n){return bi(e,!1)}function Yu(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function ll(e,t,n){if(e==null)return"";if(typeof e=="function")return bi(e,Yu(e));if(typeof e=="string")return tr(e);switch(e){case O:return tr("Suspense");case P:return tr("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case S:return ol(e.render);case V:return ll(e.type,t,n);case re:{var a=e,r=a._payload,i=a._init;try{return ll(i(r),t,n)}catch{}}}return""}function af(e){switch(e._debugOwner&&e._debugOwner.type,e._debugSource,e.tag){case ee:return tr(e.type);case Ot:return tr("Lazy");case _e:return tr("Suspense");case Pe:return tr("SuspenseList");case ge:case ct:case Ee:return ol(e.type);case De:return ol(e.type.render);case ae:return ao(e.type);default:return""}}function Si(e){try{var t="",n=e;do t+=af(n),n=n.return;while(n);return t}catch(a){return` Error generating stack: `+a.message+` -`+a.stack}}function Iu(e,t,n){var a=e.displayName;if(a)return a;var r=t.displayName||t.name||"";return r!==""?n+"("+r+")":n}function ol(e){return e.displayName||"Context"}function xt(e){if(e==null)return null;if(typeof e.tag=="number"&&f("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 x:return"Fragment";case O:return"Portal";case F:return"Profiler";case X:return"StrictMode";case P:return"Suspense";case G:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case p:var t=e;return ol(t)+".Consumer";case I:var n=e;return ol(n._context)+".Provider";case g:return Iu(e,e.render,"ForwardRef");case ee:var a=e.displayName||null;return a!==null?a:xt(e.type)||"Memo";case Ee:{var r=e,i=r._payload,o=r._init;try{return xt(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 pr(e){return e.displayName||"Context"}function Ge(e){var t=e.tag,n=e.type;switch(t){case yt:return"Cache";case kt:var a=n;return pr(a)+".Consumer";case We:var r=n;return pr(r._context)+".Provider";case Bt:return"DehydratedFragment";case J:return rf(n,n.render,"ForwardRef");case zt:return"Fragment";case oe:return n;case D:return"Portal";case W:return"Root";case Be:return"Text";case nt:return xt(n);case Et:return n===X?"StrictMode":"Mode";case le:return"Offscreen";case mt:return"Profiler";case ce:return"Scope";case _e:return"Suspense";case He:return"SuspenseList";case ze:return"TracingMarker";case se:case Se:case K:case it:case Me:case V:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;break}return null}var ll=he.ReactDebugCurrentFrame,ea=null,mi=!1;function Pr(){{if(ea===null)return null;var e=ea._debugOwner;if(e!==null&&typeof e<"u")return Ge(e)}return null}function of(){return ea===null?"":pi(ea)}function Mn(){ll.getCurrentStack=null,ea=null,mi=!1}function nn(e){ll.getCurrentStack=e===null?null:of,ea=e,mi=!1}function Wu(){return ea}function Ra(e){mi=e}function ta(e){return""+e}function Ha(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return $t(e),e;default:return""}}var lf={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0};function ul(e,t){lf[t.type]||t.onChange||t.onInput||t.readOnly||t.disabled||t.value==null||f("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||f("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 sl(e){return e._valueTracker}function Ji(e){e._valueTracker=null}function uf(e){var t="";return e&&(qu(e)?t=e.checked?"true":"false":t=e.value),t}function Vr(e){var t=qu(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);$t(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){$t(l),a=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:n.enumerable});var o={getValue:function(){return a},setValue:function(l){$t(l),a=""+l},stopTracking:function(){Ji(e),delete e[t]}};return o}}function hi(e){sl(e)||(e._valueTracker=Vr(e))}function cl(e){if(!e)return!1;var t=sl(e);if(!t)return!0;var n=t.getValue(),a=uf(e);return a!==n?(t.setValue(a),!0):!1}function mr(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 eo=!1,to=!1,no=!1,Gu=!1;function Xu(e){var t=e.type==="checkbox"||e.type==="radio";return t?e.checked!=null:e.value!=null}function fl(e,t){var n=e,a=t.checked,r=Xe({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??n._wrapperState.initialChecked});return r}function Qu(e,t){ul("input",t),t.checked!==void 0&&t.defaultChecked!==void 0&&!to&&(f("%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",Pr()||"A component",t.type),to=!0),t.value!==void 0&&t.defaultValue!==void 0&&!eo&&(f("%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",Pr()||"A component",t.type),eo=!0);var n=e,a=t.defaultValue==null?"":t.defaultValue;n._wrapperState={initialChecked:t.checked!=null?t.checked:t.defaultChecked,initialValue:Ha(t.value!=null?t.value:a),controlled:Xu(t)}}function s(e,t){var n=e,a=t.checked;a!=null&&E(n,"checked",a,!1)}function m(e,t){var n=e;{var a=Xu(t);!n._wrapperState.controlled&&a&&!Gu&&(f("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&&!no&&(f("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"),no=!0)}s(e,t);var r=Ha(t.value),i=t.type;if(r!=null)i==="number"?(r===0&&n.value===""||n.value!=r)&&(n.value=ta(r)):n.value!==ta(r)&&(n.value=ta(r));else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}t.hasOwnProperty("value")?Ne(n,t.type,r):t.hasOwnProperty("defaultValue")&&Ne(n,t.type,Ha(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(n.defaultChecked=!!t.defaultChecked)}function L(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=ta(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 A(e,t){var n=e;m(n,t),Q(n,t)}function Q(e,t){var n=t.name;if(t.type==="radio"&&n!=null){for(var a=e;a.parentNode;)a=a.parentNode;qe(n,"name");for(var r=a.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),i=0;i.")))}):t.dangerouslySetInnerHTML!=null&&(ft||(ft=!0,f("Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.")))),t.selected!=null&&!Te&&(f("Use the `defaultValue` or `value` props on instead of setting `selected` on