@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5}code{font-family:SF Mono,Monaco,Menlo,Consolas,Courier New,monospace}.login-page{align-items:center;background:#f0f2f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:24px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #fff3;max-width:560px;padding:40px;width:100%}.login-header{margin-bottom:32px;text-align:center}.logo{gap:12px;margin-bottom:8px}.logo,.logo-icon{align-items:center;display:flex;justify-content:center}.logo-icon{background:#0000;border-radius:50%;color:#fff;font-size:18px;font-weight:700;height:48px;overflow:hidden;width:48px}.logo-icon .logo-img{object-fit:contain}.logo-icon .logo-img,.logo-icon span{border-radius:50%;height:100%;width:100%}.logo-icon span{align-items:center;background:linear-gradient(135deg,#1565c0,#0d47a1);display:flex;justify-content:center}.logo h1{color:#111827;font-size:24px;font-weight:500;margin:0}.tagline{color:#6b7280;font-size:14px;margin:0}.error-banner{background:#f3f4f6;border:1px solid #e5e7eb;color:#1565c0;font-size:14px;margin-bottom:24px;padding:12px 16px}.error-icon{align-items:center;background:#1565c0;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:20px;justify-content:center;width:20px}.loading-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#f9fafbb3;border:1px solid #ffffff80;border-radius:16px;padding:40px 24px;text-align:center}.loading-card .spinner{border:3px solid #1565c033;border-top-color:#1565c0;height:40px;margin:0 auto 16px;width:40px}.loading-card p{color:#6b7280;font-size:14px;margin:0}.error-card{text-align:center}.error-card .error-banner{margin-bottom:20px}.back-button{background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#1565c0;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.back-button:hover{background:#f9fafb;border-color:#1565c0}.interview-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#f9fafbb3;border:1px solid #ffffff80;border-radius:16px;margin-bottom:24px;padding:24px}.card-header{gap:16px;margin-bottom:20px;padding:0 16px}.card-header,.success-icon{align-items:center;display:flex}.success-icon{background:#22c55e;border-radius:50%;color:#fff;font-size:14px;font-weight:600;height:56px;justify-content:center;width:56px}.card-header h2{color:#22c55e;font-size:18px;font-weight:400;margin:0}.candidate-info{align-items:center;background:#fff;border-radius:12px;display:flex;gap:16px;margin-bottom:20px;padding:16px}.candidate-info .avatar{align-items:center;background:linear-gradient(135deg,#1565c0,#0d47a1);border-radius:50%;color:#fff;display:flex;font-size:24px;font-weight:600;height:56px;justify-content:center;width:56px}.candidate-info .info h3{color:#111827;font-size:18px;font-weight:500;margin:0 0 4px}.candidate-info .job-title{color:#6b7280;font-size:14px;margin:0}.interview-details{background:#fff;border-radius:12px;margin-bottom:20px;padding:16px}.detail-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.detail-row:not(:last-child){border-bottom:1px solid #e5e7eb}.detail-row .label{color:#6b7280;font-size:14px}.detail-row .value{color:#111827;font-family:Monaco,Menlo,monospace;font-size:13px}.status-badge{border-radius:20px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.status-badge.pending{background:#f3f4f6;color:#1565c0}.status-badge.in_progress{background:#e5e7eb;color:#0d47a1}.status-badge.completed{background:#d1d5db;color:#111827}.status-badge.expired{background:#9ca3af;color:#fff}.preparation-tips{margin-bottom:20px}.preparation-tips h4{color:#1565c0;font-size:14px;font-weight:500;margin:0 0 12px}.preparation-tips ul{list-style:none;margin:0;padding:0}.preparation-tips li{align-items:center;color:#4b5563;display:flex;font-size:14px;gap:8px;padding:6px 0}.preparation-tips li:before{color:#1565c0;content:"✓";font-weight:700}.start-button,.submit-button{align-items:center;background:linear-gradient(135deg,#1565c0,#0d47a1);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:16px 24px;transition:transform .2s,box-shadow .2s;width:100%}.start-button:hover:not(:disabled),.submit-button:hover:not(:disabled){box-shadow:0 10px 20px -10px #1565c080;transform:translateY(-2px)}.start-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.arrow{font-size:18px}.login-form{margin-bottom:32px}.form-group{margin-bottom:20px}.form-group label{color:#1565c0;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input{border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;font-size:16px;padding:14px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus{border-color:#1565c0;box-shadow:0 0 0 3px #1565c01a;outline:none}.form-group input::placeholder{color:#9ca3af}.helper-text{color:#6b7280;font-size:12px;margin:8px 0 0}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.features-section{grid-gap:16px;display:grid;gap:16px;margin-bottom:24px}.feature{background:#f9fafb;border-radius:12px;gap:16px;padding:16px}.feature,.feature-icon{align-items:center;display:flex}.feature-icon{background:linear-gradient(135deg,#1565c0,#0d47a1);border-radius:10px;color:#fff;font-size:11px;font-weight:700;height:40px;justify-content:center;width:40px}.feature h4{color:#111827;font-size:14px;font-weight:600;margin:0 0 4px}.feature p{color:#6b7280;font-size:12px;margin:0}.login-footer{border-top:1px solid #e5e7eb;padding-top:16px;text-align:center}.login-footer p{color:#6b7280;font-size:13px;margin:0}.login-footer a{color:#1565c0;font-weight:500;text-decoration:none}.login-footer a:hover{text-decoration:underline}.divider{align-items:center;display:flex;margin:20px 0;text-align:center}.divider:after,.divider:before{border-bottom:1px solid #e5e7eb;content:"";flex:1 1}.divider span{color:#9ca3af;font-size:13px;letter-spacing:.05em;padding:0 16px;text-transform:uppercase}.demo-button{align-items:center;background:#fff;border:2px solid #1565c0;border-radius:12px;color:#1565c0;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .2s;width:100%}.demo-button:hover:not(:disabled){background:linear-gradient(135deg,#1565c0,#0d47a1);border-color:#0000;color:#fff}.demo-button:disabled{cursor:not-allowed;opacity:.6}.demo-button .spinner{border:2px solid #1565c04d;border-top-color:#1565c0}.demo-button:hover:not(:disabled) .spinner{border:2px solid #ffffff4d;border-top-color:#fff}.server-config-toggle{margin-top:16px;text-align:center}.config-toggle-btn{background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s}.config-toggle-btn:hover{background:#f3f4f6;color:#1565c0}.server-config-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:16px;padding:20px}.server-config-panel h4{color:#1565c0;font-size:15px;font-weight:600;margin:0 0 8px}.config-description{color:#6b7280;font-size:13px;margin:0 0 16px}.config-inputs{display:flex;gap:12px;margin-bottom:12px}.config-input-group{flex:1 1}.config-input-group.port{flex:0 0 100px}.config-input-group label{color:#6b7280;display:block;font-size:12px;font-weight:500;margin-bottom:4px}.config-input-group input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.config-input-group input:focus{border-color:#1565c0;box-shadow:0 0 0 2px #1565c01a;outline:none}.config-preview{align-items:center;background:#0d47a1;border-radius:8px;display:flex;gap:8px;margin-bottom:12px;padding:10px 14px}.preview-label{color:#9ca3af;font-size:12px}.config-preview code{color:#d1d5db;font-family:Monaco,Menlo,monospace;font-size:13px}.save-config-btn{background:#1565c0;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:background .2s;width:100%}.save-config-btn:hover{background:#0d47a1}.thank-you-card{text-align:center}.thank-you-card .card-header{flex-direction:column;gap:12px;padding:20px 16px}.thank-you-icon{background:linear-gradient(135deg,#22c55e,#16a34a);font-size:36px;height:72px;width:72px}.thank-you-card .card-header h2{color:#111827;font-size:24px}.thank-you-content{background:#fff;border-radius:12px;margin-bottom:20px;padding:20px}.thank-you-name{color:#111827;font-size:18px;margin:0 0 12px}.thank-you-message{color:#22c55e;font-size:16px;font-weight:500;margin:0 0 16px}.thank-you-role{color:#6b7280;font-size:14px;margin:0 0 16px}.thank-you-next{border-top:1px solid #e5e7eb;color:#4b5563;font-size:14px;margin:0;padding-top:12px}.thank-you-footer{background:#f9fafb;border-radius:12px;padding:16px}.thank-you-footer p{color:#9ca3af;font-size:13px;margin:0}@media (max-width:480px){.login-container{padding:24px}.logo h1{font-size:20px}.candidate-info{flex-direction:column;text-align:center}}.silence-banner{animation:slideIn .3s ease-out;position:fixed;right:20px;top:20px;z-index:1000}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.silence-banner-text{background:linear-gradient(135deg,#ff9800,#f57c00);border-radius:8px;box-shadow:0 4px 12px #ff98004d;color:#fff;display:inline-block;font-size:14px;font-weight:500;padding:10px 18px}.response-timer{display:inline-flex;margin-right:auto}.response-timer-content{align-items:center;background:#0000;color:#1565c0;display:flex;gap:4px;padding:0}.timer-icon{height:14px;opacity:.8;width:14px}.timer-value{font-family:Courier New,monospace;font-size:15px;font-weight:600}.response-timer.slow .timer-value{color:#ff9800}.response-timer.very-slow .timer-value{color:#f44336}.audio-level-indicator{align-items:center;display:flex;gap:2px;height:14px}.audio-level-bar{background:#4caf50;border-radius:1px;transition:height .1s ease;width:2px}.audio-level-bar.inactive{background:#ffffff4d}:root{--primary:#1565c0;--primary-light:#1e88e5;--primary-dark:#0d47a1;--primary-gradient:linear-gradient(135deg,#1565c0,#0d47a1);--primary-color:#1565c0;--secondary:#00897b;--secondary-light:#4db6ac;--success:#2e7d32;--warning:#f57c00;--error:#d32f2f;--info:#0288d1;--bg-default:#f0f2f5;--bg-paper:#fff;--bg-white:#fff;--bg-light:#f0f2f5;--bg-gray:#f5f7fa;--bg-card:#fff;--text-primary:#212121;--text-secondary:#757575;--text-muted:#9e9e9e;--border-color:#e0e0e0;--border-light:#eee;--divider:#e0e0e0;--accent-blue:#1565c0;--accent-green:#00897b;--accent-red:#d32f2f;--accent-purple:#7b1fa2;--accent-orange:#f57c00;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 12px 32px #00000024;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px}.interview-page{color:#212121;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.interview-page,.interview-page.loading{background:#f0f2f5;background:var(--bg-light)}.interview-page.loading{align-items:center;display:flex;justify-content:center}.loading-container{text-align:center}.loading-container .spinner{animation:spin .8s linear infinite;border:2px solid #e0e0e0;border-radius:50%;border-top-color:#1565c0;border:2px solid var(--border-color);border-top-color:var(--primary-color);height:56px;margin:0 auto 20px;width:56px}.loading-container p{color:#757575;color:var(--text-secondary);font-size:15px}.interview-page.error{align-items:center;background:#f0f2f5;background:var(--bg-light);display:flex;justify-content:center}.error-container{background:#fff;background:var(--bg-white);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);max-width:420px;padding:48px;text-align:center}.error-container,.error-container .error-icon{border:1px solid #e0e0e0;border:1px solid var(--border-color)}.error-container .error-icon{align-items:center;background:#f5f7fa;background:var(--bg-gray);border-radius:50%;color:#212121;color:var(--text-primary);display:flex;font-size:28px;font-weight:700;height:72px;justify-content:center;margin:0 auto 28px;width:72px}.error-container h2{color:#212121;color:var(--text-primary);font-size:22px;font-weight:600;margin:0 0 12px}.error-container p{color:#757575;color:var(--text-secondary);line-height:1.6;margin:0 0 28px}.error-container button{background:linear-gradient(135deg,#1565c0,#0d47a1);background:var(--primary-gradient);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:14px 32px;transition:transform .2s,box-shadow .2s}.error-container button:hover{box-shadow:0 4px 12px #1565c04d;transform:translateY(-1px)}.interview-page.setup{align-items:center;background:#f0f2f5;background:var(--bg-light);display:flex;justify-content:center}.setup-container{max-width:800px;padding:24px;width:100%}.setup-card{background:#fff;background:var(--bg-white);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 12px 32px #00000024;box-shadow:var(--shadow-xl);padding:48px 40px;text-align:center}.setup-card.compact{padding:32px;text-align:left}.setup-card.compact .setup-main{align-items:center;display:flex;gap:32px}.setup-card.compact .setup-left{align-items:flex-start;display:flex;flex:1 1;flex-direction:column}.setup-card.compact .setup-right{background:#f5f7fa;background:var(--bg-gray);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-lg);flex:1 1;padding:24px}.setup-card.compact .header{align-items:center;display:flex;gap:16px;margin-bottom:20px}.setup-card.compact .header .icon,.setup-card.compact .header .logo-icon{align-items:center;background:#0000;border-radius:50%;color:#fff;display:flex;font-size:20px;font-weight:700;height:56px;justify-content:center;overflow:hidden;width:56px}.setup-card.compact .header .logo-icon .logo-img{border-radius:50%;height:100%;object-fit:contain;width:100%}.setup-card.compact .header .logo-icon span{align-items:center;background:linear-gradient(135deg,#1565c0,#0d47a1);background:var(--primary-gradient);border-radius:50%;display:flex;height:100%;justify-content:center;width:100%}.setup-card.compact .header h1{color:#212121;color:var(--text-primary);font-size:22px;font-weight:600;margin:0;white-space:nowrap}.setup-card.compact .candidate-info{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:24px}.setup-card.compact .candidate-info h2{color:#212121;color:var(--text-primary);display:block;font-size:18px;font-weight:500;margin:0 0 8px;width:100%}.setup-card.compact .candidate-info .position{color:#757575;color:var(--text-secondary);display:block;font-size:14px;margin:0;width:100%}.setup-card.compact .start-btn{align-items:center;background:linear-gradient(135deg,#1565c0,#0d47a1);background:var(--primary-gradient);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;padding:14px 28px;transition:transform .2s,box-shadow .2s}.setup-card.compact .start-btn:hover{box-shadow:0 6px 16px #1565c04d;transform:translateY(-1px)}.setup-card.compact .start-btn .arrow{font-size:16px;transition:transform .2s}.setup-card.compact .start-btn:hover .arrow{transform:translateX(4px)}.setup-card.compact .note{color:#9e9e9e;color:var(--text-muted);font-size:11px;line-height:1.4;margin:16px 0 0}.setup-card.compact .quick-tips{display:flex;flex-direction:column;gap:12px}.setup-card.compact .tip-row{align-items:flex-start;color:#757575;color:var(--text-secondary);display:flex;font-size:13px;gap:10px;line-height:1.4}.setup-card.compact .tip-row .tip-bullet{color:#9e9e9e;color:var(--text-muted);flex-shrink:0;font-weight:600}.setup-card.compact .tip-row strong{color:#212121;color:var(--text-primary);font-weight:600}@media (max-width:640px){.setup-card.compact .setup-main{flex-direction:column;gap:24px}.setup-card.compact .setup-left{align-items:center;text-align:center}.setup-card.compact .header{flex-direction:column;text-align:center}.setup-card.compact .setup-right{width:100%}}.setup-card .header{margin-bottom:32px}.setup-card .header .icon,.setup-card .header .logo-icon{align-items:center;background:#0000;border-radius:50%;color:#fff;display:flex;font-size:28px;font-weight:700;height:80px;justify-content:center;margin:0 auto 20px;overflow:hidden;width:80px}.setup-card .header .logo-icon .logo-img{border-radius:50%;height:100%;object-fit:contain;width:100%}.setup-card .header .logo-icon span{align-items:center;background:linear-gradient(135deg,#1565c0,#0d47a1);background:var(--primary-gradient);border-radius:50%;display:flex;height:100%;justify-content:center;width:100%}.setup-card .header h1{color:#212121;color:var(--text-primary);font-size:26px;font-weight:600;margin:0}.setup-card .candidate-info{margin-bottom:32px}.setup-card .candidate-info h2{color:#212121;color:var(--text-primary);font-size:20px;font-weight:500;margin:0 0 8px}.setup-card .candidate-info .position{color:#757575;color:var(--text-secondary);font-size:14px;margin:0}.setup-card .start-btn{align-items:center;background:linear-gradient(135deg,#1565c0,#0d47a1);background:var(--primary-gradient);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;justify-content:center;padding:18px 24px;transition:transform .2s,box-shadow .2s;width:100%}.setup-card .start-btn:hover{box-shadow:0 6px 20px #1565c04d;transform:translateY(-1px)}.setup-card .start-btn .arrow{font-size:18px;transition:transform .2s}.setup-card .start-btn:hover .arrow{transform:translateX(4px)}.setup-card .note{color:#9e9e9e;color:var(--text-muted);font-size:12px;line-height:1.5;margin:20px 0 0}.interview-page.active{height:100vh;overflow:hidden}.interview-layout{display:grid;grid-template-columns:1fr 420px;height:100%}.video-panel{background:#f5f7fa;background:var(--bg-gray);box-sizing:border-box;display:flex;flex-direction:column;gap:12px;height:100%;overflow:hidden;padding:12px}.video-container-card{background:#0000;border-radius:24px;border-radius:var(--radius-xl);box-sizing:border-box;flex:1 1;min-height:0;padding:0}.candidate-section{background:#f5f7fa;background:var(--bg-gray);border-radius:16px;border-radius:var(--radius-lg);height:100%;min-height:300px;overflow:hidden;position:relative}.ai-overlay{background:#fff;background:var(--bg-white);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:24px;border-radius:var(--radius-xl);bottom:20px;box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);flex-direction:column;gap:10px;min-width:140px;padding:16px 24px;position:absolute;right:20px;z-index:10}.ai-avatar-small,.ai-overlay{align-items:center;display:flex}.ai-avatar-small{background:linear-gradient(135deg,#1565c0,#0d47a1);background:var(--primary-gradient);border-radius:50%;box-shadow:0 4px 12px #1565c033;height:70px;justify-content:center;position:relative;transition:transform .3s,box-shadow .3s;width:70px}.ai-overlay.speaking .ai-avatar-small{animation:avatar-pulse-small 2s ease-in-out infinite;box-shadow:0 4px 16px #1565c04d}@keyframes avatar-pulse-small{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.ai-avatar-small .ai-face{color:#fff;font-size:24px;font-weight:700;letter-spacing:1px}.ai-avatar-small .speaking-waves{align-items:flex-end;bottom:-20px;display:flex;gap:3px;position:absolute}.ai-avatar-small .speaking-waves span{animation:wave .6s ease-in-out infinite;background:#1565c0;background:var(--primary-color);border-radius:1px;width:3px}.ai-avatar-small .speaking-waves span:first-child{animation-delay:0s;height:6px}.ai-avatar-small .speaking-waves span:nth-child(2){animation-delay:.15s;height:10px}.ai-avatar-small .speaking-waves span:nth-child(3){animation-delay:.3s;height:6px}@keyframes wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.2)}}.ai-name-small{color:#212121;color:var(--text-primary);font-size:13px;font-weight:600;text-align:center}.processing-small{align-items:center;background:#f5f7fa;background:var(--bg-gray);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:100px;color:#757575;color:var(--text-secondary);display:flex;font-size:10px;gap:6px;padding:4px 10px}.processing-small .dots{display:flex;gap:3px}.processing-small .dots span{animation:bounce 1.4s ease-in-out infinite;background:#1565c0;background:var(--primary-color);border-radius:50%;height:4px;width:4px}.processing-small .dots span:nth-child(2){animation-delay:.2s}.processing-small .dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.candidate-video{height:100%;object-fit:cover;width:100%}.candidate-video.hidden{display:none}.video-placeholder{align-items:center;background:#f5f7fa;background:var(--bg-gray);color:#9e9e9e;color:var(--text-muted);display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.placeholder-icon{font-size:48px;margin-bottom:12px;opacity:.5}.video-placeholder p{font-size:14px;margin:0}.candidate-name{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:100px;bottom:16px;box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-sm);color:#212121;color:var(--text-primary);font-size:14px;font-weight:500;left:16px;padding:10px 18px;position:absolute}.recording-badge{align-items:center;animation:badge-pulse 2s ease-in-out infinite;background:#1565c0;background:var(--primary-color);border-radius:100px;box-shadow:0 2px 8px #6b728033;color:#fff;display:flex;font-size:12px;font-weight:600;gap:8px;padding:8px 16px;position:absolute;right:16px;top:16px}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.85}}.rec-dot{animation:blink 1s ease-in-out infinite;background:#fff;border-radius:50%;height:8px;width:8px}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.audio-level-bar{background:linear-gradient(90deg,#00897b 0,var(--accent-primary) 100%);background:linear-gradient(90deg,var(--accent-green) 0,var(--accent-primary) 100%);border-radius:0 0 12px 12px;bottom:0;height:4px;left:0;min-width:4px;position:absolute;transition:width .1s ease-out}.controls{gap:16px;padding:8px 0}.control-btn,.controls{display:flex;justify-content:center}.control-btn{align-items:center;border:none;border-radius:50%;box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);cursor:pointer;font-size:12px;font-weight:600;height:60px;transition:all .2s;width:60px}.control-btn.mic{background:#fff;background:var(--bg-white);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#212121;color:var(--text-primary)}.control-btn.mic:hover{background:#f5f7fa;background:var(--bg-gray);color:#1565c0;color:var(--primary-color)}.control-btn.mic.active,.control-btn.mic:hover{border-color:#1565c0;border-color:var(--primary-color)}.control-btn.mic.active{animation:pulse-ring 1.5s ease-out infinite;background:#1565c0;background:var(--primary-color);color:#fff}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 #1565c066}70%{box-shadow:0 0 0 12px #6b728000}to{box-shadow:0 0 0 0 #6b728000}}.control-btn.camera{background:#fff;background:var(--bg-white);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#212121;color:var(--text-primary)}.control-btn.camera:hover{background:#f5f7fa;background:var(--bg-gray);color:#1565c0;color:var(--primary-color)}.control-btn.camera.active,.control-btn.camera:hover{border-color:#1565c0;border-color:var(--primary-color)}.control-btn.camera.active{background:#1565c0;background:var(--primary-color);color:#fff}.control-btn.end{background:#f5f7fa;background:var(--bg-gray);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#757575;color:var(--text-secondary)}.control-btn.end:hover{background:#1565c0;background:var(--primary-color);border-color:#1565c0;border-color:var(--primary-color);color:#fff}.control-btn:disabled{cursor:not-allowed;opacity:.4}.chat-panel{background:#f0f2f5;background:var(--bg-light);display:flex;flex-direction:column;gap:6px;height:100%;overflow:hidden;padding:16px}.chat-header{align-items:center;background:#fff;background:var(--bg-white);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 2px 8px #0000000a;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.header-left h2{color:#212121;color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 4px}.header-left .job-title{color:#757575;color:var(--text-secondary);font-size:13px}.connection-status{align-items:center;background:#f5f7fa;background:var(--bg-gray);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:100px;display:flex;font-size:12px;font-weight:600;gap:8px;padding:6px 14px}.status-dot{border-radius:50%;height:8px;width:8px}.connection-status.connected{background:#f5f7fa;background:var(--bg-gray);border-color:#e0e0e0;border-color:var(--border-color);color:#212121;color:var(--text-primary)}.connection-status.connected .status-dot{background:#212121;background:var(--text-primary);box-shadow:0 0 8px #757575;box-shadow:0 0 8px var(--text-secondary)}.connection-status.disconnected{background:#f5f7fa;background:var(--bg-gray);border-color:#e0e0e0;border-color:var(--border-color);color:#9e9e9e;color:var(--text-muted)}.connection-status.disconnected .status-dot{background:#9e9e9e;background:var(--text-muted)}.progress-section{background:#f0f2f5;background:var(--bg-light);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px 24px}.progress-info{align-items:center;display:flex;font-size:13px;justify-content:space-between;margin-bottom:10px}.phase-tag,.progress-info{color:#757575;color:var(--text-secondary)}.phase-tag{background:#f5f7fa;background:var(--bg-gray);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:100px;font-size:11px;font-weight:600;padding:4px 12px;text-transform:capitalize}.progress-bar{background:#e0e0e0;background:var(--border-color);border-radius:2px;height:4px;overflow:hidden}.progress-fill{background:linear-gradient(135deg,#1565c0,#0d47a1);background:var(--primary-gradient);border-radius:2px;height:100%;transition:width .5s ease}.current-question{background:#f0f2f5;background:var(--bg-light);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);flex-shrink:0;padding:20px 24px}.current-question .label{align-items:center;color:#757575;color:var(--text-secondary);display:flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.current-question .label:before{animation:question-pulse 2s ease-in-out infinite;background:#757575;background:var(--text-secondary);border-radius:2px;content:"";height:8px;width:8px}@keyframes question-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.current-question .question-text{color:#212121;color:var(--text-primary);font-size:15px;font-weight:500;line-height:1.6;margin:0}.messages-area{background:#fff;background:var(--bg-white);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 2px 8px #0000000a;flex:2 1;min-height:300px;overflow-x:hidden;overflow-y:auto;padding:20px}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-track{background:#0000}.messages-area::-webkit-scrollbar-thumb{background:#e0e0e0;background:var(--border-color);border-radius:3px}.messages-area::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.error-banner{align-items:center;background:#f5f7fa;background:var(--bg-gray);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);color:#212121;color:var(--text-primary);display:flex;font-size:13px;gap:10px;margin-bottom:16px;padding:14px 18px}.messages-list{display:flex;flex-direction:column;gap:20px}.message{animation:message-in .3s ease-out;display:flex;gap:14px}@keyframes message-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message .avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:40px;justify-content:center;overflow:hidden;width:40px}.message.bot .avatar{background:#0000;color:#fff}.message.user .avatar{background:linear-gradient(135deg,#1565c0,#0d47a1);background:var(--primary-gradient);border:none;color:#fff}.message.user .avatar .person-icon{color:#fff;height:24px;width:24px}.message .avatar .ai-logo{border-radius:50%;height:100%;object-fit:contain;width:100%}.message .avatar .avatar-text{align-items:center;background:linear-gradient(135deg,#1565c0,#0d47a1);background:var(--primary-gradient);border-radius:50%;display:flex;height:100%;justify-content:center;width:100%}.message .content{flex:1 1;min-width:0}.message .meta{align-items:center;display:flex;gap:10px;margin-bottom:6px}.message .sender{color:#212121;color:var(--text-primary);font-size:13px;font-weight:600}.message .time{color:#9e9e9e;color:var(--text-muted);font-size:11px}.message .text{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-sm);color:#757575;color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0;padding:14px 18px}.message .text,.message.bot .text{background:#fff;background:var(--bg-white)}.message.bot .text,.message.user .text{border-color:#e0e0e0;border-color:var(--border-color)}.message.user .text{background:#f5f7fa;background:var(--bg-gray);color:#212121;color:var(--text-primary)}.typing{background:#fff;background:var(--bg-white);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);display:flex;gap:6px;padding:16px 20px}.typing span{animation:typing-bounce 1.4s ease-in-out infinite;background:#9e9e9e;background:var(--text-muted);border-radius:50%;height:10px;width:10px}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}}.input-area{background:#fff;background:var(--bg-white);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 2px 8px #0000000a;flex-shrink:0;padding:4px}.input-form{align-items:center;display:flex;gap:12px}.mic-btn{background:#fff;background:var(--bg-white);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:50%;box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-sm);color:#212121;color:var(--text-primary);cursor:pointer;flex-shrink:0;font-size:11px;font-weight:600;height:48px;transition:all .2s;width:48px}.mic-btn:hover{background:#f5f7fa;background:var(--bg-gray);color:#1565c0;color:var(--primary-color)}.mic-btn.recording,.mic-btn:hover{border-color:#1565c0;border-color:var(--primary-color)}.mic-btn.recording{animation:pulse-ring 1.5s ease-out infinite;background:#1565c0;background:var(--primary-color);color:#fff}.mic-btn:disabled{cursor:not-allowed;opacity:.4}.input-wrapper{flex:1 1}.input-wrapper input{background:#f0f2f5;background:var(--bg-light);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);box-sizing:border-box;color:#212121;color:var(--text-primary);font-size:14px;padding:14px 18px;transition:border-color .2s,background .2s;width:100%}.input-wrapper input::placeholder{color:#9e9e9e;color:var(--text-muted)}.input-wrapper input:focus{background:#fff;background:var(--bg-white);border-color:#1565c0;border-color:var(--primary-color);outline:none}.input-wrapper input:disabled{background:#f5f7fa;background:var(--bg-gray);cursor:not-allowed}.send-btn{background:linear-gradient(135deg,#1565c0,#0d47a1);background:var(--primary-gradient);border:none;border-radius:50%;box-shadow:0 2px 8px #6b728033;color:#fff;cursor:pointer;flex-shrink:0;font-size:11px;font-weight:600;height:48px;transition:all .2s;width:48px}.send-btn:hover{box-shadow:0 4px 12px #1565c04d;transform:scale(1.02)}.send-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.4;transform:none}.complete-section{padding:24px;text-align:center}.complete-section p{color:#212121;color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 8px}.complete-section .thank-you{color:#757575;color:var(--text-secondary);font-size:14px;font-weight:400;margin-bottom:12px}.complete-section .redirect-message{color:#9e9e9e;color:var(--text-muted,#9ca3af);font-size:13px;font-style:italic;font-weight:400;margin-bottom:20px}.complete-section button{background:linear-gradient(135deg,#1565c0,#0d47a1);background:var(--primary-gradient);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:14px 36px;transition:all .2s}.complete-section button:hover{box-shadow:0 4px 12px #1565c04d;transform:translateY(-1px)}@media (max-width:1024px){.interview-layout{grid-template-columns:1fr 360px}}@media (max-width:900px){.interview-layout{grid-template-columns:1fr;grid-template-rows:40vh 60vh}.video-panel{gap:12px;padding:12px}.video-grid{gap:12px}.ai-avatar{height:80px;width:80px}.ai-face{font-size:24px}.ai-name{font-size:14px;margin-top:36px}.controls{gap:12px;padding:4px 0}.control-btn{font-size:11px;height:50px;width:50px}.chat-panel{border-left:none;border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);gap:6px;padding:12px}}@media (max-width:600px){.interview-layout{grid-template-rows:35vh 65vh}.video-grid{gap:8px;grid-template-columns:1fr 1fr}.ai-avatar{height:60px;width:60px}.ai-face{font-size:20px}.ai-name{font-size:12px;margin-top:28px}.speaking-waves{bottom:-30px}.controls{gap:10px}.control-btn{font-size:10px;height:44px;width:44px}.candidate-name{bottom:8px;font-size:12px;left:8px;padding:6px 12px}.recording-badge{font-size:10px;padding:4px 10px;right:8px;top:8px}.chat-panel{gap:6px;padding:10px}.chat-header,.messages-area{border-radius:12px;padding:12px 14px}.input-area{border-radius:12px;padding:4px}.current-question{padding:14px 16px}.progress-section{padding:10px 16px}}.voice-input-area{display:flex;flex-direction:column;gap:8px}.voice-input-area .input-wrapper{flex:1 1}.voice-transcript{background:#f5f7fa;background:var(--bg-gray);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-sizing:border-box;color:#757575;color:var(--text-secondary);font-size:16px;line-height:1.5;min-height:80px;padding:24px 32px;transition:all .3s ease;width:100%}.voice-transcript.listening{animation:pulse-border 2s ease-in-out infinite;background:#fff;background:var(--bg-white);border-color:#1565c0;border-color:var(--primary-color);color:#212121;color:var(--text-primary)}@keyframes pulse-border{0%,to{border-color:#1565c0;border-color:var(--primary-color);box-shadow:0 0 0 0 #6b728033}50%{border-color:#757575;border-color:var(--text-secondary);box-shadow:0 0 0 4px #6b728000}}.auto-submit-hint{color:#757575;color:var(--text-secondary);font-size:12px;font-weight:500;padding:4px 0;text-align:center}.tab-switch-warning{animation:slide-down .3s ease-out;background:#f5f7fa;background:var(--bg-gray);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px #00000014;left:0;padding:16px 24px;position:fixed;right:0;top:0;z-index:1000}@keyframes slide-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.tab-warning-content{align-items:center;display:flex;gap:16px;margin:0 auto;max-width:800px}.tab-switch-warning .warning-icon{flex-shrink:0;font-size:28px}.tab-switch-warning .warning-text{flex:1 1}.tab-switch-warning .warning-text strong{color:#212121;color:var(--text-primary);display:block;font-size:15px;margin-bottom:4px}.tab-switch-warning .warning-text p{color:#757575;color:var(--text-secondary);font-size:13px;margin:0}.tab-switch-warning .warning-count{background:#1565c0;background:var(--primary-color);border-radius:100px;color:#fff;flex-shrink:0;font-size:13px;font-weight:600;padding:8px 16px}@keyframes spin{to{transform:rotate(1turn)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:#f0f2f5;color:#212121;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.app{min-height:100vh}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#bdbdbd}::selection{background:#1565c033;color:#212121}:focus-visible{outline:2px solid #1565c0;outline-offset:2px}a{color:#1565c0;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font-family:inherit}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .3s ease-in}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .3s ease-out}
/*# sourceMappingURL=main.3a29808e.css.map*/