@vidtreo/recorder-react 1.7.7 → 1.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -49,6 +49,10 @@ type TranslationKeys = {
49
49
  browserErrorMessage: string;
50
50
  recordingCodecUnsupportedTitle: string;
51
51
  recordingCodecUnsupportedMessage: string;
52
+ recordingMediaEmptyTitle: string;
53
+ recordingMediaEmptyMessage: string;
54
+ recordingMediaErrorTitle: string;
55
+ recordingMediaErrorMessage: string;
52
56
  recordingServerTranscodeFallbackTitle: string;
53
57
  recordingServerTranscodeFallbackMessage: string;
54
58
  recordingTrackEndedTitle: string;
@@ -216,6 +220,7 @@ type VidtreoRecorderState = {
216
220
  stream: MediaStream | null;
217
221
  isMuted: boolean;
218
222
  isPaused: boolean;
223
+ isFinalizingRecording: boolean;
219
224
  isAudioReady: boolean;
220
225
  hasAudioFailed: boolean;
221
226
  error: string | null;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- (function(){if(typeof document!=='undefined'){const style=document.createElement('style');style.textContent=`:root{--vidtreo-background:0 0% 100%;--vidtreo-foreground:0 0% 3.9%;--vidtreo-card:0 0% 100%;--vidtreo-card-foreground:0 0% 3.9%;--vidtreo-primary:0 0% 9%;--vidtreo-primary-foreground:0 0% 98%;--vidtreo-secondary:0 0% 96.1%;--vidtreo-secondary-foreground:0 0% 9%;--vidtreo-muted:0 0% 96.1%;--vidtreo-muted-foreground:0 0% 45.1%;--vidtreo-accent:0 0% 96.1%;--vidtreo-accent-foreground:0 0% 9%;--vidtreo-destructive:0 84.2% 60.2%;--vidtreo-destructive-foreground:0 0% 98%;--vidtreo-border:0 0% 89.8%;--vidtreo-input:0 0% 89.8%;--vidtreo-ring:0 0% 3.9%;--vidtreo-radius:0.5rem;--vidtreo-preview-bg:0 0% 0%;--vidtreo-z-modal-overlay:9999;--vidtreo-z-settings-panel:200;--vidtreo-z-error-overlay:100;--vidtreo-z-countdown-overlay:20;--vidtreo-z-progress-overlay:20;--vidtreo-z-controls:10}.vidtreo-preview-container{position:relative;width:100%;aspect-ratio:9 / 16;border-radius:0;overflow:visible;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;border:none;contain:layout style;transform:translateZ(0);will-change:auto;backface-visibility:hidden;isolation:isolate}.vidtreo-preview-container::before{display:none}@media (min-width:768px){.vidtreo-preview-container{aspect-ratio:16 / 9}}.vidtreo-camera-area{width:100%;height:100%;display:none;position:relative;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;contain:layout style paint;transform:translateZ(0);backface-visibility:hidden;isolation:isolate;will-change:auto}.vidtreo-source-transition-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.7);display:none;align-items:center;justify-content:center;flex-direction:column;border-radius:0;z-index:var(--vidtreo-z-error-overlay);backdrop-filter:blur(4px);transition:opacity 0.3s ease;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:opacity}.vidtreo-source-transition-overlay.vidtreo-active{display:flex;animation:vidtreo-fadeIn 0.2s ease}@keyframes vidtreo-fadeIn{from{opacity:0}to{opacity:1}}.vidtreo-transition-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,0.3);border-top-color:#667eea;border-radius:50%;animation:vidtreo-spin 0.8s linear infinite;margin-bottom:12px}@keyframes vidtreo-spin{to{transform:rotate(360deg)}}.vidtreo-transition-message{color:white;font-size:14px;font-weight:500;text-align:center}.vidtreo-camera-area.vidtreo-active{display:block}.vidtreo-preview-skeleton{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;border-radius:0;z-index:var(--vidtreo-z-controls);gap:1rem;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-skeleton-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,0.3);border-top-color:#ffffff;border-radius:50%;animation:vidtreo-spin 0.8s linear infinite}.vidtreo-skeleton-text{color:#ffffff;font-size:0.875rem;font-weight:500}.vidtreo-video-preview{width:100%;height:100%;border-radius:0;background:#000;display:block;object-fit:cover;transition:opacity 0.3s ease,transform 0.3s ease;position:absolute;inset:0;transform:translateZ(0);will-change:auto;backface-visibility:hidden}.vidtreo-video-preview-skeleton{position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:#000;overflow:hidden;z-index:2;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-skeleton-shimmer{position:absolute;inset:0;background:linear-gradient( 90deg,hsl(var(--vidtreo-muted)) 0%,hsl(var(--vidtreo-muted) / 0.5) 50%,hsl(var(--vidtreo-muted)) 100% );background-size:200% 100%;animation:vidtreo-shimmer 1.5s ease-in-out infinite}@keyframes vidtreo-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.vidtreo-video-preview-skeleton.vidtreo-hidden{opacity:0;pointer-events:none;transition:opacity 0.3s ease}.vidtreo-video-preview.vidtreo-screen-share{object-fit:cover}.vidtreo-video-preview.vidtreo-transitioning{opacity:0.5;transform:scale(0.98)}.vidtreo-countdown-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.95);display:none;align-items:center;justify-content:center;border-radius:0;z-index:var(--vidtreo-z-countdown-overlay);transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-countdown-overlay.vidtreo-active{display:flex}.vidtreo-countdown-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.vidtreo-countdown-number{font-size:9rem;font-weight:bold;color:#ffffff;animation:vidtreo-zoomIn 0.3s ease}@keyframes vidtreo-zoomIn{from{transform:scale(0.5);opacity:0}to{transform:scale(1);opacity:1}}.vidtreo-countdown-text{font-size:0.875rem;color:#ffffff;margin-top:1rem;font-weight:500}.vidtreo-settings-panel{position:absolute !important;bottom:4rem !important;left:50% !important;margin-left:-47%;background:rgba(0,0,0,0.4);border:none;border-radius:0.75rem;padding:0.625rem;display:none;flex-direction:column;z-index:var(--vidtreo-z-settings-panel);width:90%;overflow:hidden;contain:layout style paint;transform:translateZ(0);backface-visibility:hidden}.vidtreo-settings-panel.vidtreo-active{display:flex}.vidtreo-settings-content{width:100%;display:flex;flex-direction:column;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.vidtreo-settings-content.vidtreo-slide-right{animation:vidtreo-slideRight 0.3s ease}.vidtreo-settings-content.vidtreo-slide-left{animation:vidtreo-slideLeft 0.3s ease}.vidtreo-settings-content.vidtreo-slide-none{animation:none;will-change:auto}@keyframes vidtreo-slideIn{from{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes vidtreo-slideRight{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes vidtreo-slideLeft{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.vidtreo-settings-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;background:none;border:none;color:#ffffff;cursor:pointer;padding:0;width:100%;text-align:left}.vidtreo-settings-back-icon{flex-shrink:0;color:#ffffff}.vidtreo-settings-title{font-size:0.875rem;font-weight:600;margin:0;color:#ffffff}.vidtreo-device-options-container{display:flex;flex-direction:column;gap:0.375rem}.vidtreo-device-option-nav{display:flex;align-items:center;padding:0.5rem 0.75rem;background:none;border:none;cursor:pointer;color:#ffffff;transition:background-color 0.2s ease;width:100%;gap:1rem;border-radius:0.5rem}.vidtreo-device-option-nav:hover{background:rgba(255,255,255,0.2)}.vidtreo-device-option-nav-content{display:flex;align-items:center;gap:0.75rem;flex-shrink:0}.vidtreo-device-option-nav-label{font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-device-option-nav-value{display:flex;align-items:center;gap:0.5rem;flex:1;justify-content:flex-end;min-width:0}.vidtreo-device-option-nav-value-text{font-size:0.875rem;color:rgba(255,255,255,0.8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:right}.vidtreo-device-option-nav-chevron{font-size:1.25rem;color:#ffffff;line-height:1}.vidtreo-device-list{display:flex;flex-direction:column;gap:0;max-height:200px;overflow-y:auto}.vidtreo-device-list::-webkit-scrollbar{width:4px}.vidtreo-device-list::-webkit-scrollbar-track{background:transparent}.vidtreo-device-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);border-radius:2px}.vidtreo-device-list::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.3)}.vidtreo-device-option{display:flex;align-items:center;padding:0.5rem 0.75rem;background:none;border:none;cursor:pointer;color:#ffffff;transition:background-color 0.2s ease;text-align:left;width:100%;gap:0.75rem;border-radius:0.5rem}.vidtreo-device-option:hover{background:rgba(255,255,255,0.2)}.vidtreo-device-option-check-container{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vidtreo-device-checkmark-placeholder{width:20px;height:20px;flex-shrink:0}.vidtreo-device-checkmark{color:#ffffff;flex-shrink:0}.vidtreo-device-option-label{font-size:0.875rem;color:#ffffff;flex:1}.vidtreo-device-empty{padding:1rem 0;font-size:0.875rem;color:rgba(255,255,255,0.6);text-align:center}.vidtreo-audio-level-bars{position:absolute !important;bottom:0.75rem !important;right:0.75rem !important;display:flex !important;align-items:center;gap:0.125rem;height:1rem;z-index:var(--vidtreo-z-controls);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}@media (min-width:768px){.vidtreo-audio-level-bars{height:1.25rem}}.vidtreo-audio-level-bar{width:0.125rem;border-radius:9999px;background:rgba(255,255,255,0.5);transition:all 0.1s ease;align-self:flex-end}.vidtreo-recording-controls{position:absolute !important;bottom:12px !important;left:50% !important;transform:translateX(-50%) translateZ(0) !important;z-index:var(--vidtreo-z-controls);contain:layout style;will-change:auto;backface-visibility:hidden}.vidtreo-recording-controls-row{display:flex;align-items:center;justify-content:center;gap:0.5rem;transform:translateZ(0);will-change:auto}.vidtreo-recording-timer-row{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}.vidtreo-recording-timer-badge{position:absolute !important;top:0.75rem !important;right:0.75rem !important;display:flex !important;align-items:center;gap:0.375rem;background:rgba(0,0,0,0.3);border:none;padding:0.25rem 0.5rem;border-radius:9999px;box-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);z-index:var(--vidtreo-z-controls);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-recording-dot-small{width:0.375rem;height:0.375rem;background:hsl(var(--vidtreo-destructive));border-radius:50%;animation:vidtreo-pulse 1.5s ease-in-out infinite}.vidtreo-recording-timer-text{font-size:0.75rem;font-family:monospace;font-weight:500;color:#ffffff}.vidtreo-control-buttons-row{display:flex;align-items:center;justify-content:center;gap:0.375rem;height:auto;min-height:2rem;transform:translateZ(0);will-change:auto}@media (min-width:768px){.vidtreo-control-buttons-row{min-height:2.25rem}}.vidtreo-control-button{width:2rem;height:2rem;min-height:2rem;max-height:2rem;border-radius:9999px;border:none;background:rgba(0,0,0,0.3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color 0.2s ease;color:#ffffff;padding:0.25rem;margin:0;flex-shrink:0;box-sizing:border-box;vertical-align:top;position:relative;transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-control-button::before{content:"";position:absolute;inset:0.25rem;border-radius:9999px;transition:background-color 0.2s ease;z-index:0}.vidtreo-control-button svg{width:22px !important;height:22px !important;color:inherit;flex-shrink:0;position:relative;z-index:1}@media (min-width:768px){.vidtreo-control-button svg{width:24px !important;height:24px !important}}@media (min-width:768px){.vidtreo-control-button{width:2.25rem;height:2.25rem;min-height:2.25rem;max-height:2.25rem}}.vidtreo-control-button:hover:not(:disabled)::before{background:rgba(255,255,255,0.2)}.vidtreo-control-button:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-control-button.vidtreo-muted::before{background:rgba(0,0,0,0.3)}.vidtreo-control-button.vidtreo-muted:hover:not(:disabled)::before{background:rgba(255,255,255,0.2)}.vidtreo-record-button{height:2rem;min-height:2rem;max-height:2rem;padding:0 0.75rem;border-radius:9999px;font-weight:500;font-size:0.75rem;background:hsl(var(--vidtreo-destructive));color:hsl(var(--vidtreo-destructive-foreground));border:none;display:inline-flex;align-items:center;justify-content:center;gap:0.375rem;transition:background-color 0.2s ease,filter 0.2s ease;width:auto;margin:0;line-height:1;flex-shrink:0;box-sizing:border-box;vertical-align:top;cursor:pointer}@media (min-width:768px){.vidtreo-record-button{height:2.25rem;min-height:2.25rem;max-height:2.25rem;font-size:0.875rem}}.vidtreo-record-button:hover:not(:disabled){filter:brightness(0.85)}.vidtreo-record-button.vidtreo-stop-button-locked{opacity:0.5;cursor:not-allowed;filter:none}.vidtreo-record-button.vidtreo-stop-button-locked:hover{filter:none}#startButton.vidtreo-record-button{animation:vidtreo-record-glow-pulse 2s ease-in-out infinite}@keyframes vidtreo-record-glow-pulse{0%,100%{box-shadow:0 0 8px 2px rgba(239,68,68,0.4),0 0 16px 4px rgba(239,68,68,0.2)}50%{box-shadow:0 0 16px 4px rgba(239,68,68,0.6),0 0 32px 8px rgba(239,68,68,0.3)}}#startButton.vidtreo-record-button:hover:not(:disabled){animation-play-state:paused;box-shadow:0 0 20px 6px rgba(239,68,68,0.7),0 0 40px 10px rgba(239,68,68,0.35)}.vidtreo-rec-indicator-top{position:absolute !important;top:0.75rem !important;left:0.75rem !important;display:flex !important;align-items:center;gap:0.375rem;background:rgba(0,0,0,0.3);border:none;padding:0.25rem 0.5rem;border-radius:9999px;box-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-rec-indicator-top span{font-size:0.75rem;font-weight:500;color:#ffffff}.vidtreo-start-camera-area{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;border-radius:0;padding:40px;text-align:center;background:#000;transition:all 0.3s ease;cursor:pointer;z-index:1;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-start-camera-area:hover:not(.vidtreo-loading){background:#000}.vidtreo-start-camera-area.vidtreo-loading{cursor:wait;opacity:0.7}.vidtreo-start-camera-area.vidtreo-loading .vidtreo-camera-text{color:#ffffff;opacity:0.7}.vidtreo-camera-icon{font-size:48px;margin-bottom:16px;display:flex;justify-content:center;color:#ffffff}.vidtreo-camera-text{color:#ffffff;font-weight:600;margin-bottom:8px}.vidtreo-camera-text a{color:#3b82f6;text-decoration:underline}.vidtreo-camera-text a:hover{color:#2563eb}.vidtreo-camera-hint{color:#ffffff;font-size:12px;opacity:0.8}@keyframes vidtreo-pulse{0%,100%{opacity:1}50%{opacity:0.3}}.vidtreo-progress{margin-top:20px;display:none}.vidtreo-progress.vidtreo-active{display:block}.vidtreo-progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.vidtreo-progress-fill{height:100%;background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);width:0%;transition:width 0.3s ease}.vidtreo-progress-text{text-align:center;color:#ffffff;font-size:14px}.vidtreo-error{position:absolute;top:0.75rem;left:50%;transform:translateX(-50%);padding:1rem 1.25rem;background:#dc2626;border:none;border-radius:0.5rem;color:#ffffff;font-size:0.875rem;font-weight:500;text-align:center;z-index:var(--vidtreo-z-error-overlay);display:none;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);max-width:90%;word-wrap:break-word}.vidtreo-error.vidtreo-active{display:block;animation:vidtreo-error-fade-in-slide-down 0.3s ease-out}@keyframes vidtreo-error-fade-in-slide-down{from{opacity:0;transform:translateX(-50%) translateY(-1rem)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.vidtreo-upload-progress{margin-top:20px;display:none}.vidtreo-upload-progress.vidtreo-active{display:block}.vidtreo-preview-container .vidtreo-upload-progress{margin-top:0}.vidtreo-upload-status{margin-top:20px;padding:16px;border-radius:8px;display:none}.vidtreo-upload-status.vidtreo-active{display:block}.vidtreo-upload-status.vidtreo-success{background:#f0f9ff;border:2px solid #48bb78;color:#22543d}.vidtreo-upload-status.vidtreo-error{background:#fee;border:2px solid #fcc;color:#c33}.vidtreo-upload-status-text{font-size:14px;font-weight:500}.vidtreo-preview-error{position:relative;width:100%;aspect-ratio:9 / 16;border-radius:0;overflow:hidden;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;border:none;contain:strict;transform:translateZ(0);will-change:auto;backface-visibility:hidden;isolation:isolate}@media (min-width:768px){.vidtreo-preview-error{aspect-ratio:16 / 9}}.vidtreo-error-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:#ffffff;max-width:400px}.vidtreo-error-icon{font-size:3rem;line-height:1}.vidtreo-error-title{font-size:1.25rem;font-weight:600;line-height:1.2}.vidtreo-error-message{font-size:0.875rem;line-height:1.5;opacity:0.9;word-break:break-word}.vidtreo-error-config{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.2);width:100%;text-align:left}.vidtreo-error-config-title{font-size:0.875rem;font-weight:600;margin-bottom:0.75rem;color:#ffffff}.vidtreo-error-config-item{font-size:0.8125rem;line-height:1.6;margin-bottom:0.5rem;color:rgba(255,255,255,0.85)}.vidtreo-error-config-item code{background:rgba(255,255,255,0.15);padding:0.125rem 0.375rem;border-radius:0.25rem;font-family:monospace;font-size:0.75rem;color:#ffffff}.vidtreo-error-retry{margin-top:0.5rem;padding:0.5rem 1rem;border-radius:0.375rem;background:hsl(var(--vidtreo-destructive));color:hsl(var(--vidtreo-destructive-foreground));border:none;font-size:0.875rem;font-weight:500;cursor:pointer;transition:filter 0.2s ease}.vidtreo-error-retry:hover:not(:disabled){filter:brightness(0.85)}.vidtreo-error-retry:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-error-overlay{position:absolute;inset:0;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;z-index:var(--vidtreo-z-error-overlay)}.vidtreo-native-camera-container{position:relative;width:100%;aspect-ratio:9 / 16;display:flex;align-items:center;justify-content:center;background:hsl(var(--vidtreo-preview-bg));border-radius:0;overflow:hidden}@media (min-width:768px){.vidtreo-native-camera-container{aspect-ratio:16 / 9}}.vidtreo-native-camera-container:has(.vidtreo-native-camera-preview-container){background:transparent}.vidtreo-config-loading-indicator{position:absolute;top:8px;right:8px;z-index:var(--vidtreo-z-controls)}.vidtreo-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.6s linear infinite}.vidtreo-native-camera-empty-state{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}.vidtreo-native-camera-buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:300px}.vidtreo-native-camera-process-button,.vidtreo-native-camera-download-button{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:30}.vidtreo-native-camera-process-button .vidtreo-btn,.vidtreo-native-camera-download-button .vidtreo-btn{min-width:200px}.vidtreo-btn{padding:12px 24px;border-radius:var(--vidtreo-radius);font-size:1rem;font-weight:500;cursor:pointer;border:none;transition:all 0.2s}.vidtreo-btn:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-btn-primary{background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground))}.vidtreo-btn-primary:hover:not(:disabled){filter:brightness(0.9)}.vidtreo-btn-secondary{background:hsl(var(--vidtreo-secondary));color:hsl(var(--vidtreo-secondary-foreground));border:1px solid hsl(var(--vidtreo-border))}.vidtreo-btn-secondary:hover:not(:disabled){background:hsl(var(--vidtreo-accent))}.vidtreo-transcoding-progress{width:100%;max-width:400px;padding:16px}.vidtreo-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-fill{height:100%;background:hsl(var(--vidtreo-primary));transition:width 0.3s ease}.vidtreo-progress-text{margin-top:8px;text-align:center;font-size:0.875rem;color:hsl(var(--vidtreo-foreground))}.vidtreo-native-camera-preview-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent}.vidtreo-native-camera-preview-image{width:100%;height:100%;object-fit:contain;display:block}.vidtreo-progress-overlay{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);z-index:var(--vidtreo-z-progress-overlay);pointer-events:auto}.vidtreo-progress-overlay .vidtreo-transcoding-progress,.vidtreo-progress-overlay .vidtreo-upload-progress{position:relative;width:90%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0;background:transparent;pointer-events:auto}.vidtreo-progress-overlay .vidtreo-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-upload-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-progress-fill{height:100%;background:#ffffff;transition:width 0.3s ease}.vidtreo-progress-overlay .vidtreo-progress-text{margin-top:0;text-align:center;font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-progress-overlay .vidtreo-upload-progress-text{margin-top:0;text-align:center;font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-progress-overlay .vidtreo-upload-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-upload-progress-fill{height:100%;background:#ffffff;transition:width 0.3s ease}.vidtreo-progress-overlay .vidtreo-progress-indeterminate{width:100%;background:linear-gradient( 90deg,transparent 0%,#ffffff 50%,transparent 100% );background-size:200% 100%;animation:vidtreo-progress-indeterminate 1.5s ease-in-out infinite}@keyframes vidtreo-progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}.vidtreo-mobile-web-recorder{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vidtreo-camera-area button,.vidtreo-camera-area input,.vidtreo-camera-area select,.vidtreo-camera-area textarea,.vidtreo-mobile-web-recorder button,.vidtreo-mobile-web-recorder input,.vidtreo-mobile-web-recorder select,.vidtreo-mobile-web-recorder textarea,.vidtreo-permission-flow button{font-family:inherit}.vidtreo-mobile-landing-container{position:relative;width:100%;aspect-ratio:4 / 3;min-height:100%;max-height:100%;display:flex;align-items:center;justify-content:center;background:hsl(var(--vidtreo-preview-bg));border-radius:0;overflow:hidden}.vidtreo-mobile-landing-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:2rem;text-align:center}.vidtreo-mobile-landing-title{font-size:1.25rem;font-weight:600;color:#ffffff;margin:0;line-height:1.3}.vidtreo-mobile-landing-description{font-size:0.875rem;color:rgba(255,255,255,0.75);margin:0;max-width:280px;line-height:1.5}.vidtreo-mobile-open-camera-btn{display:inline-flex;align-items:center;gap:0.625rem;padding:0.875rem 1.75rem;font-size:1rem;font-weight:600;min-width:200px;justify-content:center;margin-top:0.5rem;border-radius:9999px;transition:all 0.2s ease;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}@keyframes vidtreo-btn-glow-pulse{0%,100%{box-shadow:0 0 8px 2px rgba(255,255,255,0.3),0 0 16px 4px rgba(255,255,255,0.15)}50%{box-shadow:0 0 16px 4px rgba(255,255,255,0.5),0 0 32px 8px rgba(255,255,255,0.25)}}.vidtreo-mobile-open-camera-btn:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-mobile-open-camera-btn:active:not(:disabled){transform:scale(0.98)}.vidtreo-mobile-open-camera-btn:disabled{animation:none;box-shadow:none}#vidtreo-portal-root{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:9999;pointer-events:none}#vidtreo-portal-root>*{pointer-events:auto}.vidtreo-mobile-modal-overlay{--vidtreo-safe-top:0px;--vidtreo-safe-bottom:0px;--vidtreo-safe-left:0px;--vidtreo-safe-right:0px;position:fixed;inset:0;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#000000;z-index:var(--vidtreo-z-modal-overlay);display:flex;flex-direction:column;animation:vidtreo-modal-fade-in 0.3s ease-out;height:-webkit-fill-available}@keyframes vidtreo-modal-fade-in{from{opacity:0}to{opacity:1}}.vidtreo-mobile-modal-header{position:absolute;top:0;left:0;right:0;padding:0.75rem;padding-top:calc(0.75rem + var(--vidtreo-safe-top,0px));display:flex;justify-content:center;z-index:var(--vidtreo-z-error-overlay);pointer-events:none}.vidtreo-mobile-modal-close-btn,.vidtreo-mobile-prompt-toggle-btn{height:2rem;padding:0 0.75rem;border-radius:9999px;border:none;background:rgba(0,0,0,0.5);color:rgba(255,255,255,0.9);display:flex;align-items:center;justify-content:center;gap:0.375rem;cursor:pointer;transition:all 0.2s ease;pointer-events:auto;backdrop-filter:blur(4px);font-size:0.75rem;font-weight:500}.vidtreo-mobile-modal-close-btn:hover:not(:disabled),.vidtreo-mobile-prompt-toggle-btn:hover:not(:disabled){background:rgba(0,0,0,0.7)}.vidtreo-mobile-modal-close-btn:disabled{opacity:0.3;cursor:not-allowed}.vidtreo-mobile-prompt-toggle-btn{position:absolute;top:calc(0.75rem + var(--vidtreo-safe-top,0px));left:calc(0.75rem + var(--vidtreo-safe-left,0px));z-index:var(--vidtreo-z-controls)}.vidtreo-mobile-modal-content{flex:1;display:flex;flex-direction:column;width:100%;height:100%;position:relative;padding-top:var(--vidtreo-safe-top,0px);padding-bottom:var(--vidtreo-safe-bottom,0px);padding-left:var(--vidtreo-safe-left,0px);padding-right:var(--vidtreo-safe-right,0px)}.vidtreo-mobile-recorder-content{--vidtreo-safe-top:0px;--vidtreo-safe-bottom:0px;--vidtreo-safe-left:0px;--vidtreo-safe-right:0px;width:100%;height:100%;display:flex;flex-direction:column;position:relative}.vidtreo-mobile-recorder-content .vidtreo-preview-container{aspect-ratio:unset;height:100%;width:100%;flex:1}.vidtreo-mobile-recorder-content .vidtreo-video-preview{object-fit:cover}.vidtreo-mobile-preview{aspect-ratio:unset !important;height:100% !important;flex:1}.vidtreo-mobile-recorder-content .vidtreo-recording-controls{bottom:calc(24px + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-audio-level-bars{bottom:calc(12px + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-settings-panel{bottom:calc(7rem + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-rec-indicator-top{top:calc(0.75rem + var(--vidtreo-safe-top,0px)) !important;height:2rem;padding:0 0.75rem;contain:layout style}.vidtreo-mobile-recorder-content .vidtreo-recording-timer-badge{top:calc(0.75rem + var(--vidtreo-safe-top,0px)) !important;height:2rem;padding:0 0.75rem;contain:layout style}.vidtreo-mobile-recorder-content .vidtreo-recording-timer-text{font-size:0.875rem;white-space:nowrap;color:#ffffff;min-width:3rem;display:inline-block}.vidtreo-mobile-recorder-content .vidtreo-error{top:calc(3.5rem + var(--vidtreo-safe-top,0px)) !important}.vidtreo-mobile-recording-prompt{position:absolute;top:calc(3.5rem + var(--vidtreo-safe-top,0px));left:calc(1rem + var(--vidtreo-safe-left,0px));right:calc(1rem + var(--vidtreo-safe-right,0px));max-height:min(38vh,15rem);overflow-y:auto;z-index:var(--vidtreo-z-controls);padding:1rem 1.25rem;border-radius:1rem;background:rgba(18,18,18,0.92);color:#ffffff;box-shadow:0 0.5rem 1.5rem rgba(0,0,0,0.24);backdrop-filter:blur(8px);pointer-events:auto;text-align:left}.vidtreo-mobile-recording-prompt--above-countdown{z-index:calc(var(--vidtreo-z-countdown-overlay) + 1)}.vidtreo-mobile-recording-prompt-text{color:#ffffff;font-size:1rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.vidtreo-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vidtreo-mobile-recorder-content .vidtreo-control-buttons-row{gap:0.75rem;min-height:4rem}.vidtreo-mobile-recorder-content .vidtreo-control-button{width:4rem;height:4rem;min-height:4rem;max-height:4rem}.vidtreo-mobile-recorder-content .vidtreo-control-button svg{width:1.5rem;height:1.5rem}.vidtreo-mobile-recorder-content .vidtreo-record-button{height:4rem;min-height:4rem;max-height:4rem;padding:0 1.5rem;font-size:1rem;gap:0.5rem}.vidtreo-mobile-recorder-content .vidtreo-record-button svg{width:1.5rem;height:1.5rem}.vidtreo-permission-flow{position:absolute;inset:0;background:#000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;z-index:var(--vidtreo-z-modal-overlay);transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vidtreo-permission-flow.vidtreo-active{display:flex;animation:vidtreo-fadeIn 0.4s cubic-bezier(0.2,0,0,1)}.vidtreo-permission-flow-title{font-size:1.25rem;font-weight:600;color:#fff;margin:0;text-align:center;line-height:1.3}.vidtreo-permission-flow-subtitle{font-size:0.875rem;color:rgba(255,255,255,0.75);margin:0;text-align:center;line-height:1.5;letter-spacing:-0.005em;max-width:280px}.vidtreo-permission-flow-action{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;margin-top:0.5rem;padding:0.875rem 1.75rem;background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground));border:none;border-radius:9999px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;min-width:200px;letter-spacing:-0.01em;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}.vidtreo-permission-flow-action:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-permission-flow-action:active:not(:disabled){transform:scale(0.98)}.vidtreo-permission-flow-action:disabled{opacity:0.5;cursor:not-allowed;animation:none;box-shadow:none}.vidtreo-permission-flow-action--requesting{opacity:0.55;cursor:wait;animation:none;box-shadow:none}@keyframes vidtreo-spinner-rotate{to{transform:rotate(360deg)}}.vidtreo-permission-flow-spinner{display:inline-block;width:1.125rem;height:1.125rem;border:2px solid rgba(255,255,255,0.3);border-top-color:hsl(var(--vidtreo-primary-foreground));border-radius:50%;animation:vidtreo-spinner-rotate 0.8s linear infinite;flex-shrink:0}.vidtreo-permission-flow-spinner--large{width:2.5rem;height:2.5rem;border-width:3px}.vidtreo-permission-flow-recovery{display:flex;flex-direction:column;align-items:center;gap:1.25rem;max-width:280px;text-align:center}.vidtreo-permission-flow-recovery-text{font-size:0.75rem;color:rgba(255,255,255,0.4);line-height:1.6;letter-spacing:-0.005em;margin:0}.vidtreo-permission-flow-retry{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;padding:0.875rem 1.75rem;background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground));border:none;border-radius:9999px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;min-width:200px;letter-spacing:-0.01em;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}.vidtreo-permission-flow-retry:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-permission-flow-retry:active:not(:disabled){transform:scale(0.98)}@keyframes vidtreo-fadeOut{from{opacity:1}to{opacity:0}}.vidtreo-permission-flow.vidtreo-permission-flow--fading{animation:vidtreo-fadeOut 0.6s ease-out forwards;pointer-events:none}.vidtreo-recovery-guide{width:100%;max-width:280px;margin:0 auto;position:relative}.vidtreo-recovery-guide::after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to bottom,transparent 0%,#000 100%);z-index:20;pointer-events:none}.vidtreo-recovery-guide::before{content:"";position:absolute;top:0;right:0;bottom:0;width:50px;background:linear-gradient(to right,transparent 0%,#000 100%);z-index:20;pointer-events:none}.vidtreo-recovery-guide-browser{position:relative;background:#161616;border-radius:10px 0 0 0;overflow:hidden;border-top:1px solid rgba(255,255,255,0.1);border-left:1px solid rgba(255,255,255,0.1);animation:vidtreo-fadeIn 0.5s ease}.vidtreo-recovery-guide-titlebar{position:relative;display:flex;align-items:center;padding:8px 10px;background:#1e1e1e;gap:8px;border-bottom:1px solid rgba(255,255,255,0.06);z-index:3}.vidtreo-recovery-guide-dots{display:flex;gap:5px;flex-shrink:0}.vidtreo-recovery-guide-dot{width:8px;height:8px;border-radius:50%}.vidtreo-recovery-guide-dot--close{background:#ff5f57}.vidtreo-recovery-guide-dot--min{background:#febc2e}.vidtreo-recovery-guide-dot--max{background:#28c840}.vidtreo-recovery-guide-addressbar{flex:1;display:flex;align-items:center;gap:5px;background:#2a2a2a;border-radius:5px;padding:4px 8px;min-width:0}.vidtreo-recovery-guide-lock{flex-shrink:0;color:rgba(255,255,255,0.5);display:flex;align-items:center;animation:vidtreo-lock-pulse 7s ease-in-out infinite}.vidtreo-recovery-guide-lock-svg{display:block}.vidtreo-recovery-guide-url{font-size:0.65rem;color:rgba(255,255,255,0.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.vidtreo-recovery-guide-cursor{position:absolute;left:62px;top:12px;z-index:40;pointer-events:none;animation:vidtreo-cursor-move 7s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.6))}.vidtreo-recovery-guide-cursor-svg{display:block}.vidtreo-recovery-guide-browser-bg{height:110px;background:#161616}.vidtreo-recovery-guide-popover{position:absolute;top:34px;left:12px;right:12px;background:#252525;border-radius:10px;padding:8px 12px 12px;border:1px solid rgba(255,255,255,0.1);box-shadow:0 8px 30px rgba(0,0,0,0.6),0 2px 8px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.06);z-index:30;animation:vidtreo-popover-reveal 7s ease-in-out infinite}.vidtreo-recovery-guide-popover-header{font-size:0.65rem;font-weight:600;color:rgba(255,255,255,0.85);padding-bottom:6px;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.vidtreo-recovery-guide-popover-divider{height:1px;background:rgba(255,255,255,0.08)}.vidtreo-recovery-guide-perm-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0}.vidtreo-recovery-guide-perm-row + .vidtreo-recovery-guide-perm-row{border-top:1px solid rgba(255,255,255,0.06)}.vidtreo-recovery-guide-perm-group{display:flex;align-items:center;gap:8px}.vidtreo-recovery-guide-perm-icon{position:relative;width:14px;height:14px;flex-shrink:0}.vidtreo-recovery-guide-icon-off,.vidtreo-recovery-guide-icon-on{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.vidtreo-recovery-guide-icon-off{color:rgba(255,255,255,0.4);animation:vidtreo-icon-hide 7s ease-in-out infinite}.vidtreo-recovery-guide-icon-on{color:#34d399;animation:vidtreo-icon-show 7s ease-in-out infinite}.vidtreo-recovery-guide-perm-label{font-size:0.7rem;color:rgba(255,255,255,0.85);font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.vidtreo-recovery-guide-switch{position:relative;width:32px;height:18px;flex-shrink:0}.vidtreo-recovery-guide-switch-track{position:absolute;inset:0;border-radius:9px;background:rgba(255,255,255,0.15);animation:vidtreo-track-on 7s ease-in-out infinite}.vidtreo-recovery-guide-switch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.3);animation:vidtreo-knob-slide 7s ease-in-out infinite}.vidtreo-recovery-guide-switch--delayed{animation-delay:0.85s}@keyframes vidtreo-cursor-move{0%{transform:translate(100px,12px);opacity:0}8%{opacity:1}22%{transform:translate(0,0)}26%{transform:translate(0,0) scale(0.75)}30%{transform:translate(0,0) scale(1);opacity:1}33%{transform:translate(0,0);opacity:1}38%{transform:translate(65px,63px);opacity:1}42%{transform:translate(65px,63px) scale(0.75)}45%{transform:translate(65px,63px) scale(1);opacity:1}48%{transform:translate(65px,97px);opacity:1}52%{transform:translate(65px,97px) scale(0.75)}55%{transform:translate(65px,97px) scale(1);opacity:1}60%{opacity:0}100%{transform:translate(100px,12px);opacity:0}}@keyframes vidtreo-popover-reveal{0%,27%{opacity:0;transform:translateY(-6px) scale(0.96)}33%,82%{opacity:1;transform:translateY(0) scale(1)}88%,100%{opacity:0;transform:translateY(-6px) scale(0.96)}}@keyframes vidtreo-track-on{0%,34%{background:rgba(255,255,255,0.15)}40%,92%{background:#34d399}96%,100%{background:rgba(255,255,255,0.15)}}@keyframes vidtreo-knob-slide{0%,34%{transform:translateX(0)}40%,92%{transform:translateX(14px)}96%,100%{transform:translateX(0)}}@keyframes vidtreo-icon-hide{0%,34%{opacity:1}40%,92%{opacity:0}96%,100%{opacity:1}}@keyframes vidtreo-icon-show{0%,34%{opacity:0}40%,92%{opacity:1}96%,100%{opacity:0}}@keyframes vidtreo-lock-pulse{0%,15%{color:rgba(255,255,255,0.5)}22%,30%{color:#34d399}38%,100%{color:rgba(255,255,255,0.5)}}.vidtreo-record-button.vidtreo-record-button-disabled,.vidtreo-record-button-disabled{opacity:0.6;cursor:not-allowed;pointer-events:none;filter:grayscale(0.3)}.vidtreo-mic-connecting-indicator{display:inline-flex;align-items:center;justify-content:center;animation:vidtreo-mic-pulse 1.4s ease-in-out infinite}@keyframes vidtreo-mic-pulse{0%,100%{opacity:0.4}50%{opacity:1}}.vidtreo-audio-error-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,0.85);z-index:var(--vidtreo-z-error-overlay);padding:2rem 1.5rem;text-align:center;animation:vidtreo-audio-overlay-fade-in 0.3s ease-out}@supports (backdrop-filter:blur(8px)){.vidtreo-audio-error-overlay{background:rgba(0,0,0,0.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}@keyframes vidtreo-audio-overlay-fade-in{from{opacity:0}to{opacity:1}}.vidtreo-audio-error-icon{width:56px;height:56px;border-radius:50%;background:rgba(239,68,68,0.15);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.vidtreo-audio-error-icon svg{width:28px;height:28px;color:#ef4444}.vidtreo-audio-error-title{font-size:1.125rem;font-weight:600;color:#ffffff;margin:0 0 0.5rem;line-height:1.4}.vidtreo-audio-error-message{font-size:0.875rem;color:rgba(255,255,255,0.7);margin:0 0 1.5rem;line-height:1.6;max-width:320px}.vidtreo-audio-error-retry{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;background:#ffffff;color:#111111;border:none;border-radius:9999px;font-size:0.875rem;font-weight:600;cursor:pointer;transition:background 0.15s ease,transform 0.1s ease;font-family:inherit}.vidtreo-audio-error-retry:hover{background:#f0f0f0}.vidtreo-audio-error-retry:active{transform:scale(0.97)}.vidtreo-audio-error-retry svg{width:16px;height:16px}.vidtreo-audio-warning-toast{position:absolute;top:1rem;left:50%;transform:translateX(-50%);z-index:var(--vidtreo-z-error-overlay);display:flex;align-items:flex-start;gap:0.625rem;max-width:min(420px,calc(100% - 2rem));padding:0.625rem 0.875rem;border-radius:12px;font-family:inherit;background:rgba(17,17,17,0.55);color:rgba(255,255,255,0.92);border:1px solid rgba(255,255,255,0.08);box-shadow:0 4px 16px rgba(0,0,0,0.25);animation:vidtreo-audio-warning-toast-fade-in 0.2s ease-out;pointer-events:auto}@supports (backdrop-filter:blur(10px)){.vidtreo-audio-warning-toast{background:rgba(17,17,17,0.45);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}}.vidtreo-audio-warning-toast--critical{border-color:rgba(239,68,68,0.45)}.vidtreo-audio-warning-toast--critical .vidtreo-audio-warning-toast__icon{color:#ef4444}.vidtreo-audio-warning-toast--soft{border-color:rgba(245,158,11,0.45)}.vidtreo-audio-warning-toast--soft .vidtreo-audio-warning-toast__icon{color:#f59e0b}.vidtreo-audio-warning-toast__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px}.vidtreo-audio-warning-toast__content{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.vidtreo-audio-warning-toast__title{font-size:0.8125rem;font-weight:600;line-height:1.3;color:#ffffff}.vidtreo-audio-warning-toast__message{font-size:0.75rem;font-weight:400;line-height:1.4;color:rgba(255,255,255,0.72)}.vidtreo-audio-warning-toast__dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin-left:0.25rem;border-radius:6px;border:none;background:transparent;color:rgba(255,255,255,0.65);cursor:pointer;transition:background 0.15s ease,color 0.15s ease;font-family:inherit}.vidtreo-audio-warning-toast__dismiss:hover{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.95)}@keyframes vidtreo-audio-warning-toast-fade-in{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}`;document.head.appendChild(style);}})();import{ConfigService as e,DEFAULT_TRANSCODE_CONFIG as t,NativeCameraHandler as n,PermissionFlowOrchestrator as r,RecorderController as i,VideoUploadService as a,calculateBarColor as o,checkRecorderSupport as s,createPermissionFlowOrchestratorDependencies as c,extractErrorMessage as l,getBrowserInfo as u,getDefaultConfigForFormat as d,isMobileDevice as f,resolveDeviceError as p,transcodeVideoForNativeCamera as m}from"@vidtreo/recorder";import*as h from"react";import{Component as g,createContext as _,useCallback as v,useEffect as y,useMemo as b,useRef as x,useState as S}from"react";import{Fragment as C,jsx as w,jsxs as T}from"react/jsx-runtime";import{createPortal as E}from"react-dom";const D=`unknown`;function O(e){return!(e===`idle`||e===`ready`)}function k(e={}){let[t,n]=S(null),i=x(null),a=x(e.onComplete),o=x(e.onChange);a.current=e.onComplete,o.current=e.onChange,y(()=>{let t=!0,s=new r(c(),{callbacks:{onChange:(e,r)=>{t&&(n(e),o.current&&o.current(e,r))},onComplete:e=>{t&&(n(e),a.current&&a.current(e))}},language:e.language});return i.current=s,s.initialize().then(e=>{t&&n(e)}).catch(()=>{}),()=>{t=!1,s.destroy(),i.current=null}},[e.language]);let s=v(async()=>{i.current&&n(await i.current.requestCurrentStep())},[]),l=v(async()=>{i.current&&n(await i.current.retryCurrentStep())},[]),u=`idle`;t&&(u=t.step);let d=O(u),f=!1;t&&(f=t.isComplete);let p;t&&(p=t.recoveryData);let m=D;t&&(m=t.permissions.camera);let h=D;t&&(h=t.permissions.microphone);let g=b(()=>[{deviceType:`camera`,status:m},{deviceType:`microphone`,status:h}],[m,h]);return b(()=>({isActive:d,isComplete:f,currentStep:u,steps:g,recoveryData:p,requestPermission:s,retryPermission:l}),[d,f,u,g,p,s,l])}function A(e){return{preview:b(()=>({initializingCamera:e.initializingCamera,grantPermissions:e.grantPermissions,browserUnsupported:e.browserUnsupported,browserUnsupportedDynamic:e.browserUnsupportedDynamic,browserUnsupportedSafari:e.browserUnsupportedSafari,browserUnsupportedFirefox:e.browserUnsupportedFirefox,retryCamera:e.retryCamera,cameraInUse:e.cameraInUse,cameraNotFound:e.cameraNotFound,cameraPermissionDenied:e.cameraPermissionDenied,cameraTimeout:e.cameraTimeout,failedToStartCamera:e.failedToStartCamera,audioInUse:e.audioInUse,audioNotFound:e.audioNotFound,audioPermissionDenied:e.audioPermissionDenied,audioTimeout:e.audioTimeout,failedToStartAudio:e.failedToStartAudio,switchingDevice:e.switchingDevice,recordingStartsIn:e.recordingStartsIn,rec:e.rec}),[e.initializingCamera,e.grantPermissions,e.browserUnsupported,e.browserUnsupportedDynamic,e.browserUnsupportedSafari,e.browserUnsupportedFirefox,e.retryCamera,e.cameraInUse,e.cameraNotFound,e.cameraPermissionDenied,e.cameraTimeout,e.failedToStartCamera,e.audioInUse,e.audioNotFound,e.audioPermissionDenied,e.audioTimeout,e.failedToStartAudio,e.switchingDevice,e.recordingStartsIn,e.rec]),buttons:b(()=>({settings:e.settings,record:e.record,stop:e.stop,minimumRecordingTimeNotReached:e.minimumRecordingTimeNotReached,pause:e.pause,resume:e.resume,mute:e.mute,unmute:e.unmute,switchSource:e.switchSource,download:e.download,microphoneConnecting:e.microphoneConnecting}),[e.settings,e.record,e.stop,e.minimumRecordingTimeNotReached,e.pause,e.resume,e.mute,e.unmute,e.switchSource,e.download,e.microphoneConnecting]),settings:b(()=>({settings:e.settings,camera:e.camera,microphone:e.microphone}),[e.settings,e.camera,e.microphone])}}const j=`https://core.vidtreo.com`,M={en:{initializingCamera:`Initializing camera...`,grantPermissions:`Grant camera and microphone permissions when prompted`,browserUnsupported:`This browser is not supported`,browserUnsupportedDynamic:`{browser} ({version}) is not supported, please use <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,browserUnsupportedSafari:`Safari (latest stable) is supported. If you experience issues, please use <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,browserUnsupportedFirefox:`Firefox is not supported, please use <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,retryCamera:`Retry Camera`,cameraInUse:`Your camera is being used by another application. Close other apps using the camera (Zoom, Teams, Discord) and try again.`,cameraNotFound:`No camera detected. Connect a camera or check your device settings.`,cameraPermissionDenied:`Camera access was denied. Allow camera access in your browser settings and try again.`,cameraTimeout:`The camera took too long to start. Close other apps using the camera and try again.`,failedToStartCamera:`Failed to start camera`,audioInUse:`Your microphone is being used by another application. Close other apps using the microphone (Zoom, Teams, Discord) and try again.`,audioNotFound:`No microphone detected. Connect a microphone or check your device settings.`,audioPermissionDenied:`Microphone access was denied. Allow microphone access in your browser settings and try again.`,audioTimeout:`The microphone took too long to start. Close other apps using the microphone and try again.`,failedToStartAudio:`Failed to start microphone`,audioErrorTitle:`Microphone unavailable`,audioErrorMessage:`We couldn't access your microphone. It may be in use by another app like Zoom, Teams, or Discord. Please close it and try again.`,audioErrorRetry:`Try again`,audioMissingTitle:`Recording has no audio`,audioMissingMessage:`We couldn't capture audio in this recording. Your microphone may have been disconnected or blocked by the browser. Check your microphone and record again.`,audioSilentTitle:`Recording is silent`,audioSilentMessage:`We didn't detect any sound during the recording. Make sure your microphone is working and not muted by your operating system, then record again.`,audioProcessingErrorTitle:`Audio processing error`,audioProcessingErrorMessage:`We couldn't process the audio in this recording. Please record again.`,audioMissingRetry:`Record again`,audioWarningNoSignalTitle:`No microphone signal`,audioWarningNoSignalMessage:`We're not detecting any sound. Check that your microphone is active.`,audioWarningLowSignalTitle:`Audio is very quiet`,audioWarningLowSignalMessage:`Move closer to the microphone or turn up the input volume.`,audioWarningSpeakingMutedTitle:`You're speaking while muted`,audioWarningSpeakingMutedMessage:`Unmute your microphone if you want your voice in the recording.`,audioWarningTrackEndedTitle:`Microphone disconnected`,audioWarningTrackEndedMessage:`The microphone was disconnected. Reconnect it before continuing.`,audioWarningNoChunksTitle:`No microphone input`,audioWarningNoChunksMessage:`We're not receiving audio from the microphone. Check browser permissions.`,audioWarningTrackMutedTitle:`Microphone muted by browser`,audioWarningTrackMutedMessage:`The browser muted your microphone. Check site settings.`,audioWarningDismiss:`Dismiss`,cameraErrorTitle:`Camera unavailable`,cameraErrorMessage:`We couldn't access your camera. It may be in use by another app. Please close it and try again.`,browserErrorTitle:`Browser not supported`,browserErrorMessage:`Your browser doesn't support video recording. Please use the latest version of Chrome for the best experience.`,recordingCodecUnsupportedTitle:`Recording format not supported`,recordingCodecUnsupportedMessage:`This device can't use the selected video format. Close other apps, update Chrome if possible, and record again.`,recordingServerTranscodeFallbackTitle:`Finalizing on device`,recordingServerTranscodeFallbackMessage:`We're finishing the video on this device before upload. Keep this tab open.`,recordingTrackEndedTitle:`Camera stopped during recording`,recordingTrackEndedMessage:`The camera feed ended before the recording finished. Check that the camera is still connected and record again.`,recordingFinalizeTimeoutTitle:`Recording took too long to finish`,recordingFinalizeTimeoutMessage:`This device may be low on memory or processing power. Close other apps or browser tabs, then record again.`,recordingStateRaceTitle:`Recording did not start correctly`,recordingStateRaceMessage:`The recording could not be finalized because it did not start cleanly. Please refresh the page and record again.`,recordingNoFramesTitle:`No video was captured`,recordingNoFramesMessage:`We couldn't receive video frames from the camera. Check your camera connection and record again.`,recordingUnsupportedTitle:`Recording not available`,recordingUnsupportedMessage:`This device or browser can't record video reliably right now. Check your connection, update Chrome if possible, or use another device.`,recordingPipelineRetry:`Record again`,genericErrorTitle:`Something went wrong`,genericErrorMessage:`An unexpected error occurred. Please try again.`,errorRetry:`Try again`,switchingDevice:`Switching device...`,recordingStartsIn:`Recording starts in...`,switchingSource:`Switching source...`,rec:`REC`,settings:`Settings`,record:`Record`,stop:`Stop`,pause:`Pause`,resume:`Resume`,mute:`Mute`,unmute:`Unmute`,switchSource:`Switch Source`,camera:`Camera`,microphone:`Microphone`,microphoneConnecting:`Connecting microphone...`,minimumRecordingTimeNotReached:`You have not met the minimum recording time yet`,uploading:`Uploading...`,retryingUpload:`Retrying upload...`,finishing:`Finishing...`,userInAnotherTab:`User in another tab`,download:`Download`,nativeCameraSelectVideo:`Select Video from Gallery`,nativeCameraRecordVideo:`Record with Camera`,nativeCameraProcessing:`Processing video...`,nativeCameraConfigLoading:`Loading settings...`,errorTitle:`Configuration Error`,errorApiKeyRequired:`API Key is required. Provide it as a prop or set VIDTREO_API_KEY environment variable.`,errorGeneric:`An error occurred while initializing the recorder`,mobileOpenCamera:`Allow Access`,mobileOpenCameraTitle:`Camera & Microphone`,mobileOpenCameraDescription:`We need access to your camera and microphone to start recording`,mobileCloseCamera:`Close`,mobileHideRecordingPrompt:`Hide prompt`,mobileShowRecordingPrompt:`Show prompt`,mobilePermissionDenied:`Camera Access Denied`,mobilePermissionDeniedDescription:`Please allow camera access in your browser settings to record video.`,permissionFlowTitle:`Set Up Your Camera`,permissionFlowCameraTitle:`Camera & Microphone`,permissionFlowMicrophoneTitle:`Camera & Microphone`,permissionFlowCameraLabel:`We need access to your camera and microphone to start recording`,permissionFlowMicrophoneLabel:`We need access to your camera and microphone to start recording`,permissionFlowStatusPending:`Pending`,permissionFlowStatusGranted:`Ready`,permissionFlowStatusDenied:`Blocked`,permissionFlowStatusRequesting:`Click "Allow" in the browser popup above`,permissionFlowAllowCamera:`Allow Access`,permissionFlowAllowMicrophone:`Allow Access`,permissionFlowRetry:`Try Again`,permissionFlowRecoveryTitle:`Allow access to continue`,permissionFlowRecoveryInstructions:`Open your browser settings and allow camera and microphone access, then try again.`,permissionFlowRecoveryGuideHint:`Enable the toggles above, then tap Retry`,permissionFlowConnecting:`Setting up...`},es:{initializingCamera:`Inicializando cámara...`,grantPermissions:`Otorga permisos de cámara y micrófono cuando se solicite`,browserUnsupported:`Este navegador no es compatible`,browserUnsupportedDynamic:`{browser} ({version}) no es compatible, por favor usa <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,browserUnsupportedSafari:`Safari (última versión estable) es compatible. Si experimentas problemas, por favor usa <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,browserUnsupportedFirefox:`Firefox no es compatible, por favor use <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,retryCamera:`Reintentar Cámara`,cameraInUse:`Tu cámara está siendo usada por otra aplicación. Cierra otras apps que usen la cámara (Zoom, Teams, Discord) e intenta de nuevo.`,cameraNotFound:`No se detectó ninguna cámara. Conecta una cámara o revisa la configuración de tu dispositivo.`,cameraPermissionDenied:`Se denegó el acceso a la cámara. Permite el acceso a la cámara en la configuración de tu navegador e intenta de nuevo.`,cameraTimeout:`La cámara tardó demasiado en iniciar. Cierra otras apps que usen la cámara e intenta de nuevo.`,failedToStartCamera:`Error al iniciar la cámara`,audioInUse:`Tu micrófono está siendo usado por otra aplicación. Cierra otras apps que usen el micrófono (Zoom, Teams, Discord) e intenta de nuevo.`,audioNotFound:`No se detectó ningún micrófono. Conecta un micrófono o revisa la configuración de tu dispositivo.`,audioPermissionDenied:`Se denegó el acceso al micrófono. Permite el acceso al micrófono en la configuración de tu navegador e intenta de nuevo.`,audioTimeout:`El micrófono tardó demasiado en iniciar. Cierra otras apps que usen el micrófono e intenta de nuevo.`,failedToStartAudio:`Error al iniciar el micrófono`,audioErrorTitle:`Micrófono no disponible`,audioErrorMessage:`No pudimos acceder a tu micrófono. Puede estar en uso por otra app como Zoom, Teams o Discord. Ciérrala e inténtalo de nuevo.`,audioErrorRetry:`Intentar de nuevo`,audioMissingTitle:`La grabación no tiene audio`,audioMissingMessage:`No pudimos capturar audio en esta grabación. Es posible que el micrófono se haya desconectado o que el navegador lo haya bloqueado. Verifica tu micrófono y vuelve a grabar.`,audioSilentTitle:`La grabación quedó en silencio`,audioSilentMessage:`No detectamos sonido durante la grabación. Verifica que tu micrófono esté funcionando y no esté silenciado por el sistema, luego vuelve a grabar.`,audioProcessingErrorTitle:`Error al procesar el audio`,audioProcessingErrorMessage:`No pudimos procesar el audio de esta grabación. Por favor vuelve a grabar.`,audioMissingRetry:`Grabar de nuevo`,audioWarningNoSignalTitle:`Sin señal del micrófono`,audioWarningNoSignalMessage:`No estamos detectando sonido. Verifica que tu micrófono esté activo.`,audioWarningLowSignalTitle:`Audio muy bajo`,audioWarningLowSignalMessage:`Acércate al micrófono o sube el volumen de entrada.`,audioWarningSpeakingMutedTitle:`Estás hablando muteado`,audioWarningSpeakingMutedMessage:`Activa el micrófono si quieres que tu voz se escuche en la grabación.`,audioWarningTrackEndedTitle:`Micrófono desconectado`,audioWarningTrackEndedMessage:`Se desconectó el micrófono. Reconéctalo antes de continuar.`,audioWarningNoChunksTitle:`Sin entrada del micrófono`,audioWarningNoChunksMessage:`No estamos recibiendo audio del micrófono. Revisa los permisos del navegador.`,audioWarningTrackMutedTitle:`Micrófono silenciado por el navegador`,audioWarningTrackMutedMessage:`El navegador silenció tu micrófono. Revisa la configuración del sitio.`,audioWarningDismiss:`Cerrar`,cameraErrorTitle:`Cámara no disponible`,cameraErrorMessage:`No pudimos acceder a tu cámara. Puede estar en uso por otra app. Ciérrala e inténtalo de nuevo.`,browserErrorTitle:`Navegador no compatible`,browserErrorMessage:`Tu navegador no es compatible con la grabación de video. Por favor usa la última versión de Chrome.`,recordingCodecUnsupportedTitle:`Formato de grabación no compatible`,recordingCodecUnsupportedMessage:`Este dispositivo no puede usar el formato de video seleccionado. Cierra otras apps, actualiza Chrome si es posible y vuelve a grabar.`,recordingServerTranscodeFallbackTitle:`Finalizando en el dispositivo`,recordingServerTranscodeFallbackMessage:`Estamos finalizando el video en este dispositivo antes de subirlo. Mantén esta pestaña abierta.`,recordingTrackEndedTitle:`La cámara se detuvo durante la grabación`,recordingTrackEndedMessage:`La señal de la cámara terminó antes de finalizar la grabación. Verifica que la cámara siga conectada y vuelve a grabar.`,recordingFinalizeTimeoutTitle:`La grabación tardó demasiado en finalizar`,recordingFinalizeTimeoutMessage:`Es posible que este dispositivo tenga poca memoria o potencia de procesamiento. Cierra otras apps o pestañas del navegador y vuelve a grabar.`,recordingStateRaceTitle:`La grabación no inició correctamente`,recordingStateRaceMessage:`No se pudo finalizar la grabación porque no inició correctamente. Actualiza la página y vuelve a grabar.`,recordingNoFramesTitle:`No se capturó video`,recordingNoFramesMessage:`No pudimos recibir fotogramas de video de la cámara. Verifica la conexión de la cámara y vuelve a grabar.`,recordingUnsupportedTitle:`Grabación no disponible`,recordingUnsupportedMessage:`Este dispositivo o navegador no puede grabar video de forma estable ahora. Revisa tu conexión, actualiza Chrome si es posible o usa otro dispositivo.`,recordingPipelineRetry:`Grabar de nuevo`,genericErrorTitle:`Algo salió mal`,genericErrorMessage:`Ocurrió un error inesperado. Por favor inténtalo de nuevo.`,errorRetry:`Intentar de nuevo`,switchingDevice:`Cambiando dispositivo...`,recordingStartsIn:`La grabación comienza en...`,switchingSource:`Cambiando fuente...`,rec:`GRAB`,settings:`Configuración`,record:`Grabar`,stop:`Detener`,pause:`Pausar`,resume:`Reanudar`,mute:`Silenciar`,unmute:`Activar sonido`,switchSource:`Cambiar Fuente`,camera:`Cámara`,microphone:`Micrófono`,microphoneConnecting:`Conectando micrófono...`,minimumRecordingTimeNotReached:`Aun no cumples el tiempo minimo de grabacion`,uploading:`Subiendo...`,retryingUpload:`Reintentando subida...`,finishing:`Finalizando...`,userInAnotherTab:`Usuario en otra pestaña`,download:`Descargar`,nativeCameraSelectVideo:`Seleccionar Video de la Galería`,nativeCameraRecordVideo:`Grabar con Cámara`,nativeCameraProcessing:`Procesando video...`,nativeCameraConfigLoading:`Cargando configuración...`,errorTitle:`Error de Configuración`,errorApiKeyRequired:`Se requiere una API Key. Proporciónala como prop o configura la variable de entorno VIDTREO_API_KEY.`,errorGeneric:`Ocurrió un error al inicializar la grabadora`,mobileOpenCamera:`Permitir Acceso`,mobileOpenCameraTitle:`Cámara y Micrófono`,mobileOpenCameraDescription:`Necesitamos acceso a tu cámara y micrófono para comenzar a grabar`,mobileCloseCamera:`Cerrar`,mobileHideRecordingPrompt:`Ocultar pregunta`,mobileShowRecordingPrompt:`Mostrar pregunta`,mobilePermissionDenied:`Acceso a Cámara Denegado`,mobilePermissionDeniedDescription:`Por favor permite el acceso a la cámara en la configuración de tu navegador para grabar video.`,permissionFlowTitle:`Configurar tu Cámara`,permissionFlowCameraTitle:`Cámara y Micrófono`,permissionFlowMicrophoneTitle:`Cámara y Micrófono`,permissionFlowCameraLabel:`Necesitamos acceso a tu cámara y micrófono para comenzar a grabar`,permissionFlowMicrophoneLabel:`Necesitamos acceso a tu cámara y micrófono para comenzar a grabar`,permissionFlowStatusPending:`Pendiente`,permissionFlowStatusGranted:`Listo`,permissionFlowStatusDenied:`Bloqueado`,permissionFlowStatusRequesting:`Haz clic en "Permitir" en el aviso del navegador`,permissionFlowAllowCamera:`Permitir Acceso`,permissionFlowAllowMicrophone:`Permitir Acceso`,permissionFlowRetry:`Reintentar`,permissionFlowRecoveryTitle:`Permite el acceso para continuar`,permissionFlowRecoveryInstructions:`Abre la configuración de tu navegador y permite el acceso a la cámara y micrófono, luego intenta de nuevo.`,permissionFlowRecoveryGuideHint:`Activa los interruptores de arriba, luego presiona Reintentar`,permissionFlowConnecting:`Preparando...`}};function N(e=`en`,t={}){return{...M[e]||M.en,...t}}function P(e=`en`,t={}){return N(e,t)}const F=/^https?:\/\//i;function ee(e){return e!==void 0&&Number.isFinite(e)&&e>0}function te(e){return e?F.test(e)?e:`https://${e}`:j}function ne(e){if(e.enableTabVisibilityOverlay!==!0)return;let t=e.tabVisibilityOverlayText;return t!==void 0&&t.trim().length>0?t:N(e.lang||`en`,e.texts).userInAnotherTab}function re(e,t){let n=ee(e),r=ee(t);if(n&&r&&e!==void 0&&t!==void 0&&e>t)throw Error(`minTimeRecord cannot be greater than maxRecordingTime`)}function I(e,t){re(e.minTimeRecord,e.maxRecordingTime);let n={apiKey:t,backendUrl:te(e.backendUrl)};e.demo!==void 0&&(n.demo=e.demo),e.countdownDuration!==void 0&&(n.countdownDuration=e.countdownDuration),e.maxRecordingTime!==void 0&&(n.maxRecordingTime=e.maxRecordingTime),e.userMetadata&&(n.userMetadata=e.userMetadata),e.enableSourceSwitching!==void 0&&(n.enableSourceSwitching=e.enableSourceSwitching),e.enableMute!==void 0&&(n.enableMute=e.enableMute),e.enablePause!==void 0&&(n.enablePause=e.enablePause),e.enableDeviceChange!==void 0&&(n.enableDeviceChange=e.enableDeviceChange),e.enableTabVisibilityOverlay!==void 0&&(n.enableTabVisibilityOverlay=e.enableTabVisibilityOverlay);let r=ne(e);return r!==void 0&&(n.tabVisibilityOverlayText=r),n}const L=1e3,R=/^\d+$/;function ie(e){return R.test(e)}function ae(e){let t=e.trim();if(t.length===0)return 0;let n=t.split(`:`);if(n.length!==2&&n.length!==3)return 0;for(let e of n)if(!ie(e))return 0;if(n.length===2){let e=Number.parseInt(n[0],10),t=Number.parseInt(n[1],10);return(e*60+t)*L}let r=Number.parseInt(n[0],10),i=Number.parseInt(n[1],10),a=Number.parseInt(n[2],10);return((r*60+i)*60+a)*L}function oe(e,t,n){return!n||e==null||Number.isFinite(e)===!1||e<=0?!1:ae(t)<e}function se(){let e=Error(`Minimum recording time has not been reached yet`);return e.code=`recording.minimum-time-not-reached`,e}const z=new Map,ce=`vidtreo_permission_retry`;function le(e,t){return`${e}:${t}`}function ue(){let e=u(),t=null;e.name.length>0&&(t=e.name);let n=null;return e.version.length>0&&(n=e.version),{browserName:t,browserVersion:n}}function de(e){return typeof e==`string`&&(e===`browser.unsupported`||e.startsWith(`camera.`)||e.startsWith(`audio.`)||e.startsWith(`recording.`))?e:null}function fe(e){let[t,n]=S({recordingState:`idle`,countdown:null}),r=t.recordingState,a=t.countdown,[o,s]=S(null),[c,u]=S(!1),[f,p]=S(!1),[m,h]=S(null),[g,_]=S(null),[C,w]=S(null),[T,E]=S(null),[D,O]=S(``),[k,A]=S(null),[M,N]=S(null),[P,F]=S(null),[ee,te]=S(0),[ne,re]=S(null),[L,R]=S(!1),[ie,ae]=S(!1),[fe,B]=S(!1),[V,pe]=S(null),[H,me]=S(null),[he,ge]=S(!1),[_e,ve]=S({cameras:[],microphones:[],selectedCamera:null,selectedMic:null}),U=x(null),W=x(!1),G=x(!1),K=x(e),q=x(!1),ye=x(r),be=x(f),xe=x(k),Se=x(P),J=x(null),Ce=x(D);K.current=e,y(()=>{ye.current=t.recordingState},[t.recordingState]),y(()=>{be.current=f},[f]),y(()=>{xe.current=k},[k]),y(()=>{Se.current=P},[P]);let Y=v(e=>{let t=l(e),n=!1;if(e&&typeof e==`object`&&`name`in e&&e.name===`NotAllowedError`&&(n=!0,sessionStorage.setItem(ce,`true`),t=`Camera and microphone access is required. Please enable permissions in your browser settings and reload the page.`),h(t),F(null),e&&typeof e==`object`&&`code`in e){let t=e,n=de(t.code);if(n===`browser.unsupported`){_(n);let e=null;t.browserName&&(e=t.browserName);let r=null;if(t.browserVersion&&(r=t.browserVersion),e===null||r===null){let t=ue();e===null&&(e=t.browserName),r===null&&t.browserVersion&&(r=t.browserVersion)}w(e),E(r);return}n!==null&&(_(n),w(null),E(null))}if(K.current.onError){let r;r=n?Error(t):e instanceof Error?e:Error(t),K.current.onError(r)}},[]),we=v(()=>U.current?U.current.getAudioStreamForAnalysis():null,[]),Te=v(e=>!(!e||e.getAudioTracks().length===0),[]),Ee=v(async e=>{U.current&&(U.current.stopAudioLevelTracking(),await U.current.startAudioLevelTracking(e,{onLevelUpdate:(e,t)=>{te(e),u(t)}}))},[]),De=v(async(e=5,t=50)=>{for(let n=0;n<e;n+=1){let r=we();if(r)return r;n<e-1&&await new Promise(e=>{setTimeout(e,t)})}return we()},[we]),X=v(async(e,t=!1)=>{if(!U.current)return;let n=U.current.isRecording(),r=null;n&&t?(r=we(),r||=await De()):e&&(r=e),Te(r)&&r&&await Ee(r)},[we,Te,Ee,De]),Oe=v(async()=>{let e=U.current;if(!(e&&o))return;let t=e.getDeviceManager(),n=await t.getAvailableDevices();U.current===e&&ve({cameras:n.videoinput,microphones:n.audioinput,selectedCamera:t.getSelectedCameraDeviceId(),selectedMic:t.getSelectedMicDeviceId()})},[o]);y(()=>{Oe()},[Oe]),y(()=>{U.current&&o&&U.current.getStream()===o&&(u(U.current.getIsMuted()),p(U.current.isPaused()))},[o]);let ke=v(e=>{if(q.current)return Promise.resolve({recordingId:``,uploadUrl:``,blob:e});if(q.current=!0,K.current.demo)return q.current=!1,F(null),A(null),N(null),pe(e),Promise.resolve({recordingId:``,uploadUrl:``,blob:e});if(!U.current)return q.current=!1,Promise.reject(Error(`Controller not initialized`));let t=K.current.onUploadProgress;F(null),A(0),N(null),t&&t(0);let n=K.current.backendUrl||j;return U.current.uploadVideo(e,K.current.apiKey,n,K.current.userMetadata??{}).then(()=>({recordingId:``,uploadUrl:``,blob:e})).catch(e=>{throw A(null),N(null),e}).finally(()=>{q.current=!1})},[]),Ae=v(e=>({onStateChange:e=>{n(t=>({...t,recordingState:e})),e===`recording`&&K.current.onRecordingStart&&K.current.onRecordingStart(),e===`recording`&&setTimeout(()=>{X(null,!0).catch(()=>{})},100),e===`idle`&&K.current.onRecordingStop&&K.current.onRecordingStop()},onCountdownUpdate:(e,t)=>{n({recordingState:e,countdown:t})},onTimerUpdate:e=>{Ce.current=e,O(e)},onError:Y,onRecordingComplete:e=>{n(e=>({...e,countdown:null})),ke(e).catch(e=>{Y(e)})},onClearUploadStatus:()=>{A(q.current?0:null)},onTranscodingProgress:e=>{F(e),K.current.onTranscodingProgress?.(e)},onAudioWarning:e=>{me(e),ge(!1)},onAudioRecovered:()=>{me(null),ge(!0)},onStopAudioTracking:()=>{U.current&&U.current.stopAudioLevelTracking()},onGetConfig:()=>{if(!U.current)throw Error(`Controller not initialized`);return e?Promise.resolve(d(`mp4`)):U.current.getConfig()}}),[Y,X,ke]),je=v(()=>({onProgress:e=>{A(e),K.current.onUploadProgress&&K.current.onUploadProgress(e)},onSuccess:e=>{A(null),N(null),F(null),K.current.onUploadComplete&&K.current.onUploadComplete({recordingId:e.id,uploadUrl:e.uploadUrl||``})},onError:e=>{A(null),N(null),F(null),K.current.onUploadError&&K.current.onUploadError(e)},onRetry:e=>{A(0),N(e.attempt)},onClearStatus:()=>{N(null)}}),[]),Me=v(()=>({onStreamStart:async e=>{s(e),h(null),_(null),w(null),E(null);let t=U.current;t&&(J.current&&=(J.current(),null),R(t.isAudioReady()),ae(!1),J.current=t.getStreamManager().on(`audiostatuschange`,({status:e})=>{R(e===`acquired`),ae(e===`failed`)})),t?.isRecording()||await X(e,!1).catch(()=>{})},onStreamStop:()=>{U.current&&U.current.stopAudioLevelTracking(),J.current&&=(J.current(),null),s(null),te(0),R(!1),ae(!1)},onError:e=>{Y(e)}}),[Y,X]),Ne=v(()=>({onSourceChange:async e=>{if(U.current?.isRecording()){if(e===`camera`){let e=U.current?.getStream();if(!e||e.getAudioTracks().length===0)return;await X(e,!1).catch(()=>{});return}await X(null,!0).catch(()=>{})}},onPreviewUpdate:async e=>{let t=U.current?.isRecording();s(e),t||await X(e,!1).catch(()=>{})},onError:Y,onTransitionStart:e=>{re(e)},onTransitionEnd:()=>{re(null)}}),[Y,X]);y(()=>{let t=e.backendUrl||j,n=le(e.apiKey,t),r=K.current.apiKey!==e.apiKey,a=(K.current.backendUrl||j)!==t;if(sessionStorage.getItem(ce)===`true`&&(z.delete(n),sessionStorage.removeItem(ce)),!(r||a)&&W.current&&U.current)return;let o=z.get(n);if(o){U.current=o.controller,o.promise.then(()=>{W.current=!0,G.current=!1,B(!0)}).catch(e=>{Y(e),W.current=!1,G.current=!1,B(!1),z.delete(n)});return}if(G.current||U.current&&!r&&!a)return;G.current=!0,U.current&&=(U.current.cleanup(),U.current.getStreamManager().destroy(),null),W.current=!1,K.current=e;let s=e.demo?{demo:!0,backendUrl:void 0,countdownDuration:e.countdownDuration,minTimeRecord:e.minTimeRecord,maxRecordingTime:e.maxRecordingTime,userMetadata:e.userMetadata,enableSourceSwitching:e.enableSourceSwitching,enableMute:e.enableMute,enablePause:e.enablePause,enableDeviceChange:e.enableDeviceChange,enableTabVisibilityOverlay:e.enableTabVisibilityOverlay,tabVisibilityOverlayText:e.tabVisibilityOverlayText,lang:e.lang,texts:e.texts}:{demo:!1,apiKey:e.apiKey,backendUrl:t,countdownDuration:e.countdownDuration,minTimeRecord:e.minTimeRecord,maxRecordingTime:e.maxRecordingTime,userMetadata:e.userMetadata,enableSourceSwitching:e.enableSourceSwitching,enableMute:e.enableMute,enablePause:e.enablePause,enableDeviceChange:e.enableDeviceChange,enableTabVisibilityOverlay:e.enableTabVisibilityOverlay,tabVisibilityOverlayText:e.tabVisibilityOverlayText,lang:e.lang,texts:e.texts},c;try{c=I(s,e.demo?``:e.apiKey)}catch(e){Y(e),G.current=!1,B(!1);return}let l=new i({recording:Ae(e.demo??!1),upload:je(),stream:Me(),sourceSwitch:Ne()});U.current=l;let u=l.initialize(c).then(()=>{W.current=!0,G.current=!1,B(!0)});return z.set(n,{promise:u,controller:l}),u.catch(e=>{Y(e),W.current=!1,G.current=!1,B(!1),z.delete(n)}),()=>{let e=z.get(n);e&&e.controller===U.current&&z.delete(n),J.current&&=(J.current(),null),U.current&&=(U.current.cleanup(),U.current.getStreamManager().destroy(),null),W.current=!1,G.current=!1}},[e.apiKey,e.backendUrl||j,e.countdownDuration,e.maxRecordingTime,e.enableSourceSwitching,e.enableMute,e.enablePause,e.enableDeviceChange,e.enableTabVisibilityOverlay,e.tabVisibilityOverlayText,e.lang,e.texts,e.demo,X,Y,Ae,je,Me,Ne]);let Pe=v(async(e=`camera`)=>{if(!(U.current&&W.current))throw Error(`Controller not initialized`);await U.current.startStream();let t=U.current.getStream();t&&(s(t),h(null),_(null),w(null),E(null),U.current.isRecording()||await X(t,!1).catch(()=>{})),e===`screen`&&await U.current.switchSource(`screen`)},[X]),Z=v(()=>{if(!U.current)throw Error(`Controller not initialized`);return U.current},[]),Q=v(async e=>{Z().isActive()||await Pe(e)},[Z,Pe]),Fe=v(async e=>{let t=Z();e!==t.getCurrentSourceType()&&await t.switchSource(e)},[Z]),Ie=v(e=>e===``||e===`default`?null:e,[]),Le=b(()=>({startRecording:async(e=`camera`)=>{let t=Z();if(xe.current!==null||Se.current!==null)throw Error(`Cannot start a new recording while the previous recording is still being processed`);K.current.demo&&pe(null),me(null),ge(!1),await Q(e),await Fe(e),await t.startRecording()},stopRecording:async()=>{let e=U.current;if(!e)throw Error(`Controller not initialized`);let t=ye.current===`recording`||be.current;if(oe(K.current.minTimeRecord,Ce.current,t))throw se();return{recordingId:``,uploadUrl:``,blob:await e.stopRecording()}},pauseRecording:()=>{let e=U.current;e&&(e.pauseRecording(),p(e.isPaused()))},resumeRecording:()=>{let e=U.current;e&&(e.resumeRecording(),p(e.isPaused()))},toggleMute:()=>{let e=U.current;e&&(e.toggleMute(),u(e.getIsMuted()))},switchSource:async e=>{let t=U.current;if(!t)throw Error(`Controller not initialized`);await t.switchSource(e)},changeCamera:async e=>{let t=U.current;if(!t)throw Error(`Controller not initialized`);let n=Ie(e);t.setCameraDevice(n);let r=await t.switchVideoDevice(n);s(r),h(null),_(null),w(null),E(null),t.isRecording()||await X(r,!1);let i=t.getDeviceManager();ve(e=>({...e,selectedCamera:i.getSelectedCameraDeviceId()}))},changeMic:async e=>{let t=U.current;if(!t)throw Error(`Controller not initialized`);let n=Ie(e);t.setMicDevice(n);let r=await t.switchAudioDevice(n);s(r),h(null),_(null),w(null),E(null),t.isRecording()||await X(r,!1);let i=t.getDeviceManager();ve(e=>({...e,selectedMic:i.getSelectedMicDeviceId()}))},startPreview:Pe,downloadVideo:()=>{if(!V)return;let e=URL.createObjectURL(V),t=document.createElement(`a`);t.href=e,t.download=`recording-${Date.now()}.mp4`,document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(e)},stopPreview:()=>{if(!U.current)return;U.current.stopAudioLevelTracking();let e=U.current.getStream();if(e)for(let t of e.getTracks())t.stop();U.current.getStreamManager().stopStream(),s(null),te(0),h(null),_(null),w(null),E(null),R(!1),ae(!1)},cleanup:()=>{U.current&&=(U.current.cleanup(),U.current.getStreamManager().destroy(),null),W.current=!1,B(!1),pe(null)}}),[Ie,X,Pe,V,Z,Q,Fe]);return{state:b(()=>({recordingState:r,stream:o,isMuted:c,isPaused:f,isAudioReady:L,hasAudioFailed:ie,error:m,errorCode:g,browserName:C,browserVersion:T,countdown:a,timer:D,uploadProgress:k,uploadRetryAttempt:M,transcodingProgress:P,transitionMessage:ne,isInitialized:fe,recordedBlob:V,devices:_e,audioWarning:H,audioRecovered:he}),[r,o,c,f,L,ie,m,g,C,T,a,D,k,M,P,ne,fe,V,_e,H,he]),actions:Le,audioLevel:ee,controller:U.current}}function B(e,t,n,r){return{showSettingsButton:!e&&r.enableDeviceChange!==!1,showMuteButton:e&&r.enableMute!==!1,showPauseButton:e&&r.enablePause!==!1&&t===`recording`&&!n,showResumeButton:e&&r.enablePause!==!1&&n,showStopButton:e,showSwitchSourceButton:e&&r.enableSourceSwitching!==!1&&r.isMobile!==!0}}const V=Object.freeze({visible:!1,variant:`generic`,title:``,message:``,canRetry:!1}),pe=new Set([`recording.audio-no-chunks`,`recording.audio-track-ended`,`recording.no-audio-track`,`recording.no-audio-frames`]),H=new Set([`recording.audio-silent`]),me=new Set([`recording.audio-zero-channels`,`recording.audio-invalid-sample-rate`]);function he(e,t){switch(e){case`audio.in-use`:return{title:t.audioErrorTitle,message:t.audioInUse,retryLabel:t.audioErrorRetry};case`audio.not-found`:case`audio.overconstrained`:return{title:t.audioErrorTitle,message:t.audioNotFound,retryLabel:t.audioErrorRetry};case`audio.permission-denied`:return{title:t.audioErrorTitle,message:t.audioPermissionDenied,retryLabel:t.audioErrorRetry};case`audio.timeout`:return{title:t.audioErrorTitle,message:t.audioTimeout,retryLabel:t.audioErrorRetry};default:break}return e&&pe.has(e)?{title:t.audioMissingTitle,message:t.audioMissingMessage,retryLabel:t.audioMissingRetry}:e&&H.has(e)?{title:t.audioSilentTitle,message:t.audioSilentMessage,retryLabel:t.audioMissingRetry}:e&&me.has(e)?{title:t.audioProcessingErrorTitle,message:t.audioProcessingErrorMessage,retryLabel:t.audioMissingRetry}:{title:t.audioErrorTitle,message:t.audioErrorMessage,retryLabel:t.audioErrorRetry}}function ge(e,t){switch(e){case`camera.in-use`:return{title:t.cameraErrorTitle,message:t.cameraInUse,retryLabel:t.errorRetry};case`camera.not-found`:case`camera.overconstrained`:return{title:t.cameraErrorTitle,message:t.cameraNotFound,retryLabel:t.errorRetry};case`camera.permission-denied`:return{title:t.cameraErrorTitle,message:t.cameraPermissionDenied,retryLabel:t.errorRetry};case`camera.timeout`:return{title:t.cameraErrorTitle,message:t.cameraTimeout,retryLabel:t.errorRetry};default:return{title:t.cameraErrorTitle,message:t.cameraErrorMessage,retryLabel:t.errorRetry}}}function _e(e,t){switch(e){case`recording.codec-unsupported`:return{title:t.recordingCodecUnsupportedTitle,message:t.recordingCodecUnsupportedMessage,retryLabel:t.recordingPipelineRetry};case`recording.post-recording-transcode-fallback`:return{title:t.recordingServerTranscodeFallbackTitle,message:t.recordingServerTranscodeFallbackMessage,retryLabel:t.recordingPipelineRetry};case`recording.track-ended`:return{title:t.recordingTrackEndedTitle,message:t.recordingTrackEndedMessage,retryLabel:t.recordingPipelineRetry};case`recording.finalize-timeout-low-resource`:return{title:t.recordingFinalizeTimeoutTitle,message:t.recordingFinalizeTimeoutMessage,retryLabel:t.recordingPipelineRetry};case`recording.not-started-state-race`:return{title:t.recordingStateRaceTitle,message:t.recordingStateRaceMessage,retryLabel:t.recordingPipelineRetry};case`recording.no-video-frames`:return{title:t.recordingNoFramesTitle,message:t.recordingNoFramesMessage,retryLabel:t.recordingPipelineRetry};case`recording.unsupported-device`:return{title:t.recordingUnsupportedTitle,message:t.recordingUnsupportedMessage,retryLabel:t.recordingPipelineRetry};default:return{title:t.genericErrorTitle,message:t.genericErrorMessage,retryLabel:t.errorRetry}}}function ve(e,t,n,r){if(!e.visible)return V;switch(e.variant){case`audio`:{let n=he(r??null,t);return{visible:!0,variant:`audio`,title:n.title,message:n.message,retryLabel:e.canRetry?n.retryLabel:void 0,canRetry:e.canRetry}}case`browser`:return{visible:!0,variant:`browser`,title:t.browserErrorTitle,message:t.browserErrorMessage,canRetry:!1};case`camera`:{let n=ge(r??null,t);return{visible:!0,variant:`camera`,title:n.title,message:n.message,retryLabel:e.canRetry?n.retryLabel:void 0,canRetry:e.canRetry}}case`generic`:if(e.actionableCode){let n=_e(e.actionableCode,t);return{visible:!0,variant:`generic`,title:n.title,message:n.message,retryLabel:e.canRetry?n.retryLabel:void 0,canRetry:e.canRetry}}return{visible:!0,variant:`generic`,title:t.genericErrorTitle,message:n||t.genericErrorMessage,retryLabel:t.errorRetry,canRetry:!0};default:return V}}function U(e,t){if(t)return``;if(e)return e;if(typeof process<`u`&&process.env&&typeof process.env.VIDTREO_API_KEY==`string`)return process.env.VIDTREO_API_KEY;throw Error(`apiKey is required. Provide it as a prop or set VIDTREO_API_KEY environment variable.`)}const W={},G=`camera`,K=`screen`,q=`recording`,ye=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M244,56v48a12,12,0,0,1-12,12H184a12,12,0,1,1,0-24H201.1l-19-17.38c-.13-.12-.26-.24-.38-.37A76,76,0,1,0,127,204h1a75.53,75.53,0,0,0,52.15-20.72,12,12,0,0,1,16.49,17.45A99.45,99.45,0,0,1,128,228h-1.37A100,100,0,1,1,198.51,57.06L220,76.72V56a12,12,0,0,1,24,0Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M240,56v48a8,8,0,0,1-8,8H184a8,8,0,0,1,0-16H211.4L184.81,71.64l-.25-.24a80,80,0,1,0-1.67,114.78,8,8,0,0,1,11,11.63A95.44,95.44,0,0,1,128,224h-1.32A96,96,0,1,1,195.75,60L224,85.8V56a8,8,0,1,1,16,0Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M240,56v48a8,8,0,0,1-8,8H184a8,8,0,0,1-5.66-13.66l17-17-10.55-9.65-.25-.24a80,80,0,1,0-1.67,114.78,8,8,0,1,1,11,11.63A95.44,95.44,0,0,1,128,224h-1.32A96,96,0,1,1,195.75,60l10.93,10L226.34,50.3A8,8,0,0,1,240,56Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M238,56v48a6,6,0,0,1-6,6H184a6,6,0,0,1,0-12h32.55l-30.38-27.8c-.06-.06-.12-.13-.19-.19a82,82,0,1,0-1.7,117.65,6,6,0,0,1,8.24,8.73A93.46,93.46,0,0,1,128,222h-1.28A94,94,0,1,1,194.37,61.4L226,90.35V56a6,6,0,1,1,12,0Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M240,56v48a8,8,0,0,1-8,8H184a8,8,0,0,1,0-16H211.4L184.81,71.64l-.25-.24a80,80,0,1,0-1.67,114.78,8,8,0,0,1,11,11.63A95.44,95.44,0,0,1,128,224h-1.32A96,96,0,1,1,195.75,60L224,85.8V56a8,8,0,1,1,16,0Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M236,56v48a4,4,0,0,1-4,4H184a4,4,0,0,1,0-8h37.7L187.53,68.69l-.13-.12a84,84,0,1,0-1.75,120.51,4,4,0,0,1,5.5,5.82A91.43,91.43,0,0,1,128,220h-1.26A92,92,0,1,1,193,62.84l35,32.05V56a4,4,0,1,1,8,0Z`}))]]),be=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,52H182.42L170,33.34A12,12,0,0,0,160,28H96a12,12,0,0,0-10,5.34L73.57,52H48A28,28,0,0,0,20,80V192a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V80A28,28,0,0,0,208,52Zm4,140a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4H80a12,12,0,0,0,10-5.34L102.42,52h51.15L166,70.66A12,12,0,0,0,176,76h32a4,4,0,0,1,4,4ZM128,84a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,84Zm0,72a24,24,0,1,1,24-24A24,24,0,0,1,128,156Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,64H176L160,40H96L80,64H48A16,16,0,0,0,32,80V192a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V80A16,16,0,0,0,208,64ZM128,168a36,36,0,1,1,36-36A36,36,0,0,1,128,168Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H80a8,8,0,0,0,6.66-3.56L100.28,48h55.43l13.63,20.44A8,8,0,0,0,176,72h32a8,8,0,0,1,8,8ZM128,88a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,88Zm0,72a28,28,0,1,1,28-28A28,28,0,0,1,128,160Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm-44,76a36,36,0,1,1-36-36A36,36,0,0,1,164,132Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,58H179.21L165,36.67A6,6,0,0,0,160,34H96a6,6,0,0,0-5,2.67L76.78,58H48A22,22,0,0,0,26,80V192a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V80A22,22,0,0,0,208,58Zm10,134a10,10,0,0,1-10,10H48a10,10,0,0,1-10-10V80A10,10,0,0,1,48,70H80a6,6,0,0,0,5-2.67L99.21,46h57.57L171,67.33A6,6,0,0,0,176,70h32a10,10,0,0,1,10,10ZM128,90a42,42,0,1,0,42,42A42,42,0,0,0,128,90Zm0,72a30,30,0,1,1,30-30A30,30,0,0,1,128,162Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H80a8,8,0,0,0,6.66-3.56L100.28,48h55.43l13.63,20.44A8,8,0,0,0,176,72h32a8,8,0,0,1,8,8ZM128,88a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,88Zm0,72a28,28,0,1,1,28-28A28,28,0,0,1,128,160Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,60H178.13L163.32,37.78A4,4,0,0,0,160,36H96a4,4,0,0,0-3.32,1.78L77.85,60H48A20,20,0,0,0,28,80V192a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V80A20,20,0,0,0,208,60Zm12,132a12,12,0,0,1-12,12H48a12,12,0,0,1-12-12V80A12,12,0,0,1,48,68H80a4,4,0,0,0,3.33-1.78L98.13,44h59.72l14.82,22.22A4,4,0,0,0,176,68h32a12,12,0,0,1,12,12ZM128,92a40,40,0,1,0,40,40A40,40,0,0,0,128,92Zm0,72a32,32,0,1,1,32-32A32,32,0,0,1,128,164Z`}))]]),xe=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M56.88,31.93A12,12,0,1,0,39.12,48.07l4,4.37A28,28,0,0,0,20,80V192a28,28,0,0,0,28,28H195.42l3.7,4.07a12,12,0,0,0,17.76-16.14Zm49.35,90L136,154.64a24,24,0,0,1-29.77-32.75ZM48,196a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4H64.51l24.92,27.41a48,48,0,0,0,63.34,69.67L173.6,196ZM236,80v94.14a12,12,0,0,1-24,0V80a4,4,0,0,0-4-4H176a12,12,0,0,1-10-5.34L153.57,52H102.06a12,12,0,0,1,0-24H160a12,12,0,0,1,10,5.34L182.42,52H208A28,28,0,0,1,236,80Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,64H176L160,40H96L80,64H48A16,16,0,0,0,32,80V192a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V80A16,16,0,0,0,208,64ZM128,168a36,36,0,1,1,36-36A36,36,0,0,1,128,168Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M53.92,34.62A8,8,0,1,0,42.08,45.38L51.73,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H197.19l4.89,5.38a8,8,0,1,0,11.84-10.76Zm51.66,80.61,37,40.69A27.71,27.71,0,0,1,128,160a28,28,0,0,1-22.42-44.77ZM48,200a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H66.28l28.41,31.26A44,44,0,0,0,128,176a44.21,44.21,0,0,0,25.44-8.12L182.64,200ZM232,80V186a8,8,0,0,1-16,0V80a8,8,0,0,0-8-8H176a8,8,0,0,1-6.65-3.56L155.71,48H100.24a8,8,0,0,1-12.91-9.42l2-3A8,8,0,0,1,96,32h64a8,8,0,0,1,6.66,3.56L180.28,56H208A24,24,0,0,1,232,80Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232,80V192a24.52,24.52,0,0,1-.45,4.65,4,4,0,0,1-6.9,2L86,46.08a4,4,0,0,1-.37-4.91l3.74-5.61A8,8,0,0,1,96,32h64a8,8,0,0,1,6.66,3.56L180.28,56H208A24,24,0,0,1,232,80ZM213.92,210.62a8,8,0,1,1-11.84,10.76L197.19,216H48a24,24,0,0,1-24-24V80A24,24,0,0,1,48,56h3.73L42.08,45.38A8,8,0,1,1,53.92,34.62ZM148,161.92l-47.88-52.68A36,36,0,0,0,148,161.92Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M52.44,36A6,6,0,0,0,43.56,44L56.25,58H48A22,22,0,0,0,26,80V192a22,22,0,0,0,22,22H198.07l5.49,6a6,6,0,0,0,8.88-8.08Zm53.06,76.2,40.11,44.13A29.67,29.67,0,0,1,128,162a30,30,0,0,1-22.5-49.84ZM48,202a10,10,0,0,1-10-10V80A10,10,0,0,1,48,70H67.16l30.23,33.25a42,42,0,0,0,56.33,62L187.16,202ZM230,80V186a6,6,0,0,1-12,0V80a10,10,0,0,0-10-10H176a6,6,0,0,1-5-2.67L156.78,46H99.21l-.23.34a6,6,0,0,1-10-6.65l2-3A6,6,0,0,1,96,34h64a6,6,0,0,1,5,2.67L179.21,58H208A22,22,0,0,1,230,80Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M53.92,34.62A8,8,0,1,0,42.08,45.38L51.73,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H197.19l4.89,5.38a8,8,0,1,0,11.84-10.76Zm51.66,80.61,37,40.69A27.71,27.71,0,0,1,128,160a28,28,0,0,1-22.42-44.77ZM48,200a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H66.28l28.41,31.26A44,44,0,0,0,128,176a44.21,44.21,0,0,0,25.44-8.12L182.64,200ZM232,80V186a8,8,0,0,1-16,0V80a8,8,0,0,0-8-8H176a8,8,0,0,1-6.65-3.56L155.71,48H100.24a8,8,0,0,1-12.91-9.42l2-3A8,8,0,0,1,96,32h64a8,8,0,0,1,6.66,3.56L180.28,56H208A24,24,0,0,1,232,80Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M51,37.31A4,4,0,0,0,45,42.69L60.78,60H48A20,20,0,0,0,28,80V192a20,20,0,0,0,20,20H199l6.08,6.69a4,4,0,1,0,5.92-5.38Zm97.58,119.23A31.69,31.69,0,0,1,128,164a32,32,0,0,1-22.48-54.78ZM48,204a12,12,0,0,1-12-12V80A12,12,0,0,1,48,68h20l32.09,35.3a40,40,0,0,0,53.79,59.16L191.69,204ZM228,80V186a4,4,0,0,1-8,0V80a12,12,0,0,0-12-12H176a4,4,0,0,1-3.32-1.78L157.85,44H98.13l-.82,1.23a4,4,0,1,1-6.65-4.44l2-3A4,4,0,0,1,96,36h64a4,4,0,0,1,3.33,1.78L178.13,60H208A20,20,0,0,1,228,80Z`}))]]),Se=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M160,48V208L80,128Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z`}))]]),J=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232,56V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M228.24,76.24l-128,128a6,6,0,0,1-8.48,0l-56-56a6,6,0,0,1,8.48-8.48L96,191.51,219.76,67.76a6,6,0,0,1,8.48,8.48Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M226.83,74.83l-128,128a4,4,0,0,1-5.66,0l-56-56a4,4,0,0,1,5.66-5.66L96,194.34,221.17,69.17a4,4,0,1,1,5.66,5.66Z`}))]]),Ce=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232,128A104,104,0,1,1,128,24,104.13,104.13,0,0,1,232,128Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Z`}))]]),Y=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M192.49,167.51a12,12,0,0,1,0,17l-32,32a12,12,0,0,1-17,0l-32-32a12,12,0,1,1,17-17L140,179V128a12,12,0,0,1,24,0v51l11.51-11.52A12,12,0,0,1,192.49,167.51ZM160,36A92.08,92.08,0,0,0,79,84.37,68,68,0,1,0,72,220H84a12,12,0,0,0,0-24H72a44,44,0,0,1-1.81-87.95A91.7,91.7,0,0,0,68,128a12,12,0,0,0,24,0,68,68,0,0,1,136,0,67.27,67.27,0,0,1-7.25,30.59,12,12,0,1,0,21.42,10.82A91.08,91.08,0,0,0,252,128,92.1,92.1,0,0,0,160,36Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M240,128a80,80,0,0,1-80,80H72A56,56,0,1,1,85.92,97.74l0,.1A80,80,0,0,1,240,128Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M248,128a87.34,87.34,0,0,1-17.6,52.81,8,8,0,1,1-12.8-9.62A71.34,71.34,0,0,0,232,128a72,72,0,0,0-144,0,8,8,0,0,1-16,0,88,88,0,0,1,3.29-23.88C74.2,104,73.1,104,72,104a48,48,0,0,0,0,96H96a8,8,0,0,1,0,16H72A64,64,0,1,1,81.29,88.68,88,88,0,0,1,248,128Zm-69.66,42.34L160,188.69V128a8,8,0,0,0-16,0v60.69l-18.34-18.35a8,8,0,0,0-11.32,11.32l32,32a8,8,0,0,0,11.32,0l32-32a8,8,0,0,0-11.32-11.32Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M247.93,124.52C246.11,77.54,207.07,40,160.06,40A88.1,88.1,0,0,0,81.29,88.67h0A87.48,87.48,0,0,0,72,127.73,8.18,8.18,0,0,1,64.57,136,8,8,0,0,1,56,128a103.66,103.66,0,0,1,5.34-32.92,4,4,0,0,0-4.75-5.18A64.09,64.09,0,0,0,8,152c0,35.19,29.75,64,65,64H160A88.09,88.09,0,0,0,247.93,124.52Zm-50.27,25.14-32,32a8,8,0,0,1-11.32,0l-32-32a8,8,0,0,1,11.32-11.32L152,156.69V96a8,8,0,0,1,16,0v60.69l18.34-18.35a8,8,0,0,1,11.32,11.32Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M246,128a85.27,85.27,0,0,1-17.2,51.6,6,6,0,1,1-9.6-7.2A74,74,0,1,0,86,128a6,6,0,0,1-12,0,85.54,85.54,0,0,1,3.91-25.64A50.68,50.68,0,0,0,72,102a50,50,0,0,0,0,100H96a6,6,0,0,1,0,12H72A62,62,0,1,1,82.43,90.88,86,86,0,0,1,246,128Zm-66.24,43.76L158,193.51V128a6,6,0,0,0-12,0v65.51l-21.76-21.75a6,6,0,0,0-8.48,8.48l32,32a6,6,0,0,0,8.48,0l32-32a6,6,0,0,0-8.48-8.48Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M248,128a87.34,87.34,0,0,1-17.6,52.81,8,8,0,1,1-12.8-9.62A71.34,71.34,0,0,0,232,128a72,72,0,0,0-144,0,8,8,0,0,1-16,0,88,88,0,0,1,3.29-23.88C74.2,104,73.1,104,72,104a48,48,0,0,0,0,96H96a8,8,0,0,1,0,16H72A64,64,0,1,1,81.29,88.68,88,88,0,0,1,248,128Zm-69.66,42.34L160,188.69V128a8,8,0,0,0-16,0v60.69l-18.34-18.35a8,8,0,0,0-11.32,11.32l32,32a8,8,0,0,0,11.32,0l32-32a8,8,0,0,0-11.32-11.32Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M244,128a83.28,83.28,0,0,1-16.8,50.4,4,4,0,1,1-6.4-4.8A76,76,0,1,0,84,128a4,4,0,0,1-8,0,83.45,83.45,0,0,1,4.57-27.27A52,52,0,1,0,72,204H96a4,4,0,0,1,0,8H72A60,60,0,1,1,83.61,93.13,84,84,0,0,1,244,128Zm-62.83,45.17L156,198.34V128a4,4,0,0,0-8,0v70.34l-25.17-25.17a4,4,0,0,0-5.66,5.66l32,32a4,4,0,0,0,5.66,0l32-32a4,4,0,0,0-5.66-5.66Z`}))]]),we=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M251,123.13c-.37-.81-9.13-20.26-28.48-39.61C196.63,57.67,164,44,128,44S59.37,57.67,33.51,83.52C14.16,102.87,5.4,122.32,5,123.13a12.08,12.08,0,0,0,0,9.75c.37.82,9.13,20.26,28.49,39.61C59.37,198.34,92,212,128,212s68.63-13.66,94.48-39.51c19.36-19.35,28.12-38.79,28.49-39.61A12.08,12.08,0,0,0,251,123.13Zm-46.06,33C183.47,177.27,157.59,188,128,188s-55.47-10.73-76.91-31.88A130.36,130.36,0,0,1,29.52,128,130.45,130.45,0,0,1,51.09,99.89C72.54,78.73,98.41,68,128,68s55.46,10.73,76.91,31.89A130.36,130.36,0,0,1,226.48,128,130.45,130.45,0,0,1,204.91,156.12ZM128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,64a20,20,0,1,1,20-20A20,20,0,0,1,128,148Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,56C48,56,16,128,16,128s32,72,112,72,112-72,112-72S208,56,128,56Zm0,112a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.47,133.47,0,0,1,25,128,133.33,133.33,0,0,1,48.07,97.25C70.33,75.19,97.22,64,128,64s57.67,11.19,79.93,33.25A133.46,133.46,0,0,1,231.05,128C223.84,141.46,192.43,192,128,192Zm0-112a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M245.48,125.57c-.34-.78-8.66-19.23-27.24-37.81C201,70.54,171.38,50,128,50S55,70.54,37.76,87.76c-18.58,18.58-26.9,37-27.24,37.81a6,6,0,0,0,0,4.88c.34.77,8.66,19.22,27.24,37.8C55,185.47,84.62,206,128,206s73-20.53,90.24-37.75c18.58-18.58,26.9-37,27.24-37.8A6,6,0,0,0,245.48,125.57ZM128,194c-31.38,0-58.78-11.42-81.45-33.93A134.77,134.77,0,0,1,22.69,128,134.56,134.56,0,0,1,46.55,95.94C69.22,73.42,96.62,62,128,62s58.78,11.42,81.45,33.94A134.56,134.56,0,0,1,233.31,128C226.94,140.21,195,194,128,194Zm0-112a46,46,0,1,0,46,46A46.06,46.06,0,0,0,128,82Zm0,80a34,34,0,1,1,34-34A34,34,0,0,1,128,162Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.47,133.47,0,0,1,25,128,133.33,133.33,0,0,1,48.07,97.25C70.33,75.19,97.22,64,128,64s57.67,11.19,79.93,33.25A133.46,133.46,0,0,1,231.05,128C223.84,141.46,192.43,192,128,192Zm0-112a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M243.66,126.38c-.34-.76-8.52-18.89-26.83-37.2C199.87,72.22,170.7,52,128,52S56.13,72.22,39.17,89.18c-18.31,18.31-26.49,36.44-26.83,37.2a4.08,4.08,0,0,0,0,3.25c.34.77,8.52,18.89,26.83,37.2,17,17,46.14,37.17,88.83,37.17s71.87-20.21,88.83-37.17c18.31-18.31,26.49-36.43,26.83-37.2A4.08,4.08,0,0,0,243.66,126.38Zm-32.7,35c-23.07,23-51,34.62-83,34.62s-59.89-11.65-83-34.62A135.71,135.71,0,0,1,20.44,128,135.69,135.69,0,0,1,45,94.62C68.11,71.65,96,60,128,60s59.89,11.65,83,34.62A135.79,135.79,0,0,1,235.56,128,135.71,135.71,0,0,1,211,161.38ZM128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,80a36,36,0,1,1,36-36A36,36,0,0,1,128,164Z`}))]]),Te=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M56.88,31.93A12,12,0,1,0,39.12,48.07l16,17.65C20.67,88.66,5.72,121.58,5,123.13a12.08,12.08,0,0,0,0,9.75c.37.82,9.13,20.26,28.49,39.61C59.37,198.34,92,212,128,212a131.34,131.34,0,0,0,51-10l20.09,22.1a12,12,0,0,0,17.76-16.14ZM128,188c-29.59,0-55.47-10.73-76.91-31.88A130.69,130.69,0,0,1,29.52,128c5.27-9.31,18.79-29.9,42-44.29l90.09,99.11A109.33,109.33,0,0,1,128,188Zm123-55.12c-.36.81-9,20-28,39.16a12,12,0,1,1-17-16.9A130.48,130.48,0,0,0,226.48,128a130.36,130.36,0,0,0-21.57-28.12C183.46,78.73,157.59,68,128,68c-3.35,0-6.7.14-10,.42a12,12,0,1,1-2-23.91c3.93-.34,8-.51,12-.51,36,0,68.63,13.67,94.49,39.52,19.35,19.35,28.11,38.8,28.48,39.61A12.08,12.08,0,0,1,251,132.88Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,56C48,56,16,128,16,128s32,72,112,72,112-72,112-72S208,56,128,56Zm0,112a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M53.92,34.62A8,8,0,1,0,42.08,45.38L61.32,66.55C25,88.84,9.38,123.2,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208a127.11,127.11,0,0,0,52.07-10.83l22,24.21a8,8,0,1,0,11.84-10.76Zm47.33,75.84,41.67,45.85a32,32,0,0,1-41.67-45.85ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.16,133.16,0,0,1,25,128c4.69-8.79,19.66-33.39,47.35-49.38l18,19.75a48,48,0,0,0,63.66,70l14.73,16.2A112,112,0,0,1,128,192Zm6-95.43a8,8,0,0,1,3-15.72,48.16,48.16,0,0,1,38.77,42.64,8,8,0,0,1-7.22,8.71,6.39,6.39,0,0,1-.75,0,8,8,0,0,1-8-7.26A32.09,32.09,0,0,0,134,96.57Zm113.28,34.69c-.42.94-10.55,23.37-33.36,43.8a8,8,0,1,1-10.67-11.92A132.77,132.77,0,0,0,231.05,128a133.15,133.15,0,0,0-23.12-30.77C185.67,75.19,158.78,64,128,64a118.37,118.37,0,0,0-19.36,1.57A8,8,0,1,1,106,49.79,134,134,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41A8,8,0,0,1,247.31,131.26Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M96.68,57.87a4,4,0,0,1,2.08-6.6A130.13,130.13,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41a8,8,0,0,1,0,6.5c-.35.79-8.82,19.57-27.65,38.4q-4.28,4.26-8.79,8.07a4,4,0,0,1-5.55-.36ZM213.92,210.62a8,8,0,1,1-11.84,10.76L180,197.13A127.21,127.21,0,0,1,128,208c-34.88,0-66.57-13.26-91.66-38.34C17.51,150.83,9,132.05,8.69,131.26a8,8,0,0,1,0-6.5C9,124,17.51,105.18,36.34,86.35a135,135,0,0,1,25-19.78L42.08,45.38A8,8,0,1,1,53.92,34.62Zm-65.49-48.25-52.69-58a40,40,0,0,0,52.69,58Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M52.44,36A6,6,0,0,0,43.56,44L64.44,67c-37.28,21.9-53.23,57-53.92,58.57a6,6,0,0,0,0,4.88c.34.77,8.66,19.22,27.24,37.8C55,185.47,84.62,206,128,206a124.91,124.91,0,0,0,52.57-11.25l23,25.29a6,6,0,0,0,8.88-8.08Zm48.62,71.32,45,49.52a34,34,0,0,1-45-49.52ZM128,194c-31.38,0-58.78-11.42-81.45-33.93A134.57,134.57,0,0,1,22.69,128c4.29-8.2,20.1-35.18,50-51.91L92.89,98.3a46,46,0,0,0,61.35,67.48l17.81,19.6A113.47,113.47,0,0,1,128,194Zm6.4-99.4a6,6,0,0,1,2.25-11.79,46.17,46.17,0,0,1,37.15,40.87,6,6,0,0,1-5.42,6.53l-.56,0a6,6,0,0,1-6-5.45A34.1,34.1,0,0,0,134.4,94.6Zm111.08,35.85c-.41.92-10.37,23-32.86,43.12a6,6,0,1,1-8-8.94A134.07,134.07,0,0,0,233.31,128a134.67,134.67,0,0,0-23.86-32.07C186.78,73.42,159.38,62,128,62a120.19,120.19,0,0,0-19.69,1.6,6,6,0,1,1-2-11.83A131.12,131.12,0,0,1,128,50c43.38,0,73,20.54,90.24,37.76,18.58,18.58,26.9,37,27.24,37.81A6,6,0,0,1,245.48,130.45Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M53.92,34.62A8,8,0,1,0,42.08,45.38L61.32,66.55C25,88.84,9.38,123.2,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208a127.11,127.11,0,0,0,52.07-10.83l22,24.21a8,8,0,1,0,11.84-10.76Zm47.33,75.84,41.67,45.85a32,32,0,0,1-41.67-45.85ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.16,133.16,0,0,1,25,128c4.69-8.79,19.66-33.39,47.35-49.38l18,19.75a48,48,0,0,0,63.66,70l14.73,16.2A112,112,0,0,1,128,192Zm6-95.43a8,8,0,0,1,3-15.72,48.16,48.16,0,0,1,38.77,42.64,8,8,0,0,1-7.22,8.71,6.39,6.39,0,0,1-.75,0,8,8,0,0,1-8-7.26A32.09,32.09,0,0,0,134,96.57Zm113.28,34.69c-.42.94-10.55,23.37-33.36,43.8a8,8,0,1,1-10.67-11.92A132.77,132.77,0,0,0,231.05,128a133.15,133.15,0,0,0-23.12-30.77C185.67,75.19,158.78,64,128,64a118.37,118.37,0,0,0-19.36,1.57A8,8,0,1,1,106,49.79,134,134,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41A8,8,0,0,1,247.31,131.26Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M51,37.31A4,4,0,0,0,45,42.69L67.59,67.5C29.34,89,13,124.81,12.34,126.38a4.08,4.08,0,0,0,0,3.25c.34.77,8.52,18.89,26.83,37.2,17,17,46.14,37.17,88.83,37.17a122.59,122.59,0,0,0,53.06-11.69l24,26.38a4,4,0,1,0,5.92-5.38ZM149.1,157.16A36,36,0,0,1,101,104.22ZM128,196c-32,0-59.89-11.65-83-34.62A135.81,135.81,0,0,1,20.44,128c3.65-7.23,20.09-36.81,52.68-54.43l22.45,24.7a44,44,0,0,0,59,64.83l20.89,23A114.94,114.94,0,0,1,128,196Zm6.78-103.36a4,4,0,0,1,1.49-7.86,44.15,44.15,0,0,1,35.54,39.09,4,4,0,0,1-3.61,4.35l-.38,0a4,4,0,0,1-4-3.63A36.1,36.1,0,0,0,134.78,92.64Zm108.88,37c-.41.91-10.2,22.58-32.38,42.45a4,4,0,0,1-2.67,1,4,4,0,0,1-2.67-7A136.71,136.71,0,0,0,235.56,128,136.07,136.07,0,0,0,211,94.62C187.89,71.65,160,60,128,60a122,122,0,0,0-20,1.63,4,4,0,0,1-1.32-7.89A129.3,129.3,0,0,1,128,52c42.7,0,71.87,20.22,88.83,37.18,18.31,18.31,26.49,36.44,26.83,37.2A4.08,4.08,0,0,1,243.66,129.63Z`}))]]),Ee=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,76a52,52,0,1,0,52,52A52.06,52.06,0,0,0,128,76Zm0,80a28,28,0,1,1,28-28A28,28,0,0,1,128,156Zm92-27.21v-1.58l14-17.51a12,12,0,0,0,2.23-10.59A111.75,111.75,0,0,0,225,71.89,12,12,0,0,0,215.89,66L193.61,63.5l-1.11-1.11L190,40.1A12,12,0,0,0,184.11,31a111.67,111.67,0,0,0-27.23-11.27A12,12,0,0,0,146.3,22L128.79,36h-1.58L109.7,22a12,12,0,0,0-10.59-2.23A111.75,111.75,0,0,0,71.89,31.05,12,12,0,0,0,66,40.11L63.5,62.39,62.39,63.5,40.1,66A12,12,0,0,0,31,71.89,111.67,111.67,0,0,0,19.77,99.12,12,12,0,0,0,22,109.7l14,17.51v1.58L22,146.3a12,12,0,0,0-2.23,10.59,111.75,111.75,0,0,0,11.29,27.22A12,12,0,0,0,40.11,190l22.28,2.48,1.11,1.11L66,215.9A12,12,0,0,0,71.89,225a111.67,111.67,0,0,0,27.23,11.27A12,12,0,0,0,109.7,234l17.51-14h1.58l17.51,14a12,12,0,0,0,10.59,2.23A111.75,111.75,0,0,0,184.11,225a12,12,0,0,0,5.91-9.06l2.48-22.28,1.11-1.11L215.9,190a12,12,0,0,0,9.06-5.91,111.67,111.67,0,0,0,11.27-27.23A12,12,0,0,0,234,146.3Zm-24.12-4.89a70.1,70.1,0,0,1,0,8.2,12,12,0,0,0,2.61,8.22l12.84,16.05A86.47,86.47,0,0,1,207,166.86l-20.43,2.27a12,12,0,0,0-7.65,4,69,69,0,0,1-5.8,5.8,12,12,0,0,0-4,7.65L166.86,207a86.47,86.47,0,0,1-10.49,4.35l-16.05-12.85a12,12,0,0,0-7.5-2.62c-.24,0-.48,0-.72,0a70.1,70.1,0,0,1-8.2,0,12.06,12.06,0,0,0-8.22,2.6L99.63,211.33A86.47,86.47,0,0,1,89.14,207l-2.27-20.43a12,12,0,0,0-4-7.65,69,69,0,0,1-5.8-5.8,12,12,0,0,0-7.65-4L49,166.86a86.47,86.47,0,0,1-4.35-10.49l12.84-16.05a12,12,0,0,0,2.61-8.22,70.1,70.1,0,0,1,0-8.2,12,12,0,0,0-2.61-8.22L44.67,99.63A86.47,86.47,0,0,1,49,89.14l20.43-2.27a12,12,0,0,0,7.65-4,69,69,0,0,1,5.8-5.8,12,12,0,0,0,4-7.65L89.14,49a86.47,86.47,0,0,1,10.49-4.35l16.05,12.85a12.06,12.06,0,0,0,8.22,2.6,70.1,70.1,0,0,1,8.2,0,12,12,0,0,0,8.22-2.6l16.05-12.85A86.47,86.47,0,0,1,166.86,49l2.27,20.43a12,12,0,0,0,4,7.65,69,69,0,0,1,5.8,5.8,12,12,0,0,0,7.65,4L207,89.14a86.47,86.47,0,0,1,4.35,10.49l-12.84,16.05A12,12,0,0,0,195.88,123.9Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M207.86,123.18l16.78-21a99.14,99.14,0,0,0-10.07-24.29l-26.7-3a81,81,0,0,0-6.81-6.81l-3-26.71a99.43,99.43,0,0,0-24.3-10l-21,16.77a81.59,81.59,0,0,0-9.64,0l-21-16.78A99.14,99.14,0,0,0,77.91,41.43l-3,26.7a81,81,0,0,0-6.81,6.81l-26.71,3a99.43,99.43,0,0,0-10,24.3l16.77,21a81.59,81.59,0,0,0,0,9.64l-16.78,21a99.14,99.14,0,0,0,10.07,24.29l26.7,3a81,81,0,0,0,6.81,6.81l3,26.71a99.43,99.43,0,0,0,24.3,10l21-16.77a81.59,81.59,0,0,0,9.64,0l21,16.78a99.14,99.14,0,0,0,24.29-10.07l3-26.7a81,81,0,0,0,6.81-6.81l26.71-3a99.43,99.43,0,0,0,10-24.3l-16.77-21A81.59,81.59,0,0,0,207.86,123.18ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8.06,8.06,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8.06,8.06,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,130.16q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,82a46,46,0,1,0,46,46A46.06,46.06,0,0,0,128,82Zm0,80a34,34,0,1,1,34-34A34,34,0,0,1,128,162ZM214,130.84c.06-1.89.06-3.79,0-5.68L229.33,106a6,6,0,0,0,1.11-5.29A105.34,105.34,0,0,0,219.76,74.9a6,6,0,0,0-4.53-3l-24.45-2.71q-1.93-2.07-4-4l-2.72-24.46a6,6,0,0,0-3-4.53,105.65,105.65,0,0,0-25.77-10.66A6,6,0,0,0,150,26.68l-19.2,15.37c-1.89-.06-3.79-.06-5.68,0L106,26.67a6,6,0,0,0-5.29-1.11A105.34,105.34,0,0,0,74.9,36.24a6,6,0,0,0-3,4.53L69.23,65.22q-2.07,1.94-4,4L40.76,72a6,6,0,0,0-4.53,3,105.65,105.65,0,0,0-10.66,25.77A6,6,0,0,0,26.68,106l15.37,19.2c-.06,1.89-.06,3.79,0,5.68L26.67,150.05a6,6,0,0,0-1.11,5.29A105.34,105.34,0,0,0,36.24,181.1a6,6,0,0,0,4.53,3l24.45,2.71q1.94,2.07,4,4L72,215.24a6,6,0,0,0,3,4.53,105.65,105.65,0,0,0,25.77,10.66,6,6,0,0,0,5.29-1.11L125.16,214c1.89.06,3.79.06,5.68,0l19.21,15.38a6,6,0,0,0,3.75,1.31,6.2,6.2,0,0,0,1.54-.2,105.34,105.34,0,0,0,25.76-10.68,6,6,0,0,0,3-4.53l2.71-24.45q2.07-1.93,4-4l24.46-2.72a6,6,0,0,0,4.53-3,105.49,105.49,0,0,0,10.66-25.77,6,6,0,0,0-1.11-5.29Zm-3.1,41.63-23.64,2.63a6,6,0,0,0-3.82,2,75.14,75.14,0,0,1-6.31,6.31,6,6,0,0,0-2,3.82l-2.63,23.63A94.28,94.28,0,0,1,155.14,218l-18.57-14.86a6,6,0,0,0-3.75-1.31h-.36a78.07,78.07,0,0,1-8.92,0,6,6,0,0,0-4.11,1.3L100.87,218a94.13,94.13,0,0,1-17.34-7.17L80.9,187.21a6,6,0,0,0-2-3.82,75.14,75.14,0,0,1-6.31-6.31,6,6,0,0,0-3.82-2l-23.63-2.63A94.28,94.28,0,0,1,38,155.14l14.86-18.57a6,6,0,0,0,1.3-4.11,78.07,78.07,0,0,1,0-8.92,6,6,0,0,0-1.3-4.11L38,100.87a94.13,94.13,0,0,1,7.17-17.34L68.79,80.9a6,6,0,0,0,3.82-2,75.14,75.14,0,0,1,6.31-6.31,6,6,0,0,0,2-3.82l2.63-23.63A94.28,94.28,0,0,1,100.86,38l18.57,14.86a6,6,0,0,0,4.11,1.3,78.07,78.07,0,0,1,8.92,0,6,6,0,0,0,4.11-1.3L155.13,38a94.13,94.13,0,0,1,17.34,7.17l2.63,23.64a6,6,0,0,0,2,3.82,75.14,75.14,0,0,1,6.31,6.31,6,6,0,0,0,3.82,2l23.63,2.63A94.28,94.28,0,0,1,218,100.86l-14.86,18.57a6,6,0,0,0-1.3,4.11,78.07,78.07,0,0,1,0,8.92,6,6,0,0,0,1.3,4.11L218,155.13A94.13,94.13,0,0,1,210.85,172.47Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.21,107.21,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.71,107.71,0,0,0-26.25-10.87,8,8,0,0,0-7.06,1.49L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.21,107.21,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8,8,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8,8,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,80a36,36,0,1,1,36-36A36,36,0,0,1,128,164Zm83.93-32.49q.13-3.51,0-7l15.83-19.79a4,4,0,0,0,.75-3.53A103.64,103.64,0,0,0,218,75.9a4,4,0,0,0-3-2l-25.19-2.8c-1.58-1.71-3.24-3.37-4.95-4.95L182.07,41a4,4,0,0,0-2-3A104,104,0,0,0,154.82,27.5a4,4,0,0,0-3.53.74L131.51,44.07q-3.51-.14-7,0L104.7,28.24a4,4,0,0,0-3.53-.75A103.64,103.64,0,0,0,75.9,38a4,4,0,0,0-2,3l-2.8,25.19c-1.71,1.58-3.37,3.24-4.95,4.95L41,73.93a4,4,0,0,0-3,2A104,104,0,0,0,27.5,101.18a4,4,0,0,0,.74,3.53l15.83,19.78q-.14,3.51,0,7L28.24,151.3a4,4,0,0,0-.75,3.53A103.64,103.64,0,0,0,38,180.1a4,4,0,0,0,3,2l25.19,2.8c1.58,1.71,3.24,3.37,4.95,4.95l2.8,25.2a4,4,0,0,0,2,3,104,104,0,0,0,25.28,10.46,4,4,0,0,0,3.53-.74l19.78-15.83q3.51.13,7,0l19.79,15.83a4,4,0,0,0,2.5.88,4,4,0,0,0,1-.13A103.64,103.64,0,0,0,180.1,218a4,4,0,0,0,2-3l2.8-25.19c1.71-1.58,3.37-3.24,4.95-4.95l25.2-2.8a4,4,0,0,0,3-2,104,104,0,0,0,10.46-25.28,4,4,0,0,0-.74-3.53Zm.17,42.83-24.67,2.74a4,4,0,0,0-2.55,1.32,76.2,76.2,0,0,1-6.48,6.48,4,4,0,0,0-1.32,2.55l-2.74,24.66a95.45,95.45,0,0,1-19.64,8.15l-19.38-15.51a4,4,0,0,0-2.5-.87h-.24a73.67,73.67,0,0,1-9.16,0,4,4,0,0,0-2.74.87l-19.37,15.5a95.33,95.33,0,0,1-19.65-8.13l-2.74-24.67a4,4,0,0,0-1.32-2.55,76.2,76.2,0,0,1-6.48-6.48,4,4,0,0,0-2.55-1.32l-24.66-2.74a95.45,95.45,0,0,1-8.15-19.64l15.51-19.38a4,4,0,0,0,.87-2.74,77.76,77.76,0,0,1,0-9.16,4,4,0,0,0-.87-2.74l-15.5-19.37A95.33,95.33,0,0,1,43.9,81.66l24.67-2.74a4,4,0,0,0,2.55-1.32,76.2,76.2,0,0,1,6.48-6.48,4,4,0,0,0,1.32-2.55l2.74-24.66a95.45,95.45,0,0,1,19.64-8.15l19.38,15.51a4,4,0,0,0,2.74.87,73.67,73.67,0,0,1,9.16,0,4,4,0,0,0,2.74-.87l19.37-15.5a95.33,95.33,0,0,1,19.65,8.13l2.74,24.67a4,4,0,0,0,1.32,2.55,76.2,76.2,0,0,1,6.48,6.48,4,4,0,0,0,2.55,1.32l24.66,2.74a95.45,95.45,0,0,1,8.15,19.64l-15.51,19.38a4,4,0,0,0-.87,2.74,77.76,77.76,0,0,1,0,9.16,4,4,0,0,0,.87,2.74l15.5,19.37A95.33,95.33,0,0,1,212.1,174.34Z`}))]]),De=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,180a52.06,52.06,0,0,0,52-52V64A52,52,0,0,0,76,64v64A52.06,52.06,0,0,0,128,180ZM100,64a28,28,0,0,1,56,0v64a28,28,0,0,1-56,0Zm40,155.22V240a12,12,0,0,1-24,0V219.22A92.14,92.14,0,0,1,36,128a12,12,0,0,1,24,0,68,68,0,0,0,136,0,12,12,0,0,1,24,0A92.14,92.14,0,0,1,140,219.22Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M168,64v64a40,40,0,0,1-40,40h0a40,40,0,0,1-40-40V64a40,40,0,0,1,40-40h0A40,40,0,0,1,168,64Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M80,128V64a48,48,0,0,1,96,0v64a48,48,0,0,1-96,0Zm128,0a8,8,0,0,0-16,0,64,64,0,0,1-128,0,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.6A80.11,80.11,0,0,0,208,128Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,174a46.06,46.06,0,0,0,46-46V64a46,46,0,0,0-92,0v64A46.06,46.06,0,0,0,128,174ZM94,64a34,34,0,0,1,68,0v64a34,34,0,0,1-68,0Zm40,141.75V240a6,6,0,0,1-12,0V205.75A78.09,78.09,0,0,1,50,128a6,6,0,0,1,12,0,66,66,0,0,0,132,0,6,6,0,0,1,12,0A78.09,78.09,0,0,1,134,205.75Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,172a44.05,44.05,0,0,0,44-44V64a44,44,0,0,0-88,0v64A44.05,44.05,0,0,0,128,172ZM92,64a36,36,0,0,1,72,0v64a36,36,0,0,1-72,0Zm40,139.89V240a4,4,0,0,1-8,0V203.89A76.09,76.09,0,0,1,52,128a4,4,0,0,1,8,0,68,68,0,0,0,136,0,4,4,0,0,1,8,0A76.09,76.09,0,0,1,132,203.89Z`}))]]),X=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M56.88,39.93A12,12,0,1,0,39.12,56.07L76,96.64V128a52,52,0,0,0,72.11,48l11.26,12.39A67.34,67.34,0,0,1,128,196a68.07,68.07,0,0,1-68-68,12,12,0,0,0-24,0,92.14,92.14,0,0,0,80,91.22V240a12,12,0,0,0,24,0V219.23a90.39,90.39,0,0,0,35.92-12.68l23.2,25.52a12,12,0,0,0,17.76-16.14ZM128,156a28,28,0,0,1-28-28v-5l29.9,32.89C129.27,156,128.64,156,128,156Zm63-2.42A67.63,67.63,0,0,0,196,128a12,12,0,0,1,24,0,91.48,91.48,0,0,1-6.74,34.61,12,12,0,0,1-22.23-9ZM85.7,33.75A52,52,0,0,1,180,64v56.54a12,12,0,0,1-24,0V64a28,28,0,0,0-50.79-16.28,12,12,0,0,1-19.51-14Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M168,64v64a40,40,0,0,1-40,40h0a40,40,0,0,1-40-40V64a40,40,0,0,1,40-40h0A40,40,0,0,1,168,64Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M213.92,218.62l-160-176A8,8,0,0,0,42.08,53.38L80,95.09V128a48,48,0,0,0,69.11,43.12l11.1,12.2A63.41,63.41,0,0,1,128,192a64.07,64.07,0,0,1-64-64,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.59a78.83,78.83,0,0,0,35.16-12.22l30.92,34a8,8,0,1,0,11.84-10.76ZM128,160a32,32,0,0,1-32-32V112.69l41.66,45.82A32,32,0,0,1,128,160Zm57.52-3.91A63.32,63.32,0,0,0,192,128a8,8,0,0,1,16,0,79.16,79.16,0,0,1-8.11,35.12,8,8,0,0,1-7.19,4.49,7.88,7.88,0,0,1-3.51-.82A8,8,0,0,1,185.52,156.09ZM84,44.87A48,48,0,0,1,176,64v64a49.19,49.19,0,0,1-.26,5,8,8,0,0,1-8,7.17,8.13,8.13,0,0,1-.84,0,8,8,0,0,1-7.12-8.79c.11-1.1.17-2.24.17-3.36V64A32,32,0,0,0,98.64,51.25,8,8,0,1,1,84,44.87Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M213.38,229.92a8,8,0,0,1-11.3-.54l-30.92-34A78.83,78.83,0,0,1,136,207.59V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64.07,64.07,0,0,0,64,64,63.41,63.41,0,0,0,32.21-8.68l-11.1-12.2A48,48,0,0,1,80,128V95.09L42.08,53.38A8,8,0,0,1,53.92,42.62l160,176A8,8,0,0,1,213.38,229.92Zm-24.19-63.13a7.88,7.88,0,0,0,3.51.82,8,8,0,0,0,7.19-4.49A79.16,79.16,0,0,0,208,128a8,8,0,0,0-16,0,63.32,63.32,0,0,1-6.48,28.09A8,8,0,0,0,189.19,166.79Zm-27.33-29.22A8,8,0,0,0,175.74,133a49.49,49.49,0,0,0,.26-5V64A48,48,0,0,0,84,44.87a8,8,0,0,0,1.41,8.57Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M212.44,220,52.44,44A6,6,0,0,0,43.56,52L82,94.32V128a46,46,0,0,0,67.56,40.64l13.75,15.12A65.26,65.26,0,0,1,128,194a66.08,66.08,0,0,1-66-66,6,6,0,0,0-12,0,78.09,78.09,0,0,0,72,77.75V240a6,6,0,0,0,12,0V205.77a76.93,76.93,0,0,0,37.48-13L203.56,228a6,6,0,0,0,8.88-8.08ZM128,162a34,34,0,0,1-34-34V107.52l47.12,51.84A33.82,33.82,0,0,1,128,162Zm59.32-5A65.38,65.38,0,0,0,194,128a6,6,0,0,1,12,0,77.33,77.33,0,0,1-7.9,34.25A6,6,0,1,1,187.32,157ZM85.8,45.67A46,46,0,0,1,174,64v64a45.17,45.17,0,0,1-.25,4.81,6,6,0,0,1-6,5.38q-.31,0-.63,0a6,6,0,0,1-5.34-6.59A35.41,35.41,0,0,0,162,128V64A34,34,0,0,0,96.8,50.45a6,6,0,0,1-11-4.78Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M213.92,218.62l-160-176A8,8,0,0,0,42.08,53.38L80,95.09V128a48,48,0,0,0,69.11,43.12l11.1,12.2A63.41,63.41,0,0,1,128,192a64.07,64.07,0,0,1-64-64,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.59a78.83,78.83,0,0,0,35.16-12.22l30.92,34a8,8,0,1,0,11.84-10.76ZM128,160a32,32,0,0,1-32-32V112.69l41.66,45.82A32,32,0,0,1,128,160Zm57.52-3.91A63.32,63.32,0,0,0,192,128a8,8,0,0,1,16,0,79.16,79.16,0,0,1-8.11,35.12,8,8,0,0,1-7.19,4.49,7.88,7.88,0,0,1-3.51-.82A8,8,0,0,1,185.52,156.09ZM84,44.87A48,48,0,0,1,176,64v64a49.19,49.19,0,0,1-.26,5,8,8,0,0,1-8,7.17,8.13,8.13,0,0,1-.84,0,8,8,0,0,1-7.12-8.79c.11-1.1.17-2.24.17-3.36V64A32,32,0,0,0,98.64,51.25,8,8,0,1,1,84,44.87Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M211,221.31,51,45.31A4,4,0,0,0,45,50.69L84,93.55V128a44,44,0,0,0,66,38.12l16.38,18A67.21,67.21,0,0,1,128,196a68.07,68.07,0,0,1-68-68,4,4,0,0,0-8,0,76.09,76.09,0,0,0,72,75.89V240a4,4,0,0,0,8,0V203.89a75.1,75.1,0,0,0,39.79-13.77L205,226.69a4,4,0,1,0,5.92-5.38ZM128,164a36,36,0,0,1-36-36V102.35L144.43,160A35.83,35.83,0,0,1,128,164Zm61.12-6.15A67.44,67.44,0,0,0,196,128a4,4,0,0,1,8,0,75.28,75.28,0,0,1-7.7,33.37,4,4,0,0,1-7.18-3.52ZM87.63,46.46A44,44,0,0,1,172,64v64a44.2,44.2,0,0,1-.24,4.61,4,4,0,0,1-4,3.58l-.42,0a4,4,0,0,1-3.57-4.39A36.67,36.67,0,0,0,164,128V64A36,36,0,0,0,95,49.66a4,4,0,0,1-7.34-3.2Z`}))]]),Oe=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,36H48A28,28,0,0,0,20,64V176a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V64A28,28,0,0,0,208,36Zm4,140a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V64a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40,52a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,228Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M224,64V176a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V64A16,16,0,0,1,48,48H208A16,16,0,0,1,224,64Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232,64V176a24,24,0,0,1-24,24H48a24,24,0,0,1-24-24V64A24,24,0,0,1,48,40H208A24,24,0,0,1,232,64ZM160,216H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,42H48A22,22,0,0,0,26,64V176a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V64A22,22,0,0,0,208,42Zm10,134a10,10,0,0,1-10,10H48a10,10,0,0,1-10-10V64A10,10,0,0,1,48,54H208a10,10,0,0,1,10,10Zm-52,48a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,224Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,44H48A20,20,0,0,0,28,64V176a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V64A20,20,0,0,0,208,44Zm12,132a12,12,0,0,1-12,12H48a12,12,0,0,1-12-12V64A12,12,0,0,1,48,52H208a12,12,0,0,1,12,12Zm-56,48a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,224Z`}))]]),ke=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,28H160a20,20,0,0,0-20,20V208a20,20,0,0,0,20,20h40a20,20,0,0,0,20-20V48A20,20,0,0,0,200,28Zm-4,176H164V52h32ZM96,28H56A20,20,0,0,0,36,48V208a20,20,0,0,0,20,20H96a20,20,0,0,0,20-20V48A20,20,0,0,0,96,28ZM92,204H60V52H92Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,48V208a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V48a8,8,0,0,1,8-8h40A8,8,0,0,1,208,48ZM96,40H56a8,8,0,0,0-8,8V208a8,8,0,0,0,8,8H96a8,8,0,0,0,8-8V48A8,8,0,0,0,96,40Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M200,32H160a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16h40a16,16,0,0,0,16-16V48A16,16,0,0,0,200,32Zm0,176H160V48h40ZM96,32H56A16,16,0,0,0,40,48V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V48A16,16,0,0,0,96,32Zm0,176H56V48H96Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,48V208a16,16,0,0,1-16,16H160a16,16,0,0,1-16-16V48a16,16,0,0,1,16-16h40A16,16,0,0,1,216,48ZM96,32H56A16,16,0,0,0,40,48V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V48A16,16,0,0,0,96,32Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,34H160a14,14,0,0,0-14,14V208a14,14,0,0,0,14,14h40a14,14,0,0,0,14-14V48A14,14,0,0,0,200,34Zm2,174a2,2,0,0,1-2,2H160a2,2,0,0,1-2-2V48a2,2,0,0,1,2-2h40a2,2,0,0,1,2,2ZM96,34H56A14,14,0,0,0,42,48V208a14,14,0,0,0,14,14H96a14,14,0,0,0,14-14V48A14,14,0,0,0,96,34Zm2,174a2,2,0,0,1-2,2H56a2,2,0,0,1-2-2V48a2,2,0,0,1,2-2H96a2,2,0,0,1,2,2Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,32H160a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16h40a16,16,0,0,0,16-16V48A16,16,0,0,0,200,32Zm0,176H160V48h40ZM96,32H56A16,16,0,0,0,40,48V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V48A16,16,0,0,0,96,32Zm0,176H56V48H96Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,36H160a12,12,0,0,0-12,12V208a12,12,0,0,0,12,12h40a12,12,0,0,0,12-12V48A12,12,0,0,0,200,36Zm4,172a4,4,0,0,1-4,4H160a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4h40a4,4,0,0,1,4,4ZM96,36H56A12,12,0,0,0,44,48V208a12,12,0,0,0,12,12H96a12,12,0,0,0,12-12V48A12,12,0,0,0,96,36Zm4,172a4,4,0,0,1-4,4H56a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H96a4,4,0,0,1,4,4Z`}))]]),Ae=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M234.49,111.07,90.41,22.94A20,20,0,0,0,60,39.87V216.13a20,20,0,0,0,30.41,16.93l144.08-88.13a19.82,19.82,0,0,0,0-33.86ZM84,208.85V47.15L216.16,128Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M228.23,134.69,84.15,222.81A8,8,0,0,1,72,216.12V39.88a8,8,0,0,1,12.15-6.69l144.08,88.12A7.82,7.82,0,0,1,228.23,134.69Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M240,128a15.74,15.74,0,0,1-7.6,13.51L88.32,229.65a16,16,0,0,1-16.2.3A15.86,15.86,0,0,1,64,216.13V39.87a15.86,15.86,0,0,1,8.12-13.82,16,16,0,0,1,16.2.3L232.4,114.49A15.74,15.74,0,0,1,240,128Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M231.36,116.19,87.28,28.06a14,14,0,0,0-14.18-.27A13.69,13.69,0,0,0,66,39.87V216.13a13.69,13.69,0,0,0,7.1,12.08,14,14,0,0,0,14.18-.27l144.08-88.13a13.82,13.82,0,0,0,0-23.62Zm-6.26,13.38L81,217.7a2,2,0,0,1-2.06,0,1.78,1.78,0,0,1-1-1.61V39.87a1.78,1.78,0,0,1,1-1.61A2.06,2.06,0,0,1,80,38a2,2,0,0,1,1,.31L225.1,126.43a1.82,1.82,0,0,1,0,3.14Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M230.32,117.9,86.24,29.79a11.91,11.91,0,0,0-12.17-.23A11.71,11.71,0,0,0,68,39.89V216.11a11.71,11.71,0,0,0,6.07,10.33,11.91,11.91,0,0,0,12.17-.23L230.32,138.1a11.82,11.82,0,0,0,0-20.2Zm-4.18,13.37L82.06,219.39a4,4,0,0,1-4.07.07,3.77,3.77,0,0,1-2-3.35V39.89a3.77,3.77,0,0,1,2-3.35,4,4,0,0,1,4.07.07l144.08,88.12a3.8,3.8,0,0,1,0,6.54Z`}))]]),je=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,176H52V52H204Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,48V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H48V48H208V208Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M224,48V208a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32H208A16,16,0,0,1,224,48Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,34H48A14,14,0,0,0,34,48V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V48A14,14,0,0,0,208,34Zm2,174a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V48a2,2,0,0,1,2-2H208a2,2,0,0,1,2,2Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H48V48H208V208Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Z`}))]]),Me=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M249.45,69.31a12,12,0,0,0-12.51,1L212,88.43V72a20,20,0,0,0-20-20H32A20,20,0,0,0,12,72V184a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V167.57l24.94,18.14A12,12,0,0,0,256,176V80A12,12,0,0,0,249.45,69.31ZM188,180H36V76H188Zm44-27.57-20-14.54V118.11l20-14.54Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,72V184a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V72a8,8,0,0,1,8-8H192A8,8,0,0,1,200,72Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM192,184H32V72H192V184Zm48-22.95-32-21.33V116.28L240,95Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M192,72V184a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V72A16,16,0,0,1,32,56H176A16,16,0,0,1,192,72Zm58,.25a8.23,8.23,0,0,0-6.63,1.22L209.78,95.86A4,4,0,0,0,208,99.19v57.62a4,4,0,0,0,1.78,3.33l33.78,22.52a8,8,0,0,0,8.58.19,8.33,8.33,0,0,0,3.86-7.17V80A8,8,0,0,0,250,72.25Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M250.83,74.71a6,6,0,0,0-6.16.3L206,100.79V72a14,14,0,0,0-14-14H32A14,14,0,0,0,18,72V184a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V155.21L244.67,181a6,6,0,0,0,9.33-5V80A6,6,0,0,0,250.83,74.71ZM194,184a2,2,0,0,1-2,2H32a2,2,0,0,1-2-2V72a2,2,0,0,1,2-2H192a2,2,0,0,1,2,2Zm48-19.21-36-24V115.21l36-24Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM192,184H32V72H192V184Zm48-22.95-32-21.33V116.28L240,95Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M249.89,76.47a4,4,0,0,0-4.11.2L204,104.53V72a12,12,0,0,0-12-12H32A12,12,0,0,0,20,72V184a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V151.47l41.78,27.86A4,4,0,0,0,252,176V80A4,4,0,0,0,249.89,76.47ZM196,184a4,4,0,0,1-4,4H32a4,4,0,0,1-4-4V72a4,4,0,0,1,4-4H192a4,4,0,0,1,4,4Zm48-15.47-40-26.67V114.14l40-26.67Z`}))]]),Ne=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Zm-12-80V80a12,12,0,0,1,24,0v52a12,12,0,0,1-24,0Zm28,40a16,16,0,1,1-16-16A16,16,0,0,1,144,172Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm-8,56a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm8,104a12,12,0,1,1,12-12A12,12,0,0,1,128,184Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Zm-6-82V80a6,6,0,0,1,12,0v56a6,6,0,0,1-12,0Zm16,36a10,10,0,1,1-10-10A10,10,0,0,1,138,172Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm-4-84V80a4,4,0,0,1,8,0v56a4,4,0,0,1-8,0Zm12,36a8,8,0,1,1-8-8A8,8,0,0,1,136,172Z`}))]]),Pe=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z`}))]]),Z=_({color:`currentColor`,size:`1em`,weight:`regular`,mirrored:!1}),Q=h.forwardRef((e,t)=>{let{alt:n,color:r,size:i,weight:a,mirrored:o,children:s,weights:c,...l}=e,{color:u=`currentColor`,size:d,weight:f=`regular`,mirrored:p=!1,...m}=h.useContext(Z);return h.createElement(`svg`,{ref:t,xmlns:`http://www.w3.org/2000/svg`,width:i??d,height:i??d,fill:r??u,viewBox:`0 0 256 256`,transform:o||p?`scale(-1, 1)`:void 0,...m,...l},!!n&&h.createElement(`title`,null,n),s,c.get(a??f))});Q.displayName=`IconBase`;const Fe=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:ye}));Fe.displayName=`ArrowClockwiseIcon`;const Ie=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:be}));Ie.displayName=`CameraIcon`;const Le=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:xe}));Le.displayName=`CameraSlashIcon`;const Re=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:Se}));Re.displayName=`CaretLeftIcon`;const ze=Re,Be=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:J}));Be.displayName=`CheckIcon`;const Ve=Be,He=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:Ce}));He.displayName=`CircleIcon`;const Ue=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:Y}));Ue.displayName=`CloudArrowDownIcon`;const We=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:we}));We.displayName=`EyeIcon`;const Ge=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:Te}));Ge.displayName=`EyeSlashIcon`;const Ke=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:Ee}));Ke.displayName=`GearIcon`;const qe=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:De}));qe.displayName=`MicrophoneIcon`;const Je=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:X}));Je.displayName=`MicrophoneSlashIcon`;const Ye=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:Oe}));Ye.displayName=`MonitorIcon`;const Xe=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:ke}));Xe.displayName=`PauseIcon`;const Ze=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:Ae}));Ze.displayName=`PlayIcon`;const Qe=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:je}));Qe.displayName=`SquareIcon`;const $e=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:Me}));$e.displayName=`VideoCameraIcon`;const et=$e,tt=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:Ne}));tt.displayName=`WarningCircleIcon`;const nt=h.forwardRef((e,t)=>h.createElement(Q,{ref:t,...e,weights:Pe}));nt.displayName=`XIcon`;function rt(e){let[t,n]=S(!1),r=x(!1),i=x(!1),a=fe(e),{state:o,actions:s}=a,c=o.recordingState===`recording`,l=o.recordingState===`countdown`,u=o.uploadProgress!==null,d=o.transcodingProgress!==null,f=!(c||l||u||d),p=v(()=>{n(!0)},[]),m=v(()=>{f&&(s.stopPreview(),n(!1),r.current=!1)},[f,s]);return y(()=>{t&&(r.current||o.isInitialized&&(r.current=!0,s.startPreview(`camera`).catch(()=>{})))},[t,o.isInitialized,s]),y(()=>{if(t)return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=``}},[t]),y(()=>{if(!t)return;let e=i.current,a=o.uploadProgress!==null;i.current=a,e&&!a&&!o.error&&(s.stopPreview(),n(!1),r.current=!1)},[t,o.uploadProgress,o.error,s]),{...a,isModalOpen:t,openModal:p,closeModal:m,canCloseModal:f}}function it(e){return e.trim().replace(/\s+/g,` `)}function at(e){let t=0;return e&&(t=1),{text:e,visibleWordCount:t}}function ot(e,t){return e.slice(0,t).join(` `)}function st({className:e,isVisible:t,text:n}){let r=it(n),i=r?r.split(` `):[],[a,o]=S(()=>at(r));if(y(()=>{o(at(r))},[r]),y(()=>{if(!t||a.text!==r||a.visibleWordCount>=i.length)return;let e=window.setTimeout(()=>{o(e=>e.text===r?{...e,visibleWordCount:Math.min(e.visibleWordCount+1,i.length)}:at(r))},273);return()=>window.clearTimeout(e)},[t,r,a,i.length]),!(t&&r))return null;let s=a.visibleWordCount;return a.text!==r&&(s=1),w(`div`,{className:e,children:T(`div`,{className:`vidtreo-mobile-recording-prompt-text`,children:[w(`span`,{className:`vidtreo-visually-hidden`,children:r}),w(`span`,{"aria-hidden":`true`,className:`vidtreo-mobile-recording-prompt-visible-text`,children:ot(i,s)})]})})}function ct({hideLabel:e,isPromptVisible:t,onToggle:n,showLabel:r}){let i=w(Ge,{size:16,weight:`bold`}),a=e;return t||(i=w(We,{size:16,weight:`bold`}),a=r),T(`button`,{"aria-label":a,className:`vidtreo-mobile-prompt-toggle-btn`,onClick:n,type:`button`,children:[i,w(`span`,{children:a})]})}const lt=.7;function ut({audioLevel:e,isMuted:t}){return w(C,{children:Array.from({length:15},(n,r)=>{let i=e>=(r+1)/15*100&&!t,a=`15%`,s=``,c=`1`;if(i){a=`${30+r/15*70}%`;let e=r/15,t=lt+r/15*(1-lt);s=o(e),c=String(t)}let l=`audio-bar-${r}`;return w(`div`,{className:`vidtreo-audio-level-bar`,style:{height:a,backgroundColor:s,opacity:c}},l)})})}function dt(e){switch(e){case`audio.track-ended`:case`audio.track-muted-by-browser`:case`audio.no-chunks`:return`critical`;case`audio.no-signal`:case`audio.low-signal`:case`audio.speaking-while-muted`:return`soft`;default:return`soft`}}function ft(e,t){switch(e){case`audio.no-signal`:return{title:t.audioWarningNoSignalTitle,message:t.audioWarningNoSignalMessage,dismissLabel:t.audioWarningDismiss};case`audio.low-signal`:return{title:t.audioWarningLowSignalTitle,message:t.audioWarningLowSignalMessage,dismissLabel:t.audioWarningDismiss};case`audio.speaking-while-muted`:return{title:t.audioWarningSpeakingMutedTitle,message:t.audioWarningSpeakingMutedMessage,dismissLabel:t.audioWarningDismiss};case`audio.track-ended`:return{title:t.audioWarningTrackEndedTitle,message:t.audioWarningTrackEndedMessage,dismissLabel:t.audioWarningDismiss};case`audio.no-chunks`:return{title:t.audioWarningNoChunksTitle,message:t.audioWarningNoChunksMessage,dismissLabel:t.audioWarningDismiss};case`audio.track-muted-by-browser`:return{title:t.audioWarningTrackMutedTitle,message:t.audioWarningTrackMutedMessage,dismissLabel:t.audioWarningDismiss};default:return{title:``,message:``,dismissLabel:t.audioWarningDismiss}}}function pt({warning:e,translations:t,onDismiss:n}){let[r,i]=S(null);if(y(()=>{i(null)},[e?.code]),y(()=>{if(!e||e.code!==`audio.low-signal`)return;let t=window.setTimeout(()=>{i(`audio.low-signal`),n&&n()},6e3);return()=>{window.clearTimeout(t)}},[e,n]),!e||r===e.code)return null;let a=dt(e.code),o=ft(e.code,t),s=a===`critical`||e.code===`audio.no-signal`,c=()=>{i(e.code),n&&n()},l=a===`critical`?Je:tt;return T(`output`,{"aria-live":`polite`,className:`vidtreo-audio-warning-toast vidtreo-audio-warning-toast--${a}`,children:[w(`span`,{className:`vidtreo-audio-warning-toast__icon`,children:w(l,{height:20,weight:`fill`,width:20})}),T(`span`,{className:`vidtreo-audio-warning-toast__content`,children:[w(`span`,{className:`vidtreo-audio-warning-toast__title`,children:o.title}),w(`span`,{className:`vidtreo-audio-warning-toast__message`,children:o.message})]}),s&&w(`button`,{"aria-label":o.dismissLabel,className:`vidtreo-audio-warning-toast__dismiss`,onClick:e=>{e.preventDefault(),e.stopPropagation(),c()},type:`button`,children:w(nt,{height:14,weight:`bold`,width:14})})]})}function mt({variant:e}){switch(e){case`audio`:return w(Je,{height:28,weight:`fill`,width:28});case`camera`:return w(Le,{height:28,weight:`fill`,width:28});default:return w(tt,{height:28,weight:`fill`,width:28})}}function ht({visible:e,variant:t,title:n,message:r,retryLabel:i,onRetry:a}){return e?T(`div`,{className:`vidtreo-audio-error-overlay`,children:[w(`div`,{className:`vidtreo-audio-error-icon`,children:w(mt,{variant:t})}),w(`h3`,{className:`vidtreo-audio-error-title`,children:n}),w(`p`,{className:`vidtreo-audio-error-message`,children:r}),a&&i&&T(`button`,{className:`vidtreo-audio-error-retry`,onClick:e=>{e.preventDefault(),e.stopPropagation(),a()},type:`button`,children:[w(Fe,{height:16,weight:`bold`,width:16}),i]})]}):null}function gt({error:e,lang:t,texts:n}){let r=P(t,n),i=e?.message.includes(`apiKey is required`);return w(`div`,{className:`vidtreo-preview-container`,children:w(`div`,{className:`vidtreo-error-overlay`,children:T(`div`,{className:`vidtreo-error-content`,children:[w(`div`,{className:`vidtreo-error-icon`,children:w(tt,{color:`currentColor`,height:48,weight:`fill`,width:48})}),w(`div`,{className:`vidtreo-error-title`,children:r.errorTitle}),!i&&w(`div`,{className:`vidtreo-error-message`,children:e?.message||r.errorGeneric}),i&&T(`div`,{className:`vidtreo-error-config`,children:[w(`div`,{className:`vidtreo-error-config-title`,children:`Configuration Options:`}),T(`div`,{className:`vidtreo-error-config-item`,children:[w(`code`,{children:`apiKey`}),` prop: Pass the API key as a prop to the component`]}),T(`div`,{className:`vidtreo-error-config-item`,children:[w(`code`,{children:`VIDTREO_API_KEY`}),` environment variable: Set this in your environment`]})]})]})})})}var _t=class extends g{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError?this.props.fallback?this.props.fallback(this.state.error):w(`div`,{className:`vidtreo-preview-error`,children:T(`div`,{className:`vidtreo-error-content`,children:[w(`div`,{className:`vidtreo-error-icon`,children:w(tt,{color:`currentColor`,height:48,weight:`fill`,width:48})}),w(`div`,{className:`vidtreo-error-title`,children:`Preview Error`}),w(`div`,{className:`vidtreo-error-message`,children:this.state.error?.message||`An error occurred while loading the preview`}),w(`button`,{className:`vidtreo-error-retry`,onClick:()=>this.setState({hasError:!1,error:null}),type:`button`,children:`Retry`})]})}):this.props.children}},vt=class extends g{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError?this.props.fallback?this.props.fallback(this.state.error):w(gt,{error:this.state.error,lang:this.props.lang,texts:this.props.texts}):this.props.children}};function yt(e){let{uploadProgress:t}=e;if(t===null)return null;let n=bt(e),r=Math.round(t*100);return w(`div`,{className:`vidtreo-progress-overlay`,children:T(`div`,{className:`vidtreo-upload-progress vidtreo-active`,id:`uploadProgress`,children:[w(`div`,{className:`vidtreo-progress-bar`,children:w(`div`,{className:`vidtreo-progress-fill`,id:`uploadProgressFill`,style:{width:`${r}%`}})}),T(`div`,{className:`vidtreo-progress-text`,id:`uploadProgressText`,children:[n,` `,r,`%`]})]})})}function bt(e){return e.uploadRetryAttempt!==null&&e.uploadRetryAttempt!==void 0&&e.uploadRetryAttempt>1&&e.retryingUploadLabel?e.retryingUploadLabel:e.uploadingLabel}function xt(e){let{transitionMessage:t}=e;return t?T(`div`,{className:`vidtreo-source-transition-overlay vidtreo-active`,id:`sourceTransitionOverlay`,children:[w(`div`,{className:`vidtreo-transition-spinner`}),w(`div`,{className:`vidtreo-transition-message`,children:t})]}):null}function St(e){e.style.position=`fixed`,e.style.top=`0`,e.style.left=`0`,e.style.width=`100vw`,e.style.height=`100vh`,e.style.height=`100dvh`,e.style.zIndex=`9999`,e.style.pointerEvents=`none`}function Ct(e){e.style.pointerEvents=`auto`}function wt(e){e.style.pointerEvents=`none`}function Tt({children:e,containerId:t=`vidtreo-portal-root`}){let[n,r]=S(null);return y(()=>{let e=document.getElementById(t),n=!1;return e||(e=document.createElement(`div`),e.id=t,St(e),document.body.appendChild(e),n=!0),Ct(e),r(e),()=>{e&&wt(e),n&&e&&e.childNodes.length===0&&e.remove()}},[t]),n?E(e,n):null}function Et(e,t){return{className:e?`vidtreo-record-button vidtreo-stop-button-locked`:`vidtreo-record-button`,title:e?t:``}}function Dt({buttonVisibility:e,recordingState:t,isMuted:n,isAudioReady:r,isProcessingRecording:i,currentSourceType:a,onToggleSettings:o,onStartRecording:s,onStopRecording:c,onToggleMute:l,onPause:u,onResume:d,onSwitchSource:f,onDownload:p,isStopLocked:m,stopLockedTooltip:h,translations:g={settings:`Settings`,record:`Record`,stop:`Stop`,minimumRecordingTimeNotReached:`You have not met the minimum recording time yet`,pause:`Pause`,resume:`Resume`,mute:`Mute`,unmute:`Unmute`,switchSource:`Switch Source`,download:`Download`,microphoneConnecting:`Connecting microphone...`}}){let _=Et(m,h),v=()=>{m||c()},y=t===`idle`&&!i;return w(`div`,{className:`vidtreo-recording-controls`,children:w(`div`,{className:`vidtreo-recording-controls-row`,children:T(`div`,{className:`vidtreo-control-buttons-row`,children:[e.showSettingsButton&&w(`button`,{className:`vidtreo-control-button`,id:`settingsButton`,onClick:o,title:g.settings,type:`button`,children:w(Ke,{height:20,weight:`fill`,width:20})}),y&&T(`button`,{className:[`vidtreo-record-button`,!r&&`vidtreo-record-button-disabled`].filter(Boolean).join(` `),disabled:!r,id:`startButton`,onClick:r?s:void 0,title:r?``:g.microphoneConnecting,type:`button`,children:[!r&&w(`span`,{className:`vidtreo-mic-connecting-indicator`,style:{marginRight:`0.375rem`},children:w(qe,{height:16,weight:`fill`,width:16})}),r&&w(He,{fill:`currentColor`,height:24,style:{marginRight:`0.375rem`},weight:`fill`,width:24}),r?g.record:g.microphoneConnecting]}),e.showMuteButton&&w(`button`,{className:`vidtreo-control-button ${n?`vidtreo-muted`:``}`,id:`muteButton`,onClick:l,title:n?g.unmute:g.mute,type:`button`,children:w(n?Je:qe,{height:24,weight:`fill`,width:24})}),e.showPauseButton&&w(`button`,{className:`vidtreo-control-button`,id:`pauseButton`,onClick:u,title:g.pause,type:`button`,children:w(Xe,{height:24,weight:`fill`,width:24})}),e.showResumeButton&&w(`button`,{className:`vidtreo-control-button`,id:`resumeButton`,onClick:d,title:g.resume,type:`button`,children:w(Ze,{height:24,weight:`fill`,width:24})}),e.showStopButton&&T(`button`,{"aria-disabled":m,className:_.className,disabled:m,id:`stopButton`,onClick:v,title:_.title,type:`button`,children:[w(Qe,{fill:`currentColor`,height:24,style:{marginRight:`0.375rem`},weight:`fill`,width:24}),g.stop]}),e.showDownloadButton&&p&&w(`button`,{className:`vidtreo-control-button`,id:`downloadButton`,onClick:p,title:g.download,type:`button`,children:w(Ue,{height:24,weight:`fill`,width:24})}),e.showSwitchSourceButton&&w(`button`,{className:`vidtreo-control-button`,id:`switchSourceButton`,onClick:f,title:g.switchSource,type:`button`,children:w(a===`camera`?Ye:Ie,{height:24,weight:`fill`,width:24})})]})})})}function Ot({devices:e,onCameraChange:t,onMicChange:n,translations:r={settings:`Settings`,camera:`Camera`,microphone:`Microphone`}}){let[i,a]=S(`main`),[o,s]=S(`none`),c=e=>{s(`right`),a(e)},l=()=>{s(`left`),a(`main`)};y(()=>{if(o!==`none`){let e=setTimeout(()=>{s(`none`)},300);return()=>{clearTimeout(e)}}},[o]);let u=e.cameras.filter(e=>e.deviceId&&e.deviceId.trim()!==``),d=e.microphones.filter(e=>e.deviceId&&e.deviceId.trim()!==``),f=u.find(t=>t.deviceId===e.selectedCamera)?.label||u[0]?.label||r.camera,p=d.find(t=>t.deviceId===e.selectedMic)?.label||d[0]?.label||r.microphone,m=(e,r)=>{r===`camera`?t(e):n(e),l()};return i===`camera`?w(`div`,{className:`vidtreo-settings-panel vidtreo-active`,id:`settingsPanel`,children:T(`div`,{className:`vidtreo-settings-content vidtreo-slide-${o}`,children:[T(`button`,{className:`vidtreo-settings-header`,onClick:l,type:`button`,children:[w(ze,{className:`vidtreo-settings-back-icon`,height:20,weight:`regular`,width:20}),w(`h3`,{className:`vidtreo-settings-title`,children:r.camera})]}),w(`div`,{className:`vidtreo-device-list`,children:u.length===0?w(`div`,{className:`vidtreo-device-empty`,children:`No hay cámaras disponibles`}):u.map(t=>T(`button`,{className:`vidtreo-device-option`,onClick:()=>{m(t.deviceId,`camera`)},type:`button`,children:[w(`div`,{className:`vidtreo-device-option-check-container`,children:t.deviceId===e.selectedCamera?w(Ve,{className:`vidtreo-device-checkmark`,height:20,weight:`regular`,width:20}):w(`span`,{className:`vidtreo-device-checkmark-placeholder`})}),w(`span`,{className:`vidtreo-device-option-label`,children:t.label||`Camera ${t.deviceId.slice(0,8)}`})]},t.deviceId))})]})}):i===`microphone`?w(`div`,{className:`vidtreo-settings-panel vidtreo-active`,id:`settingsPanel`,children:T(`div`,{className:`vidtreo-settings-content vidtreo-slide-${o}`,children:[T(`button`,{className:`vidtreo-settings-header`,onClick:l,type:`button`,children:[w(ze,{className:`vidtreo-settings-back-icon`,height:20,weight:`regular`,width:20}),w(`h3`,{className:`vidtreo-settings-title`,children:r.microphone})]}),w(`div`,{className:`vidtreo-device-list`,children:d.length===0?w(`div`,{className:`vidtreo-device-empty`,children:`No hay micrófonos disponibles`}):d.map(t=>T(`button`,{className:`vidtreo-device-option`,onClick:()=>{m(t.deviceId,`microphone`)},type:`button`,children:[w(`div`,{className:`vidtreo-device-option-check-container`,children:t.deviceId===e.selectedMic?w(Ve,{className:`vidtreo-device-checkmark`,height:20,weight:`regular`,width:20}):w(`span`,{className:`vidtreo-device-checkmark-placeholder`})}),w(`span`,{className:`vidtreo-device-option-label`,children:t.label||`Microphone ${t.deviceId.slice(0,8)}`})]},t.deviceId))})]})}):w(`div`,{className:`vidtreo-settings-panel vidtreo-active`,id:`settingsPanel`,children:w(`div`,{className:`vidtreo-settings-content vidtreo-slide-${o}`,children:T(`div`,{className:`vidtreo-device-options-container`,children:[T(`button`,{className:`vidtreo-device-option-nav`,onClick:()=>{c(`camera`)},type:`button`,children:[T(`div`,{className:`vidtreo-device-option-nav-content`,children:[w($e,{height:20,weight:`fill`,width:20}),w(`span`,{className:`vidtreo-device-option-nav-label`,children:r.camera})]}),T(`div`,{className:`vidtreo-device-option-nav-value`,children:[w(`span`,{className:`vidtreo-device-option-nav-value-text`,children:f}),w(`span`,{className:`vidtreo-device-option-nav-chevron`,children:`›`})]})]}),T(`button`,{className:`vidtreo-device-option-nav`,onClick:()=>{c(`microphone`)},type:`button`,children:[T(`div`,{className:`vidtreo-device-option-nav-content`,children:[w(qe,{height:20,weight:`fill`,width:20}),w(`span`,{className:`vidtreo-device-option-nav-label`,children:r.microphone})]}),T(`div`,{className:`vidtreo-device-option-nav-value`,children:[w(`span`,{className:`vidtreo-device-option-nav-value-text`,children:p}),w(`span`,{className:`vidtreo-device-option-nav-chevron`,children:`›`})]})]})]})})})}function kt(e){e.pause(),e.srcObject=null}function At(e,t){let n=e.getVideoTracks();return n.length===0||n[0].readyState!==`live`||!e.active?(kt(t),!1):!0}function jt(e){let t=e instanceof Error?e.message:String(e);return t.includes(`interrupted`)||t.includes(`abort`)}async function Mt(e){if(!(e.readyState>=2&&!e.paused)){await new Promise(e=>{setTimeout(()=>e(),200)});try{await e.play()}catch{}}}async function Nt(e){try{await e.play()}catch(t){jt(t)&&await Mt(e)}}async function Pt(e,t,n,r){e.srcObject&&e.srcObject!==t&&e.pause(),e.srcObject=null,n===`screen`?e.classList.add(`vidtreo-screen-share`):e.classList.remove(`vidtreo-screen-share`),await new Promise(e=>{setTimeout(()=>e(),100)}),e.srcObject=t;let i=t.getVideoTracks();i.length>0&&!i[0].enabled&&(i[0].enabled=!0),await Nt(e),r.current=!1}function Ft(e,t,n){if(!t||!At(t,e))return!1;let r=t.getVideoTracks()[0];return r.enabled||=!0,e.pause(),e.srcObject=t,n&&n(!1),e.play().catch(()=>{}),!0}function It(e){let{videoElement:t,currentStream:n,currentSourceType:r,isUpdatingRef:i,setStreamId:a,setSourceType:o,onLoadedChange:s}=e;i.current=!0,a(n.id),o(r),s&&s(!1),Pt(t,n,r,i).then(()=>{t.readyState>=2&&!t.paused&&s&&s(!0)}).catch(()=>{i.current=!1})}function Lt(e,t,n){let r=0,i=setInterval(()=>{r+=1,(Ft(e,t,n)||r>=10)&&clearInterval(i)},100);return()=>{clearInterval(i)}}function Rt({controller:e,stream:t,transitionMessage:n,className:r=``,onLoadedChange:i}){let a=x(null),[o,s]=S(null),[c,l]=S(`camera`),u=x(!1);return y(()=>{let n=a.current;if(!n)return;if(!e){n.pause(),n.srcObject=null,i&&i(!1);return}let r=t||e.getStream(),d=e.getCurrentSourceType();if((r?.id!==o||d!==c)&&r&&!u.current){It({videoElement:n,currentStream:r,currentSourceType:d,isUpdatingRef:u,setStreamId:s,setSourceType:l,onLoadedChange:i});return}let f=t||e.getStream();if(!Ft(n,f,i))return Lt(n,f,i)},[e,t,o,c,i]),y(()=>{let r=a.current;if(!(r&&e)||n)return;let i=t||e.getStream();i&&r.srcObject===i&&r.paused&&r.readyState>=2&&r.play().catch(()=>{})},[e,t,n]),y(()=>{let e=a.current;if(!e)return;let t=()=>{e.readyState>=2&&!e.paused&&i&&i(!0)},n=()=>{e.readyState>=2&&i&&i(!0)},r=()=>{i&&i(!1)};return e.addEventListener(`loadedmetadata`,t),e.addEventListener(`playing`,n),e.addEventListener(`loadstart`,r),()=>{e.removeEventListener(`loadedmetadata`,t),e.removeEventListener(`playing`,n),e.removeEventListener(`loadstart`,r)}},[i]),w(`video`,{autoPlay:!0,className:r,muted:!0,playsInline:!0,ref:a})}function zt({className:e=``}){return w(`div`,{className:`vidtreo-video-preview-skeleton ${e}`,children:w(`div`,{className:`vidtreo-skeleton-shimmer`})})}function Bt(e){return e.transcodingProgress===null?e.uploadProgress===null?null:{label:bt(e),progress:e.uploadProgress}:{label:e.finishingLabel,progress:e.transcodingProgress}}function Vt(e){return!!e.isDemo&&!e.isRecording&&!e.isProcessingRecording&&e.recordingState===`idle`&&e.recordedBlob!==null}function Ht(e){return Ut(e.prompt)?e.recordingState===`countdown`?e.prompt?.countdown?.show!==!1:e.isRecording:!1}function Ut(e){return e&&it(e.text)||null}function Wt(e){return e.isRecording?Ut(e.prompt)!==null:!1}function Gt(e,t){return t===`countdown`&&e.countdown?.placement===`above-countdown`?`vidtreo-mobile-recording-prompt vidtreo-mobile-recording-prompt--above-countdown`:`vidtreo-mobile-recording-prompt`}function Kt({onOpenCamera:e,translations:t,disabled:n}){return w(`div`,{className:`vidtreo-mobile-landing-container`,children:T(`div`,{className:`vidtreo-mobile-landing-content`,children:[w(`h2`,{className:`vidtreo-mobile-landing-title`,children:t.mobileOpenCameraTitle}),w(`p`,{className:`vidtreo-mobile-landing-description`,children:t.mobileOpenCameraDescription}),T(`button`,{className:`vidtreo-btn vidtreo-btn-primary vidtreo-mobile-open-camera-btn`,disabled:n,onClick:e,type:`button`,children:[w(Ie,{size:24,weight:`fill`}),t.mobileOpenCamera]})]})})}function qt({children:e,onClose:t,canClose:n,translations:r}){return y(()=>{function e(e){e.key===`Escape`&&n&&t()}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[n,t]),w(Tt,{children:T(`div`,{"aria-label":r.mobileOpenCameraTitle,"aria-modal":`true`,className:`vidtreo-mobile-modal-overlay`,role:`dialog`,children:[w(`div`,{className:`vidtreo-mobile-modal-header`,children:T(`button`,{className:`vidtreo-mobile-modal-close-btn`,disabled:!n,onClick:t,type:`button`,children:[w(nt,{size:16,weight:`bold`}),r.mobileCloseCamera]})}),w(`div`,{className:`vidtreo-mobile-modal-content`,children:e})]})})}function Jt(e,t){return ve(p({errorCode:e.errorCode,hasAudioFailed:e.hasAudioFailed,error:e.error}),t,e.error,e.errorCode)}function Yt(e){return(e.isErrorVisible||e.isRetrying)&&!e.isRecording&&!e.isProcessingRecording}function Xt(e,t,n,r){let i=Ut(e);return t&&e&&i?w(st,{className:Gt(e,r),isVisible:n,text:i}):null}function Zt(e,t){return e.promptText===t?e.isVisible:!0}function Qt({config:e,state:t,actions:n,audioLevel:r,controller:i,translations:a}){let[o,s]=S(!1),[c,l]=S(!1),[u,d]=S(!1),[f,p]=S(()=>({isVisible:!0,promptText:Ut(e.recordingPrompt)})),m=t.recordingState===`recording`||t.isPaused,h=t.uploadProgress!==null||t.transcodingProgress!==null,g=oe(e.minTimeRecord,t.timer,m),_=i?.getCurrentSourceType()||`camera`,v=Bt({finishingLabel:a.finishing,retryingUploadLabel:a.retryingUpload,transcodingProgress:t.transcodingProgress,uploadingLabel:a.uploading,uploadProgress:t.uploadProgress,uploadRetryAttempt:t.uploadRetryAttempt}),b=Vt({isDemo:e.demo,isRecording:m,isProcessingRecording:h,recordedBlob:t.recordedBlob,recordingState:t.recordingState}),x={...B(m,t.recordingState,t.isPaused,{...e,isMobile:!0}),showDownloadButton:b};y(()=>{t.recordingState===`recording`&&o&&s(!1)},[t.recordingState,o]);let E=Ut(e.recordingPrompt),D=Zt(f,E),O=()=>{n.startRecording(`camera`).catch(e=>{})},k=()=>{g||n.stopRecording().catch(e=>{})},A=()=>{e.enableDeviceChange!==!1&&s(!o)},j=e=>{n.changeCamera(e).catch(e=>{})},M=e=>{n.changeMic(e).catch(e=>{})},N=()=>{let e=i?.getCurrentSourceType()||`camera`;n.switchSource(e===`camera`?`screen`:`camera`).catch(e=>{})},P=a,F=Jt(t,P),ee=Yt({isErrorVisible:F.visible,isProcessingRecording:h,isRecording:m,isRetrying:u}),te=Ht({prompt:e.recordingPrompt,recordingState:t.recordingState,isRecording:m}),ne=Xt(e.recordingPrompt,te,D,t.recordingState),re=Wt({isRecording:m,prompt:e.recordingPrompt});return T(`div`,{className:`vidtreo-mobile-recorder-content`,children:[w(_t,{children:T(`div`,{className:`vidtreo-preview-container vidtreo-mobile-preview`,children:[!(t.stream||F.visible)&&w(`div`,{className:`vidtreo-start-camera-area`,id:`startCameraArea`,children:w(`span`,{className:`vidtreo-permission-flow-spinner vidtreo-permission-flow-spinner--large`})}),t.transitionMessage&&T(`div`,{className:`vidtreo-preview-skeleton`,id:`previewSkeleton`,children:[w(`div`,{className:`vidtreo-skeleton-spinner`}),w(`div`,{className:`vidtreo-skeleton-text`,children:P.switchingDevice})]}),t.stream&&!(c||t.transitionMessage)&&w(zt,{}),t.stream&&w(Rt,{className:`vidtreo-video-preview`,controller:i,onLoadedChange:l,stream:t.stream,transitionMessage:t.transitionMessage}),t.recordingState===`countdown`&&t.countdown!==null&&w(`div`,{className:`vidtreo-countdown-overlay vidtreo-active`,id:`countdownOverlay`,children:T(`div`,{className:`vidtreo-countdown-content`,children:[w(`div`,{className:`vidtreo-countdown-number`,id:`countdownNumber`,children:t.countdown}),w(`p`,{className:`vidtreo-countdown-text`,children:P.recordingStartsIn})]})}),ne,m&&T(C,{children:[re?w(ct,{hideLabel:P.mobileHideRecordingPrompt,isPromptVisible:D,onToggle:()=>{p({isVisible:!D,promptText:E})},showLabel:P.mobileShowRecordingPrompt}):T(`div`,{className:`vidtreo-rec-indicator-top`,id:`recIndicatorTop`,children:[w(`div`,{className:`vidtreo-recording-dot-small`}),w(`span`,{children:P.rec})]}),T(`div`,{className:`vidtreo-recording-timer-badge`,id:`recordingTimerRow`,children:[w(`div`,{className:`vidtreo-recording-dot-small`}),w(`span`,{className:`vidtreo-recording-timer-text`,id:`recordingTimer`,children:t.timer||`00:00`})]}),w(`div`,{className:`vidtreo-audio-level-bars`,id:`audioLevelBars`,children:w(ut,{audioLevel:r,isMuted:t.isMuted})})]}),t.stream&&w(Dt,{buttonVisibility:x,currentSourceType:_,isAudioReady:t.isAudioReady,isMuted:t.isMuted,isProcessingRecording:h,isStopLocked:g,onDownload:n.downloadVideo,onPause:n.pauseRecording,onResume:n.resumeRecording,onStartRecording:O,onStopRecording:k,onSwitchSource:N,onToggleMute:n.toggleMute,onToggleSettings:A,recordingState:t.recordingState,stopLockedTooltip:P.minimumRecordingTimeNotReached,translations:{settings:P.settings,record:P.record,stop:P.stop,minimumRecordingTimeNotReached:P.minimumRecordingTimeNotReached,pause:P.pause,resume:P.resume,mute:P.mute,unmute:P.unmute,switchSource:P.switchSource,download:P.download,microphoneConnecting:P.microphoneConnecting}}),w(ht,{message:F.message,onRetry:F.canRetry?async()=>{d(!0),n.stopPreview(),await n.startPreview(`camera`).catch(e=>{}).finally(()=>{d(!1)})}:void 0,retryLabel:F.retryLabel,title:F.title,variant:F.variant,visible:ee}),m&&w(pt,{translations:a,warning:t.audioWarning}),yt({uploadProgress:v?.progress??null,uploadingLabel:v?.label??P.uploading})]})}),t.transitionMessage&&T(`div`,{className:`vidtreo-source-transition-overlay vidtreo-active`,id:`sourceTransitionOverlay`,children:[w(`div`,{className:`vidtreo-transition-spinner`}),w(`div`,{className:`vidtreo-transition-message`,children:t.transitionMessage})]}),t.stream&&o&&w(Ot,{devices:t.devices,onCameraChange:j,onMicChange:M,translations:{settings:P.settings,camera:P.camera,microphone:P.microphone}})]})}function $t({config:e}){let t=P(e.lang===void 0?`en`:e.lang,e.texts===void 0?{}:e.texts),{state:n,actions:r,audioLevel:i,controller:a,isModalOpen:o,openModal:s,closeModal:c,canCloseModal:l}=rt(e),u=n.errorCode===`browser.unsupported`,d=!0;return(n.isInitialized||u)&&(d=!1),T(`div`,{className:`vidtreo-mobile-web-recorder`,children:[!o&&w(Kt,{disabled:d,onOpenCamera:s,translations:{mobileOpenCamera:t.mobileOpenCamera,mobileOpenCameraTitle:t.mobileOpenCameraTitle,mobileOpenCameraDescription:t.mobileOpenCameraDescription}}),o&&w(qt,{canClose:l,onClose:c,translations:{mobileCloseCamera:t.mobileCloseCamera,mobileOpenCameraTitle:t.mobileOpenCameraTitle},children:w(Qt,{actions:r,audioLevel:i,config:e,controller:a,state:n,translations:t})})]})}function en(r){let[i,o]=S(null),[s,c]=S(null),[u,d]=S(null),[f,p]=S(!1),[h,g]=S(!0),[_,b]=S(null),[C,w]=S(null),T=x(null),E=x(r);E.current=r,y(()=>{let t=r.backendUrl||j,i=null;r.apiKey&&!r.demo&&(i=e.getInstance({apiKey:r.apiKey,backendUrl:t}));let o=new a;return T.current=new n({apiKey:r.apiKey,backendUrl:t,maxRecordingTime:r.maxRecordingTime,maxFileSize:r.maxFileSize,userMetadata:r.userMetadata},i,o),r.apiKey&&!r.demo?(g(!0),T.current.preloadConfig().then(()=>g(!1)).catch(()=>{g(!1),b(`Failed to load settings`)})):g(!1),()=>{T.current=null}},[r.apiKey,r.backendUrl,r.demo,r.maxRecordingTime,r.maxFileSize,r.userMetadata]);let D=v(async e=>{if(b(null),!T.current)throw Error(`Handler not initialized`);try{let t=await T.current.handleFileSelection(e);return o(t),t}catch(e){let t=l(e),n=e instanceof Error?e:Error(t);throw b(t),E.current.onError?.(n),n}},[]),O=v(async e=>{let n=e||i;if(!(n&&T.current))return;let r=E.current.demo;try{if(p(!0),c(0),b(null),r)w((await m(n.file,t,e=>{c(e),E.current.onTranscodingProgress?.(e)})).blob),p(!1),c(null);else{let e=await T.current.processAndUpload(e=>{c(e),E.current.onTranscodingProgress?.(e)},e=>{d(e),E.current.onUploadProgress?.(e)});o(null),c(null),d(null),p(!1),E.current.onUploadComplete?.({recordingId:e.recordingId||``,uploadUrl:e.uploadUrl||``})}}catch(e){let t=l(e),n=e instanceof Error?e:Error(t);b(t),p(!1),c(null),d(null),w(null),E.current.onError?.(n),r||E.current.onUploadError?.(n)}},[i]),k=v(()=>{if(!C)return;let e=URL.createObjectURL(C),t=document.createElement(`a`);t.href=e,t.download=`recording-${Date.now()}.mp4`,document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(e)},[C]),A=v(()=>{o(null),c(null),d(null),b(null),p(!1),w(null)},[]);return{state:{file:i,transcodingProgress:s,uploadProgress:u,isTranscoding:f,isConfigLoading:h,error:_,transcodedBlob:C},actions:{handleFileSelect:D,processAndUpload:O,downloadVideo:k,reset:A}}}function tn({progress:e}){let t=Math.round(e*100);return T(`div`,{className:`vidtreo-transcoding-progress`,children:[w(`div`,{className:`vidtreo-progress-bar`,children:w(`div`,{className:`vidtreo-progress-fill`,style:{width:`${t}%`}})}),T(`div`,{className:`vidtreo-progress-text`,children:[`Processing video... `,t,`%`]})]})}function nn({progress:e,visible:t}){if(!t||e===null)return null;let n=Math.round(e*100);return T(`div`,{className:`vidtreo-upload-progress`,children:[w(`div`,{className:`vidtreo-upload-progress-bar`,children:w(`div`,{className:`vidtreo-upload-progress-fill`,style:{width:`${n}%`}})}),T(`div`,{className:`vidtreo-upload-progress-text`,children:[`Uploading... `,n,`%`]})]})}function rn({config:e}){let{state:t,actions:n}=en(e),r=x(null),i=P(e.lang===void 0?`en`:e.lang,e.texts===void 0?{}:e.texts),a=()=>{r.current&&(r.current.accept=`video/*`,r.current.removeAttribute(`capture`),r.current.click())},o=()=>{r.current&&(r.current.accept=`video/*`,r.current.setAttribute(`capture`,`environment`),r.current.click())},s=async e=>{let t=e.target.files?.[0];if(t){let e=await n.handleFileSelect(t);await n.processAndUpload(e)}e.target.value=``},c=t.file!==null,l=!(c||t.isTranscoding)&&t.uploadProgress===null&&!t.transcodedBlob,u=e.demo&&t.transcodedBlob&&!t.isTranscoding&&t.uploadProgress===null;return T(`div`,{className:`vidtreo-native-camera-container`,children:[w(`input`,{onChange:s,ref:r,style:{display:`none`},type:`file`}),t.isConfigLoading&&w(`div`,{className:`vidtreo-config-loading-indicator`,children:w(`div`,{className:`vidtreo-spinner-small`})}),c&&t.file!==null&&T(`div`,{className:`vidtreo-native-camera-preview-container`,children:[w(`img`,{alt:`Video preview`,className:`vidtreo-native-camera-preview-image`,height:480,src:t.file.previewUrl,width:640}),t.isTranscoding&&t.transcodingProgress!==null&&w(`div`,{className:`vidtreo-progress-overlay`,children:w(tn,{progress:t.transcodingProgress})}),t.uploadProgress!==null&&w(`div`,{className:`vidtreo-progress-overlay`,children:w(nn,{progress:t.uploadProgress,visible:!0})}),u&&w(`div`,{className:`vidtreo-native-camera-download-button`,children:w(`button`,{className:`vidtreo-btn vidtreo-btn-primary`,onClick:n.downloadVideo,type:`button`,children:i.download})})]}),l&&w(`div`,{className:`vidtreo-native-camera-empty-state`,children:T(`div`,{className:`vidtreo-native-camera-buttons`,children:[w(`button`,{className:`vidtreo-btn vidtreo-btn-primary`,disabled:t.isConfigLoading,onClick:a,type:`button`,children:`Select Video from Gallery`}),w(`button`,{className:`vidtreo-btn vidtreo-btn-secondary`,disabled:t.isConfigLoading,onClick:o,type:`button`,children:`Record with Camera`})]})}),w(ht,{message:t.error||i.genericErrorMessage,onRetry:n.reset,retryLabel:i.errorRetry,title:i.genericErrorTitle,variant:`generic`,visible:t.error!==null})]})}const an=`vidtreo.com`;function on(){if(globalThis.window===void 0)return an;let e=globalThis.window.location.hostname||an;return e.length>20?`${e.slice(0,20)}...`:e}function sn(){return w(`svg`,{"aria-hidden":`true`,className:`vidtreo-recovery-guide-lock-svg`,fill:`currentColor`,height:10,viewBox:`0 0 256 256`,width:10,children:w(`path`,{d:`M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96Z`})})}function cn(){return w(`svg`,{"aria-hidden":`true`,className:`vidtreo-recovery-guide-cursor-svg`,height:22,viewBox:`0 0 28 28`,width:22,children:w(`path`,{d:`M5 2l1.5 20.5 4.5-6 3.5 7 2.5-1.2-3.5-7H20L5 2z`,fill:`#000`,stroke:`#fff`,strokeLinejoin:`round`,strokeWidth:1.6})})}function ln(){return T(`svg`,{"aria-hidden":`true`,fill:`none`,height:14,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:16,viewBox:`0 0 256 256`,width:14,children:[w(`path`,{d:`M200,72H32A8,8,0,0,0,24,80v96a8,8,0,0,0,8,8H200a8,8,0,0,0,8-8V80A8,8,0,0,0,200,72Z`}),w(`polyline`,{points:`208 156 248 180 248 76 208 100`}),w(`line`,{x1:`34`,x2:`222`,y1:`232`,y2:`24`})]})}function un(){return w(`svg`,{"aria-hidden":`true`,fill:`currentColor`,height:14,viewBox:`0 0 256 256`,width:14,children:w(`path`,{d:`M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V159l35.56,23.71A8,8,0,0,0,256,176V80A8,8,0,0,0,251.77,73Z`})})}function dn(){return T(`svg`,{"aria-hidden":`true`,fill:`none`,height:14,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:16,viewBox:`0 0 256 256`,width:14,children:[w(`path`,{d:`M176,128a48,48,0,0,1-48,48`}),w(`path`,{d:`M96,163.4A48,48,0,0,1,80,128V64a48,48,0,0,1,90.64-21.47`}),w(`path`,{d:`M200,128a79.74,79.74,0,0,1-9.18,37.42`}),w(`path`,{d:`M56,128a79.6,79.6,0,0,0,21.44,54.46`}),w(`line`,{x1:`128`,x2:`128`,y1:`208`,y2:`240`}),w(`line`,{x1:`96`,x2:`160`,y1:`240`,y2:`240`}),w(`line`,{x1:`34`,x2:`222`,y1:`232`,y2:`24`})]})}function fn(){return w(`svg`,{"aria-hidden":`true`,fill:`currentColor`,height:14,viewBox:`0 0 256 256`,width:14,children:w(`path`,{d:`M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V232a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z`})})}function pn(e){let t=`vidtreo-recovery-guide-switch-track`,n=`vidtreo-recovery-guide-switch-knob`;return e&&(t+=` vidtreo-recovery-guide-switch--delayed`,n+=` vidtreo-recovery-guide-switch--delayed`),T(`div`,{className:`vidtreo-recovery-guide-switch`,children:[w(`div`,{className:t}),w(`div`,{className:n})]})}function mn(e,t,n,r){let i=`vidtreo-recovery-guide-icon-off`,a=`vidtreo-recovery-guide-icon-on`;return r&&(i+=` vidtreo-recovery-guide-switch--delayed`,a+=` vidtreo-recovery-guide-switch--delayed`),T(`div`,{className:`vidtreo-recovery-guide-perm-row`,children:[T(`div`,{className:`vidtreo-recovery-guide-perm-group`,children:[T(`div`,{className:`vidtreo-recovery-guide-perm-icon`,children:[w(`span`,{className:i,children:e}),w(`span`,{className:a,children:t})]}),w(`div`,{className:`vidtreo-recovery-guide-perm-label`,children:n})]}),pn(r)]})}function hn(e){let t=on();return T(`div`,{className:`vidtreo-recovery-guide`,children:[T(`div`,{className:`vidtreo-recovery-guide-browser`,children:[T(`div`,{className:`vidtreo-recovery-guide-titlebar`,children:[T(`div`,{className:`vidtreo-recovery-guide-dots`,children:[w(`span`,{className:`vidtreo-recovery-guide-dot vidtreo-recovery-guide-dot--close`}),w(`span`,{className:`vidtreo-recovery-guide-dot vidtreo-recovery-guide-dot--min`}),w(`span`,{className:`vidtreo-recovery-guide-dot vidtreo-recovery-guide-dot--max`})]}),T(`div`,{className:`vidtreo-recovery-guide-addressbar`,children:[w(`div`,{className:`vidtreo-recovery-guide-lock`,children:sn()}),w(`span`,{className:`vidtreo-recovery-guide-url`,children:t})]})]}),w(`div`,{className:`vidtreo-recovery-guide-browser-bg`})]}),w(`div`,{className:`vidtreo-recovery-guide-cursor`,children:cn()}),T(`div`,{className:`vidtreo-recovery-guide-popover`,children:[w(`div`,{className:`vidtreo-recovery-guide-popover-header`,children:t}),w(`div`,{className:`vidtreo-recovery-guide-popover-divider`}),mn(ln(),un(),e.cameraLabel,!1),mn(dn(),fn(),e.microphoneLabel,!0)]})]})}function gn(e){return e[0].status===`granted`?`microphone`:`camera`}function _n(e,t){return e===`camera`?t.cameraTitle:t.microphoneTitle}function vn(e,t){return e===`camera`?t.cameraLabel:t.microphoneLabel}function yn(e,t){return e===`camera`?t.allowCamera:t.allowMicrophone}function bn(e,t){return e===`camera`?t[0].status:t[1].status}function xn(e,t,n,r,i){if(t===`granted`||t===`denied`)return null;let a=e===`checking`,o=`vidtreo-permission-flow-action`;a&&(o=`vidtreo-permission-flow-action vidtreo-permission-flow-action--requesting`);let s=n;a&&(s=r);let c;return c=a?w(`span`,{className:`vidtreo-permission-flow-spinner`}):w(et,{size:24,weight:`fill`}),T(`button`,{className:o,disabled:a,onClick:i,type:`button`,children:[c,s]})}function Sn(e,t,n,r){let i=hn({cameraLabel:n.cameraName,microphoneLabel:n.microphoneName});return T(`div`,{className:`vidtreo-permission-flow-recovery`,children:[w(`div`,{className:`vidtreo-permission-flow-subtitle`,children:n.recoveryTitle}),i]})}function Cn(e){if(!e.isActive)return null;let{currentStep:t,steps:n,recoveryData:r,canRetry:i,translations:a,onRequestPermission:o,onRetryPermission:s}=e,{isFadingOut:c}=e,l=`vidtreo-permission-flow vidtreo-active`;if(c&&(l=`vidtreo-permission-flow vidtreo-active vidtreo-permission-flow--fading`),t===`ready`)return w(`div`,{className:l,children:w(`span`,{className:`vidtreo-permission-flow-spinner vidtreo-permission-flow-spinner--large`})});let u=t===`blocked`,d=gn(n),f=bn(d,n),p=_n(d,a),m=vn(d,a),h=yn(d,a),g=null;u||(g=w(`div`,{className:`vidtreo-permission-flow-subtitle`,children:m}));let _=null;u||(_=xn(t,f,h,a.statusRequesting,o));let v=null;return u&&r&&(v=Sn(r,i,a,s)),T(`div`,{className:l,children:[w(`div`,{className:`vidtreo-permission-flow-title`,children:p}),g,_,v]})}function wn(e){let{stream:t,buttonVisibility:n,currentSourceType:r,isMuted:i,onDownload:a,onPause:o,onResume:s,onStartRecording:c,onStopRecording:l,onSwitchSource:u,onToggleMute:d,onToggleSettings:f,recordingState:p,isStopLocked:m,stopLockedTooltip:h,buttonTranslations:g}=e;return t?w(Dt,{buttonVisibility:n,currentSourceType:r,isAudioReady:e.isAudioReady,isMuted:i,isProcessingRecording:e.isProcessingRecording,isStopLocked:m,onDownload:a,onPause:o,onResume:s,onStartRecording:c,onStopRecording:l,onSwitchSource:u,onToggleMute:d,onToggleSettings:f,recordingState:p,stopLockedTooltip:h,translations:g}):null}function Tn(e){let{stream:t,controller:n,transitionMessage:r,isVideoLoaded:i,onLoadedChange:a}=e,o=null;t&&!i&&!r&&(o=w(zt,{}));let s=null;return t&&(s=w(Rt,{className:`vidtreo-video-preview`,controller:n,onLoadedChange:a,stream:t,transitionMessage:r})),{previewSkeleton:o,videoPreview:s}}function En(e){return e.stream?null:w(`div`,{className:`vidtreo-start-camera-area`,children:w(`span`,{className:`vidtreo-permission-flow-spinner vidtreo-permission-flow-spinner--large`})})}function Dn(e,t){return e?T(`div`,{className:`vidtreo-preview-skeleton`,id:`previewSkeleton`,children:[w(`div`,{className:`vidtreo-skeleton-spinner`}),w(`div`,{className:`vidtreo-skeleton-text`,children:t.switchingDevice})]}):null}function On(e,t,n){return e!==`countdown`||t===null?null:w(`div`,{className:`vidtreo-countdown-overlay vidtreo-active`,id:`countdownOverlay`,children:T(`div`,{className:`vidtreo-countdown-content`,children:[w(`div`,{className:`vidtreo-countdown-number`,id:`countdownNumber`,children:t}),w(`p`,{className:`vidtreo-countdown-text`,children:n.recordingStartsIn})]})})}function kn(e,t){return e?T(`div`,{className:`vidtreo-rec-indicator-top`,id:`recIndicatorTop`,children:[w(`div`,{className:`vidtreo-recording-dot-small`}),w(`span`,{children:t.rec})]}):null}function An(e,t){return e?T(`div`,{className:`vidtreo-recording-timer-badge`,id:`recordingTimerRow`,children:[w(`div`,{className:`vidtreo-recording-dot-small`}),w(`span`,{className:`vidtreo-recording-timer-text`,id:`recordingTimer`,children:t})]}):null}function jn(e,t,n){return e?w(`div`,{className:`vidtreo-audio-level-bars`,id:`audioLevelBars`,children:w(ut,{audioLevel:t,isMuted:n})}):null}function Mn(e){let{state:t,isVideoLoaded:n,isRecording:r,isProcessingRecording:i,controller:a,audioLevel:o,buttonVisibility:s,currentSourceType:c,onStartRecording:l,onStopRecording:u,onSwitchSource:d,onToggleSettings:f,onToggleMute:p,onPause:m,onResume:h,onLoadedChange:g,onDownload:_,isStopLocked:v,stopLockedTooltip:y,translations:b,buttonTranslations:x}=e,S=En(t),w=Dn(t.transitionMessage,b),E=Tn({stream:t.stream,controller:a,transitionMessage:t.transitionMessage,isVideoLoaded:n,onLoadedChange:g}),D=On(t.recordingState,t.countdown,b),O=kn(r,b),k=An(r,t.timer),A=jn(r,o,t.isMuted),j=wn({stream:t.stream,buttonVisibility:s,currentSourceType:c,isMuted:t.isMuted,isAudioReady:t.isAudioReady,isProcessingRecording:i,onDownload:_,onPause:m,onResume:h,onStartRecording:l,onStopRecording:u,onSwitchSource:d,onToggleMute:p,onToggleSettings:f,recordingState:t.recordingState,isStopLocked:v,stopLockedTooltip:y,buttonTranslations:x});return T(C,{children:[S,w,E.previewSkeleton,E.videoPreview,D,O,k,A,j]})}function Nn(e){let{stream:t,showSettings:n,devices:r,onCameraChange:i,onMicChange:a,translations:o}=e;return t&&n?w(Ot,{devices:r,onCameraChange:i,onMicChange:a,translations:o}):null}const Pn={requiresAudio:!1,requiresWatermark:!1};function Fn(e){return e===`en`?{language:`en`}:e===`es`?{language:`es`}:{}}function $(e,t){if(!t)return;let n=e instanceof Error,r=Error(String(e));n&&(r=e),t(r)}function In(e){let t=U(e.apiKey,e.demo),[n,r]=S(!1),[i,a]=S(!1),[o,s]=S(!1),c=e.lang||`en`,l=Fn(c),u=P(c,e.texts||W),{state:d,actions:m,audioLevel:h,controller:g}=fe({apiKey:t,backendUrl:e.backendUrl,countdownDuration:e.countdownDuration,minTimeRecord:e.minTimeRecord,maxRecordingTime:e.maxRecordingTime,userMetadata:e.userMetadata,enableSourceSwitching:e.enableSourceSwitching,enableMute:e.enableMute,enablePause:e.enablePause,enableDeviceChange:e.enableDeviceChange,enableTabVisibilityOverlay:e.enableTabVisibilityOverlay,tabVisibilityOverlayText:e.tabVisibilityOverlayText,demo:e.demo,nativeCamera:e.nativeCamera,lang:e.lang,texts:e.texts,onUploadComplete:e.onUploadComplete,onUploadProgress:e.onUploadProgress,onUploadError:e.onUploadError,onRecordingStart:e.onRecordingStart,onRecordingStop:e.onRecordingStop,onError:e.onError}),_=A(u),v=_.preview,x=_.buttons,C=_.settings,E=k(l),D=b(()=>({title:u.permissionFlowTitle,cameraTitle:u.permissionFlowCameraTitle,microphoneTitle:u.permissionFlowMicrophoneTitle,cameraLabel:u.permissionFlowCameraLabel,microphoneLabel:u.permissionFlowMicrophoneLabel,statusPending:u.permissionFlowStatusPending,statusGranted:u.permissionFlowStatusGranted,statusDenied:u.permissionFlowStatusDenied,statusRequesting:u.permissionFlowStatusRequesting,allowCamera:u.permissionFlowAllowCamera,allowMicrophone:u.permissionFlowAllowMicrophone,retry:u.permissionFlowRetry,recoveryTitle:u.permissionFlowRecoveryTitle,recoveryInstructions:u.permissionFlowRecoveryInstructions,recoveryGuideHint:u.permissionFlowRecoveryGuideHint,cameraName:u.camera,microphoneName:u.microphone,connecting:u.permissionFlowConnecting}),[u.permissionFlowTitle,u.permissionFlowCameraTitle,u.permissionFlowMicrophoneTitle,u.permissionFlowCameraLabel,u.permissionFlowMicrophoneLabel,u.permissionFlowStatusPending,u.permissionFlowStatusGranted,u.permissionFlowStatusDenied,u.permissionFlowStatusRequesting,u.permissionFlowAllowCamera,u.permissionFlowAllowMicrophone,u.permissionFlowRetry,u.permissionFlowRecoveryTitle,u.permissionFlowRecoveryInstructions,u.permissionFlowRecoveryGuideHint,u.camera,u.microphone,u.permissionFlowConnecting]),[O,j]=S(`hidden`);y(()=>{if(d.error){j(`hidden`);return}if(E.isActive){j(`active`),a(!1);return}j(e=>e===`hidden`?`hidden`:e===`fading`||i?`fading`:d.stream?`loading`:d.error?`hidden`:`loading`)},[E.isActive,i,d.stream,d.error]),y(()=>{if(O!==`fading`)return;let e=setTimeout(()=>{j(`hidden`)},600);return()=>{clearTimeout(e)}},[O]),y(()=>{E.isActive&&d.stream&&m.stopPreview()},[E.isActive,d.stream,m]);let M=b(()=>({enableDeviceChange:e.enableDeviceChange,enableMute:e.enableMute,enablePause:e.enablePause,enableSourceSwitching:e.enableSourceSwitching,isMobile:f()}),[e.enableDeviceChange,e.enableMute,e.enablePause,e.enableSourceSwitching]);y(()=>{if(d.stream||d.uploadProgress!==null||!m.startPreview||!d.isInitialized||E.currentStep===`idle`||E.isActive)return;let t=setTimeout(()=>{m.startPreview(G).catch(t=>{$(t,e.onError)})},100);return()=>{clearTimeout(t)}},[d.stream,d.uploadProgress,d.isInitialized,E.currentStep,E.isActive,m,e.onError]),y(()=>{d.recordingState===q&&n&&r(!1)},[d.recordingState,n]);let N=()=>{m.startRecording(G).catch(t=>{$(t,e.onError)})},F=()=>{R||m.stopRecording().catch(t=>{$(t,e.onError)})},ee=()=>{e.enableDeviceChange!==!1&&r(e=>!e)},te=t=>{m.changeCamera(t).catch(t=>{$(t,e.onError)})},ne=t=>{m.changeMic(t).catch(t=>{$(t,e.onError)})},re=()=>{let t=g?.getCurrentSourceType()||G,n=G;t===G&&(n=K),t===K&&(n=G),m.switchSource(n).catch(t=>{$(t,e.onError)})},I=d.recordingState===q||d.isPaused,L=d.uploadProgress!==null||d.transcodingProgress!==null,R=oe(e.minTimeRecord,d.timer,I),ie=g?.getCurrentSourceType()||G,ae=b(()=>{let t=B(I,d.recordingState,d.isPaused,M),n=!1;return e.demo&&!I&&!L&&d.recordingState===`idle`&&d.recordedBlob!==null&&(n=!0),{...t,showDownloadButton:n}},[I,L,d.recordingState,d.isPaused,d.recordedBlob,e.demo,M]),se=yt({uploadProgress:d.uploadProgress,uploadRetryAttempt:d.uploadRetryAttempt,retryingUploadLabel:u.retryingUpload,uploadingLabel:u.uploading}),z=yt({uploadProgress:d.transcodingProgress,uploadingLabel:u.finishing}),ce=O!==`hidden`,le=O===`loading`||O===`fading`,ue=O===`fading`,de=null;ce&&(de=Cn({isActive:!0,isFadingOut:ue,currentStep:le?`ready`:E.currentStep,steps:E.steps,recoveryData:E.recoveryData,canRetry:E.recoveryData?.canRetry??!1,translations:D,onRequestPermission:()=>{E.requestPermission().catch(t=>{$(t,e.onError)})},onRetryPermission:()=>{E.retryPermission().catch(t=>{$(t,e.onError)})}}));let V=xt({transitionMessage:d.transitionMessage}),pe=Nn({stream:d.stream,showSettings:n,devices:d.devices,onCameraChange:te,onMicChange:ne,translations:C}),H=ve(p({errorCode:d.errorCode,hasAudioFailed:d.hasAudioFailed,error:d.error}),u,d.error,d.errorCode);return T(`div`,{className:`vidtreo-camera-area vidtreo-active`,id:`cameraArea`,children:[w(_t,{children:T(`div`,{className:`vidtreo-preview-container`,children:[Mn({state:d,isVideoLoaded:i,isRecording:I,isProcessingRecording:L,controller:g,audioLevel:h,buttonVisibility:ae,currentSourceType:ie,onStartRecording:N,onStopRecording:F,onSwitchSource:re,onToggleSettings:ee,onToggleMute:m.toggleMute,onPause:m.pauseRecording,onResume:m.resumeRecording,onLoadedChange:a,onDownload:m.downloadVideo,isStopLocked:R,stopLockedTooltip:x.minimumRecordingTimeNotReached,translations:v,buttonTranslations:x}),w(ht,{message:H.message,onRetry:H.canRetry?async()=>{s(!0),m.stopPreview(),await m.startPreview(G).catch(t=>{$(t,e.onError)}).finally(()=>{s(!1)})}:void 0,retryLabel:H.retryLabel,title:H.title,variant:H.variant,visible:(H.visible||o)&&!I&&!L}),I&&w(pt,{onDismiss:()=>{},translations:u,warning:d.audioWarning}),de,z,se]})}),V,pe]})}function Ln(e,t){return t===!0?`native`:e===void 0?null:e}function Rn(e){return e!==`native`}function zn(e){return e===null?`overlay`:e}function Bn(e){let t=U(e.apiKey,e.demo),n=f(),r=Ln(e.mobileMode,e.nativeCamera),i=Rn(r),[a,o]=S(null),c=b(()=>({apiKey:t,backendUrl:e.backendUrl,maxRecordingTime:e.maxRecordingTime,maxFileSize:e.maxFileSize,userMetadata:e.userMetadata,demo:e.demo,lang:e.lang,texts:e.texts,onUploadComplete:e.onUploadComplete,onUploadProgress:e.onUploadProgress,onUploadError:e.onUploadError,onError:e.onError,onTranscodingProgress:e.onTranscodingProgress}),[t,e.backendUrl,e.maxRecordingTime,e.maxFileSize,e.userMetadata,e.demo,e.lang,e.texts,e.onUploadComplete,e.onUploadProgress,e.onUploadError,e.onError,e.onTranscodingProgress]),l=b(()=>({apiKey:t,backendUrl:e.backendUrl,countdownDuration:e.countdownDuration,minTimeRecord:e.minTimeRecord,maxRecordingTime:e.maxRecordingTime,maxFileSize:e.maxFileSize,userMetadata:e.userMetadata,recordingPrompt:e.recordingPrompt,enableSourceSwitching:e.enableSourceSwitching,enableMute:e.enableMute,enablePause:e.enablePause,enableDeviceChange:e.enableDeviceChange,enableTabVisibilityOverlay:e.enableTabVisibilityOverlay,tabVisibilityOverlayText:e.tabVisibilityOverlayText,demo:e.demo,lang:e.lang,texts:e.texts,onUploadComplete:e.onUploadComplete,onUploadProgress:e.onUploadProgress,onUploadError:e.onUploadError,onRecordingStart:e.onRecordingStart,onRecordingStop:e.onRecordingStop,onError:e.onError,onTranscodingProgress:e.onTranscodingProgress}),[t,e.backendUrl,e.countdownDuration,e.minTimeRecord,e.maxRecordingTime,e.maxFileSize,e.userMetadata,e.recordingPrompt,e.enableSourceSwitching,e.enableMute,e.enablePause,e.enableDeviceChange,e.enableTabVisibilityOverlay,e.tabVisibilityOverlayText,e.demo,e.lang,e.texts,e.onUploadComplete,e.onUploadProgress,e.onUploadError,e.onRecordingStart,e.onRecordingStop,e.onError,e.onTranscodingProgress]);if(y(()=>{if(!n||!i)return;let e=!0;return o(null),s(Pn).then(t=>{e&&o(t.isSupported)}).catch(()=>{e&&o(!1)}),()=>{e=!1}},[n,i]),!n)return w(In,{...e});if(i&&a===null)return w(zt,{});let u=zn(r);return u===`embed`?w(In,{...e}):u===`native`?w(rn,{config:c}):w($t,{config:l})}function Vn(e){return w(vt,{lang:e.lang,texts:e.texts,children:w(Bn,{...e})})}export{Vn as VidtreoRecorder,Vn as VidtreoRecorderSSR,fe as useVidtreoRecorder};
1
+ (function(){if(typeof document!=='undefined'){const style=document.createElement('style');style.textContent=`:root{--vidtreo-background:0 0% 100%;--vidtreo-foreground:0 0% 3.9%;--vidtreo-card:0 0% 100%;--vidtreo-card-foreground:0 0% 3.9%;--vidtreo-primary:0 0% 9%;--vidtreo-primary-foreground:0 0% 98%;--vidtreo-secondary:0 0% 96.1%;--vidtreo-secondary-foreground:0 0% 9%;--vidtreo-muted:0 0% 96.1%;--vidtreo-muted-foreground:0 0% 45.1%;--vidtreo-accent:0 0% 96.1%;--vidtreo-accent-foreground:0 0% 9%;--vidtreo-destructive:0 84.2% 60.2%;--vidtreo-destructive-foreground:0 0% 98%;--vidtreo-border:0 0% 89.8%;--vidtreo-input:0 0% 89.8%;--vidtreo-ring:0 0% 3.9%;--vidtreo-radius:0.5rem;--vidtreo-preview-bg:0 0% 0%;--vidtreo-z-modal-overlay:9999;--vidtreo-z-settings-panel:200;--vidtreo-z-error-overlay:100;--vidtreo-z-countdown-overlay:20;--vidtreo-z-progress-overlay:20;--vidtreo-z-controls:10}.vidtreo-preview-container{position:relative;width:100%;aspect-ratio:9 / 16;border-radius:0;overflow:visible;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;border:none;contain:layout style;transform:translateZ(0);will-change:auto;backface-visibility:hidden;isolation:isolate}.vidtreo-preview-container::before{display:none}@media (min-width:768px){.vidtreo-preview-container{aspect-ratio:16 / 9}}.vidtreo-camera-area{width:100%;height:100%;display:none;position:relative;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;contain:layout style paint;transform:translateZ(0);backface-visibility:hidden;isolation:isolate;will-change:auto}.vidtreo-source-transition-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.7);display:none;align-items:center;justify-content:center;flex-direction:column;border-radius:0;z-index:var(--vidtreo-z-error-overlay);backdrop-filter:blur(4px);transition:opacity 0.3s ease;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:opacity}.vidtreo-source-transition-overlay.vidtreo-active{display:flex;animation:vidtreo-fadeIn 0.2s ease}@keyframes vidtreo-fadeIn{from{opacity:0}to{opacity:1}}.vidtreo-transition-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,0.3);border-top-color:#667eea;border-radius:50%;animation:vidtreo-spin 0.8s linear infinite;margin-bottom:12px}@keyframes vidtreo-spin{to{transform:rotate(360deg)}}.vidtreo-transition-message{color:white;font-size:14px;font-weight:500;text-align:center}.vidtreo-camera-area.vidtreo-active{display:block}.vidtreo-preview-skeleton{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;border-radius:0;z-index:var(--vidtreo-z-controls);gap:1rem;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-skeleton-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,0.3);border-top-color:#ffffff;border-radius:50%;animation:vidtreo-spin 0.8s linear infinite}.vidtreo-skeleton-text{color:#ffffff;font-size:0.875rem;font-weight:500}.vidtreo-video-preview{width:100%;height:100%;border-radius:0;background:#000;display:block;object-fit:cover;transition:opacity 0.3s ease,transform 0.3s ease;position:absolute;inset:0;transform:translateZ(0);will-change:auto;backface-visibility:hidden}.vidtreo-video-preview-skeleton{position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:#000;overflow:hidden;z-index:2;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-skeleton-shimmer{position:absolute;inset:0;background:linear-gradient( 90deg,hsl(var(--vidtreo-muted)) 0%,hsl(var(--vidtreo-muted) / 0.5) 50%,hsl(var(--vidtreo-muted)) 100% );background-size:200% 100%;animation:vidtreo-shimmer 1.5s ease-in-out infinite}@keyframes vidtreo-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.vidtreo-video-preview-skeleton.vidtreo-hidden{opacity:0;pointer-events:none;transition:opacity 0.3s ease}.vidtreo-video-preview.vidtreo-screen-share{object-fit:cover}.vidtreo-video-preview.vidtreo-transitioning{opacity:0.5;transform:scale(0.98)}.vidtreo-countdown-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.95);display:none;align-items:center;justify-content:center;border-radius:0;z-index:var(--vidtreo-z-countdown-overlay);transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-countdown-overlay.vidtreo-active{display:flex}.vidtreo-countdown-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.vidtreo-countdown-number{font-size:9rem;font-weight:bold;color:#ffffff;animation:vidtreo-zoomIn 0.3s ease}@keyframes vidtreo-zoomIn{from{transform:scale(0.5);opacity:0}to{transform:scale(1);opacity:1}}.vidtreo-countdown-text{font-size:0.875rem;color:#ffffff;margin-top:1rem;font-weight:500}.vidtreo-settings-panel{position:absolute !important;bottom:4rem !important;left:50% !important;margin-left:-47%;background:rgba(0,0,0,0.4);border:none;border-radius:0.75rem;padding:0.625rem;display:none;flex-direction:column;z-index:var(--vidtreo-z-settings-panel);width:90%;overflow:hidden;contain:layout style paint;transform:translateZ(0);backface-visibility:hidden}.vidtreo-settings-panel.vidtreo-active{display:flex}.vidtreo-settings-content{width:100%;display:flex;flex-direction:column;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.vidtreo-settings-content.vidtreo-slide-right{animation:vidtreo-slideRight 0.3s ease}.vidtreo-settings-content.vidtreo-slide-left{animation:vidtreo-slideLeft 0.3s ease}.vidtreo-settings-content.vidtreo-slide-none{animation:none;will-change:auto}@keyframes vidtreo-slideIn{from{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes vidtreo-slideRight{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes vidtreo-slideLeft{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.vidtreo-settings-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;background:none;border:none;color:#ffffff;cursor:pointer;padding:0;width:100%;text-align:left}.vidtreo-settings-back-icon{flex-shrink:0;color:#ffffff}.vidtreo-settings-title{font-size:0.875rem;font-weight:600;margin:0;color:#ffffff}.vidtreo-device-options-container{display:flex;flex-direction:column;gap:0.375rem}.vidtreo-device-option-nav{display:flex;align-items:center;padding:0.5rem 0.75rem;background:none;border:none;cursor:pointer;color:#ffffff;transition:background-color 0.2s ease;width:100%;gap:1rem;border-radius:0.5rem}.vidtreo-device-option-nav:hover{background:rgba(255,255,255,0.2)}.vidtreo-device-option-nav-content{display:flex;align-items:center;gap:0.75rem;flex-shrink:0}.vidtreo-device-option-nav-label{font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-device-option-nav-value{display:flex;align-items:center;gap:0.5rem;flex:1;justify-content:flex-end;min-width:0}.vidtreo-device-option-nav-value-text{font-size:0.875rem;color:rgba(255,255,255,0.8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:right}.vidtreo-device-option-nav-chevron{font-size:1.25rem;color:#ffffff;line-height:1}.vidtreo-device-list{display:flex;flex-direction:column;gap:0;max-height:200px;overflow-y:auto}.vidtreo-device-list::-webkit-scrollbar{width:4px}.vidtreo-device-list::-webkit-scrollbar-track{background:transparent}.vidtreo-device-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);border-radius:2px}.vidtreo-device-list::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.3)}.vidtreo-device-option{display:flex;align-items:center;padding:0.5rem 0.75rem;background:none;border:none;cursor:pointer;color:#ffffff;transition:background-color 0.2s ease;text-align:left;width:100%;gap:0.75rem;border-radius:0.5rem}.vidtreo-device-option:hover{background:rgba(255,255,255,0.2)}.vidtreo-device-option-check-container{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vidtreo-device-checkmark-placeholder{width:20px;height:20px;flex-shrink:0}.vidtreo-device-checkmark{color:#ffffff;flex-shrink:0}.vidtreo-device-option-label{font-size:0.875rem;color:#ffffff;flex:1}.vidtreo-device-empty{padding:1rem 0;font-size:0.875rem;color:rgba(255,255,255,0.6);text-align:center}.vidtreo-audio-level-bars{position:absolute !important;bottom:0.75rem !important;right:0.75rem !important;display:flex !important;align-items:center;gap:0.125rem;height:1rem;z-index:var(--vidtreo-z-controls);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}@media (min-width:768px){.vidtreo-audio-level-bars{height:1.25rem}}.vidtreo-audio-level-bar{width:0.125rem;border-radius:9999px;background:rgba(255,255,255,0.5);transition:all 0.1s ease;align-self:flex-end}.vidtreo-recording-controls{position:absolute !important;bottom:12px !important;left:50% !important;transform:translateX(-50%) translateZ(0) !important;z-index:var(--vidtreo-z-controls);contain:layout style;will-change:auto;backface-visibility:hidden}.vidtreo-recording-controls-row{display:flex;align-items:center;justify-content:center;gap:0.5rem;transform:translateZ(0);will-change:auto}.vidtreo-recording-timer-row{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}.vidtreo-recording-timer-badge{position:absolute !important;top:0.75rem !important;right:0.75rem !important;display:flex !important;align-items:center;gap:0.375rem;background:rgba(0,0,0,0.3);border:none;padding:0.25rem 0.5rem;border-radius:9999px;box-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);z-index:var(--vidtreo-z-controls);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-recording-dot-small{width:0.375rem;height:0.375rem;background:hsl(var(--vidtreo-destructive));border-radius:50%;animation:vidtreo-pulse 1.5s ease-in-out infinite}.vidtreo-recording-timer-text{font-size:0.75rem;font-family:monospace;font-weight:500;color:#ffffff}.vidtreo-control-buttons-row{display:flex;align-items:center;justify-content:center;gap:0.375rem;height:auto;min-height:2rem;transform:translateZ(0);will-change:auto}@media (min-width:768px){.vidtreo-control-buttons-row{min-height:2.25rem}}.vidtreo-control-button{width:2rem;height:2rem;min-height:2rem;max-height:2rem;border-radius:9999px;border:none;background:rgba(0,0,0,0.3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color 0.2s ease;color:#ffffff;padding:0.25rem;margin:0;flex-shrink:0;box-sizing:border-box;vertical-align:top;position:relative;transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-control-button::before{content:"";position:absolute;inset:0.25rem;border-radius:9999px;transition:background-color 0.2s ease;z-index:0}.vidtreo-control-button svg{width:22px !important;height:22px !important;color:inherit;flex-shrink:0;position:relative;z-index:1}@media (min-width:768px){.vidtreo-control-button svg{width:24px !important;height:24px !important}}@media (min-width:768px){.vidtreo-control-button{width:2.25rem;height:2.25rem;min-height:2.25rem;max-height:2.25rem}}.vidtreo-control-button:hover:not(:disabled)::before{background:rgba(255,255,255,0.2)}.vidtreo-control-button:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-control-button.vidtreo-muted::before{background:rgba(0,0,0,0.3)}.vidtreo-control-button.vidtreo-muted:hover:not(:disabled)::before{background:rgba(255,255,255,0.2)}.vidtreo-record-button{height:2rem;min-height:2rem;max-height:2rem;padding:0 0.75rem;border-radius:9999px;font-weight:500;font-size:0.75rem;background:hsl(var(--vidtreo-destructive));color:hsl(var(--vidtreo-destructive-foreground));border:none;display:inline-flex;align-items:center;justify-content:center;gap:0.375rem;transition:background-color 0.2s ease,filter 0.2s ease;width:auto;margin:0;line-height:1;flex-shrink:0;box-sizing:border-box;vertical-align:top;cursor:pointer}@media (min-width:768px){.vidtreo-record-button{height:2.25rem;min-height:2.25rem;max-height:2.25rem;font-size:0.875rem}}.vidtreo-record-button:hover:not(:disabled){filter:brightness(0.85)}.vidtreo-record-button.vidtreo-stop-button-locked{opacity:0.5;cursor:not-allowed;filter:none}.vidtreo-record-button.vidtreo-stop-button-locked:hover{filter:none}#startButton.vidtreo-record-button{animation:vidtreo-record-glow-pulse 2s ease-in-out infinite}@keyframes vidtreo-record-glow-pulse{0%,100%{box-shadow:0 0 8px 2px rgba(239,68,68,0.4),0 0 16px 4px rgba(239,68,68,0.2)}50%{box-shadow:0 0 16px 4px rgba(239,68,68,0.6),0 0 32px 8px rgba(239,68,68,0.3)}}#startButton.vidtreo-record-button:hover:not(:disabled){animation-play-state:paused;box-shadow:0 0 20px 6px rgba(239,68,68,0.7),0 0 40px 10px rgba(239,68,68,0.35)}.vidtreo-rec-indicator-top{position:absolute !important;top:0.75rem !important;left:0.75rem !important;display:flex !important;align-items:center;gap:0.375rem;background:rgba(0,0,0,0.3);border:none;padding:0.25rem 0.5rem;border-radius:9999px;box-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-rec-indicator-top span{font-size:0.75rem;font-weight:500;color:#ffffff}.vidtreo-start-camera-area{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;border-radius:0;padding:40px;text-align:center;background:#000;transition:all 0.3s ease;cursor:pointer;z-index:1;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-start-camera-area:hover:not(.vidtreo-loading){background:#000}.vidtreo-start-camera-area.vidtreo-loading{cursor:wait;opacity:0.7}.vidtreo-start-camera-area.vidtreo-loading .vidtreo-camera-text{color:#ffffff;opacity:0.7}.vidtreo-camera-icon{font-size:48px;margin-bottom:16px;display:flex;justify-content:center;color:#ffffff}.vidtreo-camera-text{color:#ffffff;font-weight:600;margin-bottom:8px}.vidtreo-camera-text a{color:#3b82f6;text-decoration:underline}.vidtreo-camera-text a:hover{color:#2563eb}.vidtreo-camera-hint{color:#ffffff;font-size:12px;opacity:0.8}@keyframes vidtreo-pulse{0%,100%{opacity:1}50%{opacity:0.3}}.vidtreo-progress{margin-top:20px;display:none}.vidtreo-progress.vidtreo-active{display:block}.vidtreo-progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.vidtreo-progress-fill{height:100%;background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);width:0%;transition:width 0.3s ease}.vidtreo-progress-text{text-align:center;color:#ffffff;font-size:14px}.vidtreo-error{position:absolute;top:0.75rem;left:50%;transform:translateX(-50%);padding:1rem 1.25rem;background:#dc2626;border:none;border-radius:0.5rem;color:#ffffff;font-size:0.875rem;font-weight:500;text-align:center;z-index:var(--vidtreo-z-error-overlay);display:none;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);max-width:90%;word-wrap:break-word}.vidtreo-error.vidtreo-active{display:block;animation:vidtreo-error-fade-in-slide-down 0.3s ease-out}@keyframes vidtreo-error-fade-in-slide-down{from{opacity:0;transform:translateX(-50%) translateY(-1rem)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.vidtreo-upload-progress{margin-top:20px;display:none}.vidtreo-upload-progress.vidtreo-active{display:block}.vidtreo-preview-container .vidtreo-upload-progress{margin-top:0}.vidtreo-upload-status{margin-top:20px;padding:16px;border-radius:8px;display:none}.vidtreo-upload-status.vidtreo-active{display:block}.vidtreo-upload-status.vidtreo-success{background:#f0f9ff;border:2px solid #48bb78;color:#22543d}.vidtreo-upload-status.vidtreo-error{background:#fee;border:2px solid #fcc;color:#c33}.vidtreo-upload-status-text{font-size:14px;font-weight:500}.vidtreo-preview-error{position:relative;width:100%;aspect-ratio:9 / 16;border-radius:0;overflow:hidden;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;border:none;contain:strict;transform:translateZ(0);will-change:auto;backface-visibility:hidden;isolation:isolate}@media (min-width:768px){.vidtreo-preview-error{aspect-ratio:16 / 9}}.vidtreo-error-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:#ffffff;max-width:400px}.vidtreo-error-icon{font-size:3rem;line-height:1}.vidtreo-error-title{font-size:1.25rem;font-weight:600;line-height:1.2}.vidtreo-error-message{font-size:0.875rem;line-height:1.5;opacity:0.9;word-break:break-word}.vidtreo-error-config{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.2);width:100%;text-align:left}.vidtreo-error-config-title{font-size:0.875rem;font-weight:600;margin-bottom:0.75rem;color:#ffffff}.vidtreo-error-config-item{font-size:0.8125rem;line-height:1.6;margin-bottom:0.5rem;color:rgba(255,255,255,0.85)}.vidtreo-error-config-item code{background:rgba(255,255,255,0.15);padding:0.125rem 0.375rem;border-radius:0.25rem;font-family:monospace;font-size:0.75rem;color:#ffffff}.vidtreo-error-retry{margin-top:0.5rem;padding:0.5rem 1rem;border-radius:0.375rem;background:hsl(var(--vidtreo-destructive));color:hsl(var(--vidtreo-destructive-foreground));border:none;font-size:0.875rem;font-weight:500;cursor:pointer;transition:filter 0.2s ease}.vidtreo-error-retry:hover:not(:disabled){filter:brightness(0.85)}.vidtreo-error-retry:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-error-overlay{position:absolute;inset:0;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;z-index:var(--vidtreo-z-error-overlay)}.vidtreo-native-camera-container{position:relative;width:100%;aspect-ratio:9 / 16;display:flex;align-items:center;justify-content:center;background:hsl(var(--vidtreo-preview-bg));border-radius:0;overflow:hidden}@media (min-width:768px){.vidtreo-native-camera-container{aspect-ratio:16 / 9}}.vidtreo-native-camera-container:has(.vidtreo-native-camera-preview-container){background:transparent}.vidtreo-config-loading-indicator{position:absolute;top:8px;right:8px;z-index:var(--vidtreo-z-controls)}.vidtreo-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.6s linear infinite}.vidtreo-native-camera-empty-state{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}.vidtreo-native-camera-buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:300px}.vidtreo-native-camera-process-button,.vidtreo-native-camera-download-button{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:30}.vidtreo-native-camera-process-button .vidtreo-btn,.vidtreo-native-camera-download-button .vidtreo-btn{min-width:200px}.vidtreo-btn{padding:12px 24px;border-radius:var(--vidtreo-radius);font-size:1rem;font-weight:500;cursor:pointer;border:none;transition:all 0.2s}.vidtreo-btn:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-btn-primary{background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground))}.vidtreo-btn-primary:hover:not(:disabled){filter:brightness(0.9)}.vidtreo-btn-secondary{background:hsl(var(--vidtreo-secondary));color:hsl(var(--vidtreo-secondary-foreground));border:1px solid hsl(var(--vidtreo-border))}.vidtreo-btn-secondary:hover:not(:disabled){background:hsl(var(--vidtreo-accent))}.vidtreo-transcoding-progress{width:100%;max-width:400px;padding:16px}.vidtreo-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-fill{height:100%;background:hsl(var(--vidtreo-primary));transition:width 0.3s ease}.vidtreo-progress-text{margin-top:8px;text-align:center;font-size:0.875rem;color:hsl(var(--vidtreo-foreground))}.vidtreo-native-camera-preview-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent}.vidtreo-native-camera-preview-image{width:100%;height:100%;object-fit:contain;display:block}.vidtreo-progress-overlay{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);z-index:var(--vidtreo-z-progress-overlay);pointer-events:auto}.vidtreo-progress-overlay .vidtreo-transcoding-progress,.vidtreo-progress-overlay .vidtreo-upload-progress{position:relative;width:90%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0;background:transparent;pointer-events:auto}.vidtreo-progress-overlay .vidtreo-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-upload-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-progress-fill{height:100%;background:#ffffff;transition:width 0.3s ease}.vidtreo-progress-overlay .vidtreo-progress-text{margin-top:0;text-align:center;font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-progress-overlay .vidtreo-upload-progress-text{margin-top:0;text-align:center;font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-progress-overlay .vidtreo-upload-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-upload-progress-fill{height:100%;background:#ffffff;transition:width 0.3s ease}.vidtreo-progress-overlay .vidtreo-progress-indeterminate{width:100%;background:linear-gradient( 90deg,transparent 0%,#ffffff 50%,transparent 100% );background-size:200% 100%;animation:vidtreo-progress-indeterminate 1.5s ease-in-out infinite}@keyframes vidtreo-progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}.vidtreo-mobile-web-recorder{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vidtreo-camera-area button,.vidtreo-camera-area input,.vidtreo-camera-area select,.vidtreo-camera-area textarea,.vidtreo-mobile-web-recorder button,.vidtreo-mobile-web-recorder input,.vidtreo-mobile-web-recorder select,.vidtreo-mobile-web-recorder textarea,.vidtreo-permission-flow button{font-family:inherit}.vidtreo-mobile-landing-container{position:relative;width:100%;aspect-ratio:4 / 3;min-height:100%;max-height:100%;display:flex;align-items:center;justify-content:center;background:hsl(var(--vidtreo-preview-bg));border-radius:0;overflow:hidden}.vidtreo-mobile-landing-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:2rem;text-align:center}.vidtreo-mobile-landing-title{font-size:1.25rem;font-weight:600;color:#ffffff;margin:0;line-height:1.3}.vidtreo-mobile-landing-description{font-size:0.875rem;color:rgba(255,255,255,0.75);margin:0;max-width:280px;line-height:1.5}.vidtreo-mobile-open-camera-btn{display:inline-flex;align-items:center;gap:0.625rem;padding:0.875rem 1.75rem;font-size:1rem;font-weight:600;min-width:200px;justify-content:center;margin-top:0.5rem;border-radius:9999px;transition:all 0.2s ease;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}@keyframes vidtreo-btn-glow-pulse{0%,100%{box-shadow:0 0 8px 2px rgba(255,255,255,0.3),0 0 16px 4px rgba(255,255,255,0.15)}50%{box-shadow:0 0 16px 4px rgba(255,255,255,0.5),0 0 32px 8px rgba(255,255,255,0.25)}}.vidtreo-mobile-open-camera-btn:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-mobile-open-camera-btn:active:not(:disabled){transform:scale(0.98)}.vidtreo-mobile-open-camera-btn:disabled{animation:none;box-shadow:none}#vidtreo-portal-root{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:9999;pointer-events:none}#vidtreo-portal-root>*{pointer-events:auto}.vidtreo-mobile-modal-overlay{--vidtreo-safe-top:0px;--vidtreo-safe-bottom:0px;--vidtreo-safe-left:0px;--vidtreo-safe-right:0px;position:fixed;inset:0;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#000000;z-index:var(--vidtreo-z-modal-overlay);display:flex;flex-direction:column;animation:vidtreo-modal-fade-in 0.3s ease-out;height:-webkit-fill-available}@keyframes vidtreo-modal-fade-in{from{opacity:0}to{opacity:1}}.vidtreo-mobile-modal-header{position:absolute;top:0;left:0;right:0;padding:0.75rem;padding-top:calc(0.75rem + var(--vidtreo-safe-top,0px));display:flex;justify-content:center;z-index:var(--vidtreo-z-error-overlay);pointer-events:none}.vidtreo-mobile-modal-close-btn,.vidtreo-mobile-prompt-toggle-btn{height:2rem;padding:0 0.75rem;border-radius:9999px;border:none;background:rgba(0,0,0,0.5);color:rgba(255,255,255,0.9);display:flex;align-items:center;justify-content:center;gap:0.375rem;cursor:pointer;transition:all 0.2s ease;pointer-events:auto;backdrop-filter:blur(4px);font-size:0.75rem;font-weight:500}.vidtreo-mobile-modal-close-btn:hover:not(:disabled),.vidtreo-mobile-prompt-toggle-btn:hover:not(:disabled){background:rgba(0,0,0,0.7)}.vidtreo-mobile-modal-close-btn:disabled{opacity:0.3;cursor:not-allowed}.vidtreo-mobile-prompt-toggle-btn{position:absolute;top:calc(0.75rem + var(--vidtreo-safe-top,0px));left:calc(0.75rem + var(--vidtreo-safe-left,0px));width:2rem;padding:0;z-index:var(--vidtreo-z-controls)}.vidtreo-mobile-modal-content{flex:1;display:flex;flex-direction:column;width:100%;height:100%;position:relative;padding-top:var(--vidtreo-safe-top,0px);padding-bottom:var(--vidtreo-safe-bottom,0px);padding-left:var(--vidtreo-safe-left,0px);padding-right:var(--vidtreo-safe-right,0px)}.vidtreo-mobile-recorder-content{--vidtreo-safe-top:0px;--vidtreo-safe-bottom:0px;--vidtreo-safe-left:0px;--vidtreo-safe-right:0px;width:100%;height:100%;display:flex;flex-direction:column;position:relative}.vidtreo-mobile-recorder-content .vidtreo-preview-container{aspect-ratio:unset;height:100%;width:100%;flex:1}.vidtreo-mobile-recorder-content .vidtreo-video-preview{object-fit:cover}.vidtreo-mobile-preview{aspect-ratio:unset !important;height:100% !important;flex:1}.vidtreo-mobile-recorder-content .vidtreo-recording-controls{bottom:calc(24px + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-audio-level-bars{bottom:calc(12px + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-settings-panel{bottom:calc(7rem + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-rec-indicator-top{top:calc(0.75rem + var(--vidtreo-safe-top,0px)) !important;height:2rem;padding:0 0.75rem;contain:layout style}.vidtreo-mobile-recorder-content .vidtreo-recording-timer-badge{top:calc(0.75rem + var(--vidtreo-safe-top,0px)) !important;height:2rem;padding:0 0.75rem;contain:layout style}.vidtreo-mobile-recorder-content .vidtreo-recording-timer-text{font-size:0.875rem;white-space:nowrap;color:#ffffff;min-width:3rem;display:inline-block}.vidtreo-mobile-recorder-content .vidtreo-error{top:calc(3.5rem + var(--vidtreo-safe-top,0px)) !important}.vidtreo-mobile-recording-prompt{position:absolute;top:calc(3.5rem + var(--vidtreo-safe-top,0px));left:calc(1rem + var(--vidtreo-safe-left,0px));right:calc(1rem + var(--vidtreo-safe-right,0px));max-height:min(38vh,15rem);overflow-y:auto;z-index:var(--vidtreo-z-controls);padding:1rem 1.25rem;border-radius:1rem;background:rgba(18,18,18,0.92);color:#ffffff;box-shadow:0 0.5rem 1.5rem rgba(0,0,0,0.24);backdrop-filter:blur(8px);pointer-events:auto;text-align:left}.vidtreo-mobile-recording-prompt--above-countdown{z-index:calc(var(--vidtreo-z-countdown-overlay) + 1)}.vidtreo-mobile-recording-prompt-text{color:#ffffff;font-size:1rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.vidtreo-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vidtreo-mobile-recorder-content .vidtreo-control-buttons-row{gap:0.75rem;min-height:4rem}.vidtreo-mobile-recorder-content .vidtreo-control-button{width:4rem;height:4rem;min-height:4rem;max-height:4rem}.vidtreo-mobile-recorder-content .vidtreo-control-button svg{width:1.5rem;height:1.5rem}.vidtreo-mobile-recorder-content .vidtreo-record-button{height:4rem;min-height:4rem;max-height:4rem;padding:0 1.5rem;font-size:1rem;gap:0.5rem}.vidtreo-mobile-recorder-content .vidtreo-record-button svg{width:1.5rem;height:1.5rem}.vidtreo-permission-flow{position:absolute;inset:0;background:#000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;z-index:var(--vidtreo-z-modal-overlay);transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vidtreo-permission-flow.vidtreo-active{display:flex;animation:vidtreo-fadeIn 0.4s cubic-bezier(0.2,0,0,1)}.vidtreo-permission-flow-title{font-size:1.25rem;font-weight:600;color:#fff;margin:0;text-align:center;line-height:1.3}.vidtreo-permission-flow-subtitle{font-size:0.875rem;color:rgba(255,255,255,0.75);margin:0;text-align:center;line-height:1.5;letter-spacing:-0.005em;max-width:280px}.vidtreo-permission-flow-action{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;margin-top:0.5rem;padding:0.875rem 1.75rem;background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground));border:none;border-radius:9999px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;min-width:200px;letter-spacing:-0.01em;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}.vidtreo-permission-flow-action:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-permission-flow-action:active:not(:disabled){transform:scale(0.98)}.vidtreo-permission-flow-action:disabled{opacity:0.5;cursor:not-allowed;animation:none;box-shadow:none}.vidtreo-permission-flow-action--requesting{opacity:0.55;cursor:wait;animation:none;box-shadow:none}@keyframes vidtreo-spinner-rotate{to{transform:rotate(360deg)}}.vidtreo-permission-flow-spinner{display:inline-block;width:1.125rem;height:1.125rem;border:2px solid rgba(255,255,255,0.3);border-top-color:hsl(var(--vidtreo-primary-foreground));border-radius:50%;animation:vidtreo-spinner-rotate 0.8s linear infinite;flex-shrink:0}.vidtreo-permission-flow-spinner--large{width:2.5rem;height:2.5rem;border-width:3px}.vidtreo-permission-flow-recovery{display:flex;flex-direction:column;align-items:center;gap:1.25rem;max-width:280px;text-align:center}.vidtreo-permission-flow-recovery-text{font-size:0.75rem;color:rgba(255,255,255,0.4);line-height:1.6;letter-spacing:-0.005em;margin:0}.vidtreo-permission-flow-retry{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;padding:0.875rem 1.75rem;background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground));border:none;border-radius:9999px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;min-width:200px;letter-spacing:-0.01em;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}.vidtreo-permission-flow-retry:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-permission-flow-retry:active:not(:disabled){transform:scale(0.98)}@keyframes vidtreo-fadeOut{from{opacity:1}to{opacity:0}}.vidtreo-permission-flow.vidtreo-permission-flow--fading{animation:vidtreo-fadeOut 0.6s ease-out forwards;pointer-events:none}.vidtreo-recovery-guide{width:100%;max-width:280px;margin:0 auto;position:relative}.vidtreo-recovery-guide::after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to bottom,transparent 0%,#000 100%);z-index:20;pointer-events:none}.vidtreo-recovery-guide::before{content:"";position:absolute;top:0;right:0;bottom:0;width:50px;background:linear-gradient(to right,transparent 0%,#000 100%);z-index:20;pointer-events:none}.vidtreo-recovery-guide-browser{position:relative;background:#161616;border-radius:10px 0 0 0;overflow:hidden;border-top:1px solid rgba(255,255,255,0.1);border-left:1px solid rgba(255,255,255,0.1);animation:vidtreo-fadeIn 0.5s ease}.vidtreo-recovery-guide-titlebar{position:relative;display:flex;align-items:center;padding:8px 10px;background:#1e1e1e;gap:8px;border-bottom:1px solid rgba(255,255,255,0.06);z-index:3}.vidtreo-recovery-guide-dots{display:flex;gap:5px;flex-shrink:0}.vidtreo-recovery-guide-dot{width:8px;height:8px;border-radius:50%}.vidtreo-recovery-guide-dot--close{background:#ff5f57}.vidtreo-recovery-guide-dot--min{background:#febc2e}.vidtreo-recovery-guide-dot--max{background:#28c840}.vidtreo-recovery-guide-addressbar{flex:1;display:flex;align-items:center;gap:5px;background:#2a2a2a;border-radius:5px;padding:4px 8px;min-width:0}.vidtreo-recovery-guide-lock{flex-shrink:0;color:rgba(255,255,255,0.5);display:flex;align-items:center;animation:vidtreo-lock-pulse 7s ease-in-out infinite}.vidtreo-recovery-guide-lock-svg{display:block}.vidtreo-recovery-guide-url{font-size:0.65rem;color:rgba(255,255,255,0.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.vidtreo-recovery-guide-cursor{position:absolute;left:62px;top:12px;z-index:40;pointer-events:none;animation:vidtreo-cursor-move 7s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.6))}.vidtreo-recovery-guide-cursor-svg{display:block}.vidtreo-recovery-guide-browser-bg{height:110px;background:#161616}.vidtreo-recovery-guide-popover{position:absolute;top:34px;left:12px;right:12px;background:#252525;border-radius:10px;padding:8px 12px 12px;border:1px solid rgba(255,255,255,0.1);box-shadow:0 8px 30px rgba(0,0,0,0.6),0 2px 8px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.06);z-index:30;animation:vidtreo-popover-reveal 7s ease-in-out infinite}.vidtreo-recovery-guide-popover-header{font-size:0.65rem;font-weight:600;color:rgba(255,255,255,0.85);padding-bottom:6px;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.vidtreo-recovery-guide-popover-divider{height:1px;background:rgba(255,255,255,0.08)}.vidtreo-recovery-guide-perm-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0}.vidtreo-recovery-guide-perm-row + .vidtreo-recovery-guide-perm-row{border-top:1px solid rgba(255,255,255,0.06)}.vidtreo-recovery-guide-perm-group{display:flex;align-items:center;gap:8px}.vidtreo-recovery-guide-perm-icon{position:relative;width:14px;height:14px;flex-shrink:0}.vidtreo-recovery-guide-icon-off,.vidtreo-recovery-guide-icon-on{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.vidtreo-recovery-guide-icon-off{color:rgba(255,255,255,0.4);animation:vidtreo-icon-hide 7s ease-in-out infinite}.vidtreo-recovery-guide-icon-on{color:#34d399;animation:vidtreo-icon-show 7s ease-in-out infinite}.vidtreo-recovery-guide-perm-label{font-size:0.7rem;color:rgba(255,255,255,0.85);font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.vidtreo-recovery-guide-switch{position:relative;width:32px;height:18px;flex-shrink:0}.vidtreo-recovery-guide-switch-track{position:absolute;inset:0;border-radius:9px;background:rgba(255,255,255,0.15);animation:vidtreo-track-on 7s ease-in-out infinite}.vidtreo-recovery-guide-switch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.3);animation:vidtreo-knob-slide 7s ease-in-out infinite}.vidtreo-recovery-guide-switch--delayed{animation-delay:0.85s}@keyframes vidtreo-cursor-move{0%{transform:translate(100px,12px);opacity:0}8%{opacity:1}22%{transform:translate(0,0)}26%{transform:translate(0,0) scale(0.75)}30%{transform:translate(0,0) scale(1);opacity:1}33%{transform:translate(0,0);opacity:1}38%{transform:translate(65px,63px);opacity:1}42%{transform:translate(65px,63px) scale(0.75)}45%{transform:translate(65px,63px) scale(1);opacity:1}48%{transform:translate(65px,97px);opacity:1}52%{transform:translate(65px,97px) scale(0.75)}55%{transform:translate(65px,97px) scale(1);opacity:1}60%{opacity:0}100%{transform:translate(100px,12px);opacity:0}}@keyframes vidtreo-popover-reveal{0%,27%{opacity:0;transform:translateY(-6px) scale(0.96)}33%,82%{opacity:1;transform:translateY(0) scale(1)}88%,100%{opacity:0;transform:translateY(-6px) scale(0.96)}}@keyframes vidtreo-track-on{0%,34%{background:rgba(255,255,255,0.15)}40%,92%{background:#34d399}96%,100%{background:rgba(255,255,255,0.15)}}@keyframes vidtreo-knob-slide{0%,34%{transform:translateX(0)}40%,92%{transform:translateX(14px)}96%,100%{transform:translateX(0)}}@keyframes vidtreo-icon-hide{0%,34%{opacity:1}40%,92%{opacity:0}96%,100%{opacity:1}}@keyframes vidtreo-icon-show{0%,34%{opacity:0}40%,92%{opacity:1}96%,100%{opacity:0}}@keyframes vidtreo-lock-pulse{0%,15%{color:rgba(255,255,255,0.5)}22%,30%{color:#34d399}38%,100%{color:rgba(255,255,255,0.5)}}.vidtreo-record-button.vidtreo-record-button-disabled,.vidtreo-record-button-disabled{opacity:0.6;cursor:not-allowed;pointer-events:none;filter:grayscale(0.3)}.vidtreo-mic-connecting-indicator{display:inline-flex;align-items:center;justify-content:center;animation:vidtreo-mic-pulse 1.4s ease-in-out infinite}@keyframes vidtreo-mic-pulse{0%,100%{opacity:0.4}50%{opacity:1}}.vidtreo-audio-error-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,0.85);z-index:var(--vidtreo-z-error-overlay);padding:2rem 1.5rem;text-align:center;animation:vidtreo-audio-overlay-fade-in 0.3s ease-out}@supports (backdrop-filter:blur(8px)){.vidtreo-audio-error-overlay{background:rgba(0,0,0,0.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}@keyframes vidtreo-audio-overlay-fade-in{from{opacity:0}to{opacity:1}}.vidtreo-audio-error-icon{width:56px;height:56px;border-radius:50%;background:rgba(239,68,68,0.15);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.vidtreo-audio-error-icon svg{width:28px;height:28px;color:#ef4444}.vidtreo-audio-error-title{font-size:1.125rem;font-weight:600;color:#ffffff;margin:0 0 0.5rem;line-height:1.4}.vidtreo-audio-error-message{font-size:0.875rem;color:rgba(255,255,255,0.7);margin:0 0 1.5rem;line-height:1.6;max-width:320px}.vidtreo-audio-error-retry{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;background:#ffffff;color:#111111;border:none;border-radius:9999px;font-size:0.875rem;font-weight:600;cursor:pointer;transition:background 0.15s ease,transform 0.1s ease;font-family:inherit}.vidtreo-audio-error-retry:hover{background:#f0f0f0}.vidtreo-audio-error-retry:active{transform:scale(0.97)}.vidtreo-audio-error-retry svg{width:16px;height:16px}.vidtreo-audio-warning-toast{position:absolute;top:1rem;left:50%;transform:translateX(-50%);z-index:var(--vidtreo-z-error-overlay);display:flex;align-items:flex-start;gap:0.625rem;max-width:min(420px,calc(100% - 2rem));padding:0.625rem 0.875rem;border-radius:12px;font-family:inherit;background:rgba(17,17,17,0.55);color:rgba(255,255,255,0.92);border:1px solid rgba(255,255,255,0.08);box-shadow:0 4px 16px rgba(0,0,0,0.25);animation:vidtreo-audio-warning-toast-fade-in 0.2s ease-out;pointer-events:auto}@supports (backdrop-filter:blur(10px)){.vidtreo-audio-warning-toast{background:rgba(17,17,17,0.45);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}}.vidtreo-audio-warning-toast--critical{border-color:rgba(239,68,68,0.45)}.vidtreo-audio-warning-toast--critical .vidtreo-audio-warning-toast__icon{color:#ef4444}.vidtreo-audio-warning-toast--soft{border-color:rgba(245,158,11,0.45)}.vidtreo-audio-warning-toast--soft .vidtreo-audio-warning-toast__icon{color:#f59e0b}.vidtreo-audio-warning-toast__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px}.vidtreo-audio-warning-toast__content{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.vidtreo-audio-warning-toast__title{font-size:0.8125rem;font-weight:600;line-height:1.3;color:#ffffff}.vidtreo-audio-warning-toast__message{font-size:0.75rem;font-weight:400;line-height:1.4;color:rgba(255,255,255,0.72)}.vidtreo-audio-warning-toast__dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin-left:0.25rem;border-radius:6px;border:none;background:transparent;color:rgba(255,255,255,0.65);cursor:pointer;transition:background 0.15s ease,color 0.15s ease;font-family:inherit}.vidtreo-audio-warning-toast__dismiss:hover{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.95)}@keyframes vidtreo-audio-warning-toast-fade-in{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}`;document.head.appendChild(style);}})();import{ConfigService as e,DEFAULT_TRANSCODE_CONFIG as t,NativeCameraHandler as n,PermissionFlowOrchestrator as r,RecorderController as i,VideoUploadService as a,calculateBarColor as o,checkRecorderSupport as s,createPermissionFlowOrchestratorDependencies as c,extractErrorMessage as l,getBrowserInfo as u,getDefaultConfigForFormat as d,isMobileDevice as f,resolveDeviceError as p,transcodeVideoForNativeCamera as m}from"@vidtreo/recorder";import*as h from"react";import{Component as g,createContext as _,useCallback as v,useEffect as y,useMemo as b,useRef as x,useState as S}from"react";import{Fragment as C,jsx as w,jsxs as T}from"react/jsx-runtime";import{createPortal as E}from"react-dom";const D=`unknown`;function O(e){return!(e===`idle`||e===`ready`)}function k(e={}){let[t,n]=S(null),i=x(null),a=x(e.onComplete),o=x(e.onChange);a.current=e.onComplete,o.current=e.onChange,y(()=>{let t=!0,s=new r(c(),{callbacks:{onChange:(e,r)=>{t&&(n(e),o.current&&o.current(e,r))},onComplete:e=>{t&&(n(e),a.current&&a.current(e))}},language:e.language});return i.current=s,s.initialize().then(e=>{t&&n(e)}).catch(()=>{}),()=>{t=!1,s.destroy(),i.current=null}},[e.language]);let s=v(async()=>{i.current&&n(await i.current.requestCurrentStep())},[]),l=v(async()=>{i.current&&n(await i.current.retryCurrentStep())},[]),u=`idle`;t&&(u=t.step);let d=O(u),f=!1;t&&(f=t.isComplete);let p;t&&(p=t.recoveryData);let m=D;t&&(m=t.permissions.camera);let h=D;t&&(h=t.permissions.microphone);let g=b(()=>[{deviceType:`camera`,status:m},{deviceType:`microphone`,status:h}],[m,h]);return b(()=>({isActive:d,isComplete:f,currentStep:u,steps:g,recoveryData:p,requestPermission:s,retryPermission:l}),[d,f,u,g,p,s,l])}function ee(e){return{preview:b(()=>({initializingCamera:e.initializingCamera,grantPermissions:e.grantPermissions,browserUnsupported:e.browserUnsupported,browserUnsupportedDynamic:e.browserUnsupportedDynamic,browserUnsupportedSafari:e.browserUnsupportedSafari,browserUnsupportedFirefox:e.browserUnsupportedFirefox,retryCamera:e.retryCamera,cameraInUse:e.cameraInUse,cameraNotFound:e.cameraNotFound,cameraPermissionDenied:e.cameraPermissionDenied,cameraTimeout:e.cameraTimeout,failedToStartCamera:e.failedToStartCamera,audioInUse:e.audioInUse,audioNotFound:e.audioNotFound,audioPermissionDenied:e.audioPermissionDenied,audioTimeout:e.audioTimeout,failedToStartAudio:e.failedToStartAudio,switchingDevice:e.switchingDevice,recordingStartsIn:e.recordingStartsIn,rec:e.rec}),[e.initializingCamera,e.grantPermissions,e.browserUnsupported,e.browserUnsupportedDynamic,e.browserUnsupportedSafari,e.browserUnsupportedFirefox,e.retryCamera,e.cameraInUse,e.cameraNotFound,e.cameraPermissionDenied,e.cameraTimeout,e.failedToStartCamera,e.audioInUse,e.audioNotFound,e.audioPermissionDenied,e.audioTimeout,e.failedToStartAudio,e.switchingDevice,e.recordingStartsIn,e.rec]),buttons:b(()=>({settings:e.settings,record:e.record,stop:e.stop,minimumRecordingTimeNotReached:e.minimumRecordingTimeNotReached,pause:e.pause,resume:e.resume,mute:e.mute,unmute:e.unmute,switchSource:e.switchSource,download:e.download,microphoneConnecting:e.microphoneConnecting}),[e.settings,e.record,e.stop,e.minimumRecordingTimeNotReached,e.pause,e.resume,e.mute,e.unmute,e.switchSource,e.download,e.microphoneConnecting]),settings:b(()=>({settings:e.settings,camera:e.camera,microphone:e.microphone}),[e.settings,e.camera,e.microphone])}}const A=`https://core.vidtreo.com`,j={en:{initializingCamera:`Initializing camera...`,grantPermissions:`Grant camera and microphone permissions when prompted`,browserUnsupported:`This browser is not supported`,browserUnsupportedDynamic:`{browser} ({version}) is not supported, please use <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,browserUnsupportedSafari:`Safari (latest stable) is supported. If you experience issues, please use <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,browserUnsupportedFirefox:`Firefox is not supported, please use <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,retryCamera:`Retry Camera`,cameraInUse:`Your camera is being used by another application. Close other apps using the camera (Zoom, Teams, Discord) and try again.`,cameraNotFound:`No camera detected. Connect a camera or check your device settings.`,cameraPermissionDenied:`Camera access was denied. Allow camera access in your browser settings and try again.`,cameraTimeout:`The camera took too long to start. Close other apps using the camera and try again.`,failedToStartCamera:`Failed to start camera`,audioInUse:`Your microphone is being used by another application. Close other apps using the microphone (Zoom, Teams, Discord) and try again.`,audioNotFound:`No microphone detected. Connect a microphone or check your device settings.`,audioPermissionDenied:`Microphone access was denied. Allow microphone access in your browser settings and try again.`,audioTimeout:`The microphone took too long to start. Close other apps using the microphone and try again.`,failedToStartAudio:`Failed to start microphone`,audioErrorTitle:`Microphone unavailable`,audioErrorMessage:`We couldn't access your microphone. It may be in use by another app like Zoom, Teams, or Discord. Please close it and try again.`,audioErrorRetry:`Try again`,audioMissingTitle:`Recording has no audio`,audioMissingMessage:`We couldn't capture audio in this recording. Your microphone may have been disconnected or blocked by the browser. Check your microphone and record again.`,audioSilentTitle:`Recording is silent`,audioSilentMessage:`We didn't detect any sound during the recording. Make sure your microphone is working and not muted by your operating system, then record again.`,audioProcessingErrorTitle:`Audio processing error`,audioProcessingErrorMessage:`We couldn't process the audio in this recording. Please record again.`,audioMissingRetry:`Record again`,audioWarningNoSignalTitle:`No microphone signal`,audioWarningNoSignalMessage:`We're not detecting any sound. Check that your microphone is active.`,audioWarningLowSignalTitle:`Audio is very quiet`,audioWarningLowSignalMessage:`Move closer to the microphone or turn up the input volume.`,audioWarningSpeakingMutedTitle:`You're speaking while muted`,audioWarningSpeakingMutedMessage:`Unmute your microphone if you want your voice in the recording.`,audioWarningTrackEndedTitle:`Microphone disconnected`,audioWarningTrackEndedMessage:`The microphone was disconnected. Reconnect it before continuing.`,audioWarningNoChunksTitle:`No microphone input`,audioWarningNoChunksMessage:`We're not receiving audio from the microphone. Check browser permissions.`,audioWarningTrackMutedTitle:`Microphone muted by browser`,audioWarningTrackMutedMessage:`The browser muted your microphone. Check site settings.`,audioWarningDismiss:`Dismiss`,cameraErrorTitle:`Camera unavailable`,cameraErrorMessage:`We couldn't access your camera. It may be in use by another app. Please close it and try again.`,browserErrorTitle:`Browser not supported`,browserErrorMessage:`Your browser doesn't support video recording. Please use the latest version of Chrome for the best experience.`,recordingCodecUnsupportedTitle:`Recording format not supported`,recordingCodecUnsupportedMessage:`This device can't use the selected video format. Close other apps, update Chrome if possible, and record again.`,recordingMediaEmptyTitle:`No video was produced`,recordingMediaEmptyMessage:`The browser didn't produce a usable video. Check your camera and record again.`,recordingMediaErrorTitle:`Recording could not be finished`,recordingMediaErrorMessage:`The browser reported an error before the video was ready to upload. Record again.`,recordingServerTranscodeFallbackTitle:`Video processing failed`,recordingServerTranscodeFallbackMessage:`We couldn't prepare this video for upload on your device. Record again.`,recordingTrackEndedTitle:`Camera stopped during recording`,recordingTrackEndedMessage:`The camera feed ended before the recording finished. Check that the camera is still connected and record again.`,recordingFinalizeTimeoutTitle:`Recording took too long to finish`,recordingFinalizeTimeoutMessage:`This device may be low on memory or processing power. Close other apps or browser tabs, then record again.`,recordingStateRaceTitle:`Recording did not start correctly`,recordingStateRaceMessage:`The recording could not be finalized because it did not start cleanly. Please refresh the page and record again.`,recordingNoFramesTitle:`No video was captured`,recordingNoFramesMessage:`We couldn't receive video frames from the camera. Check your camera connection and record again.`,recordingUnsupportedTitle:`Recording not available`,recordingUnsupportedMessage:`This device or browser can't record video reliably right now. Check your connection, update Chrome if possible, or use another device.`,recordingPipelineRetry:`Record again`,genericErrorTitle:`Something went wrong`,genericErrorMessage:`An unexpected error occurred. Please try again.`,errorRetry:`Try again`,switchingDevice:`Switching device...`,recordingStartsIn:`Recording starts in...`,switchingSource:`Switching source...`,rec:`REC`,settings:`Settings`,record:`Record`,stop:`Stop`,pause:`Pause`,resume:`Resume`,mute:`Mute`,unmute:`Unmute`,switchSource:`Switch Source`,camera:`Camera`,microphone:`Microphone`,microphoneConnecting:`Connecting microphone...`,minimumRecordingTimeNotReached:`You have not met the minimum recording time yet`,uploading:`Uploading...`,retryingUpload:`Retrying upload...`,finishing:`Finishing...`,userInAnotherTab:`User in another tab`,download:`Download`,nativeCameraSelectVideo:`Select Video from Gallery`,nativeCameraRecordVideo:`Record with Camera`,nativeCameraProcessing:`Processing video...`,nativeCameraConfigLoading:`Loading settings...`,errorTitle:`Configuration Error`,errorApiKeyRequired:`API Key is required. Provide it as a prop or set VIDTREO_API_KEY environment variable.`,errorGeneric:`An error occurred while initializing the recorder`,mobileOpenCamera:`Allow Access`,mobileOpenCameraTitle:`Camera & Microphone`,mobileOpenCameraDescription:`We need access to your camera and microphone to start recording`,mobileCloseCamera:`Close`,mobileHideRecordingPrompt:`Hide prompt`,mobileShowRecordingPrompt:`Show prompt`,mobilePermissionDenied:`Camera Access Denied`,mobilePermissionDeniedDescription:`Please allow camera access in your browser settings to record video.`,permissionFlowTitle:`Set Up Your Camera`,permissionFlowCameraTitle:`Camera & Microphone`,permissionFlowMicrophoneTitle:`Camera & Microphone`,permissionFlowCameraLabel:`We need access to your camera and microphone to start recording`,permissionFlowMicrophoneLabel:`We need access to your camera and microphone to start recording`,permissionFlowStatusPending:`Pending`,permissionFlowStatusGranted:`Ready`,permissionFlowStatusDenied:`Blocked`,permissionFlowStatusRequesting:`Click "Allow" in the browser popup above`,permissionFlowAllowCamera:`Allow Access`,permissionFlowAllowMicrophone:`Allow Access`,permissionFlowRetry:`Try Again`,permissionFlowRecoveryTitle:`Allow access to continue`,permissionFlowRecoveryInstructions:`Open your browser settings and allow camera and microphone access, then try again.`,permissionFlowRecoveryGuideHint:`Enable the toggles above, then tap Retry`,permissionFlowConnecting:`Setting up...`},es:{initializingCamera:`Inicializando cámara...`,grantPermissions:`Otorga permisos de cámara y micrófono cuando se solicite`,browserUnsupported:`Este navegador no es compatible`,browserUnsupportedDynamic:`{browser} ({version}) no es compatible, por favor usa <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,browserUnsupportedSafari:`Safari (última versión estable) es compatible. Si experimentas problemas, por favor usa <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,browserUnsupportedFirefox:`Firefox no es compatible, por favor use <a href="https://www.google.com/chrome/" target="_blank" rel="noopener noreferrer">Chrome</a>`,retryCamera:`Reintentar Cámara`,cameraInUse:`Tu cámara está siendo usada por otra aplicación. Cierra otras apps que usen la cámara (Zoom, Teams, Discord) e intenta de nuevo.`,cameraNotFound:`No se detectó ninguna cámara. Conecta una cámara o revisa la configuración de tu dispositivo.`,cameraPermissionDenied:`Se denegó el acceso a la cámara. Permite el acceso a la cámara en la configuración de tu navegador e intenta de nuevo.`,cameraTimeout:`La cámara tardó demasiado en iniciar. Cierra otras apps que usen la cámara e intenta de nuevo.`,failedToStartCamera:`Error al iniciar la cámara`,audioInUse:`Tu micrófono está siendo usado por otra aplicación. Cierra otras apps que usen el micrófono (Zoom, Teams, Discord) e intenta de nuevo.`,audioNotFound:`No se detectó ningún micrófono. Conecta un micrófono o revisa la configuración de tu dispositivo.`,audioPermissionDenied:`Se denegó el acceso al micrófono. Permite el acceso al micrófono en la configuración de tu navegador e intenta de nuevo.`,audioTimeout:`El micrófono tardó demasiado en iniciar. Cierra otras apps que usen el micrófono e intenta de nuevo.`,failedToStartAudio:`Error al iniciar el micrófono`,audioErrorTitle:`Micrófono no disponible`,audioErrorMessage:`No pudimos acceder a tu micrófono. Puede estar en uso por otra app como Zoom, Teams o Discord. Ciérrala e inténtalo de nuevo.`,audioErrorRetry:`Intentar de nuevo`,audioMissingTitle:`La grabación no tiene audio`,audioMissingMessage:`No pudimos capturar audio en esta grabación. Es posible que el micrófono se haya desconectado o que el navegador lo haya bloqueado. Verifica tu micrófono y vuelve a grabar.`,audioSilentTitle:`La grabación quedó en silencio`,audioSilentMessage:`No detectamos sonido durante la grabación. Verifica que tu micrófono esté funcionando y no esté silenciado por el sistema, luego vuelve a grabar.`,audioProcessingErrorTitle:`Error al procesar el audio`,audioProcessingErrorMessage:`No pudimos procesar el audio de esta grabación. Por favor vuelve a grabar.`,audioMissingRetry:`Grabar de nuevo`,audioWarningNoSignalTitle:`Sin señal del micrófono`,audioWarningNoSignalMessage:`No estamos detectando sonido. Verifica que tu micrófono esté activo.`,audioWarningLowSignalTitle:`Audio muy bajo`,audioWarningLowSignalMessage:`Acércate al micrófono o sube el volumen de entrada.`,audioWarningSpeakingMutedTitle:`Estás hablando muteado`,audioWarningSpeakingMutedMessage:`Activa el micrófono si quieres que tu voz se escuche en la grabación.`,audioWarningTrackEndedTitle:`Micrófono desconectado`,audioWarningTrackEndedMessage:`Se desconectó el micrófono. Reconéctalo antes de continuar.`,audioWarningNoChunksTitle:`Sin entrada del micrófono`,audioWarningNoChunksMessage:`No estamos recibiendo audio del micrófono. Revisa los permisos del navegador.`,audioWarningTrackMutedTitle:`Micrófono silenciado por el navegador`,audioWarningTrackMutedMessage:`El navegador silenció tu micrófono. Revisa la configuración del sitio.`,audioWarningDismiss:`Cerrar`,cameraErrorTitle:`Cámara no disponible`,cameraErrorMessage:`No pudimos acceder a tu cámara. Puede estar en uso por otra app. Ciérrala e inténtalo de nuevo.`,browserErrorTitle:`Navegador no compatible`,browserErrorMessage:`Tu navegador no es compatible con la grabación de video. Por favor usa la última versión de Chrome.`,recordingCodecUnsupportedTitle:`Formato de grabación no compatible`,recordingCodecUnsupportedMessage:`Este dispositivo no puede usar el formato de video seleccionado. Cierra otras apps, actualiza Chrome si es posible y vuelve a grabar.`,recordingMediaEmptyTitle:`No se generó ningún video`,recordingMediaEmptyMessage:`El navegador no produjo un video utilizable. Verifica la cámara y vuelve a grabar.`,recordingMediaErrorTitle:`No se pudo finalizar la grabación`,recordingMediaErrorMessage:`El navegador informó un error antes de preparar el video para subirlo. Vuelve a grabar.`,recordingServerTranscodeFallbackTitle:`No se pudo procesar el video`,recordingServerTranscodeFallbackMessage:`No pudimos preparar este video para subirlo en tu dispositivo. Vuelve a grabar.`,recordingTrackEndedTitle:`La cámara se detuvo durante la grabación`,recordingTrackEndedMessage:`La señal de la cámara terminó antes de finalizar la grabación. Verifica que la cámara siga conectada y vuelve a grabar.`,recordingFinalizeTimeoutTitle:`La grabación tardó demasiado en finalizar`,recordingFinalizeTimeoutMessage:`Es posible que este dispositivo tenga poca memoria o potencia de procesamiento. Cierra otras apps o pestañas del navegador y vuelve a grabar.`,recordingStateRaceTitle:`La grabación no inició correctamente`,recordingStateRaceMessage:`No se pudo finalizar la grabación porque no inició correctamente. Actualiza la página y vuelve a grabar.`,recordingNoFramesTitle:`No se capturó video`,recordingNoFramesMessage:`No pudimos recibir fotogramas de video de la cámara. Verifica la conexión de la cámara y vuelve a grabar.`,recordingUnsupportedTitle:`Grabación no disponible`,recordingUnsupportedMessage:`Este dispositivo o navegador no puede grabar video de forma estable ahora. Revisa tu conexión, actualiza Chrome si es posible o usa otro dispositivo.`,recordingPipelineRetry:`Grabar de nuevo`,genericErrorTitle:`Algo salió mal`,genericErrorMessage:`Ocurrió un error inesperado. Por favor inténtalo de nuevo.`,errorRetry:`Intentar de nuevo`,switchingDevice:`Cambiando dispositivo...`,recordingStartsIn:`La grabación comienza en...`,switchingSource:`Cambiando fuente...`,rec:`GRAB`,settings:`Configuración`,record:`Grabar`,stop:`Detener`,pause:`Pausar`,resume:`Reanudar`,mute:`Silenciar`,unmute:`Activar sonido`,switchSource:`Cambiar Fuente`,camera:`Cámara`,microphone:`Micrófono`,microphoneConnecting:`Conectando micrófono...`,minimumRecordingTimeNotReached:`Aun no cumples el tiempo minimo de grabacion`,uploading:`Subiendo...`,retryingUpload:`Reintentando subida...`,finishing:`Finalizando...`,userInAnotherTab:`Usuario en otra pestaña`,download:`Descargar`,nativeCameraSelectVideo:`Seleccionar Video de la Galería`,nativeCameraRecordVideo:`Grabar con Cámara`,nativeCameraProcessing:`Procesando video...`,nativeCameraConfigLoading:`Cargando configuración...`,errorTitle:`Error de Configuración`,errorApiKeyRequired:`Se requiere una API Key. Proporciónala como prop o configura la variable de entorno VIDTREO_API_KEY.`,errorGeneric:`Ocurrió un error al inicializar la grabadora`,mobileOpenCamera:`Permitir Acceso`,mobileOpenCameraTitle:`Cámara y Micrófono`,mobileOpenCameraDescription:`Necesitamos acceso a tu cámara y micrófono para comenzar a grabar`,mobileCloseCamera:`Cerrar`,mobileHideRecordingPrompt:`Ocultar pregunta`,mobileShowRecordingPrompt:`Mostrar pregunta`,mobilePermissionDenied:`Acceso a Cámara Denegado`,mobilePermissionDeniedDescription:`Por favor permite el acceso a la cámara en la configuración de tu navegador para grabar video.`,permissionFlowTitle:`Configurar tu Cámara`,permissionFlowCameraTitle:`Cámara y Micrófono`,permissionFlowMicrophoneTitle:`Cámara y Micrófono`,permissionFlowCameraLabel:`Necesitamos acceso a tu cámara y micrófono para comenzar a grabar`,permissionFlowMicrophoneLabel:`Necesitamos acceso a tu cámara y micrófono para comenzar a grabar`,permissionFlowStatusPending:`Pendiente`,permissionFlowStatusGranted:`Listo`,permissionFlowStatusDenied:`Bloqueado`,permissionFlowStatusRequesting:`Haz clic en "Permitir" en el aviso del navegador`,permissionFlowAllowCamera:`Permitir Acceso`,permissionFlowAllowMicrophone:`Permitir Acceso`,permissionFlowRetry:`Reintentar`,permissionFlowRecoveryTitle:`Permite el acceso para continuar`,permissionFlowRecoveryInstructions:`Abre la configuración de tu navegador y permite el acceso a la cámara y micrófono, luego intenta de nuevo.`,permissionFlowRecoveryGuideHint:`Activa los interruptores de arriba, luego presiona Reintentar`,permissionFlowConnecting:`Preparando...`}};function M(e=`en`,t={}){return{...j[e]||j.en,...t}}function N(e=`en`,t={}){return M(e,t)}const P=/^https?:\/\//i;function F(e){return e!==void 0&&Number.isFinite(e)&&e>0}function I(e){return e?P.test(e)?e:`https://${e}`:A}function te(e){if(e.enableTabVisibilityOverlay!==!0)return;let t=e.tabVisibilityOverlayText;return t!==void 0&&t.trim().length>0?t:M(e.lang||`en`,e.texts).userInAnotherTab}function ne(e,t){let n=F(e),r=F(t);if(n&&r&&e!==void 0&&t!==void 0&&e>t)throw Error(`minTimeRecord cannot be greater than maxRecordingTime`)}function L(e,t){ne(e.minTimeRecord,e.maxRecordingTime);let n={apiKey:t,backendUrl:I(e.backendUrl)};e.demo!==void 0&&(n.demo=e.demo),e.countdownDuration!==void 0&&(n.countdownDuration=e.countdownDuration),e.maxRecordingTime!==void 0&&(n.maxRecordingTime=e.maxRecordingTime),e.userMetadata&&(n.userMetadata=e.userMetadata),e.enableSourceSwitching!==void 0&&(n.enableSourceSwitching=e.enableSourceSwitching),e.enableMute!==void 0&&(n.enableMute=e.enableMute),e.enablePause!==void 0&&(n.enablePause=e.enablePause),e.enableDeviceChange!==void 0&&(n.enableDeviceChange=e.enableDeviceChange),e.enableTabVisibilityOverlay!==void 0&&(n.enableTabVisibilityOverlay=e.enableTabVisibilityOverlay);let r=te(e);return r!==void 0&&(n.tabVisibilityOverlayText=r),n}const R=1e3,re=/^\d+$/;function ie(e){return re.test(e)}function ae(e){let t=e.trim();if(t.length===0)return 0;let n=t.split(`:`);if(n.length!==2&&n.length!==3)return 0;for(let e of n)if(!ie(e))return 0;if(n.length===2){let e=Number.parseInt(n[0],10),t=Number.parseInt(n[1],10);return(e*60+t)*R}let r=Number.parseInt(n[0],10),i=Number.parseInt(n[1],10),a=Number.parseInt(n[2],10);return((r*60+i)*60+a)*R}function oe(e,t,n){return!n||e==null||Number.isFinite(e)===!1||e<=0?!1:ae(t)<e}function se(){let e=Error(`Minimum recording time has not been reached yet`);return e.code=`recording.minimum-time-not-reached`,e}const z=new Map,ce=`vidtreo_permission_retry`;function le(e,t){return`${e}:${t}`}function ue(){let e=u(),t=null;e.name.length>0&&(t=e.name);let n=null;return e.version.length>0&&(n=e.version),{browserName:t,browserVersion:n}}function de(e){return typeof e==`string`&&(e===`browser.unsupported`||e.startsWith(`camera.`)||e.startsWith(`audio.`)||e.startsWith(`recording.`))?e:null}function fe(e){return e.isFinalizingRecording||e.transcodingProgress!==null?!0:e.uploadProgress!==null}function pe(e){let[t,n]=S({recordingState:`idle`,countdown:null}),r=t.recordingState,a=t.countdown,[o,s]=S(null),[c,u]=S(!1),[f,p]=S(!1),[m,h]=S(!1),[g,_]=S(null),[C,w]=S(null),[T,E]=S(null),[D,O]=S(null),[k,ee]=S(``),[j,M]=S(null),[N,P]=S(null),[F,I]=S(null),[te,ne]=S(0),[R,re]=S(null),[ie,ae]=S(!1),[pe,me]=S(!1),[he,B]=S(!1),[V,H]=S(null),[ge,_e]=S(null),[ve,ye]=S(!1),[be,xe]=S({cameras:[],microphones:[],selectedCamera:null,selectedMic:null}),U=x(null),Se=x(!1),W=x(!1),G=x(!1),K=x(e),Ce=x(!1),we=x(r),Te=x(f),q=x(!1),Ee=x(!1),De=x(j),Oe=x(F),J=x(null),ke=x(k);K.current=e,y(()=>{we.current=t.recordingState},[t.recordingState]),y(()=>{Te.current=f},[f]),y(()=>{De.current=j},[j]),y(()=>{Oe.current=F},[F]);let Ae=v(()=>{q.current=!1,h(!1)},[]),je=v(()=>{!Se.current||Ee.current||(Ee.current=!0,K.current.onRecordingStop?.())},[]),Me=v(()=>{q.current||(q.current=!0,h(!0),je())},[je]),Y=v(e=>{q.current=!1,h(!1);let t=l(e),n=!1;if(e&&typeof e==`object`&&`name`in e&&e.name===`NotAllowedError`&&(n=!0,sessionStorage.setItem(ce,`true`),t=`Camera and microphone access is required. Please enable permissions in your browser settings and reload the page.`),_(t),I(null),e&&typeof e==`object`&&`code`in e){let t=e,n=de(t.code);if(n===`browser.unsupported`){w(n);let e=null;t.browserName&&(e=t.browserName);let r=null;if(t.browserVersion&&(r=t.browserVersion),e===null||r===null){let t=ue();e===null&&(e=t.browserName),r===null&&t.browserVersion&&(r=t.browserVersion)}E(e),O(r);return}n!==null&&(w(n),E(null),O(null))}if(K.current.onError){let r;r=n?Error(t):e instanceof Error?e:Error(t),K.current.onError(r)}},[]),Ne=v(()=>U.current?U.current.getAudioStreamForAnalysis():null,[]),Pe=v(e=>!(!e||e.getAudioTracks().length===0),[]),Fe=v(async e=>{U.current&&(U.current.stopAudioLevelTracking(),await U.current.startAudioLevelTracking(e,{onLevelUpdate:(e,t)=>{ne(e),u(t)}}))},[]),Ie=v(async(e=5,t=50)=>{for(let n=0;n<e;n+=1){let r=Ne();if(r)return r;n<e-1&&await new Promise(e=>{setTimeout(e,t)})}return Ne()},[Ne]),X=v(async(e,t=!1)=>{if(!U.current)return;let n=U.current.isRecording(),r=null;n&&t?(r=Ne(),r||=await Ie()):e&&(r=e),Pe(r)&&r&&await Fe(r)},[Ne,Pe,Fe,Ie]),Z=v(async()=>{let e=U.current;if(!(e&&o))return;let t=e.getDeviceManager(),n=await t.getAvailableDevices();U.current===e&&xe({cameras:n.videoinput,microphones:n.audioinput,selectedCamera:t.getSelectedCameraDeviceId(),selectedMic:t.getSelectedMicDeviceId()})},[o]);y(()=>{Z()},[Z]),y(()=>{U.current&&o&&U.current.getStream()===o&&(u(U.current.getIsMuted()),p(U.current.isPaused()))},[o]);let Le=v(e=>{if(Ce.current)return Promise.resolve({recordingId:``,uploadUrl:``,blob:e});if(Ce.current=!0,K.current.demo)return Ce.current=!1,I(null),M(null),P(null),H(e),Promise.resolve({recordingId:``,uploadUrl:``,blob:e});if(!U.current)return Ce.current=!1,Promise.reject(Error(`Controller not initialized`));let t=K.current.onUploadProgress;I(null),M(0),P(null),t&&t(0);let n=K.current.backendUrl||A;return U.current.uploadVideo(e,K.current.apiKey,n,K.current.userMetadata??{}).then(()=>({recordingId:``,uploadUrl:``,blob:e})).catch(e=>{throw M(null),P(null),e}).finally(()=>{Ce.current=!1})},[]),Re=v(e=>({onStateChange:e=>{n(t=>({...t,recordingState:e})),e===`recording`&&(Se.current=!0,Ee.current=!1,K.current.onRecordingStart?.(),setTimeout(()=>{X(null,!0).catch(()=>{})},100)),e===`idle`&&(je(),Se.current=!1)},onCountdownUpdate:(e,t)=>{n({recordingState:e,countdown:t})},onTimerUpdate:e=>{ke.current=e,ee(e)},onError:Y,onFinalizationStart:Me,onRecordingComplete:e=>{n(e=>({...e,countdown:null}));let t=Le(e);Ae(),t.catch(e=>{Y(e)})},onClearUploadStatus:()=>{M(Ce.current?0:null)},onTranscodingProgress:e=>{I(e),K.current.onTranscodingProgress?.(e)},onAudioWarning:e=>{_e(e),ye(!1)},onAudioRecovered:()=>{_e(null),ye(!0)},onStopAudioTracking:()=>{U.current&&U.current.stopAudioLevelTracking()},onGetConfig:()=>{if(!U.current)throw Error(`Controller not initialized`);return e?Promise.resolve(d(`mp4`)):U.current.getConfig()}}),[Me,Ae,Y,je,X,Le]),ze=v(()=>({onProgress:e=>{M(e),K.current.onUploadProgress&&K.current.onUploadProgress(e)},onSuccess:e=>{M(null),P(null),I(null),K.current.onUploadComplete&&K.current.onUploadComplete({recordingId:e.id,uploadUrl:e.uploadUrl||``})},onError:e=>{M(null),P(null),I(null),K.current.onUploadError&&K.current.onUploadError(e)},onRetry:e=>{M(0),P(e.attempt)},onClearStatus:()=>{P(null)}}),[]),Be=v(()=>({onStreamStart:async e=>{s(e),_(null),w(null),E(null),O(null);let t=U.current;t&&(J.current&&=(J.current(),null),ae(t.isAudioReady()),me(!1),J.current=t.getStreamManager().on(`audiostatuschange`,({status:e})=>{ae(e===`acquired`),me(e===`failed`)})),t?.isRecording()||await X(e,!1).catch(()=>{})},onStreamStop:()=>{U.current&&U.current.stopAudioLevelTracking(),J.current&&=(J.current(),null),s(null),ne(0),ae(!1),me(!1)},onError:e=>{Y(e)}}),[Y,X]),Ve=v(()=>({onSourceChange:async e=>{if(U.current?.isRecording()){if(e===`camera`){let e=U.current?.getStream();if(!e||e.getAudioTracks().length===0)return;await X(e,!1).catch(()=>{});return}await X(null,!0).catch(()=>{})}},onPreviewUpdate:async e=>{let t=U.current?.isRecording();s(e),t||await X(e,!1).catch(()=>{})},onError:Y,onTransitionStart:e=>{re(e)},onTransitionEnd:()=>{re(null)}}),[Y,X]);y(()=>{let t=e.backendUrl||A,n=le(e.apiKey,t),r=K.current.apiKey!==e.apiKey,a=(K.current.backendUrl||A)!==t;if(sessionStorage.getItem(ce)===`true`&&(z.delete(n),sessionStorage.removeItem(ce)),!(r||a)&&W.current&&U.current)return;let o=z.get(n);if(o){U.current=o.controller,o.promise.then(()=>{W.current=!0,G.current=!1,B(!0)}).catch(e=>{Y(e),W.current=!1,G.current=!1,B(!1),z.delete(n)});return}if(G.current||U.current&&!r&&!a)return;G.current=!0,U.current&&=(U.current.cleanup(),U.current.getStreamManager().destroy(),null),W.current=!1,K.current=e;let s=e.demo?{demo:!0,backendUrl:void 0,countdownDuration:e.countdownDuration,minTimeRecord:e.minTimeRecord,maxRecordingTime:e.maxRecordingTime,userMetadata:e.userMetadata,enableSourceSwitching:e.enableSourceSwitching,enableMute:e.enableMute,enablePause:e.enablePause,enableDeviceChange:e.enableDeviceChange,enableTabVisibilityOverlay:e.enableTabVisibilityOverlay,tabVisibilityOverlayText:e.tabVisibilityOverlayText,lang:e.lang,texts:e.texts}:{demo:!1,apiKey:e.apiKey,backendUrl:t,countdownDuration:e.countdownDuration,minTimeRecord:e.minTimeRecord,maxRecordingTime:e.maxRecordingTime,userMetadata:e.userMetadata,enableSourceSwitching:e.enableSourceSwitching,enableMute:e.enableMute,enablePause:e.enablePause,enableDeviceChange:e.enableDeviceChange,enableTabVisibilityOverlay:e.enableTabVisibilityOverlay,tabVisibilityOverlayText:e.tabVisibilityOverlayText,lang:e.lang,texts:e.texts},c;try{c=L(s,e.demo?``:e.apiKey)}catch(e){Y(e),G.current=!1,B(!1);return}let l=new i({recording:Re(e.demo??!1),upload:ze(),stream:Be(),sourceSwitch:Ve()});U.current=l;let u=l.initialize(c).then(()=>{W.current=!0,G.current=!1,B(!0)});return z.set(n,{promise:u,controller:l}),u.catch(e=>{Y(e),W.current=!1,G.current=!1,B(!1),z.delete(n)}),()=>{let e=z.get(n);e&&e.controller===U.current&&z.delete(n),J.current&&=(J.current(),null),U.current&&=(U.current.cleanup(),U.current.getStreamManager().destroy(),null),W.current=!1,G.current=!1}},[e.apiKey,e.backendUrl||A,e.countdownDuration,e.maxRecordingTime,e.enableSourceSwitching,e.enableMute,e.enablePause,e.enableDeviceChange,e.enableTabVisibilityOverlay,e.tabVisibilityOverlayText,e.lang,e.texts,e.demo,X,Y,Re,ze,Be,Ve]);let He=v(async(e=`camera`)=>{if(!(U.current&&W.current))throw Error(`Controller not initialized`);await U.current.startStream();let t=U.current.getStream();t&&(s(t),_(null),w(null),E(null),O(null),U.current.isRecording()||await X(t,!1).catch(()=>{})),e===`screen`&&await U.current.switchSource(`screen`)},[X]),Q=v(()=>{if(!U.current)throw Error(`Controller not initialized`);return U.current},[]),Ue=v(async e=>{Q().isActive()||await He(e)},[Q,He]),We=v(async e=>{let t=Q();e!==t.getCurrentSourceType()&&await t.switchSource(e)},[Q]),Ge=v(e=>e===``||e===`default`?null:e,[]),Ke=b(()=>({startRecording:async(e=`camera`)=>{let t=Q();if(fe({isFinalizingRecording:q.current,transcodingProgress:Oe.current,uploadProgress:De.current}))throw Error(`Cannot start a new recording while the previous recording is still being processed`);K.current.demo&&H(null),_e(null),ye(!1),await Ue(e),await We(e),await t.startRecording()},stopRecording:async()=>{let e=U.current;if(!e)throw Error(`Controller not initialized`);let t=we.current===`recording`||Te.current;if(oe(K.current.minTimeRecord,ke.current,t))throw se();if(q.current)throw Error(`Recording is already being finalized`);Me();try{return{recordingId:``,uploadUrl:``,blob:await e.stopRecording()}}finally{Ae()}},pauseRecording:()=>{let e=U.current;e&&(e.pauseRecording(),p(e.isPaused()))},resumeRecording:()=>{let e=U.current;e&&(e.resumeRecording(),p(e.isPaused()))},toggleMute:()=>{let e=U.current;e&&(e.toggleMute(),u(e.getIsMuted()))},switchSource:async e=>{let t=U.current;if(!t)throw Error(`Controller not initialized`);await t.switchSource(e)},changeCamera:async e=>{let t=U.current;if(!t)throw Error(`Controller not initialized`);let n=Ge(e);t.setCameraDevice(n);let r=await t.switchVideoDevice(n);s(r),_(null),w(null),E(null),O(null),t.isRecording()||await X(r,!1);let i=t.getDeviceManager();xe(e=>({...e,selectedCamera:i.getSelectedCameraDeviceId()}))},changeMic:async e=>{let t=U.current;if(!t)throw Error(`Controller not initialized`);let n=Ge(e);t.setMicDevice(n);let r=await t.switchAudioDevice(n);s(r),_(null),w(null),E(null),O(null),t.isRecording()||await X(r,!1);let i=t.getDeviceManager();xe(e=>({...e,selectedMic:i.getSelectedMicDeviceId()}))},startPreview:He,downloadVideo:()=>{if(!V)return;let e=URL.createObjectURL(V),t=document.createElement(`a`);t.href=e,t.download=`recording-${Date.now()}.mp4`,document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(e)},stopPreview:()=>{if(!U.current)return;U.current.stopAudioLevelTracking();let e=U.current.getStream();if(e)for(let t of e.getTracks())t.stop();U.current.getStreamManager().stopStream(),s(null),ne(0),_(null),w(null),E(null),O(null),ae(!1),me(!1)},cleanup:()=>{U.current&&=(U.current.cleanup(),U.current.getStreamManager().destroy(),null),W.current=!1,Se.current=!1,q.current=!1,Ee.current=!1,B(!1),h(!1),H(null)}}),[Ge,X,He,V,Q,Ue,We,Me,Ae]);return{state:b(()=>({recordingState:r,stream:o,isMuted:c,isPaused:f,isFinalizingRecording:m,isAudioReady:ie,hasAudioFailed:pe,error:g,errorCode:C,browserName:T,browserVersion:D,countdown:a,timer:k,uploadProgress:j,uploadRetryAttempt:N,transcodingProgress:F,transitionMessage:R,isInitialized:he,recordedBlob:V,devices:be,audioWarning:ge,audioRecovered:ve}),[r,o,c,f,m,ie,pe,g,C,T,D,a,k,j,N,F,R,he,V,be,ge,ve]),actions:Ke,audioLevel:te,controller:U.current}}function me(e,t,n,r){return{showSettingsButton:!e&&r.enableDeviceChange!==!1,showMuteButton:e&&r.enableMute!==!1,showPauseButton:e&&r.enablePause!==!1&&t===`recording`&&!n,showResumeButton:e&&r.enablePause!==!1&&n,showStopButton:e,showSwitchSourceButton:e&&r.enableSourceSwitching!==!1&&r.isMobile!==!0}}const he=Object.freeze({visible:!1,variant:`generic`,title:``,message:``,canRetry:!1}),B=new Set([`recording.audio-no-chunks`,`recording.audio-track-ended`,`recording.no-audio-track`,`recording.no-audio-frames`]),V=new Set([`recording.audio-silent`]),H=new Set([`recording.audio-zero-channels`,`recording.audio-invalid-sample-rate`]);function ge(e,t){switch(e){case`audio.in-use`:return{title:t.audioErrorTitle,message:t.audioInUse,retryLabel:t.audioErrorRetry};case`audio.not-found`:case`audio.overconstrained`:return{title:t.audioErrorTitle,message:t.audioNotFound,retryLabel:t.audioErrorRetry};case`audio.permission-denied`:return{title:t.audioErrorTitle,message:t.audioPermissionDenied,retryLabel:t.audioErrorRetry};case`audio.timeout`:return{title:t.audioErrorTitle,message:t.audioTimeout,retryLabel:t.audioErrorRetry};default:break}return e&&B.has(e)?{title:t.audioMissingTitle,message:t.audioMissingMessage,retryLabel:t.audioMissingRetry}:e&&V.has(e)?{title:t.audioSilentTitle,message:t.audioSilentMessage,retryLabel:t.audioMissingRetry}:e&&H.has(e)?{title:t.audioProcessingErrorTitle,message:t.audioProcessingErrorMessage,retryLabel:t.audioMissingRetry}:{title:t.audioErrorTitle,message:t.audioErrorMessage,retryLabel:t.audioErrorRetry}}function _e(e,t){switch(e){case`camera.in-use`:return{title:t.cameraErrorTitle,message:t.cameraInUse,retryLabel:t.errorRetry};case`camera.not-found`:case`camera.overconstrained`:return{title:t.cameraErrorTitle,message:t.cameraNotFound,retryLabel:t.errorRetry};case`camera.permission-denied`:return{title:t.cameraErrorTitle,message:t.cameraPermissionDenied,retryLabel:t.errorRetry};case`camera.timeout`:return{title:t.cameraErrorTitle,message:t.cameraTimeout,retryLabel:t.errorRetry};default:return{title:t.cameraErrorTitle,message:t.cameraErrorMessage,retryLabel:t.errorRetry}}}function ve(e,t){switch(e){case`recording.codec-unsupported`:return{title:t.recordingCodecUnsupportedTitle,message:t.recordingCodecUnsupportedMessage,retryLabel:t.recordingPipelineRetry};case`recording.mediarecorder-empty`:return{title:t.recordingMediaEmptyTitle,message:t.recordingMediaEmptyMessage,retryLabel:t.recordingPipelineRetry};case`recording.mediarecorder-error`:return{title:t.recordingMediaErrorTitle,message:t.recordingMediaErrorMessage,retryLabel:t.recordingPipelineRetry};case`recording.post-recording-transcode-fallback`:return{title:t.recordingServerTranscodeFallbackTitle,message:t.recordingServerTranscodeFallbackMessage,retryLabel:t.recordingPipelineRetry};case`recording.track-ended`:return{title:t.recordingTrackEndedTitle,message:t.recordingTrackEndedMessage,retryLabel:t.recordingPipelineRetry};case`recording.finalize-timeout-low-resource`:return{title:t.recordingFinalizeTimeoutTitle,message:t.recordingFinalizeTimeoutMessage,retryLabel:t.recordingPipelineRetry};case`recording.not-started-state-race`:return{title:t.recordingStateRaceTitle,message:t.recordingStateRaceMessage,retryLabel:t.recordingPipelineRetry};case`recording.no-video-frames`:return{title:t.recordingNoFramesTitle,message:t.recordingNoFramesMessage,retryLabel:t.recordingPipelineRetry};case`recording.unsupported-device`:return{title:t.recordingUnsupportedTitle,message:t.recordingUnsupportedMessage,retryLabel:t.recordingPipelineRetry};default:return{title:t.genericErrorTitle,message:t.genericErrorMessage,retryLabel:t.errorRetry}}}function ye(e,t,n,r){if(!e.visible)return he;switch(e.variant){case`audio`:{let n=ge(r??null,t);return{visible:!0,variant:`audio`,title:n.title,message:n.message,retryLabel:e.canRetry?n.retryLabel:void 0,canRetry:e.canRetry}}case`browser`:return{visible:!0,variant:`browser`,title:t.browserErrorTitle,message:t.browserErrorMessage,canRetry:!1};case`camera`:{let n=_e(r??null,t);return{visible:!0,variant:`camera`,title:n.title,message:n.message,retryLabel:e.canRetry?n.retryLabel:void 0,canRetry:e.canRetry}}case`generic`:if(e.actionableCode){let n=ve(e.actionableCode,t);return{visible:!0,variant:`generic`,title:n.title,message:n.message,retryLabel:e.canRetry?n.retryLabel:void 0,canRetry:e.canRetry}}return{visible:!0,variant:`generic`,title:t.genericErrorTitle,message:n||t.genericErrorMessage,retryLabel:t.errorRetry,canRetry:!0};default:return he}}function be(e,t){if(t)return``;if(e)return e;if(typeof process<`u`&&process.env&&typeof process.env.VIDTREO_API_KEY==`string`)return process.env.VIDTREO_API_KEY;throw Error(`apiKey is required. Provide it as a prop or set VIDTREO_API_KEY environment variable.`)}const xe={},U=`camera`,Se=`screen`,W=`recording`,G=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M244,56v48a12,12,0,0,1-12,12H184a12,12,0,1,1,0-24H201.1l-19-17.38c-.13-.12-.26-.24-.38-.37A76,76,0,1,0,127,204h1a75.53,75.53,0,0,0,52.15-20.72,12,12,0,0,1,16.49,17.45A99.45,99.45,0,0,1,128,228h-1.37A100,100,0,1,1,198.51,57.06L220,76.72V56a12,12,0,0,1,24,0Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M240,56v48a8,8,0,0,1-8,8H184a8,8,0,0,1,0-16H211.4L184.81,71.64l-.25-.24a80,80,0,1,0-1.67,114.78,8,8,0,0,1,11,11.63A95.44,95.44,0,0,1,128,224h-1.32A96,96,0,1,1,195.75,60L224,85.8V56a8,8,0,1,1,16,0Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M240,56v48a8,8,0,0,1-8,8H184a8,8,0,0,1-5.66-13.66l17-17-10.55-9.65-.25-.24a80,80,0,1,0-1.67,114.78,8,8,0,1,1,11,11.63A95.44,95.44,0,0,1,128,224h-1.32A96,96,0,1,1,195.75,60l10.93,10L226.34,50.3A8,8,0,0,1,240,56Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M238,56v48a6,6,0,0,1-6,6H184a6,6,0,0,1,0-12h32.55l-30.38-27.8c-.06-.06-.12-.13-.19-.19a82,82,0,1,0-1.7,117.65,6,6,0,0,1,8.24,8.73A93.46,93.46,0,0,1,128,222h-1.28A94,94,0,1,1,194.37,61.4L226,90.35V56a6,6,0,1,1,12,0Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M240,56v48a8,8,0,0,1-8,8H184a8,8,0,0,1,0-16H211.4L184.81,71.64l-.25-.24a80,80,0,1,0-1.67,114.78,8,8,0,0,1,11,11.63A95.44,95.44,0,0,1,128,224h-1.32A96,96,0,1,1,195.75,60L224,85.8V56a8,8,0,1,1,16,0Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M236,56v48a4,4,0,0,1-4,4H184a4,4,0,0,1,0-8h37.7L187.53,68.69l-.13-.12a84,84,0,1,0-1.75,120.51,4,4,0,0,1,5.5,5.82A91.43,91.43,0,0,1,128,220h-1.26A92,92,0,1,1,193,62.84l35,32.05V56a4,4,0,1,1,8,0Z`}))]]),K=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208.49,152.49l-72,72a12,12,0,0,1-17,0l-72-72a12,12,0,0,1,17-17L116,187V40a12,12,0,0,1,24,0V187l51.51-51.52a12,12,0,0,1,17,17Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,144l-72,72L56,144Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M207.39,140.94A8,8,0,0,0,200,136H136V40a8,8,0,0,0-16,0v96H56a8,8,0,0,0-5.66,13.66l72,72a8,8,0,0,0,11.32,0l72-72A8,8,0,0,0,207.39,140.94ZM128,204.69,75.31,152H180.69Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M205.66,149.66l-72,72a8,8,0,0,1-11.32,0l-72-72A8,8,0,0,1,56,136h64V40a8,8,0,0,1,16,0v96h64a8,8,0,0,1,5.66,13.66Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M204.24,148.24l-72,72a6,6,0,0,1-8.48,0l-72-72a6,6,0,0,1,8.48-8.48L122,201.51V40a6,6,0,0,1,12,0V201.51l61.76-61.75a6,6,0,0,1,8.48,8.48Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M205.66,149.66l-72,72a8,8,0,0,1-11.32,0l-72-72a8,8,0,0,1,11.32-11.32L120,196.69V40a8,8,0,0,1,16,0V196.69l58.34-58.35a8,8,0,0,1,11.32,11.32Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M202.83,146.83l-72,72a4,4,0,0,1-5.66,0l-72-72a4,4,0,0,1,5.66-5.66L124,206.34V40a4,4,0,0,1,8,0V206.34l65.17-65.17a4,4,0,0,1,5.66,5.66Z`}))]]),Ce=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208.49,120.49a12,12,0,0,1-17,0L140,69V216a12,12,0,0,1-24,0V69L64.49,120.49a12,12,0,0,1-17-17l72-72a12,12,0,0,1,17,0l72,72A12,12,0,0,1,208.49,120.49Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,112H56l72-72Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M205.66,106.34l-72-72a8,8,0,0,0-11.32,0l-72,72A8,8,0,0,0,56,120h64v96a8,8,0,0,0,16,0V120h64a8,8,0,0,0,5.66-13.66ZM75.31,104,128,51.31,180.69,104Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M207.39,115.06A8,8,0,0,1,200,120H136v96a8,8,0,0,1-16,0V120H56a8,8,0,0,1-5.66-13.66l72-72a8,8,0,0,1,11.32,0l72,72A8,8,0,0,1,207.39,115.06Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M204.24,116.24a6,6,0,0,1-8.48,0L134,54.49V216a6,6,0,0,1-12,0V54.49L60.24,116.24a6,6,0,0,1-8.48-8.48l72-72a6,6,0,0,1,8.48,0l72,72A6,6,0,0,1,204.24,116.24Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M205.66,117.66a8,8,0,0,1-11.32,0L136,59.31V216a8,8,0,0,1-16,0V59.31L61.66,117.66a8,8,0,0,1-11.32-11.32l72-72a8,8,0,0,1,11.32,0l72,72A8,8,0,0,1,205.66,117.66Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M202.83,114.83a4,4,0,0,1-5.66,0L132,49.66V216a4,4,0,0,1-8,0V49.66L58.83,114.83a4,4,0,0,1-5.66-5.66l72-72a4,4,0,0,1,5.66,0l72,72A4,4,0,0,1,202.83,114.83Z`}))]]),we=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,52H182.42L170,33.34A12,12,0,0,0,160,28H96a12,12,0,0,0-10,5.34L73.57,52H48A28,28,0,0,0,20,80V192a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V80A28,28,0,0,0,208,52Zm4,140a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4H80a12,12,0,0,0,10-5.34L102.42,52h51.15L166,70.66A12,12,0,0,0,176,76h32a4,4,0,0,1,4,4ZM128,84a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,84Zm0,72a24,24,0,1,1,24-24A24,24,0,0,1,128,156Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,64H176L160,40H96L80,64H48A16,16,0,0,0,32,80V192a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V80A16,16,0,0,0,208,64ZM128,168a36,36,0,1,1,36-36A36,36,0,0,1,128,168Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H80a8,8,0,0,0,6.66-3.56L100.28,48h55.43l13.63,20.44A8,8,0,0,0,176,72h32a8,8,0,0,1,8,8ZM128,88a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,88Zm0,72a28,28,0,1,1,28-28A28,28,0,0,1,128,160Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm-44,76a36,36,0,1,1-36-36A36,36,0,0,1,164,132Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,58H179.21L165,36.67A6,6,0,0,0,160,34H96a6,6,0,0,0-5,2.67L76.78,58H48A22,22,0,0,0,26,80V192a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V80A22,22,0,0,0,208,58Zm10,134a10,10,0,0,1-10,10H48a10,10,0,0,1-10-10V80A10,10,0,0,1,48,70H80a6,6,0,0,0,5-2.67L99.21,46h57.57L171,67.33A6,6,0,0,0,176,70h32a10,10,0,0,1,10,10ZM128,90a42,42,0,1,0,42,42A42,42,0,0,0,128,90Zm0,72a30,30,0,1,1,30-30A30,30,0,0,1,128,162Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,56H180.28L166.65,35.56A8,8,0,0,0,160,32H96a8,8,0,0,0-6.65,3.56L75.71,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V80A24,24,0,0,0,208,56Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H80a8,8,0,0,0,6.66-3.56L100.28,48h55.43l13.63,20.44A8,8,0,0,0,176,72h32a8,8,0,0,1,8,8ZM128,88a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,88Zm0,72a28,28,0,1,1,28-28A28,28,0,0,1,128,160Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,60H178.13L163.32,37.78A4,4,0,0,0,160,36H96a4,4,0,0,0-3.32,1.78L77.85,60H48A20,20,0,0,0,28,80V192a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V80A20,20,0,0,0,208,60Zm12,132a12,12,0,0,1-12,12H48a12,12,0,0,1-12-12V80A12,12,0,0,1,48,68H80a4,4,0,0,0,3.33-1.78L98.13,44h59.72l14.82,22.22A4,4,0,0,0,176,68h32a12,12,0,0,1,12,12ZM128,92a40,40,0,1,0,40,40A40,40,0,0,0,128,92Zm0,72a32,32,0,1,1,32-32A32,32,0,0,1,128,164Z`}))]]),Te=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M56.88,31.93A12,12,0,1,0,39.12,48.07l4,4.37A28,28,0,0,0,20,80V192a28,28,0,0,0,28,28H195.42l3.7,4.07a12,12,0,0,0,17.76-16.14Zm49.35,90L136,154.64a24,24,0,0,1-29.77-32.75ZM48,196a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4H64.51l24.92,27.41a48,48,0,0,0,63.34,69.67L173.6,196ZM236,80v94.14a12,12,0,0,1-24,0V80a4,4,0,0,0-4-4H176a12,12,0,0,1-10-5.34L153.57,52H102.06a12,12,0,0,1,0-24H160a12,12,0,0,1,10,5.34L182.42,52H208A28,28,0,0,1,236,80Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,64H176L160,40H96L80,64H48A16,16,0,0,0,32,80V192a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V80A16,16,0,0,0,208,64ZM128,168a36,36,0,1,1,36-36A36,36,0,0,1,128,168Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M53.92,34.62A8,8,0,1,0,42.08,45.38L51.73,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H197.19l4.89,5.38a8,8,0,1,0,11.84-10.76Zm51.66,80.61,37,40.69A27.71,27.71,0,0,1,128,160a28,28,0,0,1-22.42-44.77ZM48,200a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H66.28l28.41,31.26A44,44,0,0,0,128,176a44.21,44.21,0,0,0,25.44-8.12L182.64,200ZM232,80V186a8,8,0,0,1-16,0V80a8,8,0,0,0-8-8H176a8,8,0,0,1-6.65-3.56L155.71,48H100.24a8,8,0,0,1-12.91-9.42l2-3A8,8,0,0,1,96,32h64a8,8,0,0,1,6.66,3.56L180.28,56H208A24,24,0,0,1,232,80Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232,80V192a24.52,24.52,0,0,1-.45,4.65,4,4,0,0,1-6.9,2L86,46.08a4,4,0,0,1-.37-4.91l3.74-5.61A8,8,0,0,1,96,32h64a8,8,0,0,1,6.66,3.56L180.28,56H208A24,24,0,0,1,232,80ZM213.92,210.62a8,8,0,1,1-11.84,10.76L197.19,216H48a24,24,0,0,1-24-24V80A24,24,0,0,1,48,56h3.73L42.08,45.38A8,8,0,1,1,53.92,34.62ZM148,161.92l-47.88-52.68A36,36,0,0,0,148,161.92Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M52.44,36A6,6,0,0,0,43.56,44L56.25,58H48A22,22,0,0,0,26,80V192a22,22,0,0,0,22,22H198.07l5.49,6a6,6,0,0,0,8.88-8.08Zm53.06,76.2,40.11,44.13A29.67,29.67,0,0,1,128,162a30,30,0,0,1-22.5-49.84ZM48,202a10,10,0,0,1-10-10V80A10,10,0,0,1,48,70H67.16l30.23,33.25a42,42,0,0,0,56.33,62L187.16,202ZM230,80V186a6,6,0,0,1-12,0V80a10,10,0,0,0-10-10H176a6,6,0,0,1-5-2.67L156.78,46H99.21l-.23.34a6,6,0,0,1-10-6.65l2-3A6,6,0,0,1,96,34h64a6,6,0,0,1,5,2.67L179.21,58H208A22,22,0,0,1,230,80Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M53.92,34.62A8,8,0,1,0,42.08,45.38L51.73,56H48A24,24,0,0,0,24,80V192a24,24,0,0,0,24,24H197.19l4.89,5.38a8,8,0,1,0,11.84-10.76Zm51.66,80.61,37,40.69A27.71,27.71,0,0,1,128,160a28,28,0,0,1-22.42-44.77ZM48,200a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H66.28l28.41,31.26A44,44,0,0,0,128,176a44.21,44.21,0,0,0,25.44-8.12L182.64,200ZM232,80V186a8,8,0,0,1-16,0V80a8,8,0,0,0-8-8H176a8,8,0,0,1-6.65-3.56L155.71,48H100.24a8,8,0,0,1-12.91-9.42l2-3A8,8,0,0,1,96,32h64a8,8,0,0,1,6.66,3.56L180.28,56H208A24,24,0,0,1,232,80Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M51,37.31A4,4,0,0,0,45,42.69L60.78,60H48A20,20,0,0,0,28,80V192a20,20,0,0,0,20,20H199l6.08,6.69a4,4,0,1,0,5.92-5.38Zm97.58,119.23A31.69,31.69,0,0,1,128,164a32,32,0,0,1-22.48-54.78ZM48,204a12,12,0,0,1-12-12V80A12,12,0,0,1,48,68h20l32.09,35.3a40,40,0,0,0,53.79,59.16L191.69,204ZM228,80V186a4,4,0,0,1-8,0V80a12,12,0,0,0-12-12H176a4,4,0,0,1-3.32-1.78L157.85,44H98.13l-.82,1.23a4,4,0,1,1-6.65-4.44l2-3A4,4,0,0,1,96,36h64a4,4,0,0,1,3.33,1.78L178.13,60H208A20,20,0,0,1,228,80Z`}))]]),q=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M160,48V208L80,128Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z`}))]]),Ee=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232,56V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M228.24,76.24l-128,128a6,6,0,0,1-8.48,0l-56-56a6,6,0,0,1,8.48-8.48L96,191.51,219.76,67.76a6,6,0,0,1,8.48,8.48Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M226.83,74.83l-128,128a4,4,0,0,1-5.66,0l-56-56a4,4,0,0,1,5.66-5.66L96,194.34,221.17,69.17a4,4,0,1,1,5.66,5.66Z`}))]]),De=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232,128A104,104,0,1,1,128,24,104.13,104.13,0,0,1,232,128Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Z`}))]]),Oe=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M192.49,167.51a12,12,0,0,1,0,17l-32,32a12,12,0,0,1-17,0l-32-32a12,12,0,1,1,17-17L140,179V128a12,12,0,0,1,24,0v51l11.51-11.52A12,12,0,0,1,192.49,167.51ZM160,36A92.08,92.08,0,0,0,79,84.37,68,68,0,1,0,72,220H84a12,12,0,0,0,0-24H72a44,44,0,0,1-1.81-87.95A91.7,91.7,0,0,0,68,128a12,12,0,0,0,24,0,68,68,0,0,1,136,0,67.27,67.27,0,0,1-7.25,30.59,12,12,0,1,0,21.42,10.82A91.08,91.08,0,0,0,252,128,92.1,92.1,0,0,0,160,36Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M240,128a80,80,0,0,1-80,80H72A56,56,0,1,1,85.92,97.74l0,.1A80,80,0,0,1,240,128Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M248,128a87.34,87.34,0,0,1-17.6,52.81,8,8,0,1,1-12.8-9.62A71.34,71.34,0,0,0,232,128a72,72,0,0,0-144,0,8,8,0,0,1-16,0,88,88,0,0,1,3.29-23.88C74.2,104,73.1,104,72,104a48,48,0,0,0,0,96H96a8,8,0,0,1,0,16H72A64,64,0,1,1,81.29,88.68,88,88,0,0,1,248,128Zm-69.66,42.34L160,188.69V128a8,8,0,0,0-16,0v60.69l-18.34-18.35a8,8,0,0,0-11.32,11.32l32,32a8,8,0,0,0,11.32,0l32-32a8,8,0,0,0-11.32-11.32Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M247.93,124.52C246.11,77.54,207.07,40,160.06,40A88.1,88.1,0,0,0,81.29,88.67h0A87.48,87.48,0,0,0,72,127.73,8.18,8.18,0,0,1,64.57,136,8,8,0,0,1,56,128a103.66,103.66,0,0,1,5.34-32.92,4,4,0,0,0-4.75-5.18A64.09,64.09,0,0,0,8,152c0,35.19,29.75,64,65,64H160A88.09,88.09,0,0,0,247.93,124.52Zm-50.27,25.14-32,32a8,8,0,0,1-11.32,0l-32-32a8,8,0,0,1,11.32-11.32L152,156.69V96a8,8,0,0,1,16,0v60.69l18.34-18.35a8,8,0,0,1,11.32,11.32Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M246,128a85.27,85.27,0,0,1-17.2,51.6,6,6,0,1,1-9.6-7.2A74,74,0,1,0,86,128a6,6,0,0,1-12,0,85.54,85.54,0,0,1,3.91-25.64A50.68,50.68,0,0,0,72,102a50,50,0,0,0,0,100H96a6,6,0,0,1,0,12H72A62,62,0,1,1,82.43,90.88,86,86,0,0,1,246,128Zm-66.24,43.76L158,193.51V128a6,6,0,0,0-12,0v65.51l-21.76-21.75a6,6,0,0,0-8.48,8.48l32,32a6,6,0,0,0,8.48,0l32-32a6,6,0,0,0-8.48-8.48Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M248,128a87.34,87.34,0,0,1-17.6,52.81,8,8,0,1,1-12.8-9.62A71.34,71.34,0,0,0,232,128a72,72,0,0,0-144,0,8,8,0,0,1-16,0,88,88,0,0,1,3.29-23.88C74.2,104,73.1,104,72,104a48,48,0,0,0,0,96H96a8,8,0,0,1,0,16H72A64,64,0,1,1,81.29,88.68,88,88,0,0,1,248,128Zm-69.66,42.34L160,188.69V128a8,8,0,0,0-16,0v60.69l-18.34-18.35a8,8,0,0,0-11.32,11.32l32,32a8,8,0,0,0,11.32,0l32-32a8,8,0,0,0-11.32-11.32Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M244,128a83.28,83.28,0,0,1-16.8,50.4,4,4,0,1,1-6.4-4.8A76,76,0,1,0,84,128a4,4,0,0,1-8,0,83.45,83.45,0,0,1,4.57-27.27A52,52,0,1,0,72,204H96a4,4,0,0,1,0,8H72A60,60,0,1,1,83.61,93.13,84,84,0,0,1,244,128Zm-62.83,45.17L156,198.34V128a4,4,0,0,0-8,0v70.34l-25.17-25.17a4,4,0,0,0-5.66,5.66l32,32a4,4,0,0,0,5.66,0l32-32a4,4,0,0,0-5.66-5.66Z`}))]]),J=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,76a52,52,0,1,0,52,52A52.06,52.06,0,0,0,128,76Zm0,80a28,28,0,1,1,28-28A28,28,0,0,1,128,156Zm92-27.21v-1.58l14-17.51a12,12,0,0,0,2.23-10.59A111.75,111.75,0,0,0,225,71.89,12,12,0,0,0,215.89,66L193.61,63.5l-1.11-1.11L190,40.1A12,12,0,0,0,184.11,31a111.67,111.67,0,0,0-27.23-11.27A12,12,0,0,0,146.3,22L128.79,36h-1.58L109.7,22a12,12,0,0,0-10.59-2.23A111.75,111.75,0,0,0,71.89,31.05,12,12,0,0,0,66,40.11L63.5,62.39,62.39,63.5,40.1,66A12,12,0,0,0,31,71.89,111.67,111.67,0,0,0,19.77,99.12,12,12,0,0,0,22,109.7l14,17.51v1.58L22,146.3a12,12,0,0,0-2.23,10.59,111.75,111.75,0,0,0,11.29,27.22A12,12,0,0,0,40.11,190l22.28,2.48,1.11,1.11L66,215.9A12,12,0,0,0,71.89,225a111.67,111.67,0,0,0,27.23,11.27A12,12,0,0,0,109.7,234l17.51-14h1.58l17.51,14a12,12,0,0,0,10.59,2.23A111.75,111.75,0,0,0,184.11,225a12,12,0,0,0,5.91-9.06l2.48-22.28,1.11-1.11L215.9,190a12,12,0,0,0,9.06-5.91,111.67,111.67,0,0,0,11.27-27.23A12,12,0,0,0,234,146.3Zm-24.12-4.89a70.1,70.1,0,0,1,0,8.2,12,12,0,0,0,2.61,8.22l12.84,16.05A86.47,86.47,0,0,1,207,166.86l-20.43,2.27a12,12,0,0,0-7.65,4,69,69,0,0,1-5.8,5.8,12,12,0,0,0-4,7.65L166.86,207a86.47,86.47,0,0,1-10.49,4.35l-16.05-12.85a12,12,0,0,0-7.5-2.62c-.24,0-.48,0-.72,0a70.1,70.1,0,0,1-8.2,0,12.06,12.06,0,0,0-8.22,2.6L99.63,211.33A86.47,86.47,0,0,1,89.14,207l-2.27-20.43a12,12,0,0,0-4-7.65,69,69,0,0,1-5.8-5.8,12,12,0,0,0-7.65-4L49,166.86a86.47,86.47,0,0,1-4.35-10.49l12.84-16.05a12,12,0,0,0,2.61-8.22,70.1,70.1,0,0,1,0-8.2,12,12,0,0,0-2.61-8.22L44.67,99.63A86.47,86.47,0,0,1,49,89.14l20.43-2.27a12,12,0,0,0,7.65-4,69,69,0,0,1,5.8-5.8,12,12,0,0,0,4-7.65L89.14,49a86.47,86.47,0,0,1,10.49-4.35l16.05,12.85a12.06,12.06,0,0,0,8.22,2.6,70.1,70.1,0,0,1,8.2,0,12,12,0,0,0,8.22-2.6l16.05-12.85A86.47,86.47,0,0,1,166.86,49l2.27,20.43a12,12,0,0,0,4,7.65,69,69,0,0,1,5.8,5.8,12,12,0,0,0,7.65,4L207,89.14a86.47,86.47,0,0,1,4.35,10.49l-12.84,16.05A12,12,0,0,0,195.88,123.9Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M207.86,123.18l16.78-21a99.14,99.14,0,0,0-10.07-24.29l-26.7-3a81,81,0,0,0-6.81-6.81l-3-26.71a99.43,99.43,0,0,0-24.3-10l-21,16.77a81.59,81.59,0,0,0-9.64,0l-21-16.78A99.14,99.14,0,0,0,77.91,41.43l-3,26.7a81,81,0,0,0-6.81,6.81l-26.71,3a99.43,99.43,0,0,0-10,24.3l16.77,21a81.59,81.59,0,0,0,0,9.64l-16.78,21a99.14,99.14,0,0,0,10.07,24.29l26.7,3a81,81,0,0,0,6.81,6.81l3,26.71a99.43,99.43,0,0,0,24.3,10l21-16.77a81.59,81.59,0,0,0,9.64,0l21,16.78a99.14,99.14,0,0,0,24.29-10.07l3-26.7a81,81,0,0,0,6.81-6.81l26.71-3a99.43,99.43,0,0,0,10-24.3l-16.77-21A81.59,81.59,0,0,0,207.86,123.18ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8.06,8.06,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8.06,8.06,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,130.16q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,82a46,46,0,1,0,46,46A46.06,46.06,0,0,0,128,82Zm0,80a34,34,0,1,1,34-34A34,34,0,0,1,128,162ZM214,130.84c.06-1.89.06-3.79,0-5.68L229.33,106a6,6,0,0,0,1.11-5.29A105.34,105.34,0,0,0,219.76,74.9a6,6,0,0,0-4.53-3l-24.45-2.71q-1.93-2.07-4-4l-2.72-24.46a6,6,0,0,0-3-4.53,105.65,105.65,0,0,0-25.77-10.66A6,6,0,0,0,150,26.68l-19.2,15.37c-1.89-.06-3.79-.06-5.68,0L106,26.67a6,6,0,0,0-5.29-1.11A105.34,105.34,0,0,0,74.9,36.24a6,6,0,0,0-3,4.53L69.23,65.22q-2.07,1.94-4,4L40.76,72a6,6,0,0,0-4.53,3,105.65,105.65,0,0,0-10.66,25.77A6,6,0,0,0,26.68,106l15.37,19.2c-.06,1.89-.06,3.79,0,5.68L26.67,150.05a6,6,0,0,0-1.11,5.29A105.34,105.34,0,0,0,36.24,181.1a6,6,0,0,0,4.53,3l24.45,2.71q1.94,2.07,4,4L72,215.24a6,6,0,0,0,3,4.53,105.65,105.65,0,0,0,25.77,10.66,6,6,0,0,0,5.29-1.11L125.16,214c1.89.06,3.79.06,5.68,0l19.21,15.38a6,6,0,0,0,3.75,1.31,6.2,6.2,0,0,0,1.54-.2,105.34,105.34,0,0,0,25.76-10.68,6,6,0,0,0,3-4.53l2.71-24.45q2.07-1.93,4-4l24.46-2.72a6,6,0,0,0,4.53-3,105.49,105.49,0,0,0,10.66-25.77,6,6,0,0,0-1.11-5.29Zm-3.1,41.63-23.64,2.63a6,6,0,0,0-3.82,2,75.14,75.14,0,0,1-6.31,6.31,6,6,0,0,0-2,3.82l-2.63,23.63A94.28,94.28,0,0,1,155.14,218l-18.57-14.86a6,6,0,0,0-3.75-1.31h-.36a78.07,78.07,0,0,1-8.92,0,6,6,0,0,0-4.11,1.3L100.87,218a94.13,94.13,0,0,1-17.34-7.17L80.9,187.21a6,6,0,0,0-2-3.82,75.14,75.14,0,0,1-6.31-6.31,6,6,0,0,0-3.82-2l-23.63-2.63A94.28,94.28,0,0,1,38,155.14l14.86-18.57a6,6,0,0,0,1.3-4.11,78.07,78.07,0,0,1,0-8.92,6,6,0,0,0-1.3-4.11L38,100.87a94.13,94.13,0,0,1,7.17-17.34L68.79,80.9a6,6,0,0,0,3.82-2,75.14,75.14,0,0,1,6.31-6.31,6,6,0,0,0,2-3.82l2.63-23.63A94.28,94.28,0,0,1,100.86,38l18.57,14.86a6,6,0,0,0,4.11,1.3,78.07,78.07,0,0,1,8.92,0,6,6,0,0,0,4.11-1.3L155.13,38a94.13,94.13,0,0,1,17.34,7.17l2.63,23.64a6,6,0,0,0,2,3.82,75.14,75.14,0,0,1,6.31,6.31,6,6,0,0,0,3.82,2l23.63,2.63A94.28,94.28,0,0,1,218,100.86l-14.86,18.57a6,6,0,0,0-1.3,4.11,78.07,78.07,0,0,1,0,8.92,6,6,0,0,0,1.3,4.11L218,155.13A94.13,94.13,0,0,1,210.85,172.47Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.21,107.21,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.71,107.71,0,0,0-26.25-10.87,8,8,0,0,0-7.06,1.49L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.21,107.21,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8,8,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8,8,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,80a36,36,0,1,1,36-36A36,36,0,0,1,128,164Zm83.93-32.49q.13-3.51,0-7l15.83-19.79a4,4,0,0,0,.75-3.53A103.64,103.64,0,0,0,218,75.9a4,4,0,0,0-3-2l-25.19-2.8c-1.58-1.71-3.24-3.37-4.95-4.95L182.07,41a4,4,0,0,0-2-3A104,104,0,0,0,154.82,27.5a4,4,0,0,0-3.53.74L131.51,44.07q-3.51-.14-7,0L104.7,28.24a4,4,0,0,0-3.53-.75A103.64,103.64,0,0,0,75.9,38a4,4,0,0,0-2,3l-2.8,25.19c-1.71,1.58-3.37,3.24-4.95,4.95L41,73.93a4,4,0,0,0-3,2A104,104,0,0,0,27.5,101.18a4,4,0,0,0,.74,3.53l15.83,19.78q-.14,3.51,0,7L28.24,151.3a4,4,0,0,0-.75,3.53A103.64,103.64,0,0,0,38,180.1a4,4,0,0,0,3,2l25.19,2.8c1.58,1.71,3.24,3.37,4.95,4.95l2.8,25.2a4,4,0,0,0,2,3,104,104,0,0,0,25.28,10.46,4,4,0,0,0,3.53-.74l19.78-15.83q3.51.13,7,0l19.79,15.83a4,4,0,0,0,2.5.88,4,4,0,0,0,1-.13A103.64,103.64,0,0,0,180.1,218a4,4,0,0,0,2-3l2.8-25.19c1.71-1.58,3.37-3.24,4.95-4.95l25.2-2.8a4,4,0,0,0,3-2,104,104,0,0,0,10.46-25.28,4,4,0,0,0-.74-3.53Zm.17,42.83-24.67,2.74a4,4,0,0,0-2.55,1.32,76.2,76.2,0,0,1-6.48,6.48,4,4,0,0,0-1.32,2.55l-2.74,24.66a95.45,95.45,0,0,1-19.64,8.15l-19.38-15.51a4,4,0,0,0-2.5-.87h-.24a73.67,73.67,0,0,1-9.16,0,4,4,0,0,0-2.74.87l-19.37,15.5a95.33,95.33,0,0,1-19.65-8.13l-2.74-24.67a4,4,0,0,0-1.32-2.55,76.2,76.2,0,0,1-6.48-6.48,4,4,0,0,0-2.55-1.32l-24.66-2.74a95.45,95.45,0,0,1-8.15-19.64l15.51-19.38a4,4,0,0,0,.87-2.74,77.76,77.76,0,0,1,0-9.16,4,4,0,0,0-.87-2.74l-15.5-19.37A95.33,95.33,0,0,1,43.9,81.66l24.67-2.74a4,4,0,0,0,2.55-1.32,76.2,76.2,0,0,1,6.48-6.48,4,4,0,0,0,1.32-2.55l2.74-24.66a95.45,95.45,0,0,1,19.64-8.15l19.38,15.51a4,4,0,0,0,2.74.87,73.67,73.67,0,0,1,9.16,0,4,4,0,0,0,2.74-.87l19.37-15.5a95.33,95.33,0,0,1,19.65,8.13l2.74,24.67a4,4,0,0,0,1.32,2.55,76.2,76.2,0,0,1,6.48,6.48,4,4,0,0,0,2.55,1.32l24.66,2.74a95.45,95.45,0,0,1,8.15,19.64l-15.51,19.38a4,4,0,0,0-.87,2.74,77.76,77.76,0,0,1,0,9.16,4,4,0,0,0,.87,2.74l15.5,19.37A95.33,95.33,0,0,1,212.1,174.34Z`}))]]),ke=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,180a52.06,52.06,0,0,0,52-52V64A52,52,0,0,0,76,64v64A52.06,52.06,0,0,0,128,180ZM100,64a28,28,0,0,1,56,0v64a28,28,0,0,1-56,0Zm40,155.22V240a12,12,0,0,1-24,0V219.22A92.14,92.14,0,0,1,36,128a12,12,0,0,1,24,0,68,68,0,0,0,136,0,12,12,0,0,1,24,0A92.14,92.14,0,0,1,140,219.22Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M168,64v64a40,40,0,0,1-40,40h0a40,40,0,0,1-40-40V64a40,40,0,0,1,40-40h0A40,40,0,0,1,168,64Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M80,128V64a48,48,0,0,1,96,0v64a48,48,0,0,1-96,0Zm128,0a8,8,0,0,0-16,0,64,64,0,0,1-128,0,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.6A80.11,80.11,0,0,0,208,128Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,174a46.06,46.06,0,0,0,46-46V64a46,46,0,0,0-92,0v64A46.06,46.06,0,0,0,128,174ZM94,64a34,34,0,0,1,68,0v64a34,34,0,0,1-68,0Zm40,141.75V240a6,6,0,0,1-12,0V205.75A78.09,78.09,0,0,1,50,128a6,6,0,0,1,12,0,66,66,0,0,0,132,0,6,6,0,0,1,12,0A78.09,78.09,0,0,1,134,205.75Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,172a44.05,44.05,0,0,0,44-44V64a44,44,0,0,0-88,0v64A44.05,44.05,0,0,0,128,172ZM92,64a36,36,0,0,1,72,0v64a36,36,0,0,1-72,0Zm40,139.89V240a4,4,0,0,1-8,0V203.89A76.09,76.09,0,0,1,52,128a4,4,0,0,1,8,0,68,68,0,0,0,136,0,4,4,0,0,1,8,0A76.09,76.09,0,0,1,132,203.89Z`}))]]),Ae=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M56.88,39.93A12,12,0,1,0,39.12,56.07L76,96.64V128a52,52,0,0,0,72.11,48l11.26,12.39A67.34,67.34,0,0,1,128,196a68.07,68.07,0,0,1-68-68,12,12,0,0,0-24,0,92.14,92.14,0,0,0,80,91.22V240a12,12,0,0,0,24,0V219.23a90.39,90.39,0,0,0,35.92-12.68l23.2,25.52a12,12,0,0,0,17.76-16.14ZM128,156a28,28,0,0,1-28-28v-5l29.9,32.89C129.27,156,128.64,156,128,156Zm63-2.42A67.63,67.63,0,0,0,196,128a12,12,0,0,1,24,0,91.48,91.48,0,0,1-6.74,34.61,12,12,0,0,1-22.23-9ZM85.7,33.75A52,52,0,0,1,180,64v56.54a12,12,0,0,1-24,0V64a28,28,0,0,0-50.79-16.28,12,12,0,0,1-19.51-14Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M168,64v64a40,40,0,0,1-40,40h0a40,40,0,0,1-40-40V64a40,40,0,0,1,40-40h0A40,40,0,0,1,168,64Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M213.92,218.62l-160-176A8,8,0,0,0,42.08,53.38L80,95.09V128a48,48,0,0,0,69.11,43.12l11.1,12.2A63.41,63.41,0,0,1,128,192a64.07,64.07,0,0,1-64-64,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.59a78.83,78.83,0,0,0,35.16-12.22l30.92,34a8,8,0,1,0,11.84-10.76ZM128,160a32,32,0,0,1-32-32V112.69l41.66,45.82A32,32,0,0,1,128,160Zm57.52-3.91A63.32,63.32,0,0,0,192,128a8,8,0,0,1,16,0,79.16,79.16,0,0,1-8.11,35.12,8,8,0,0,1-7.19,4.49,7.88,7.88,0,0,1-3.51-.82A8,8,0,0,1,185.52,156.09ZM84,44.87A48,48,0,0,1,176,64v64a49.19,49.19,0,0,1-.26,5,8,8,0,0,1-8,7.17,8.13,8.13,0,0,1-.84,0,8,8,0,0,1-7.12-8.79c.11-1.1.17-2.24.17-3.36V64A32,32,0,0,0,98.64,51.25,8,8,0,1,1,84,44.87Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M213.38,229.92a8,8,0,0,1-11.3-.54l-30.92-34A78.83,78.83,0,0,1,136,207.59V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64.07,64.07,0,0,0,64,64,63.41,63.41,0,0,0,32.21-8.68l-11.1-12.2A48,48,0,0,1,80,128V95.09L42.08,53.38A8,8,0,0,1,53.92,42.62l160,176A8,8,0,0,1,213.38,229.92Zm-24.19-63.13a7.88,7.88,0,0,0,3.51.82,8,8,0,0,0,7.19-4.49A79.16,79.16,0,0,0,208,128a8,8,0,0,0-16,0,63.32,63.32,0,0,1-6.48,28.09A8,8,0,0,0,189.19,166.79Zm-27.33-29.22A8,8,0,0,0,175.74,133a49.49,49.49,0,0,0,.26-5V64A48,48,0,0,0,84,44.87a8,8,0,0,0,1.41,8.57Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M212.44,220,52.44,44A6,6,0,0,0,43.56,52L82,94.32V128a46,46,0,0,0,67.56,40.64l13.75,15.12A65.26,65.26,0,0,1,128,194a66.08,66.08,0,0,1-66-66,6,6,0,0,0-12,0,78.09,78.09,0,0,0,72,77.75V240a6,6,0,0,0,12,0V205.77a76.93,76.93,0,0,0,37.48-13L203.56,228a6,6,0,0,0,8.88-8.08ZM128,162a34,34,0,0,1-34-34V107.52l47.12,51.84A33.82,33.82,0,0,1,128,162Zm59.32-5A65.38,65.38,0,0,0,194,128a6,6,0,0,1,12,0,77.33,77.33,0,0,1-7.9,34.25A6,6,0,1,1,187.32,157ZM85.8,45.67A46,46,0,0,1,174,64v64a45.17,45.17,0,0,1-.25,4.81,6,6,0,0,1-6,5.38q-.31,0-.63,0a6,6,0,0,1-5.34-6.59A35.41,35.41,0,0,0,162,128V64A34,34,0,0,0,96.8,50.45a6,6,0,0,1-11-4.78Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M213.92,218.62l-160-176A8,8,0,0,0,42.08,53.38L80,95.09V128a48,48,0,0,0,69.11,43.12l11.1,12.2A63.41,63.41,0,0,1,128,192a64.07,64.07,0,0,1-64-64,8,8,0,0,0-16,0,80.11,80.11,0,0,0,72,79.6V240a8,8,0,0,0,16,0V207.59a78.83,78.83,0,0,0,35.16-12.22l30.92,34a8,8,0,1,0,11.84-10.76ZM128,160a32,32,0,0,1-32-32V112.69l41.66,45.82A32,32,0,0,1,128,160Zm57.52-3.91A63.32,63.32,0,0,0,192,128a8,8,0,0,1,16,0,79.16,79.16,0,0,1-8.11,35.12,8,8,0,0,1-7.19,4.49,7.88,7.88,0,0,1-3.51-.82A8,8,0,0,1,185.52,156.09ZM84,44.87A48,48,0,0,1,176,64v64a49.19,49.19,0,0,1-.26,5,8,8,0,0,1-8,7.17,8.13,8.13,0,0,1-.84,0,8,8,0,0,1-7.12-8.79c.11-1.1.17-2.24.17-3.36V64A32,32,0,0,0,98.64,51.25,8,8,0,1,1,84,44.87Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M211,221.31,51,45.31A4,4,0,0,0,45,50.69L84,93.55V128a44,44,0,0,0,66,38.12l16.38,18A67.21,67.21,0,0,1,128,196a68.07,68.07,0,0,1-68-68,4,4,0,0,0-8,0,76.09,76.09,0,0,0,72,75.89V240a4,4,0,0,0,8,0V203.89a75.1,75.1,0,0,0,39.79-13.77L205,226.69a4,4,0,1,0,5.92-5.38ZM128,164a36,36,0,0,1-36-36V102.35L144.43,160A35.83,35.83,0,0,1,128,164Zm61.12-6.15A67.44,67.44,0,0,0,196,128a4,4,0,0,1,8,0,75.28,75.28,0,0,1-7.7,33.37,4,4,0,0,1-7.18-3.52ZM87.63,46.46A44,44,0,0,1,172,64v64a44.2,44.2,0,0,1-.24,4.61,4,4,0,0,1-4,3.58l-.42,0a4,4,0,0,1-3.57-4.39A36.67,36.67,0,0,0,164,128V64A36,36,0,0,0,95,49.66a4,4,0,0,1-7.34-3.2Z`}))]]),je=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,36H48A28,28,0,0,0,20,64V176a28,28,0,0,0,28,28H208a28,28,0,0,0,28-28V64A28,28,0,0,0,208,36Zm4,140a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V64a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40,52a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,228Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M224,64V176a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V64A16,16,0,0,1,48,48H208A16,16,0,0,1,224,64Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232,64V176a24,24,0,0,1-24,24H48a24,24,0,0,1-24-24V64A24,24,0,0,1,48,40H208A24,24,0,0,1,232,64ZM160,216H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,42H48A22,22,0,0,0,26,64V176a22,22,0,0,0,22,22H208a22,22,0,0,0,22-22V64A22,22,0,0,0,208,42Zm10,134a10,10,0,0,1-10,10H48a10,10,0,0,1-10-10V64A10,10,0,0,1,48,54H208a10,10,0,0,1,10,10Zm-52,48a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,224Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,44H48A20,20,0,0,0,28,64V176a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V64A20,20,0,0,0,208,44Zm12,132a12,12,0,0,1-12,12H48a12,12,0,0,1-12-12V64A12,12,0,0,1,48,52H208a12,12,0,0,1,12,12Zm-56,48a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,224Z`}))]]),Me=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,28H160a20,20,0,0,0-20,20V208a20,20,0,0,0,20,20h40a20,20,0,0,0,20-20V48A20,20,0,0,0,200,28Zm-4,176H164V52h32ZM96,28H56A20,20,0,0,0,36,48V208a20,20,0,0,0,20,20H96a20,20,0,0,0,20-20V48A20,20,0,0,0,96,28ZM92,204H60V52H92Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,48V208a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V48a8,8,0,0,1,8-8h40A8,8,0,0,1,208,48ZM96,40H56a8,8,0,0,0-8,8V208a8,8,0,0,0,8,8H96a8,8,0,0,0,8-8V48A8,8,0,0,0,96,40Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M200,32H160a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16h40a16,16,0,0,0,16-16V48A16,16,0,0,0,200,32Zm0,176H160V48h40ZM96,32H56A16,16,0,0,0,40,48V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V48A16,16,0,0,0,96,32Zm0,176H56V48H96Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,48V208a16,16,0,0,1-16,16H160a16,16,0,0,1-16-16V48a16,16,0,0,1,16-16h40A16,16,0,0,1,216,48ZM96,32H56A16,16,0,0,0,40,48V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V48A16,16,0,0,0,96,32Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,34H160a14,14,0,0,0-14,14V208a14,14,0,0,0,14,14h40a14,14,0,0,0,14-14V48A14,14,0,0,0,200,34Zm2,174a2,2,0,0,1-2,2H160a2,2,0,0,1-2-2V48a2,2,0,0,1,2-2h40a2,2,0,0,1,2,2ZM96,34H56A14,14,0,0,0,42,48V208a14,14,0,0,0,14,14H96a14,14,0,0,0,14-14V48A14,14,0,0,0,96,34Zm2,174a2,2,0,0,1-2,2H56a2,2,0,0,1-2-2V48a2,2,0,0,1,2-2H96a2,2,0,0,1,2,2Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,32H160a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16h40a16,16,0,0,0,16-16V48A16,16,0,0,0,200,32Zm0,176H160V48h40ZM96,32H56A16,16,0,0,0,40,48V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V48A16,16,0,0,0,96,32Zm0,176H56V48H96Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,36H160a12,12,0,0,0-12,12V208a12,12,0,0,0,12,12h40a12,12,0,0,0,12-12V48A12,12,0,0,0,200,36Zm4,172a4,4,0,0,1-4,4H160a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4h40a4,4,0,0,1,4,4ZM96,36H56A12,12,0,0,0,44,48V208a12,12,0,0,0,12,12H96a12,12,0,0,0,12-12V48A12,12,0,0,0,96,36Zm4,172a4,4,0,0,1-4,4H56a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H96a4,4,0,0,1,4,4Z`}))]]),Y=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M234.49,111.07,90.41,22.94A20,20,0,0,0,60,39.87V216.13a20,20,0,0,0,30.41,16.93l144.08-88.13a19.82,19.82,0,0,0,0-33.86ZM84,208.85V47.15L216.16,128Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M228.23,134.69,84.15,222.81A8,8,0,0,1,72,216.12V39.88a8,8,0,0,1,12.15-6.69l144.08,88.12A7.82,7.82,0,0,1,228.23,134.69Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M240,128a15.74,15.74,0,0,1-7.6,13.51L88.32,229.65a16,16,0,0,1-16.2.3A15.86,15.86,0,0,1,64,216.13V39.87a15.86,15.86,0,0,1,8.12-13.82,16,16,0,0,1,16.2.3L232.4,114.49A15.74,15.74,0,0,1,240,128Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M231.36,116.19,87.28,28.06a14,14,0,0,0-14.18-.27A13.69,13.69,0,0,0,66,39.87V216.13a13.69,13.69,0,0,0,7.1,12.08,14,14,0,0,0,14.18-.27l144.08-88.13a13.82,13.82,0,0,0,0-23.62Zm-6.26,13.38L81,217.7a2,2,0,0,1-2.06,0,1.78,1.78,0,0,1-1-1.61V39.87a1.78,1.78,0,0,1,1-1.61A2.06,2.06,0,0,1,80,38a2,2,0,0,1,1,.31L225.1,126.43a1.82,1.82,0,0,1,0,3.14Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M230.32,117.9,86.24,29.79a11.91,11.91,0,0,0-12.17-.23A11.71,11.71,0,0,0,68,39.89V216.11a11.71,11.71,0,0,0,6.07,10.33,11.91,11.91,0,0,0,12.17-.23L230.32,138.1a11.82,11.82,0,0,0,0-20.2Zm-4.18,13.37L82.06,219.39a4,4,0,0,1-4.07.07,3.77,3.77,0,0,1-2-3.35V39.89a3.77,3.77,0,0,1,2-3.35,4,4,0,0,1,4.07.07l144.08,88.12a3.8,3.8,0,0,1,0,6.54Z`}))]]),Ne=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,28H48A20,20,0,0,0,28,48V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Zm-4,176H52V52H204Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,48V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H48V48H208V208Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M224,48V208a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32H208A16,16,0,0,1,224,48Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,34H48A14,14,0,0,0,34,48V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V48A14,14,0,0,0,208,34Zm2,174a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V48a2,2,0,0,1,2-2H208a2,2,0,0,1,2,2Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Zm0,176H48V48H208V208Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Z`}))]]),Pe=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M249.45,69.31a12,12,0,0,0-12.51,1L212,88.43V72a20,20,0,0,0-20-20H32A20,20,0,0,0,12,72V184a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V167.57l24.94,18.14A12,12,0,0,0,256,176V80A12,12,0,0,0,249.45,69.31ZM188,180H36V76H188Zm44-27.57-20-14.54V118.11l20-14.54Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M200,72V184a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V72a8,8,0,0,1,8-8H192A8,8,0,0,1,200,72Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM192,184H32V72H192V184Zm48-22.95-32-21.33V116.28L240,95Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M192,72V184a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V72A16,16,0,0,1,32,56H176A16,16,0,0,1,192,72Zm58,.25a8.23,8.23,0,0,0-6.63,1.22L209.78,95.86A4,4,0,0,0,208,99.19v57.62a4,4,0,0,0,1.78,3.33l33.78,22.52a8,8,0,0,0,8.58.19,8.33,8.33,0,0,0,3.86-7.17V80A8,8,0,0,0,250,72.25Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M250.83,74.71a6,6,0,0,0-6.16.3L206,100.79V72a14,14,0,0,0-14-14H32A14,14,0,0,0,18,72V184a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V155.21L244.67,181a6,6,0,0,0,9.33-5V80A6,6,0,0,0,250.83,74.71ZM194,184a2,2,0,0,1-2,2H32a2,2,0,0,1-2-2V72a2,2,0,0,1,2-2H192a2,2,0,0,1,2,2Zm48-19.21-36-24V115.21l36-24Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V159l35.56,23.71A8,8,0,0,0,248,184a8,8,0,0,0,8-8V80A8,8,0,0,0,251.77,73ZM192,184H32V72H192V184Zm48-22.95-32-21.33V116.28L240,95Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M249.89,76.47a4,4,0,0,0-4.11.2L204,104.53V72a12,12,0,0,0-12-12H32A12,12,0,0,0,20,72V184a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V151.47l41.78,27.86A4,4,0,0,0,252,176V80A4,4,0,0,0,249.89,76.47ZM196,184a4,4,0,0,1-4,4H32a4,4,0,0,1-4-4V72a4,4,0,0,1,4-4H192a4,4,0,0,1,4,4Zm48-15.47-40-26.67V114.14l40-26.67Z`}))]]),Fe=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Zm-12-80V80a12,12,0,0,1,24,0v52a12,12,0,0,1-24,0Zm28,40a16,16,0,1,1-16-16A16,16,0,0,1,144,172Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm-8,56a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm8,104a12,12,0,1,1,12-12A12,12,0,0,1,128,184Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Zm-6-82V80a6,6,0,0,1,12,0v56a6,6,0,0,1-12,0Zm16,36a10,10,0,1,1-10-10A10,10,0,0,1,138,172Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm-4-84V80a4,4,0,0,1,8,0v56a4,4,0,0,1-8,0Zm12,36a8,8,0,1,1-8-8A8,8,0,0,1,136,172Z`}))]]),Ie=new Map([[`bold`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z`}))],[`duotone`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z`,opacity:`0.2`}),h.createElement(`path`,{d:`M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z`}))],[`fill`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z`}))],[`light`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z`}))],[`regular`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z`}))],[`thin`,h.createElement(h.Fragment,null,h.createElement(`path`,{d:`M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z`}))]]),X=_({color:`currentColor`,size:`1em`,weight:`regular`,mirrored:!1}),Z=h.forwardRef((e,t)=>{let{alt:n,color:r,size:i,weight:a,mirrored:o,children:s,weights:c,...l}=e,{color:u=`currentColor`,size:d,weight:f=`regular`,mirrored:p=!1,...m}=h.useContext(X);return h.createElement(`svg`,{ref:t,xmlns:`http://www.w3.org/2000/svg`,width:i??d,height:i??d,fill:r??u,viewBox:`0 0 256 256`,transform:o||p?`scale(-1, 1)`:void 0,...m,...l},!!n&&h.createElement(`title`,null,n),s,c.get(a??f))});Z.displayName=`IconBase`;const Le=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:G}));Le.displayName=`ArrowClockwiseIcon`;const Re=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:K}));Re.displayName=`ArrowDownIcon`;const ze=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:Ce}));ze.displayName=`ArrowUpIcon`;const Be=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:we}));Be.displayName=`CameraIcon`;const Ve=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:Te}));Ve.displayName=`CameraSlashIcon`;const He=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:q}));He.displayName=`CaretLeftIcon`;const Q=He,Ue=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:Ee}));Ue.displayName=`CheckIcon`;const We=Ue,Ge=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:De}));Ge.displayName=`CircleIcon`;const Ke=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:Oe}));Ke.displayName=`CloudArrowDownIcon`;const qe=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:J}));qe.displayName=`GearIcon`;const Je=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:ke}));Je.displayName=`MicrophoneIcon`;const Ye=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:Ae}));Ye.displayName=`MicrophoneSlashIcon`;const Xe=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:je}));Xe.displayName=`MonitorIcon`;const Ze=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:Me}));Ze.displayName=`PauseIcon`;const Qe=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:Y}));Qe.displayName=`PlayIcon`;const $e=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:Ne}));$e.displayName=`SquareIcon`;const et=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:Pe}));et.displayName=`VideoCameraIcon`;const tt=et,nt=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:Fe}));nt.displayName=`WarningCircleIcon`;const rt=h.forwardRef((e,t)=>h.createElement(Z,{ref:t,...e,weights:Ie}));rt.displayName=`XIcon`;function it(e){let[t,n]=S(!1),r=x(!1),i=x(!1),a=pe(e),{state:o,actions:s}=a,c=o.recordingState===`recording`,l=o.recordingState===`countdown`,u=o.isFinalizingRecording,d=o.uploadProgress!==null,f=o.transcodingProgress!==null,p=!(c||l||u||d||f),m=v(()=>{n(!0)},[]),h=v(()=>{p&&(s.stopPreview(),n(!1),r.current=!1)},[p,s]);return y(()=>{t&&(r.current||o.isInitialized&&(r.current=!0,s.startPreview(`camera`).catch(()=>{})))},[t,o.isInitialized,s]),y(()=>{if(t)return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=``}},[t]),y(()=>{if(!t)return;let e=i.current,a=o.uploadProgress!==null;i.current=a,e&&!a&&!o.error&&(s.stopPreview(),n(!1),r.current=!1)},[t,o.uploadProgress,o.error,s]),{...a,isModalOpen:t,openModal:m,closeModal:h,canCloseModal:p}}function at(e){return e.trim().replace(/\s+/g,` `)}function ot(e){let t=0;return e&&(t=1),{text:e,visibleWordCount:t}}function st(e,t){return e.slice(0,t).join(` `)}function ct({className:e,isVisible:t,text:n}){let r=at(n),i=r?r.split(` `):[],[a,o]=S(()=>ot(r));if(y(()=>{o(ot(r))},[r]),y(()=>{if(!t||a.text!==r||a.visibleWordCount>=i.length)return;let e=window.setTimeout(()=>{o(e=>e.text===r?{...e,visibleWordCount:Math.min(e.visibleWordCount+1,i.length)}:ot(r))},273);return()=>window.clearTimeout(e)},[t,r,a,i.length]),!(t&&r))return null;let s=a.visibleWordCount;return a.text!==r&&(s=1),w(`div`,{className:e,children:T(`div`,{className:`vidtreo-mobile-recording-prompt-text`,children:[w(`span`,{className:`vidtreo-visually-hidden`,children:r}),w(`span`,{"aria-hidden":`true`,className:`vidtreo-mobile-recording-prompt-visible-text`,children:st(i,s)})]})})}function lt({hideLabel:e,isPromptVisible:t,onToggle:n,showLabel:r}){let i=w(ze,{className:`vidtreo-mobile-prompt-toggle-icon--collapse`,size:16,weight:`bold`}),a=e;return t||(i=w(Re,{className:`vidtreo-mobile-prompt-toggle-icon--expand`,size:16,weight:`bold`}),a=r),w(`button`,{"aria-label":a,className:`vidtreo-mobile-prompt-toggle-btn`,onClick:n,type:`button`,children:i})}const ut=.7;function dt({audioLevel:e,isMuted:t}){return w(C,{children:Array.from({length:15},(n,r)=>{let i=e>=(r+1)/15*100&&!t,a=`15%`,s=``,c=`1`;if(i){a=`${30+r/15*70}%`;let e=r/15,t=ut+r/15*(1-ut);s=o(e),c=String(t)}let l=`audio-bar-${r}`;return w(`div`,{className:`vidtreo-audio-level-bar`,style:{height:a,backgroundColor:s,opacity:c}},l)})})}function ft(e){switch(e){case`audio.track-ended`:case`audio.track-muted-by-browser`:case`audio.no-chunks`:return`critical`;case`audio.no-signal`:case`audio.low-signal`:case`audio.speaking-while-muted`:return`soft`;default:return`soft`}}function pt(e,t){switch(e){case`audio.no-signal`:return{title:t.audioWarningNoSignalTitle,message:t.audioWarningNoSignalMessage,dismissLabel:t.audioWarningDismiss};case`audio.low-signal`:return{title:t.audioWarningLowSignalTitle,message:t.audioWarningLowSignalMessage,dismissLabel:t.audioWarningDismiss};case`audio.speaking-while-muted`:return{title:t.audioWarningSpeakingMutedTitle,message:t.audioWarningSpeakingMutedMessage,dismissLabel:t.audioWarningDismiss};case`audio.track-ended`:return{title:t.audioWarningTrackEndedTitle,message:t.audioWarningTrackEndedMessage,dismissLabel:t.audioWarningDismiss};case`audio.no-chunks`:return{title:t.audioWarningNoChunksTitle,message:t.audioWarningNoChunksMessage,dismissLabel:t.audioWarningDismiss};case`audio.track-muted-by-browser`:return{title:t.audioWarningTrackMutedTitle,message:t.audioWarningTrackMutedMessage,dismissLabel:t.audioWarningDismiss};default:return{title:``,message:``,dismissLabel:t.audioWarningDismiss}}}function mt({warning:e,translations:t,onDismiss:n}){let[r,i]=S(null);if(y(()=>{i(null)},[e?.code]),y(()=>{if(!e||e.code!==`audio.low-signal`)return;let t=window.setTimeout(()=>{i(`audio.low-signal`),n&&n()},6e3);return()=>{window.clearTimeout(t)}},[e,n]),!e||r===e.code)return null;let a=ft(e.code),o=pt(e.code,t),s=a===`critical`||e.code===`audio.no-signal`,c=()=>{i(e.code),n&&n()},l=a===`critical`?Ye:nt;return T(`output`,{"aria-live":`polite`,className:`vidtreo-audio-warning-toast vidtreo-audio-warning-toast--${a}`,children:[w(`span`,{className:`vidtreo-audio-warning-toast__icon`,children:w(l,{height:20,weight:`fill`,width:20})}),T(`span`,{className:`vidtreo-audio-warning-toast__content`,children:[w(`span`,{className:`vidtreo-audio-warning-toast__title`,children:o.title}),w(`span`,{className:`vidtreo-audio-warning-toast__message`,children:o.message})]}),s&&w(`button`,{"aria-label":o.dismissLabel,className:`vidtreo-audio-warning-toast__dismiss`,onClick:e=>{e.preventDefault(),e.stopPropagation(),c()},type:`button`,children:w(rt,{height:14,weight:`bold`,width:14})})]})}function ht({variant:e}){switch(e){case`audio`:return w(Ye,{height:28,weight:`fill`,width:28});case`camera`:return w(Ve,{height:28,weight:`fill`,width:28});default:return w(nt,{height:28,weight:`fill`,width:28})}}function gt({visible:e,variant:t,title:n,message:r,retryLabel:i,onRetry:a}){return e?T(`div`,{className:`vidtreo-audio-error-overlay`,children:[w(`div`,{className:`vidtreo-audio-error-icon`,children:w(ht,{variant:t})}),w(`h3`,{className:`vidtreo-audio-error-title`,children:n}),w(`p`,{className:`vidtreo-audio-error-message`,children:r}),a&&i&&T(`button`,{className:`vidtreo-audio-error-retry`,onClick:e=>{e.preventDefault(),e.stopPropagation(),a()},type:`button`,children:[w(Le,{height:16,weight:`bold`,width:16}),i]})]}):null}function _t({error:e,lang:t,texts:n}){let r=N(t,n),i=e?.message.includes(`apiKey is required`);return w(`div`,{className:`vidtreo-preview-container`,children:w(`div`,{className:`vidtreo-error-overlay`,children:T(`div`,{className:`vidtreo-error-content`,children:[w(`div`,{className:`vidtreo-error-icon`,children:w(nt,{color:`currentColor`,height:48,weight:`fill`,width:48})}),w(`div`,{className:`vidtreo-error-title`,children:r.errorTitle}),!i&&w(`div`,{className:`vidtreo-error-message`,children:e?.message||r.errorGeneric}),i&&T(`div`,{className:`vidtreo-error-config`,children:[w(`div`,{className:`vidtreo-error-config-title`,children:`Configuration Options:`}),T(`div`,{className:`vidtreo-error-config-item`,children:[w(`code`,{children:`apiKey`}),` prop: Pass the API key as a prop to the component`]}),T(`div`,{className:`vidtreo-error-config-item`,children:[w(`code`,{children:`VIDTREO_API_KEY`}),` environment variable: Set this in your environment`]})]})]})})})}var vt=class extends g{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError?this.props.fallback?this.props.fallback(this.state.error):w(`div`,{className:`vidtreo-preview-error`,children:T(`div`,{className:`vidtreo-error-content`,children:[w(`div`,{className:`vidtreo-error-icon`,children:w(nt,{color:`currentColor`,height:48,weight:`fill`,width:48})}),w(`div`,{className:`vidtreo-error-title`,children:`Preview Error`}),w(`div`,{className:`vidtreo-error-message`,children:this.state.error?.message||`An error occurred while loading the preview`}),w(`button`,{className:`vidtreo-error-retry`,onClick:()=>this.setState({hasError:!1,error:null}),type:`button`,children:`Retry`})]})}):this.props.children}},yt=class extends g{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError?this.props.fallback?this.props.fallback(this.state.error):w(_t,{error:this.state.error,lang:this.props.lang,texts:this.props.texts}):this.props.children}};function bt(e){let{uploadProgress:t}=e;if(t===null)return null;let n=xt(e),r=Math.round(t*100);return w(`div`,{className:`vidtreo-progress-overlay`,children:T(`div`,{className:`vidtreo-upload-progress vidtreo-active`,id:`uploadProgress`,children:[w(`div`,{className:`vidtreo-progress-bar`,children:w(`div`,{className:`vidtreo-progress-fill`,id:`uploadProgressFill`,style:{width:`${r}%`}})}),T(`div`,{className:`vidtreo-progress-text`,id:`uploadProgressText`,children:[n,` `,r,`%`]})]})})}function xt(e){return e.uploadRetryAttempt!==null&&e.uploadRetryAttempt!==void 0&&e.uploadRetryAttempt>1&&e.retryingUploadLabel?e.retryingUploadLabel:e.uploadingLabel}function St(e){let{transitionMessage:t}=e;return t?T(`div`,{className:`vidtreo-source-transition-overlay vidtreo-active`,id:`sourceTransitionOverlay`,children:[w(`div`,{className:`vidtreo-transition-spinner`}),w(`div`,{className:`vidtreo-transition-message`,children:t})]}):null}function Ct(e){e.style.position=`fixed`,e.style.top=`0`,e.style.left=`0`,e.style.width=`100vw`,e.style.height=`100vh`,e.style.height=`100dvh`,e.style.zIndex=`9999`,e.style.pointerEvents=`none`}function wt(e){e.style.pointerEvents=`auto`}function Tt(e){e.style.pointerEvents=`none`}function Et({children:e,containerId:t=`vidtreo-portal-root`}){let[n,r]=S(null);return y(()=>{let e=document.getElementById(t),n=!1;return e||(e=document.createElement(`div`),e.id=t,Ct(e),document.body.appendChild(e),n=!0),wt(e),r(e),()=>{e&&Tt(e),n&&e&&e.childNodes.length===0&&e.remove()}},[t]),n?E(e,n):null}function Dt(e,t){return{className:e?`vidtreo-record-button vidtreo-stop-button-locked`:`vidtreo-record-button`,title:e?t:``}}function Ot({buttonVisibility:e,recordingState:t,isMuted:n,isAudioReady:r,isProcessingRecording:i,currentSourceType:a,onToggleSettings:o,onStartRecording:s,onStopRecording:c,onToggleMute:l,onPause:u,onResume:d,onSwitchSource:f,onDownload:p,isStopLocked:m,stopLockedTooltip:h,translations:g={settings:`Settings`,record:`Record`,stop:`Stop`,minimumRecordingTimeNotReached:`You have not met the minimum recording time yet`,pause:`Pause`,resume:`Resume`,mute:`Mute`,unmute:`Unmute`,switchSource:`Switch Source`,download:`Download`,microphoneConnecting:`Connecting microphone...`}}){let _=Dt(m,h),v=()=>{m||c()},y=t===`idle`&&!i;return w(`div`,{className:`vidtreo-recording-controls`,children:w(`div`,{className:`vidtreo-recording-controls-row`,children:T(`div`,{className:`vidtreo-control-buttons-row`,children:[e.showSettingsButton&&w(`button`,{className:`vidtreo-control-button`,id:`settingsButton`,onClick:o,title:g.settings,type:`button`,children:w(qe,{height:20,weight:`fill`,width:20})}),y&&T(`button`,{className:[`vidtreo-record-button`,!r&&`vidtreo-record-button-disabled`].filter(Boolean).join(` `),disabled:!r,id:`startButton`,onClick:r?s:void 0,title:r?``:g.microphoneConnecting,type:`button`,children:[!r&&w(`span`,{className:`vidtreo-mic-connecting-indicator`,style:{marginRight:`0.375rem`},children:w(Je,{height:16,weight:`fill`,width:16})}),r&&w(Ge,{fill:`currentColor`,height:24,style:{marginRight:`0.375rem`},weight:`fill`,width:24}),r?g.record:g.microphoneConnecting]}),e.showMuteButton&&w(`button`,{className:`vidtreo-control-button ${n?`vidtreo-muted`:``}`,id:`muteButton`,onClick:l,title:n?g.unmute:g.mute,type:`button`,children:w(n?Ye:Je,{height:24,weight:`fill`,width:24})}),e.showPauseButton&&w(`button`,{className:`vidtreo-control-button`,id:`pauseButton`,onClick:u,title:g.pause,type:`button`,children:w(Ze,{height:24,weight:`fill`,width:24})}),e.showResumeButton&&w(`button`,{className:`vidtreo-control-button`,id:`resumeButton`,onClick:d,title:g.resume,type:`button`,children:w(Qe,{height:24,weight:`fill`,width:24})}),e.showStopButton&&!i&&T(`button`,{"aria-disabled":m,className:_.className,disabled:m,id:`stopButton`,onClick:v,title:_.title,type:`button`,children:[w($e,{fill:`currentColor`,height:24,style:{marginRight:`0.375rem`},weight:`fill`,width:24}),g.stop]}),e.showDownloadButton&&p&&w(`button`,{className:`vidtreo-control-button`,id:`downloadButton`,onClick:p,title:g.download,type:`button`,children:w(Ke,{height:24,weight:`fill`,width:24})}),e.showSwitchSourceButton&&w(`button`,{className:`vidtreo-control-button`,id:`switchSourceButton`,onClick:f,title:g.switchSource,type:`button`,children:w(a===`camera`?Xe:Be,{height:24,weight:`fill`,width:24})})]})})})}function kt({devices:e,onCameraChange:t,onMicChange:n,translations:r={settings:`Settings`,camera:`Camera`,microphone:`Microphone`}}){let[i,a]=S(`main`),[o,s]=S(`none`),c=e=>{s(`right`),a(e)},l=()=>{s(`left`),a(`main`)};y(()=>{if(o!==`none`){let e=setTimeout(()=>{s(`none`)},300);return()=>{clearTimeout(e)}}},[o]);let u=e.cameras.filter(e=>e.deviceId&&e.deviceId.trim()!==``),d=e.microphones.filter(e=>e.deviceId&&e.deviceId.trim()!==``),f=u.find(t=>t.deviceId===e.selectedCamera)?.label||u[0]?.label||r.camera,p=d.find(t=>t.deviceId===e.selectedMic)?.label||d[0]?.label||r.microphone,m=(e,r)=>{r===`camera`?t(e):n(e),l()};return i===`camera`?w(`div`,{className:`vidtreo-settings-panel vidtreo-active`,id:`settingsPanel`,children:T(`div`,{className:`vidtreo-settings-content vidtreo-slide-${o}`,children:[T(`button`,{className:`vidtreo-settings-header`,onClick:l,type:`button`,children:[w(Q,{className:`vidtreo-settings-back-icon`,height:20,weight:`regular`,width:20}),w(`h3`,{className:`vidtreo-settings-title`,children:r.camera})]}),w(`div`,{className:`vidtreo-device-list`,children:u.length===0?w(`div`,{className:`vidtreo-device-empty`,children:`No hay cámaras disponibles`}):u.map(t=>T(`button`,{className:`vidtreo-device-option`,onClick:()=>{m(t.deviceId,`camera`)},type:`button`,children:[w(`div`,{className:`vidtreo-device-option-check-container`,children:t.deviceId===e.selectedCamera?w(We,{className:`vidtreo-device-checkmark`,height:20,weight:`regular`,width:20}):w(`span`,{className:`vidtreo-device-checkmark-placeholder`})}),w(`span`,{className:`vidtreo-device-option-label`,children:t.label||`Camera ${t.deviceId.slice(0,8)}`})]},t.deviceId))})]})}):i===`microphone`?w(`div`,{className:`vidtreo-settings-panel vidtreo-active`,id:`settingsPanel`,children:T(`div`,{className:`vidtreo-settings-content vidtreo-slide-${o}`,children:[T(`button`,{className:`vidtreo-settings-header`,onClick:l,type:`button`,children:[w(Q,{className:`vidtreo-settings-back-icon`,height:20,weight:`regular`,width:20}),w(`h3`,{className:`vidtreo-settings-title`,children:r.microphone})]}),w(`div`,{className:`vidtreo-device-list`,children:d.length===0?w(`div`,{className:`vidtreo-device-empty`,children:`No hay micrófonos disponibles`}):d.map(t=>T(`button`,{className:`vidtreo-device-option`,onClick:()=>{m(t.deviceId,`microphone`)},type:`button`,children:[w(`div`,{className:`vidtreo-device-option-check-container`,children:t.deviceId===e.selectedMic?w(We,{className:`vidtreo-device-checkmark`,height:20,weight:`regular`,width:20}):w(`span`,{className:`vidtreo-device-checkmark-placeholder`})}),w(`span`,{className:`vidtreo-device-option-label`,children:t.label||`Microphone ${t.deviceId.slice(0,8)}`})]},t.deviceId))})]})}):w(`div`,{className:`vidtreo-settings-panel vidtreo-active`,id:`settingsPanel`,children:w(`div`,{className:`vidtreo-settings-content vidtreo-slide-${o}`,children:T(`div`,{className:`vidtreo-device-options-container`,children:[T(`button`,{className:`vidtreo-device-option-nav`,onClick:()=>{c(`camera`)},type:`button`,children:[T(`div`,{className:`vidtreo-device-option-nav-content`,children:[w(et,{height:20,weight:`fill`,width:20}),w(`span`,{className:`vidtreo-device-option-nav-label`,children:r.camera})]}),T(`div`,{className:`vidtreo-device-option-nav-value`,children:[w(`span`,{className:`vidtreo-device-option-nav-value-text`,children:f}),w(`span`,{className:`vidtreo-device-option-nav-chevron`,children:`›`})]})]}),T(`button`,{className:`vidtreo-device-option-nav`,onClick:()=>{c(`microphone`)},type:`button`,children:[T(`div`,{className:`vidtreo-device-option-nav-content`,children:[w(Je,{height:20,weight:`fill`,width:20}),w(`span`,{className:`vidtreo-device-option-nav-label`,children:r.microphone})]}),T(`div`,{className:`vidtreo-device-option-nav-value`,children:[w(`span`,{className:`vidtreo-device-option-nav-value-text`,children:p}),w(`span`,{className:`vidtreo-device-option-nav-chevron`,children:`›`})]})]})]})})})}function At(e){e.pause(),e.srcObject=null}function jt(e,t){let n=e.getVideoTracks();return n.length===0||n[0].readyState!==`live`||!e.active?(At(t),!1):!0}function Mt(e){let t=e instanceof Error?e.message:String(e);return t.includes(`interrupted`)||t.includes(`abort`)}async function Nt(e){if(!(e.readyState>=2&&!e.paused)){await new Promise(e=>{setTimeout(()=>e(),200)});try{await e.play()}catch{}}}async function Pt(e){try{await e.play()}catch(t){Mt(t)&&await Nt(e)}}async function Ft(e,t,n,r){e.srcObject&&e.srcObject!==t&&e.pause(),e.srcObject=null,n===`screen`?e.classList.add(`vidtreo-screen-share`):e.classList.remove(`vidtreo-screen-share`),await new Promise(e=>{setTimeout(()=>e(),100)}),e.srcObject=t;let i=t.getVideoTracks();i.length>0&&!i[0].enabled&&(i[0].enabled=!0),await Pt(e),r.current=!1}function It(e,t,n){if(!t||!jt(t,e))return!1;let r=t.getVideoTracks()[0];return r.enabled||=!0,e.pause(),e.srcObject=t,n&&n(!1),e.play().catch(()=>{}),!0}function Lt(e){let{videoElement:t,currentStream:n,currentSourceType:r,isUpdatingRef:i,setStreamId:a,setSourceType:o,onLoadedChange:s}=e;i.current=!0,a(n.id),o(r),s&&s(!1),Ft(t,n,r,i).then(()=>{t.readyState>=2&&!t.paused&&s&&s(!0)}).catch(()=>{i.current=!1})}function Rt(e,t,n){let r=0,i=setInterval(()=>{r+=1,(It(e,t,n)||r>=10)&&clearInterval(i)},100);return()=>{clearInterval(i)}}function zt({controller:e,stream:t,transitionMessage:n,className:r=``,onLoadedChange:i}){let a=x(null),[o,s]=S(null),[c,l]=S(`camera`),u=x(!1);return y(()=>{let n=a.current;if(!n)return;if(!e){n.pause(),n.srcObject=null,i&&i(!1);return}let r=t||e.getStream(),d=e.getCurrentSourceType();if((r?.id!==o||d!==c)&&r&&!u.current){Lt({videoElement:n,currentStream:r,currentSourceType:d,isUpdatingRef:u,setStreamId:s,setSourceType:l,onLoadedChange:i});return}let f=t||e.getStream();if(!It(n,f,i))return Rt(n,f,i)},[e,t,o,c,i]),y(()=>{let r=a.current;if(!(r&&e)||n)return;let i=t||e.getStream();i&&r.srcObject===i&&r.paused&&r.readyState>=2&&r.play().catch(()=>{})},[e,t,n]),y(()=>{let e=a.current;if(!e)return;let t=()=>{e.readyState>=2&&!e.paused&&i&&i(!0)},n=()=>{e.readyState>=2&&i&&i(!0)},r=()=>{i&&i(!1)};return e.addEventListener(`loadedmetadata`,t),e.addEventListener(`playing`,n),e.addEventListener(`loadstart`,r),()=>{e.removeEventListener(`loadedmetadata`,t),e.removeEventListener(`playing`,n),e.removeEventListener(`loadstart`,r)}},[i]),w(`video`,{autoPlay:!0,className:r,muted:!0,playsInline:!0,ref:a})}function Bt({className:e=``}){return w(`div`,{className:`vidtreo-video-preview-skeleton ${e}`,children:w(`div`,{className:`vidtreo-skeleton-shimmer`})})}function Vt(e){return e.transcodingProgress===null?e.uploadProgress===null?e.isFinalizingRecording?{label:e.finishingLabel,progress:0}:null:{label:xt(e),progress:e.uploadProgress}:{label:e.finishingLabel,progress:e.transcodingProgress}}function Ht(e){return!!e.isDemo&&!e.isRecording&&!e.isProcessingRecording&&e.recordingState===`idle`&&e.recordedBlob!==null}function Ut(e){return Wt(e.prompt)?e.recordingState===`countdown`?e.prompt?.countdown?.show!==!1:e.isRecording:!1}function Wt(e){return e&&at(e.text)||null}function Gt(e){return e.isRecording?Wt(e.prompt)!==null:!1}function Kt(e,t){return t===`countdown`&&e.countdown?.placement===`above-countdown`?`vidtreo-mobile-recording-prompt vidtreo-mobile-recording-prompt--above-countdown`:`vidtreo-mobile-recording-prompt`}function qt({onOpenCamera:e,translations:t,disabled:n}){return w(`div`,{className:`vidtreo-mobile-landing-container`,children:T(`div`,{className:`vidtreo-mobile-landing-content`,children:[w(`h2`,{className:`vidtreo-mobile-landing-title`,children:t.mobileOpenCameraTitle}),w(`p`,{className:`vidtreo-mobile-landing-description`,children:t.mobileOpenCameraDescription}),T(`button`,{className:`vidtreo-btn vidtreo-btn-primary vidtreo-mobile-open-camera-btn`,disabled:n,onClick:e,type:`button`,children:[w(Be,{size:24,weight:`fill`}),t.mobileOpenCamera]})]})})}function Jt({children:e,onClose:t,canClose:n,translations:r}){return y(()=>{function e(e){e.key===`Escape`&&n&&t()}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[n,t]),w(Et,{children:T(`div`,{"aria-label":r.mobileOpenCameraTitle,"aria-modal":`true`,className:`vidtreo-mobile-modal-overlay`,role:`dialog`,children:[w(`div`,{className:`vidtreo-mobile-modal-header`,children:T(`button`,{className:`vidtreo-mobile-modal-close-btn`,disabled:!n,onClick:t,type:`button`,children:[w(rt,{size:16,weight:`bold`}),r.mobileCloseCamera]})}),w(`div`,{className:`vidtreo-mobile-modal-content`,children:e})]})})}function Yt(e,t){return ye(p({errorCode:e.errorCode,hasAudioFailed:e.hasAudioFailed,error:e.error}),t,e.error,e.errorCode)}function Xt(e){return(e.isErrorVisible||e.isRetrying)&&!e.isRecording&&!e.isProcessingRecording}function Zt(e,t,n,r){let i=Wt(e);return t&&e&&i?w(ct,{className:Kt(e,r),isVisible:n,text:i}):null}function Qt(e,t){return e.promptText===t?e.isVisible:!0}function $t({config:e,state:t,actions:n,audioLevel:r,controller:i,translations:a}){let[o,s]=S(!1),[c,l]=S(!1),[u,d]=S(!1),[f,p]=S(()=>({isVisible:!0,promptText:Wt(e.recordingPrompt)})),m=t.recordingState===`recording`||t.isPaused,h=t.isFinalizingRecording||t.uploadProgress!==null||t.transcodingProgress!==null,g=oe(e.minTimeRecord,t.timer,m),_=i?.getCurrentSourceType()||`camera`,v=Vt({finishingLabel:a.finishing,isFinalizingRecording:t.isFinalizingRecording,retryingUploadLabel:a.retryingUpload,transcodingProgress:t.transcodingProgress,uploadingLabel:a.uploading,uploadProgress:t.uploadProgress,uploadRetryAttempt:t.uploadRetryAttempt}),b=Ht({isDemo:e.demo,isRecording:m,isProcessingRecording:h,recordedBlob:t.recordedBlob,recordingState:t.recordingState}),x={...me(m,t.recordingState,t.isPaused,{...e,isMobile:!0}),showDownloadButton:b};y(()=>{t.recordingState===`recording`&&o&&s(!1)},[t.recordingState,o]);let E=Wt(e.recordingPrompt),D=Qt(f,E),O=()=>{n.startRecording(`camera`).catch(e=>{})},k=()=>{g||n.stopRecording().catch(e=>{})},ee=()=>{e.enableDeviceChange!==!1&&s(!o)},A=e=>{n.changeCamera(e).catch(e=>{})},j=e=>{n.changeMic(e).catch(e=>{})},M=()=>{let e=i?.getCurrentSourceType()||`camera`;n.switchSource(e===`camera`?`screen`:`camera`).catch(e=>{})},N=a,P=Yt(t,N),F=Xt({isErrorVisible:P.visible,isProcessingRecording:h,isRecording:m,isRetrying:u}),I=Ut({prompt:e.recordingPrompt,recordingState:t.recordingState,isRecording:m}),te=Zt(e.recordingPrompt,I,D,t.recordingState),ne=Gt({isRecording:m,prompt:e.recordingPrompt});return T(`div`,{className:`vidtreo-mobile-recorder-content`,children:[w(vt,{children:T(`div`,{className:`vidtreo-preview-container vidtreo-mobile-preview`,children:[!(t.stream||P.visible)&&w(`div`,{className:`vidtreo-start-camera-area`,id:`startCameraArea`,children:w(`span`,{className:`vidtreo-permission-flow-spinner vidtreo-permission-flow-spinner--large`})}),t.transitionMessage&&T(`div`,{className:`vidtreo-preview-skeleton`,id:`previewSkeleton`,children:[w(`div`,{className:`vidtreo-skeleton-spinner`}),w(`div`,{className:`vidtreo-skeleton-text`,children:N.switchingDevice})]}),t.stream&&!(c||t.transitionMessage)&&w(Bt,{}),t.stream&&w(zt,{className:`vidtreo-video-preview`,controller:i,onLoadedChange:l,stream:t.stream,transitionMessage:t.transitionMessage}),t.recordingState===`countdown`&&t.countdown!==null&&w(`div`,{className:`vidtreo-countdown-overlay vidtreo-active`,id:`countdownOverlay`,children:T(`div`,{className:`vidtreo-countdown-content`,children:[w(`div`,{className:`vidtreo-countdown-number`,id:`countdownNumber`,children:t.countdown}),w(`p`,{className:`vidtreo-countdown-text`,children:N.recordingStartsIn})]})}),te,m&&T(C,{children:[ne?w(lt,{hideLabel:N.mobileHideRecordingPrompt,isPromptVisible:D,onToggle:()=>{p({isVisible:!D,promptText:E})},showLabel:N.mobileShowRecordingPrompt}):T(`div`,{className:`vidtreo-rec-indicator-top`,id:`recIndicatorTop`,children:[w(`div`,{className:`vidtreo-recording-dot-small`}),w(`span`,{children:N.rec})]}),T(`div`,{className:`vidtreo-recording-timer-badge`,id:`recordingTimerRow`,children:[w(`div`,{className:`vidtreo-recording-dot-small`}),w(`span`,{className:`vidtreo-recording-timer-text`,id:`recordingTimer`,children:t.timer||`00:00`})]}),w(`div`,{className:`vidtreo-audio-level-bars`,id:`audioLevelBars`,children:w(dt,{audioLevel:r,isMuted:t.isMuted})})]}),t.stream&&w(Ot,{buttonVisibility:x,currentSourceType:_,isAudioReady:t.isAudioReady,isMuted:t.isMuted,isProcessingRecording:h,isStopLocked:g,onDownload:n.downloadVideo,onPause:n.pauseRecording,onResume:n.resumeRecording,onStartRecording:O,onStopRecording:k,onSwitchSource:M,onToggleMute:n.toggleMute,onToggleSettings:ee,recordingState:t.recordingState,stopLockedTooltip:N.minimumRecordingTimeNotReached,translations:{settings:N.settings,record:N.record,stop:N.stop,minimumRecordingTimeNotReached:N.minimumRecordingTimeNotReached,pause:N.pause,resume:N.resume,mute:N.mute,unmute:N.unmute,switchSource:N.switchSource,download:N.download,microphoneConnecting:N.microphoneConnecting}}),w(gt,{message:P.message,onRetry:P.canRetry?async()=>{d(!0),n.stopPreview(),await n.startPreview(`camera`).catch(e=>{}).finally(()=>{d(!1)})}:void 0,retryLabel:P.retryLabel,title:P.title,variant:P.variant,visible:F}),m&&w(mt,{translations:a,warning:t.audioWarning}),bt({uploadProgress:v?.progress??null,uploadingLabel:v?.label??N.uploading})]})}),t.transitionMessage&&T(`div`,{className:`vidtreo-source-transition-overlay vidtreo-active`,id:`sourceTransitionOverlay`,children:[w(`div`,{className:`vidtreo-transition-spinner`}),w(`div`,{className:`vidtreo-transition-message`,children:t.transitionMessage})]}),t.stream&&o&&w(kt,{devices:t.devices,onCameraChange:A,onMicChange:j,translations:{settings:N.settings,camera:N.camera,microphone:N.microphone}})]})}function en({config:e}){let t=N(e.lang===void 0?`en`:e.lang,e.texts===void 0?{}:e.texts),{state:n,actions:r,audioLevel:i,controller:a,isModalOpen:o,openModal:s,closeModal:c,canCloseModal:l}=it(e),u=n.errorCode===`browser.unsupported`,d=!0;return(n.isInitialized||u)&&(d=!1),T(`div`,{className:`vidtreo-mobile-web-recorder`,children:[!o&&w(qt,{disabled:d,onOpenCamera:s,translations:{mobileOpenCamera:t.mobileOpenCamera,mobileOpenCameraTitle:t.mobileOpenCameraTitle,mobileOpenCameraDescription:t.mobileOpenCameraDescription}}),o&&w(Jt,{canClose:l,onClose:c,translations:{mobileCloseCamera:t.mobileCloseCamera,mobileOpenCameraTitle:t.mobileOpenCameraTitle},children:w($t,{actions:r,audioLevel:i,config:e,controller:a,state:n,translations:t})})]})}function tn(r){let[i,o]=S(null),[s,c]=S(null),[u,d]=S(null),[f,p]=S(!1),[h,g]=S(!0),[_,b]=S(null),[C,w]=S(null),T=x(null),E=x(r);E.current=r,y(()=>{let t=r.backendUrl||A,i=null;r.apiKey&&!r.demo&&(i=e.getInstance({apiKey:r.apiKey,backendUrl:t}));let o=new a;return T.current=new n({apiKey:r.apiKey,backendUrl:t,maxRecordingTime:r.maxRecordingTime,maxFileSize:r.maxFileSize,userMetadata:r.userMetadata},i,o),r.apiKey&&!r.demo?(g(!0),T.current.preloadConfig().then(()=>g(!1)).catch(()=>{g(!1),b(`Failed to load settings`)})):g(!1),()=>{T.current=null}},[r.apiKey,r.backendUrl,r.demo,r.maxRecordingTime,r.maxFileSize,r.userMetadata]);let D=v(async e=>{if(b(null),!T.current)throw Error(`Handler not initialized`);try{let t=await T.current.handleFileSelection(e);return o(t),t}catch(e){let t=l(e),n=e instanceof Error?e:Error(t);throw b(t),E.current.onError?.(n),n}},[]),O=v(async e=>{let n=e||i;if(!(n&&T.current))return;let r=E.current.demo;try{if(p(!0),c(0),b(null),r)w((await m(n.file,t,e=>{c(e),E.current.onTranscodingProgress?.(e)})).blob),p(!1),c(null);else{let e=await T.current.processAndUpload(e=>{c(e),E.current.onTranscodingProgress?.(e)},e=>{d(e),E.current.onUploadProgress?.(e)});o(null),c(null),d(null),p(!1),E.current.onUploadComplete?.({recordingId:e.recordingId||``,uploadUrl:e.uploadUrl||``})}}catch(e){let t=l(e),n=e instanceof Error?e:Error(t);b(t),p(!1),c(null),d(null),w(null),E.current.onError?.(n),r||E.current.onUploadError?.(n)}},[i]),k=v(()=>{if(!C)return;let e=URL.createObjectURL(C),t=document.createElement(`a`);t.href=e,t.download=`recording-${Date.now()}.mp4`,document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(e)},[C]),ee=v(()=>{o(null),c(null),d(null),b(null),p(!1),w(null)},[]);return{state:{file:i,transcodingProgress:s,uploadProgress:u,isTranscoding:f,isConfigLoading:h,error:_,transcodedBlob:C},actions:{handleFileSelect:D,processAndUpload:O,downloadVideo:k,reset:ee}}}function nn({progress:e}){let t=Math.round(e*100);return T(`div`,{className:`vidtreo-transcoding-progress`,children:[w(`div`,{className:`vidtreo-progress-bar`,children:w(`div`,{className:`vidtreo-progress-fill`,style:{width:`${t}%`}})}),T(`div`,{className:`vidtreo-progress-text`,children:[`Processing video... `,t,`%`]})]})}function rn({progress:e,visible:t}){if(!t||e===null)return null;let n=Math.round(e*100);return T(`div`,{className:`vidtreo-upload-progress`,children:[w(`div`,{className:`vidtreo-upload-progress-bar`,children:w(`div`,{className:`vidtreo-upload-progress-fill`,style:{width:`${n}%`}})}),T(`div`,{className:`vidtreo-upload-progress-text`,children:[`Uploading... `,n,`%`]})]})}function an({config:e}){let{state:t,actions:n}=tn(e),r=x(null),i=N(e.lang===void 0?`en`:e.lang,e.texts===void 0?{}:e.texts),a=()=>{r.current&&(r.current.accept=`video/*`,r.current.removeAttribute(`capture`),r.current.click())},o=()=>{r.current&&(r.current.accept=`video/*`,r.current.setAttribute(`capture`,`environment`),r.current.click())},s=async e=>{let t=e.target.files?.[0];if(t){let e=await n.handleFileSelect(t);await n.processAndUpload(e)}e.target.value=``},c=t.file!==null,l=!(c||t.isTranscoding)&&t.uploadProgress===null&&!t.transcodedBlob,u=e.demo&&t.transcodedBlob&&!t.isTranscoding&&t.uploadProgress===null;return T(`div`,{className:`vidtreo-native-camera-container`,children:[w(`input`,{onChange:s,ref:r,style:{display:`none`},type:`file`}),t.isConfigLoading&&w(`div`,{className:`vidtreo-config-loading-indicator`,children:w(`div`,{className:`vidtreo-spinner-small`})}),c&&t.file!==null&&T(`div`,{className:`vidtreo-native-camera-preview-container`,children:[w(`img`,{alt:`Video preview`,className:`vidtreo-native-camera-preview-image`,height:480,src:t.file.previewUrl,width:640}),t.isTranscoding&&t.transcodingProgress!==null&&w(`div`,{className:`vidtreo-progress-overlay`,children:w(nn,{progress:t.transcodingProgress})}),t.uploadProgress!==null&&w(`div`,{className:`vidtreo-progress-overlay`,children:w(rn,{progress:t.uploadProgress,visible:!0})}),u&&w(`div`,{className:`vidtreo-native-camera-download-button`,children:w(`button`,{className:`vidtreo-btn vidtreo-btn-primary`,onClick:n.downloadVideo,type:`button`,children:i.download})})]}),l&&w(`div`,{className:`vidtreo-native-camera-empty-state`,children:T(`div`,{className:`vidtreo-native-camera-buttons`,children:[w(`button`,{className:`vidtreo-btn vidtreo-btn-primary`,disabled:t.isConfigLoading,onClick:a,type:`button`,children:`Select Video from Gallery`}),w(`button`,{className:`vidtreo-btn vidtreo-btn-secondary`,disabled:t.isConfigLoading,onClick:o,type:`button`,children:`Record with Camera`})]})}),w(gt,{message:t.error||i.genericErrorMessage,onRetry:n.reset,retryLabel:i.errorRetry,title:i.genericErrorTitle,variant:`generic`,visible:t.error!==null})]})}const on=`vidtreo.com`;function sn(){if(globalThis.window===void 0)return on;let e=globalThis.window.location.hostname||on;return e.length>20?`${e.slice(0,20)}...`:e}function cn(){return w(`svg`,{"aria-hidden":`true`,className:`vidtreo-recovery-guide-lock-svg`,fill:`currentColor`,height:10,viewBox:`0 0 256 256`,width:10,children:w(`path`,{d:`M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96Z`})})}function ln(){return w(`svg`,{"aria-hidden":`true`,className:`vidtreo-recovery-guide-cursor-svg`,height:22,viewBox:`0 0 28 28`,width:22,children:w(`path`,{d:`M5 2l1.5 20.5 4.5-6 3.5 7 2.5-1.2-3.5-7H20L5 2z`,fill:`#000`,stroke:`#fff`,strokeLinejoin:`round`,strokeWidth:1.6})})}function un(){return T(`svg`,{"aria-hidden":`true`,fill:`none`,height:14,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:16,viewBox:`0 0 256 256`,width:14,children:[w(`path`,{d:`M200,72H32A8,8,0,0,0,24,80v96a8,8,0,0,0,8,8H200a8,8,0,0,0,8-8V80A8,8,0,0,0,200,72Z`}),w(`polyline`,{points:`208 156 248 180 248 76 208 100`}),w(`line`,{x1:`34`,x2:`222`,y1:`232`,y2:`24`})]})}function dn(){return w(`svg`,{"aria-hidden":`true`,fill:`currentColor`,height:14,viewBox:`0 0 256 256`,width:14,children:w(`path`,{d:`M251.77,73a8,8,0,0,0-8.21.39L208,97.05V72a16,16,0,0,0-16-16H32A16,16,0,0,0,16,72V184a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V159l35.56,23.71A8,8,0,0,0,256,176V80A8,8,0,0,0,251.77,73Z`})})}function fn(){return T(`svg`,{"aria-hidden":`true`,fill:`none`,height:14,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:16,viewBox:`0 0 256 256`,width:14,children:[w(`path`,{d:`M176,128a48,48,0,0,1-48,48`}),w(`path`,{d:`M96,163.4A48,48,0,0,1,80,128V64a48,48,0,0,1,90.64-21.47`}),w(`path`,{d:`M200,128a79.74,79.74,0,0,1-9.18,37.42`}),w(`path`,{d:`M56,128a79.6,79.6,0,0,0,21.44,54.46`}),w(`line`,{x1:`128`,x2:`128`,y1:`208`,y2:`240`}),w(`line`,{x1:`96`,x2:`160`,y1:`240`,y2:`240`}),w(`line`,{x1:`34`,x2:`222`,y1:`232`,y2:`24`})]})}function pn(){return w(`svg`,{"aria-hidden":`true`,fill:`currentColor`,height:14,viewBox:`0 0 256 256`,width:14,children:w(`path`,{d:`M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V232a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z`})})}function mn(e){let t=`vidtreo-recovery-guide-switch-track`,n=`vidtreo-recovery-guide-switch-knob`;return e&&(t+=` vidtreo-recovery-guide-switch--delayed`,n+=` vidtreo-recovery-guide-switch--delayed`),T(`div`,{className:`vidtreo-recovery-guide-switch`,children:[w(`div`,{className:t}),w(`div`,{className:n})]})}function hn(e,t,n,r){let i=`vidtreo-recovery-guide-icon-off`,a=`vidtreo-recovery-guide-icon-on`;return r&&(i+=` vidtreo-recovery-guide-switch--delayed`,a+=` vidtreo-recovery-guide-switch--delayed`),T(`div`,{className:`vidtreo-recovery-guide-perm-row`,children:[T(`div`,{className:`vidtreo-recovery-guide-perm-group`,children:[T(`div`,{className:`vidtreo-recovery-guide-perm-icon`,children:[w(`span`,{className:i,children:e}),w(`span`,{className:a,children:t})]}),w(`div`,{className:`vidtreo-recovery-guide-perm-label`,children:n})]}),mn(r)]})}function gn(e){let t=sn();return T(`div`,{className:`vidtreo-recovery-guide`,children:[T(`div`,{className:`vidtreo-recovery-guide-browser`,children:[T(`div`,{className:`vidtreo-recovery-guide-titlebar`,children:[T(`div`,{className:`vidtreo-recovery-guide-dots`,children:[w(`span`,{className:`vidtreo-recovery-guide-dot vidtreo-recovery-guide-dot--close`}),w(`span`,{className:`vidtreo-recovery-guide-dot vidtreo-recovery-guide-dot--min`}),w(`span`,{className:`vidtreo-recovery-guide-dot vidtreo-recovery-guide-dot--max`})]}),T(`div`,{className:`vidtreo-recovery-guide-addressbar`,children:[w(`div`,{className:`vidtreo-recovery-guide-lock`,children:cn()}),w(`span`,{className:`vidtreo-recovery-guide-url`,children:t})]})]}),w(`div`,{className:`vidtreo-recovery-guide-browser-bg`})]}),w(`div`,{className:`vidtreo-recovery-guide-cursor`,children:ln()}),T(`div`,{className:`vidtreo-recovery-guide-popover`,children:[w(`div`,{className:`vidtreo-recovery-guide-popover-header`,children:t}),w(`div`,{className:`vidtreo-recovery-guide-popover-divider`}),hn(un(),dn(),e.cameraLabel,!1),hn(fn(),pn(),e.microphoneLabel,!0)]})]})}function _n(e){return e[0].status===`granted`?`microphone`:`camera`}function vn(e,t){return e===`camera`?t.cameraTitle:t.microphoneTitle}function yn(e,t){return e===`camera`?t.cameraLabel:t.microphoneLabel}function bn(e,t){return e===`camera`?t.allowCamera:t.allowMicrophone}function xn(e,t){return e===`camera`?t[0].status:t[1].status}function Sn(e,t,n,r,i){if(t===`granted`||t===`denied`)return null;let a=e===`checking`,o=`vidtreo-permission-flow-action`;a&&(o=`vidtreo-permission-flow-action vidtreo-permission-flow-action--requesting`);let s=n;a&&(s=r);let c;return c=a?w(`span`,{className:`vidtreo-permission-flow-spinner`}):w(tt,{size:24,weight:`fill`}),T(`button`,{className:o,disabled:a,onClick:i,type:`button`,children:[c,s]})}function Cn(e,t,n,r){let i=gn({cameraLabel:n.cameraName,microphoneLabel:n.microphoneName});return T(`div`,{className:`vidtreo-permission-flow-recovery`,children:[w(`div`,{className:`vidtreo-permission-flow-subtitle`,children:n.recoveryTitle}),i]})}function wn(e){if(!e.isActive)return null;let{currentStep:t,steps:n,recoveryData:r,canRetry:i,translations:a,onRequestPermission:o,onRetryPermission:s}=e,{isFadingOut:c}=e,l=`vidtreo-permission-flow vidtreo-active`;if(c&&(l=`vidtreo-permission-flow vidtreo-active vidtreo-permission-flow--fading`),t===`ready`)return w(`div`,{className:l,children:w(`span`,{className:`vidtreo-permission-flow-spinner vidtreo-permission-flow-spinner--large`})});let u=t===`blocked`,d=_n(n),f=xn(d,n),p=vn(d,a),m=yn(d,a),h=bn(d,a),g=null;u||(g=w(`div`,{className:`vidtreo-permission-flow-subtitle`,children:m}));let _=null;u||(_=Sn(t,f,h,a.statusRequesting,o));let v=null;return u&&r&&(v=Cn(r,i,a,s)),T(`div`,{className:l,children:[w(`div`,{className:`vidtreo-permission-flow-title`,children:p}),g,_,v]})}function Tn(e){let{stream:t,buttonVisibility:n,currentSourceType:r,isMuted:i,onDownload:a,onPause:o,onResume:s,onStartRecording:c,onStopRecording:l,onSwitchSource:u,onToggleMute:d,onToggleSettings:f,recordingState:p,isStopLocked:m,stopLockedTooltip:h,buttonTranslations:g}=e;return t?w(Ot,{buttonVisibility:n,currentSourceType:r,isAudioReady:e.isAudioReady,isMuted:i,isProcessingRecording:e.isProcessingRecording,isStopLocked:m,onDownload:a,onPause:o,onResume:s,onStartRecording:c,onStopRecording:l,onSwitchSource:u,onToggleMute:d,onToggleSettings:f,recordingState:p,stopLockedTooltip:h,translations:g}):null}function En(e){let{stream:t,controller:n,transitionMessage:r,isVideoLoaded:i,onLoadedChange:a}=e,o=null;t&&!i&&!r&&(o=w(Bt,{}));let s=null;return t&&(s=w(zt,{className:`vidtreo-video-preview`,controller:n,onLoadedChange:a,stream:t,transitionMessage:r})),{previewSkeleton:o,videoPreview:s}}function Dn(e){return e.stream?null:w(`div`,{className:`vidtreo-start-camera-area`,children:w(`span`,{className:`vidtreo-permission-flow-spinner vidtreo-permission-flow-spinner--large`})})}function On(e,t){return e?T(`div`,{className:`vidtreo-preview-skeleton`,id:`previewSkeleton`,children:[w(`div`,{className:`vidtreo-skeleton-spinner`}),w(`div`,{className:`vidtreo-skeleton-text`,children:t.switchingDevice})]}):null}function kn(e,t,n){return e!==`countdown`||t===null?null:w(`div`,{className:`vidtreo-countdown-overlay vidtreo-active`,id:`countdownOverlay`,children:T(`div`,{className:`vidtreo-countdown-content`,children:[w(`div`,{className:`vidtreo-countdown-number`,id:`countdownNumber`,children:t}),w(`p`,{className:`vidtreo-countdown-text`,children:n.recordingStartsIn})]})})}function An(e,t){return e?T(`div`,{className:`vidtreo-rec-indicator-top`,id:`recIndicatorTop`,children:[w(`div`,{className:`vidtreo-recording-dot-small`}),w(`span`,{children:t.rec})]}):null}function jn(e,t){return e?T(`div`,{className:`vidtreo-recording-timer-badge`,id:`recordingTimerRow`,children:[w(`div`,{className:`vidtreo-recording-dot-small`}),w(`span`,{className:`vidtreo-recording-timer-text`,id:`recordingTimer`,children:t})]}):null}function Mn(e,t,n){return e?w(`div`,{className:`vidtreo-audio-level-bars`,id:`audioLevelBars`,children:w(dt,{audioLevel:t,isMuted:n})}):null}function Nn(e){let{state:t,isVideoLoaded:n,isRecording:r,isProcessingRecording:i,controller:a,audioLevel:o,buttonVisibility:s,currentSourceType:c,onStartRecording:l,onStopRecording:u,onSwitchSource:d,onToggleSettings:f,onToggleMute:p,onPause:m,onResume:h,onLoadedChange:g,onDownload:_,isStopLocked:v,stopLockedTooltip:y,translations:b,buttonTranslations:x}=e,S=Dn(t),w=On(t.transitionMessage,b),E=En({stream:t.stream,controller:a,transitionMessage:t.transitionMessage,isVideoLoaded:n,onLoadedChange:g}),D=kn(t.recordingState,t.countdown,b),O=An(r,b),k=jn(r,t.timer),ee=Mn(r,o,t.isMuted),A=Tn({stream:t.stream,buttonVisibility:s,currentSourceType:c,isMuted:t.isMuted,isAudioReady:t.isAudioReady,isProcessingRecording:i,onDownload:_,onPause:m,onResume:h,onStartRecording:l,onStopRecording:u,onSwitchSource:d,onToggleMute:p,onToggleSettings:f,recordingState:t.recordingState,isStopLocked:v,stopLockedTooltip:y,buttonTranslations:x});return T(C,{children:[S,w,E.previewSkeleton,E.videoPreview,D,O,k,ee,A]})}function Pn(e){let{stream:t,showSettings:n,devices:r,onCameraChange:i,onMicChange:a,translations:o}=e;return t&&n?w(kt,{devices:r,onCameraChange:i,onMicChange:a,translations:o}):null}const Fn={requiresAudio:!1,requiresWatermark:!1};function In(e){return e===`en`?{language:`en`}:e===`es`?{language:`es`}:{}}function $(e,t){if(!t)return;let n=e instanceof Error,r=Error(String(e));n&&(r=e),t(r)}function Ln(e){let t=be(e.apiKey,e.demo),[n,r]=S(!1),[i,a]=S(!1),[o,s]=S(!1),c=e.lang||`en`,l=In(c),u=N(c,e.texts||xe),{state:d,actions:m,audioLevel:h,controller:g}=pe({apiKey:t,backendUrl:e.backendUrl,countdownDuration:e.countdownDuration,minTimeRecord:e.minTimeRecord,maxRecordingTime:e.maxRecordingTime,userMetadata:e.userMetadata,enableSourceSwitching:e.enableSourceSwitching,enableMute:e.enableMute,enablePause:e.enablePause,enableDeviceChange:e.enableDeviceChange,enableTabVisibilityOverlay:e.enableTabVisibilityOverlay,tabVisibilityOverlayText:e.tabVisibilityOverlayText,demo:e.demo,nativeCamera:e.nativeCamera,lang:e.lang,texts:e.texts,onUploadComplete:e.onUploadComplete,onUploadProgress:e.onUploadProgress,onUploadError:e.onUploadError,onRecordingStart:e.onRecordingStart,onRecordingStop:e.onRecordingStop,onError:e.onError}),_=ee(u),v=_.preview,x=_.buttons,C=_.settings,E=k(l),D=b(()=>({title:u.permissionFlowTitle,cameraTitle:u.permissionFlowCameraTitle,microphoneTitle:u.permissionFlowMicrophoneTitle,cameraLabel:u.permissionFlowCameraLabel,microphoneLabel:u.permissionFlowMicrophoneLabel,statusPending:u.permissionFlowStatusPending,statusGranted:u.permissionFlowStatusGranted,statusDenied:u.permissionFlowStatusDenied,statusRequesting:u.permissionFlowStatusRequesting,allowCamera:u.permissionFlowAllowCamera,allowMicrophone:u.permissionFlowAllowMicrophone,retry:u.permissionFlowRetry,recoveryTitle:u.permissionFlowRecoveryTitle,recoveryInstructions:u.permissionFlowRecoveryInstructions,recoveryGuideHint:u.permissionFlowRecoveryGuideHint,cameraName:u.camera,microphoneName:u.microphone,connecting:u.permissionFlowConnecting}),[u.permissionFlowTitle,u.permissionFlowCameraTitle,u.permissionFlowMicrophoneTitle,u.permissionFlowCameraLabel,u.permissionFlowMicrophoneLabel,u.permissionFlowStatusPending,u.permissionFlowStatusGranted,u.permissionFlowStatusDenied,u.permissionFlowStatusRequesting,u.permissionFlowAllowCamera,u.permissionFlowAllowMicrophone,u.permissionFlowRetry,u.permissionFlowRecoveryTitle,u.permissionFlowRecoveryInstructions,u.permissionFlowRecoveryGuideHint,u.camera,u.microphone,u.permissionFlowConnecting]),[O,A]=S(`hidden`);y(()=>{if(d.error){A(`hidden`);return}if(E.isActive){A(`active`),a(!1);return}A(e=>e===`hidden`?`hidden`:e===`fading`||i?`fading`:d.stream?`loading`:d.error?`hidden`:`loading`)},[E.isActive,i,d.stream,d.error]),y(()=>{if(O!==`fading`)return;let e=setTimeout(()=>{A(`hidden`)},600);return()=>{clearTimeout(e)}},[O]),y(()=>{E.isActive&&d.stream&&m.stopPreview()},[E.isActive,d.stream,m]);let j=b(()=>({enableDeviceChange:e.enableDeviceChange,enableMute:e.enableMute,enablePause:e.enablePause,enableSourceSwitching:e.enableSourceSwitching,isMobile:f()}),[e.enableDeviceChange,e.enableMute,e.enablePause,e.enableSourceSwitching]);y(()=>{if(d.stream||d.uploadProgress!==null||!m.startPreview||!d.isInitialized||E.currentStep===`idle`||E.isActive)return;let t=setTimeout(()=>{m.startPreview(U).catch(t=>{$(t,e.onError)})},100);return()=>{clearTimeout(t)}},[d.stream,d.uploadProgress,d.isInitialized,E.currentStep,E.isActive,m,e.onError]),y(()=>{d.recordingState===W&&n&&r(!1)},[d.recordingState,n]);let M=()=>{m.startRecording(U).catch(t=>{$(t,e.onError)})},P=()=>{re||m.stopRecording().catch(t=>{$(t,e.onError)})},F=()=>{e.enableDeviceChange!==!1&&r(e=>!e)},I=t=>{m.changeCamera(t).catch(t=>{$(t,e.onError)})},te=t=>{m.changeMic(t).catch(t=>{$(t,e.onError)})},ne=()=>{let t=g?.getCurrentSourceType()||U,n=U;t===U&&(n=Se),t===Se&&(n=U),m.switchSource(n).catch(t=>{$(t,e.onError)})},L=d.recordingState===W||d.isPaused,R=d.isFinalizingRecording||d.uploadProgress!==null||d.transcodingProgress!==null,re=oe(e.minTimeRecord,d.timer,L),ie=g?.getCurrentSourceType()||U,ae=b(()=>{let t=me(L,d.recordingState,d.isPaused,j),n=!1;return e.demo&&!L&&!R&&d.recordingState===`idle`&&d.recordedBlob!==null&&(n=!0),{...t,showDownloadButton:n}},[L,R,d.recordingState,d.isPaused,d.recordedBlob,e.demo,j]),se=bt({uploadProgress:d.uploadProgress,uploadRetryAttempt:d.uploadRetryAttempt,retryingUploadLabel:u.retryingUpload,uploadingLabel:u.uploading}),z=bt({uploadProgress:d.transcodingProgress,uploadingLabel:u.finishing}),ce=null;d.isFinalizingRecording&&d.transcodingProgress===null&&d.uploadProgress===null&&(ce=0);let le=bt({uploadProgress:ce,uploadingLabel:u.finishing}),ue=O!==`hidden`,de=O===`loading`||O===`fading`,fe=O===`fading`,he=null;ue&&(he=wn({isActive:!0,isFadingOut:fe,currentStep:de?`ready`:E.currentStep,steps:E.steps,recoveryData:E.recoveryData,canRetry:E.recoveryData?.canRetry??!1,translations:D,onRequestPermission:()=>{E.requestPermission().catch(t=>{$(t,e.onError)})},onRetryPermission:()=>{E.retryPermission().catch(t=>{$(t,e.onError)})}}));let B=St({transitionMessage:d.transitionMessage}),V=Pn({stream:d.stream,showSettings:n,devices:d.devices,onCameraChange:I,onMicChange:te,translations:C}),H=ye(p({errorCode:d.errorCode,hasAudioFailed:d.hasAudioFailed,error:d.error}),u,d.error,d.errorCode);return T(`div`,{className:`vidtreo-camera-area vidtreo-active`,id:`cameraArea`,children:[w(vt,{children:T(`div`,{className:`vidtreo-preview-container`,children:[Nn({state:d,isVideoLoaded:i,isRecording:L,isProcessingRecording:R,controller:g,audioLevel:h,buttonVisibility:ae,currentSourceType:ie,onStartRecording:M,onStopRecording:P,onSwitchSource:ne,onToggleSettings:F,onToggleMute:m.toggleMute,onPause:m.pauseRecording,onResume:m.resumeRecording,onLoadedChange:a,onDownload:m.downloadVideo,isStopLocked:re,stopLockedTooltip:x.minimumRecordingTimeNotReached,translations:v,buttonTranslations:x}),w(gt,{message:H.message,onRetry:H.canRetry?async()=>{s(!0),m.stopPreview(),await m.startPreview(U).catch(t=>{$(t,e.onError)}).finally(()=>{s(!1)})}:void 0,retryLabel:H.retryLabel,title:H.title,variant:H.variant,visible:(H.visible||o)&&!L&&!R}),L&&w(mt,{onDismiss:()=>{},translations:u,warning:d.audioWarning}),he,le,z,se]})}),B,V]})}function Rn(e,t){return t===!0?`native`:e===void 0?null:e}function zn(e){return e!==`native`}function Bn(e){return e===null?`overlay`:e}function Vn(e){let t=be(e.apiKey,e.demo),n=f(),r=Rn(e.mobileMode,e.nativeCamera),i=zn(r),[a,o]=S(null),c=b(()=>({apiKey:t,backendUrl:e.backendUrl,maxRecordingTime:e.maxRecordingTime,maxFileSize:e.maxFileSize,userMetadata:e.userMetadata,demo:e.demo,lang:e.lang,texts:e.texts,onUploadComplete:e.onUploadComplete,onUploadProgress:e.onUploadProgress,onUploadError:e.onUploadError,onError:e.onError,onTranscodingProgress:e.onTranscodingProgress}),[t,e.backendUrl,e.maxRecordingTime,e.maxFileSize,e.userMetadata,e.demo,e.lang,e.texts,e.onUploadComplete,e.onUploadProgress,e.onUploadError,e.onError,e.onTranscodingProgress]),l=b(()=>({apiKey:t,backendUrl:e.backendUrl,countdownDuration:e.countdownDuration,minTimeRecord:e.minTimeRecord,maxRecordingTime:e.maxRecordingTime,maxFileSize:e.maxFileSize,userMetadata:e.userMetadata,recordingPrompt:e.recordingPrompt,enableSourceSwitching:e.enableSourceSwitching,enableMute:e.enableMute,enablePause:e.enablePause,enableDeviceChange:e.enableDeviceChange,enableTabVisibilityOverlay:e.enableTabVisibilityOverlay,tabVisibilityOverlayText:e.tabVisibilityOverlayText,demo:e.demo,lang:e.lang,texts:e.texts,onUploadComplete:e.onUploadComplete,onUploadProgress:e.onUploadProgress,onUploadError:e.onUploadError,onRecordingStart:e.onRecordingStart,onRecordingStop:e.onRecordingStop,onError:e.onError,onTranscodingProgress:e.onTranscodingProgress}),[t,e.backendUrl,e.countdownDuration,e.minTimeRecord,e.maxRecordingTime,e.maxFileSize,e.userMetadata,e.recordingPrompt,e.enableSourceSwitching,e.enableMute,e.enablePause,e.enableDeviceChange,e.enableTabVisibilityOverlay,e.tabVisibilityOverlayText,e.demo,e.lang,e.texts,e.onUploadComplete,e.onUploadProgress,e.onUploadError,e.onRecordingStart,e.onRecordingStop,e.onError,e.onTranscodingProgress]);if(y(()=>{if(!n||!i)return;let e=!0;return o(null),s(Fn).then(t=>{e&&o(t.isSupported)}).catch(()=>{e&&o(!1)}),()=>{e=!1}},[n,i]),!n)return w(Ln,{...e});if(i&&a===null)return w(Bt,{});let u=Bn(r);return u===`embed`?w(Ln,{...e}):u===`native`?w(an,{config:c}):w(en,{config:l})}function Hn(e){return w(yt,{lang:e.lang,texts:e.texts,children:w(Vn,{...e})})}export{Hn as VidtreoRecorder,Hn as VidtreoRecorderSSR,pe as useVidtreoRecorder};
@@ -1 +1 @@
1
- :root{--vidtreo-background:0 0% 100%;--vidtreo-foreground:0 0% 3.9%;--vidtreo-card:0 0% 100%;--vidtreo-card-foreground:0 0% 3.9%;--vidtreo-primary:0 0% 9%;--vidtreo-primary-foreground:0 0% 98%;--vidtreo-secondary:0 0% 96.1%;--vidtreo-secondary-foreground:0 0% 9%;--vidtreo-muted:0 0% 96.1%;--vidtreo-muted-foreground:0 0% 45.1%;--vidtreo-accent:0 0% 96.1%;--vidtreo-accent-foreground:0 0% 9%;--vidtreo-destructive:0 84.2% 60.2%;--vidtreo-destructive-foreground:0 0% 98%;--vidtreo-border:0 0% 89.8%;--vidtreo-input:0 0% 89.8%;--vidtreo-ring:0 0% 3.9%;--vidtreo-radius:0.5rem;--vidtreo-preview-bg:0 0% 0%;--vidtreo-z-modal-overlay:9999;--vidtreo-z-settings-panel:200;--vidtreo-z-error-overlay:100;--vidtreo-z-countdown-overlay:20;--vidtreo-z-progress-overlay:20;--vidtreo-z-controls:10}.vidtreo-preview-container{position:relative;width:100%;aspect-ratio:9 / 16;border-radius:0;overflow:visible;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;border:none;contain:layout style;transform:translateZ(0);will-change:auto;backface-visibility:hidden;isolation:isolate}.vidtreo-preview-container::before{display:none}@media (min-width:768px){.vidtreo-preview-container{aspect-ratio:16 / 9}}.vidtreo-camera-area{width:100%;height:100%;display:none;position:relative;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;contain:layout style paint;transform:translateZ(0);backface-visibility:hidden;isolation:isolate;will-change:auto}.vidtreo-source-transition-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.7);display:none;align-items:center;justify-content:center;flex-direction:column;border-radius:0;z-index:var(--vidtreo-z-error-overlay);backdrop-filter:blur(4px);transition:opacity 0.3s ease;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:opacity}.vidtreo-source-transition-overlay.vidtreo-active{display:flex;animation:vidtreo-fadeIn 0.2s ease}@keyframes vidtreo-fadeIn{from{opacity:0}to{opacity:1}}.vidtreo-transition-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,0.3);border-top-color:#667eea;border-radius:50%;animation:vidtreo-spin 0.8s linear infinite;margin-bottom:12px}@keyframes vidtreo-spin{to{transform:rotate(360deg)}}.vidtreo-transition-message{color:white;font-size:14px;font-weight:500;text-align:center}.vidtreo-camera-area.vidtreo-active{display:block}.vidtreo-preview-skeleton{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;border-radius:0;z-index:var(--vidtreo-z-controls);gap:1rem;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-skeleton-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,0.3);border-top-color:#ffffff;border-radius:50%;animation:vidtreo-spin 0.8s linear infinite}.vidtreo-skeleton-text{color:#ffffff;font-size:0.875rem;font-weight:500}.vidtreo-video-preview{width:100%;height:100%;border-radius:0;background:#000;display:block;object-fit:cover;transition:opacity 0.3s ease,transform 0.3s ease;position:absolute;inset:0;transform:translateZ(0);will-change:auto;backface-visibility:hidden}.vidtreo-video-preview-skeleton{position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:#000;overflow:hidden;z-index:2;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-skeleton-shimmer{position:absolute;inset:0;background:linear-gradient( 90deg,hsl(var(--vidtreo-muted)) 0%,hsl(var(--vidtreo-muted) / 0.5) 50%,hsl(var(--vidtreo-muted)) 100% );background-size:200% 100%;animation:vidtreo-shimmer 1.5s ease-in-out infinite}@keyframes vidtreo-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.vidtreo-video-preview-skeleton.vidtreo-hidden{opacity:0;pointer-events:none;transition:opacity 0.3s ease}.vidtreo-video-preview.vidtreo-screen-share{object-fit:cover}.vidtreo-video-preview.vidtreo-transitioning{opacity:0.5;transform:scale(0.98)}.vidtreo-countdown-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.95);display:none;align-items:center;justify-content:center;border-radius:0;z-index:var(--vidtreo-z-countdown-overlay);transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-countdown-overlay.vidtreo-active{display:flex}.vidtreo-countdown-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.vidtreo-countdown-number{font-size:9rem;font-weight:bold;color:#ffffff;animation:vidtreo-zoomIn 0.3s ease}@keyframes vidtreo-zoomIn{from{transform:scale(0.5);opacity:0}to{transform:scale(1);opacity:1}}.vidtreo-countdown-text{font-size:0.875rem;color:#ffffff;margin-top:1rem;font-weight:500}.vidtreo-settings-panel{position:absolute !important;bottom:4rem !important;left:50% !important;margin-left:-47%;background:rgba(0,0,0,0.4);border:none;border-radius:0.75rem;padding:0.625rem;display:none;flex-direction:column;z-index:var(--vidtreo-z-settings-panel);width:90%;overflow:hidden;contain:layout style paint;transform:translateZ(0);backface-visibility:hidden}.vidtreo-settings-panel.vidtreo-active{display:flex}.vidtreo-settings-content{width:100%;display:flex;flex-direction:column;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.vidtreo-settings-content.vidtreo-slide-right{animation:vidtreo-slideRight 0.3s ease}.vidtreo-settings-content.vidtreo-slide-left{animation:vidtreo-slideLeft 0.3s ease}.vidtreo-settings-content.vidtreo-slide-none{animation:none;will-change:auto}@keyframes vidtreo-slideIn{from{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes vidtreo-slideRight{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes vidtreo-slideLeft{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.vidtreo-settings-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;background:none;border:none;color:#ffffff;cursor:pointer;padding:0;width:100%;text-align:left}.vidtreo-settings-back-icon{flex-shrink:0;color:#ffffff}.vidtreo-settings-title{font-size:0.875rem;font-weight:600;margin:0;color:#ffffff}.vidtreo-device-options-container{display:flex;flex-direction:column;gap:0.375rem}.vidtreo-device-option-nav{display:flex;align-items:center;padding:0.5rem 0.75rem;background:none;border:none;cursor:pointer;color:#ffffff;transition:background-color 0.2s ease;width:100%;gap:1rem;border-radius:0.5rem}.vidtreo-device-option-nav:hover{background:rgba(255,255,255,0.2)}.vidtreo-device-option-nav-content{display:flex;align-items:center;gap:0.75rem;flex-shrink:0}.vidtreo-device-option-nav-label{font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-device-option-nav-value{display:flex;align-items:center;gap:0.5rem;flex:1;justify-content:flex-end;min-width:0}.vidtreo-device-option-nav-value-text{font-size:0.875rem;color:rgba(255,255,255,0.8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:right}.vidtreo-device-option-nav-chevron{font-size:1.25rem;color:#ffffff;line-height:1}.vidtreo-device-list{display:flex;flex-direction:column;gap:0;max-height:200px;overflow-y:auto}.vidtreo-device-list::-webkit-scrollbar{width:4px}.vidtreo-device-list::-webkit-scrollbar-track{background:transparent}.vidtreo-device-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);border-radius:2px}.vidtreo-device-list::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.3)}.vidtreo-device-option{display:flex;align-items:center;padding:0.5rem 0.75rem;background:none;border:none;cursor:pointer;color:#ffffff;transition:background-color 0.2s ease;text-align:left;width:100%;gap:0.75rem;border-radius:0.5rem}.vidtreo-device-option:hover{background:rgba(255,255,255,0.2)}.vidtreo-device-option-check-container{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vidtreo-device-checkmark-placeholder{width:20px;height:20px;flex-shrink:0}.vidtreo-device-checkmark{color:#ffffff;flex-shrink:0}.vidtreo-device-option-label{font-size:0.875rem;color:#ffffff;flex:1}.vidtreo-device-empty{padding:1rem 0;font-size:0.875rem;color:rgba(255,255,255,0.6);text-align:center}.vidtreo-audio-level-bars{position:absolute !important;bottom:0.75rem !important;right:0.75rem !important;display:flex !important;align-items:center;gap:0.125rem;height:1rem;z-index:var(--vidtreo-z-controls);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}@media (min-width:768px){.vidtreo-audio-level-bars{height:1.25rem}}.vidtreo-audio-level-bar{width:0.125rem;border-radius:9999px;background:rgba(255,255,255,0.5);transition:all 0.1s ease;align-self:flex-end}.vidtreo-recording-controls{position:absolute !important;bottom:12px !important;left:50% !important;transform:translateX(-50%) translateZ(0) !important;z-index:var(--vidtreo-z-controls);contain:layout style;will-change:auto;backface-visibility:hidden}.vidtreo-recording-controls-row{display:flex;align-items:center;justify-content:center;gap:0.5rem;transform:translateZ(0);will-change:auto}.vidtreo-recording-timer-row{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}.vidtreo-recording-timer-badge{position:absolute !important;top:0.75rem !important;right:0.75rem !important;display:flex !important;align-items:center;gap:0.375rem;background:rgba(0,0,0,0.3);border:none;padding:0.25rem 0.5rem;border-radius:9999px;box-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);z-index:var(--vidtreo-z-controls);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-recording-dot-small{width:0.375rem;height:0.375rem;background:hsl(var(--vidtreo-destructive));border-radius:50%;animation:vidtreo-pulse 1.5s ease-in-out infinite}.vidtreo-recording-timer-text{font-size:0.75rem;font-family:monospace;font-weight:500;color:#ffffff}.vidtreo-control-buttons-row{display:flex;align-items:center;justify-content:center;gap:0.375rem;height:auto;min-height:2rem;transform:translateZ(0);will-change:auto}@media (min-width:768px){.vidtreo-control-buttons-row{min-height:2.25rem}}.vidtreo-control-button{width:2rem;height:2rem;min-height:2rem;max-height:2rem;border-radius:9999px;border:none;background:rgba(0,0,0,0.3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color 0.2s ease;color:#ffffff;padding:0.25rem;margin:0;flex-shrink:0;box-sizing:border-box;vertical-align:top;position:relative;transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-control-button::before{content:"";position:absolute;inset:0.25rem;border-radius:9999px;transition:background-color 0.2s ease;z-index:0}.vidtreo-control-button svg{width:22px !important;height:22px !important;color:inherit;flex-shrink:0;position:relative;z-index:1}@media (min-width:768px){.vidtreo-control-button svg{width:24px !important;height:24px !important}}@media (min-width:768px){.vidtreo-control-button{width:2.25rem;height:2.25rem;min-height:2.25rem;max-height:2.25rem}}.vidtreo-control-button:hover:not(:disabled)::before{background:rgba(255,255,255,0.2)}.vidtreo-control-button:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-control-button.vidtreo-muted::before{background:rgba(0,0,0,0.3)}.vidtreo-control-button.vidtreo-muted:hover:not(:disabled)::before{background:rgba(255,255,255,0.2)}.vidtreo-record-button{height:2rem;min-height:2rem;max-height:2rem;padding:0 0.75rem;border-radius:9999px;font-weight:500;font-size:0.75rem;background:hsl(var(--vidtreo-destructive));color:hsl(var(--vidtreo-destructive-foreground));border:none;display:inline-flex;align-items:center;justify-content:center;gap:0.375rem;transition:background-color 0.2s ease,filter 0.2s ease;width:auto;margin:0;line-height:1;flex-shrink:0;box-sizing:border-box;vertical-align:top;cursor:pointer}@media (min-width:768px){.vidtreo-record-button{height:2.25rem;min-height:2.25rem;max-height:2.25rem;font-size:0.875rem}}.vidtreo-record-button:hover:not(:disabled){filter:brightness(0.85)}.vidtreo-record-button.vidtreo-stop-button-locked{opacity:0.5;cursor:not-allowed;filter:none}.vidtreo-record-button.vidtreo-stop-button-locked:hover{filter:none}#startButton.vidtreo-record-button{animation:vidtreo-record-glow-pulse 2s ease-in-out infinite}@keyframes vidtreo-record-glow-pulse{0%,100%{box-shadow:0 0 8px 2px rgba(239,68,68,0.4),0 0 16px 4px rgba(239,68,68,0.2)}50%{box-shadow:0 0 16px 4px rgba(239,68,68,0.6),0 0 32px 8px rgba(239,68,68,0.3)}}#startButton.vidtreo-record-button:hover:not(:disabled){animation-play-state:paused;box-shadow:0 0 20px 6px rgba(239,68,68,0.7),0 0 40px 10px rgba(239,68,68,0.35)}.vidtreo-rec-indicator-top{position:absolute !important;top:0.75rem !important;left:0.75rem !important;display:flex !important;align-items:center;gap:0.375rem;background:rgba(0,0,0,0.3);border:none;padding:0.25rem 0.5rem;border-radius:9999px;box-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-rec-indicator-top span{font-size:0.75rem;font-weight:500;color:#ffffff}.vidtreo-start-camera-area{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;border-radius:0;padding:40px;text-align:center;background:#000;transition:all 0.3s ease;cursor:pointer;z-index:1;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-start-camera-area:hover:not(.vidtreo-loading){background:#000}.vidtreo-start-camera-area.vidtreo-loading{cursor:wait;opacity:0.7}.vidtreo-start-camera-area.vidtreo-loading .vidtreo-camera-text{color:#ffffff;opacity:0.7}.vidtreo-camera-icon{font-size:48px;margin-bottom:16px;display:flex;justify-content:center;color:#ffffff}.vidtreo-camera-text{color:#ffffff;font-weight:600;margin-bottom:8px}.vidtreo-camera-text a{color:#3b82f6;text-decoration:underline}.vidtreo-camera-text a:hover{color:#2563eb}.vidtreo-camera-hint{color:#ffffff;font-size:12px;opacity:0.8}@keyframes vidtreo-pulse{0%,100%{opacity:1}50%{opacity:0.3}}.vidtreo-progress{margin-top:20px;display:none}.vidtreo-progress.vidtreo-active{display:block}.vidtreo-progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.vidtreo-progress-fill{height:100%;background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);width:0%;transition:width 0.3s ease}.vidtreo-progress-text{text-align:center;color:#ffffff;font-size:14px}.vidtreo-error{position:absolute;top:0.75rem;left:50%;transform:translateX(-50%);padding:1rem 1.25rem;background:#dc2626;border:none;border-radius:0.5rem;color:#ffffff;font-size:0.875rem;font-weight:500;text-align:center;z-index:var(--vidtreo-z-error-overlay);display:none;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);max-width:90%;word-wrap:break-word}.vidtreo-error.vidtreo-active{display:block;animation:vidtreo-error-fade-in-slide-down 0.3s ease-out}@keyframes vidtreo-error-fade-in-slide-down{from{opacity:0;transform:translateX(-50%) translateY(-1rem)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.vidtreo-upload-progress{margin-top:20px;display:none}.vidtreo-upload-progress.vidtreo-active{display:block}.vidtreo-preview-container .vidtreo-upload-progress{margin-top:0}.vidtreo-upload-status{margin-top:20px;padding:16px;border-radius:8px;display:none}.vidtreo-upload-status.vidtreo-active{display:block}.vidtreo-upload-status.vidtreo-success{background:#f0f9ff;border:2px solid #48bb78;color:#22543d}.vidtreo-upload-status.vidtreo-error{background:#fee;border:2px solid #fcc;color:#c33}.vidtreo-upload-status-text{font-size:14px;font-weight:500}.vidtreo-preview-error{position:relative;width:100%;aspect-ratio:9 / 16;border-radius:0;overflow:hidden;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;border:none;contain:strict;transform:translateZ(0);will-change:auto;backface-visibility:hidden;isolation:isolate}@media (min-width:768px){.vidtreo-preview-error{aspect-ratio:16 / 9}}.vidtreo-error-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:#ffffff;max-width:400px}.vidtreo-error-icon{font-size:3rem;line-height:1}.vidtreo-error-title{font-size:1.25rem;font-weight:600;line-height:1.2}.vidtreo-error-message{font-size:0.875rem;line-height:1.5;opacity:0.9;word-break:break-word}.vidtreo-error-config{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.2);width:100%;text-align:left}.vidtreo-error-config-title{font-size:0.875rem;font-weight:600;margin-bottom:0.75rem;color:#ffffff}.vidtreo-error-config-item{font-size:0.8125rem;line-height:1.6;margin-bottom:0.5rem;color:rgba(255,255,255,0.85)}.vidtreo-error-config-item code{background:rgba(255,255,255,0.15);padding:0.125rem 0.375rem;border-radius:0.25rem;font-family:monospace;font-size:0.75rem;color:#ffffff}.vidtreo-error-retry{margin-top:0.5rem;padding:0.5rem 1rem;border-radius:0.375rem;background:hsl(var(--vidtreo-destructive));color:hsl(var(--vidtreo-destructive-foreground));border:none;font-size:0.875rem;font-weight:500;cursor:pointer;transition:filter 0.2s ease}.vidtreo-error-retry:hover:not(:disabled){filter:brightness(0.85)}.vidtreo-error-retry:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-error-overlay{position:absolute;inset:0;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;z-index:var(--vidtreo-z-error-overlay)}.vidtreo-native-camera-container{position:relative;width:100%;aspect-ratio:9 / 16;display:flex;align-items:center;justify-content:center;background:hsl(var(--vidtreo-preview-bg));border-radius:0;overflow:hidden}@media (min-width:768px){.vidtreo-native-camera-container{aspect-ratio:16 / 9}}.vidtreo-native-camera-container:has(.vidtreo-native-camera-preview-container){background:transparent}.vidtreo-config-loading-indicator{position:absolute;top:8px;right:8px;z-index:var(--vidtreo-z-controls)}.vidtreo-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.6s linear infinite}.vidtreo-native-camera-empty-state{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}.vidtreo-native-camera-buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:300px}.vidtreo-native-camera-process-button,.vidtreo-native-camera-download-button{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:30}.vidtreo-native-camera-process-button .vidtreo-btn,.vidtreo-native-camera-download-button .vidtreo-btn{min-width:200px}.vidtreo-btn{padding:12px 24px;border-radius:var(--vidtreo-radius);font-size:1rem;font-weight:500;cursor:pointer;border:none;transition:all 0.2s}.vidtreo-btn:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-btn-primary{background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground))}.vidtreo-btn-primary:hover:not(:disabled){filter:brightness(0.9)}.vidtreo-btn-secondary{background:hsl(var(--vidtreo-secondary));color:hsl(var(--vidtreo-secondary-foreground));border:1px solid hsl(var(--vidtreo-border))}.vidtreo-btn-secondary:hover:not(:disabled){background:hsl(var(--vidtreo-accent))}.vidtreo-transcoding-progress{width:100%;max-width:400px;padding:16px}.vidtreo-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-fill{height:100%;background:hsl(var(--vidtreo-primary));transition:width 0.3s ease}.vidtreo-progress-text{margin-top:8px;text-align:center;font-size:0.875rem;color:hsl(var(--vidtreo-foreground))}.vidtreo-native-camera-preview-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent}.vidtreo-native-camera-preview-image{width:100%;height:100%;object-fit:contain;display:block}.vidtreo-progress-overlay{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);z-index:var(--vidtreo-z-progress-overlay);pointer-events:auto}.vidtreo-progress-overlay .vidtreo-transcoding-progress,.vidtreo-progress-overlay .vidtreo-upload-progress{position:relative;width:90%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0;background:transparent;pointer-events:auto}.vidtreo-progress-overlay .vidtreo-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-upload-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-progress-fill{height:100%;background:#ffffff;transition:width 0.3s ease}.vidtreo-progress-overlay .vidtreo-progress-text{margin-top:0;text-align:center;font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-progress-overlay .vidtreo-upload-progress-text{margin-top:0;text-align:center;font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-progress-overlay .vidtreo-upload-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-upload-progress-fill{height:100%;background:#ffffff;transition:width 0.3s ease}.vidtreo-progress-overlay .vidtreo-progress-indeterminate{width:100%;background:linear-gradient( 90deg,transparent 0%,#ffffff 50%,transparent 100% );background-size:200% 100%;animation:vidtreo-progress-indeterminate 1.5s ease-in-out infinite}@keyframes vidtreo-progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}.vidtreo-mobile-web-recorder{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vidtreo-camera-area button,.vidtreo-camera-area input,.vidtreo-camera-area select,.vidtreo-camera-area textarea,.vidtreo-mobile-web-recorder button,.vidtreo-mobile-web-recorder input,.vidtreo-mobile-web-recorder select,.vidtreo-mobile-web-recorder textarea,.vidtreo-permission-flow button{font-family:inherit}.vidtreo-mobile-landing-container{position:relative;width:100%;aspect-ratio:4 / 3;min-height:100%;max-height:100%;display:flex;align-items:center;justify-content:center;background:hsl(var(--vidtreo-preview-bg));border-radius:0;overflow:hidden}.vidtreo-mobile-landing-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:2rem;text-align:center}.vidtreo-mobile-landing-title{font-size:1.25rem;font-weight:600;color:#ffffff;margin:0;line-height:1.3}.vidtreo-mobile-landing-description{font-size:0.875rem;color:rgba(255,255,255,0.75);margin:0;max-width:280px;line-height:1.5}.vidtreo-mobile-open-camera-btn{display:inline-flex;align-items:center;gap:0.625rem;padding:0.875rem 1.75rem;font-size:1rem;font-weight:600;min-width:200px;justify-content:center;margin-top:0.5rem;border-radius:9999px;transition:all 0.2s ease;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}@keyframes vidtreo-btn-glow-pulse{0%,100%{box-shadow:0 0 8px 2px rgba(255,255,255,0.3),0 0 16px 4px rgba(255,255,255,0.15)}50%{box-shadow:0 0 16px 4px rgba(255,255,255,0.5),0 0 32px 8px rgba(255,255,255,0.25)}}.vidtreo-mobile-open-camera-btn:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-mobile-open-camera-btn:active:not(:disabled){transform:scale(0.98)}.vidtreo-mobile-open-camera-btn:disabled{animation:none;box-shadow:none}#vidtreo-portal-root{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:9999;pointer-events:none}#vidtreo-portal-root>*{pointer-events:auto}.vidtreo-mobile-modal-overlay{--vidtreo-safe-top:0px;--vidtreo-safe-bottom:0px;--vidtreo-safe-left:0px;--vidtreo-safe-right:0px;position:fixed;inset:0;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#000000;z-index:var(--vidtreo-z-modal-overlay);display:flex;flex-direction:column;animation:vidtreo-modal-fade-in 0.3s ease-out;height:-webkit-fill-available}@keyframes vidtreo-modal-fade-in{from{opacity:0}to{opacity:1}}.vidtreo-mobile-modal-header{position:absolute;top:0;left:0;right:0;padding:0.75rem;padding-top:calc(0.75rem + var(--vidtreo-safe-top,0px));display:flex;justify-content:center;z-index:var(--vidtreo-z-error-overlay);pointer-events:none}.vidtreo-mobile-modal-close-btn,.vidtreo-mobile-prompt-toggle-btn{height:2rem;padding:0 0.75rem;border-radius:9999px;border:none;background:rgba(0,0,0,0.5);color:rgba(255,255,255,0.9);display:flex;align-items:center;justify-content:center;gap:0.375rem;cursor:pointer;transition:all 0.2s ease;pointer-events:auto;backdrop-filter:blur(4px);font-size:0.75rem;font-weight:500}.vidtreo-mobile-modal-close-btn:hover:not(:disabled),.vidtreo-mobile-prompt-toggle-btn:hover:not(:disabled){background:rgba(0,0,0,0.7)}.vidtreo-mobile-modal-close-btn:disabled{opacity:0.3;cursor:not-allowed}.vidtreo-mobile-prompt-toggle-btn{position:absolute;top:calc(0.75rem + var(--vidtreo-safe-top,0px));left:calc(0.75rem + var(--vidtreo-safe-left,0px));z-index:var(--vidtreo-z-controls)}.vidtreo-mobile-modal-content{flex:1;display:flex;flex-direction:column;width:100%;height:100%;position:relative;padding-top:var(--vidtreo-safe-top,0px);padding-bottom:var(--vidtreo-safe-bottom,0px);padding-left:var(--vidtreo-safe-left,0px);padding-right:var(--vidtreo-safe-right,0px)}.vidtreo-mobile-recorder-content{--vidtreo-safe-top:0px;--vidtreo-safe-bottom:0px;--vidtreo-safe-left:0px;--vidtreo-safe-right:0px;width:100%;height:100%;display:flex;flex-direction:column;position:relative}.vidtreo-mobile-recorder-content .vidtreo-preview-container{aspect-ratio:unset;height:100%;width:100%;flex:1}.vidtreo-mobile-recorder-content .vidtreo-video-preview{object-fit:cover}.vidtreo-mobile-preview{aspect-ratio:unset !important;height:100% !important;flex:1}.vidtreo-mobile-recorder-content .vidtreo-recording-controls{bottom:calc(24px + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-audio-level-bars{bottom:calc(12px + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-settings-panel{bottom:calc(7rem + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-rec-indicator-top{top:calc(0.75rem + var(--vidtreo-safe-top,0px)) !important;height:2rem;padding:0 0.75rem;contain:layout style}.vidtreo-mobile-recorder-content .vidtreo-recording-timer-badge{top:calc(0.75rem + var(--vidtreo-safe-top,0px)) !important;height:2rem;padding:0 0.75rem;contain:layout style}.vidtreo-mobile-recorder-content .vidtreo-recording-timer-text{font-size:0.875rem;white-space:nowrap;color:#ffffff;min-width:3rem;display:inline-block}.vidtreo-mobile-recorder-content .vidtreo-error{top:calc(3.5rem + var(--vidtreo-safe-top,0px)) !important}.vidtreo-mobile-recording-prompt{position:absolute;top:calc(3.5rem + var(--vidtreo-safe-top,0px));left:calc(1rem + var(--vidtreo-safe-left,0px));right:calc(1rem + var(--vidtreo-safe-right,0px));max-height:min(38vh,15rem);overflow-y:auto;z-index:var(--vidtreo-z-controls);padding:1rem 1.25rem;border-radius:1rem;background:rgba(18,18,18,0.92);color:#ffffff;box-shadow:0 0.5rem 1.5rem rgba(0,0,0,0.24);backdrop-filter:blur(8px);pointer-events:auto;text-align:left}.vidtreo-mobile-recording-prompt--above-countdown{z-index:calc(var(--vidtreo-z-countdown-overlay) + 1)}.vidtreo-mobile-recording-prompt-text{color:#ffffff;font-size:1rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.vidtreo-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vidtreo-mobile-recorder-content .vidtreo-control-buttons-row{gap:0.75rem;min-height:4rem}.vidtreo-mobile-recorder-content .vidtreo-control-button{width:4rem;height:4rem;min-height:4rem;max-height:4rem}.vidtreo-mobile-recorder-content .vidtreo-control-button svg{width:1.5rem;height:1.5rem}.vidtreo-mobile-recorder-content .vidtreo-record-button{height:4rem;min-height:4rem;max-height:4rem;padding:0 1.5rem;font-size:1rem;gap:0.5rem}.vidtreo-mobile-recorder-content .vidtreo-record-button svg{width:1.5rem;height:1.5rem}.vidtreo-permission-flow{position:absolute;inset:0;background:#000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;z-index:var(--vidtreo-z-modal-overlay);transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vidtreo-permission-flow.vidtreo-active{display:flex;animation:vidtreo-fadeIn 0.4s cubic-bezier(0.2,0,0,1)}.vidtreo-permission-flow-title{font-size:1.25rem;font-weight:600;color:#fff;margin:0;text-align:center;line-height:1.3}.vidtreo-permission-flow-subtitle{font-size:0.875rem;color:rgba(255,255,255,0.75);margin:0;text-align:center;line-height:1.5;letter-spacing:-0.005em;max-width:280px}.vidtreo-permission-flow-action{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;margin-top:0.5rem;padding:0.875rem 1.75rem;background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground));border:none;border-radius:9999px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;min-width:200px;letter-spacing:-0.01em;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}.vidtreo-permission-flow-action:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-permission-flow-action:active:not(:disabled){transform:scale(0.98)}.vidtreo-permission-flow-action:disabled{opacity:0.5;cursor:not-allowed;animation:none;box-shadow:none}.vidtreo-permission-flow-action--requesting{opacity:0.55;cursor:wait;animation:none;box-shadow:none}@keyframes vidtreo-spinner-rotate{to{transform:rotate(360deg)}}.vidtreo-permission-flow-spinner{display:inline-block;width:1.125rem;height:1.125rem;border:2px solid rgba(255,255,255,0.3);border-top-color:hsl(var(--vidtreo-primary-foreground));border-radius:50%;animation:vidtreo-spinner-rotate 0.8s linear infinite;flex-shrink:0}.vidtreo-permission-flow-spinner--large{width:2.5rem;height:2.5rem;border-width:3px}.vidtreo-permission-flow-recovery{display:flex;flex-direction:column;align-items:center;gap:1.25rem;max-width:280px;text-align:center}.vidtreo-permission-flow-recovery-text{font-size:0.75rem;color:rgba(255,255,255,0.4);line-height:1.6;letter-spacing:-0.005em;margin:0}.vidtreo-permission-flow-retry{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;padding:0.875rem 1.75rem;background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground));border:none;border-radius:9999px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;min-width:200px;letter-spacing:-0.01em;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}.vidtreo-permission-flow-retry:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-permission-flow-retry:active:not(:disabled){transform:scale(0.98)}@keyframes vidtreo-fadeOut{from{opacity:1}to{opacity:0}}.vidtreo-permission-flow.vidtreo-permission-flow--fading{animation:vidtreo-fadeOut 0.6s ease-out forwards;pointer-events:none}.vidtreo-recovery-guide{width:100%;max-width:280px;margin:0 auto;position:relative}.vidtreo-recovery-guide::after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to bottom,transparent 0%,#000 100%);z-index:20;pointer-events:none}.vidtreo-recovery-guide::before{content:"";position:absolute;top:0;right:0;bottom:0;width:50px;background:linear-gradient(to right,transparent 0%,#000 100%);z-index:20;pointer-events:none}.vidtreo-recovery-guide-browser{position:relative;background:#161616;border-radius:10px 0 0 0;overflow:hidden;border-top:1px solid rgba(255,255,255,0.1);border-left:1px solid rgba(255,255,255,0.1);animation:vidtreo-fadeIn 0.5s ease}.vidtreo-recovery-guide-titlebar{position:relative;display:flex;align-items:center;padding:8px 10px;background:#1e1e1e;gap:8px;border-bottom:1px solid rgba(255,255,255,0.06);z-index:3}.vidtreo-recovery-guide-dots{display:flex;gap:5px;flex-shrink:0}.vidtreo-recovery-guide-dot{width:8px;height:8px;border-radius:50%}.vidtreo-recovery-guide-dot--close{background:#ff5f57}.vidtreo-recovery-guide-dot--min{background:#febc2e}.vidtreo-recovery-guide-dot--max{background:#28c840}.vidtreo-recovery-guide-addressbar{flex:1;display:flex;align-items:center;gap:5px;background:#2a2a2a;border-radius:5px;padding:4px 8px;min-width:0}.vidtreo-recovery-guide-lock{flex-shrink:0;color:rgba(255,255,255,0.5);display:flex;align-items:center;animation:vidtreo-lock-pulse 7s ease-in-out infinite}.vidtreo-recovery-guide-lock-svg{display:block}.vidtreo-recovery-guide-url{font-size:0.65rem;color:rgba(255,255,255,0.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.vidtreo-recovery-guide-cursor{position:absolute;left:62px;top:12px;z-index:40;pointer-events:none;animation:vidtreo-cursor-move 7s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.6))}.vidtreo-recovery-guide-cursor-svg{display:block}.vidtreo-recovery-guide-browser-bg{height:110px;background:#161616}.vidtreo-recovery-guide-popover{position:absolute;top:34px;left:12px;right:12px;background:#252525;border-radius:10px;padding:8px 12px 12px;border:1px solid rgba(255,255,255,0.1);box-shadow:0 8px 30px rgba(0,0,0,0.6),0 2px 8px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.06);z-index:30;animation:vidtreo-popover-reveal 7s ease-in-out infinite}.vidtreo-recovery-guide-popover-header{font-size:0.65rem;font-weight:600;color:rgba(255,255,255,0.85);padding-bottom:6px;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.vidtreo-recovery-guide-popover-divider{height:1px;background:rgba(255,255,255,0.08)}.vidtreo-recovery-guide-perm-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0}.vidtreo-recovery-guide-perm-row + .vidtreo-recovery-guide-perm-row{border-top:1px solid rgba(255,255,255,0.06)}.vidtreo-recovery-guide-perm-group{display:flex;align-items:center;gap:8px}.vidtreo-recovery-guide-perm-icon{position:relative;width:14px;height:14px;flex-shrink:0}.vidtreo-recovery-guide-icon-off,.vidtreo-recovery-guide-icon-on{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.vidtreo-recovery-guide-icon-off{color:rgba(255,255,255,0.4);animation:vidtreo-icon-hide 7s ease-in-out infinite}.vidtreo-recovery-guide-icon-on{color:#34d399;animation:vidtreo-icon-show 7s ease-in-out infinite}.vidtreo-recovery-guide-perm-label{font-size:0.7rem;color:rgba(255,255,255,0.85);font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.vidtreo-recovery-guide-switch{position:relative;width:32px;height:18px;flex-shrink:0}.vidtreo-recovery-guide-switch-track{position:absolute;inset:0;border-radius:9px;background:rgba(255,255,255,0.15);animation:vidtreo-track-on 7s ease-in-out infinite}.vidtreo-recovery-guide-switch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.3);animation:vidtreo-knob-slide 7s ease-in-out infinite}.vidtreo-recovery-guide-switch--delayed{animation-delay:0.85s}@keyframes vidtreo-cursor-move{0%{transform:translate(100px,12px);opacity:0}8%{opacity:1}22%{transform:translate(0,0)}26%{transform:translate(0,0) scale(0.75)}30%{transform:translate(0,0) scale(1);opacity:1}33%{transform:translate(0,0);opacity:1}38%{transform:translate(65px,63px);opacity:1}42%{transform:translate(65px,63px) scale(0.75)}45%{transform:translate(65px,63px) scale(1);opacity:1}48%{transform:translate(65px,97px);opacity:1}52%{transform:translate(65px,97px) scale(0.75)}55%{transform:translate(65px,97px) scale(1);opacity:1}60%{opacity:0}100%{transform:translate(100px,12px);opacity:0}}@keyframes vidtreo-popover-reveal{0%,27%{opacity:0;transform:translateY(-6px) scale(0.96)}33%,82%{opacity:1;transform:translateY(0) scale(1)}88%,100%{opacity:0;transform:translateY(-6px) scale(0.96)}}@keyframes vidtreo-track-on{0%,34%{background:rgba(255,255,255,0.15)}40%,92%{background:#34d399}96%,100%{background:rgba(255,255,255,0.15)}}@keyframes vidtreo-knob-slide{0%,34%{transform:translateX(0)}40%,92%{transform:translateX(14px)}96%,100%{transform:translateX(0)}}@keyframes vidtreo-icon-hide{0%,34%{opacity:1}40%,92%{opacity:0}96%,100%{opacity:1}}@keyframes vidtreo-icon-show{0%,34%{opacity:0}40%,92%{opacity:1}96%,100%{opacity:0}}@keyframes vidtreo-lock-pulse{0%,15%{color:rgba(255,255,255,0.5)}22%,30%{color:#34d399}38%,100%{color:rgba(255,255,255,0.5)}}.vidtreo-record-button.vidtreo-record-button-disabled,.vidtreo-record-button-disabled{opacity:0.6;cursor:not-allowed;pointer-events:none;filter:grayscale(0.3)}.vidtreo-mic-connecting-indicator{display:inline-flex;align-items:center;justify-content:center;animation:vidtreo-mic-pulse 1.4s ease-in-out infinite}@keyframes vidtreo-mic-pulse{0%,100%{opacity:0.4}50%{opacity:1}}.vidtreo-audio-error-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,0.85);z-index:var(--vidtreo-z-error-overlay);padding:2rem 1.5rem;text-align:center;animation:vidtreo-audio-overlay-fade-in 0.3s ease-out}@supports (backdrop-filter:blur(8px)){.vidtreo-audio-error-overlay{background:rgba(0,0,0,0.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}@keyframes vidtreo-audio-overlay-fade-in{from{opacity:0}to{opacity:1}}.vidtreo-audio-error-icon{width:56px;height:56px;border-radius:50%;background:rgba(239,68,68,0.15);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.vidtreo-audio-error-icon svg{width:28px;height:28px;color:#ef4444}.vidtreo-audio-error-title{font-size:1.125rem;font-weight:600;color:#ffffff;margin:0 0 0.5rem;line-height:1.4}.vidtreo-audio-error-message{font-size:0.875rem;color:rgba(255,255,255,0.7);margin:0 0 1.5rem;line-height:1.6;max-width:320px}.vidtreo-audio-error-retry{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;background:#ffffff;color:#111111;border:none;border-radius:9999px;font-size:0.875rem;font-weight:600;cursor:pointer;transition:background 0.15s ease,transform 0.1s ease;font-family:inherit}.vidtreo-audio-error-retry:hover{background:#f0f0f0}.vidtreo-audio-error-retry:active{transform:scale(0.97)}.vidtreo-audio-error-retry svg{width:16px;height:16px}.vidtreo-audio-warning-toast{position:absolute;top:1rem;left:50%;transform:translateX(-50%);z-index:var(--vidtreo-z-error-overlay);display:flex;align-items:flex-start;gap:0.625rem;max-width:min(420px,calc(100% - 2rem));padding:0.625rem 0.875rem;border-radius:12px;font-family:inherit;background:rgba(17,17,17,0.55);color:rgba(255,255,255,0.92);border:1px solid rgba(255,255,255,0.08);box-shadow:0 4px 16px rgba(0,0,0,0.25);animation:vidtreo-audio-warning-toast-fade-in 0.2s ease-out;pointer-events:auto}@supports (backdrop-filter:blur(10px)){.vidtreo-audio-warning-toast{background:rgba(17,17,17,0.45);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}}.vidtreo-audio-warning-toast--critical{border-color:rgba(239,68,68,0.45)}.vidtreo-audio-warning-toast--critical .vidtreo-audio-warning-toast__icon{color:#ef4444}.vidtreo-audio-warning-toast--soft{border-color:rgba(245,158,11,0.45)}.vidtreo-audio-warning-toast--soft .vidtreo-audio-warning-toast__icon{color:#f59e0b}.vidtreo-audio-warning-toast__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px}.vidtreo-audio-warning-toast__content{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.vidtreo-audio-warning-toast__title{font-size:0.8125rem;font-weight:600;line-height:1.3;color:#ffffff}.vidtreo-audio-warning-toast__message{font-size:0.75rem;font-weight:400;line-height:1.4;color:rgba(255,255,255,0.72)}.vidtreo-audio-warning-toast__dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin-left:0.25rem;border-radius:6px;border:none;background:transparent;color:rgba(255,255,255,0.65);cursor:pointer;transition:background 0.15s ease,color 0.15s ease;font-family:inherit}.vidtreo-audio-warning-toast__dismiss:hover{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.95)}@keyframes vidtreo-audio-warning-toast-fade-in{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
1
+ :root{--vidtreo-background:0 0% 100%;--vidtreo-foreground:0 0% 3.9%;--vidtreo-card:0 0% 100%;--vidtreo-card-foreground:0 0% 3.9%;--vidtreo-primary:0 0% 9%;--vidtreo-primary-foreground:0 0% 98%;--vidtreo-secondary:0 0% 96.1%;--vidtreo-secondary-foreground:0 0% 9%;--vidtreo-muted:0 0% 96.1%;--vidtreo-muted-foreground:0 0% 45.1%;--vidtreo-accent:0 0% 96.1%;--vidtreo-accent-foreground:0 0% 9%;--vidtreo-destructive:0 84.2% 60.2%;--vidtreo-destructive-foreground:0 0% 98%;--vidtreo-border:0 0% 89.8%;--vidtreo-input:0 0% 89.8%;--vidtreo-ring:0 0% 3.9%;--vidtreo-radius:0.5rem;--vidtreo-preview-bg:0 0% 0%;--vidtreo-z-modal-overlay:9999;--vidtreo-z-settings-panel:200;--vidtreo-z-error-overlay:100;--vidtreo-z-countdown-overlay:20;--vidtreo-z-progress-overlay:20;--vidtreo-z-controls:10}.vidtreo-preview-container{position:relative;width:100%;aspect-ratio:9 / 16;border-radius:0;overflow:visible;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;border:none;contain:layout style;transform:translateZ(0);will-change:auto;backface-visibility:hidden;isolation:isolate}.vidtreo-preview-container::before{display:none}@media (min-width:768px){.vidtreo-preview-container{aspect-ratio:16 / 9}}.vidtreo-camera-area{width:100%;height:100%;display:none;position:relative;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;contain:layout style paint;transform:translateZ(0);backface-visibility:hidden;isolation:isolate;will-change:auto}.vidtreo-source-transition-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.7);display:none;align-items:center;justify-content:center;flex-direction:column;border-radius:0;z-index:var(--vidtreo-z-error-overlay);backdrop-filter:blur(4px);transition:opacity 0.3s ease;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:opacity}.vidtreo-source-transition-overlay.vidtreo-active{display:flex;animation:vidtreo-fadeIn 0.2s ease}@keyframes vidtreo-fadeIn{from{opacity:0}to{opacity:1}}.vidtreo-transition-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,0.3);border-top-color:#667eea;border-radius:50%;animation:vidtreo-spin 0.8s linear infinite;margin-bottom:12px}@keyframes vidtreo-spin{to{transform:rotate(360deg)}}.vidtreo-transition-message{color:white;font-size:14px;font-weight:500;text-align:center}.vidtreo-camera-area.vidtreo-active{display:block}.vidtreo-preview-skeleton{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;border-radius:0;z-index:var(--vidtreo-z-controls);gap:1rem;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-skeleton-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,0.3);border-top-color:#ffffff;border-radius:50%;animation:vidtreo-spin 0.8s linear infinite}.vidtreo-skeleton-text{color:#ffffff;font-size:0.875rem;font-weight:500}.vidtreo-video-preview{width:100%;height:100%;border-radius:0;background:#000;display:block;object-fit:cover;transition:opacity 0.3s ease,transform 0.3s ease;position:absolute;inset:0;transform:translateZ(0);will-change:auto;backface-visibility:hidden}.vidtreo-video-preview-skeleton{position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:#000;overflow:hidden;z-index:2;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-skeleton-shimmer{position:absolute;inset:0;background:linear-gradient( 90deg,hsl(var(--vidtreo-muted)) 0%,hsl(var(--vidtreo-muted) / 0.5) 50%,hsl(var(--vidtreo-muted)) 100% );background-size:200% 100%;animation:vidtreo-shimmer 1.5s ease-in-out infinite}@keyframes vidtreo-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.vidtreo-video-preview-skeleton.vidtreo-hidden{opacity:0;pointer-events:none;transition:opacity 0.3s ease}.vidtreo-video-preview.vidtreo-screen-share{object-fit:cover}.vidtreo-video-preview.vidtreo-transitioning{opacity:0.5;transform:scale(0.98)}.vidtreo-countdown-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.95);display:none;align-items:center;justify-content:center;border-radius:0;z-index:var(--vidtreo-z-countdown-overlay);transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-countdown-overlay.vidtreo-active{display:flex}.vidtreo-countdown-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.vidtreo-countdown-number{font-size:9rem;font-weight:bold;color:#ffffff;animation:vidtreo-zoomIn 0.3s ease}@keyframes vidtreo-zoomIn{from{transform:scale(0.5);opacity:0}to{transform:scale(1);opacity:1}}.vidtreo-countdown-text{font-size:0.875rem;color:#ffffff;margin-top:1rem;font-weight:500}.vidtreo-settings-panel{position:absolute !important;bottom:4rem !important;left:50% !important;margin-left:-47%;background:rgba(0,0,0,0.4);border:none;border-radius:0.75rem;padding:0.625rem;display:none;flex-direction:column;z-index:var(--vidtreo-z-settings-panel);width:90%;overflow:hidden;contain:layout style paint;transform:translateZ(0);backface-visibility:hidden}.vidtreo-settings-panel.vidtreo-active{display:flex}.vidtreo-settings-content{width:100%;display:flex;flex-direction:column;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.vidtreo-settings-content.vidtreo-slide-right{animation:vidtreo-slideRight 0.3s ease}.vidtreo-settings-content.vidtreo-slide-left{animation:vidtreo-slideLeft 0.3s ease}.vidtreo-settings-content.vidtreo-slide-none{animation:none;will-change:auto}@keyframes vidtreo-slideIn{from{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes vidtreo-slideRight{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes vidtreo-slideLeft{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.vidtreo-settings-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;background:none;border:none;color:#ffffff;cursor:pointer;padding:0;width:100%;text-align:left}.vidtreo-settings-back-icon{flex-shrink:0;color:#ffffff}.vidtreo-settings-title{font-size:0.875rem;font-weight:600;margin:0;color:#ffffff}.vidtreo-device-options-container{display:flex;flex-direction:column;gap:0.375rem}.vidtreo-device-option-nav{display:flex;align-items:center;padding:0.5rem 0.75rem;background:none;border:none;cursor:pointer;color:#ffffff;transition:background-color 0.2s ease;width:100%;gap:1rem;border-radius:0.5rem}.vidtreo-device-option-nav:hover{background:rgba(255,255,255,0.2)}.vidtreo-device-option-nav-content{display:flex;align-items:center;gap:0.75rem;flex-shrink:0}.vidtreo-device-option-nav-label{font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-device-option-nav-value{display:flex;align-items:center;gap:0.5rem;flex:1;justify-content:flex-end;min-width:0}.vidtreo-device-option-nav-value-text{font-size:0.875rem;color:rgba(255,255,255,0.8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:right}.vidtreo-device-option-nav-chevron{font-size:1.25rem;color:#ffffff;line-height:1}.vidtreo-device-list{display:flex;flex-direction:column;gap:0;max-height:200px;overflow-y:auto}.vidtreo-device-list::-webkit-scrollbar{width:4px}.vidtreo-device-list::-webkit-scrollbar-track{background:transparent}.vidtreo-device-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);border-radius:2px}.vidtreo-device-list::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.3)}.vidtreo-device-option{display:flex;align-items:center;padding:0.5rem 0.75rem;background:none;border:none;cursor:pointer;color:#ffffff;transition:background-color 0.2s ease;text-align:left;width:100%;gap:0.75rem;border-radius:0.5rem}.vidtreo-device-option:hover{background:rgba(255,255,255,0.2)}.vidtreo-device-option-check-container{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vidtreo-device-checkmark-placeholder{width:20px;height:20px;flex-shrink:0}.vidtreo-device-checkmark{color:#ffffff;flex-shrink:0}.vidtreo-device-option-label{font-size:0.875rem;color:#ffffff;flex:1}.vidtreo-device-empty{padding:1rem 0;font-size:0.875rem;color:rgba(255,255,255,0.6);text-align:center}.vidtreo-audio-level-bars{position:absolute !important;bottom:0.75rem !important;right:0.75rem !important;display:flex !important;align-items:center;gap:0.125rem;height:1rem;z-index:var(--vidtreo-z-controls);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}@media (min-width:768px){.vidtreo-audio-level-bars{height:1.25rem}}.vidtreo-audio-level-bar{width:0.125rem;border-radius:9999px;background:rgba(255,255,255,0.5);transition:all 0.1s ease;align-self:flex-end}.vidtreo-recording-controls{position:absolute !important;bottom:12px !important;left:50% !important;transform:translateX(-50%) translateZ(0) !important;z-index:var(--vidtreo-z-controls);contain:layout style;will-change:auto;backface-visibility:hidden}.vidtreo-recording-controls-row{display:flex;align-items:center;justify-content:center;gap:0.5rem;transform:translateZ(0);will-change:auto}.vidtreo-recording-timer-row{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}.vidtreo-recording-timer-badge{position:absolute !important;top:0.75rem !important;right:0.75rem !important;display:flex !important;align-items:center;gap:0.375rem;background:rgba(0,0,0,0.3);border:none;padding:0.25rem 0.5rem;border-radius:9999px;box-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);z-index:var(--vidtreo-z-controls);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-recording-dot-small{width:0.375rem;height:0.375rem;background:hsl(var(--vidtreo-destructive));border-radius:50%;animation:vidtreo-pulse 1.5s ease-in-out infinite}.vidtreo-recording-timer-text{font-size:0.75rem;font-family:monospace;font-weight:500;color:#ffffff}.vidtreo-control-buttons-row{display:flex;align-items:center;justify-content:center;gap:0.375rem;height:auto;min-height:2rem;transform:translateZ(0);will-change:auto}@media (min-width:768px){.vidtreo-control-buttons-row{min-height:2.25rem}}.vidtreo-control-button{width:2rem;height:2rem;min-height:2rem;max-height:2rem;border-radius:9999px;border:none;background:rgba(0,0,0,0.3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color 0.2s ease;color:#ffffff;padding:0.25rem;margin:0;flex-shrink:0;box-sizing:border-box;vertical-align:top;position:relative;transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-control-button::before{content:"";position:absolute;inset:0.25rem;border-radius:9999px;transition:background-color 0.2s ease;z-index:0}.vidtreo-control-button svg{width:22px !important;height:22px !important;color:inherit;flex-shrink:0;position:relative;z-index:1}@media (min-width:768px){.vidtreo-control-button svg{width:24px !important;height:24px !important}}@media (min-width:768px){.vidtreo-control-button{width:2.25rem;height:2.25rem;min-height:2.25rem;max-height:2.25rem}}.vidtreo-control-button:hover:not(:disabled)::before{background:rgba(255,255,255,0.2)}.vidtreo-control-button:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-control-button.vidtreo-muted::before{background:rgba(0,0,0,0.3)}.vidtreo-control-button.vidtreo-muted:hover:not(:disabled)::before{background:rgba(255,255,255,0.2)}.vidtreo-record-button{height:2rem;min-height:2rem;max-height:2rem;padding:0 0.75rem;border-radius:9999px;font-weight:500;font-size:0.75rem;background:hsl(var(--vidtreo-destructive));color:hsl(var(--vidtreo-destructive-foreground));border:none;display:inline-flex;align-items:center;justify-content:center;gap:0.375rem;transition:background-color 0.2s ease,filter 0.2s ease;width:auto;margin:0;line-height:1;flex-shrink:0;box-sizing:border-box;vertical-align:top;cursor:pointer}@media (min-width:768px){.vidtreo-record-button{height:2.25rem;min-height:2.25rem;max-height:2.25rem;font-size:0.875rem}}.vidtreo-record-button:hover:not(:disabled){filter:brightness(0.85)}.vidtreo-record-button.vidtreo-stop-button-locked{opacity:0.5;cursor:not-allowed;filter:none}.vidtreo-record-button.vidtreo-stop-button-locked:hover{filter:none}#startButton.vidtreo-record-button{animation:vidtreo-record-glow-pulse 2s ease-in-out infinite}@keyframes vidtreo-record-glow-pulse{0%,100%{box-shadow:0 0 8px 2px rgba(239,68,68,0.4),0 0 16px 4px rgba(239,68,68,0.2)}50%{box-shadow:0 0 16px 4px rgba(239,68,68,0.6),0 0 32px 8px rgba(239,68,68,0.3)}}#startButton.vidtreo-record-button:hover:not(:disabled){animation-play-state:paused;box-shadow:0 0 20px 6px rgba(239,68,68,0.7),0 0 40px 10px rgba(239,68,68,0.35)}.vidtreo-rec-indicator-top{position:absolute !important;top:0.75rem !important;left:0.75rem !important;display:flex !important;align-items:center;gap:0.375rem;background:rgba(0,0,0,0.3);border:none;padding:0.25rem 0.5rem;border-radius:9999px;box-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1),0 1px 2px -1px rgb(0 0 0 / 0.1);transform:translateZ(0);contain:layout style paint;will-change:auto;backface-visibility:hidden}.vidtreo-rec-indicator-top span{font-size:0.75rem;font-weight:500;color:#ffffff}.vidtreo-start-camera-area{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;border-radius:0;padding:40px;text-align:center;background:#000;transition:all 0.3s ease;cursor:pointer;z-index:1;transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;will-change:auto}.vidtreo-start-camera-area:hover:not(.vidtreo-loading){background:#000}.vidtreo-start-camera-area.vidtreo-loading{cursor:wait;opacity:0.7}.vidtreo-start-camera-area.vidtreo-loading .vidtreo-camera-text{color:#ffffff;opacity:0.7}.vidtreo-camera-icon{font-size:48px;margin-bottom:16px;display:flex;justify-content:center;color:#ffffff}.vidtreo-camera-text{color:#ffffff;font-weight:600;margin-bottom:8px}.vidtreo-camera-text a{color:#3b82f6;text-decoration:underline}.vidtreo-camera-text a:hover{color:#2563eb}.vidtreo-camera-hint{color:#ffffff;font-size:12px;opacity:0.8}@keyframes vidtreo-pulse{0%,100%{opacity:1}50%{opacity:0.3}}.vidtreo-progress{margin-top:20px;display:none}.vidtreo-progress.vidtreo-active{display:block}.vidtreo-progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:8px}.vidtreo-progress-fill{height:100%;background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);width:0%;transition:width 0.3s ease}.vidtreo-progress-text{text-align:center;color:#ffffff;font-size:14px}.vidtreo-error{position:absolute;top:0.75rem;left:50%;transform:translateX(-50%);padding:1rem 1.25rem;background:#dc2626;border:none;border-radius:0.5rem;color:#ffffff;font-size:0.875rem;font-weight:500;text-align:center;z-index:var(--vidtreo-z-error-overlay);display:none;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);max-width:90%;word-wrap:break-word}.vidtreo-error.vidtreo-active{display:block;animation:vidtreo-error-fade-in-slide-down 0.3s ease-out}@keyframes vidtreo-error-fade-in-slide-down{from{opacity:0;transform:translateX(-50%) translateY(-1rem)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.vidtreo-upload-progress{margin-top:20px;display:none}.vidtreo-upload-progress.vidtreo-active{display:block}.vidtreo-preview-container .vidtreo-upload-progress{margin-top:0}.vidtreo-upload-status{margin-top:20px;padding:16px;border-radius:8px;display:none}.vidtreo-upload-status.vidtreo-active{display:block}.vidtreo-upload-status.vidtreo-success{background:#f0f9ff;border:2px solid #48bb78;color:#22543d}.vidtreo-upload-status.vidtreo-error{background:#fee;border:2px solid #fcc;color:#c33}.vidtreo-upload-status-text{font-size:14px;font-weight:500}.vidtreo-preview-error{position:relative;width:100%;aspect-ratio:9 / 16;border-radius:0;overflow:hidden;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;border:none;contain:strict;transform:translateZ(0);will-change:auto;backface-visibility:hidden;isolation:isolate}@media (min-width:768px){.vidtreo-preview-error{aspect-ratio:16 / 9}}.vidtreo-error-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:#ffffff;max-width:400px}.vidtreo-error-icon{font-size:3rem;line-height:1}.vidtreo-error-title{font-size:1.25rem;font-weight:600;line-height:1.2}.vidtreo-error-message{font-size:0.875rem;line-height:1.5;opacity:0.9;word-break:break-word}.vidtreo-error-config{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.2);width:100%;text-align:left}.vidtreo-error-config-title{font-size:0.875rem;font-weight:600;margin-bottom:0.75rem;color:#ffffff}.vidtreo-error-config-item{font-size:0.8125rem;line-height:1.6;margin-bottom:0.5rem;color:rgba(255,255,255,0.85)}.vidtreo-error-config-item code{background:rgba(255,255,255,0.15);padding:0.125rem 0.375rem;border-radius:0.25rem;font-family:monospace;font-size:0.75rem;color:#ffffff}.vidtreo-error-retry{margin-top:0.5rem;padding:0.5rem 1rem;border-radius:0.375rem;background:hsl(var(--vidtreo-destructive));color:hsl(var(--vidtreo-destructive-foreground));border:none;font-size:0.875rem;font-weight:500;cursor:pointer;transition:filter 0.2s ease}.vidtreo-error-retry:hover:not(:disabled){filter:brightness(0.85)}.vidtreo-error-retry:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-error-overlay{position:absolute;inset:0;background:hsl(var(--vidtreo-preview-bg));display:flex;align-items:center;justify-content:center;z-index:var(--vidtreo-z-error-overlay)}.vidtreo-native-camera-container{position:relative;width:100%;aspect-ratio:9 / 16;display:flex;align-items:center;justify-content:center;background:hsl(var(--vidtreo-preview-bg));border-radius:0;overflow:hidden}@media (min-width:768px){.vidtreo-native-camera-container{aspect-ratio:16 / 9}}.vidtreo-native-camera-container:has(.vidtreo-native-camera-preview-container){background:transparent}.vidtreo-config-loading-indicator{position:absolute;top:8px;right:8px;z-index:var(--vidtreo-z-controls)}.vidtreo-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.6s linear infinite}.vidtreo-native-camera-empty-state{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}.vidtreo-native-camera-buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:300px}.vidtreo-native-camera-process-button,.vidtreo-native-camera-download-button{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:30}.vidtreo-native-camera-process-button .vidtreo-btn,.vidtreo-native-camera-download-button .vidtreo-btn{min-width:200px}.vidtreo-btn{padding:12px 24px;border-radius:var(--vidtreo-radius);font-size:1rem;font-weight:500;cursor:pointer;border:none;transition:all 0.2s}.vidtreo-btn:disabled{opacity:0.5;cursor:not-allowed}.vidtreo-btn-primary{background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground))}.vidtreo-btn-primary:hover:not(:disabled){filter:brightness(0.9)}.vidtreo-btn-secondary{background:hsl(var(--vidtreo-secondary));color:hsl(var(--vidtreo-secondary-foreground));border:1px solid hsl(var(--vidtreo-border))}.vidtreo-btn-secondary:hover:not(:disabled){background:hsl(var(--vidtreo-accent))}.vidtreo-transcoding-progress{width:100%;max-width:400px;padding:16px}.vidtreo-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-fill{height:100%;background:hsl(var(--vidtreo-primary));transition:width 0.3s ease}.vidtreo-progress-text{margin-top:8px;text-align:center;font-size:0.875rem;color:hsl(var(--vidtreo-foreground))}.vidtreo-native-camera-preview-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent}.vidtreo-native-camera-preview-image{width:100%;height:100%;object-fit:contain;display:block}.vidtreo-progress-overlay{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);z-index:var(--vidtreo-z-progress-overlay);pointer-events:auto}.vidtreo-progress-overlay .vidtreo-transcoding-progress,.vidtreo-progress-overlay .vidtreo-upload-progress{position:relative;width:90%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0;background:transparent;pointer-events:auto}.vidtreo-progress-overlay .vidtreo-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-upload-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-progress-fill{height:100%;background:#ffffff;transition:width 0.3s ease}.vidtreo-progress-overlay .vidtreo-progress-text{margin-top:0;text-align:center;font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-progress-overlay .vidtreo-upload-progress-text{margin-top:0;text-align:center;font-size:0.875rem;font-weight:500;color:#ffffff}.vidtreo-progress-overlay .vidtreo-upload-progress-bar{width:100%;height:8px;background:rgba(255,255,255,0.2);border-radius:4px;overflow:hidden}.vidtreo-progress-overlay .vidtreo-upload-progress-fill{height:100%;background:#ffffff;transition:width 0.3s ease}.vidtreo-progress-overlay .vidtreo-progress-indeterminate{width:100%;background:linear-gradient( 90deg,transparent 0%,#ffffff 50%,transparent 100% );background-size:200% 100%;animation:vidtreo-progress-indeterminate 1.5s ease-in-out infinite}@keyframes vidtreo-progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}.vidtreo-mobile-web-recorder{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vidtreo-camera-area button,.vidtreo-camera-area input,.vidtreo-camera-area select,.vidtreo-camera-area textarea,.vidtreo-mobile-web-recorder button,.vidtreo-mobile-web-recorder input,.vidtreo-mobile-web-recorder select,.vidtreo-mobile-web-recorder textarea,.vidtreo-permission-flow button{font-family:inherit}.vidtreo-mobile-landing-container{position:relative;width:100%;aspect-ratio:4 / 3;min-height:100%;max-height:100%;display:flex;align-items:center;justify-content:center;background:hsl(var(--vidtreo-preview-bg));border-radius:0;overflow:hidden}.vidtreo-mobile-landing-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:2rem;text-align:center}.vidtreo-mobile-landing-title{font-size:1.25rem;font-weight:600;color:#ffffff;margin:0;line-height:1.3}.vidtreo-mobile-landing-description{font-size:0.875rem;color:rgba(255,255,255,0.75);margin:0;max-width:280px;line-height:1.5}.vidtreo-mobile-open-camera-btn{display:inline-flex;align-items:center;gap:0.625rem;padding:0.875rem 1.75rem;font-size:1rem;font-weight:600;min-width:200px;justify-content:center;margin-top:0.5rem;border-radius:9999px;transition:all 0.2s ease;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}@keyframes vidtreo-btn-glow-pulse{0%,100%{box-shadow:0 0 8px 2px rgba(255,255,255,0.3),0 0 16px 4px rgba(255,255,255,0.15)}50%{box-shadow:0 0 16px 4px rgba(255,255,255,0.5),0 0 32px 8px rgba(255,255,255,0.25)}}.vidtreo-mobile-open-camera-btn:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-mobile-open-camera-btn:active:not(:disabled){transform:scale(0.98)}.vidtreo-mobile-open-camera-btn:disabled{animation:none;box-shadow:none}#vidtreo-portal-root{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:9999;pointer-events:none}#vidtreo-portal-root>*{pointer-events:auto}.vidtreo-mobile-modal-overlay{--vidtreo-safe-top:0px;--vidtreo-safe-bottom:0px;--vidtreo-safe-left:0px;--vidtreo-safe-right:0px;position:fixed;inset:0;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#000000;z-index:var(--vidtreo-z-modal-overlay);display:flex;flex-direction:column;animation:vidtreo-modal-fade-in 0.3s ease-out;height:-webkit-fill-available}@keyframes vidtreo-modal-fade-in{from{opacity:0}to{opacity:1}}.vidtreo-mobile-modal-header{position:absolute;top:0;left:0;right:0;padding:0.75rem;padding-top:calc(0.75rem + var(--vidtreo-safe-top,0px));display:flex;justify-content:center;z-index:var(--vidtreo-z-error-overlay);pointer-events:none}.vidtreo-mobile-modal-close-btn,.vidtreo-mobile-prompt-toggle-btn{height:2rem;padding:0 0.75rem;border-radius:9999px;border:none;background:rgba(0,0,0,0.5);color:rgba(255,255,255,0.9);display:flex;align-items:center;justify-content:center;gap:0.375rem;cursor:pointer;transition:all 0.2s ease;pointer-events:auto;backdrop-filter:blur(4px);font-size:0.75rem;font-weight:500}.vidtreo-mobile-modal-close-btn:hover:not(:disabled),.vidtreo-mobile-prompt-toggle-btn:hover:not(:disabled){background:rgba(0,0,0,0.7)}.vidtreo-mobile-modal-close-btn:disabled{opacity:0.3;cursor:not-allowed}.vidtreo-mobile-prompt-toggle-btn{position:absolute;top:calc(0.75rem + var(--vidtreo-safe-top,0px));left:calc(0.75rem + var(--vidtreo-safe-left,0px));width:2rem;padding:0;z-index:var(--vidtreo-z-controls)}.vidtreo-mobile-modal-content{flex:1;display:flex;flex-direction:column;width:100%;height:100%;position:relative;padding-top:var(--vidtreo-safe-top,0px);padding-bottom:var(--vidtreo-safe-bottom,0px);padding-left:var(--vidtreo-safe-left,0px);padding-right:var(--vidtreo-safe-right,0px)}.vidtreo-mobile-recorder-content{--vidtreo-safe-top:0px;--vidtreo-safe-bottom:0px;--vidtreo-safe-left:0px;--vidtreo-safe-right:0px;width:100%;height:100%;display:flex;flex-direction:column;position:relative}.vidtreo-mobile-recorder-content .vidtreo-preview-container{aspect-ratio:unset;height:100%;width:100%;flex:1}.vidtreo-mobile-recorder-content .vidtreo-video-preview{object-fit:cover}.vidtreo-mobile-preview{aspect-ratio:unset !important;height:100% !important;flex:1}.vidtreo-mobile-recorder-content .vidtreo-recording-controls{bottom:calc(24px + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-audio-level-bars{bottom:calc(12px + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-settings-panel{bottom:calc(7rem + var(--vidtreo-safe-bottom,0px)) !important}.vidtreo-mobile-recorder-content .vidtreo-rec-indicator-top{top:calc(0.75rem + var(--vidtreo-safe-top,0px)) !important;height:2rem;padding:0 0.75rem;contain:layout style}.vidtreo-mobile-recorder-content .vidtreo-recording-timer-badge{top:calc(0.75rem + var(--vidtreo-safe-top,0px)) !important;height:2rem;padding:0 0.75rem;contain:layout style}.vidtreo-mobile-recorder-content .vidtreo-recording-timer-text{font-size:0.875rem;white-space:nowrap;color:#ffffff;min-width:3rem;display:inline-block}.vidtreo-mobile-recorder-content .vidtreo-error{top:calc(3.5rem + var(--vidtreo-safe-top,0px)) !important}.vidtreo-mobile-recording-prompt{position:absolute;top:calc(3.5rem + var(--vidtreo-safe-top,0px));left:calc(1rem + var(--vidtreo-safe-left,0px));right:calc(1rem + var(--vidtreo-safe-right,0px));max-height:min(38vh,15rem);overflow-y:auto;z-index:var(--vidtreo-z-controls);padding:1rem 1.25rem;border-radius:1rem;background:rgba(18,18,18,0.92);color:#ffffff;box-shadow:0 0.5rem 1.5rem rgba(0,0,0,0.24);backdrop-filter:blur(8px);pointer-events:auto;text-align:left}.vidtreo-mobile-recording-prompt--above-countdown{z-index:calc(var(--vidtreo-z-countdown-overlay) + 1)}.vidtreo-mobile-recording-prompt-text{color:#ffffff;font-size:1rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.vidtreo-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vidtreo-mobile-recorder-content .vidtreo-control-buttons-row{gap:0.75rem;min-height:4rem}.vidtreo-mobile-recorder-content .vidtreo-control-button{width:4rem;height:4rem;min-height:4rem;max-height:4rem}.vidtreo-mobile-recorder-content .vidtreo-control-button svg{width:1.5rem;height:1.5rem}.vidtreo-mobile-recorder-content .vidtreo-record-button{height:4rem;min-height:4rem;max-height:4rem;padding:0 1.5rem;font-size:1rem;gap:0.5rem}.vidtreo-mobile-recorder-content .vidtreo-record-button svg{width:1.5rem;height:1.5rem}.vidtreo-permission-flow{position:absolute;inset:0;background:#000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;z-index:var(--vidtreo-z-modal-overlay);transform:translateZ(0);contain:layout style paint;backface-visibility:hidden;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vidtreo-permission-flow.vidtreo-active{display:flex;animation:vidtreo-fadeIn 0.4s cubic-bezier(0.2,0,0,1)}.vidtreo-permission-flow-title{font-size:1.25rem;font-weight:600;color:#fff;margin:0;text-align:center;line-height:1.3}.vidtreo-permission-flow-subtitle{font-size:0.875rem;color:rgba(255,255,255,0.75);margin:0;text-align:center;line-height:1.5;letter-spacing:-0.005em;max-width:280px}.vidtreo-permission-flow-action{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;margin-top:0.5rem;padding:0.875rem 1.75rem;background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground));border:none;border-radius:9999px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;min-width:200px;letter-spacing:-0.01em;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}.vidtreo-permission-flow-action:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-permission-flow-action:active:not(:disabled){transform:scale(0.98)}.vidtreo-permission-flow-action:disabled{opacity:0.5;cursor:not-allowed;animation:none;box-shadow:none}.vidtreo-permission-flow-action--requesting{opacity:0.55;cursor:wait;animation:none;box-shadow:none}@keyframes vidtreo-spinner-rotate{to{transform:rotate(360deg)}}.vidtreo-permission-flow-spinner{display:inline-block;width:1.125rem;height:1.125rem;border:2px solid rgba(255,255,255,0.3);border-top-color:hsl(var(--vidtreo-primary-foreground));border-radius:50%;animation:vidtreo-spinner-rotate 0.8s linear infinite;flex-shrink:0}.vidtreo-permission-flow-spinner--large{width:2.5rem;height:2.5rem;border-width:3px}.vidtreo-permission-flow-recovery{display:flex;flex-direction:column;align-items:center;gap:1.25rem;max-width:280px;text-align:center}.vidtreo-permission-flow-recovery-text{font-size:0.75rem;color:rgba(255,255,255,0.4);line-height:1.6;letter-spacing:-0.005em;margin:0}.vidtreo-permission-flow-retry{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;padding:0.875rem 1.75rem;background:hsl(var(--vidtreo-primary));color:hsl(var(--vidtreo-primary-foreground));border:none;border-radius:9999px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;min-width:200px;letter-spacing:-0.01em;animation:vidtreo-btn-glow-pulse 2s ease-in-out infinite}.vidtreo-permission-flow-retry:hover:not(:disabled){transform:scale(1.02);animation-play-state:paused;box-shadow:0 0 20px 6px rgba(255,255,255,0.6),0 0 40px 10px rgba(255,255,255,0.3)}.vidtreo-permission-flow-retry:active:not(:disabled){transform:scale(0.98)}@keyframes vidtreo-fadeOut{from{opacity:1}to{opacity:0}}.vidtreo-permission-flow.vidtreo-permission-flow--fading{animation:vidtreo-fadeOut 0.6s ease-out forwards;pointer-events:none}.vidtreo-recovery-guide{width:100%;max-width:280px;margin:0 auto;position:relative}.vidtreo-recovery-guide::after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to bottom,transparent 0%,#000 100%);z-index:20;pointer-events:none}.vidtreo-recovery-guide::before{content:"";position:absolute;top:0;right:0;bottom:0;width:50px;background:linear-gradient(to right,transparent 0%,#000 100%);z-index:20;pointer-events:none}.vidtreo-recovery-guide-browser{position:relative;background:#161616;border-radius:10px 0 0 0;overflow:hidden;border-top:1px solid rgba(255,255,255,0.1);border-left:1px solid rgba(255,255,255,0.1);animation:vidtreo-fadeIn 0.5s ease}.vidtreo-recovery-guide-titlebar{position:relative;display:flex;align-items:center;padding:8px 10px;background:#1e1e1e;gap:8px;border-bottom:1px solid rgba(255,255,255,0.06);z-index:3}.vidtreo-recovery-guide-dots{display:flex;gap:5px;flex-shrink:0}.vidtreo-recovery-guide-dot{width:8px;height:8px;border-radius:50%}.vidtreo-recovery-guide-dot--close{background:#ff5f57}.vidtreo-recovery-guide-dot--min{background:#febc2e}.vidtreo-recovery-guide-dot--max{background:#28c840}.vidtreo-recovery-guide-addressbar{flex:1;display:flex;align-items:center;gap:5px;background:#2a2a2a;border-radius:5px;padding:4px 8px;min-width:0}.vidtreo-recovery-guide-lock{flex-shrink:0;color:rgba(255,255,255,0.5);display:flex;align-items:center;animation:vidtreo-lock-pulse 7s ease-in-out infinite}.vidtreo-recovery-guide-lock-svg{display:block}.vidtreo-recovery-guide-url{font-size:0.65rem;color:rgba(255,255,255,0.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.vidtreo-recovery-guide-cursor{position:absolute;left:62px;top:12px;z-index:40;pointer-events:none;animation:vidtreo-cursor-move 7s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.6))}.vidtreo-recovery-guide-cursor-svg{display:block}.vidtreo-recovery-guide-browser-bg{height:110px;background:#161616}.vidtreo-recovery-guide-popover{position:absolute;top:34px;left:12px;right:12px;background:#252525;border-radius:10px;padding:8px 12px 12px;border:1px solid rgba(255,255,255,0.1);box-shadow:0 8px 30px rgba(0,0,0,0.6),0 2px 8px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.06);z-index:30;animation:vidtreo-popover-reveal 7s ease-in-out infinite}.vidtreo-recovery-guide-popover-header{font-size:0.65rem;font-weight:600;color:rgba(255,255,255,0.85);padding-bottom:6px;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.vidtreo-recovery-guide-popover-divider{height:1px;background:rgba(255,255,255,0.08)}.vidtreo-recovery-guide-perm-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0}.vidtreo-recovery-guide-perm-row + .vidtreo-recovery-guide-perm-row{border-top:1px solid rgba(255,255,255,0.06)}.vidtreo-recovery-guide-perm-group{display:flex;align-items:center;gap:8px}.vidtreo-recovery-guide-perm-icon{position:relative;width:14px;height:14px;flex-shrink:0}.vidtreo-recovery-guide-icon-off,.vidtreo-recovery-guide-icon-on{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.vidtreo-recovery-guide-icon-off{color:rgba(255,255,255,0.4);animation:vidtreo-icon-hide 7s ease-in-out infinite}.vidtreo-recovery-guide-icon-on{color:#34d399;animation:vidtreo-icon-show 7s ease-in-out infinite}.vidtreo-recovery-guide-perm-label{font-size:0.7rem;color:rgba(255,255,255,0.85);font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.vidtreo-recovery-guide-switch{position:relative;width:32px;height:18px;flex-shrink:0}.vidtreo-recovery-guide-switch-track{position:absolute;inset:0;border-radius:9px;background:rgba(255,255,255,0.15);animation:vidtreo-track-on 7s ease-in-out infinite}.vidtreo-recovery-guide-switch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.3);animation:vidtreo-knob-slide 7s ease-in-out infinite}.vidtreo-recovery-guide-switch--delayed{animation-delay:0.85s}@keyframes vidtreo-cursor-move{0%{transform:translate(100px,12px);opacity:0}8%{opacity:1}22%{transform:translate(0,0)}26%{transform:translate(0,0) scale(0.75)}30%{transform:translate(0,0) scale(1);opacity:1}33%{transform:translate(0,0);opacity:1}38%{transform:translate(65px,63px);opacity:1}42%{transform:translate(65px,63px) scale(0.75)}45%{transform:translate(65px,63px) scale(1);opacity:1}48%{transform:translate(65px,97px);opacity:1}52%{transform:translate(65px,97px) scale(0.75)}55%{transform:translate(65px,97px) scale(1);opacity:1}60%{opacity:0}100%{transform:translate(100px,12px);opacity:0}}@keyframes vidtreo-popover-reveal{0%,27%{opacity:0;transform:translateY(-6px) scale(0.96)}33%,82%{opacity:1;transform:translateY(0) scale(1)}88%,100%{opacity:0;transform:translateY(-6px) scale(0.96)}}@keyframes vidtreo-track-on{0%,34%{background:rgba(255,255,255,0.15)}40%,92%{background:#34d399}96%,100%{background:rgba(255,255,255,0.15)}}@keyframes vidtreo-knob-slide{0%,34%{transform:translateX(0)}40%,92%{transform:translateX(14px)}96%,100%{transform:translateX(0)}}@keyframes vidtreo-icon-hide{0%,34%{opacity:1}40%,92%{opacity:0}96%,100%{opacity:1}}@keyframes vidtreo-icon-show{0%,34%{opacity:0}40%,92%{opacity:1}96%,100%{opacity:0}}@keyframes vidtreo-lock-pulse{0%,15%{color:rgba(255,255,255,0.5)}22%,30%{color:#34d399}38%,100%{color:rgba(255,255,255,0.5)}}.vidtreo-record-button.vidtreo-record-button-disabled,.vidtreo-record-button-disabled{opacity:0.6;cursor:not-allowed;pointer-events:none;filter:grayscale(0.3)}.vidtreo-mic-connecting-indicator{display:inline-flex;align-items:center;justify-content:center;animation:vidtreo-mic-pulse 1.4s ease-in-out infinite}@keyframes vidtreo-mic-pulse{0%,100%{opacity:0.4}50%{opacity:1}}.vidtreo-audio-error-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,0.85);z-index:var(--vidtreo-z-error-overlay);padding:2rem 1.5rem;text-align:center;animation:vidtreo-audio-overlay-fade-in 0.3s ease-out}@supports (backdrop-filter:blur(8px)){.vidtreo-audio-error-overlay{background:rgba(0,0,0,0.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}@keyframes vidtreo-audio-overlay-fade-in{from{opacity:0}to{opacity:1}}.vidtreo-audio-error-icon{width:56px;height:56px;border-radius:50%;background:rgba(239,68,68,0.15);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.vidtreo-audio-error-icon svg{width:28px;height:28px;color:#ef4444}.vidtreo-audio-error-title{font-size:1.125rem;font-weight:600;color:#ffffff;margin:0 0 0.5rem;line-height:1.4}.vidtreo-audio-error-message{font-size:0.875rem;color:rgba(255,255,255,0.7);margin:0 0 1.5rem;line-height:1.6;max-width:320px}.vidtreo-audio-error-retry{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;background:#ffffff;color:#111111;border:none;border-radius:9999px;font-size:0.875rem;font-weight:600;cursor:pointer;transition:background 0.15s ease,transform 0.1s ease;font-family:inherit}.vidtreo-audio-error-retry:hover{background:#f0f0f0}.vidtreo-audio-error-retry:active{transform:scale(0.97)}.vidtreo-audio-error-retry svg{width:16px;height:16px}.vidtreo-audio-warning-toast{position:absolute;top:1rem;left:50%;transform:translateX(-50%);z-index:var(--vidtreo-z-error-overlay);display:flex;align-items:flex-start;gap:0.625rem;max-width:min(420px,calc(100% - 2rem));padding:0.625rem 0.875rem;border-radius:12px;font-family:inherit;background:rgba(17,17,17,0.55);color:rgba(255,255,255,0.92);border:1px solid rgba(255,255,255,0.08);box-shadow:0 4px 16px rgba(0,0,0,0.25);animation:vidtreo-audio-warning-toast-fade-in 0.2s ease-out;pointer-events:auto}@supports (backdrop-filter:blur(10px)){.vidtreo-audio-warning-toast{background:rgba(17,17,17,0.45);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}}.vidtreo-audio-warning-toast--critical{border-color:rgba(239,68,68,0.45)}.vidtreo-audio-warning-toast--critical .vidtreo-audio-warning-toast__icon{color:#ef4444}.vidtreo-audio-warning-toast--soft{border-color:rgba(245,158,11,0.45)}.vidtreo-audio-warning-toast--soft .vidtreo-audio-warning-toast__icon{color:#f59e0b}.vidtreo-audio-warning-toast__icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px}.vidtreo-audio-warning-toast__content{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.vidtreo-audio-warning-toast__title{font-size:0.8125rem;font-weight:600;line-height:1.3;color:#ffffff}.vidtreo-audio-warning-toast__message{font-size:0.75rem;font-weight:400;line-height:1.4;color:rgba(255,255,255,0.72)}.vidtreo-audio-warning-toast__dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin-left:0.25rem;border-radius:6px;border:none;background:transparent;color:rgba(255,255,255,0.65);cursor:pointer;transition:background 0.15s ease,color 0.15s ease;font-family:inherit}.vidtreo-audio-warning-toast__dismiss:hover{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.95)}@keyframes vidtreo-audio-warning-toast-fade-in{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vidtreo/recorder-react",
3
- "version": "1.7.7",
3
+ "version": "1.7.9",
4
4
  "type": "module",
5
5
  "description": "React components and hooks for @vidtreo/recorder - video recording SDK",
6
6
  "main": "./dist/index.js",
@@ -43,7 +43,7 @@
43
43
  ],
44
44
  "license": "MIT",
45
45
  "peerDependencies": {
46
- "@vidtreo/recorder": ">=1.7.5",
46
+ "@vidtreo/recorder": ">=1.7.7",
47
47
  "react": ">=18.0.0",
48
48
  "react-dom": ">=18.0.0"
49
49
  },