.loading-spinner-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:200px}.loading-spinner{animation:loading-spinner-spin .8s linear infinite;border:4px solid var(--theme-primary-color-15);border-top-color:var(--theme-primary-color);height:48px;width:48px}@keyframes loading-spinner-spin{to{transform:rotate(1turn)}}.loading-spinner-message{color:#666;font-size:16px;margin:0}.toast-container{display:flex;flex-direction:column;gap:12px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.toast{align-items:center;animation:slideIn .3s ease-out;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;gap:12px;line-height:1.5;max-width:500px;min-width:300px;padding:16px 20px;pointer-events:auto}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-error{background-color:#fee;border-left:4px solid #f44336;color:#c62828}.toast-success{background-color:#e8f5e9;border-left:4px solid #4caf50;color:#2e7d32}.toast-warning{background-color:#fff3e0;border-left:4px solid #ff9800;color:#e65100}.toast-info{background-color:#e3f2fd;border-left:4px solid #2196f3;color:#1565c0}.toast-icon{flex-shrink:0;font-size:20px}.toast-message{word-wrap:break-word;flex:1 1}.toast-close{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:24px;justify-content:center;line-height:1;margin:0;opacity:.7;padding:0;transition:opacity .2s;width:24px}.toast-close:hover{opacity:1}.toast-close:focus{border-radius:4px;outline:2px solid currentColor;outline-offset:2px}@media (max-width:768px){.toast-container{left:10px;right:10px;top:10px}.toast{max-width:100%;min-width:auto}}.mux-uploader-container{align-items:center;background:#1f2937;background:var(--theme-card-background,#1f2937);border:2px dashed #4b5563;border:2px dashed var(--theme-accent-border,#4b5563);border-radius:8px;display:flex;flex-direction:column;justify-content:center;min-height:200px;position:relative;transition:border-color .2s ease,background-color .2s ease;width:100%}.mux-uploader-container:hover{background-color:rgba(59,130,246,.15);background-color:var(--theme-primary-color-15,rgba(59,130,246,.15));border-color:#3b82f6;border-color:var(--theme-primary-color,#3b82f6)}.mux-uploader-container mux-uploader{min-height:200px;width:100%}.mux-uploader-container mux-uploader::part(drop-zone){background:transparent;border:none;padding:32px}.mux-uploader-container mux-uploader::part(drop-zone):hover{background:rgba(59,130,246,.15);background:var(--theme-primary-color-15,rgba(59,130,246,.15))}.mux-uploader-container mux-uploader::part(file-select-button){background-color:#3b82f6;background-color:var(--theme-primary-color,#3b82f6);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.mux-uploader-container mux-uploader::part(file-select-button):hover{background-color:#60a5fa;background-color:var(--theme-accent-text,#60a5fa)}.mux-uploader-container mux-uploader::part(progress-bar){background-color:#374151;background-color:var(--theme-accent-background,#374151);border-radius:4px;height:8px;overflow:hidden}.mux-uploader-container mux-uploader::part(progress-bar-fill){background-color:#3b82f6;background-color:var(--theme-primary-color,#3b82f6);transition:width .3s ease}.mux-uploader-container mux-uploader::part(status){color:#d1d5db;color:var(--theme-text-color-secondary,#d1d5db);font-size:14px;margin-top:12px}.mux-uploader-loading{background:#1f2937;background:var(--theme-card-background,#1f2937)}.mux-uploader-spinner{animation:mux-uploader-spin 1s linear infinite;border:3px solid #4b5563;border-top-color:#3b82f6;border:3px solid var(--theme-accent-border,#4b5563);border-radius:50%;border-top-color:var(--theme-primary-color,#3b82f6);height:40px;width:40px}@keyframes mux-uploader-spin{to{transform:rotate(1turn)}}.mux-uploader-status{color:#d1d5db;color:var(--theme-text-color-secondary,#d1d5db);font-size:14px;margin-top:16px}.mux-uploader-error{background:rgba(239,68,68,.1);border-color:#ef4444}.mux-uploader-error-icon{font-size:32px;margin-bottom:12px}.mux-uploader-error-message{color:#fca5a5;font-size:14px;max-width:300px;text-align:center}.mux-uploader-pending{background:#1f2937;background:var(--theme-card-background,#1f2937)}@media (max-width:768px){.mux-uploader-container{border-radius:6px;min-height:150px}.mux-uploader-container mux-uploader::part(drop-zone){padding:24px 16px}.mux-uploader-container mux-uploader::part(file-select-button){font-size:13px;padding:10px 20px}}.mux-uploader-container.drag-active{background-color:rgba(59,130,246,.15);background-color:var(--theme-primary-color-15,rgba(59,130,246,.15));border-color:#3b82f6;border-color:var(--theme-primary-color,#3b82f6)}.agent-page,.video-agent-page{background:var(--theme-background);display:flex;flex:1 1;flex-direction:column;min-height:0}.agent-auth-prompt,.agent-loading,.video-agent-auth-prompt,.video-agent-error-container,.video-agent-loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:24px;text-align:center}.agent-loading,.video-agent-error-container,.video-agent-loading-container{flex:1 1}.agent-auth-prompt,.video-agent-auth-prompt,.video-agent-error,.video-agent-loading{color:#1f2937;color:var(--theme-text-color,#1f2937);max-width:500px;text-align:center}.agent-auth-prompt h2,.video-agent-auth-prompt h2{color:#1f2937;color:var(--theme-text-color,#1f2937);margin-bottom:8px}.agent-auth-prompt p,.video-agent-auth-prompt p{color:#6b7280;color:var(--theme-text-color-secondary,#6b7280);margin-bottom:24px}.video-agent-secondary-button{background:var(--theme-accent-background);border:1px solid var(--theme-accent-border);border-radius:8px;color:var(--theme-primary-color);cursor:pointer;font-weight:500;margin-top:12px;padding:8px 16px}.video-agent-secondary-button:hover{background:var(--theme-button-hover)}.video-agent-spinner{animation:video-agent-spin .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top:4px solid var(--theme-primary-color);height:48px;margin:0 auto 16px;width:48px}@keyframes video-agent-spin{to{transform:rotate(1turn)}}.agent-upload-progress-bar,.video-agent-progress-bar{background:#e5e7eb;background:var(--theme-accent-border,#e5e7eb);border-radius:4px;height:8px;margin:0 auto 12px;max-width:300px;overflow:hidden}.agent-upload-progress-bar{margin-bottom:12px}.agent-upload-progress-fill,.video-agent-progress-fill{background:var(--theme-primary-gradient);height:100%;transition:width .3s ease}.agent-upload-progress p,.video-agent-error p,.video-agent-loading p{color:#6b7280;color:var(--theme-text-color-secondary,#6b7280);font-size:14px}.video-agent-error-icon{font-size:48px;margin-bottom:16px}.video-agent-error h2{color:#1f2937;color:var(--theme-text-color,#1f2937);margin-bottom:12px}.video-agent-error-actions{align-items:center;display:flex;flex-direction:column;gap:8px;margin-top:16px}.video-agent-error-hint{color:#9ca3af;color:var(--theme-text-color-muted,#9ca3af);font-size:13px;margin-top:8px}.agent-retry-button,.video-agent-retry-button{background:var(--theme-primary-gradient);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:12px 24px;transition:transform .2s,box-shadow .2s}.agent-retry-button{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;margin-top:12px;padding:8px 16px}.agent-retry-button:hover{background:#fee2e2}.video-agent-retry-button:hover{box-shadow:0 4px 12px rgba(220,38,38,.3);transform:translateY(-2px)}.agent-chat-container,.video-agent-container{background:var(--theme-background);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.agent-chat-panel,.video-agent-chat-panel{display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:1200px;min-height:0;padding:16px;width:100%}.agent-messages-container,.video-agent-messages-container{-webkit-overflow-scrolling:touch;background:transparent;border-radius:0;box-shadow:none;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:16px}.agent-empty-state,.video-agent-empty-state{color:#374151;color:var(--theme-text-color-muted,#374151);padding:48px 24px;text-align:center}.agent-empty-state h3,.video-agent-empty-state h3{color:#1f2937;color:var(--theme-text-color,#1f2937);font-size:24px;font-weight:600;margin-bottom:8px}.agent-empty-state p,.video-agent-empty-state p{color:#6b7280;color:var(--theme-text-color-secondary,#6b7280);font-size:16px;margin-bottom:24px}.agent-empty-state ul{margin:0 auto 24px;max-width:280px;text-align:left}.agent-empty-state li{margin-bottom:8px}.agent-example-prompts,.video-agent-quick-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 auto;max-width:500px}.agent-example-prompts button,.video-agent-quick-actions button:not(.video-agent-quick-action-primary){background:var(--theme-accent-background);border:none;border-radius:20px;color:var(--theme-primary-color);cursor:pointer;font-size:13px;padding:8px 16px;transition:background .2s}.agent-example-prompts button:hover,.video-agent-quick-actions button:not(.video-agent-quick-action-primary):hover{background:var(--theme-primary-color);color:#fff}.video-agent-quick-action-primary{background:var(--theme-primary-gradient);border:none;border-radius:20px;color:#fff;cursor:pointer;flex:1 1 100%;font-size:14px;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.video-agent-quick-action-primary:hover{box-shadow:0 4px 12px rgba(220,38,38,.3);transform:translateY(-2px)}.agent-thinking-indicator,.video-agent-thinking-indicator{align-items:center;color:#6b7280;color:var(--theme-text-color-secondary,#6b7280);display:flex;font-size:14px;gap:12px;padding:12px 16px}.agent-thinking-dots,.video-agent-thinking-dots{display:flex;gap:4px}.agent-thinking-dots span,.video-agent-thinking-dots span{animation:thinking-bounce 1.4s ease-in-out infinite;background:var(--theme-primary-color);border-radius:50%;height:8px;width:8px}.agent-thinking-dots span:nth-child(2),.video-agent-thinking-dots span:nth-child(2){animation-delay:.2s}.agent-thinking-dots span:nth-child(3),.video-agent-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinking-bounce{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}.agent-error-banner,.video-agent-error-banner{background:#fef2f2;background:var(--theme-primary-color-15,#fef2f2);border-top:1px solid #fecaca;border-top:1px solid var(--theme-accent-border,#fecaca);color:#dc2626;color:var(--theme-primary-color,#dc2626);font-size:14px;padding:12px 16px}.agent-input-form,.video-agent-input-form{background:var(--theme-background);border-radius:0;display:flex;gap:8px;padding:16px}.agent-input-form,.video-agent-input-divider{border-top:1px solid #e5e7eb;border-top:1px solid var(--theme-accent-border,#e5e7eb)}.agent-input,.video-agent-input{background:var(--theme-card-background);border:1px solid #e5e7eb;border:1px solid var(--theme-accent-border,#e5e7eb);border-radius:8px;color:#1f2937;color:var(--theme-text-color,#1f2937);flex:1 1;font-size:15px;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.agent-input:focus,.video-agent-input:focus{border-color:var(--theme-primary-color);box-shadow:0 0 0 3px rgba(220,38,38,.1)}.agent-input:disabled,.video-agent-input:disabled{background:var(--theme-accent-background);color:var(--theme-text-color-muted);cursor:not-allowed}.agent-send-btn,.video-agent-send-btn{background:var(--theme-primary-gradient);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:opacity .2s,transform .2s}.agent-send-btn:hover:not(:disabled),.video-agent-send-btn:hover:not(:disabled){transform:translateY(-1px)}.agent-send-btn:disabled,.video-agent-send-btn:disabled{cursor:not-allowed;opacity:.5}.video-agent-input-wrapper{display:flex;flex:1 1}.video-agent-input-loading{align-items:center;background:var(--theme-accent-background);border:1px solid #e5e7eb;border:1px solid var(--theme-accent-border,#e5e7eb);border-radius:8px;display:flex;flex:1 1;gap:12px;padding:12px 16px}.video-agent-input-loading-dots{display:flex;gap:4px}.video-agent-input-loading-dots span{animation:input-loading-pulse 1.4s ease-in-out infinite;background:var(--theme-primary-color);border-radius:50%;height:8px;width:8px}.video-agent-input-loading-dots span:nth-child(2){animation-delay:.2s}.video-agent-input-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes input-loading-pulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.video-agent-input-loading-text{color:var(--theme-text-color-muted);font-size:15px}.agent-upload-container{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:0;padding:24px}.agent-upload-box{background:var(--theme-card-background);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.1);max-width:500px;padding:48px;text-align:center}.agent-upload-box h2{color:#1f2937;color:var(--theme-text-color,#1f2937);margin:0 0 12px}.agent-upload-description{color:#6b7280;color:var(--theme-text-color-secondary,#6b7280);line-height:1.6;margin-bottom:32px}.agent-upload-button{background:var(--theme-primary-gradient);border-radius:12px;color:#fff;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:16px 32px;transition:transform .2s,box-shadow .2s}.agent-upload-button:hover{box-shadow:0 8px 24px rgba(220,38,38,.3);transform:translateY(-2px)}.agent-upload-progress{margin-top:24px}.agent-upload-error{color:#dc2626;color:var(--theme-primary-color,#dc2626);margin-top:24px}.agent-page-header{background:var(--theme-accent-background);border-bottom:1px solid var(--theme-accent-border);padding:12px 16px}.agent-page-header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.agent-page-title{color:#1f2937;color:var(--theme-text-color,#1f2937);font-size:18px;font-weight:600}.agent-change-video-btn{background:var(--theme-primary-gradient);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:transform .2s,box-shadow .2s}.agent-change-video-btn:hover{box-shadow:0 4px 12px rgba(220,38,38,.3);transform:translateY(-1px)}@media (max-width:768px){.agent-upload-box{margin:16px;padding:32px 24px}.agent-page-header{padding:10px 12px}.agent-page-title{font-size:16px}.agent-change-video-btn{font-size:13px;padding:6px 12px}.video-agent-chat-panel{padding:0}.agent-messages-container,.video-agent-messages-container{border-radius:0;box-shadow:none;max-height:calc(100% - 52px);padding:12px}.agent-empty-state,.video-agent-empty-state{padding:32px 20px}.video-agent-empty-state h3{font-size:20px;margin-bottom:4px}.video-agent-empty-state p{font-size:14px;margin-bottom:20px}.agent-example-prompts,.video-agent-quick-actions{flex-direction:column}.agent-example-prompts button,.video-agent-quick-actions button{width:100%}.agent-input-form,.video-agent-input-form{border-radius:0;flex-shrink:0;padding:12px}.agent-input,.video-agent-input{font-size:16px;padding:10px 12px}.video-agent-input-loading{padding:10px 12px}.video-agent-input-loading-text{font-size:16px}}.inline-video-player{background-color:#000;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:pointer;margin:12px 0;max-height:65vh;max-width:560px;overflow:hidden;position:relative;width:100%}.inline-video-element{display:block;height:auto;max-height:60vh;object-fit:contain;width:100%}.inline-video-overlay{align-items:center;background-color:rgba(0,0,0,.3);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;transition:background-color .2s ease}.inline-video-player:hover .inline-video-overlay{background-color:rgba(0,0,0,.5)}.inline-video-play-icon{color:#fff;font-size:48px;text-shadow:0 2px 4px rgba(0,0,0,.5);transition:transform .2s ease}.inline-video-player:hover .inline-video-play-icon{transform:scale(1.1)}@media (max-width:768px){.inline-video-player{max-width:100%}.inline-video-play-icon{font-size:36px}}@media (min-width:769px){.inline-video-player{max-width:560px}}.video-segment-strip{--strip-border-width:1px;--strip-border-radius:10px;--strip-border-radius-inner:calc(var(--strip-border-radius) - var(--strip-border-width));display:flex;flex-direction:column;gap:8px;width:min(100%,560px)}.video-segment-strip-labels{color:var(--theme-text-color-secondary);display:flex;font-family:monospace;font-size:12px;justify-content:space-between}.video-segment-strip-label{background:var(--theme-accent-background);border:1px solid var(--theme-accent-border);border-radius:6px;padding:2px 6px}.video-segment-strip-track{border-radius:var(--strip-border-radius);overflow:hidden;position:relative}.video-segment-strip-frames{display:grid;grid-template-columns:repeat(7,1fr);grid-template-columns:repeat(var(--frame-count,7),1fr);height:54px}.video-segment-strip-frame{display:block;height:100%;object-fit:cover;width:100%}.video-segment-strip-frame--placeholder{background:var(--theme-accent-background)}.video-segment-strip-frame--placeholder.is-loading{animation:video-segment-strip-shimmer 1.8s ease-in-out infinite;background:linear-gradient(90deg,var(--theme-accent-background),var(--theme-card-background),var(--theme-accent-background));background-size:200% 100%}.video-segment-strip-selection{background:var(--theme-primary-color-15);border:var(--strip-border-width) solid var(--theme-primary-color);border-radius:0 0 0 0;border-radius:var(--radius-left,0) var(--radius-right,0) var(--radius-right,0) var(--radius-left,0);bottom:0;left:0;left:var(--segment-start,0);overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;width:calc(var(--segment-end, 100%) - var(--segment-start, 0%))}.video-segment-strip-dim{background:var(--theme-background);bottom:0;opacity:.55;pointer-events:none;position:absolute;top:0}.video-segment-strip-dim-left{left:0;width:0;width:var(--segment-start,0)}.video-segment-strip-dim-right{right:0;width:0;width:calc(100% - var(--segment-end, 100%))}.video-segment-strip-playhead{background:var(--theme-primary-color);bottom:0;left:0;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:var(--strip-border-width);z-index:1}@keyframes video-segment-strip-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){.video-segment-strip{width:100%}.video-segment-strip-frames{height:46px}}.agent-message{border-radius:12px;margin-bottom:16px;padding:0}.agent-message-user{background:var(--theme-accent-background);border-radius:12px;color:var(--theme-text-color);margin-left:auto;max-width:65%;padding:8px 14px;text-align:left;width:-webkit-fit-content;width:fit-content}.agent-message-agent{background:transparent;border:none;border-radius:0;color:var(--theme-text-color);margin-right:auto;padding:0}.agent-message-header{display:none}.agent-message-role{font-weight:600}.agent-message-time{font-size:11px}.agent-message-contents{display:flex;flex-direction:column;gap:12px}.agent-content-text{line-height:1.6}.agent-content-text>:first-child{margin-top:0}.agent-content-text>:last-child{margin-bottom:0}.agent-content-video-artifact{background:#000;border-radius:12px;margin:0;max-height:65vh;overflow:hidden;width:min(100%,560px)}.agent-message-user:has(.agent-content-video-artifact){background:transparent;max-width:none;padding:0;width:min(100%,560px)}.video-artifact-player{display:block;height:auto;max-height:60vh;object-fit:contain;width:100%}.agent-content-video-segment{background:var(--theme-accent-background);border:1px solid var(--theme-primary-color);border-radius:8px;margin:0;padding:12px;width:min(100%,560px)}.video-segment-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.video-segment-icon{font-size:18px}.video-segment-label{color:var(--theme-primary-color);flex:1 1;font-weight:500}.video-segment-timestamp-badge{background:var(--theme-accent-background);border:1px solid var(--theme-accent-border);border-radius:4px;color:var(--theme-primary-color);font-family:monospace;font-size:.9em;margin-left:auto;padding:2px 6px;white-space:nowrap}.agent-content-frame-snapshot{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin:0;padding:12px;width:min(100%,560px)}@media (min-width:769px){.agent-message-agent .agent-message-contents{align-items:flex-start}.agent-message-agent .agent-message-contents>*{align-self:flex-start}}.frame-snapshot-header{align-items:center;display:flex;gap:8px;margin-bottom:12px}.frame-snapshot-icon{font-size:18px}.frame-snapshot-label{color:#92400e;font-family:monospace;font-weight:500}.frame-snapshot-refinement-badge{background:var(--theme-accent-background);border-radius:12px;color:var(--theme-primary-color);font-size:11px;font-weight:500;margin-left:auto;padding:2px 8px}.frame-snapshot-description{color:#92400e;font-size:14px;line-height:1.5;margin:0 0 12px}.frame-snapshot-annotations{color:#92400e;font-size:13px;list-style-type:disc;margin-top:12px;padding-left:20px}.frame-snapshot-annotations li{margin-bottom:4px}.agent-content-analysis-card{background:#fff;border:2px solid #10b981;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:16px}.analysis-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.analysis-card-header h4{color:#065f46;margin:0}.analysis-card-shot-type{background:#d1fae5;border-radius:12px;color:#047857;font-size:12px;font-weight:500;padding:4px 10px;text-transform:capitalize}.analysis-card-segment{margin-top:12px}.analysis-card-content p{color:#374151;line-height:1.6;margin:0}.analysis-card-key-points{margin-top:12px;padding-left:20px}.analysis-card-key-points li{color:#065f46;margin-bottom:4px}.agent-content-function-call{align-items:center;background:#fef9c3;border-radius:6px;display:flex;font-size:12px;gap:8px;padding:8px 12px}.function-call-icon{font-size:14px}.function-call-name{color:#854d0e;font-weight:600}.function-call-args{background:#fef08a;border-radius:4px;color:#713f12;font-family:monospace;font-size:11px;max-width:200px;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.agent-content-function-result{align-items:center;background:#dcfce7;border-radius:6px;color:#166534;display:flex;font-size:12px;gap:8px;padding:6px 12px}.function-result-icon{color:#22c55e;font-size:14px}.function-result-name{font-weight:500}.agent-content-thinking{align-items:flex-start;color:var(--theme-primary-color);display:flex;font-size:13px;font-style:italic;gap:8px;padding:8px 0}.thinking-icon{font-size:14px}.thinking-text{flex:1 1}.streaming-cursor{animation:blink 1s step-end infinite;color:var(--theme-primary-color);display:inline-block;font-weight:700;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (max-width:768px){.agent-message-user{max-width:95%;padding:10px 12px}.video-segment-timestamp-badge{font-size:.85em;padding:1px 5px}}:root{--theme-background:#0c0c0c;--theme-card-background:#1a1a1a;--theme-accent-background:#2a2a2a;--theme-accent-border:#3a3a3a;--theme-button-hover:#3a3a3a;--theme-primary-color:#ff6b2c;--theme-primary-gradient:linear-gradient(135deg,#ff8c42,#ff5722);--theme-accent-text:#ffab40;--theme-text-color:#fff;--theme-text-color-secondary:#b0b0b0;--theme-text-color-muted:grey;--theme-tennis-ball:#c8e038;--theme-basketball:#e8702a;--theme-soccer-ball:#f5f5f5;--theme-snowball-highlight:#fff;--theme-snowball-shadow:#d0e8f5;--theme-snowball-detail:#e8f4fc;--theme-ball-stroke-light:#fff;--theme-ball-stroke-dark:#1a1a1a;--theme-primary-color-15:rgba(255,107,44,.15);--theme-primary-color-30:rgba(255,107,44,.3);--theme-primary-color-40:rgba(255,107,44,.4)}*,:after,:before{box-sizing:border-box}.App{height:100%;margin:0;overflow:hidden;padding:0;width:100%}.App,.athlete-app{display:flex;flex-direction:column}.athlete-app{background:#0c0c0c;background:var(--theme-background);flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto}.athlete-header{background:#1a1a1a;background:var(--theme-card-background);border-bottom:1px solid #3a3a3a;border-bottom:1px solid var(--theme-accent-border);box-shadow:none;padding:16px 24px;position:relative;width:100%}.athlete-header-content{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.athlete-title{color:#fff;color:var(--theme-text-color);flex-shrink:1;font-size:1.6rem;font-weight:700;margin:0;min-width:0}.athlete-title-clickable{background:transparent;border:none;border-radius:4px;cursor:pointer;margin-left:-8px;padding:4px 8px;transition:color .2s ease}.athlete-title-clickable:hover{color:#ff6b2c;color:var(--theme-primary-color)}.breadcrumb-mobile{background:#1a1a1a;background:var(--theme-card-background);border-bottom:1px solid #3a3a3a;border-bottom:1px solid var(--theme-accent-border);color:#b0b0b0;color:var(--theme-text-color-secondary);display:block;font-size:.875rem;padding:12px 24px}.breadcrumb-separator{margin-right:6px}.breadcrumb-desktop{color:#b0b0b0;color:var(--theme-text-color-secondary);display:none;font-size:1rem;font-weight:400}@media (min-width:769px){.breadcrumb-desktop{display:inline}.breadcrumb-mobile{display:none}}.athlete-header-actions{align-items:center;display:flex;flex-shrink:0}.athlete-header-actions .primary-button{background:#2a2a2a;background:var(--theme-accent-background);border:1px solid #3a3a3a;border:1px solid var(--theme-accent-border);box-shadow:none;color:#ff6b2c;color:var(--theme-primary-color);max-width:none;overflow:visible;padding:10px 20px;white-space:nowrap;width:auto}.athlete-header-actions .primary-button:hover{background:#3a3a3a;background:var(--theme-button-hover);box-shadow:none;transform:none}.shot-count-pill{align-items:center;background:#2a2a2a;background:var(--theme-accent-background);border:1px solid #3a3a3a;border:1px solid var(--theme-accent-border);border-radius:999px;color:#ff6b2c;color:var(--theme-primary-color);display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px;white-space:nowrap}.athlete-loading-container{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:24px;justify-content:center;padding:24px}.athlete-loading-container p{color:#fff;color:var(--theme-text-color)}.athlete-loading-video{align-items:center;aspect-ratio:16/9;display:flex;justify-content:center;max-width:960px;width:80%}.athlete-loading-video .selected-serve-video{height:100%;width:100%}.athlete-loading-status{align-items:center;color:#b0b0b0;color:var(--theme-text-color-secondary);display:flex;flex-direction:column;font-size:16px;gap:12px}.loading-shot-count{color:#ff6b2c;color:var(--theme-primary-color);font-weight:600;margin:0}.loading-hint{color:grey;color:var(--theme-text-color-muted);font-size:.875rem;margin:.5rem 0 0}.athlete-error-container{flex:1 1;gap:24px;justify-content:center;padding:24px}.athlete-error-container,.athlete-error-content{align-items:center;display:flex;flex-direction:column}.athlete-error-content{gap:16px;max-width:480px;text-align:center}.athlete-error-icon{margin-bottom:8px}.athlete-error-title{color:#fff;color:var(--theme-text-color);font-size:24px;font-weight:600;margin:0}.athlete-error-message{color:#b0b0b0;color:var(--theme-text-color-secondary);font-size:16px;line-height:1.5;margin:0}.athlete-error-hint{color:grey;color:var(--theme-text-color-muted);font-size:14px;line-height:1.5;margin:0}.upload-progress-container{align-items:center;display:flex;flex-direction:column;gap:10px;max-width:400px;width:100%}.upload-progress-bar{background:rgba(255,107,44,.15);background:var(--theme-primary-color-15);border-radius:4px;height:8px;overflow:hidden;width:100%}.upload-progress-fill{background:linear-gradient(135deg,#ff8c42,#ff5722);background:var(--theme-primary-gradient);border-radius:4px;height:100%;transition:width .3s ease-out}.upload-progress-text{color:#ff6b2c;color:var(--theme-primary-color);font-size:14px;font-weight:500}.landing-page{align-items:center;background:#0c0c0c;background:var(--theme-background);display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.landing-content{background:#1a1a1a;background:var(--theme-card-background);border:1px solid #3a3a3a;border:1px solid var(--theme-accent-border);border-radius:16px;box-shadow:none;max-width:960px;padding:40px;text-align:center}.app-title{color:#fff;color:var(--theme-text-color);font-size:3rem;font-weight:700;margin:0 0 16px}.app-subtitle{color:#b0b0b0;color:var(--theme-text-color-secondary);font-size:1.1rem;font-weight:500;margin:0 0 8px}.landing-title{color:#fff;color:var(--theme-text-color);font-size:1.8rem;font-weight:700;line-height:1.3;margin:0 0 32px;text-align:center}.app-description{color:#b0b0b0;color:var(--theme-text-color-secondary);font-size:.95rem;font-weight:400;margin:0 0 24px}.primary-button{background:linear-gradient(135deg,#ff8c42,#ff5722);background:var(--theme-primary-gradient);border:none;border-radius:10px;box-shadow:0 4px 12px rgba(255,107,44,.3);box-shadow:0 4px 12px var(--theme-primary-color-30);color:#fff;cursor:pointer;font-size:15px;font-weight:600;max-width:300px;padding:14px 28px;transition:all .2s ease;width:100%}.primary-button:hover{box-shadow:0 6px 16px rgba(255,107,44,.4);box-shadow:0 6px 16px var(--theme-primary-color-40);transform:translateY(-2px)}.signin-cta{align-items:center;display:flex;flex-direction:column;gap:16px;max-width:400px;width:100%}.signin-cta-button{position:relative!important;right:auto!important;top:auto!important}.options-container{display:flex;flex-direction:column;gap:24px}.option-section{align-items:center;display:flex;flex-direction:column;gap:12px}.mode-grid{display:flex;gap:20px;margin-top:24px}.mode-card{background:#1a1a1a;background:var(--theme-card-background);border:1px solid #3a3a3a;border:1px solid var(--theme-accent-border);border-radius:12px;display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:360px;padding:20px;text-align:left}.mode-title{color:#fff;color:var(--theme-text-color);font-size:1.4rem;margin:0}.mode-description{color:#b0b0b0;color:var(--theme-text-color-secondary);line-height:1.5;margin:0}.mode-actions{align-items:center;display:flex;flex-direction:column;gap:8px;margin-bottom:auto;margin-top:auto}@media (max-width:768px){.landing-page{align-items:center;min-height:100%;overflow:hidden;padding:16px}.landing-content{margin:auto;max-width:100%;padding:24px 20px}.app-title{font-size:2rem;margin:0 0 12px}.landing-title{font-size:1.5rem;margin:0 0 24px}.mode-grid{flex-direction:column;gap:16px;margin-top:16px}.mode-card{gap:16px;min-height:auto;padding:16px}.mode-title{font-size:1.2rem;margin-bottom:8px}.mode-actions{gap:12px;margin-bottom:8px;margin-top:8px}.athlete-main{padding:12px 12px 16px}.athlete-header-content{align-items:flex-start}.shot-carousel{gap:12px}.shot-carousel-card{gap:12px;padding:12px}.shot-carousel-title h2{font-size:1.2rem}.shot-carousel-score{font-size:13px}.shot-carousel-caption{font-size:14px}.tap-zone{font-size:24px;width:22%}.carousel-video{max-height:60vh}.dropzone{min-height:100px;padding:24px 16px}.dropzone-text{font-size:14px}.dropzone-hint{font-size:12px}.or-divider{margin:12px 0}.go-button,.secondary-button{font-size:13px;padding:10px 20px}.auth-button-container{right:12px;top:12px}.auth-button{font-size:13px;padding:8px 16px}}@media (max-width:480px){.landing-content{margin:auto;padding:20px 16px}.app-title{font-size:1.75rem;margin:0 0 10px}.mode-card{gap:12px;padding:12px}.mode-title{font-size:1.1rem}.mode-actions{gap:10px}.athlete-main{padding:10px 10px 14px}.shot-carousel-title h2{font-size:1.1rem}.shot-carousel-score{font-size:12px}.tap-zone{font-size:22px;width:20%}.shot-carousel-card,.shot-carousel-details{padding:12px}.dropzone{min-height:90px;padding:20px 12px}.dropzone-text{font-size:13px}.dropzone-hint{font-size:11px}.go-button,.secondary-button{font-size:12px;padding:10px 18px}}.input-group{align-items:center;display:flex;gap:12px}.validation-message{color:#d32f2f;font-size:.875rem;margin-top:4px;text-align:left}.or-divider{align-items:center;display:flex;justify-content:center;margin:16px 0;position:relative;width:100%}.or-divider:before{background:#3a3a3a;background:var(--theme-accent-border);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.or-divider span{background:#1a1a1a;background:var(--theme-card-background);color:#b0b0b0;color:var(--theme-text-color-secondary);font-weight:500;padding:0 16px;position:relative;z-index:1}.demo-preview{display:flex;justify-content:center;margin-top:12px}.demo-video{border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.1);height:120px;width:200px}.loading-message{display:flex;justify-content:center;margin-top:20px}.athlete-main{box-sizing:border-box;flex:1 1;justify-content:center;padding:16px 20px 24px}.athlete-main,.shot-carousel{display:flex;min-height:0;overflow:hidden;width:100%}.shot-carousel{flex:1 1;flex-direction:column;gap:16px;max-width:1100px}.shot-carousel-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,.04);gap:16px;padding:16px}.shot-carousel-card,.shot-carousel-header{display:flex;flex-direction:column;flex-shrink:0}.shot-carousel-header{gap:8px}.shot-carousel-header-meta,.shot-carousel-title{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.shot-carousel-title h2{color:#1f2937;font-size:1.4rem;margin:0}.shot-carousel-score{background:#2a2a2a;background:var(--theme-accent-background);border:1px solid #3a3a3a;border:1px solid var(--theme-accent-border);border-radius:10px;color:#ff6b2c;color:var(--theme-primary-color);font-size:14px;font-weight:600;padding:6px 10px}.shot-carousel-caption{color:#4b5563;font-size:15px;line-height:1.4;margin:0}.shot-carousel-video{align-items:center;display:flex;flex-shrink:0;justify-content:center;min-height:0;position:relative;width:100%}.carousel-video{max-height:50vh;object-fit:contain;width:100%}@media (min-width:900px){.shot-carousel{align-items:flex-start;flex-direction:row;overflow:visible}.shot-carousel-card{flex:0 0 auto;max-width:65%;width:auto}.shot-carousel-video{flex:0 0 auto}.carousel-video{max-height:70vh;max-width:100%;width:auto}.shot-carousel-details{align-self:stretch;flex:1 1;max-height:80vh;min-width:300px;overflow-y:auto}}.tap-zone{align-items:center;background:transparent;border:none;bottom:0;color:#6b7280;cursor:pointer;display:flex;font-size:28px;justify-content:center;padding:0;position:absolute;top:0;transition:background .15s ease,color .15s ease;width:25%}.tap-zone:hover{background:rgba(0,0,0,.04);color:#ff6b2c;color:var(--theme-primary-color)}.tap-zone:focus-visible{outline:2px solid #ff6b2c;outline:2px solid var(--theme-primary-color);outline-offset:2px}.tap-zone-left{left:0}.tap-zone-right{right:0}.shot-carousel-details{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,.04);display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;padding:16px}.shot-carousel-detail-block h3{color:#1f2937;font-size:14px;margin:0 0 6px}.shot-carousel-detail-block p{color:#4b5563;line-height:1.5;margin:0;white-space:pre-wrap}.shot-carousel-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:12px;gap:12px}.shot-carousel-empty{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;color:#6b7280;padding:24px;text-align:center}.shot-segment-loading{align-items:center;background:#f9fafb;border-radius:8px;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;min-height:300px;width:100%}.shot-segment-loading p{color:#6b7280;font-size:14px;margin:0}.three-pane-layout{display:flex;height:100%;overflow:hidden;width:100%}.athlete-app .three-pane-layout{flex:1 1;height:auto}.timestamps-pane{background:#f8f9fa;border-right:1px solid #ddd;display:flex;flex-direction:column;overflow:hidden;width:20%}.timestamps-container{display:flex;flex-direction:column;height:100%;padding:20px}.timestamps-container h3{color:#333;font-size:18px;margin:0 0 20px}.timestamps-list{flex:1 1;overflow-y:auto}.timestamp-item{background:#fff;border:2px solid transparent;border-radius:8px;cursor:pointer;margin-bottom:8px;padding:12px 16px;transition:all .2s ease}.timestamp-item:hover{background:#2a2a2a;background:var(--theme-accent-background)}.timestamp-item.selected,.timestamp-item:hover{border-color:#ff6b2c;border-color:var(--theme-primary-color)}.timestamp-item.selected{background:#ff6b2c;background:var(--theme-primary-color);color:#fff}.serve-number{font-size:14px;font-weight:600}.serve-time{font-size:12px;margin-top:4px;opacity:.8}.point-analysis{border-top:1px solid hsla(0,0%,100%,.2);margin-top:8px;padding-top:8px}.point-analysis.detailed-analysis{background:#fff;border:none;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05);margin-top:0;padding:16px;width:100%}.feedback-section .point-analysis.detailed-analysis{margin:0}.point-title{font-size:13px;font-weight:600}.point-description,.point-title{line-height:1.3;margin-bottom:4px}.point-description{font-size:11px;opacity:.9}.point-score{font-size:11px;font-weight:500;opacity:.8}.point-title-header{margin-bottom:16px;text-align:center}.point-title-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 8px}.point-score-header{color:#666;font-size:1rem;font-weight:500}.video-pane{display:flex;flex-direction:column;overflow:hidden;padding:20px;width:80%}.video-container{flex:1 1;position:relative}.video-container,.video-section{align-items:center;display:flex;flex-direction:column;min-height:0;overflow:hidden}.video-section{gap:16px;justify-content:center;width:100%}.resizable-divider{background:#e0e0e0;cursor:row-resize;flex-shrink:0;height:8px;position:relative;transition:background-color .2s ease;z-index:10}.resizable-divider.dragging,.resizable-divider:hover{background:#ff6b2c;background:var(--theme-primary-color)}.resizable-divider.dragging{opacity:.8}.resizable-divider:before{background:#999;border-radius:2px;content:"";height:4px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:background-color .2s ease;width:40px}.resizable-divider.dragging:before,.resizable-divider:hover:before{background:#fff}.feedback-section{display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px 0;width:100%}.selected-serve-video{aspect-ratio:16/9;border-radius:12px;box-shadow:0 8px 16px rgba(0,0,0,.1);max-height:100%;width:100%}.selected-serve-video.video-portrait,.uploaded-video-player.video-portrait{aspect-ratio:9/16;margin:0 auto;max-width:50%}.selected-serve-video.video-landscape,.uploaded-video-player.video-landscape{aspect-ratio:16/9}.video-section .selected-serve-video{max-height:calc(100% - 60px)}.chat-pane{background:#f8f9fa;border-left:1px solid #ddd;display:flex;flex-direction:column;overflow:hidden;width:20%}.go-button{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;max-width:300px;padding:12px 24px;white-space:nowrap;width:100%}.go-button,.go-button:hover:not(:disabled){background:#ff6b2c;background:var(--theme-primary-color)}.go-button:hover:not(:disabled){filter:brightness(.9)}.go-button:disabled{background:#ccc;cursor:not-allowed}.secondary-button{background:#2a2a2a;background:var(--theme-accent-background);border:1px solid #3a3a3a;border:1px solid var(--theme-accent-border);border-radius:8px;color:#ff6b2c;color:var(--theme-primary-color);cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;max-width:300px;padding:12px 24px;transition:all .2s ease;width:100%}.secondary-button:hover:not(:disabled){background:#3a3a3a;background:var(--theme-button-hover);color:#ff6b2c;color:var(--theme-primary-color)}.secondary-button:disabled{border-color:#3a3a3a;border-color:var(--theme-accent-border);color:#b0b0b0;color:var(--theme-text-color-secondary);cursor:not-allowed;opacity:.5}.demo-button{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;max-width:300px;padding:12px 24px;width:100%}.demo-button,.demo-button:hover:not(:disabled){background:#ff6b2c;background:var(--theme-primary-color)}.demo-button:hover:not(:disabled){filter:brightness(.9)}.demo-button:disabled{background:#ccc;cursor:not-allowed}.auth-button-container,.auth-button-container-google{position:absolute;right:20px;top:20px;z-index:1000}.auth-button,.auth-button-loading{background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;font-size:14px;font-weight:600;padding:10px 20px}.auth-button{box-shadow:0 4px 12px rgba(0,0,0,.08);cursor:pointer;transition:all .2s ease}.auth-button:hover:not(:disabled){background:#f5f7ff;border-color:#cdd4ff;transform:translateY(-1px)}.auth-button:disabled{background:#f2f2f2;border-color:#e0e0e0;color:#999;cursor:not-allowed}.test-button-container{left:20px;position:absolute;top:20px;z-index:1000}.chat-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);display:flex;flex-direction:column;height:100%}.chat-messages{background:#f8f9fa;flex:1 1;overflow-y:auto;padding:20px}.message{display:flex;margin-bottom:16px}.message.user{justify-content:flex-end}.message.bot{justify-content:flex-start}.message-content{border-radius:18px;line-height:1.4;max-width:85%;padding:12px 16px}.message.user .message-content{background:#2a2a2a;background:var(--theme-accent-background);border-left:3px solid #ff6b2c;border-left:3px solid var(--theme-primary-color);color:#fff;color:var(--theme-text-color)}.message.bot .message-content{background:#fff;border:1px solid #e0e0e0;color:#333}.message.typing .message-content{background:#f0f0f0;color:#666;font-style:italic}.chat-input-container{background:#fff;border-top:1px solid #e0e0e0;display:flex;padding:20px}.chat-input{border:1px solid #ddd;border-radius:24px;flex:1 1;font-size:14px;margin-right:12px;outline:none;padding:12px 16px}.chat-input:focus{border-color:#ff6b2c;border-color:var(--theme-primary-color)}.chat-input:disabled{background:#f5f5f5;cursor:not-allowed}.send-button{border:none;border-radius:24px;color:#fff;cursor:pointer;font-size:14px;padding:12px 24px}.send-button,.send-button:hover:not(:disabled){background:#ff6b2c;background:var(--theme-primary-color)}.send-button:hover:not(:disabled){filter:brightness(.9)}.send-button:disabled{background:#ccc;cursor:not-allowed}.message-content-with-timestamps{word-wrap:break-word;background:#fff;border:1px solid #e0e0e0;border-radius:18px;color:#333;line-height:1.4;max-width:85%;padding:12px 16px;white-space:pre-wrap}.timestamp-link{background:#2a2a2a;background:var(--theme-accent-background);border:1px solid #3a3a3a;border:1px solid var(--theme-accent-border);border-radius:4px;color:#ff6b2c;color:var(--theme-primary-color);cursor:pointer;display:inline-block;font-family:monospace;font-size:.9em;margin:0 2px;padding:2px 6px;transition:all .2s ease}.timestamp-link:hover{background:#ff6b2c;background:var(--theme-primary-color);border-color:#ff6b2c;border-color:var(--theme-primary-color);box-shadow:0 2px 4px rgba(220,38,38,.3);color:#fff;transform:translateY(-1px)}.timestamp-link:active{box-shadow:0 1px 2px rgba(220,38,38,.3);transform:translateY(0)}.loading-spinner{margin:0 auto}.panel-loading-container{flex:1 1;min-height:200px}.center-loading-overlay,.panel-loading-container{align-items:center;display:flex;height:100%;justify-content:center}.center-loading-overlay{flex-direction:column;gap:16px}.center-loading-overlay p{color:#666;font-size:16px;margin:0}.dropzone-container{width:100%}.dropzone{align-items:center;background:#1a1a1a;background:var(--theme-card-background);border:2px dashed #3a3a3a;border:2px dashed var(--theme-accent-border);border-radius:8px;cursor:pointer;display:flex;justify-content:center;min-height:120px;padding:32px;text-align:center;transition:all .3s ease}.dropzone-active,.dropzone:hover:not(.dropzone-uploading){background:#2a2a2a;background:var(--theme-accent-background);border-color:#ff6b2c;border-color:var(--theme-primary-color)}.dropzone-uploading{cursor:not-allowed;opacity:.7}.dropzone-content{align-items:center;display:flex;flex-direction:column;gap:8px;width:100%}.dropzone-text{color:#fff;color:var(--theme-text-color);font-size:16px;font-weight:500;margin:0}.dropzone-hint{color:#b0b0b0;color:var(--theme-text-color-secondary);font-size:14px;margin:0}.dropzone-file-info{align-items:center;display:flex;flex-direction:column;gap:4px}.dropzone-file-name{color:#fff;color:var(--theme-text-color);font-size:14px;font-weight:500;margin:0;max-width:100%;word-break:break-word}.dropzone-file-size{color:#b0b0b0;color:var(--theme-text-color-secondary);font-size:12px;margin:0}.dropzone-upload-progress{display:flex;flex-direction:column;gap:8px;max-width:300px;width:100%}.progress-bar-container{background:#3a3a3a;background:var(--theme-accent-border);border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-bar{background:#ff6b2c;background:var(--theme-primary-color);border-radius:4px;height:100%;transition:width .3s ease}.dropzone-upload-text{color:#666;font-size:14px;margin:0}.dropzone-error{background:#fee;border:1px solid #fcc;border-radius:4px;color:#d32f2f;font-size:14px;margin-top:8px;padding:8px 12px;text-align:center}.home-page{background:#f5f6f7;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.home-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px rgba(0,0,0,.04);display:flex;justify-content:space-between;padding:20px 32px}.home-header-title{color:#333;font-size:2.5rem;font-weight:700;margin:0}.home-header-auth{align-items:center;display:flex}.home-content{flex:1 1}.home-content,.home-sidebar{display:flex;overflow:hidden}.home-sidebar{background:#fff;border-right:1px solid #e0e0e0;flex-direction:column;width:300px}.home-sidebar-title{border-bottom:1px solid #e0e0e0;color:#333;font-size:1.25rem;font-weight:600;margin:0;padding:20px}.home-sidebar-files{flex:1 1;overflow-y:auto;padding:12px}.home-sidebar-file-item{background:#f8f9fa;border:1px solid transparent;border-radius:8px;cursor:pointer;margin-bottom:8px;padding:12px 16px;transition:all .2s ease}.home-sidebar-file-item:hover{background:#2a2a2a;background:var(--theme-accent-background);border-color:#ff6b2c;border-color:var(--theme-primary-color)}.home-sidebar-file-name{color:#333;font-size:14px;font-weight:500;margin-bottom:4px;word-break:break-word}.home-sidebar-file-meta{align-items:center;display:flex;gap:8px}.home-sidebar-file-date,.home-sidebar-file-meta{color:#666;font-size:12px}.home-sidebar-file-duration{color:#444;font-size:12px}.home-sidebar-empty,.home-sidebar-error,.home-sidebar-loading{color:#666;font-size:14px;padding:20px;text-align:center}.home-sidebar-error{color:#d32f2f}.home-main{align-items:flex-start;display:flex;flex:1 1;justify-content:center;overflow-y:auto;padding:40px}.home-upload-section{max-width:600px;width:100%}.video-modal-backdrop{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.video-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;max-height:90vh;max-width:900px;padding:24px;position:relative;width:100%}.video-modal-close{align-items:center;background:transparent;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:40px;z-index:10}.video-modal-close:hover{background:#f0f0f0;color:#333}.video-modal-player{align-items:center;aspect-ratio:16/9;border-radius:8px;display:flex;justify-content:center;margin:0 auto 24px;max-width:800px;overflow:hidden;width:100%}.video-modal-video{height:100%;width:100%}.video-modal-actions{display:flex;gap:12px;justify-content:center}.video-modal-primary-button{font-size:16px;padding:14px 32px}.video-modal-error,.video-modal-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:60px 20px;text-align:center}.video-modal-loading p{color:#666;font-size:16px;margin-top:16px}.video-modal-error{color:#d32f2f;font-size:16px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#ff6b2c;border-top:4px solid var(--theme-primary-color);height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.multi-landing-page{background:#e8f5f3}.multi-landing-page .primary-button{background:linear-gradient(135deg,#4db6ac,#00897b);box-shadow:0 4px 12px rgba(0,137,123,.3)}.multi-landing-page .primary-button:hover{box-shadow:0 6px 16px rgba(0,137,123,.4)}.multi-secondary-button{border-color:#00897b;color:#00897b}.multi-secondary-button:hover:not(:disabled){background:#00897b;color:#fff}.multi-signin-cta{background:linear-gradient(135deg,#f0f9f7,#e0f2f1);border-color:#b2dfdb}.multi-landing-page .dropzone:hover:not(.dropzone-uploading){background:#e0f2f1;border-color:#00897b}.multi-landing-page .dropzone-active{background:#b2dfdb;border-color:#00897b}.multi-landing-page .go-button{background:#00897b}.multi-landing-page .go-button:hover:not(:disabled){background:#00796b}.my-videos-container{margin:0 auto;max-width:1200px;padding:24px;width:100%}.my-videos-empty{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:60px 24px;text-align:center}.my-videos-empty-text{color:#b0b0b0;color:var(--theme-text-color-secondary);font-size:1.1rem;margin:0}.my-videos-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:8px}.video-card{background:#1a1a1a;background:var(--theme-card-background);border:1px solid #3a3a3a;border:1px solid var(--theme-accent-border);border-radius:12px;cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.video-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-4px)}.video-card-thumbnail{align-items:center;aspect-ratio:16/9;background:#0c0c0c;background:var(--theme-background);display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.video-thumbnail{height:100%;object-fit:cover;width:100%}.video-thumbnail-placeholder{align-items:center;color:#9575cd;display:flex;justify-content:center}.video-card-content{padding:16px}.video-card-title{color:#fff;color:var(--theme-text-color);font-size:1rem;font-weight:600;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-card-meta{align-items:center;display:flex;gap:8px;justify-content:space-between}.video-card-date{color:#b0b0b0;color:var(--theme-text-color-secondary);font-size:.875rem}.video-status-badge{border-radius:4px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-ready{background:#2a2a2a;background:var(--theme-accent-background)}.status-processing,.status-ready{border:1px solid #3a3a3a;border:1px solid var(--theme-accent-border);color:#fff;color:var(--theme-text-color)}.status-processing{background:rgba(255,107,44,.15);background:var(--theme-primary-color-15)}.status-pending{background:#2a2a2a;background:var(--theme-accent-background);color:#ff6b2c;color:var(--theme-primary-color)}.status-failed{background:rgba(255,107,44,.15);background:var(--theme-primary-color-15);border:1px solid #3a3a3a;border:1px solid var(--theme-accent-border);color:#fff;color:var(--theme-text-color)}.bottom-sheet-backdrop{animation:fadeIn .2s ease-out;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(0,0,0,.5);top:0;z-index:1999}.bottom-sheet,.bottom-sheet-backdrop{bottom:0;left:0;position:fixed;right:0}.bottom-sheet{animation:slideUp .3s ease-out;background:#1a1a1a;background:var(--theme-card-background);border-radius:16px 16px 0 0;box-shadow:0 -4px 20px rgba(0,0,0,.15);display:flex;flex-direction:column;max-height:90vh;z-index:2000}.bottom-sheet-handle{background:#3a3a3a;background:var(--theme-accent-border);border-radius:2px;flex-shrink:0;height:4px;margin:12px auto 8px;width:40px}.bottom-sheet-content{flex:1 1;overflow-y:auto;padding:16px 24px 32px}.bottom-sheet-menu-item{align-items:center;background:transparent;border:none;border-radius:12px;color:#fff;color:var(--theme-text-color);cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:16px;padding:16px;text-align:left;transition:background .2s ease;width:100%}.bottom-sheet-menu-item:hover{background:#2a2a2a;background:var(--theme-accent-background)}.bottom-sheet-menu-item:active{background:#3a3a3a;background:var(--theme-accent-border)}.bottom-sheet-menu-icon{align-items:center;display:flex;font-size:24px;justify-content:center;width:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.hamburger-menu{align-items:center;background:transparent;border:none;border-radius:8px;color:#fff;color:var(--theme-text-color);cursor:pointer;display:flex;font-size:24px;justify-content:center;padding:8px;position:relative;transition:background .2s ease}.hamburger-menu:hover{background:#2a2a2a;background:var(--theme-accent-background)}.hamburger-menu:active{background:#3a3a3a;background:var(--theme-accent-border)}.dropdown-menu-container{animation:slideDown .2s ease-out;position:absolute;right:8px;top:calc(100% + 8px);z-index:2000}.dropdown-menu-content{background:#1a1a1a;background:var(--theme-card-background);border:1px solid #3a3a3a;border:1px solid var(--theme-accent-border);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.15);min-width:240px;overflow:hidden}.dropdown-menu-content .bottom-sheet-menu-item{border-bottom:1px solid #f0f0f0;border-radius:0;padding:14px 16px}.dropdown-menu-content .bottom-sheet-menu-item:last-child{border-bottom:none}.dropdown-menu-content .bottom-sheet-menu-item:hover{background:#2a2a2a;background:var(--theme-accent-background)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.desktop-actions{display:none}@media (max-width:768px){.my-videos-grid{grid-template-columns:1fr}.athlete-header-actions{gap:8px}.athlete-header-actions .primary-button{font-size:.9rem;padding:8px 16px}}body,html{height:100%;margin:0;overflow:hidden;padding:0;position:fixed;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{height:100%;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.91ab1b40.css.map*/