:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body{margin:0;padding:0;min-height:100vh}body{display:flex;flex-direction:column}#root{flex:1;display:flex;flex-direction:column;max-width:1280px;margin:0 auto;padding:2rem;text-align:center;width:100%;box-sizing:border-box}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.container{max-width:900px;margin:24px auto;font-family:Inter,system-ui,sans-serif;flex:1;display:flex;flex-direction:column}.app-header{text-align:center;margin-bottom:32px;padding:24px 0;border-bottom:1px solid #e2e8f0}.app-header h1{margin:0 0 8px;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-subtitle{margin:0;font-size:1.1rem;color:#64748b;font-weight:500}.app-footer{padding:24px 0;text-align:center;color:#64748b;font-size:14px;margin-top:auto;width:100%}.app-footer p{margin:0;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.github-link{display:inline-flex;align-items:center;gap:6px;color:#3b82f6;text-decoration:none;font-weight:500;transition:color .2s ease}.github-link:hover{color:#1d4ed8;text-decoration:underline}.github-link svg{flex-shrink:0}.uploader{margin-bottom:24px}.upload-controls{display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center}@media (min-width: 640px){.upload-controls{flex-direction:row;align-items:center;justify-content:center}}.upload-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;color:#475569;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;min-width:180px;justify-content:center}.upload-btn:hover:not(.disabled){background:#f1f5f9;border-color:#94a3b8;color:#334155}.upload-btn.disabled{opacity:.5;cursor:not-allowed}.file-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;text-align:center}.file-name{font-weight:500;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:12px;color:#64748b}.run-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px;justify-content:center;box-shadow:0 2px 4px #3b82f633}.run-btn:hover:not(.disabled){background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.run-btn.disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #3b82f61a}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{color:#dc2626;margin-top:8px;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-size:14px;line-height:1.4;text-align:center}.help-text{margin-top:16px;padding:16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;text-align:center}.help-text p{margin:0 0 8px;font-size:14px;line-height:1.4}.help-text p:last-child{margin-bottom:0}.empty-state{margin:24px 0;padding:24px;background:#fef9e7;border:1px solid #fde047;border-radius:8px;color:#92400e;text-align:left}.empty-state h3{margin:0 0 12px;color:#92400e}.empty-state p{margin:0 0 12px;line-height:1.5}.empty-state ul{margin:0 0 12px 20px;line-height:1.5}.empty-state li{margin-bottom:4px}.player{margin:16px 0}.editor{margin:24px 0;padding:24px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a}.editor h3{margin:0 0 20px;color:#1e293b;font-size:18px;font-weight:600}.segments{display:flex;flex-direction:column;gap:16px}.segmentRow{display:flex;flex-direction:column;gap:12px;padding:20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:border-color .2s ease}.segmentRow:hover{border-color:#cbd5e1}.segmentRow:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (min-width: 640px){.segmentRow{flex-direction:row;align-items:flex-start}}.editor select{width:100%;padding:12px 40px 12px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}@media (min-width: 640px){.editor select{width:140px;flex-shrink:0}}.editor select:hover{border-color:#9ca3af}.editor select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.editor textarea{flex:1;min-height:80px;padding:12px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;line-height:1.5;color:#374151;resize:vertical;transition:all .2s ease;font-family:inherit}.editor textarea:hover{border-color:#9ca3af}.editor textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.editor textarea::placeholder{color:#9ca3af}.export-section{margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.export-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #10b98133}.export-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.conversation-stats{display:flex;gap:16px;margin-bottom:16px;padding:8px 16px;background:#f8f9fa;border-radius:6px;font-size:14px;color:#666}.visualize .bubbles{display:flex;flex-direction:column;gap:12px;margin-top:8px;padding:16px;background:#fafafa;border-radius:8px;min-height:200px}.bubble{max-width:70%;padding:16px;border-radius:18px;box-shadow:0 2px 8px #0000001a;position:relative;word-wrap:break-word;line-height:1.4}.bubble .meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;opacity:.7;margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.bubble .speaker-name{color:inherit}.bubble .timestamp{font-family:monospace;font-size:10px}.bubble .text{font-size:15px;line-height:1.5;text-align:left}.bubble.agent{align-self:flex-start;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border-bottom-left-radius:6px}.bubble.agent .meta{color:#fffc}.bubble.candidate{align-self:flex-end;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;border-bottom-right-radius:6px;border:1px solid #d1d5db}.bubble.other-speaker{align-self:center;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #f59e0b;max-width:60%}
