From b186bbe669ca2744b4ad08af3d9548f5865e526b Mon Sep 17 00:00:00 2001 From: Yiannis Christodoulou Date: Thu, 16 Oct 2025 16:12:45 +0300 Subject: [PATCH] build assets --- static/chapters_editor/chapters-editor.css | 2 +- static/chapters_editor/chapters-editor.js | 102 ++++++------- static/chapters_editor/chapters-editor.js.map | 2 +- static/video_js/video-js.js | 140 +++++++++--------- static/video_js/video-js.js.map | 2 +- 5 files changed, 124 insertions(+), 124 deletions(-) diff --git a/static/chapters_editor/chapters-editor.css b/static/chapters_editor/chapters-editor.css index 3a00ed66..53faa21b 100644 --- a/static/chapters_editor/chapters-editor.css +++ b/static/chapters_editor/chapters-editor.css @@ -1 +1 @@ -#chapters-editor-root{@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(1)}}}#chapters-editor-root .video-player-container{position:relative;width:100%;background:#000;border-radius:.5rem;overflow:hidden;margin-bottom:1rem;aspect-ratio:16/9;-webkit-user-select:none;-moz-user-select:none;user-select:none}#chapters-editor-root .video-player-container video{width:100%;height:100%;cursor:pointer;transform:translateZ(0);-webkit-transform:translateZ(0);-webkit-user-select:none;-moz-user-select:none;user-select:none}@supports (-webkit-touch-callout: none){#chapters-editor-root .video-player-container video{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}}#chapters-editor-root .play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background-color:#0009;border-radius:50%;opacity:0;transition:opacity .3s;pointer-events:none}#chapters-editor-root .video-player-container:hover .play-pause-indicator{opacity:1}#chapters-editor-root .play-pause-indicator:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#chapters-editor-root .play-pause-indicator.play-icon:before{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid white;margin-left:3px}#chapters-editor-root .play-pause-indicator.pause-icon:before{width:20px;height:25px;border-left:6px solid white;border-right:6px solid white}#chapters-editor-root .ios-first-play-indicator{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10}#chapters-editor-root .ios-play-message{color:#fff;font-size:1.2rem;text-align:center;padding:1rem;background:#000c;border-radius:.5rem;animation:pulse 2s infinite}#chapters-editor-root .video-controls{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity .3s}#chapters-editor-root .video-player-container:hover .video-controls{opacity:1}#chapters-editor-root .video-current-time,#chapters-editor-root .video-duration{color:#fff;font-size:.875rem}#chapters-editor-root .video-time-display{display:flex;justify-content:space-between;margin-bottom:.5rem;color:#fff;font-size:.875rem}#chapters-editor-root .video-progress{position:relative;height:6px;background-color:#ffffff4d;border-radius:3px;cursor:pointer;margin:0 10px;touch-action:none;flex-grow:1}#chapters-editor-root .video-progress.dragging{height:8px}#chapters-editor-root .video-progress-fill{position:absolute;top:0;left:0;height:100%;background-color:red;border-radius:3px;pointer-events:none}#chapters-editor-root .video-scrubber{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;background-color:red;border-radius:50%;cursor:grab;transition:transform .1s ease,width .1s ease,height .1s ease}#chapters-editor-root .video-progress.dragging .video-scrubber{transform:translate(-50%,-50%) scale(1.2);width:18px;height:18px;cursor:grabbing;box-shadow:0 0 8px #f009}@media (pointer: coarse){#chapters-editor-root .video-scrubber{width:20px;height:20px}#chapters-editor-root .video-progress.dragging .video-scrubber{width:24px;height:24px}#chapters-editor-root .video-scrubber:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px}}#chapters-editor-root .video-controls-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}#chapters-editor-root .mute-button,#chapters-editor-root .fullscreen-button{min-width:auto;color:#fff;background:none;border:none;cursor:pointer;padding:.25rem;transition:transform .2s}#chapters-editor-root .mute-button:hover,#chapters-editor-root .fullscreen-button:hover{transform:scale(1.1)}#chapters-editor-root .mute-button svg,#chapters-editor-root .fullscreen-button svg{width:1.25rem;height:1.25rem}#chapters-editor-root .video-time-tooltip{position:absolute;top:-30px;background-color:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-family:monospace;pointer-events:none;z-index:1000;white-space:nowrap;box-shadow:0 2px 4px #0000004d}#chapters-editor-root .video-time-tooltip:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7)}#chapters-editor-root{@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes success-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes error-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}}#chapters-editor-root .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}#chapters-editor-root .modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modal-fade-in .3s ease-out}#chapters-editor-root .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}#chapters-editor-root .modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#333}#chapters-editor-root .modal-close-button{background:none;border:none;cursor:pointer;color:#666;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}#chapters-editor-root .modal-close-button:hover{color:#000}#chapters-editor-root .modal-content{padding:20px;color:#333;font-size:1rem;line-height:1.5;max-height:400px;overflow-y:auto}#chapters-editor-root .modal-actions{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid #eee;gap:12px}#chapters-editor-root .modal-button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:none}#chapters-editor-root .modal-button-primary{background-color:#06c;color:#fff}#chapters-editor-root .modal-button-primary:hover{background-color:#05a}#chapters-editor-root .modal-button-secondary{background-color:#f0f0f0;color:#333}#chapters-editor-root .modal-button-secondary:hover{background-color:#e0e0e0}#chapters-editor-root .modal-button-danger{background-color:#dc3545;color:#fff}#chapters-editor-root .modal-button-danger:hover{background-color:#bd2130}#chapters-editor-root .modal-message{margin-bottom:16px;font-size:1rem}#chapters-editor-root .modal-spinner{display:flex;align-items:center;justify-content:center;margin:20px 0}#chapters-editor-root .spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #0066cc;width:30px;height:30px;animation:spin 1s linear infinite}#chapters-editor-root .modal-success-icon{display:flex;justify-content:center;margin-bottom:16px;color:#28a745;font-size:2rem}#chapters-editor-root .modal-success-icon svg{width:60px;height:60px;color:#4caf50;animation:success-pop .5s ease-out}#chapters-editor-root .modal-error-icon{display:flex;justify-content:center;margin-bottom:16px;color:#dc3545;font-size:2rem}#chapters-editor-root .modal-error-icon svg{width:60px;height:60px;color:#f44336;animation:error-pop .5s ease-out}#chapters-editor-root .modal-choices{display:flex;flex-direction:column;gap:10px;margin-top:20px}#chapters-editor-root .modal-choice-button{padding:12px 16px;border:none;border-radius:4px;background-color:#06c;text-align:center;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-weight:500;text-decoration:none;color:#fff}#chapters-editor-root .modal-choice-button:hover{background-color:#05a;transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}#chapters-editor-root .modal-choice-button svg{margin-right:8px}#chapters-editor-root .success-link{background-color:#4caf50}#chapters-editor-root .success-link:hover{background-color:#3d8b40}#chapters-editor-root .centered-choice{margin:0 auto;width:auto;min-width:220px;background-color:#06c;color:#fff}#chapters-editor-root .centered-choice:hover{background-color:#05a}@media (max-width: 480px){#chapters-editor-root .modal-container{width:95%}#chapters-editor-root .modal-actions{flex-direction:column}#chapters-editor-root .modal-button{width:100%}}#chapters-editor-root .error-message{color:#f44336;font-weight:500;background-color:#f443361a;padding:10px;border-radius:4px;border-left:4px solid #f44336;margin-top:10px}#chapters-editor-root .redirect-message{color:#555;font-size:.95rem;padding:0;margin:0}#chapters-editor-root .countdown{font-weight:700;color:#06c;font-size:1.1rem}#chapters-editor-root{@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}}#chapters-editor-root .timeline-container-card{background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .timeline-header{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}#chapters-editor-root .timeline-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333)}#chapters-editor-root .timeline-title-text{font-weight:700}#chapters-editor-root .current-time{font-size:.875rem;color:var(--foreground, #333)}#chapters-editor-root .time-code{font-family:monospace;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem}#chapters-editor-root .duration-time{font-size:.875rem;color:var(--foreground, #333)}#chapters-editor-root .timeline-scroll-container{position:relative;overflow:visible!important}#chapters-editor-root .timeline-container{position:relative;min-width:100%;background-color:#fafbfc;height:70px;border-radius:.25rem;overflow:visible!important}#chapters-editor-root .timeline-marker{position:absolute;height:82px;width:2px;background-color:#000;transform:translate(-50%);z-index:50;pointer-events:none}#chapters-editor-root .timeline-marker-head{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:16px;height:16px;background-color:#ef4444;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:51}#chapters-editor-root .timeline-marker-drag{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:16px;height:16px;background-color:#4b5563;border-radius:50%;cursor:grab;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:51}#chapters-editor-root .timeline-marker-drag.dragging{cursor:grabbing;background-color:#374151}#chapters-editor-root .timeline-marker-head-icon{color:#fff;font-size:14px;font-weight:700;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}#chapters-editor-root .timeline-marker-drag-icon{color:#fff;font-size:12px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:rotate(90deg);display:inline-block}#chapters-editor-root .trim-line-marker{position:absolute;top:0;bottom:0;width:1px;background-color:#00000080;z-index:20}#chapters-editor-root .trim-handle{position:absolute;width:10px;height:20px;background-color:#000;cursor:ew-resize}#chapters-editor-root .trim-handle.left{right:0;top:10px;border-radius:3px 0 0 3px}#chapters-editor-root .trim-handle.right{left:0;top:10px;border-radius:0 3px 3px 0}#chapters-editor-root .timeline-thumbnail{display:inline-block;height:70px;border-right:1px solid rgba(0,0,0,.03)}#chapters-editor-root .split-point{position:absolute;top:0;bottom:0;width:1px;background-color:#ff000080;z-index:15}#chapters-editor-root .clip-segment{position:absolute;height:70px;border-radius:4px;z-index:10;border:2px solid rgba(0,0,0,.15);cursor:pointer}#chapters-editor-root .clip-segment:hover{box-shadow:0 0 0 2px #0000004d;border-color:#0006;background-color:#f0f0f0cc!important}#chapters-editor-root .clip-segment.selected{box-shadow:0 0 0 2px #3b82f6b3;border-color:#3b82f6e6}#chapters-editor-root .clip-segment.selected:hover{background-color:#f0f8ffd9!important}#chapters-editor-root .clip-segment-info{position:absolute;bottom:0;left:0;right:0;padding:.4rem;background-color:#0006;color:#fff;opacity:1;transition:background-color .2s;line-height:1.3}#chapters-editor-root .clip-segment:hover .clip-segment-info{background-color:#00000080}#chapters-editor-root .clip-segment.selected .clip-segment-info{background-color:#3b82f680}#chapters-editor-root .clip-segment.selected:hover .clip-segment-info{background-color:#3b82f666}#chapters-editor-root .clip-segment-name{font-weight:700;font-size:12px}#chapters-editor-root .clip-segment-time,#chapters-editor-root .clip-segment-duration{font-size:10px}#chapters-editor-root .clip-segment-handle{position:absolute;top:0;bottom:0;width:6px;background-color:#0003;cursor:ew-resize}#chapters-editor-root .clip-segment-handle:hover{background-color:#0006}#chapters-editor-root .clip-segment-handle.left{left:0;border-radius:2px 0 0 2px}#chapters-editor-root .clip-segment-handle.right{right:0;border-radius:0 2px 2px 0}@media (pointer: coarse){#chapters-editor-root .clip-segment-handle{width:14px;background-color:#0006}#chapters-editor-root .clip-segment-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:20px;background-color:#fffc;border-radius:1px}#chapters-editor-root .clip-segment-handle.left:after{box-shadow:-2px 0 #00000080}#chapters-editor-root .clip-segment-handle.right:after{box-shadow:2px 0 #00000080}#chapters-editor-root .clip-segment-handle:active{background-color:#0009}#chapters-editor-root .timeline-marker{height:85px}#chapters-editor-root .timeline-marker-head{width:24px;height:24px;top:-13px}#chapters-editor-root .timeline-marker-drag{width:24px;height:24px;bottom:-18px}#chapters-editor-root .timeline-marker-head.dragging{width:28px;height:28px;top:-15px}}#chapters-editor-root .segment-tooltip,#chapters-editor-root .empty-space-tooltip{position:absolute;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #0000004d;padding:.5rem;z-index:1000;min-width:150px;text-align:center;pointer-events:auto;top:-105px!important;transform:translateY(-10px)}#chapters-editor-root .segment-tooltip{top:-165px!important}#chapters-editor-root .segment-tooltip:after,#chapters-editor-root .empty-space-tooltip:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid white}#chapters-editor-root .segment-tooltip:before,#chapters-editor-root .empty-space-tooltip:before{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.1);z-index:-1}#chapters-editor-root .tooltip-time{font-weight:600;font-size:.875rem;margin-bottom:.5rem;color:#333}#chapters-editor-root .tooltip-actions{display:flex;justify-content:center;gap:.5rem}#chapters-editor-root .tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:.25rem;padding:.375rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;min-width:20px!important}#chapters-editor-root .tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}#chapters-editor-root .tooltip-action-btn.delete{color:#ef4444}#chapters-editor-root .tooltip-action-btn.delete:hover{background-color:#fee2e2}#chapters-editor-root .tooltip-action-btn.new-segment{padding:.375rem .5rem}#chapters-editor-root .tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:.25rem;font-size:.75rem}#chapters-editor-root .tooltip-action-btn svg{width:1rem;height:1rem}#chapters-editor-root .timeline-controls{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}#chapters-editor-root .time-navigation{display:none;align-items:center;gap:.5rem}#chapters-editor-root .time-nav-label{font-size:.875rem;font-weight:500}#chapters-editor-root .time-input{border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;width:8rem;font-size:.875rem}#chapters-editor-root .time-button-group{display:flex}#chapters-editor-root .time-button{background-color:#e5e7eb;color:#000;padding:.25rem .5rem;font-size:.875rem;border:none;cursor:pointer;margin-right:.5rem}#chapters-editor-root .time-button:hover{background-color:#d1d5db}#chapters-editor-root .time-button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#chapters-editor-root .time-button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#chapters-editor-root .controls-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}#chapters-editor-root .zoom-dropdown-container{position:relative;z-index:100;display:none}#chapters-editor-root .zoom-button{background-color:#374151;color:#fff;border:none;border-radius:.25rem;padding:.25rem .75rem;font-size:.875rem;display:flex;align-items:center;cursor:pointer}#chapters-editor-root .zoom-button:hover{background-color:#1f2937}#chapters-editor-root .zoom-button svg{margin-left:.25rem}#chapters-editor-root .zoom-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;width:9rem;background-color:#374151;color:#fff;border-radius:.25rem;box-shadow:0 4px 6px -1px #0000001a;z-index:50;max-height:300px;overflow-y:auto}#chapters-editor-root .zoom-option{padding:.25rem .75rem;cursor:pointer}#chapters-editor-root .zoom-option:hover{background-color:#4b5563}#chapters-editor-root .zoom-option.selected{background-color:#6b7280;display:flex;align-items:center}#chapters-editor-root .zoom-option svg{margin-right:.25rem}#chapters-editor-root .save-buttons-row{display:flex;align-items:center;gap:.5rem;margin:0;flex-wrap:nowrap}#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{color:#fff;background:#06c;border-radius:.25rem;font-size:.75rem;padding:.25rem .5rem;cursor:pointer;border:none;white-space:nowrap;transition:background-color .2s;min-width:-moz-fit-content;min-width:fit-content}#chapters-editor-root .save-button:hover,#chapters-editor-root .save-copy-button:hover,#chapters-editor-root .save-segments-button:hover{background-color:#0056b3}@media (max-width: 576px){#chapters-editor-root .save-buttons-row{width:100%;justify-content:space-between;gap:.5rem}#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{flex:1;font-size:.7rem;padding:.25rem .35rem}}@media (max-width: 480px){#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{font-size:.675rem;padding:.25rem}#chapters-editor-root .controls-right,#chapters-editor-root .controls-right button{margin:0}}#chapters-editor-root .modal-success-content,#chapters-editor-root .modal-error-content{display:flex;flex-direction:column;align-items:center;padding:1rem;text-align:center;padding:0;margin:0}#chapters-editor-root .modal-success-icon,#chapters-editor-root .modal-error-icon{margin-bottom:1rem}#chapters-editor-root .modal-success-icon svg{color:#4caf50;animation:fadeIn .5s ease-in-out}#chapters-editor-root .modal-error-icon svg{color:#f44336;animation:fadeIn .5s ease-in-out}#chapters-editor-root .success-link{background-color:#4caf50;color:#fff;transition:background-color .3s}#chapters-editor-root .success-link:hover{background-color:#388e3c}#chapters-editor-root .error-message{color:#f44336;font-weight:500}#chapters-editor-root .modal-spinner{display:flex;justify-content:center;margin:2rem 0}#chapters-editor-root .spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#06c;animation:spin 1s ease-in-out infinite}#chapters-editor-root .auto-save-spinner{animation:spin 1s linear infinite}#chapters-editor-root .text-center{text-align:center}#chapters-editor-root .modal-message{margin-bottom:1rem;line-height:1.5}#chapters-editor-root .modal-choice-button{display:flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;background-color:#06c;color:#fff;border-radius:4px;text-decoration:none;margin:0 auto;cursor:pointer;font-weight:500;gap:.5rem;border:none;transition:background-color .3s}#chapters-editor-root .modal-choice-button:hover{background-color:#0056b3}#chapters-editor-root .modal-choice-button svg{flex-shrink:0}#chapters-editor-root .centered-choice{margin:0 auto;min-width:180px}.mobile-timeline-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:50;display:flex;justify-content:center;align-items:center;border-radius:.5rem;pointer-events:none}.mobile-timeline-message{background-color:#000c;border-radius:8px;padding:15px 25px;text-align:center;max-width:80%;animation:pulse 2s infinite}.mobile-timeline-message p{color:#fff;font-size:16px;margin:0 0 15px;font-weight:500}.mobile-play-icon{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid white;margin:0 auto}@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(1)}}.segments-playback-mode .tooltip-time-btn,.segments-playback-mode .tooltip-action-btn.play,.segments-playback-mode .tooltip-action-btn.pause{opacity:1;cursor:pointer}.segments-playback-mode .tooltip-time-btn[disabled],.segments-playback-mode .tooltip-action-btn[disabled]{opacity:.5!important;cursor:not-allowed!important}.segments-playback-mode [data-tooltip][disabled]:hover:before,.segments-playback-mode [data-tooltip][disabled]:hover:after{opacity:1!important;visibility:visible!important}.segments-playback-message{display:flex;align-items:center;background-color:#3b82f61a;color:#3b82f6;padding:6px 12px;border-radius:4px;font-weight:600;font-size:.875rem;animation:pulse 2s infinite}.segments-playback-message svg{height:1.25rem;width:1.25rem;margin-right:.5rem;color:#3b82f6}.chapter-editor{background-color:#f8fafc;border:2px solid #3b82f6;border-radius:.5rem;padding:1rem;margin-bottom:1rem;transition:all .2s ease}.chapter-editor-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem;gap:1rem}.chapter-editor-title-section{display:flex;flex-direction:column;gap:.5rem;flex:1}.chapter-editor-header h4{margin:0;font-size:.875rem;font-weight:600;color:#1f2937}.chapter-editor-segment{font-size:.75rem;color:#6b7280;background-color:#e5e7eb;padding:.25rem .5rem;border-radius:.25rem;display:inline-block}.save-chapters-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.save-chapters-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f64d}.save-chapters-button.has-changes{background-color:#10b981;animation:pulse-green-chapters 2s infinite}.save-chapters-button.has-changes:hover{background-color:#059669}.save-chapters-button svg{width:1rem;height:1rem}@keyframes pulse-green-chapters{0%,to{background-color:#10b981}50%{background-color:#34d399}}.chapter-title-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.chapter-title-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.chapter-title-input::-moz-placeholder{color:#9ca3af}.chapter-title-input::placeholder{color:#9ca3af}.chapter-editor-info{margin-top:.5rem;font-size:.75rem;color:#6b7280;font-style:italic}@media (max-width: 768px){.chapter-editor-header{flex-direction:column;gap:.75rem;align-items:stretch}.save-chapters-button{justify-content:center;align-self:stretch}.chapter-editor-segment{text-align:center}}.tooltip-chapter-editor{background-color:#fffffff2;border-radius:.375rem;pointer-events:auto}textarea.tooltip-chapter-input{width:100%;padding:.5rem;border:2px solid #ccc;border-radius:.25rem;background-color:#fff;color:#000;font-size:.75rem;resize:none;outline:none;box-sizing:border-box;height:55px!important;max-height:55px!important;min-height:55px!important}textarea.tooltip-chapter-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}textarea.tooltip-chapter-input::-moz-placeholder{color:#999}textarea.tooltip-chapter-input::placeholder{color:#999}.two-row-tooltip{display:flex;flex-direction:column;background-color:#fff;padding:6px;border-radius:4px;box-shadow:0 2px 8px #00000026;position:relative;z-index:3000}.tooltip-time-btn[data-tooltip="Decrease by 100ms"],.tooltip-time-btn[data-tooltip="Increase by 100ms"]{display:none!important}.tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:3px}.tooltip-row:first-child{margin-bottom:6px}.tooltip-time-btn{background-color:#f0f0f0!important;border:none!important;border-radius:4px!important;padding:4px 8px!important;font-size:.75rem!important;font-weight:500!important;color:#333!important;cursor:pointer!important;transition:background-color .2s!important;min-width:20px!important}.tooltip-time-btn:hover{background-color:#e0e0e0!important}.tooltip-time-display{font-family:monospace!important;font-size:.875rem!important;font-weight:600!important;color:#333!important;padding:4px 6px!important;background-color:#f7f7f7!important;border-radius:4px!important;min-width:100px!important;text-align:center!important;overflow:hidden!important}.tooltip-time-display.disabled{pointer-events:none!important;cursor:not-allowed!important;opacity:.6!important;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.tooltip-time-btn.disabled[data-tooltip]:hover:before,.tooltip-time-btn.disabled[data-tooltip]:hover:after,.tooltip-action-btn.disabled[data-tooltip]:hover:before,.tooltip-action-btn.disabled[data-tooltip]:hover:after{opacity:1!important;visibility:visible!important}.tooltip-actions{display:flex;justify-content:space-between;align-items:center;gap:3px;position:relative;z-index:2500;margin-top:5px}.tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:4px;padding:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;width:26px;height:26px;min-width:20px!important;position:relative}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);position:absolute;height:30px;top:35px;left:50%;transform:translate(-50%);margin-left:0;background-color:#000000d9;color:#fff;text-align:left;padding:6px 12px;border-radius:4px;box-shadow:0 2px 8px #0003;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}.tooltip-action-btn[data-tooltip]:after{content:"";position:absolute;top:35px;left:50%;transform:translate(-50%);border-width:4px;border-style:solid;border-color:rgba(0,0,0,.85) transparent transparent transparent;margin-left:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}@media (hover: hover) and (pointer: fine){.tooltip-action-btn[data-tooltip]:hover:before,.tooltip-action-btn[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;content:none!important}}.tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}.tooltip-action-btn.delete{color:#ef4444}.tooltip-action-btn.delete:hover{background-color:#fee2e2}.tooltip-action-btn.play{color:#10b981}.tooltip-action-btn.play:hover{background-color:#d1fae5}.tooltip-action-btn.pause{color:#3b82f6}.tooltip-action-btn.pause:hover{background-color:#dbeafe}.tooltip-action-btn.play-from-start{color:#4f46e5}.tooltip-action-btn.play-from-start:hover{background-color:#e0e7ff}.tooltip-action-btn svg{width:16px;height:16px}.tooltip-action-btn.new-segment{width:auto;height:auto;padding:6px 10px;display:flex;flex-direction:row;color:#10b981}.tooltip-action-btn.new-segment:hover{background-color:#d1fae5}.tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:6px;font-size:.75rem;white-space:nowrap}.tooltip-action-btn.disabled{opacity:.5;cursor:not-allowed;background-color:#f3f4f6}.tooltip-action-btn.disabled:hover{background-color:#f3f4f6;color:#9ca3af}.tooltip-action-btn.disabled svg{color:#9ca3af}.tooltip-action-btn.disabled .tooltip-btn-text{color:#9ca3af}.tooltip-action-btn.pause.disabled{color:#9ca3af!important;opacity:.5;cursor:not-allowed}.tooltip-action-btn.pause.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-action-btn.play.disabled{color:#9ca3af!important;opacity:.5;cursor:not-allowed}.tooltip-action-btn.play.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-time-btn.disabled{opacity:.5!important;cursor:not-allowed!important;background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-time-btn.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}@media (max-width: 768px){.two-row-tooltip{padding:4px}.tooltip-row:first-child{margin-bottom:4px}.tooltip-time-btn{min-width:20px!important;font-size:.7rem!important;padding:3px 6px!important}.tooltip-time-display{font-size:.8rem!important;padding:3px 4px!important;min-width:90px!important}.tooltip-action-btn{width:24px;height:24px;padding:4px}.tooltip-action-btn.new-segment{padding:4px 8px}.tooltip-action-btn svg{width:14px;height:14px}.tooltip-action-btn[data-tooltip]:before{min-width:100px;font-size:11px;padding:4px 8px;height:24px;top:33px}.tooltip-action-btn[data-tooltip]:after{top:33px}}#chapters-editor-root{@keyframes bluePulse{0%{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}to{box-shadow:0 0 #3b82f600}}@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}}#chapters-editor-root .editing-tools-container{background-color:#fff;border-radius:.5rem;padding:1rem;margin-bottom:2.5rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .flex-container{display:flex;justify-content:space-between;align-items:center;position:relative;gap:15px;width:100%}#chapters-editor-root .flex-container.single-row{flex-wrap:nowrap}#chapters-editor-root .full-text{display:inline}#chapters-editor-root .short-text{display:none}#chapters-editor-root .reset-text{display:inline}#chapters-editor-root .button-group{display:flex;align-items:center}#chapters-editor-root .button-group.play-buttons-group{gap:.75rem;justify-content:flex-start;flex:0 0 auto}#chapters-editor-root .button-group.secondary{gap:.75rem;align-items:center;justify-content:flex-end;margin-left:auto}#chapters-editor-root .button-group button{display:flex;align-items:center;color:#333;background:none;border:none;cursor:pointer;min-width:auto}#chapters-editor-root .button-group button:hover:not(:disabled){color:inherit}#chapters-editor-root .button-group button:disabled{opacity:.5;cursor:not-allowed}#chapters-editor-root .button-group button svg{height:1.25rem;width:1.25rem;margin-right:.25rem}#chapters-editor-root .divider{border-right:1px solid #d1d5db;height:1.5rem;margin:0 .5rem}#chapters-editor-root .play-button,#chapters-editor-root .preview-button{font-weight:600;display:flex;align-items:center;position:relative;overflow:hidden;min-width:80px;justify-content:center;font-size:.875rem!important}#chapters-editor-root .play-button.greyed-out{opacity:.5;cursor:not-allowed}#chapters-editor-root .segments-button.highlighted-stop{background-color:#3b82f61a;color:#3b82f6;border:1px solid #3b82f6;animation:bluePulse 2s infinite}#chapters-editor-root .play-button:hover:not(:disabled),#chapters-editor-root .preview-button:hover:not(:disabled){color:inherit!important;transform:none!important;font-size:.875rem!important;width:auto!important;background:none!important}#chapters-editor-root .play-button svg,#chapters-editor-root .preview-button svg{height:1.5rem;width:1.5rem;flex-shrink:0}#chapters-editor-root .button-text{margin-left:.25rem}@media (max-width: 992px){#chapters-editor-root .button-group.secondary .button-text{display:none}}@media (max-width: 768px){#chapters-editor-root .flex-container.single-row{justify-content:space-between}#chapters-editor-root .button-group{gap:.5rem}#chapters-editor-root .preview-button,#chapters-editor-root .play-button{font-size:.875rem!important}}@media (max-width: 640px){#chapters-editor-root .editing-tools-container{padding:.75rem;overflow-x:hidden}#chapters-editor-root .preview-button{min-width:auto}#chapters-editor-root .full-text{display:none}#chapters-editor-root .short-text{display:inline;margin-left:.15rem}#chapters-editor-root .reset-text{display:none}#chapters-editor-root .button-group.play-buttons-group{flex:initial;justify-content:flex-start;flex-shrink:0}#chapters-editor-root .button-group.secondary{flex:initial;justify-content:flex-end;flex-shrink:0}#chapters-editor-root .button-group button{padding:.375rem;min-width:auto}#chapters-editor-root .button-group button svg{height:1.125rem;width:1.125rem;margin-right:.125rem}}@media (max-width: 576px){#chapters-editor-root .flex-container.single-row{justify-content:space-between;flex-wrap:nowrap;gap:10px}#chapters-editor-root .button-group.play-buttons-group{justify-content:flex-start;flex:0 0 auto}#chapters-editor-root .button-group.secondary{justify-content:flex-end;margin-left:auto}#chapters-editor-root .button-group button{padding:.25rem}#chapters-editor-root .divider{margin:0 .25rem}}@media (max-width: 480px){#chapters-editor-root .editing-tools-container{padding:.5rem}#chapters-editor-root .flex-container.single-row{gap:8px}#chapters-editor-root .button-group.play-buttons-group,#chapters-editor-root .button-group.secondary{gap:.25rem}#chapters-editor-root .divider{display:none}#chapters-editor-root .button-group button{padding:.125rem}#chapters-editor-root .button-group button svg{height:1rem;width:1rem;margin-right:0}#chapters-editor-root .button-text,#chapters-editor-root .reset-text{display:none}}@media (max-width: 640px) and (orientation: portrait){#chapters-editor-root .editing-tools-container{width:100%;box-sizing:border-box}#chapters-editor-root .flex-container.single-row{width:100%;padding:0;margin:0}#chapters-editor-root .button-group{max-width:50%}#chapters-editor-root .button-group.play-buttons-group{max-width:60%}#chapters-editor-root .button-group.secondary{max-width:40%}}#chapters-editor-root{@keyframes pulse-green{0%,to{background-color:#10b981}50%{background-color:#34d399}}}@media (hover: hover) and (pointer: fine){#chapters-editor-root [data-tooltip]{position:relative}#chapters-editor-root [data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;background-color:#000c;color:#fff;text-align:center;padding:5px 10px;border-radius:3px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none}#chapters-editor-root [data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}#chapters-editor-root [data-tooltip]:hover:before,#chapters-editor-root [data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){#chapters-editor-root [data-tooltip]:before,#chapters-editor-root [data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}#chapters-editor-root .clip-segments-container{margin-top:1rem;background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .clip-segments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}#chapters-editor-root .clip-segments-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333);margin:0}#chapters-editor-root .save-chapters-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}#chapters-editor-root .save-chapters-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f64d}#chapters-editor-root .save-chapters-button.has-changes{background-color:#10b981;animation:pulse-green 2s infinite}#chapters-editor-root .save-chapters-button.has-changes:hover{background-color:#059669}#chapters-editor-root .save-chapters-button svg{width:1rem;height:1rem}#chapters-editor-root .chapter-editor{background-color:#f8fafc;border:2px solid #3b82f6;border-radius:.5rem;padding:1rem;margin-bottom:1rem;transition:all .2s ease}#chapters-editor-root .chapter-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}#chapters-editor-root .chapter-editor-header h4{margin:0;font-size:.875rem;font-weight:600;color:#1f2937}#chapters-editor-root .chapter-editor-segment{font-size:.75rem;color:#6b7280;background-color:#e5e7eb;padding:.25rem .5rem;border-radius:.25rem}#chapters-editor-root .chapter-title-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}#chapters-editor-root .chapter-title-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}#chapters-editor-root .chapter-title-input::-moz-placeholder{color:#9ca3af}#chapters-editor-root .chapter-title-input::placeholder{color:#9ca3af}#chapters-editor-root .chapter-editor-info{margin-top:.5rem;font-size:.75rem;color:#6b7280;font-style:italic}#chapters-editor-root .segment-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border:1px solid #e5e7eb;border-radius:.25rem;margin-bottom:.5rem;transition:all .2s ease}#chapters-editor-root .segment-item:hover{box-shadow:0 4px 6px -1px #0000001a}#chapters-editor-root .segment-item.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#3b82f60d}#chapters-editor-root .segment-content{display:flex;align-items:center}#chapters-editor-root .segment-info{display:flex;flex-direction:column}#chapters-editor-root .segment-title{font-weight:500;font-size:.875rem;color:#000}#chapters-editor-root .chapter-title{color:#1f2937;font-weight:600}#chapters-editor-root .default-title{color:#6b7280;font-style:italic}#chapters-editor-root .segment-time{font-size:.75rem;color:#000}#chapters-editor-root .segment-duration{font-size:.75rem;margin-top:.25rem;display:inline-block;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem;color:#000}#chapters-editor-root .segment-actions{display:flex;align-items:center;gap:.5rem}#chapters-editor-root .delete-button{padding:.375rem;color:#4b5563;background-color:#e5e7eb;border-radius:9999px;border:none;cursor:pointer;transition:background-color .2s,color .2s;min-width:auto}#chapters-editor-root .delete-button:hover{color:#000;background-color:#d1d5db}#chapters-editor-root .delete-button svg{height:1rem;width:1rem}#chapters-editor-root .empty-message{padding:1rem;text-align:center;color:#333333b3}#chapters-editor-root .segment-color-1{background-color:#3b82f626}#chapters-editor-root .segment-color-2{background-color:#10b98126}#chapters-editor-root .segment-color-3{background-color:#f59e0b26}#chapters-editor-root .segment-color-4{background-color:#ef444426}#chapters-editor-root .segment-color-5{background-color:#8b5cf626}#chapters-editor-root .segment-color-6{background-color:#ec489926}#chapters-editor-root .segment-color-7{background-color:#06b6d426}#chapters-editor-root .segment-color-8{background-color:#facc1526}@media (max-width: 768px){#chapters-editor-root .clip-segments-header{flex-direction:column;gap:.75rem;align-items:stretch}#chapters-editor-root .save-chapters-button{justify-content:center}#chapters-editor-root .chapter-editor-header{flex-direction:column;gap:.5rem;align-items:flex-start}#chapters-editor-root .chapter-editor-segment{align-self:stretch;text-align:center}}.mobile-play-prompt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.mobile-play-prompt{background-color:#fff;width:90%;max-width:400px;border-radius:12px;padding:25px;box-shadow:0 4px 20px #00000040;text-align:center}.mobile-play-prompt h3{margin:0 0 15px;font-size:20px;color:#333;font-weight:600}.mobile-play-prompt p{margin:0 0 15px;font-size:16px;color:#444;line-height:1.5}.mobile-prompt-instructions{margin:20px 0;text-align:left;background-color:#f8f9fa;padding:15px;border-radius:8px}.mobile-prompt-instructions p{margin:0 0 8px;font-size:15px;font-weight:500}.mobile-prompt-instructions ol{margin:0;padding-left:22px}.mobile-prompt-instructions li{margin-bottom:8px;font-size:14px;color:#333}.mobile-play-button{background-color:#007bff;color:#fff;border:none;border-radius:8px;padding:12px 25px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:5px;min-height:44px;min-width:200px}.mobile-play-button:hover{background-color:#0069d9}.mobile-play-button:active{background-color:#0062cc;transform:scale(.98)}@supports (-webkit-touch-callout: none){.mobile-play-button{padding:14px 25px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:hsl(var(--border))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-6xl{max-width:72rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.bg-background{background-color:hsl(var(--background))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.paused{animation-play-state:paused}:root{--foreground: 20 14.3% 4.1%;--muted: 60 4.8% 95.9%;--muted-foreground: 25 5.3% 44.7%;--popover: 0 0% 100%;--popover-foreground: 20 14.3% 4.1%;--card: 0 0% 100%;--card-foreground: 20 14.3% 4.1%;--border: 20 5.9% 90%;--input: 20 5.9% 90%;--primary: 207 90% 54%;--primary-foreground: 211 100% 99%;--secondary: 30 84% 54%;--secondary-foreground: 60 9.1% 97.8%;--accent: 60 4.8% 95.9%;--accent-foreground: 24 9.8% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 60 9.1% 97.8%;--ring: 20 14.3% 4.1%;--radius: .5rem}.video-player{position:relative;width:100%;background-color:#000;overflow:hidden;border-radius:.5rem}.video-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1rem;display:flex;flex-direction:column}.video-current-time{color:#fff;font-weight:500}.video-progress{position:relative;height:4px;background-color:#ffffff4d;border-radius:2px;margin-bottom:1rem}.video-progress-fill{position:absolute;left:0;top:0;height:100%;background-color:hsl(var(--primary));border-radius:2px}.video-scrubber{position:absolute;width:12px;height:12px;margin-left:-6px;background-color:#fff;border-radius:50%;top:-4px}.video-player-container{position:relative;overflow:hidden}.play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background-color:#00000080;z-index:20;opacity:0;transition:opacity .2s ease;pointer-events:none;background-position:center;background-repeat:no-repeat}.play-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")}.pause-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M6 19h4V5H6v14zm8-14v14h4V5h-4z'/%3E%3C/svg%3E")}.video-player-container:hover .play-pause-indicator{opacity:1}.timeline-scroll-container{height:6rem;border-radius:.375rem;overflow-x:auto;overflow-y:hidden;margin-bottom:.75rem;background-color:#eee;position:relative}.timeline-container{position:relative;background-color:#eee;height:6rem;width:100%;cursor:pointer;transition:width .3s ease}.timeline-marker{position:absolute;top:-10px;height:calc(100% + 10px);width:2px;background-color:red;z-index:100;pointer-events:none;box-shadow:0 0 4px #ff000080}.trim-line-marker{position:absolute;top:0;bottom:0;width:2px;background-color:#007bffe6;z-index:10}.trim-handle{width:8px;background-color:#6c757de6;position:absolute;top:0;bottom:0;cursor:ew-resize;z-index:15}.trim-handle.left{left:-4px}.trim-handle.right{right:-4px}.split-point{position:absolute;width:2px;background-color:#6c757de6;top:0;bottom:0;z-index:5}.clip-segment{position:absolute;height:95%;top:0;border-radius:4px;background-size:cover;background-position:center;background-blend-mode:soft-light;box-shadow:0 2px 8px #0003;overflow:hidden;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:box-shadow .2s,transform .1s;z-index:15}.clip-segment:nth-child(odd),.segment-color-1,.segment-color-3,.segment-color-5,.segment-color-7{background-color:transparent;border:2px solid rgba(0,123,255,.9)}.clip-segment:nth-child(2n),.segment-color-2,.segment-color-4,.segment-color-6,.segment-color-8{background-color:transparent;border:2px solid rgba(108,117,125,.9)}.clip-segment:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-1px);filter:brightness(1.1)}.clip-segment:active{cursor:grabbing;box-shadow:0 2px 6px #0000004d;transform:translateY(0)}.clip-segment.selected{border-width:3px;box-shadow:0 4px 12px #0006;z-index:25;filter:brightness(1.2)}.clip-segment-info{background-color:#e2e6eae6;color:#000;padding:6px 8px;font-size:.7rem;position:absolute;top:0;left:0;width:100%;border-radius:4px 4px 0 0;z-index:2;display:flex;flex-direction:column;gap:2px}.clip-segment-name{font-weight:700;color:#000}.clip-segment-time{font-size:.65rem;color:#000}.clip-segment-duration{font-size:.65rem;color:#000;background:#b3d9ff66;padding:1px 4px;border-radius:2px;display:inline-block;margin-top:2px}.clip-segment-handle{position:absolute;width:8px;top:0;bottom:0;background-color:#6c757de6;cursor:ew-resize;z-index:20;display:flex;align-items:center;justify-content:center}.clip-segment-handle:after{content:"↔";color:#fff;font-size:12px;text-shadow:0 0 2px rgba(0,0,0,.8)}.clip-segment-handle.left{left:0}.clip-segment-handle.right{right:0}.clip-segment-handle:hover{background-color:#007bffe6;width:10px}input[type=range]{-webkit-appearance:none;height:6px;background:#e0e0e0;border-radius:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;border-radius:50%;background:#007bffe6;cursor:pointer}[data-tooltip]{position:relative;cursor:pointer}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background-color:#000c;color:#fff;padding:5px 10px;border-radius:4px;font-size:.8rem;white-space:nowrap;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}[data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;margin-bottom:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}@media (hover: hover) and (pointer: fine){[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){[data-tooltip]:before,[data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}button[disabled][data-tooltip]:before,button[disabled][data-tooltip]:after{opacity:.5}.tooltip-action-btn{position:relative}.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{opacity:0;visibility:hidden;position:absolute;pointer-events:none;transition:all .3s ease}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);background-color:#000c;color:#fff;font-size:12px;padding:4px 8px;border-radius:3px;white-space:nowrap;bottom:-35px;left:50%;transform:translate(-50%);z-index:9999}.tooltip-action-btn[data-tooltip]:after{content:"";border-width:5px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.8) transparent;bottom:-15px;left:50%;transform:translate(-50%);z-index:9999}@media (hover: hover) and (pointer: fine){.tooltip-action-btn:hover[data-tooltip]:before,.tooltip-action-btn:hover[data-tooltip]:after{opacity:1;visibility:visible}}.segment-tooltip{background-color:#b3d9fff2;color:#000;border-radius:4px;padding:6px;min-width:140px;z-index:1000;box-shadow:0 3px 10px #0003}.segment-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(179,217,255,.95)}.tooltip-time{font-size:.85rem;font-weight:700;text-align:center;margin-bottom:6px;color:#000}.tooltip-actions{display:flex;justify-content:space-between;gap:5px;position:relative}.tooltip-action-btn{background-color:#007bff33;border:none;border-radius:3px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:6px;transition:background-color .2s;min-width:20px!important}.tooltip-action-btn:hover{background-color:#007bff66}.tooltip-action-btn svg{width:100%;height:100%;stroke:currentColor}.tooltip-action-btn.set-in svg,.tooltip-action-btn.set-out svg{width:100%;height:100%;margin:0 auto;fill:currentColor;stroke:none}.empty-space-tooltip{background-color:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;padding:8px;z-index:50;min-width:120px;text-align:center;position:relative}.empty-space-tooltip:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);border-width:8px 8px 0;border-style:solid;border-color:white transparent transparent}.tooltip-action-btn.new-segment{width:auto;padding:6px 10px;display:flex;align-items:center;gap:5px}.tooltip-btn-text{font-size:.8rem;white-space:nowrap;color:#000}.icon-new-segment{width:20px;height:20px}.zoom-dropdown-container{position:relative}.zoom-button{display:flex;align-items:center;gap:6px;background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.zoom-button:hover{background-color:#6c757d}.zoom-dropdown{background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #00000026;max-height:300px;overflow-y:auto}.zoom-option{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:5px}.zoom-option:hover{background-color:#007bff1a}.zoom-option.selected{background-color:#007bff33;font-weight:500}.save-button,.save-copy-button,.save-segments-button{background-color:#007bffcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.save-button:hover,.save-copy-button:hover{background-color:#007bff}.save-copy-button{background-color:#6c757dcc}.save-copy-button:hover{background-color:#6c757d}.time-nav-label{font-weight:500;font-size:.9rem}.time-input{padding:6px 10px;border-radius:4px;border:1px solid #ccc;width:150px;font-family:monospace}.time-button-group{display:flex;gap:5px}.time-button{background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:6px 8px;font-size:.8rem;cursor:pointer;transition:background-color .2s}.time-button:hover{background-color:#6c757d}.timeline-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px;background-color:#f5f5f5;border-radius:6px;margin-top:15px}.time-navigation{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.controls-right{display:flex;align-items:center;gap:10px}@media (max-width: 768px){.timeline-controls{flex-direction:column;align-items:flex-start;gap:15px}.controls-right{margin-top:10px;width:100%;justify-content:flex-start;text-align:center;align-items:center;justify-content:center}}.timeline-header{display:flex;align-items:center;gap:20px;margin-bottom:10px;flex-wrap:wrap}.timeline-title{font-weight:700;margin-right:20px}.timeline-title-text{font-size:1.1rem}.current-time,.duration-time{white-space:nowrap}.time-code{font-family:monospace;font-weight:500}@media (max-width: 480px){.timeline-header{flex-direction:column;align-items:flex-start;gap:8px}.time-navigation{width:100%;flex-direction:column;align-items:flex-start;gap:10px}.time-button-group{width:100%;display:flex;justify-content:space-between;margin-top:10px}.controls-right{flex-wrap:wrap;gap:8px}.save-button,.save-copy-button{margin-top:8px;width:100%}.zoom-dropdown-container{width:100%}.zoom-button{width:100%;justify-content:center}} +#chapters-editor-root{@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(1)}}}#chapters-editor-root .video-player-container{position:relative;width:100%;background:#000;border-radius:.5rem;overflow:hidden;margin-bottom:1rem;aspect-ratio:16/9;-webkit-user-select:none;-moz-user-select:none;user-select:none}#chapters-editor-root .video-player-container video{width:100%;height:100%;cursor:pointer;transform:translateZ(0);-webkit-transform:translateZ(0);-webkit-user-select:none;-moz-user-select:none;user-select:none}@supports (-webkit-touch-callout: none){#chapters-editor-root .video-player-container video{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}}#chapters-editor-root .play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background-color:#0009;border-radius:50%;opacity:0;transition:opacity .3s;pointer-events:none}#chapters-editor-root .video-player-container:hover .play-pause-indicator{opacity:1}#chapters-editor-root .play-pause-indicator:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#chapters-editor-root .play-pause-indicator.play-icon:before{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid white;margin-left:3px}#chapters-editor-root .play-pause-indicator.pause-icon:before{width:20px;height:25px;border-left:6px solid white;border-right:6px solid white}#chapters-editor-root .ios-first-play-indicator{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10}#chapters-editor-root .ios-play-message{color:#fff;font-size:1.2rem;text-align:center;padding:1rem;background:#000c;border-radius:.5rem;animation:pulse 2s infinite}#chapters-editor-root .video-controls{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity .3s}#chapters-editor-root .video-player-container:hover .video-controls{opacity:1}#chapters-editor-root .video-current-time,#chapters-editor-root .video-duration{color:#fff;font-size:.875rem}#chapters-editor-root .video-time-display{display:flex;justify-content:space-between;margin-bottom:.5rem;color:#fff;font-size:.875rem}#chapters-editor-root .video-progress{position:relative;height:6px;background-color:#ffffff4d;border-radius:3px;cursor:pointer;margin:0 10px;touch-action:none;flex-grow:1}#chapters-editor-root .video-progress.dragging{height:8px}#chapters-editor-root .video-progress-fill{position:absolute;top:0;left:0;height:100%;background-color:red;border-radius:3px;pointer-events:none}#chapters-editor-root .video-scrubber{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;background-color:red;border-radius:50%;cursor:grab;transition:transform .1s ease,width .1s ease,height .1s ease}#chapters-editor-root .video-progress.dragging .video-scrubber{transform:translate(-50%,-50%) scale(1.2);width:18px;height:18px;cursor:grabbing;box-shadow:0 0 8px #f009}@media (pointer: coarse){#chapters-editor-root .video-scrubber{width:20px;height:20px}#chapters-editor-root .video-progress.dragging .video-scrubber{width:24px;height:24px}#chapters-editor-root .video-scrubber:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px}}#chapters-editor-root .video-controls-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}#chapters-editor-root .mute-button,#chapters-editor-root .fullscreen-button{min-width:auto;color:#fff;background:none;border:none;cursor:pointer;padding:.25rem;transition:transform .2s}#chapters-editor-root .mute-button:hover,#chapters-editor-root .fullscreen-button:hover{transform:scale(1.1)}#chapters-editor-root .mute-button svg,#chapters-editor-root .fullscreen-button svg{width:1.25rem;height:1.25rem}#chapters-editor-root .video-time-tooltip{position:absolute;top:-30px;background-color:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-family:monospace;pointer-events:none;z-index:1000;white-space:nowrap;box-shadow:0 2px 4px #0000004d}#chapters-editor-root .video-time-tooltip:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7)}#chapters-editor-root{@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes success-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes error-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}}#chapters-editor-root .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}#chapters-editor-root .modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modal-fade-in .3s ease-out}#chapters-editor-root .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}#chapters-editor-root .modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#333}#chapters-editor-root .modal-close-button{background:none;border:none;cursor:pointer;color:#666;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}#chapters-editor-root .modal-close-button:hover{color:#000}#chapters-editor-root .modal-content{padding:20px;color:#333;font-size:1rem;line-height:1.5;max-height:400px;overflow-y:auto}#chapters-editor-root .modal-actions{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid #eee;gap:12px}#chapters-editor-root .modal-button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:none}#chapters-editor-root .modal-button-primary{background-color:#06c;color:#fff}#chapters-editor-root .modal-button-primary:hover{background-color:#05a}#chapters-editor-root .modal-button-secondary{background-color:#f0f0f0;color:#333}#chapters-editor-root .modal-button-secondary:hover{background-color:#e0e0e0}#chapters-editor-root .modal-button-danger{background-color:#dc3545;color:#fff}#chapters-editor-root .modal-button-danger:hover{background-color:#bd2130}#chapters-editor-root .modal-message{margin-bottom:16px;font-size:1rem}#chapters-editor-root .modal-spinner{display:flex;align-items:center;justify-content:center;margin:20px 0}#chapters-editor-root .spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #0066cc;width:30px;height:30px;animation:spin 1s linear infinite}#chapters-editor-root .modal-success-icon{display:flex;justify-content:center;margin-bottom:16px;color:#28a745;font-size:2rem}#chapters-editor-root .modal-success-icon svg{width:60px;height:60px;color:#4caf50;animation:success-pop .5s ease-out}#chapters-editor-root .modal-error-icon{display:flex;justify-content:center;margin-bottom:16px;color:#dc3545;font-size:2rem}#chapters-editor-root .modal-error-icon svg{width:60px;height:60px;color:#f44336;animation:error-pop .5s ease-out}#chapters-editor-root .modal-choices{display:flex;flex-direction:column;gap:10px;margin-top:20px}#chapters-editor-root .modal-choice-button{padding:12px 16px;border:none;border-radius:4px;background-color:#06c;text-align:center;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-weight:500;text-decoration:none;color:#fff}#chapters-editor-root .modal-choice-button:hover{background-color:#05a;transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}#chapters-editor-root .modal-choice-button svg{margin-right:8px}#chapters-editor-root .success-link{background-color:#4caf50}#chapters-editor-root .success-link:hover{background-color:#3d8b40}#chapters-editor-root .centered-choice{margin:0 auto;width:auto;min-width:220px;background-color:#06c;color:#fff}#chapters-editor-root .centered-choice:hover{background-color:#05a}@media (max-width: 480px){#chapters-editor-root .modal-container{width:95%}#chapters-editor-root .modal-actions{flex-direction:column}#chapters-editor-root .modal-button{width:100%}}#chapters-editor-root .error-message{color:#f44336;font-weight:500;background-color:#f443361a;padding:10px;border-radius:4px;border-left:4px solid #f44336;margin-top:10px}#chapters-editor-root .redirect-message{color:#555;font-size:.95rem;padding:0;margin:0}#chapters-editor-root .countdown{font-weight:700;color:#06c;font-size:1.1rem}#chapters-editor-root{@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}}#chapters-editor-root .timeline-container-card{background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .timeline-header{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}#chapters-editor-root .timeline-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333)}#chapters-editor-root .timeline-title-text{font-weight:700}#chapters-editor-root .current-time{font-size:.875rem;color:var(--foreground, #333)}#chapters-editor-root .time-code{font-family:monospace;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem}#chapters-editor-root .duration-time{font-size:.875rem;color:var(--foreground, #333)}#chapters-editor-root .timeline-scroll-container{position:relative;overflow:visible!important}#chapters-editor-root .timeline-container{position:relative;min-width:100%;background-color:#fafbfc;height:70px;border-radius:.25rem;overflow:visible!important}#chapters-editor-root .timeline-marker{position:absolute;height:82px;width:2px;background-color:#000;transform:translate(-50%);z-index:50;pointer-events:none}#chapters-editor-root .timeline-marker-head{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:16px;height:16px;background-color:#ef4444;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:51}#chapters-editor-root .timeline-marker-drag{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:16px;height:16px;background-color:#4b5563;border-radius:50%;cursor:grab;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:51}#chapters-editor-root .timeline-marker-drag.dragging{cursor:grabbing;background-color:#374151}#chapters-editor-root .timeline-marker-head-icon{color:#fff;font-size:14px;font-weight:700;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}#chapters-editor-root .timeline-marker-drag-icon{color:#fff;font-size:12px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:rotate(90deg);display:inline-block}#chapters-editor-root .trim-line-marker{position:absolute;top:0;bottom:0;width:1px;background-color:#00000080;z-index:20}#chapters-editor-root .trim-handle{position:absolute;width:10px;height:20px;background-color:#000;cursor:ew-resize}#chapters-editor-root .trim-handle.left{right:0;top:10px;border-radius:3px 0 0 3px}#chapters-editor-root .trim-handle.right{left:0;top:10px;border-radius:0 3px 3px 0}#chapters-editor-root .timeline-thumbnail{display:inline-block;height:70px;border-right:1px solid rgba(0,0,0,.03)}#chapters-editor-root .split-point{position:absolute;top:0;bottom:0;width:1px;background-color:#ff000080;z-index:15}#chapters-editor-root .clip-segment{position:absolute;height:70px;border-radius:4px;z-index:10;border:2px solid rgba(0,0,0,.15);cursor:pointer}#chapters-editor-root .clip-segment:hover{box-shadow:0 0 0 2px #0000004d;border-color:#0006;background-color:#f0f0f0cc!important}#chapters-editor-root .clip-segment.selected{box-shadow:0 0 0 2px #3b82f6b3;border-color:#3b82f6e6}#chapters-editor-root .clip-segment.selected:hover{background-color:#f0f8ffd9!important}#chapters-editor-root .clip-segment-info{position:absolute;bottom:0;left:0;right:0;padding:.4rem;background-color:#0006;color:#fff;opacity:1;transition:background-color .2s;line-height:1.3}#chapters-editor-root .clip-segment:hover .clip-segment-info{background-color:#00000080}#chapters-editor-root .clip-segment.selected .clip-segment-info{background-color:#3b82f680}#chapters-editor-root .clip-segment.selected:hover .clip-segment-info{background-color:#3b82f666}#chapters-editor-root .clip-segment-name{font-weight:700;font-size:12px}#chapters-editor-root .clip-segment-time,#chapters-editor-root .clip-segment-duration{font-size:10px}#chapters-editor-root .clip-segment-handle{position:absolute;top:0;bottom:0;width:6px;background-color:#0003;cursor:ew-resize}#chapters-editor-root .clip-segment-handle:hover{background-color:#0006}#chapters-editor-root .clip-segment-handle.left{left:0;border-radius:2px 0 0 2px}#chapters-editor-root .clip-segment-handle.right{right:0;border-radius:0 2px 2px 0}@media (pointer: coarse){#chapters-editor-root .clip-segment-handle{width:14px;background-color:#0006}#chapters-editor-root .clip-segment-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:20px;background-color:#fffc;border-radius:1px}#chapters-editor-root .clip-segment-handle.left:after{box-shadow:-2px 0 #00000080}#chapters-editor-root .clip-segment-handle.right:after{box-shadow:2px 0 #00000080}#chapters-editor-root .clip-segment-handle:active{background-color:#0009}#chapters-editor-root .timeline-marker{height:85px}#chapters-editor-root .timeline-marker-head{width:24px;height:24px;top:-13px}#chapters-editor-root .timeline-marker-drag{width:24px;height:24px;bottom:-18px}#chapters-editor-root .timeline-marker-head.dragging{width:28px;height:28px;top:-15px}}#chapters-editor-root .segment-tooltip,#chapters-editor-root .empty-space-tooltip{position:absolute;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #0000004d;padding:.5rem;z-index:1000;min-width:150px;text-align:center;pointer-events:auto;top:-105px!important;transform:translateY(-10px)}#chapters-editor-root .segment-tooltip{top:-165px!important}#chapters-editor-root .segment-tooltip:after,#chapters-editor-root .empty-space-tooltip:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid white}#chapters-editor-root .segment-tooltip:before,#chapters-editor-root .empty-space-tooltip:before{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.1);z-index:-1}#chapters-editor-root .tooltip-time{font-weight:600;font-size:.875rem;margin-bottom:.5rem;color:#333}#chapters-editor-root .tooltip-actions{display:flex;justify-content:center;gap:.5rem}#chapters-editor-root .tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:.25rem;padding:.375rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;min-width:20px!important}#chapters-editor-root .tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}#chapters-editor-root .tooltip-action-btn.delete{color:#ef4444}#chapters-editor-root .tooltip-action-btn.delete:hover{background-color:#fee2e2}#chapters-editor-root .tooltip-action-btn.new-segment{padding:.375rem .5rem}#chapters-editor-root .tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:.25rem;font-size:.75rem}#chapters-editor-root .tooltip-action-btn svg{width:1rem;height:1rem}#chapters-editor-root .timeline-controls{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}#chapters-editor-root .time-navigation{display:none;align-items:center;gap:.5rem}#chapters-editor-root .time-nav-label{font-size:.875rem;font-weight:500}#chapters-editor-root .time-input{border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;width:8rem;font-size:.875rem}#chapters-editor-root .time-button-group{display:flex}#chapters-editor-root .time-button{background-color:#e5e7eb;color:#000;padding:.25rem .5rem;font-size:.875rem;border:none;cursor:pointer;margin-right:.5rem}#chapters-editor-root .time-button:hover{background-color:#d1d5db}#chapters-editor-root .time-button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#chapters-editor-root .time-button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#chapters-editor-root .controls-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}#chapters-editor-root .zoom-dropdown-container{position:relative;z-index:100;display:none}#chapters-editor-root .zoom-button{background-color:#374151;color:#fff;border:none;border-radius:.25rem;padding:.25rem .75rem;font-size:.875rem;display:flex;align-items:center;cursor:pointer}#chapters-editor-root .zoom-button:hover{background-color:#1f2937}#chapters-editor-root .zoom-button svg{margin-left:.25rem}#chapters-editor-root .zoom-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;width:9rem;background-color:#374151;color:#fff;border-radius:.25rem;box-shadow:0 4px 6px -1px #0000001a;z-index:50;max-height:300px;overflow-y:auto}#chapters-editor-root .zoom-option{padding:.25rem .75rem;cursor:pointer}#chapters-editor-root .zoom-option:hover{background-color:#4b5563}#chapters-editor-root .zoom-option.selected{background-color:#6b7280;display:flex;align-items:center}#chapters-editor-root .zoom-option svg{margin-right:.25rem}#chapters-editor-root .save-buttons-row{display:flex;align-items:center;gap:.5rem;margin:0;flex-wrap:nowrap}#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{color:#fff;background:#06c;border-radius:.25rem;font-size:.75rem;padding:.25rem .5rem;cursor:pointer;border:none;white-space:nowrap;transition:background-color .2s;min-width:-moz-fit-content;min-width:fit-content}#chapters-editor-root .save-button:hover,#chapters-editor-root .save-copy-button:hover,#chapters-editor-root .save-segments-button:hover{background-color:#0056b3}@media (max-width: 576px){#chapters-editor-root .save-buttons-row{width:100%;justify-content:space-between;gap:.5rem}#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{flex:1;font-size:.7rem;padding:.25rem .35rem}}@media (max-width: 480px){#chapters-editor-root .save-button,#chapters-editor-root .save-copy-button,#chapters-editor-root .save-segments-button{font-size:.675rem;padding:.25rem}#chapters-editor-root .controls-right,#chapters-editor-root .controls-right button{margin:0}}#chapters-editor-root .modal-success-content,#chapters-editor-root .modal-error-content{display:flex;flex-direction:column;align-items:center;padding:1rem;text-align:center;padding:0;margin:0}#chapters-editor-root .modal-success-icon,#chapters-editor-root .modal-error-icon{margin-bottom:1rem}#chapters-editor-root .modal-success-icon svg{color:#4caf50;animation:fadeIn .5s ease-in-out}#chapters-editor-root .modal-error-icon svg{color:#f44336;animation:fadeIn .5s ease-in-out}#chapters-editor-root .success-link{background-color:#4caf50;color:#fff;transition:background-color .3s}#chapters-editor-root .success-link:hover{background-color:#388e3c}#chapters-editor-root .error-message{color:#f44336;font-weight:500}#chapters-editor-root .modal-spinner{display:flex;justify-content:center;margin:2rem 0}#chapters-editor-root .spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#06c;animation:spin 1s ease-in-out infinite}#chapters-editor-root .auto-save-spinner{animation:spin 1s linear infinite}#chapters-editor-root .text-center{text-align:center}#chapters-editor-root .modal-message{margin-bottom:1rem;line-height:1.5}#chapters-editor-root .modal-choice-button{display:flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;background-color:#06c;color:#fff;border-radius:4px;text-decoration:none;margin:0 auto;cursor:pointer;font-weight:500;gap:.5rem;border:none;transition:background-color .3s}#chapters-editor-root .modal-choice-button:hover{background-color:#0056b3}#chapters-editor-root .modal-choice-button svg{flex-shrink:0}#chapters-editor-root .centered-choice{margin:0 auto;min-width:180px}.mobile-timeline-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:50;display:flex;justify-content:center;align-items:center;border-radius:.5rem;pointer-events:none}.mobile-timeline-message{background-color:#000c;border-radius:8px;padding:15px 25px;text-align:center;max-width:80%;animation:pulse 2s infinite}.mobile-timeline-message p{color:#fff;font-size:16px;margin:0 0 15px;font-weight:500}.mobile-play-icon{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid white;margin:0 auto}@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(1)}}.segments-playback-mode .tooltip-time-btn,.segments-playback-mode .tooltip-action-btn.play,.segments-playback-mode .tooltip-action-btn.pause{opacity:1;cursor:pointer}.segments-playback-mode .tooltip-time-btn[disabled],.segments-playback-mode .tooltip-action-btn[disabled]{opacity:.5!important;cursor:not-allowed!important}.segments-playback-mode [data-tooltip][disabled]:hover:before,.segments-playback-mode [data-tooltip][disabled]:hover:after{opacity:1!important;visibility:visible!important}.segments-playback-message{display:flex;align-items:center;background-color:#3b82f61a;color:#3b82f6;padding:6px 12px;border-radius:4px;font-weight:600;font-size:.875rem;animation:pulse 2s infinite}.segments-playback-message svg{height:1.25rem;width:1.25rem;margin-right:.5rem;color:#3b82f6}.chapter-editor{background-color:#f8fafc;border:2px solid #3b82f6;border-radius:.5rem;padding:1rem;margin-bottom:1rem;transition:all .2s ease}.chapter-editor-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem;gap:1rem}.chapter-editor-title-section{display:flex;flex-direction:column;gap:.5rem;flex:1}.chapter-editor-header h4{margin:0;font-size:.875rem;font-weight:600;color:#1f2937}.chapter-editor-segment{font-size:.75rem;color:#6b7280;background-color:#e5e7eb;padding:.25rem .5rem;border-radius:.25rem;display:inline-block}.save-chapters-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.save-chapters-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f64d}.save-chapters-button.has-changes{background-color:#10b981;animation:pulse-green-chapters 2s infinite}.save-chapters-button.has-changes:hover{background-color:#059669}.save-chapters-button svg{width:1rem;height:1rem}@keyframes pulse-green-chapters{0%,to{background-color:#10b981}50%{background-color:#34d399}}.chapter-title-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.chapter-title-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.chapter-title-input::-moz-placeholder{color:#9ca3af}.chapter-title-input::placeholder{color:#9ca3af}.chapter-editor-info{margin-top:.5rem;font-size:.75rem;color:#6b7280;font-style:italic}@media (max-width: 768px){.chapter-editor-header{flex-direction:column;gap:.75rem;align-items:stretch}.save-chapters-button{justify-content:center;align-self:stretch}.chapter-editor-segment{text-align:center}}.tooltip-chapter-editor{background-color:#fffffff2;border-radius:.375rem;pointer-events:auto}textarea.tooltip-chapter-input{width:100%;padding:.5rem;border:2px solid #ccc;border-radius:.25rem;background-color:#fff;color:#000;font-size:.75rem;resize:none;outline:none;box-sizing:border-box;height:55px!important;max-height:55px!important;min-height:55px!important}textarea.tooltip-chapter-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}textarea.tooltip-chapter-input::-moz-placeholder{color:#999}textarea.tooltip-chapter-input::placeholder{color:#999}.two-row-tooltip{display:flex;flex-direction:column;background-color:#fff;padding:6px;border-radius:4px;box-shadow:0 2px 8px #00000026;position:relative;z-index:3000}.tooltip-time-btn[data-tooltip="Decrease by 100ms"],.tooltip-time-btn[data-tooltip="Increase by 100ms"]{display:none!important}.tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:3px}.tooltip-row:first-child{margin-bottom:6px}.tooltip-time-btn{background-color:#f0f0f0!important;border:none!important;border-radius:4px!important;padding:4px 8px!important;font-size:.75rem!important;font-weight:500!important;color:#333!important;cursor:pointer!important;transition:background-color .2s!important;min-width:20px!important}.tooltip-time-btn:hover{background-color:#e0e0e0!important}.tooltip-time-display{font-family:monospace!important;font-size:.875rem!important;font-weight:600!important;color:#333!important;padding:4px 6px!important;background-color:#f7f7f7!important;border-radius:4px!important;min-width:100px!important;text-align:center!important;overflow:hidden!important}.tooltip-time-display.disabled{pointer-events:none!important;cursor:not-allowed!important;opacity:.6!important;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.tooltip-time-btn.disabled[data-tooltip]:hover:before,.tooltip-time-btn.disabled[data-tooltip]:hover:after,.tooltip-action-btn.disabled[data-tooltip]:hover:before,.tooltip-action-btn.disabled[data-tooltip]:hover:after{opacity:1!important;visibility:visible!important}.tooltip-actions{display:flex;justify-content:space-between;align-items:center;gap:3px;position:relative;z-index:2500;margin-top:5px}.tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:4px;padding:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;width:26px;height:26px;min-width:20px!important;position:relative}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);position:absolute;height:30px;top:35px;left:50%;transform:translate(-50%);margin-left:0;background-color:#000000d9;color:#fff;text-align:left;padding:6px 12px;border-radius:4px;box-shadow:0 2px 8px #0003;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}.tooltip-action-btn[data-tooltip]:after{content:"";position:absolute;top:35px;left:50%;transform:translate(-50%);border-width:4px;border-style:solid;border-color:rgba(0,0,0,.85) transparent transparent transparent;margin-left:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}@media (hover: hover) and (pointer: fine){.tooltip-action-btn[data-tooltip]:hover:before,.tooltip-action-btn[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;content:none!important}}.tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}.tooltip-action-btn.delete{color:#ef4444}.tooltip-action-btn.delete:hover{background-color:#fee2e2}.tooltip-action-btn.play{color:#10b981}.tooltip-action-btn.play:hover{background-color:#d1fae5}.tooltip-action-btn.pause{color:#3b82f6}.tooltip-action-btn.pause:hover{background-color:#dbeafe}.tooltip-action-btn.play-from-start{color:#4f46e5}.tooltip-action-btn.play-from-start:hover{background-color:#e0e7ff}.tooltip-action-btn svg{width:16px;height:16px}.tooltip-action-btn.new-segment{width:auto;height:auto;padding:6px 10px;display:flex;flex-direction:row;color:#10b981}.tooltip-action-btn.new-segment:hover{background-color:#d1fae5}.tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:6px;font-size:.75rem;white-space:nowrap}.tooltip-action-btn.disabled{opacity:.5;cursor:not-allowed;background-color:#f3f4f6}.tooltip-action-btn.disabled:hover{background-color:#f3f4f6;color:#9ca3af}.tooltip-action-btn.disabled svg{color:#9ca3af}.tooltip-action-btn.disabled .tooltip-btn-text{color:#9ca3af}.tooltip-action-btn.pause.disabled{color:#9ca3af!important;opacity:.5;cursor:not-allowed}.tooltip-action-btn.pause.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-action-btn.play.disabled{color:#9ca3af!important;opacity:.5;cursor:not-allowed}.tooltip-action-btn.play.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-time-btn.disabled{opacity:.5!important;cursor:not-allowed!important;background-color:#f3f4f6!important;color:#9ca3af!important}.tooltip-time-btn.disabled:hover{background-color:#f3f4f6!important;color:#9ca3af!important}@media (max-width: 768px){.two-row-tooltip{padding:4px}.tooltip-row:first-child{margin-bottom:4px}.tooltip-time-btn{min-width:20px!important;font-size:.7rem!important;padding:3px 6px!important}.tooltip-time-display{font-size:.8rem!important;padding:3px 4px!important;min-width:90px!important}.tooltip-action-btn{width:24px;height:24px;padding:4px}.tooltip-action-btn.new-segment{padding:4px 8px}.tooltip-action-btn svg{width:14px;height:14px}.tooltip-action-btn[data-tooltip]:before{min-width:100px;font-size:11px;padding:4px 8px;height:24px;top:33px}.tooltip-action-btn[data-tooltip]:after{top:33px}}#chapters-editor-root{@keyframes bluePulse{0%{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}to{box-shadow:0 0 #3b82f600}}@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}}#chapters-editor-root .editing-tools-container{background-color:#fff;border-radius:.5rem;padding:1rem;margin-bottom:2.5rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .flex-container{display:flex;justify-content:space-between;align-items:center;position:relative;gap:15px;width:100%}#chapters-editor-root .flex-container.single-row{flex-wrap:nowrap}#chapters-editor-root .full-text{display:inline}#chapters-editor-root .short-text{display:none}#chapters-editor-root .reset-text{display:inline}#chapters-editor-root .button-group{display:flex;align-items:center}#chapters-editor-root .button-group.play-buttons-group{gap:.75rem;justify-content:flex-start;flex:0 0 auto}#chapters-editor-root .button-group.secondary{gap:.75rem;align-items:center;justify-content:flex-end;margin-left:auto}#chapters-editor-root .button-group button{display:flex;align-items:center;color:#333;background:none;border:none;cursor:pointer;min-width:auto}#chapters-editor-root .button-group button:hover:not(:disabled){color:inherit}#chapters-editor-root .button-group button:disabled{opacity:.5;cursor:not-allowed}#chapters-editor-root .button-group button svg{height:1.25rem;width:1.25rem;margin-right:.25rem}#chapters-editor-root .divider{border-right:1px solid #d1d5db;height:1.5rem;margin:0 .5rem}#chapters-editor-root .play-button,#chapters-editor-root .preview-button{font-weight:600;display:flex;align-items:center;position:relative;overflow:hidden;min-width:80px;justify-content:center;font-size:.875rem!important}#chapters-editor-root .play-button.greyed-out{opacity:.5;cursor:not-allowed}#chapters-editor-root .segments-button.highlighted-stop{background-color:#3b82f61a;color:#3b82f6;border:1px solid #3b82f6;animation:bluePulse 2s infinite}#chapters-editor-root .play-button:hover:not(:disabled),#chapters-editor-root .preview-button:hover:not(:disabled){color:inherit!important;transform:none!important;font-size:.875rem!important;width:auto!important;background:none!important}#chapters-editor-root .play-button svg,#chapters-editor-root .preview-button svg{height:1.5rem;width:1.5rem;flex-shrink:0}#chapters-editor-root .button-text{margin-left:.25rem}@media (max-width: 992px){#chapters-editor-root .button-group.secondary .button-text{display:none}}@media (max-width: 768px){#chapters-editor-root .flex-container.single-row{justify-content:space-between}#chapters-editor-root .button-group{gap:.5rem}#chapters-editor-root .preview-button,#chapters-editor-root .play-button{font-size:.875rem!important}}@media (max-width: 640px){#chapters-editor-root .editing-tools-container{padding:.75rem;overflow-x:hidden}#chapters-editor-root .preview-button{min-width:auto}#chapters-editor-root .full-text{display:none}#chapters-editor-root .short-text{display:inline;margin-left:.15rem}#chapters-editor-root .reset-text{display:none}#chapters-editor-root .button-group.play-buttons-group{flex:initial;justify-content:flex-start;flex-shrink:0}#chapters-editor-root .button-group.secondary{flex:initial;justify-content:flex-end;flex-shrink:0}#chapters-editor-root .button-group button{padding:.375rem;min-width:auto}#chapters-editor-root .button-group button svg{height:1.125rem;width:1.125rem;margin-right:.125rem}}@media (max-width: 576px){#chapters-editor-root .flex-container.single-row{justify-content:space-between;flex-wrap:nowrap;gap:10px}#chapters-editor-root .button-group.play-buttons-group{justify-content:flex-start;flex:0 0 auto}#chapters-editor-root .button-group.secondary{justify-content:flex-end;margin-left:auto}#chapters-editor-root .button-group button{padding:.25rem}#chapters-editor-root .divider{margin:0 .25rem}}@media (max-width: 480px){#chapters-editor-root .editing-tools-container{padding:.5rem}#chapters-editor-root .flex-container.single-row{gap:8px}#chapters-editor-root .button-group.play-buttons-group,#chapters-editor-root .button-group.secondary{gap:.25rem}#chapters-editor-root .divider{display:none}#chapters-editor-root .button-group button{padding:.125rem}#chapters-editor-root .button-group button svg{height:1rem;width:1rem;margin-right:0}#chapters-editor-root .button-text,#chapters-editor-root .reset-text{display:none}}@media (max-width: 640px) and (orientation: portrait){#chapters-editor-root .editing-tools-container{width:100%;box-sizing:border-box}#chapters-editor-root .flex-container.single-row{width:100%;padding:0;margin:0}#chapters-editor-root .button-group{max-width:50%}#chapters-editor-root .button-group.play-buttons-group{max-width:60%}#chapters-editor-root .button-group.secondary{max-width:40%}}#chapters-editor-root{@keyframes pulse-green{0%,to{background-color:#10b981}50%{background-color:#34d399}}}@media (hover: hover) and (pointer: fine){#chapters-editor-root [data-tooltip]{position:relative}#chapters-editor-root [data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;background-color:#000c;color:#fff;text-align:center;padding:5px 10px;border-radius:3px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none}#chapters-editor-root [data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}#chapters-editor-root [data-tooltip]:hover:before,#chapters-editor-root [data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){#chapters-editor-root [data-tooltip]:before,#chapters-editor-root [data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}#chapters-editor-root .clip-segments-container{margin-top:1rem;background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#chapters-editor-root .clip-segments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}#chapters-editor-root .clip-segments-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333);margin:0}#chapters-editor-root .save-chapters-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}#chapters-editor-root .save-chapters-button:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f64d}#chapters-editor-root .save-chapters-button.has-changes{background-color:#10b981;animation:pulse-green 2s infinite}#chapters-editor-root .save-chapters-button.has-changes:hover{background-color:#059669}#chapters-editor-root .save-chapters-button svg{width:1rem;height:1rem}#chapters-editor-root .chapter-editor{background-color:#f8fafc;border:2px solid #3b82f6;border-radius:.5rem;padding:1rem;margin-bottom:1rem;transition:all .2s ease}#chapters-editor-root .chapter-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}#chapters-editor-root .chapter-editor-header h4{margin:0;font-size:.875rem;font-weight:600;color:#1f2937}#chapters-editor-root .chapter-editor-segment{font-size:.75rem;color:#6b7280;background-color:#e5e7eb;padding:.25rem .5rem;border-radius:.25rem}#chapters-editor-root .chapter-title-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}#chapters-editor-root .chapter-title-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}#chapters-editor-root .chapter-title-input::-moz-placeholder{color:#9ca3af}#chapters-editor-root .chapter-title-input::placeholder{color:#9ca3af}#chapters-editor-root .chapter-editor-info{margin-top:.5rem;font-size:.75rem;color:#6b7280;font-style:italic}#chapters-editor-root .segment-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border:1px solid #e5e7eb;border-radius:.25rem;margin-bottom:.5rem;transition:all .2s ease}#chapters-editor-root .segment-item:hover{box-shadow:0 4px 6px -1px #0000001a}#chapters-editor-root .segment-item.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#3b82f60d}#chapters-editor-root .segment-content{display:flex;align-items:center}#chapters-editor-root .segment-info{display:flex;flex-direction:column}#chapters-editor-root .segment-title{font-weight:500;font-size:.875rem;color:#000}#chapters-editor-root .chapter-title{color:#1f2937;font-weight:600}#chapters-editor-root .default-title{color:#6b7280;font-style:italic}#chapters-editor-root .segment-time{font-size:.75rem;color:#000}#chapters-editor-root .segment-duration{font-size:.75rem;margin-top:.25rem;display:inline-block;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem;color:#000}#chapters-editor-root .segment-actions{display:flex;align-items:center;gap:.5rem}#chapters-editor-root .delete-button{padding:.375rem;color:#4b5563;background-color:#e5e7eb;border-radius:9999px;border:none;cursor:pointer;transition:background-color .2s,color .2s;min-width:auto}#chapters-editor-root .delete-button:hover{color:#000;background-color:#d1d5db}#chapters-editor-root .delete-button svg{height:1rem;width:1rem}#chapters-editor-root .empty-message{padding:1rem;text-align:center;color:#333333b3}#chapters-editor-root .segment-color-1{background-color:#3b82f626}#chapters-editor-root .segment-color-2{background-color:#10b98126}#chapters-editor-root .segment-color-3{background-color:#f59e0b26}#chapters-editor-root .segment-color-4{background-color:#ef444426}#chapters-editor-root .segment-color-5{background-color:#8b5cf626}#chapters-editor-root .segment-color-6{background-color:#ec489926}#chapters-editor-root .segment-color-7{background-color:#06b6d426}#chapters-editor-root .segment-color-8{background-color:#facc1526}@media (max-width: 768px){#chapters-editor-root .clip-segments-header{flex-direction:column;gap:.75rem;align-items:stretch}#chapters-editor-root .save-chapters-button{justify-content:center}#chapters-editor-root .chapter-editor-header{flex-direction:column;gap:.5rem;align-items:flex-start}#chapters-editor-root .chapter-editor-segment{align-self:stretch;text-align:center}}.mobile-play-prompt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.mobile-play-prompt{background-color:#fff;width:90%;max-width:400px;border-radius:12px;padding:25px;box-shadow:0 4px 20px #00000040;text-align:center}.mobile-play-prompt h3{margin:0 0 15px;font-size:20px;color:#333;font-weight:600}.mobile-play-prompt p{margin:0 0 15px;font-size:16px;color:#444;line-height:1.5}.mobile-prompt-instructions{margin:20px 0;text-align:left;background-color:#f8f9fa;padding:15px;border-radius:8px}.mobile-prompt-instructions p{margin:0 0 8px;font-size:15px;font-weight:500}.mobile-prompt-instructions ol{margin:0;padding-left:22px}.mobile-prompt-instructions li{margin-bottom:8px;font-size:14px;color:#333}.mobile-play-button{background-color:#007bff;color:#fff;border:none;border-radius:8px;padding:12px 25px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:5px;min-height:44px;min-width:200px}.mobile-play-button:hover{background-color:#0069d9}.mobile-play-button:active{background-color:#0062cc;transform:scale(.98)}.safari-notice{text-align:center;margin-bottom:20px;padding:15px;background-color:#ffffff1a;border-radius:8px;border:1px solid rgba(255,255,255,.2)}.safari-notice h3{color:#fff;margin:0 0 10px;font-size:1.2em;font-weight:600}.safari-notice p{color:#e0e0e0;margin:0;font-size:.95em;line-height:1.4}@supports (-webkit-touch-callout: none){.mobile-play-button{padding:14px 25px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:hsl(var(--border))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-6xl{max-width:72rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.bg-background{background-color:hsl(var(--background))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.paused{animation-play-state:paused}:root{--foreground: 20 14.3% 4.1%;--muted: 60 4.8% 95.9%;--muted-foreground: 25 5.3% 44.7%;--popover: 0 0% 100%;--popover-foreground: 20 14.3% 4.1%;--card: 0 0% 100%;--card-foreground: 20 14.3% 4.1%;--border: 20 5.9% 90%;--input: 20 5.9% 90%;--primary: 207 90% 54%;--primary-foreground: 211 100% 99%;--secondary: 30 84% 54%;--secondary-foreground: 60 9.1% 97.8%;--accent: 60 4.8% 95.9%;--accent-foreground: 24 9.8% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 60 9.1% 97.8%;--ring: 20 14.3% 4.1%;--radius: .5rem}.video-player{position:relative;width:100%;background-color:#000;overflow:hidden;border-radius:.5rem}.video-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1rem;display:flex;flex-direction:column}.video-current-time{color:#fff;font-weight:500}.video-progress{position:relative;height:4px;background-color:#ffffff4d;border-radius:2px;margin-bottom:1rem}.video-progress-fill{position:absolute;left:0;top:0;height:100%;background-color:hsl(var(--primary));border-radius:2px}.video-scrubber{position:absolute;width:12px;height:12px;margin-left:-6px;background-color:#fff;border-radius:50%;top:-4px}.video-player-container{position:relative;overflow:hidden}.play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background-color:#00000080;z-index:20;opacity:0;transition:opacity .2s ease;pointer-events:none;background-position:center;background-repeat:no-repeat}.play-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")}.pause-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M6 19h4V5H6v14zm8-14v14h4V5h-4z'/%3E%3C/svg%3E")}.video-player-container:hover .play-pause-indicator{opacity:1}.timeline-scroll-container{height:6rem;border-radius:.375rem;overflow-x:auto;overflow-y:hidden;margin-bottom:.75rem;background-color:#eee;position:relative}.timeline-container{position:relative;background-color:#eee;height:6rem;width:100%;cursor:pointer;transition:width .3s ease}.timeline-marker{position:absolute;top:-10px;height:calc(100% + 10px);width:2px;background-color:red;z-index:100;pointer-events:none;box-shadow:0 0 4px #ff000080}.trim-line-marker{position:absolute;top:0;bottom:0;width:2px;background-color:#007bffe6;z-index:10}.trim-handle{width:8px;background-color:#6c757de6;position:absolute;top:0;bottom:0;cursor:ew-resize;z-index:15}.trim-handle.left{left:-4px}.trim-handle.right{right:-4px}.split-point{position:absolute;width:2px;background-color:#6c757de6;top:0;bottom:0;z-index:5}.clip-segment{position:absolute;height:95%;top:0;border-radius:4px;background-size:cover;background-position:center;background-blend-mode:soft-light;box-shadow:0 2px 8px #0003;overflow:hidden;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:box-shadow .2s,transform .1s;z-index:15}.clip-segment:nth-child(odd),.segment-color-1,.segment-color-3,.segment-color-5,.segment-color-7{background-color:transparent;border:2px solid rgba(0,123,255,.9)}.clip-segment:nth-child(2n),.segment-color-2,.segment-color-4,.segment-color-6,.segment-color-8{background-color:transparent;border:2px solid rgba(108,117,125,.9)}.clip-segment:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-1px);filter:brightness(1.1)}.clip-segment:active{cursor:grabbing;box-shadow:0 2px 6px #0000004d;transform:translateY(0)}.clip-segment.selected{border-width:3px;box-shadow:0 4px 12px #0006;z-index:25;filter:brightness(1.2)}.clip-segment-info{background-color:#e2e6eae6;color:#000;padding:6px 8px;font-size:.7rem;position:absolute;top:0;left:0;width:100%;border-radius:4px 4px 0 0;z-index:2;display:flex;flex-direction:column;gap:2px}.clip-segment-name{font-weight:700;color:#000}.clip-segment-time{font-size:.65rem;color:#000}.clip-segment-duration{font-size:.65rem;color:#000;background:#b3d9ff66;padding:1px 4px;border-radius:2px;display:inline-block;margin-top:2px}.clip-segment-handle{position:absolute;width:8px;top:0;bottom:0;background-color:#6c757de6;cursor:ew-resize;z-index:20;display:flex;align-items:center;justify-content:center}.clip-segment-handle:after{content:"↔";color:#fff;font-size:12px;text-shadow:0 0 2px rgba(0,0,0,.8)}.clip-segment-handle.left{left:0}.clip-segment-handle.right{right:0}.clip-segment-handle:hover{background-color:#007bffe6;width:10px}input[type=range]{-webkit-appearance:none;height:6px;background:#e0e0e0;border-radius:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;border-radius:50%;background:#007bffe6;cursor:pointer}[data-tooltip]{position:relative;cursor:pointer}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background-color:#000c;color:#fff;padding:5px 10px;border-radius:4px;font-size:.8rem;white-space:nowrap;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}[data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;margin-bottom:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}@media (hover: hover) and (pointer: fine){[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){[data-tooltip]:before,[data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}button[disabled][data-tooltip]:before,button[disabled][data-tooltip]:after{opacity:.5}.tooltip-action-btn{position:relative}.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{opacity:0;visibility:hidden;position:absolute;pointer-events:none;transition:all .3s ease}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);background-color:#000c;color:#fff;font-size:12px;padding:4px 8px;border-radius:3px;white-space:nowrap;bottom:-35px;left:50%;transform:translate(-50%);z-index:9999}.tooltip-action-btn[data-tooltip]:after{content:"";border-width:5px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.8) transparent;bottom:-15px;left:50%;transform:translate(-50%);z-index:9999}@media (hover: hover) and (pointer: fine){.tooltip-action-btn:hover[data-tooltip]:before,.tooltip-action-btn:hover[data-tooltip]:after{opacity:1;visibility:visible}}.segment-tooltip{background-color:#b3d9fff2;color:#000;border-radius:4px;padding:6px;min-width:140px;z-index:1000;box-shadow:0 3px 10px #0003}.segment-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(179,217,255,.95)}.tooltip-time{font-size:.85rem;font-weight:700;text-align:center;margin-bottom:6px;color:#000}.tooltip-actions{display:flex;justify-content:space-between;gap:5px;position:relative}.tooltip-action-btn{background-color:#007bff33;border:none;border-radius:3px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:6px;transition:background-color .2s;min-width:20px!important}.tooltip-action-btn:hover{background-color:#007bff66}.tooltip-action-btn svg{width:100%;height:100%;stroke:currentColor}.tooltip-action-btn.set-in svg,.tooltip-action-btn.set-out svg{width:100%;height:100%;margin:0 auto;fill:currentColor;stroke:none}.empty-space-tooltip{background-color:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;padding:8px;z-index:50;min-width:120px;text-align:center;position:relative}.empty-space-tooltip:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);border-width:8px 8px 0;border-style:solid;border-color:white transparent transparent}.tooltip-action-btn.new-segment{width:auto;padding:6px 10px;display:flex;align-items:center;gap:5px}.tooltip-btn-text{font-size:.8rem;white-space:nowrap;color:#000}.icon-new-segment{width:20px;height:20px}.zoom-dropdown-container{position:relative}.zoom-button{display:flex;align-items:center;gap:6px;background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.zoom-button:hover{background-color:#6c757d}.zoom-dropdown{background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #00000026;max-height:300px;overflow-y:auto}.zoom-option{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:5px}.zoom-option:hover{background-color:#007bff1a}.zoom-option.selected{background-color:#007bff33;font-weight:500}.save-button,.save-copy-button,.save-segments-button{background-color:#007bffcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.save-button:hover,.save-copy-button:hover{background-color:#007bff}.save-copy-button{background-color:#6c757dcc}.save-copy-button:hover{background-color:#6c757d}.time-nav-label{font-weight:500;font-size:.9rem}.time-input{padding:6px 10px;border-radius:4px;border:1px solid #ccc;width:150px;font-family:monospace}.time-button-group{display:flex;gap:5px}.time-button{background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:6px 8px;font-size:.8rem;cursor:pointer;transition:background-color .2s}.time-button:hover{background-color:#6c757d}.timeline-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px;background-color:#f5f5f5;border-radius:6px;margin-top:15px}.time-navigation{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.controls-right{display:flex;align-items:center;gap:10px}@media (max-width: 768px){.timeline-controls{flex-direction:column;align-items:flex-start;gap:15px}.controls-right{margin-top:10px;width:100%;justify-content:flex-start;text-align:center;align-items:center;justify-content:center}}.timeline-header{display:flex;align-items:center;gap:20px;margin-bottom:10px;flex-wrap:wrap}.timeline-title{font-weight:700;margin-right:20px}.timeline-title-text{font-size:1.1rem}.current-time,.duration-time{white-space:nowrap}.time-code{font-family:monospace;font-weight:500}@media (max-width: 480px){.timeline-header{flex-direction:column;align-items:flex-start;gap:8px}.time-navigation{width:100%;flex-direction:column;align-items:flex-start;gap:10px}.time-button-group{width:100%;display:flex;justify-content:space-between;margin-top:10px}.controls-right{flex-wrap:wrap;gap:8px}.save-button,.save-copy-button{margin-top:8px;width:100%}.zoom-dropdown-container{width:100%}.zoom-button{width:100%;justify-content:center}} diff --git a/static/chapters_editor/chapters-editor.js b/static/chapters_editor/chapters-editor.js index 183db4ab..9e18ab96 100644 --- a/static/chapters_editor/chapters-editor.js +++ b/static/chapters_editor/chapters-editor.js @@ -1,4 +1,4 @@ -(function(){"use strict";var cm={exports:{}},Jc={exports:{}},ll={exports:{}};ll.exports;var fm;function NS(){return fm||(fm=1,function(k,M){/** +(function(){"use strict";var cm={exports:{}},Jc={exports:{}},ll={exports:{}};ll.exports;var fm;function NS(){return fm||(fm=1,function(k,O){/** * @license React * react.development.js * @@ -6,29 +6,29 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var ee="18.3.1",ke=Symbol.for("react.element"),He=Symbol.for("react.portal"),X=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),xt=Symbol.for("react.profiler"),fe=Symbol.for("react.provider"),pe=Symbol.for("react.context"),ut=Symbol.for("react.forward_ref"),ae=Symbol.for("react.suspense"),Ae=Symbol.for("react.suspense_list"),re=Symbol.for("react.memo"),me=Symbol.for("react.lazy"),ie=Symbol.for("react.offscreen"),Yt=Symbol.iterator,ft="@@iterator";function Ve(s){if(s===null||typeof s!="object")return null;var m=Yt&&s[Yt]||s[ft];return typeof m=="function"?m:null}var De={current:null},Ze={transition:null},O={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},et={current:null},P={},It=null;function Ie(s){It=s}P.setExtraStackFrame=function(s){It=s},P.getCurrentStack=null,P.getStackAddendum=function(){var s="";It&&(s+=It);var m=P.getCurrentStack;return m&&(s+=m()||""),s};var Rt=!1,At=!1,Ce=!1,q=!1,Xe=!1,te={ReactCurrentDispatcher:De,ReactCurrentBatchConfig:Ze,ReactCurrentOwner:et};te.ReactDebugCurrentFrame=P,te.ReactCurrentActQueue=O;function de(s){{for(var m=arguments.length,D=new Array(m>1?m-1:0),L=1;L1?m-1:0),L=1;L1){for(var Bt=Array(_t),$t=0;$t<_t;$t++)Bt[$t]=arguments[$t+2];Object.freeze&&Object.freeze(Bt),G.children=Bt}if(s&&s.defaultProps){var nt=s.defaultProps;for(L in nt)G[L]===void 0&&(G[L]=nt[L])}if(Le||ge){var Jt=typeof s=="function"?s.displayName||s.name||"Unknown":s;Le&&mn(G,Jt),ge&&hn(G,Jt)}return xe(s,Le,ge,Pe,rt,et.current,G)}function yt(s,m){var D=xe(s.type,m,s.ref,s._self,s._source,s._owner,s.props);return D}function Nt(s,m,D){if(s==null)throw new Error("React.cloneElement(...): The argument must be a React element, but you passed "+s+".");var L,G=Vt({},s.props),Le=s.key,ge=s.ref,Pe=s._self,rt=s._source,_t=s._owner;if(m!=null){vt(m)&&(ge=m.ref,_t=et.current),an(m)&&(Z(m.key),Le=""+m.key);var Bt;s.type&&s.type.defaultProps&&(Bt=s.type.defaultProps);for(L in m)We.call(m,L)&&!qe.hasOwnProperty(L)&&(m[L]===void 0&&Bt!==void 0?G[L]=Bt[L]:G[L]=m[L])}var $t=arguments.length-2;if($t===1)G.children=D;else if($t>1){for(var nt=Array($t),Jt=0;Jt<$t;Jt++)nt[Jt]=arguments[Jt+2];G.children=nt}return xe(s.type,Le,ge,Pe,rt,_t,G)}function Gt(s){return typeof s=="object"&&s!==null&&s.$$typeof===ke}var Lt=".",Hn=":";function Ft(s){var m=/[=:]/g,D={"=":"=0",":":"=2"},L=s.replace(m,function(G){return D[G]});return"$"+L}var jt=!1,Dt=/\/+/g;function $a(s){return s.replace(Dt,"$&/")}function Ta(s,m){return typeof s=="object"&&s!==null&&s.key!=null?(Z(s.key),Ft(""+s.key)):m.toString(36)}function Ea(s,m,D,L,G){var Le=typeof s;(Le==="undefined"||Le==="boolean")&&(s=null);var ge=!1;if(s===null)ge=!0;else switch(Le){case"string":case"number":ge=!0;break;case"object":switch(s.$$typeof){case ke:case He:ge=!0}}if(ge){var Pe=s,rt=G(Pe),_t=L===""?Lt+Ta(Pe,0):L;if(Zt(rt)){var Bt="";_t!=null&&(Bt=$a(_t)+"/"),Ea(rt,m,Bt,"",function(uf){return uf})}else rt!=null&&(Gt(rt)&&(rt.key&&(!Pe||Pe.key!==rt.key)&&Z(rt.key),rt=yt(rt,D+(rt.key&&(!Pe||Pe.key!==rt.key)?$a(""+rt.key)+"/":"")+_t)),m.push(rt));return 1}var $t,nt,Jt=0,fn=L===""?Lt:L+Hn;if(Zt(s))for(var Li=0;Li is not supported and will be removed in a future major release. Did you mean to render instead?")),m.Provider},set:function(ge){m.Provider=ge}},_currentValue:{get:function(){return m._currentValue},set:function(ge){m._currentValue=ge}},_currentValue2:{get:function(){return m._currentValue2},set:function(ge){m._currentValue2=ge}},_threadCount:{get:function(){return m._threadCount},set:function(ge){m._threadCount=ge}},Consumer:{get:function(){return D||(D=!0,I("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(ge){G||(de("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",ge),G=!0)}}}),m.Consumer=Le}return m._currentRenderer=null,m._currentRenderer2=null,m}var yn=-1,gn=0,ta=1,na=2;function Rr(s){if(s._status===yn){var m=s._result,D=m();if(D.then(function(Le){if(s._status===gn||s._status===yn){var ge=s;ge._status=ta,ge._result=Le}},function(Le){if(s._status===gn||s._status===yn){var ge=s;ge._status=na,ge._result=Le}}),s._status===yn){var L=s;L._status=gn,L._result=D}}if(s._status===ta){var G=s._result;return G===void 0&&I(`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 J="18.3.1",Oe=Symbol.for("react.element"),Ue=Symbol.for("react.portal"),G=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),mt=Symbol.for("react.profiler"),ue=Symbol.for("react.provider"),ne=Symbol.for("react.context"),Ke=Symbol.for("react.forward_ref"),re=Symbol.for("react.suspense"),He=Symbol.for("react.suspense_list"),ie=Symbol.for("react.memo"),ge=Symbol.for("react.lazy"),oe=Symbol.for("react.offscreen"),Wt=Symbol.iterator,dt="@@iterator";function Be(s){if(s===null||typeof s!="object")return null;var m=Wt&&s[Wt]||s[dt];return typeof m=="function"?m:null}var _e={current:null},Je={transition:null},L={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},Xe={current:null},I={},Ft=null;function We(s){Ft=s}I.setExtraStackFrame=function(s){Ft=s},I.getCurrentStack=null,I.getStackAddendum=function(){var s="";Ft&&(s+=Ft);var m=I.getCurrentStack;return m&&(s+=m()||""),s};var Ct=!1,Nt=!1,we=!1,X=!1,tt=!1,te={ReactCurrentDispatcher:_e,ReactCurrentBatchConfig:Je,ReactCurrentOwner:Xe};te.ReactDebugCurrentFrame=I,te.ReactCurrentActQueue=L;function ve(s){{for(var m=arguments.length,D=new Array(m>1?m-1:0),A=1;A1?m-1:0),A=1;A1){for(var Pt=Array(kt),Yt=0;Yt1){for(var at=Array(Yt),Kt=0;Kt is not supported and will be removed in a future major release. Did you mean to render instead?")),m.Provider},set:function(Se){m.Provider=Se}},_currentValue:{get:function(){return m._currentValue},set:function(Se){m._currentValue=Se}},_currentValue2:{get:function(){return m._currentValue2},set:function(Se){m._currentValue2=Se}},_threadCount:{get:function(){return m._threadCount},set:function(Se){m._threadCount=Se}},Consumer:{get:function(){return D||(D=!0,P("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(Se){K||(ve("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",Se),K=!0)}}}),m.Consumer=je}return m._currentRenderer=null,m._currentRenderer2=null,m}var mn=-1,hn=0,ea=1,ta=2;function Rr(s){if(s._status===mn){var m=s._result,D=m();if(D.then(function(je){if(s._status===hn||s._status===mn){var Se=s;Se._status=ea,Se._result=je}},function(je){if(s._status===hn||s._status===mn){var Se=s;Se._status=ta,Se._result=je}}),s._status===mn){var A=s;A._status=hn,A._result=D}}if(s._status===ea){var K=s._result;return K===void 0&&P(`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?`,G),"default"in G||I(`lazy: Expected the result of a dynamic import() call. Instead received: %s +Did you accidentally put curly braces around the import?`,K),"default"in K||P(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: - const MyComponent = lazy(() => import('./MyComponent'))`,G),G.default}else throw s._result}function wr(s){var m={_status:yn,_result:s},D={$$typeof:me,_payload:m,_init:Rr};{var L,G;Object.defineProperties(D,{defaultProps:{configurable:!0,get:function(){return L},set:function(Le){I("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."),L=Le,Object.defineProperty(D,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return G},set:function(Le){I("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=Le,Object.defineProperty(D,"propTypes",{enumerable:!0})}}})}return D}function Dr(s){s!=null&&s.$$typeof===re?I("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof s!="function"?I("forwardRef requires a render function but was given %s.",s===null?"null":typeof s):s.length!==0&&s.length!==2&&I("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)&&I("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");var m={$$typeof:ut,render:s};{var D;Object.defineProperty(m,"displayName",{enumerable:!1,configurable:!0,get:function(){return D},set:function(L){D=L,!s.name&&!s.displayName&&(s.displayName=L)}})}return m}var h;h=Symbol.for("react.module.reference");function V(s){return!!(typeof s=="string"||typeof s=="function"||s===X||s===xt||Xe||s===c||s===ae||s===Ae||q||s===ie||Rt||At||Ce||typeof s=="object"&&s!==null&&(s.$$typeof===me||s.$$typeof===re||s.$$typeof===fe||s.$$typeof===pe||s.$$typeof===ut||s.$$typeof===h||s.getModuleId!==void 0))}function K(s,m){V(s)||I("memo: The first argument must be a component. Instead received: %s",s===null?"null":typeof s);var D={$$typeof:re,type:s,compare:m===void 0?null:m};{var L;Object.defineProperty(D,"displayName",{enumerable:!1,configurable:!0,get:function(){return L},set:function(G){L=G,!s.name&&!s.displayName&&(s.displayName=G)}})}return D}function ve(){var s=De.current;return s===null&&I(`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'))`,K),K.default}else throw s._result}function wr(s){var m={_status:mn,_result:s},D={$$typeof:ge,_payload:m,_init:Rr};{var A,K;Object.defineProperties(D,{defaultProps:{configurable:!0,get:function(){return A},set:function(je){P("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=je,Object.defineProperty(D,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return K},set:function(je){P("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."),K=je,Object.defineProperty(D,"propTypes",{enumerable:!0})}}})}return D}function Dr(s){s!=null&&s.$$typeof===ie?P("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof s!="function"?P("forwardRef requires a render function but was given %s.",s===null?"null":typeof s):s.length!==0&&s.length!==2&&P("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)&&P("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");var m={$$typeof:Ke,render:s};{var D;Object.defineProperty(m,"displayName",{enumerable:!1,configurable:!0,get:function(){return D},set:function(A){D=A,!s.name&&!s.displayName&&(s.displayName=A)}})}return m}var h;h=Symbol.for("react.module.reference");function V(s){return!!(typeof s=="string"||typeof s=="function"||s===G||s===mt||tt||s===c||s===re||s===He||X||s===oe||Ct||Nt||we||typeof s=="object"&&s!==null&&(s.$$typeof===ge||s.$$typeof===ie||s.$$typeof===ue||s.$$typeof===ne||s.$$typeof===Ke||s.$$typeof===h||s.getModuleId!==void 0))}function Z(s,m){V(s)||P("memo: The first argument must be a component. Instead received: %s",s===null?"null":typeof s);var D={$$typeof:ie,type:s,compare:m===void 0?null:m};{var A;Object.defineProperty(D,"displayName",{enumerable:!1,configurable:!0,get:function(){return A},set:function(K){A=K,!s.name&&!s.displayName&&(s.displayName=K)}})}return D}function ye(){var s=_e.current;return s===null&&P(`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 tt(s){var m=ve();if(s._context!==void 0){var D=s._context;D.Consumer===s?I("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):D.Provider===s&&I("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return m.useContext(s)}function p(s){var m=ve();return m.useState(s)}function C(s,m,D){var L=ve();return L.useReducer(s,m,D)}function b(s){var m=ve();return m.useRef(s)}function T(s,m){var D=ve();return D.useEffect(s,m)}function E(s,m){var D=ve();return D.useInsertionEffect(s,m)}function j(s,m){var D=ve();return D.useLayoutEffect(s,m)}function S(s,m){var D=ve();return D.useCallback(s,m)}function B(s,m){var D=ve();return D.useMemo(s,m)}function z(s,m,D){var L=ve();return L.useImperativeHandle(s,m,D)}function be(s,m){{var D=ve();return D.useDebugValue(s,m)}}function Te(){var s=ve();return s.useTransition()}function Oe(s){var m=ve();return m.useDeferredValue(s)}function ct(){var s=ve();return s.useId()}function Qt(s,m,D){var L=ve();return L.useSyncExternalStore(s,m,D)}var bn=0,kn,_r,La,Mn,lr,zn,Ht;function aa(){}aa.__reactDisabledLog=!0;function ur(){{if(bn===0){kn=console.log,_r=console.info,La=console.warn,Mn=console.error,lr=console.group,zn=console.groupCollapsed,Ht=console.groupEnd;var s={configurable:!0,enumerable:!0,value:aa,writable:!0};Object.defineProperties(console,{info:s,log:s,warn:s,error:s,group:s,groupCollapsed:s,groupEnd:s})}bn++}}function Pa(){{if(bn--,bn===0){var s={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Vt({},s,{value:kn}),info:Vt({},s,{value:_r}),warn:Vt({},s,{value:La}),error:Vt({},s,{value:Mn}),group:Vt({},s,{value:lr}),groupCollapsed:Vt({},s,{value:zn}),groupEnd:Vt({},s,{value:Ht})})}bn<0&&I("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var sr=te.ReactCurrentDispatcher,Gn;function pa(s,m,D){{if(Gn===void 0)try{throw Error()}catch(G){var L=G.stack.trim().match(/\n( *(at )?)/);Gn=L&&L[1]||""}return` -`+Gn+s}}var cr=!1,ni;{var un=typeof WeakMap=="function"?WeakMap:Map;ni=new un}function Tt(s,m){if(!s||cr)return"";{var D=ni.get(s);if(D!==void 0)return D}var L;cr=!0;var G=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var Le;Le=sr.current,sr.current=null,ur();try{if(m){var ge=function(){throw Error()};if(Object.defineProperty(ge.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ge,[])}catch(fn){L=fn}Reflect.construct(s,[],ge)}else{try{ge.call()}catch(fn){L=fn}s.call(ge.prototype)}}else{try{throw Error()}catch(fn){L=fn}s()}}catch(fn){if(fn&&L&&typeof fn.stack=="string"){for(var Pe=fn.stack.split(` -`),rt=L.stack.split(` -`),_t=Pe.length-1,Bt=rt.length-1;_t>=1&&Bt>=0&&Pe[_t]!==rt[Bt];)Bt--;for(;_t>=1&&Bt>=0;_t--,Bt--)if(Pe[_t]!==rt[Bt]){if(_t!==1||Bt!==1)do if(_t--,Bt--,Bt<0||Pe[_t]!==rt[Bt]){var $t=` -`+Pe[_t].replace(" at new "," at ");return s.displayName&&$t.includes("")&&($t=$t.replace("",s.displayName)),typeof s=="function"&&ni.set(s,$t),$t}while(_t>=1&&Bt>=0);break}}}finally{cr=!1,sr.current=Le,Pa(),Error.prepareStackTrace=G}var nt=s?s.displayName||s.name:"",Jt=nt?pa(nt):"";return typeof s=="function"&&ni.set(s,Jt),Jt}function Aa(s,m,D){return Tt(s,!1)}function Ya(s){var m=s.prototype;return!!(m&&m.isReactComponent)}function Ia(s,m,D){if(s==null)return"";if(typeof s=="function")return Tt(s,Ya(s));if(typeof s=="string")return pa(s);switch(s){case ae:return pa("Suspense");case Ae:return pa("SuspenseList")}if(typeof s=="object")switch(s.$$typeof){case ut:return Aa(s.render);case re:return Ia(s.type,m,D);case me:{var L=s,G=L._payload,Le=L._init;try{return Ia(Le(G),m,D)}catch{}}}return""}var qu={},sl=te.ReactDebugCurrentFrame;function gt(s){if(s){var m=s._owner,D=Ia(s.type,s._source,m?m.type:null);sl.setExtraStackFrame(D)}else sl.setExtraStackFrame(null)}function nf(s,m,D,L,G){{var Le=Function.call.bind(We);for(var ge in s)if(Le(s,ge)){var Pe=void 0;try{if(typeof s[ge]!="function"){var rt=Error((L||"React class")+": "+D+" type `"+ge+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof s[ge]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw rt.name="Invariant Violation",rt}Pe=s[ge](m,ge,L,D,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(_t){Pe=_t}Pe&&!(Pe instanceof Error)&&(gt(G),I("%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).",L||"React class",D,ge,typeof Pe),gt(null)),Pe instanceof Error&&!(Pe.message in qu)&&(qu[Pe.message]=!0,gt(G),I("Failed %s type: %s",D,Pe.message),gt(null))}}}function kr(s){if(s){var m=s._owner,D=Ia(s.type,s._source,m?m.type:null);Ie(D)}else Ie(null)}var Ge;Ge=!1;function cl(){if(et.current){var s=je(et.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 nt(s){var m=ye();if(s._context!==void 0){var D=s._context;D.Consumer===s?P("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):D.Provider===s&&P("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return m.useContext(s)}function p(s){var m=ye();return m.useState(s)}function C(s,m,D){var A=ye();return A.useReducer(s,m,D)}function b(s){var m=ye();return m.useRef(s)}function T(s,m){var D=ye();return D.useEffect(s,m)}function E(s,m){var D=ye();return D.useInsertionEffect(s,m)}function U(s,m){var D=ye();return D.useLayoutEffect(s,m)}function S(s,m){var D=ye();return D.useCallback(s,m)}function B(s,m){var D=ye();return D.useMemo(s,m)}function z(s,m,D){var A=ye();return A.useImperativeHandle(s,m,D)}function Te(s,m){{var D=ye();return D.useDebugValue(s,m)}}function xe(){var s=ye();return s.useTransition()}function Ne(s){var m=ye();return m.useDeferredValue(s)}function ct(){var s=ye();return s.useId()}function Xt(s,m,D){var A=ye();return A.useSyncExternalStore(s,m,D)}var yn=0,Dn,_r,La,_n,lr,Un,zt;function na(){}na.__reactDisabledLog=!0;function ur(){{if(yn===0){Dn=console.log,_r=console.info,La=console.warn,_n=console.error,lr=console.group,Un=console.groupCollapsed,zt=console.groupEnd;var s={configurable:!0,enumerable:!0,value:na,writable:!0};Object.defineProperties(console,{info:s,log:s,warn:s,error:s,group:s,groupCollapsed:s,groupEnd:s})}yn++}}function Pa(){{if(yn--,yn===0){var s={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Bt({},s,{value:Dn}),info:Bt({},s,{value:_r}),warn:Bt({},s,{value:La}),error:Bt({},s,{value:_n}),group:Bt({},s,{value:lr}),groupCollapsed:Bt({},s,{value:Un}),groupEnd:Bt({},s,{value:zt})})}yn<0&&P("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var sr=te.ReactCurrentDispatcher,qn;function pa(s,m,D){{if(qn===void 0)try{throw Error()}catch(K){var A=K.stack.trim().match(/\n( *(at )?)/);qn=A&&A[1]||""}return` +`+qn+s}}var cr=!1,ni;{var sn=typeof WeakMap=="function"?WeakMap:Map;ni=new sn}function Tt(s,m){if(!s||cr)return"";{var D=ni.get(s);if(D!==void 0)return D}var A;cr=!0;var K=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var je;je=sr.current,sr.current=null,ur();try{if(m){var Se=function(){throw Error()};if(Object.defineProperty(Se.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Se,[])}catch(fn){A=fn}Reflect.construct(s,[],Se)}else{try{Se.call()}catch(fn){A=fn}s.call(Se.prototype)}}else{try{throw Error()}catch(fn){A=fn}s()}}catch(fn){if(fn&&A&&typeof fn.stack=="string"){for(var Ye=fn.stack.split(` +`),it=A.stack.split(` +`),kt=Ye.length-1,Pt=it.length-1;kt>=1&&Pt>=0&&Ye[kt]!==it[Pt];)Pt--;for(;kt>=1&&Pt>=0;kt--,Pt--)if(Ye[kt]!==it[Pt]){if(kt!==1||Pt!==1)do if(kt--,Pt--,Pt<0||Ye[kt]!==it[Pt]){var Yt=` +`+Ye[kt].replace(" at new "," at ");return s.displayName&&Yt.includes("")&&(Yt=Yt.replace("",s.displayName)),typeof s=="function"&&ni.set(s,Yt),Yt}while(kt>=1&&Pt>=0);break}}}finally{cr=!1,sr.current=je,Pa(),Error.prepareStackTrace=K}var at=s?s.displayName||s.name:"",Kt=at?pa(at):"";return typeof s=="function"&&ni.set(s,Kt),Kt}function Aa(s,m,D){return Tt(s,!1)}function Ya(s){var m=s.prototype;return!!(m&&m.isReactComponent)}function Ia(s,m,D){if(s==null)return"";if(typeof s=="function")return Tt(s,Ya(s));if(typeof s=="string")return pa(s);switch(s){case re:return pa("Suspense");case He:return pa("SuspenseList")}if(typeof s=="object")switch(s.$$typeof){case Ke:return Aa(s.render);case ie:return Ia(s.type,m,D);case ge:{var A=s,K=A._payload,je=A._init;try{return Ia(je(K),m,D)}catch{}}}return""}var qu={},sl=te.ReactDebugCurrentFrame;function yt(s){if(s){var m=s._owner,D=Ia(s.type,s._source,m?m.type:null);sl.setExtraStackFrame(D)}else sl.setExtraStackFrame(null)}function nf(s,m,D,A,K){{var je=Function.call.bind(pe);for(var Se in s)if(je(s,Se)){var Ye=void 0;try{if(typeof s[Se]!="function"){var it=Error((A||"React class")+": "+D+" type `"+Se+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof s[Se]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw it.name="Invariant Violation",it}Ye=s[Se](m,Se,A,D,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(kt){Ye=kt}Ye&&!(Ye instanceof Error)&&(yt(K),P("%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",D,Se,typeof Ye),yt(null)),Ye instanceof Error&&!(Ye.message in qu)&&(qu[Ye.message]=!0,yt(K),P("Failed %s type: %s",D,Ye.message),yt(null))}}}function kr(s){if(s){var m=s._owner,D=Ia(s.type,s._source,m?m.type:null);We(D)}else We(null)}var Ge;Ge=!1;function cl(){if(Xe.current){var s=me(Xe.current.type);if(s)return` -Check the render method of \``+s+"`."}return""}function ra(s){if(s!==void 0){var m=s.fileName.replace(/^.*[\\\/]/,""),D=s.lineNumber;return` +Check the render method of \``+s+"`."}return""}function aa(s){if(s!==void 0){var m=s.fileName.replace(/^.*[\\\/]/,""),D=s.lineNumber;return` -Check your code at `+m+":"+D+"."}return""}function Mi(s){return s!=null?ra(s.__source):""}var ai={};function af(s){var m=cl();if(!m){var D=typeof s=="string"?s:s.displayName||s.name;D&&(m=` +Check your code at `+m+":"+D+"."}return""}function Mi(s){return s!=null?aa(s.__source):""}var ai={};function af(s){var m=cl();if(!m){var D=typeof s=="string"?s:s.displayName||s.name;D&&(m=` -Check the top-level render call using <`+D+">.")}return m}function On(s,m){if(!(!s._store||s._store.validated||s.key!=null)){s._store.validated=!0;var D=af(m);if(!ai[D]){ai[D]=!0;var L="";s&&s._owner&&s._owner!==et.current&&(L=" It was passed a child from "+je(s._owner.type)+"."),kr(s),I('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',D,L),kr(null)}}}function Kt(s,m){if(typeof s=="object"){if(Zt(s))for(var D=0;D",G=" Did you accidentally export a JSX literal instead of a component?"):ge=typeof s,I("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",ge,G)}var Pe=$e.apply(this,arguments);if(Pe==null)return Pe;if(L)for(var rt=2;rt10&&de("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."),L._updatedFibers.clear()}}}var dl=!1,uo=null;function of(s){if(uo===null)try{var m=("require"+Math.random()).slice(0,7),D=k&&k[m];uo=D.call(k,"timers").setImmediate}catch{uo=function(G){dl===!1&&(dl=!0,typeof MessageChannel>"u"&&I("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 Le=new MessageChannel;Le.port1.onmessage=G,Le.port2.postMessage(void 0)}}return uo(s)}var ri=0,Oi=!1;function vl(s){{var m=ri;ri++,O.current===null&&(O.current=[]);var D=O.isBatchingLegacy,L;try{if(O.isBatchingLegacy=!0,L=s(),!D&&O.didScheduleLegacyUpdate){var G=O.current;G!==null&&(O.didScheduleLegacyUpdate=!1,fo(G))}}catch(nt){throw Mr(m),nt}finally{O.isBatchingLegacy=D}if(L!==null&&typeof L=="object"&&typeof L.then=="function"){var Le=L,ge=!1,Pe={then:function(nt,Jt){ge=!0,Le.then(function(fn){Mr(m),ri===0?so(fn,nt,Jt):nt(fn)},function(fn){Mr(m),Jt(fn)})}};return!Oi&&typeof Promise<"u"&&Promise.resolve().then(function(){}).then(function(){ge||(Oi=!0,I("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 () => ...);"))}),Pe}else{var rt=L;if(Mr(m),ri===0){var _t=O.current;_t!==null&&(fo(_t),O.current=null);var Bt={then:function(nt,Jt){O.current===null?(O.current=[],so(rt,nt,Jt)):nt(rt)}};return Bt}else{var $t={then:function(nt,Jt){nt(rt)}};return $t}}}}function Mr(s){s!==ri-1&&I("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "),ri=s}function so(s,m,D){{var L=O.current;if(L!==null)try{fo(L),of(function(){L.length===0?(O.current=null,m(s)):so(s,m,D)})}catch(G){D(G)}else m(s)}}var co=!1;function fo(s){if(!co){co=!0;var m=0;try{for(;m.")}return m}function kn(s,m){if(!(!s._store||s._store.validated||s.key!=null)){s._store.validated=!0;var D=af(m);if(!ai[D]){ai[D]=!0;var A="";s&&s._owner&&s._owner!==Xe.current&&(A=" It was passed a child from "+me(s._owner.type)+"."),kr(s),P('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',D,A),kr(null)}}}function Qt(s,m){if(typeof s=="object"){if(tn(s))for(var D=0;D",K=" Did you accidentally export a JSX literal instead of a component?"):Se=typeof s,P("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Se,K)}var Ye=Ae.apply(this,arguments);if(Ye==null)return Ye;if(A)for(var it=2;it10&&ve("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 dl=!1,uo=null;function of(s){if(uo===null)try{var m=("require"+Math.random()).slice(0,7),D=k&&k[m];uo=D.call(k,"timers").setImmediate}catch{uo=function(K){dl===!1&&(dl=!0,typeof MessageChannel>"u"&&P("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 je=new MessageChannel;je.port1.onmessage=K,je.port2.postMessage(void 0)}}return uo(s)}var ri=0,Oi=!1;function vl(s){{var m=ri;ri++,L.current===null&&(L.current=[]);var D=L.isBatchingLegacy,A;try{if(L.isBatchingLegacy=!0,A=s(),!D&&L.didScheduleLegacyUpdate){var K=L.current;K!==null&&(L.didScheduleLegacyUpdate=!1,fo(K))}}catch(at){throw Mr(m),at}finally{L.isBatchingLegacy=D}if(A!==null&&typeof A=="object"&&typeof A.then=="function"){var je=A,Se=!1,Ye={then:function(at,Kt){Se=!0,je.then(function(fn){Mr(m),ri===0?so(fn,at,Kt):at(fn)},function(fn){Mr(m),Kt(fn)})}};return!Oi&&typeof Promise<"u"&&Promise.resolve().then(function(){}).then(function(){Se||(Oi=!0,P("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 it=A;if(Mr(m),ri===0){var kt=L.current;kt!==null&&(fo(kt),L.current=null);var Pt={then:function(at,Kt){L.current===null?(L.current=[],so(it,at,Kt)):at(it)}};return Pt}else{var Yt={then:function(at,Kt){at(it)}};return Yt}}}}function Mr(s){s!==ri-1&&P("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "),ri=s}function so(s,m,D){{var A=L.current;if(A!==null)try{fo(A),of(function(){A.length===0?(L.current=null,m(s)):so(s,m,D)})}catch(K){D(K)}else m(s)}}var co=!1;function fo(s){if(!co){co=!0;var m=0;try{for(;m.")}return m}function On(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 k=Zc(),M=Symbol.for("react.element"),ee=Symbol.for("react.portal"),ke=Symbol.for("react.fragment"),He=Symbol.for("react.strict_mode"),X=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),xt=Symbol.for("react.context"),fe=Symbol.for("react.forward_ref"),pe=Symbol.for("react.suspense"),ut=Symbol.for("react.suspense_list"),ae=Symbol.for("react.memo"),Ae=Symbol.for("react.lazy"),re=Symbol.for("react.offscreen"),me=Symbol.iterator,ie="@@iterator";function Yt(h){if(h===null||typeof h!="object")return null;var V=me&&h[me]||h[ie];return typeof V=="function"?V:null}var ft=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function Ve(h){{for(var V=arguments.length,K=new Array(V>1?V-1:0),ve=1;ve=1&&j>=0&&b[E]!==T[j];)j--;for(;E>=1&&j>=0;E--,j--)if(b[E]!==T[j]){if(E!==1||j!==1)do if(E--,j--,j<0||b[E]!==T[j]){var S=` -`+b[E].replace(" at new "," at ");return h.displayName&&S.includes("")&&(S=S.replace("",h.displayName)),typeof h=="function"&&tn.set(h,S),S}while(E>=1&&j>=0);break}}}finally{st=!1,qt.current=p,Ct(),Error.prepareStackTrace=tt}var B=h?h.displayName||h.name:"",z=B?Un(B):"";return typeof h=="function"&&tn.set(h,z),z}function Zt(h,V,K){return Qe(h,!1)}function nn(h){var V=h.prototype;return!!(V&&V.isReactComponent)}function cn(h,V,K){if(h==null)return"";if(typeof h=="function")return Qe(h,nn(h));if(typeof h=="string")return Un(h);switch(h){case pe:return Un("Suspense");case ut:return Un("SuspenseList")}if(typeof h=="object")switch(h.$$typeof){case fe:return Zt(h.render);case ae:return cn(h.type,V,K);case Ae:{var ve=h,tt=ve._payload,p=ve._init;try{return cn(p(tt),V,K)}catch{}}}return""}var U=Object.prototype.hasOwnProperty,Z={},Se=ft.ReactDebugCurrentFrame;function he(h){if(h){var V=h._owner,K=cn(h.type,h._source,V?V.type:null);Se.setExtraStackFrame(K)}else Se.setExtraStackFrame(null)}function je(h,V,K,ve,tt){{var p=Function.call.bind(U);for(var C in h)if(p(h,C)){var b=void 0;try{if(typeof h[C]!="function"){var T=Error((ve||"React class")+": "+K+" type `"+C+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof h[C]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw T.name="Invariant Violation",T}b=h[C](V,C,ve,K,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(E){b=E}b&&!(b instanceof Error)&&(he(tt),Ve("%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).",ve||"React class",K,C,typeof b),he(null)),b instanceof Error&&!(b.message in Z)&&(Z[b.message]=!0,he(tt),Ve("Failed %s type: %s",K,b.message),he(null))}}}var We=Array.isArray;function qe(h){return We(h)}function _e(h){{var V=typeof Symbol=="function"&&Symbol.toStringTag,K=V&&h[Symbol.toStringTag]||h.constructor.name||"Object";return K}}function dt(h){try{return Je(h),!1}catch{return!0}}function Je(h){return""+h}function vt(h){if(dt(h))return Ve("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",_e(h)),Je(h)}var an=ft.ReactCurrentOwner,mn={key:!0,ref:!0,__self:!0,__source:!0},hn,Q;function xe(h){if(U.call(h,"ref")){var V=Object.getOwnPropertyDescriptor(h,"ref").get;if(V&&V.isReactWarning)return!1}return h.ref!==void 0}function $e(h){if(U.call(h,"key")){var V=Object.getOwnPropertyDescriptor(h,"key").get;if(V&&V.isReactWarning)return!1}return h.key!==void 0}function yt(h,V){typeof h.ref=="string"&&an.current}function Nt(h,V){{var K=function(){hn||(hn=!0,Ve("%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)",V))};K.isReactWarning=!0,Object.defineProperty(h,"key",{get:K,configurable:!0})}}function Gt(h,V){{var K=function(){Q||(Q=!0,Ve("%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)",V))};K.isReactWarning=!0,Object.defineProperty(h,"ref",{get:K,configurable:!0})}}var Lt=function(h,V,K,ve,tt,p,C){var b={$$typeof:M,type:h,key:V,ref:K,props:C,_owner:p};return b._store={},Object.defineProperty(b._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(b,"_self",{configurable:!1,enumerable:!1,writable:!1,value:ve}),Object.defineProperty(b,"_source",{configurable:!1,enumerable:!1,writable:!1,value:tt}),Object.freeze&&(Object.freeze(b.props),Object.freeze(b)),b};function Hn(h,V,K,ve,tt){{var p,C={},b=null,T=null;K!==void 0&&(vt(K),b=""+K),$e(V)&&(vt(V.key),b=""+V.key),xe(V)&&(T=V.ref,yt(V,tt));for(p in V)U.call(V,p)&&!mn.hasOwnProperty(p)&&(C[p]=V[p]);if(h&&h.defaultProps){var E=h.defaultProps;for(p in E)C[p]===void 0&&(C[p]=E[p])}if(b||T){var j=typeof h=="function"?h.displayName||h.name||"Unknown":h;b&&Nt(C,j),T&&Gt(C,j)}return Lt(h,b,T,tt,ve,an.current,C)}}var Ft=ft.ReactCurrentOwner,jt=ft.ReactDebugCurrentFrame;function Dt(h){if(h){var V=h._owner,K=cn(h.type,h._source,V?V.type:null);jt.setExtraStackFrame(K)}else jt.setExtraStackFrame(null)}var $a;$a=!1;function Ta(h){return typeof h=="object"&&h!==null&&h.$$typeof===M}function Ea(){{if(Ft.current){var h=q(Ft.current.type);if(h)return` + */return function(){var k=Zc(),O=Symbol.for("react.element"),J=Symbol.for("react.portal"),Oe=Symbol.for("react.fragment"),Ue=Symbol.for("react.strict_mode"),G=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),mt=Symbol.for("react.context"),ue=Symbol.for("react.forward_ref"),ne=Symbol.for("react.suspense"),Ke=Symbol.for("react.suspense_list"),re=Symbol.for("react.memo"),He=Symbol.for("react.lazy"),ie=Symbol.for("react.offscreen"),ge=Symbol.iterator,oe="@@iterator";function Wt(h){if(h===null||typeof h!="object")return null;var V=ge&&h[ge]||h[oe];return typeof V=="function"?V:null}var dt=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function Be(h){{for(var V=arguments.length,Z=new Array(V>1?V-1:0),ye=1;ye=1&&U>=0&&b[E]!==T[U];)U--;for(;E>=1&&U>=0;E--,U--)if(b[E]!==T[U]){if(E!==1||U!==1)do if(E--,U--,U<0||b[E]!==T[U]){var S=` +`+b[E].replace(" at new "," at ");return h.displayName&&S.includes("")&&(S=S.replace("",h.displayName)),typeof h=="function"&&en.set(h,S),S}while(E>=1&&U>=0);break}}}finally{st=!1,qt.current=p,Rt(),Error.prepareStackTrace=nt}var B=h?h.displayName||h.name:"",z=B?Nn(B):"";return typeof h=="function"&&en.set(h,z),z}function tn(h,V,Z){return Ze(h,!1)}function nn(h){var V=h.prototype;return!!(V&&V.isReactComponent)}function an(h,V,Z){if(h==null)return"";if(typeof h=="function")return Ze(h,nn(h));if(typeof h=="string")return Nn(h);switch(h){case ne:return Nn("Suspense");case Ke:return Nn("SuspenseList")}if(typeof h=="object")switch(h.$$typeof){case ue:return tn(h.render);case re:return an(h.type,V,Z);case He:{var ye=h,nt=ye._payload,p=ye._init;try{return an(p(nt),V,Z)}catch{}}}return""}var Jt=Object.prototype.hasOwnProperty,va={},M=dt.ReactDebugCurrentFrame;function W(h){if(h){var V=h._owner,Z=an(h.type,h._source,V?V.type:null);M.setExtraStackFrame(Z)}else M.setExtraStackFrame(null)}function me(h,V,Z,ye,nt){{var p=Function.call.bind(Jt);for(var C in h)if(p(h,C)){var b=void 0;try{if(typeof h[C]!="function"){var T=Error((ye||"React class")+": "+Z+" type `"+C+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof h[C]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw T.name="Invariant Violation",T}b=h[C](V,C,ye,Z,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(E){b=E}b&&!(b instanceof Error)&&(W(nt),Be("%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).",ye||"React class",Z,C,typeof b),W(null)),b instanceof Error&&!(b.message in va)&&(va[b.message]=!0,W(nt),Be("Failed %s type: %s",Z,b.message),W(null))}}}var pe=Array.isArray;function Ce(h){return pe(h)}function ze(h){{var V=typeof Symbol=="function"&&Symbol.toStringTag,Z=V&&h[Symbol.toStringTag]||h.constructor.name||"Object";return Z}}function et(h){try{return ke(h),!1}catch{return!0}}function ke(h){return""+h}function qe(h){if(et(h))return Be("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ze(h)),ke(h)}var St=dt.ReactCurrentOwner,rn={key:!0,ref:!0,__self:!0,__source:!0},Wn,Q;function he(h){if(Jt.call(h,"ref")){var V=Object.getOwnPropertyDescriptor(h,"ref").get;if(V&&V.isReactWarning)return!1}return h.ref!==void 0}function Ae(h){if(Jt.call(h,"key")){var V=Object.getOwnPropertyDescriptor(h,"key").get;if(V&&V.isReactWarning)return!1}return h.key!==void 0}function ft(h,V){typeof h.ref=="string"&&St.current}function Dt(h,V){{var Z=function(){Wn||(Wn=!0,Be("%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)",V))};Z.isReactWarning=!0,Object.defineProperty(h,"key",{get:Z,configurable:!0})}}function Ht(h,V){{var Z=function(){Q||(Q=!0,Be("%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)",V))};Z.isReactWarning=!0,Object.defineProperty(h,"ref",{get:Z,configurable:!0})}}var At=function(h,V,Z,ye,nt,p,C){var b={$$typeof:O,type:h,key:V,ref:Z,props:C,_owner:p};return b._store={},Object.defineProperty(b._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(b,"_self",{configurable:!1,enumerable:!1,writable:!1,value:ye}),Object.defineProperty(b,"_source",{configurable:!1,enumerable:!1,writable:!1,value:nt}),Object.freeze&&(Object.freeze(b.props),Object.freeze(b)),b};function jn(h,V,Z,ye,nt){{var p,C={},b=null,T=null;Z!==void 0&&(qe(Z),b=""+Z),Ae(V)&&(qe(V.key),b=""+V.key),he(V)&&(T=V.ref,ft(V,nt));for(p in V)Jt.call(V,p)&&!rn.hasOwnProperty(p)&&(C[p]=V[p]);if(h&&h.defaultProps){var E=h.defaultProps;for(p in E)C[p]===void 0&&(C[p]=E[p])}if(b||T){var U=typeof h=="function"?h.displayName||h.name||"Unknown":h;b&&Dt(C,U),T&&Ht(C,U)}return At(h,b,T,nt,ye,St.current,C)}}var $t=dt.ReactCurrentOwner,jt=dt.ReactDebugCurrentFrame;function _t(h){if(h){var V=h._owner,Z=an(h.type,h._source,V?V.type:null);jt.setExtraStackFrame(Z)}else jt.setExtraStackFrame(null)}var $a;$a=!1;function Ta(h){return typeof h=="object"&&h!==null&&h.$$typeof===O}function Ea(){{if($t.current){var h=X($t.current.type);if(h)return` -Check the render method of \``+h+"`."}return""}}function or(h){return""}var Oa={};function Zr(h){{var V=Ea();if(!V){var K=typeof h=="string"?h:h.displayName||h.name;K&&(V=` +Check the render method of \``+h+"`."}return""}}function or(h){return""}var Oa={};function Zr(h){{var V=Ea();if(!V){var Z=typeof h=="string"?h:h.displayName||h.name;Z&&(V=` -Check the top-level render call using <`+K+">.")}return V}}function xr(h,V){{if(!h._store||h._store.validated||h.key!=null)return;h._store.validated=!0;var K=Zr(V);if(Oa[K])return;Oa[K]=!0;var ve="";h&&h._owner&&h._owner!==Ft.current&&(ve=" It was passed a child from "+q(h._owner.type)+"."),Dt(h),Ve('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',K,ve),Dt(null)}}function ei(h,V){{if(typeof h!="object")return;if(qe(h))for(var K=0;K",b=" Did you accidentally export a JSX literal instead of a component?"):E=typeof h,Ve("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",E,b)}var j=Hn(h,V,K,tt,p);if(j==null)return j;if(C){var S=V.children;if(S!==void 0)if(ve)if(qe(S)){for(var B=0;B0?"{key: someKey, "+be.join(": ..., ")+": ...}":"{key: someKey}";if(!gn[z+Te]){var Oe=be.length>0?"{"+be.join(": ..., ")+": ...}":"{}";Ve(`A props object containing a "key" prop is being spread into JSX: +Check the top-level render call using <`+Z+">.")}return V}}function xr(h,V){{if(!h._store||h._store.validated||h.key!=null)return;h._store.validated=!0;var Z=Zr(V);if(Oa[Z])return;Oa[Z]=!0;var ye="";h&&h._owner&&h._owner!==$t.current&&(ye=" It was passed a child from "+X(h._owner.type)+"."),_t(h),Be('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',Z,ye),_t(null)}}function ei(h,V){{if(typeof h!="object")return;if(Ce(h))for(var Z=0;Z",b=" Did you accidentally export a JSX literal instead of a component?"):E=typeof h,Be("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",E,b)}var U=jn(h,V,Z,nt,p);if(U==null)return U;if(C){var S=V.children;if(S!==void 0)if(ye)if(Ce(S)){for(var B=0;B0?"{key: someKey, "+Te.join(": ..., ")+": ...}":"{key: someKey}";if(!hn[z+xe]){var Ne=Te.length>0?"{"+Te.join(": ..., ")+": ...}":"{}";Be(`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} />`,Te,z,Oe,z),gn[z+Te]=!0}}return h===ke?yn(j):ti(j),j}}function na(h,V,K){return ta(h,V,K,!0)}function Rr(h,V,K){return ta(h,V,K,!1)}var wr=Rr,Dr=na;ul.Fragment=ke,ul.jsx=wr,ul.jsxs=Dr}(),ul}cm.exports=jS();var v=cm.exports,pm={exports:{}},ef={exports:{}},tf={},mm;function US(){return mm||(mm=1,function(k){/** + <%s key={someKey} {...props} />`,xe,z,Ne,z),hn[z+xe]=!0}}return h===Oe?mn(U):ti(U),U}}function ta(h,V,Z){return ea(h,V,Z,!0)}function Rr(h,V,Z){return ea(h,V,Z,!1)}var wr=Rr,Dr=ta;ul.Fragment=Oe,ul.jsx=wr,ul.jsxs=Dr}(),ul}cm.exports=jS();var v=cm.exports,pm={exports:{}},ef={exports:{}},tf={},mm;function US(){return mm||(mm=1,function(k){/** * @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,ee=5;function ke(Q,xe){var $e=Q.length;Q.push(xe),c(Q,xe,$e)}function He(Q){return Q.length===0?null:Q[0]}function X(Q){if(Q.length===0)return null;var xe=Q[0],$e=Q.pop();return $e!==xe&&(Q[0]=$e,xt(Q,$e,0)),xe}function c(Q,xe,$e){for(var yt=$e;yt>0;){var Nt=yt-1>>>1,Gt=Q[Nt];if(fe(Gt,xe)>0)Q[Nt]=xe,Q[yt]=Gt,yt=Nt;else return}}function xt(Q,xe,$e){for(var yt=$e,Nt=Q.length,Gt=Nt>>>1;yt$e&&(!Q||Se()));){var yt=Ce.callback;if(typeof yt=="function"){Ce.callback=null,q=Ce.priorityLevel;var Nt=Ce.expirationTime<=$e,Gt=yt(Nt);$e=k.unstable_now(),typeof Gt=="function"?Ce.callback=Gt:Ce===He(Ie)&&X(Ie),Wt($e)}else X(Ie);Ce=He(Ie)}if(Ce!==null)return!0;var Lt=He(Rt);return Lt!==null&&vt(_n,Lt.startTime-$e),!1}function Ut(Q,xe){switch(Q){case pe:case ut:case ae:case Ae:case re:break;default:Q=ae}var $e=q;q=Q;try{return xe()}finally{q=$e}}function Ct(Q){var xe;switch(q){case pe:case ut:case ae:xe=ae;break;default:xe=q;break}var $e=q;q=xe;try{return Q()}finally{q=$e}}function qt(Q){var xe=q;return function(){var $e=q;q=xe;try{return Q.apply(this,arguments)}finally{q=$e}}}function ht(Q,xe,$e){var yt=k.unstable_now(),Nt;if(typeof $e=="object"&&$e!==null){var Gt=$e.delay;typeof Gt=="number"&&Gt>0?Nt=yt+Gt:Nt=yt}else Nt=yt;var Lt;switch(Q){case pe:Lt=Ze;break;case ut:Lt=O;break;case re:Lt=It;break;case Ae:Lt=P;break;case ae:default:Lt=et;break}var Hn=Nt+Lt,Ft={id:At++,callback:xe,priorityLevel:Q,startTime:Nt,expirationTime:Hn,sortIndex:-1};return Nt>yt?(Ft.sortIndex=Nt,ke(Rt,Ft),He(Ie)===null&&Ft===He(Rt)&&(de?an():de=!0,vt(_n,Nt-yt))):(Ft.sortIndex=Hn,ke(Ie,Ft),!te&&!Xe&&(te=!0,Je(Vt))),Ft}function Un(){}function st(){!te&&!Xe&&(te=!0,Je(Vt))}function tn(){return He(Ie)}function wt(Q){Q.callback=null}function Qe(){return q}var Zt=!1,nn=null,cn=-1,U=ee,Z=-1;function Se(){var Q=k.unstable_now()-Z;return!(Q125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");return}Q>0?U=Math.floor(1e3/Q):U=ee}var We=function(){if(nn!==null){var Q=k.unstable_now();Z=Q;var xe=!0,$e=!0;try{$e=nn(xe,Q)}finally{$e?qe():(Zt=!1,nn=null)}}else Zt=!1},qe;if(typeof Ne=="function")qe=function(){Ne(We)};else if(typeof MessageChannel<"u"){var _e=new MessageChannel,dt=_e.port2;_e.port1.onmessage=We,qe=function(){dt.postMessage(null)}}else qe=function(){I(We,0)};function Je(Q){nn=Q,Zt||(Zt=!0,qe())}function vt(Q,xe){cn=I(function(){Q(k.unstable_now())},xe)}function an(){Y(cn),cn=-1}var mn=he,hn=null;k.unstable_IdlePriority=re,k.unstable_ImmediatePriority=pe,k.unstable_LowPriority=Ae,k.unstable_NormalPriority=ae,k.unstable_Profiling=hn,k.unstable_UserBlockingPriority=ut,k.unstable_cancelCallback=wt,k.unstable_continueExecution=st,k.unstable_forceFrameRate=je,k.unstable_getCurrentPriorityLevel=Qe,k.unstable_getFirstCallbackNode=tn,k.unstable_next=Ct,k.unstable_pauseExecution=Un,k.unstable_requestPaint=mn,k.unstable_runWithPriority=Ut,k.unstable_scheduleCallback=ht,k.unstable_shouldYield=Se,k.unstable_wrapCallback=qt,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)})()}(tf)),tf}var hm;function HS(){return hm||(hm=1,ef.exports=US()),ef.exports}var va={},ym;function zS(){if(ym)return va;ym=1;/** + */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var O=!1,J=5;function Oe(Q,he){var Ae=Q.length;Q.push(he),c(Q,he,Ae)}function Ue(Q){return Q.length===0?null:Q[0]}function G(Q){if(Q.length===0)return null;var he=Q[0],Ae=Q.pop();return Ae!==he&&(Q[0]=Ae,mt(Q,Ae,0)),he}function c(Q,he,Ae){for(var ft=Ae;ft>0;){var Dt=ft-1>>>1,Ht=Q[Dt];if(ue(Ht,he)>0)Q[Dt]=he,Q[ft]=Ht,ft=Dt;else return}}function mt(Q,he,Ae){for(var ft=Ae,Dt=Q.length,Ht=Dt>>>1;ftAe&&(!Q||M()));){var ft=we.callback;if(typeof ft=="function"){we.callback=null,X=we.priorityLevel;var Dt=we.expirationTime<=Ae,Ht=ft(Dt);Ae=k.unstable_now(),typeof Ht=="function"?we.callback=Ht:we===Ue(We)&&G(We),xt(Ae)}else G(We);we=Ue(We)}if(we!==null)return!0;var At=Ue(Ct);return At!==null&&qe(wn,At.startTime-Ae),!1}function Ut(Q,he){switch(Q){case ne:case Ke:case re:case He:case ie:break;default:Q=re}var Ae=X;X=Q;try{return he()}finally{X=Ae}}function Rt(Q){var he;switch(X){case ne:case Ke:case re:he=re;break;default:he=X;break}var Ae=X;X=he;try{return Q()}finally{X=Ae}}function qt(Q){var he=X;return function(){var Ae=X;X=he;try{return Q.apply(this,arguments)}finally{X=Ae}}}function ht(Q,he,Ae){var ft=k.unstable_now(),Dt;if(typeof Ae=="object"&&Ae!==null){var Ht=Ae.delay;typeof Ht=="number"&&Ht>0?Dt=ft+Ht:Dt=ft}else Dt=ft;var At;switch(Q){case ne:At=Je;break;case Ke:At=L;break;case ie:At=Ft;break;case He:At=I;break;case re:default:At=Xe;break}var jn=Dt+At,$t={id:Nt++,callback:he,priorityLevel:Q,startTime:Dt,expirationTime:jn,sortIndex:-1};return Dt>ft?($t.sortIndex=Dt,Oe(Ct,$t),Ue(We)===null&&$t===Ue(Ct)&&(ve?St():ve=!0,qe(wn,Dt-ft))):($t.sortIndex=jn,Oe(We,$t),!te&&!tt&&(te=!0,ke(Bt))),$t}function Nn(){}function st(){!te&&!tt&&(te=!0,ke(Bt))}function en(){return Ue(We)}function wt(Q){Q.callback=null}function Ze(){return X}var tn=!1,nn=null,an=-1,Jt=J,va=-1;function M(){var Q=k.unstable_now()-va;return!(Q125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");return}Q>0?Jt=Math.floor(1e3/Q):Jt=J}var pe=function(){if(nn!==null){var Q=k.unstable_now();va=Q;var he=!0,Ae=!0;try{Ae=nn(he,Q)}finally{Ae?Ce():(tn=!1,nn=null)}}else tn=!1},Ce;if(typeof De=="function")Ce=function(){De(pe)};else if(typeof MessageChannel<"u"){var ze=new MessageChannel,et=ze.port2;ze.port1.onmessage=pe,Ce=function(){et.postMessage(null)}}else Ce=function(){P(pe,0)};function ke(Q){nn=Q,tn||(tn=!0,Ce())}function qe(Q,he){an=P(function(){Q(k.unstable_now())},he)}function St(){Y(an),an=-1}var rn=W,Wn=null;k.unstable_IdlePriority=ie,k.unstable_ImmediatePriority=ne,k.unstable_LowPriority=He,k.unstable_NormalPriority=re,k.unstable_Profiling=Wn,k.unstable_UserBlockingPriority=Ke,k.unstable_cancelCallback=wt,k.unstable_continueExecution=st,k.unstable_forceFrameRate=me,k.unstable_getCurrentPriorityLevel=Ze,k.unstable_getFirstCallbackNode=en,k.unstable_next=Rt,k.unstable_pauseExecution=Nn,k.unstable_requestPaint=rn,k.unstable_runWithPriority=Ut,k.unstable_scheduleCallback=ht,k.unstable_shouldYield=M,k.unstable_wrapCallback=qt,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)})()}(tf)),tf}var hm;function HS(){return hm||(hm=1,ef.exports=US()),ef.exports}var da={},ym;function zS(){if(ym)return da;ym=1;/** * @license React * react-dom.development.js * @@ -65,15 +65,15 @@ React keys must be passed directly to JSX without using spread: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */return function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var k=Zc(),M=HS(),ee=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ke=!1;function He(e){ke=e}function X(e){if(!ke){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 Lt(e,t,n,a){if(n!==null&&n.type===qe)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":{if(a)return!1;if(n!==null)return!n.acceptsBooleans;var r=e.toLowerCase().slice(0,5);return r!=="data-"&&r!=="aria-"}default:return!1}}function Hn(e,t,n,a){if(t===null||typeof t>"u"||Lt(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case Je:return!t;case vt:return t===!1;case an:return isNaN(t);case mn:return isNaN(t)||t<1}return!1}function Ft(e){return Dt.hasOwnProperty(e)?Dt[e]:null}function jt(e,t,n,a,r,i,o){this.acceptsBooleans=t===dt||t===Je||t===vt,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var Dt={},$a=["children","dangerouslySetInnerHTML","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style"];$a.forEach(function(e){Dt[e]=new jt(e,qe,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0],n=e[1];Dt[t]=new jt(t,_e,!1,n,null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Dt[e]=new jt(e,dt,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Dt[e]=new jt(e,dt,!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){Dt[e]=new jt(e,Je,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Dt[e]=new jt(e,Je,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Dt[e]=new jt(e,vt,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Dt[e]=new jt(e,mn,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Dt[e]=new jt(e,an,!1,e.toLowerCase(),null,!1,!1)});var Ta=/[\-\:]([a-z])/g,Ea=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(Ta,Ea);Dt[t]=new jt(t,_e,!1,e,null,!1,!1)}),["xlink:actuate","xlink:arcrole","xlink:role","xlink:show","xlink:title","xlink:type"].forEach(function(e){var t=e.replace(Ta,Ea);Dt[t]=new jt(t,_e,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Ta,Ea);Dt[t]=new jt(t,_e,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Dt[e]=new jt(e,_e,!1,e.toLowerCase(),null,!1,!1)});var or="xlinkHref";Dt[or]=new jt("xlinkHref",_e,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Dt[e]=new jt(e,_e,!1,e.toLowerCase(),null,!0,!0)});var Oa=/^[\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,Zr=!1;function xr(e){!Zr&&Oa.test(e)&&(Zr=!0,c("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 ei(e,t,n,a){if(a.mustUseProperty){var r=a.propertyName;return e[r]}else{U(n,t),a.sanitizeURL&&xr(""+n);var i=a.attributeName,o=null;if(a.type===vt){if(e.hasAttribute(i)){var l=e.getAttribute(i);return l===""?!0:Hn(t,n,a,!1)?l:l===""+n?n:l}}else if(e.hasAttribute(i)){if(Hn(t,n,a,!1))return e.getAttribute(i);if(a.type===Je)return n;o=e.getAttribute(i)}return Hn(t,n,a,!1)?o===null?n:o:o===""+n?n:o}}function ti(e,t,n,a){{if(!Nt(t))return;if(!e.hasAttribute(t))return n===void 0?void 0:null;var r=e.getAttribute(t);return U(n,t),r===""+n?n:r}}function yn(e,t,n,a){var r=Ft(t);if(!Gt(t,r,a)){if(Hn(t,n,r,a)&&(n=null),a||r===null){if(Nt(t)){var i=t;n===null?e.removeAttribute(i):(U(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===Je?!1:""}else e[l]=n;return}var f=r.attributeName,d=r.attributeNamespace;if(n===null)e.removeAttribute(f);else{var g=r.type,y;g===Je||g===vt&&n===!0?y="":(U(n,f),y=""+n,r.sanitizeURL&&xr(y.toString())),d?e.setAttributeNS(d,f,y):e.setAttribute(f,y)}}}var gn=Symbol.for("react.element"),ta=Symbol.for("react.portal"),na=Symbol.for("react.fragment"),Rr=Symbol.for("react.strict_mode"),wr=Symbol.for("react.profiler"),Dr=Symbol.for("react.provider"),h=Symbol.for("react.context"),V=Symbol.for("react.forward_ref"),K=Symbol.for("react.suspense"),ve=Symbol.for("react.suspense_list"),tt=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),C=Symbol.for("react.scope"),b=Symbol.for("react.debug_trace_mode"),T=Symbol.for("react.offscreen"),E=Symbol.for("react.legacy_hidden"),j=Symbol.for("react.cache"),S=Symbol.for("react.tracing_marker"),B=Symbol.iterator,z="@@iterator";function be(e){if(e===null||typeof e!="object")return null;var t=B&&e[B]||e[z];return typeof t=="function"?t:null}var Te=Object.assign,Oe=0,ct,Qt,bn,kn,_r,La,Mn;function lr(){}lr.__reactDisabledLog=!0;function zn(){{if(Oe===0){ct=console.log,Qt=console.info,bn=console.warn,kn=console.error,_r=console.group,La=console.groupCollapsed,Mn=console.groupEnd;var e={configurable:!0,enumerable:!0,value:lr,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}Oe++}}function Ht(){{if(Oe--,Oe===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Te({},e,{value:ct}),info:Te({},e,{value:Qt}),warn:Te({},e,{value:bn}),error:Te({},e,{value:kn}),group:Te({},e,{value:_r}),groupCollapsed:Te({},e,{value:La}),groupEnd:Te({},e,{value:Mn})})}Oe<0&&c("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var aa=ee.ReactCurrentDispatcher,ur;function Pa(e,t,n){{if(ur===void 0)try{throw Error()}catch(r){var a=r.stack.trim().match(/\n( *(at )?)/);ur=a&&a[1]||""}return` -`+ur+e}}var sr=!1,Gn;{var pa=typeof WeakMap=="function"?WeakMap:Map;Gn=new pa}function cr(e,t){if(!e||sr)return"";{var n=Gn.get(e);if(n!==void 0)return n}var a;sr=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var i;i=aa.current,aa.current=null,zn();try{if(t){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(o,[])}catch(_){a=_}Reflect.construct(e,[],o)}else{try{o.call()}catch(_){a=_}e.call(o.prototype)}}else{try{throw Error()}catch(_){a=_}e()}}catch(_){if(_&&a&&typeof _.stack=="string"){for(var l=_.stack.split(` + */return function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var k=Zc(),O=HS(),J=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Oe=!1;function Ue(e){Oe=e}function G(e){if(!Oe){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 At(e,t,n,a){if(n!==null&&n.type===Ce)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 jn(e,t,n,a){if(t===null||typeof t>"u"||At(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case ke:return!t;case qe:return t===!1;case St:return isNaN(t);case rn:return isNaN(t)||t<1}return!1}function $t(e){return _t.hasOwnProperty(e)?_t[e]:null}function jt(e,t,n,a,r,i,o){this.acceptsBooleans=t===et||t===ke||t===qe,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var _t={},$a=["children","dangerouslySetInnerHTML","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style"];$a.forEach(function(e){_t[e]=new jt(e,Ce,!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];_t[t]=new jt(t,ze,!1,n,null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){_t[e]=new jt(e,et,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){_t[e]=new jt(e,et,!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){_t[e]=new jt(e,ke,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){_t[e]=new jt(e,ke,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){_t[e]=new jt(e,qe,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){_t[e]=new jt(e,rn,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){_t[e]=new jt(e,St,!1,e.toLowerCase(),null,!1,!1)});var Ta=/[\-\:]([a-z])/g,Ea=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(Ta,Ea);_t[t]=new jt(t,ze,!1,e,null,!1,!1)}),["xlink:actuate","xlink:arcrole","xlink:role","xlink:show","xlink:title","xlink:type"].forEach(function(e){var t=e.replace(Ta,Ea);_t[t]=new jt(t,ze,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Ta,Ea);_t[t]=new jt(t,ze,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){_t[e]=new jt(e,ze,!1,e.toLowerCase(),null,!1,!1)});var or="xlinkHref";_t[or]=new jt("xlinkHref",ze,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){_t[e]=new jt(e,ze,!1,e.toLowerCase(),null,!0,!0)});var Oa=/^[\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,Zr=!1;function xr(e){!Zr&&Oa.test(e)&&(Zr=!0,c("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 ei(e,t,n,a){if(a.mustUseProperty){var r=a.propertyName;return e[r]}else{Jt(n,t),a.sanitizeURL&&xr(""+n);var i=a.attributeName,o=null;if(a.type===qe){if(e.hasAttribute(i)){var l=e.getAttribute(i);return l===""?!0:jn(t,n,a,!1)?l:l===""+n?n:l}}else if(e.hasAttribute(i)){if(jn(t,n,a,!1))return e.getAttribute(i);if(a.type===ke)return n;o=e.getAttribute(i)}return jn(t,n,a,!1)?o===null?n:o:o===""+n?n:o}}function ti(e,t,n,a){{if(!Dt(t))return;if(!e.hasAttribute(t))return n===void 0?void 0:null;var r=e.getAttribute(t);return Jt(n,t),r===""+n?n:r}}function mn(e,t,n,a){var r=$t(t);if(!Ht(t,r,a)){if(jn(t,n,r,a)&&(n=null),a||r===null){if(Dt(t)){var i=t;n===null?e.removeAttribute(i):(Jt(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===ke?!1:""}else e[l]=n;return}var f=r.attributeName,d=r.attributeNamespace;if(n===null)e.removeAttribute(f);else{var g=r.type,y;g===ke||g===qe&&n===!0?y="":(Jt(n,f),y=""+n,r.sanitizeURL&&xr(y.toString())),d?e.setAttributeNS(d,f,y):e.setAttribute(f,y)}}}var hn=Symbol.for("react.element"),ea=Symbol.for("react.portal"),ta=Symbol.for("react.fragment"),Rr=Symbol.for("react.strict_mode"),wr=Symbol.for("react.profiler"),Dr=Symbol.for("react.provider"),h=Symbol.for("react.context"),V=Symbol.for("react.forward_ref"),Z=Symbol.for("react.suspense"),ye=Symbol.for("react.suspense_list"),nt=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),C=Symbol.for("react.scope"),b=Symbol.for("react.debug_trace_mode"),T=Symbol.for("react.offscreen"),E=Symbol.for("react.legacy_hidden"),U=Symbol.for("react.cache"),S=Symbol.for("react.tracing_marker"),B=Symbol.iterator,z="@@iterator";function Te(e){if(e===null||typeof e!="object")return null;var t=B&&e[B]||e[z];return typeof t=="function"?t:null}var xe=Object.assign,Ne=0,ct,Xt,yn,Dn,_r,La,_n;function lr(){}lr.__reactDisabledLog=!0;function Un(){{if(Ne===0){ct=console.log,Xt=console.info,yn=console.warn,Dn=console.error,_r=console.group,La=console.groupCollapsed,_n=console.groupEnd;var e={configurable:!0,enumerable:!0,value:lr,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}Ne++}}function zt(){{if(Ne--,Ne===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:xe({},e,{value:ct}),info:xe({},e,{value:Xt}),warn:xe({},e,{value:yn}),error:xe({},e,{value:Dn}),group:xe({},e,{value:_r}),groupCollapsed:xe({},e,{value:La}),groupEnd:xe({},e,{value:_n})})}Ne<0&&c("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var na=J.ReactCurrentDispatcher,ur;function Pa(e,t,n){{if(ur===void 0)try{throw Error()}catch(r){var a=r.stack.trim().match(/\n( *(at )?)/);ur=a&&a[1]||""}return` +`+ur+e}}var sr=!1,qn;{var pa=typeof WeakMap=="function"?WeakMap:Map;qn=new pa}function cr(e,t){if(!e||sr)return"";{var n=qn.get(e);if(n!==void 0)return n}var a;sr=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var i;i=na.current,na.current=null,Un();try{if(t){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(o,[])}catch(_){a=_}Reflect.construct(e,[],o)}else{try{o.call()}catch(_){a=_}e.call(o.prototype)}}else{try{throw Error()}catch(_){a=_}e()}}catch(_){if(_&&a&&typeof _.stack=="string"){for(var l=_.stack.split(` `),u=a.stack.split(` `),f=l.length-1,d=u.length-1;f>=1&&d>=0&&l[f]!==u[d];)d--;for(;f>=1&&d>=0;f--,d--)if(l[f]!==u[d]){if(f!==1||d!==1)do if(f--,d--,d<0||l[f]!==u[d]){var g=` -`+l[f].replace(" at new "," at ");return e.displayName&&g.includes("")&&(g=g.replace("",e.displayName)),typeof e=="function"&&Gn.set(e,g),g}while(f>=1&&d>=0);break}}}finally{sr=!1,aa.current=i,Ht(),Error.prepareStackTrace=r}var y=e?e.displayName||e.name:"",w=y?Pa(y):"";return typeof e=="function"&&Gn.set(e,w),w}function ni(e,t,n){return cr(e,!0)}function un(e,t,n){return cr(e,!1)}function Tt(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function Aa(e,t,n){if(e==null)return"";if(typeof e=="function")return cr(e,Tt(e));if(typeof e=="string")return Pa(e);switch(e){case K:return Pa("Suspense");case ve:return Pa("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case V:return un(e.render);case tt:return Aa(e.type,t,n);case p:{var a=e,r=a._payload,i=a._init;try{return Aa(i(r),t,n)}catch{}}}return""}function Ya(e){switch(e._debugOwner&&e._debugOwner.type,e._debugSource,e.tag){case re:return Pa(e.type);case It:return Pa("Lazy");case O:return Pa("Suspense");case At:return Pa("SuspenseList");case fe:case ut:case P:return un(e.type);case De:return un(e.type.render);case pe:return ni(e.type);default:return""}}function Ia(e){try{var t="",n=e;do t+=Ya(n),n=n.return;while(n);return t}catch(a){return` +`+l[f].replace(" at new "," at ");return e.displayName&&g.includes("")&&(g=g.replace("",e.displayName)),typeof e=="function"&&qn.set(e,g),g}while(f>=1&&d>=0);break}}}finally{sr=!1,na.current=i,zt(),Error.prepareStackTrace=r}var y=e?e.displayName||e.name:"",w=y?Pa(y):"";return typeof e=="function"&&qn.set(e,w),w}function ni(e,t,n){return cr(e,!0)}function sn(e,t,n){return cr(e,!1)}function Tt(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function Aa(e,t,n){if(e==null)return"";if(typeof e=="function")return cr(e,Tt(e));if(typeof e=="string")return Pa(e);switch(e){case Z:return Pa("Suspense");case ye:return Pa("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case V:return sn(e.render);case nt:return Aa(e.type,t,n);case p:{var a=e,r=a._payload,i=a._init;try{return Aa(i(r),t,n)}catch{}}}return""}function Ya(e){switch(e._debugOwner&&e._debugOwner.type,e._debugSource,e.tag){case ie:return Pa(e.type);case Ft:return Pa("Lazy");case L:return Pa("Suspense");case Nt:return Pa("SuspenseList");case ue:case Ke:case I:return sn(e.type);case _e:return sn(e.type.render);case ne:return ni(e.type);default:return""}}function Ia(e){try{var t="",n=e;do t+=Ya(n),n=n.return;while(n);return t}catch(a){return` Error generating stack: `+a.message+` -`+a.stack}}function qu(e,t,n){var a=e.displayName;if(a)return a;var r=t.displayName||t.name||"";return r!==""?n+"("+r+")":n}function sl(e){return e.displayName||"Context"}function gt(e){if(e==null)return null;if(typeof e.tag=="number"&&c("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 na:return"Fragment";case ta:return"Portal";case wr:return"Profiler";case Rr:return"StrictMode";case K:return"Suspense";case ve:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case h:var t=e;return sl(t)+".Consumer";case Dr:var n=e;return sl(n._context)+".Provider";case V:return qu(e,e.render,"ForwardRef");case tt:var a=e.displayName||null;return a!==null?a:gt(e.type)||"Memo";case p:{var r=e,i=r._payload,o=r._init;try{return gt(o(i))}catch{return null}}}return null}function nf(e,t,n){var a=t.displayName||t.name||"";return e.displayName||(a!==""?n+"("+a+")":n)}function kr(e){return e.displayName||"Context"}function Ge(e){var t=e.tag,n=e.type;switch(t){case te:return"Cache";case ft:var a=n;return kr(a)+".Consumer";case Ve:var r=n;return kr(r._context)+".Provider";case Rt:return"DehydratedFragment";case De:return nf(n,n.render,"ForwardRef");case ie:return"Fragment";case re:return n;case Ae:return"Portal";case ae:return"Root";case me:return"Text";case It:return gt(n);case Yt:return n===Rr?"StrictMode":"Mode";case q:return"Offscreen";case Ze:return"Profiler";case Ce:return"Scope";case O:return"Suspense";case At:return"SuspenseList";case de:return"TracingMarker";case pe:case fe:case Ie:case ut:case et:case P:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;break}return null}var cl=ee.ReactDebugCurrentFrame,ra=null,Mi=!1;function ai(){{if(ra===null)return null;var e=ra._debugOwner;if(e!==null&&typeof e<"u")return Ge(e)}return null}function af(){return ra===null?"":Ia(ra)}function On(){cl.getCurrentStack=null,ra=null,Mi=!1}function Kt(e){cl.getCurrentStack=e===null?null:af,ra=e,Mi=!1}function Gu(){return ra}function Na(e){Mi=e}function ia(e){return""+e}function Wa(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return We(e),e;default:return""}}var rf={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0};function fl(e,t){rf[t.type]||t.onChange||t.onInput||t.readOnly||t.disabled||t.value==null||c("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||c("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 Xu(e){var t=e.type,n=e.nodeName;return n&&n.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function dl(e){return e._valueTracker}function uo(e){e._valueTracker=null}function of(e){var t="";return e&&(Xu(e)?t=e.checked?"true":"false":t=e.value),t}function ri(e){var t=Xu(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);We(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){We(l),a=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:n.enumerable});var o={getValue:function(){return a},setValue:function(l){We(l),a=""+l},stopTracking:function(){uo(e),delete e[t]}};return o}}function Oi(e){dl(e)||(e._valueTracker=ri(e))}function vl(e){if(!e)return!1;var t=dl(e);if(!t)return!0;var n=t.getValue(),a=of(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 so=!1,co=!1,fo=!1,Qu=!1;function Ku(e){var t=e.type==="checkbox"||e.type==="radio";return t?e.checked!=null:e.value!=null}function pl(e,t){var n=e,a=t.checked,r=Te({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??n._wrapperState.initialChecked});return r}function Ju(e,t){fl("input",t),t.checked!==void 0&&t.defaultChecked!==void 0&&!co&&(c("%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",ai()||"A component",t.type),co=!0),t.value!==void 0&&t.defaultValue!==void 0&&!so&&(c("%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",ai()||"A component",t.type),so=!0);var n=e,a=t.defaultValue==null?"":t.defaultValue;n._wrapperState={initialChecked:t.checked!=null?t.checked:t.defaultChecked,initialValue:Wa(t.value!=null?t.value:a),controlled:Ku(t)}}function s(e,t){var n=e,a=t.checked;a!=null&&yn(n,"checked",a,!1)}function m(e,t){var n=e;{var a=Ku(t);!n._wrapperState.controlled&&a&&!Qu&&(c("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"),Qu=!0),n._wrapperState.controlled&&!a&&!fo&&(c("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"),fo=!0)}s(e,t);var r=Wa(t.value),i=t.type;if(r!=null)i==="number"?(r===0&&n.value===""||n.value!=r)&&(n.value=ia(r)):n.value!==ia(r)&&(n.value=ia(r));else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}t.hasOwnProperty("value")?Le(n,t.type,r):t.hasOwnProperty("defaultValue")&&Le(n,t.type,Wa(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(n.defaultChecked=!!t.defaultChecked)}function D(e,t,n){var a=e;if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type,i=r==="submit"||r==="reset";if(i&&(t.value===void 0||t.value===null))return;var o=ia(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 L(e,t){var n=e;m(n,t),G(n,t)}function G(e,t){var n=t.name;if(t.type==="radio"&&n!=null){for(var a=e;a.parentNode;)a=a.parentNode;U(n,"name");for(var r=a.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),i=0;i.")))}):t.dangerouslySetInnerHTML!=null&&(rt||(rt=!0,c("Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.")))),t.selected!=null&&!ge&&(c("Use the `defaultValue` or `value` props on instead of setting `selected` on