From 133e147b32fb41e685e7d766d8c4ae39fcdffb9f Mon Sep 17 00:00:00 2001 From: Yiannis Christodoulou Date: Thu, 16 Oct 2025 16:29:39 +0300 Subject: [PATCH] build assets --- static/chapters_editor/chapters-editor.css | 2 +- static/chapters_editor/chapters-editor.js | 84 +++++++++---------- static/chapters_editor/chapters-editor.js.map | 2 +- static/video_js/video-js.css | 2 +- static/video_js/video-js.js | 2 +- static/video_js/video-js.js.map | 2 +- 6 files changed, 47 insertions(+), 47 deletions(-) diff --git a/static/chapters_editor/chapters-editor.css b/static/chapters_editor/chapters-editor.css index 53faa21b..3a00ed66 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)}.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}} +#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}} diff --git a/static/chapters_editor/chapters-editor.js b/static/chapters_editor/chapters-editor.js index 9e18ab96..94fac476 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,O){/** +(function(){"use strict";var cm={exports:{}},Jc={exports:{}},ll={exports:{}};ll.exports;var fm;function NS(){return fm||(fm=1,function(k,L){/** * @license React * react.development.js * @@ -6,7 +6,7 @@ * * 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 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 + */(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",Le=Symbol.for("react.element"),Ue=Symbol.for("react.portal"),q=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),Rt=Symbol.for("react.profiler"),fe=Symbol.for("react.provider"),ye=Symbol.for("react.context"),ut=Symbol.for("react.forward_ref"),ae=Symbol.for("react.suspense"),He=Symbol.for("react.suspense_list"),re=Symbol.for("react.memo"),ge=Symbol.for("react.lazy"),ie=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},Ke={transition:null},O={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 Et=!1,Nt=!1,we=!1,X=!1,et=!1,te={ReactCurrentDispatcher:_e,ReactCurrentBatchConfig:Ke,ReactCurrentOwner:Xe};te.ReactDebugCurrentFrame=I,te.ReactCurrentActQueue=O;function de(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 nt=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||(de("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')) @@ -14,21 +14,21 @@ Your code should look like: 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'))`,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: + 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===re?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:ut,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===q||s===Rt||et||s===c||s===ae||s===He||X||s===ie||Et||Nt||we||typeof s=="object"&&s!==null&&(s.$$typeof===ge||s.$$typeof===re||s.$$typeof===fe||s.$$typeof===ye||s.$$typeof===ut||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:re,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 he(){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 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` +See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`),s}function tt(s){var m=he();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=he();return m.useState(s)}function C(s,m,D){var A=he();return A.useReducer(s,m,D)}function b(s){var m=he();return m.useRef(s)}function T(s,m){var D=he();return D.useEffect(s,m)}function E(s,m){var D=he();return D.useInsertionEffect(s,m)}function U(s,m){var D=he();return D.useLayoutEffect(s,m)}function S(s,m){var D=he();return D.useCallback(s,m)}function B(s,m){var D=he();return D.useMemo(s,m)}function z(s,m,D){var A=he();return A.useImperativeHandle(s,m,D)}function Te(s,m){{var D=he();return D.useDebugValue(s,m)}}function xe(){var s=he();return s.useTransition()}function Ne(s){var m=he();return m.useDeferredValue(s)}function ct(){var s=he();return s.useId()}function Xt(s,m,D){var A=he();return A.useSyncExternalStore(s,m,D)}var yn=0,Dn,_r,Oa,_n,lr,Un,zt;function na(){}na.__reactDisabledLog=!0;function ur(){{if(yn===0){Dn=console.log,_r=console.info,Oa=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:Oa}),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 St(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(` +`),rt=A.stack.split(` +`),kt=Ye.length-1,Pt=rt.length-1;kt>=1&&Pt>=0&&Ye[kt]!==rt[Pt];)Pt--;for(;kt>=1&&Pt>=0;kt--,Pt--)if(Ye[kt]!==rt[Pt]){if(kt!==1||Pt!==1)do if(kt--,Pt--,Pt<0||Ye[kt]!==rt[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 nt=s?s.displayName||s.name:"",Kt=nt?pa(nt):"";return typeof s=="function"&&ni.set(s,Kt),Kt}function Aa(s,m,D){return St(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 St(s,Ya(s));if(typeof s=="string")return pa(s);switch(s){case ae:return pa("Suspense");case He: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 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 ht(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(ve);for(var Se in s)if(je(s,Se)){var Ye=void 0;try{if(typeof s[Se]!="function"){var rt=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 rt.name="Invariant Violation",rt}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)&&(ht(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),ht(null)),Ye instanceof Error&&!(Ye.message in qu)&&(qu[Ye.message]=!0,ht(K),P("Failed %s type: %s",D,Ye.message),ht(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=pe(Xe.current.type);if(s)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?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 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 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 "+pe(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 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."),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,Li=!1;function vl(s){{var m=ri;ri++,O.current===null&&(O.current=[]);var D=O.isBatchingLegacy,A;try{if(O.isBatchingLegacy=!0,A=s(),!D&&O.didScheduleLegacyUpdate){var K=O.current;K!==null&&(O.didScheduleLegacyUpdate=!1,fo(K))}}catch(nt){throw Mr(m),nt}finally{O.isBatchingLegacy=D}if(A!==null&&typeof A=="object"&&typeof A.then=="function"){var je=A,Se=!1,Ye={then:function(nt,Kt){Se=!0,je.then(function(fn){Mr(m),ri===0?so(fn,nt,Kt):nt(fn)},function(fn){Mr(m),Kt(fn)})}};return!Li&&typeof Promise<"u"&&Promise.resolve().then(function(){}).then(function(){Se||(Li=!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 rt=A;if(Mr(m),ri===0){var kt=O.current;kt!==null&&(fo(kt),O.current=null);var Pt={then:function(nt,Kt){O.current===null?(O.current=[],so(rt,nt,Kt)):nt(rt)}};return Pt}else{var Yt={then:function(nt,Kt){nt(rt)}};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=O.current;if(A!==null)try{fo(A),of(function(){A.length===0?(O.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 kn(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(),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;ye1?V-1:0),he=1;he=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` +`+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,xt(),Error.prepareStackTrace=tt}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 Je(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 Je(h,nn(h));if(typeof h=="string")return Nn(h);switch(h){case ye:return Nn("Suspense");case ut:return Nn("SuspenseList")}if(typeof h=="object")switch(h.$$typeof){case fe:return tn(h.render);case ae:return an(h.type,V,Z);case He:{var he=h,tt=he._payload,p=he._init;try{return an(p(tt),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 pe(h,V,Z,he,tt){{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((he||"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,he,Z,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(E){b=E}b&&!(b instanceof Error)&&(W(tt),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).",he||"React class",Z,C,typeof b),W(null)),b instanceof Error&&!(b.message in va)&&(va[b.message]=!0,W(tt),Be("Failed %s type: %s",Z,b.message),W(null))}}}var ve=Array.isArray;function Ce(h){return ve(h)}function ze(h){{var V=typeof Symbol=="function"&&Symbol.toStringTag,Z=V&&h[Symbol.toStringTag]||h.constructor.name||"Object";return Z}}function Ze(h){try{return ke(h),!1}catch{return!0}}function ke(h){return""+h}function qe(h){if(Ze(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 bt=dt.ReactCurrentOwner,rn={key:!0,ref:!0,__self:!0,__source:!0},Wn,Q;function me(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"&&bt.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,he,tt,p,C){var b={$$typeof:L,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:he}),Object.defineProperty(b,"_source",{configurable:!1,enumerable:!1,writable:!1,value:tt}),Object.freeze&&(Object.freeze(b.props),Object.freeze(b)),b};function jn(h,V,Z,he,tt){{var p,C={},b=null,T=null;Z!==void 0&&(qe(Z),b=""+Z),Ae(V)&&(qe(V.key),b=""+V.key),me(V)&&(T=V.ref,ft(V,tt));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,tt,he,bt.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===L}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 Z=typeof h=="string"?h:h.displayName||h.name;Z&&(V=` +Check the render method of \``+h+"`."}return""}}function or(h){return""}var La={};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 <`+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: +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(La[Z])return;La[Z]=!0;var he="";h&&h._owner&&h._owner!==$t.current&&(he=" 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,he),_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,tt,p);if(U==null)return U;if(C){var S=V.children;if(S!==void 0)if(he)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} />`,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){/** + <%s key={someKey} {...props} />`,xe,z,Ne,z),hn[z+xe]=!0}}return h===Le?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=Le,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 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;/** + */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var L=!1,J=5;function Le(Q,me){var Ae=Q.length;Q.push(me),c(Q,me,Ae)}function Ue(Q){return Q.length===0?null:Q[0]}function q(Q){if(Q.length===0)return null;var me=Q[0],Ae=Q.pop();return Ae!==me&&(Q[0]=Ae,Rt(Q,Ae,0)),me}function c(Q,me,Ae){for(var ft=Ae;ft>0;){var Dt=ft-1>>>1,Ht=Q[Dt];if(fe(Ht,me)>0)Q[Dt]=me,Q[ft]=Ht,ft=Dt;else return}}function Rt(Q,me,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)&&q(We),Ct(Ae)}else q(We);we=Ue(We)}if(we!==null)return!0;var At=Ue(Et);return At!==null&&qe(wn,At.startTime-Ae),!1}function Ut(Q,me){switch(Q){case ye:case ut:case ae:case He:case re:break;default:Q=ae}var Ae=X;X=Q;try{return me()}finally{X=Ae}}function xt(Q){var me;switch(X){case ye:case ut:case ae:me=ae;break;default:me=X;break}var Ae=X;X=me;try{return Q()}finally{X=Ae}}function qt(Q){var me=X;return function(){var Ae=X;X=me;try{return Q.apply(this,arguments)}finally{X=Ae}}}function mt(Q,me,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 ye:At=Ke;break;case ut:At=O;break;case re:At=Ft;break;case He:At=I;break;case ae:default:At=Xe;break}var jn=Dt+At,$t={id:Nt++,callback:me,priorityLevel:Q,startTime:Dt,expirationTime:jn,sortIndex:-1};return Dt>ft?($t.sortIndex=Dt,Le(Et,$t),Ue(We)===null&&$t===Ue(Et)&&(de?bt():de=!0,qe(wn,Dt-ft))):($t.sortIndex=jn,Le(We,$t),!te&&!et&&(te=!0,ke(Bt))),$t}function Nn(){}function st(){!te&&!et&&(te=!0,ke(Bt))}function en(){return Ue(We)}function wt(Q){Q.callback=null}function Je(){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 ve=function(){if(nn!==null){var Q=k.unstable_now();va=Q;var me=!0,Ae=!0;try{Ae=nn(me,Q)}finally{Ae?Ce():(tn=!1,nn=null)}}else tn=!1},Ce;if(typeof De=="function")Ce=function(){De(ve)};else if(typeof MessageChannel<"u"){var ze=new MessageChannel,Ze=ze.port2;ze.port1.onmessage=ve,Ce=function(){Ze.postMessage(null)}}else Ce=function(){P(ve,0)};function ke(Q){nn=Q,tn||(tn=!0,Ce())}function qe(Q,me){an=P(function(){Q(k.unstable_now())},me)}function bt(){Y(an),an=-1}var rn=W,Wn=null;k.unstable_IdlePriority=re,k.unstable_ImmediatePriority=ye,k.unstable_LowPriority=He,k.unstable_NormalPriority=ae,k.unstable_Profiling=Wn,k.unstable_UserBlockingPriority=ut,k.unstable_cancelCallback=wt,k.unstable_continueExecution=st,k.unstable_forceFrameRate=pe,k.unstable_getCurrentPriorityLevel=Je,k.unstable_getFirstCallbackNode=en,k.unstable_next=xt,k.unstable_pauseExecution=Nn,k.unstable_requestPaint=rn,k.unstable_runWithPriority=Ut,k.unstable_scheduleCallback=mt,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(),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` + */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(),L=HS(),J=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Le=!1;function Ue(e){Le=e}function q(e){if(!Le){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 bt: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===Ze||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,Ze,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){_t[e]=new jt(e,Ze,!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,bt,!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 La=/^[\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&&La.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"),he=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"),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,Oa,_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,Oa=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:Oa}),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"&&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` +`+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 St(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,St(e));if(typeof e=="string")return Pa(e);switch(e){case Z:return Pa("Suspense");case he:return Pa("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case V:return sn(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 Ft:return Pa("Lazy");case O:return Pa("Suspense");case Nt:return Pa("SuspenseList");case fe:case ut:case I:return sn(e.type);case _e:return sn(e.type.render);case ye: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 yt(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 ta:return"Fragment";case ea:return"Portal";case wr:return"Profiler";case Rr:return"StrictMode";case Z:return"Suspense";case ye: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 nt:var a=e.displayName||null;return a!==null?a:yt(e.type)||"Memo";case p:{var r=e,i=r._payload,o=r._init;try{return yt(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 dt:var a=n;return kr(a)+".Consumer";case Be:var r=n;return kr(r._context)+".Provider";case Ct:return"DehydratedFragment";case _e:return nf(n,n.render,"ForwardRef");case oe:return"Fragment";case ie:return n;case He:return"Portal";case re:return"Root";case ge:return"Text";case Ft:return yt(n);case Wt:return n===Rr?"StrictMode":"Mode";case X:return"Offscreen";case Je:return"Profiler";case we:return"Scope";case L:return"Suspense";case Nt:return"SuspenseList";case ve:return"TracingMarker";case ne:case ue:case We:case Ke:case Xe:case I:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;break}return null}var cl=J.ReactDebugCurrentFrame,aa=null,Mi=!1;function ai(){{if(aa===null)return null;var e=aa._debugOwner;if(e!==null&&typeof e<"u")return Ge(e)}return null}function af(){return aa===null?"":Ia(aa)}function kn(){cl.getCurrentStack=null,aa=null,Mi=!1}function Qt(e){cl.getCurrentStack=e===null?null:af,aa=e,Mi=!1}function Gu(){return aa}function Na(e){Mi=e}function ra(e){return""+e}function Wa(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return pe(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);pe(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){pe(l),a=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:n.enumerable});var o={getValue:function(){return a},setValue:function(l){pe(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=xe({},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&&mn(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=ra(r)):n.value!==ra(r)&&(n.value=ra(r));else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}t.hasOwnProperty("value")?je(n,t.type,r):t.hasOwnProperty("defaultValue")&&je(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=ra(a._wrapperState.initialValue);n||o!==a.value&&(a.value=o),a.defaultValue=o}var l=a.name;l!==""&&(a.name=""),a.defaultChecked=!a.defaultChecked,a.defaultChecked=!!a._wrapperState.initialChecked,l!==""&&(a.name=l)}function A(e,t){var n=e;m(n,t),K(n,t)}function K(e,t){var n=t.name;if(t.type==="radio"&&n!=null){for(var a=e;a.parentNode;)a=a.parentNode;Jt(n,"name");for(var r=a.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),i=0;i.")))}):t.dangerouslySetInnerHTML!=null&&(it||(it=!0,c("Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.")))),t.selected!=null&&!Se&&(c("Use the `defaultValue` or `value` props on instead of setting `selected` on