.avatar-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.avatar-compact{gap:0}.avatar-compact .avatar-face{box-shadow:0 2px 8px rgba(0,0,0,.15)}.avatar-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem}.avatar-compact .avatar-wrapper{flex-direction:row;gap:.5rem}.robot-container{flex-direction:column;transform-origin:center center}.brian-robot-container,.robot-container{display:flex;align-items:center;position:relative;z-index:1}.brian-robot-container{justify-content:center;width:100%;height:100%;min-width:0;min-height:0}.brian-robot-image{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center center;filter:drop-shadow(0 10px 30px rgba(0,0,0,.2));transition:transform .3s ease,filter .3s ease;z-index:1}.brian-robot-image.playing{animation:brian-bounce 2s ease-in-out infinite;filter:drop-shadow(0 10px 30px rgba(74,144,226,.4))}@keyframes brian-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.02)}}.brian-robot-container.playing{animation:brian-container-pulse 2s ease-in-out infinite}@keyframes brian-container-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.brian-mouth-overlay{position:absolute;top:42%;left:50%;transform:translateX(-50%);width:20px;height:3px;background:rgba(0,200,255,.9);border-radius:0;z-index:3;transition:height .1s ease,width .1s ease,opacity .1s ease,border-radius .1s ease;box-shadow:0 0 10px #00c8ff,0 0 20px rgba(0,150,255,.7);pointer-events:none;animation:mouth-glow 1.5s ease-in-out infinite}@keyframes mouth-glow{0%,to{opacity:.7;box-shadow:0 0 15px #00c8ff,0 0 30px rgba(0,150,255,.6)}50%{opacity:1;box-shadow:0 0 20px #00c8ff,0 0 40px rgba(0,150,255,.8)}}.brian-eye-glow{position:absolute;width:35px;height:35px;border-radius:50%;background:radial-gradient(circle,rgba(0,200,255,.7) 0,rgba(0,150,255,.4) 40%,rgba(0,100,200,.2) 70%,transparent 100%);box-shadow:0 0 20px #00c8ff,0 0 40px rgba(0,150,255,.6),0 0 60px rgba(0,100,200,.3);z-index:2;pointer-events:none;animation:eye-blink 4s ease-in-out infinite}.brian-eye-glow.speaking{background:radial-gradient(circle,rgba(0,200,255,.9) 0,rgba(0,150,255,.5) 50%,transparent 100%);box-shadow:0 0 20px #00c8ff,0 0 40px rgba(0,150,255,.7);animation:eye-glow-pulse 1.5s ease-in-out infinite,eye-blink 4s ease-in-out infinite}.brian-eye-glow.left-eye{top:25%;left:38%;transform:translate(-50%,-50%)}.brian-eye-glow.right-eye{top:25%;right:38%;transform:translate(50%,-50%);animation:eye-blink-right 4s ease-in-out infinite}.brian-eye-glow.right-eye.speaking{animation:eye-glow-pulse 1.5s ease-in-out infinite,eye-blink-right 4s ease-in-out infinite}@keyframes eye-glow-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes eye-blink{0%,88%,to{height:35px;opacity:.7;transform:translate(-50%,-50%) scaleY(1)}90%,96%{height:3px;opacity:.3;transform:translate(-50%,-50%) scaleY(.09)}}@keyframes eye-blink-right{0%,88%,to{height:35px;opacity:.7;transform:translate(50%,-50%) scaleY(1)}90%,96%{height:3px;opacity:.3;transform:translate(50%,-50%) scaleY(.09)}}.brian-robot-container.loading .brian-robot-image{opacity:.7;filter:grayscale(.3)}.human-hair{top:-30px;width:220px;height:80px;z-index:3;pointer-events:none}.hair-main,.human-hair{position:absolute;left:50%;transform:translateX(-50%)}.hair-main{top:0;width:180px;height:70px;background:linear-gradient(135deg,#2c1810,#1a0f08 40%,#3d2518 60%,#2c1810);border-radius:50% 50% 40% 40%/100% 100% 0 0;box-shadow:0 5px 20px rgba(0,0,0,.4),inset 0 -10px 30px rgba(0,0,0,.3),inset 0 5px 15px rgba(60,40,25,.4);z-index:1}.hair-main:before{content:"";position:absolute;top:5px;left:10%;width:80%;height:50%;background:linear-gradient(180deg,rgba(80,50,30,.5) 0,transparent);border-radius:50% 50% 40% 40%/100% 100% 0 0}.hair-main:after{content:"";top:0;left:50%;transform:translateX(-50%);width:60%;height:40%;background:radial-gradient(ellipse at center,rgba(100,70,45,.4) 0,transparent 70%)}.hair-main:after,.hair-strand{position:absolute;border-radius:50%}.hair-strand{background:linear-gradient(180deg,#2c1810 0,#1a0f08);opacity:.8;z-index:2}.hair-strand.strand-1{top:15px;left:20%;width:12px;height:35px;transform:rotate(-15deg);border-radius:50% 50% 50% 50%/80% 80% 20% 20%}.hair-strand.strand-2{left:35%;transform:rotate(-5deg)}.hair-strand.strand-2,.hair-strand.strand-3{top:10px;width:10px;height:40px;border-radius:50% 50% 50% 50%/80% 80% 20% 20%}.hair-strand.strand-3{right:35%;transform:rotate(5deg)}.hair-strand.strand-4{top:15px;right:20%;width:12px;height:35px;transform:rotate(15deg);border-radius:50% 50% 50% 50%/80% 80% 20% 20%}.avatar-face.robot-head{width:200px;height:200px;background:linear-gradient(135deg,#fdbcb4,#f5a097 25%,#e89187 55%,#d68075 85%,#c57065);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:0 15px 35px rgba(0,0,0,.2),inset 0 -25px 60px rgba(150,100,90,.15),inset 0 5px 15px rgba(255,220,200,.5),inset 0 -10px 30px hsla(17,39%,65%,.25),inset 0 10px 20px rgba(255,240,230,.3);transition:transform .3s ease;overflow:visible;border:2px solid rgba(255,220,200,.4);z-index:2}.avatar-face.robot-head:before{top:8%;left:50%;transform:translateX(-50%);width:65%;height:35%;background:radial-gradient(ellipse at center,rgba(255,240,230,.6) 0,rgba(255,200,180,.3) 40%,transparent 75%);z-index:1}.avatar-face.robot-head:after,.avatar-face.robot-head:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.avatar-face.robot-head:after{top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 30%,rgba(255,220,200,.5) 0,transparent 50%),radial-gradient(circle at 70% 70%,hsla(17,50%,73%,.3) 0,transparent 50%),radial-gradient(circle at 50% 70%,hsla(20,67%,82%,.4) 0,transparent 60%);z-index:0}.avatar-face.robot-head.playing{animation:bounce-robot 2s infinite}.avatar-face.robot-head.playing .robot-pupil{animation:eye-move 2s ease-in-out infinite}@keyframes bounce-robot{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-3px) rotate(-1deg)}50%{transform:translateY(-8px) rotate(0deg)}75%{transform:translateY(-3px) rotate(1deg)}}@keyframes eye-move{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(-40%,-45%)}75%{transform:translate(-60%,-45%)}}.avatar-face.loading{opacity:.8}.audio-loading-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:10}.loading-spinner-small{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.audio-control-btn{width:32px;height:32px;border:none;border-radius:50%;background:hsla(0,0%,100%,.9);color:#667eea;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.15);padding:0;flex-shrink:0;min-width:32px;min-height:32px}.audio-control-btn:hover:not(:disabled){background:#fff;transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.2)}.audio-control-btn:disabled{opacity:.7;cursor:wait}.audio-control-btn.loading{animation:pulse-button 1.5s infinite}@keyframes pulse-button{0%,to{opacity:.7}50%{opacity:1}}.audio-control-btn.playing{background:rgba(102,126,234,.9);color:#fff}.audio-control-btn.error{background:rgba(255,68,68,.9);color:#fff}.loading-dots-small{display:flex;gap:2px}.loading-dots-small span{width:3px;height:3px;background:#667eea;border-radius:50%;animation:bounce-dot 1.4s ease-in-out infinite both}.loading-dots-small span:first-child{animation-delay:-.32s}.loading-dots-small span:nth-child(2){animation-delay:-.16s}@keyframes bounce-dot{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.audio-control-btn-large{padding:.5rem 1.5rem;border:none;border-radius:25px;background:hsla(0,0%,100%,.9);color:#667eea;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.15);margin-top:.5rem}.audio-control-btn-large:hover:not(:disabled){background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.audio-control-btn-large:disabled{opacity:.6;cursor:not-allowed}.robot-eyeliner{position:absolute;top:32%;left:50%;transform:translateX(-50%);width:70%;height:6px;background:linear-gradient(90deg,transparent 15%,#5a4030 20%,#4a3020 25%,#5a4030 35%,transparent 40%,transparent 60%,#5a4030 65%,#4a3020 70%,#5a4030 80%,transparent 85%);border-radius:50% 50% 50% 50%/100% 100% 0 0;z-index:3;opacity:.85;box-shadow:0 1px 2px rgba(0,0,0,.2)}.avatar-eyes{display:flex;gap:2.2rem;margin-bottom:1rem;margin-top:.5rem;z-index:2;position:relative}.eye.robot-eye{width:32px;height:20px;background:linear-gradient(180deg,#fff 0,#f5f5f5);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;position:relative;animation:blink-robot 5s infinite;box-shadow:inset 0 2px 8px rgba(0,0,0,.1),0 2px 5px rgba(0,0,0,.15),inset 0 -1px 3px rgba(100,150,200,.1);border:1.5px solid hsla(24,25%,61%,.4);z-index:2;overflow:hidden}.robot-pupil{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:radial-gradient(circle at 30% 30%,#4a7c8f 0,#2a5c6f 50%,#0a2a3a 100%);border-radius:50%;transition:transform .15s ease;box-shadow:inset 0 1px 3px rgba(0,0,0,.4),0 0 8px rgba(74,124,143,.3);border:1px solid rgba(10,42,58,.5)}.robot-pupil:after{content:"";position:absolute;top:25%;left:30%;width:6px;height:6px;background:radial-gradient(circle,#fff 0,hsla(0,0%,100%,.7) 70%,transparent 100%);border-radius:50%;z-index:1;box-shadow:0 0 3px hsla(0,0%,100%,.5)}@keyframes blink-robot{0%,88%,to{height:20px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%}92%,96%{height:3px;border-radius:50% 50% 0 0/100% 100% 0 0;background:linear-gradient(180deg,#f0c8b0 0,#e0b8a0)}}.robot-nose{position:absolute;top:53%;left:50%;transform:translateX(-50%);width:10px;height:14px;background:linear-gradient(180deg,hsla(20,67%,82%,.9) 0,hsla(20,46%,75%,.7) 50%,hsla(20,35%,67%,.8));border-radius:50% 50% 50% 50%/60% 60% 100% 100%;box-shadow:inset 0 1px 2px rgba(255,240,230,.3),inset 0 -1px 2px rgba(150,100,80,.2),0 1px 3px rgba(0,0,0,.1),inset -1px 0 2px rgba(150,100,80,.15),inset 1px 0 2px rgba(255,240,230,.2);z-index:2;border:1px solid hsla(20,35%,67%,.3)}.eye.left{animation-delay:0s}.eye.right{animation-delay:.1s}.avatar-mouth-wrapper{display:flex;justify-content:center;align-items:center;width:100%;height:60px}.avatar-mouth.robot-mouth{width:50px;height:14px;background:linear-gradient(180deg,#e89187 0,#d68075 30%,#c97065 60%,#b86055);border-radius:50% 50% 50% 50%/80% 80% 20% 20%;transition:height .1s ease,opacity .1s ease,border-radius .1s ease,width .1s ease;box-shadow:0 2px 8px rgba(0,0,0,.2),inset 0 1px 3px rgba(255,200,180,.4),inset 0 -2px 5px rgba(150,80,70,.3),inset 0 0 2px rgba(255,220,200,.5);position:relative;border:1.5px solid hsla(7,38%,53%,.4);z-index:2}.avatar-mouth.robot-mouth:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(255,240,230,.6) 0,hsla(20,67%,82%,.3) 40%,transparent 60%,hsla(15,42%,63%,.3));border-radius:50% 50% 50% 50%/80% 80% 20% 20%;pointer-events:none}.avatar-face.robot-head .cheek-highlight{position:absolute;top:58%;width:35px;height:25px;background:radial-gradient(ellipse,rgba(255,180,160,.5) 0,rgba(255,200,180,.3) 40%,transparent 80%);border-radius:50%;z-index:1;pointer-events:none;animation:cheek-glow 3s ease-in-out infinite}.avatar-face.robot-head .cheek-highlight.left{left:12%}.avatar-face.robot-head .cheek-highlight.right{right:12%}@keyframes cheek-glow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.human-neck{position:relative;width:100%;height:70px;display:flex;justify-content:center;align-items:flex-start;margin-top:-5px;z-index:0}.neck-base{position:absolute;width:90px;height:70px;background:linear-gradient(135deg,#fdbcb4,#f5a097 30%,#e89187 60%,#d68075);border-radius:50% 50% 50% 50%/30% 30% 70% 70%;box-shadow:inset 0 -10px 25px rgba(150,100,90,.2),inset 0 5px 15px rgba(255,220,200,.3),0 2px 10px rgba(0,0,0,.15);border:1px solid rgba(255,220,200,.3);z-index:1}.neck-base:before{content:"";top:10px;left:50%;transform:translateX(-50%);width:70%;height:60%;background:linear-gradient(180deg,rgba(255,240,230,.4) 0,transparent 70%)}.neck-base:before,.neck-shadow{position:absolute;border-radius:50%}.neck-shadow{width:8px;height:50px;background:linear-gradient(180deg,hsla(17,39%,65%,.4) 0,hsla(17,32%,57%,.3) 50%,transparent);z-index:0;top:15px}.neck-shadow.left{left:25%;transform:rotate(-5deg)}.neck-shadow.right{right:25%;transform:rotate(5deg)}.robot-torso{position:relative;width:200px;height:90px;margin-top:0;display:flex;justify-content:center;align-items:flex-start;z-index:0}.shoulder-plate{position:absolute;width:80px;height:45px;background:linear-gradient(135deg,#4a5568,#3a4558 50%,#2a3548);border-radius:20px 20px 8px 8px;box-shadow:0 5px 15px rgba(0,0,0,.25),inset 0 2px 8px rgba(100,120,140,.3),inset 0 -2px 8px rgba(20,30,40,.4);border:1px solid rgba(60,70,85,.5)}.shoulder-plate.left-shoulder{left:5px;transform:rotate(-8deg)}.shoulder-plate.right-shoulder{right:5px;transform:rotate(8deg)}.shoulder-plate:before{content:"";position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);width:50%;height:3px;background:rgba(100,120,140,.3);border-radius:2px}.chest-plate{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:120px;height:55px;background:linear-gradient(135deg,#4a5568,#3a4558 50%,#2a3548);border-radius:15px;box-shadow:0 3px 10px rgba(0,0,0,.2),inset 0 2px 6px rgba(100,120,140,.3),inset 0 -2px 6px rgba(20,30,40,.4);border:1px solid rgba(60,70,85,.5)}.chest-plate:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:2px;background:rgba(100,120,140,.25);border-radius:1px}.mechanical-joint{display:none}.playing-indicator{display:flex;align-items:center;gap:.5rem;color:#667eea;font-weight:600;font-size:.9rem;animation:pulse-text 2s infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.6}}.audio-error{color:#f44;font-weight:500;font-size:.9rem;background-color:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:8px}.audio-error,.autoplay-blocked-notice{margin-top:.5rem;padding:.5rem 1rem;text-align:center}.autoplay-blocked-notice{background-color:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);border-radius:8px;color:#d97706;font-size:.8rem;animation:pulse-notice 2s ease-in-out infinite}.avatar-compact .robot-container{flex-direction:row}.avatar-compact .human-hair,.avatar-compact .human-neck,.avatar-compact .robot-torso{display:none}.avatar-compact .brian-robot-image{width:40px;height:40px}.avatar-compact .brian-eye-glow{width:10px;height:10px}.avatar-compact .brian-eye-glow.left-eye{top:25%;left:38%;transform:translate(-50%,-50%)}.avatar-compact .brian-eye-glow.right-eye{top:25%;right:38%;transform:translate(50%,-50%)}.avatar-compact .brian-mouth-overlay{top:42%;left:50%;transform:translateX(-50%);width:10px;height:2px}.avatar-compact .avatar-face.robot-head{width:40px;height:40px}.avatar-compact .robot-eyeliner,.avatar-compact .robot-nose{display:none}@media (max-width:768px){.avatar-face.robot-head{width:150px;height:150px}.avatar-eyes{gap:1.5rem;margin-bottom:.75rem}.eye.robot-eye{width:22px;height:14px}.robot-pupil{width:10px;height:10px}.robot-nose{width:7px;height:10px;top:53%}.avatar-mouth-wrapper{height:50px}.avatar-mouth.robot-mouth{width:35px;height:10px}.robot-neck{height:60px;margin-top:-8px}.neck-rod{width:2px}.neck-rod.rod-1,.neck-rod.rod-2,.neck-rod.rod-3{height:50px}.neck-cylinder{width:6px;height:10px}.robot-torso{width:140px;height:80px;margin-top:-3px}.shoulder-plate{width:55px;height:30px}.chest-plate{width:70px;height:40px;top:22px}.mechanical-joint{width:10px;height:10px}.mechanical-joint.joint-1,.mechanical-joint.joint-2{top:30px}.audio-control-btn-large{padding:.4rem 1.25rem;font-size:.85rem;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.autoplay-blocked-notice{font-size:.75rem;padding:.4rem .8rem;margin-top:.4rem}}@media (max-width:480px){.avatar-face.robot-head{width:120px;height:120px}.avatar-eyes{gap:1.2rem;margin-bottom:.5rem}.eye.robot-eye{width:18px;height:12px}.robot-pupil{width:8px;height:8px}.robot-pupil:after{width:3px;height:3px}.robot-nose{width:6px;height:8px;top:52%}.avatar-mouth-wrapper{height:40px}.avatar-mouth.robot-mouth{width:30px;height:8px}.robot-neck{height:50px;margin-top:-5px}.neck-rod.rod-1,.neck-rod.rod-2,.neck-rod.rod-3{height:40px}.neck-cylinder{width:5px;height:8px}.robot-torso{width:110px;height:60px}.shoulder-plate{width:45px;height:25px}.chest-plate{width:55px;height:30px;top:18px}.mechanical-joint{width:8px;height:8px}.mechanical-joint.joint-1,.mechanical-joint.joint-2{top:25px}.audio-control-btn-large{padding:.35rem 1rem;font-size:.8rem}}.message{margin-bottom:1rem;animation:slideIn .4s ease-out;transition:opacity .3s ease,transform .3s ease}.message:hover{transform:translateX(2px)}.message-content{display:flex;align-items:flex-start;gap:.75rem;max-width:85%;margin-left:auto;margin-right:auto}.message-user .message-content{flex-direction:row-reverse;margin-left:auto;margin-right:0}.message-ai .message-content{margin-left:0;margin-right:auto}.message-avatar{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;width:40px;height:40px}.user-icon{font-size:24px}.avatar-face-small,.avatar-placeholder{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.avatar-face-small{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;font-size:24px;box-shadow:0 2px 8px rgba(0,0,0,.15)}.message-bubble{background:#fff;padding:1rem 1.25rem;border-radius:18px;box-shadow:0 3px 12px rgba(0,0,0,.12),0 1px 4px rgba(0,0,0,.08);position:relative;min-width:120px;max-width:85%;transition:box-shadow .2s ease,transform .2s ease}.message-bubble:hover{box-shadow:0 4px 16px rgba(0,0,0,.15),0 2px 6px rgba(0,0,0,.1)}.message-user .message-bubble{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px;box-shadow:0 3px 12px rgba(102,126,234,.3),0 1px 4px rgba(102,126,234,.2)}.message-user .message-bubble:hover{box-shadow:0 4px 16px rgba(102,126,234,.35),0 2px 6px rgba(102,126,234,.25)}.message-ai .message-bubble{background:linear-gradient(180deg,#fff 0,#f8f9fa);color:#333;border-bottom-left-radius:4px;border-left:3px solid rgba(102,126,234,.3)}.message-ai.ai-responding .message-bubble{background:linear-gradient(180deg,#fff3e0 0,#ffe0b2);border-left:3px solid rgba(255,152,0,.5);animation:pulse-responding 2s ease-in-out infinite}@keyframes pulse-responding{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.01)}}.message-text{font-size:1rem;line-height:1.5;margin-bottom:.5rem;word-wrap:break-word}.message-time{font-size:.75rem;opacity:.7;margin-top:.25rem}.message-score{margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsla(0,0%,100%,.2)}.message-user .message-score{border-top-color:hsla(0,0%,100%,.3)}.score-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.score-badge{background:hsla(0,0%,100%,.25);padding:.35rem .65rem;border-radius:12px;font-size:.75rem;font-weight:600;border:1px solid hsla(0,0%,100%,.3);transition:all .2s ease;display:inline-flex;align-items:center;gap:.25rem}.score-badge:hover{background:hsla(0,0%,100%,.35);transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.1)}.message-user .score-badge{background:hsla(0,0%,100%,.3);border-color:hsla(0,0%,100%,.4)}.score-feedback{font-size:.85rem;opacity:.95;font-style:italic;margin-top:.5rem;padding:.5rem .75rem;background:hsla(0,0%,100%,.15);border-radius:8px;border-left:3px solid hsla(0,0%,100%,.5);line-height:1.4}.message-user .score-feedback{background:hsla(0,0%,100%,.2);border-left-color:hsla(0,0%,100%,.6)}@media (max-width:768px){.message{margin-bottom:.75rem}.message-content{max-width:92%;gap:.6rem}.message-avatar{width:32px;height:32px;flex-shrink:0}.user-icon{font-size:18px}.avatar-face-small{width:32px;height:32px;font-size:18px}.message-bubble{padding:.75rem 1rem;border-radius:15px;min-width:80px}.message-user .message-bubble{border-bottom-right-radius:3px}.message-ai .message-bubble{border-bottom-left-radius:3px}.message-text{font-size:.9rem;line-height:1.4;margin-bottom:.4rem}.message-time{font-size:.7rem;margin-top:.2rem}.message-score{margin-top:.6rem;padding-top:.6rem}.score-badges{gap:.4rem;margin-bottom:.4rem}.score-badge{padding:.3rem .55rem;font-size:.7rem;border-radius:10px}.score-feedback{font-size:.8rem;padding:.4rem .6rem;margin-top:.4rem}}@media (max-width:480px){.message{margin-bottom:.6rem}.message-content{max-width:95%;gap:.5rem}.message-avatar{width:28px;height:28px}.user-icon{font-size:16px}.avatar-face-small{width:28px;height:28px;font-size:16px}.message-bubble{padding:.6rem .85rem;border-radius:12px;min-width:70px}.message-text{font-size:.85rem;line-height:1.35;margin-bottom:.35rem}.message-time{font-size:.65rem}.message-score{margin-top:.5rem;padding-top:.5rem}.score-badges{gap:.35rem;margin-bottom:.35rem}.score-badge{padding:.25rem .45rem;font-size:.65rem;border-radius:8px}.score-feedback{font-size:.75rem;padding:.35rem .55rem;margin-top:.35rem}}.video-call-container{width:100%;max-width:100%;display:flex;align-items:center;justify-content:center;padding:.75rem;background:transparent;box-sizing:border-box;position:relative}.video-call-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;width:100%;max-width:700px;height:auto;box-sizing:border-box}.mobile-phone-layout{display:none}.desktop-layout{display:grid}.video-panel{display:flex;flex-direction:column;gap:.75rem;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:.75rem;box-shadow:0 5px 20px rgba(0,0,0,.15);transition:transform .3s ease,box-shadow .3s ease;width:100%;box-sizing:border-box;min-width:0;overflow:hidden}.video-panel:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,0,0,.3)}.user-panel{border:2px solid hsla(0,0%,100%,.3)}.ai-panel{border:2px solid rgba(102,126,234,.5)}.video-wrapper{position:relative;width:100%;min-height:180px;aspect-ratio:4/3;border-radius:12px;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.ai-panel .video-wrapper,.video-wrapper{overflow:hidden}.user-video{min-width:100%;min-height:100%;object-fit:cover;transform:scaleX(-1);border-radius:12px;background:rgba(0,0,0,.5);display:block;z-index:1;box-sizing:border-box}.user-video,.video-placeholder{width:100%;height:100%;position:absolute;top:0;left:0;right:0;bottom:0}.video-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:hsla(0,0%,100%,.9);z-index:2;pointer-events:none}.video-placeholder button{pointer-events:auto}.retry-button{margin-top:1rem;padding:.5rem 1rem;min-height:36px;background:hsla(0,0%,100%,.2);color:#fff;border:1px solid hsla(0,0%,100%,.3);border-radius:20px;cursor:pointer;font-size:.9rem;transition:all .2s ease;touch-action:manipulation;font-weight:500}.retry-button:hover{background:hsla(0,0%,100%,.3);transform:translateY(-1px)}.retry-button:active{transform:translateY(0);background:hsla(0,0%,100%,.25)}@media (max-width:768px){.retry-button{padding:.45rem .9rem;font-size:.85rem;min-height:36px}}@media (max-width:480px){.retry-button{padding:.4rem .8rem;font-size:.8rem;min-height:32px;margin-top:.75rem}}.video-placeholder.loading{background:rgba(0,0,0,.2)}.video-placeholder.error{background:rgba(255,68,68,.2)}.video-placeholder.camera-off{background:hsla(0,0%,39%,.3)}.video-placeholder.ai-placeholder{background:linear-gradient(135deg,rgba(102,126,234,.3),rgba(118,75,162,.3));display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;z-index:2}.video-placeholder.ai-placeholder .brian-robot-container{display:flex;flex-direction:column;width:100%;height:100%;position:relative;align-items:center;justify-content:center}.video-placeholder.ai-placeholder .brian-robot-image{width:100%;height:85%;max-width:100%;max-height:85%;object-fit:contain;object-position:center center;filter:drop-shadow(0 10px 30px rgba(0,0,0,.2));animation:float 3s ease-in-out infinite}.video-placeholder.ai-placeholder .placeholder-text{position:absolute;bottom:.5rem;left:50%;transform:translateX(-50%);padding:.25rem .5rem;text-align:center;font-size:.85rem;background:rgba(0,0,0,.5);border-radius:8px;color:#fff;white-space:nowrap}.placeholder-icon{font-size:4rem;opacity:.8}.placeholder-text{font-size:1.1rem;font-weight:500;text-align:center;transition:opacity .3s ease}.placeholder-text.ai-responding-text{animation:pulse-text-responding 2s ease-in-out infinite;color:rgba(255,152,0,.9);font-weight:600}@keyframes pulse-text-responding{0%,to{opacity:1}50%{opacity:.7}}.loading-spinner{width:50px;height:50px;border:4px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.ai-avatar-container{width:100%;height:100%;display:flex;position:relative;z-index:2}.ai-avatar-container,.ai-panel .ai-avatar-container{align-items:center;justify-content:center;padding:.25rem;overflow:hidden}.ai-panel .ai-avatar-container .brian-robot-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ai-panel .ai-avatar-container .brian-robot-image{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center center}.speaking-indicator{position:absolute;top:1rem;right:1rem;z-index:10}.speaking-icon,.speaking-indicator{display:flex;align-items:center;justify-content:center}.speaking-icon{width:50px;height:50px;background:rgba(76,175,80,.9);border-radius:50%;font-size:1.5rem;box-shadow:0 4px 15px rgba(76,175,80,.4);position:relative;z-index:2}.user-speaking .speaking-icon{background:rgba(33,150,243,.9);box-shadow:0 4px 15px rgba(33,150,243,.4)}.ai-speaking .speaking-icon{background:rgba(156,39,176,.9);box-shadow:0 4px 15px rgba(156,39,176,.4)}.speaking-indicator.ai-responding{animation:pulse-responding-indicator 1.5s ease-in-out infinite}.speaking-indicator.ai-responding .speaking-icon{background:rgba(255,152,0,.9);box-shadow:0 4px 15px rgba(255,152,0,.4)}.speaking-indicator.ai-responding .pulse-ring{border-color:rgba(255,152,0,.6)}@keyframes pulse-responding-indicator{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}.pulse-ring{position:absolute;width:50px;height:50px;border:2px solid rgba(76,175,80,.6);border-radius:50%;animation:pulse-ring 1.5s infinite;z-index:1}.user-speaking .pulse-ring{border-color:rgba(33,150,243,.6)}.ai-speaking .pulse-ring{border-color:rgba(156,39,176,.6)}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}.video-label{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;background:hsla(0,0%,100%,.15);border-radius:10px;color:#fff;font-weight:600;font-size:.9rem;position:relative;width:100%;box-sizing:border-box;flex-wrap:wrap}.video-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:3;display:flex;flex-direction:column;padding:.75rem;gap:.5rem}.video-overlay.top-left{align-items:flex-start;justify-content:flex-start}.video-overlay.bottom-center{align-items:center;justify-content:flex-end;padding-bottom:1rem}.overlay-name{border-radius:20px;font-weight:600;font-size:.9rem;white-space:nowrap;border:1px solid hsla(0,0%,100%,.2)}.overlay-name,.overlay-text{background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:.5rem .75rem;box-shadow:0 2px 10px rgba(0,0,0,.3)}.overlay-text{border-radius:12px;font-size:.8rem;line-height:1.4;max-width:calc(100% - 1.5rem);word-wrap:break-word;border:1px solid hsla(0,0%,100%,.2);max-height:3rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.user-panel .overlay-name,.user-panel .overlay-text{background:rgba(59,130,246,.85);border-color:rgba(147,197,253,.4)}.ai-panel .overlay-name,.ai-panel .overlay-text{background:rgba(139,92,246,.85);border-color:rgba(196,181,253,.4)}.ai-panel .video-overlay.bottom-center .overlay-text{background:rgba(139,92,246,.9);border-color:rgba(196,181,253,.5);text-align:center;max-width:calc(100% - 3rem);padding:.6rem 1rem;font-size:.85rem;font-weight:500}.label-icon{font-size:1.2rem}.label-text{text-shadow:1px 1px 2px rgba(0,0,0,.2)}.camera-toggle-button{padding:.4rem .6rem;background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);border-radius:8px;color:#fff;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:36px;touch-action:manipulation;z-index:4;pointer-events:auto}.camera-toggle-button.top-right{position:absolute;top:.75rem;right:.75rem;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 10px rgba(0,0,0,.3)}.camera-toggle-button:hover{background:hsla(0,0%,100%,.3);transform:scale(1.05)}.camera-toggle-button.top-right:hover{background:rgba(0,0,0,.8)}.camera-toggle-button:active{transform:scale(.95);background:hsla(0,0%,100%,.25)}.camera-toggle-button.top-right:active{background:rgba(0,0,0,.7)}.avatar-face-large{width:200px;height:200px;background:linear-gradient(135deg,#fdbcb4,#f5a097 30%,#e89187 60%,#d68075);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:0 15px 40px rgba(0,0,0,.25),inset 0 -30px 60px rgba(150,100,90,.2),inset 0 5px 15px rgba(255,220,200,.5),inset 0 -10px 30px hsla(17,39%,65%,.25);animation:float 3s ease-in-out infinite;overflow:visible;border:2px solid rgba(255,220,200,.4)}.avatar-face-large .cheek-highlight{position:absolute;top:58%;width:35px;height:25px;background:radial-gradient(ellipse,rgba(255,180,160,.5) 0,rgba(255,200,180,.3) 40%,transparent 80%);border-radius:50%;z-index:1;pointer-events:none;animation:cheek-glow-large 3s ease-in-out infinite}.avatar-face-large .cheek-highlight.left{left:12%}.avatar-face-large .cheek-highlight.right{right:12%}@keyframes cheek-glow-large{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.avatar-face-large:before{top:8%;left:50%;transform:translateX(-50%);width:65%;height:35%;background:radial-gradient(ellipse at center,rgba(255,240,230,.6) 0,rgba(255,200,180,.3) 40%,transparent 75%);z-index:1}.avatar-face-large:after,.avatar-face-large:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.avatar-face-large:after{top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 30%,rgba(255,220,200,.5) 0,transparent 50%),radial-gradient(circle at 70% 70%,hsla(17,50%,73%,.3) 0,transparent 50%),radial-gradient(circle at 50% 70%,hsla(20,67%,82%,.4) 0,transparent 60%);z-index:0}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.robot-placeholder{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.robot-placeholder .human-hair{position:absolute;top:-30px;left:50%;transform:translateX(-50%);width:220px;height:80px;z-index:3;pointer-events:none}.robot-placeholder .human-hair .hair-main{position:absolute;top:0;left:50%;transform:translateX(-50%);width:180px;height:70px;background:linear-gradient(135deg,#2c1810,#1a0f08 40%,#3d2518 60%,#2c1810);border-radius:50% 50% 40% 40%/100% 100% 0 0;box-shadow:0 5px 20px rgba(0,0,0,.4),inset 0 -10px 30px rgba(0,0,0,.3),inset 0 5px 15px rgba(60,40,25,.4);z-index:1}.robot-placeholder .human-hair .hair-main:before{content:"";position:absolute;top:5px;left:10%;width:80%;height:50%;background:linear-gradient(180deg,rgba(80,50,30,.5) 0,transparent);border-radius:50% 50% 40% 40%/100% 100% 0 0}.robot-placeholder .human-hair .hair-main:after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:40%;background:radial-gradient(ellipse at center,rgba(100,70,45,.4) 0,transparent 70%);border-radius:50%}.robot-placeholder .human-hair .hair-strand{position:absolute;background:linear-gradient(180deg,#2c1810 0,#1a0f08);border-radius:50%;opacity:.8;z-index:2}.robot-placeholder .human-hair .hair-strand.strand-1{top:15px;left:20%;width:12px;height:35px;transform:rotate(-15deg);border-radius:50% 50% 50% 50%/80% 80% 20% 20%}.robot-placeholder .human-hair .hair-strand.strand-2{top:10px;left:35%;width:10px;height:40px;transform:rotate(-5deg);border-radius:50% 50% 50% 50%/80% 80% 20% 20%}.robot-placeholder .human-hair .hair-strand.strand-3{top:10px;right:35%;width:10px;height:40px;transform:rotate(5deg);border-radius:50% 50% 50% 50%/80% 80% 20% 20%}.robot-placeholder .human-hair .hair-strand.strand-4{top:15px;right:20%;width:12px;height:35px;transform:rotate(15deg);border-radius:50% 50% 50% 50%/80% 80% 20% 20%}.robot-placeholder .human-neck{position:relative;width:100%;height:70px;display:flex;justify-content:center;align-items:flex-start;margin-top:-5px;z-index:0}.robot-placeholder .human-neck .neck-base{position:absolute;width:90px;height:70px;background:linear-gradient(135deg,#fdbcb4,#f5a097 30%,#e89187 60%,#d68075);border-radius:50% 50% 50% 50%/30% 30% 70% 70%;box-shadow:inset 0 -10px 25px rgba(150,100,90,.2),inset 0 5px 15px rgba(255,220,200,.3),0 2px 10px rgba(0,0,0,.15);border:1px solid rgba(255,220,200,.3);z-index:1}.robot-placeholder .human-neck .neck-base:before{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%);width:70%;height:60%;background:linear-gradient(180deg,rgba(255,240,230,.4) 0,transparent 70%);border-radius:50%}.robot-placeholder .human-neck .neck-shadow{position:absolute;width:8px;height:50px;background:linear-gradient(180deg,hsla(17,39%,65%,.4) 0,hsla(17,32%,57%,.3) 50%,transparent);border-radius:50%;z-index:0;top:15px}.robot-placeholder .human-neck .neck-shadow.left{left:25%;transform:rotate(-5deg)}.robot-placeholder .human-neck .neck-shadow.right{right:25%;transform:rotate(5deg)}.avatar-eyes-large{display:flex;gap:2.2rem;margin-bottom:1rem;margin-top:.5rem;z-index:2;position:relative}.avatar-face-large .robot-eyeliner{position:absolute;top:32%;left:50%;transform:translateX(-50%);width:70%;height:6px;background:linear-gradient(90deg,transparent 15%,#5a4030 20%,#4a3020 25%,#5a4030 35%,transparent 40%,transparent 60%,#5a4030 65%,#4a3020 70%,#5a4030 80%,transparent 85%);border-radius:50% 50% 50% 50%/100% 100% 0 0;z-index:3;opacity:.85;box-shadow:0 1px 2px rgba(0,0,0,.2)}.avatar-face-large .eye.robot-eye{width:36px;height:22px;background:linear-gradient(180deg,#fff 0,#f5f5f5);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;position:relative;animation:blink-robot-large 5s infinite;box-shadow:inset 0 2px 8px rgba(0,0,0,.1),0 2px 5px rgba(0,0,0,.15),inset 0 -1px 3px rgba(100,150,200,.1);border:1.5px solid hsla(24,25%,61%,.4);z-index:2;overflow:hidden}.avatar-face-large .robot-pupil{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:radial-gradient(circle at 30% 30%,#4a7c8f 0,#2a5c6f 50%,#0a2a3a 100%);border-radius:50%;transition:transform .15s ease;box-shadow:inset 0 1px 3px rgba(0,0,0,.4),0 0 8px rgba(74,124,143,.3);border:1px solid rgba(10,42,58,.5)}.avatar-face-large .robot-pupil:after{content:"";position:absolute;top:25%;left:30%;width:7px;height:7px;background:radial-gradient(circle,#fff 0,hsla(0,0%,100%,.7) 70%,transparent 100%);border-radius:50%;z-index:1;box-shadow:0 0 3px hsla(0,0%,100%,.5)}.avatar-face-large .robot-nose{position:absolute;top:53%;left:50%;transform:translateX(-50%);width:12px;height:16px;background:linear-gradient(180deg,hsla(20,67%,82%,.9) 0,hsla(20,46%,75%,.7) 50%,hsla(20,35%,67%,.8));border-radius:50% 50% 50% 50%/60% 60% 100% 100%;box-shadow:inset 0 1px 2px rgba(255,240,230,.3),inset 0 -1px 2px rgba(150,100,80,.2),0 1px 3px rgba(0,0,0,.1),inset -1px 0 2px rgba(150,100,80,.15),inset 1px 0 2px rgba(255,240,230,.2);z-index:2;border:1px solid hsla(20,35%,67%,.3)}@keyframes blink-robot-large{0%,88%,to{height:22px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%}92%,96%{height:4px;border-radius:50% 50% 0 0/100% 100% 0 0;background:linear-gradient(180deg,#f0c8b0 0,#e0b8a0)}}.avatar-mouth-wrapper-large{display:flex;justify-content:center;align-items:center;width:100%;height:60px;z-index:1}.avatar-face-large .avatar-mouth.robot-mouth{width:60px;height:16px;background:linear-gradient(180deg,#e89187 0,#d68075 30%,#c97065 60%,#b86055);border-radius:50% 50% 50% 50%/80% 80% 20% 20%;animation:mouth-idle 2s ease-in-out infinite;box-shadow:0 2px 8px rgba(0,0,0,.2),inset 0 1px 3px rgba(255,200,180,.4),inset 0 -2px 5px rgba(150,80,70,.3),inset 0 0 2px rgba(255,220,200,.5);position:relative;border:1.5px solid hsla(7,38%,53%,.4);z-index:2}.avatar-face-large .avatar-mouth.robot-mouth:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(255,240,230,.6) 0,hsla(20,67%,82%,.3) 40%,transparent 60%,hsla(15,42%,63%,.3));border-radius:50% 50% 50% 50%/80% 80% 20% 20%;pointer-events:none}.robot-placeholder .robot-torso{position:relative;width:160px;height:90px;margin-top:-5px;display:flex;justify-content:center;align-items:flex-start;z-index:0}.robot-placeholder .shoulder-plate{position:absolute;width:75px;height:40px;background:linear-gradient(135deg,#4a5568,#3a4558 50%,#2a3548);border-radius:18px 18px 6px 6px;box-shadow:0 4px 12px rgba(0,0,0,.25),inset 0 2px 6px rgba(100,120,140,.3),inset 0 -2px 6px rgba(20,30,40,.4);border:1px solid rgba(60,70,85,.5)}.robot-placeholder .shoulder-plate.left-shoulder{left:5px;transform:rotate(-8deg)}.robot-placeholder .shoulder-plate.right-shoulder{right:5px;transform:rotate(8deg)}.robot-placeholder .shoulder-plate:before{content:"";position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);width:50%;height:3px;background:rgba(100,120,140,.3);border-radius:2px}.robot-placeholder .chest-plate{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:110px;height:50px;background:linear-gradient(135deg,#4a5568,#3a4558 50%,#2a3548);border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.2),inset 0 2px 6px rgba(100,120,140,.3),inset 0 -2px 6px rgba(20,30,40,.4);border:1px solid rgba(60,70,85,.5)}.robot-placeholder .chest-plate:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:2px;background:rgba(100,120,140,.25);border-radius:1px}.robot-placeholder .mechanical-joint{display:none}@keyframes mouth-idle{0%,to{height:16px;border-radius:50% 50% 50% 50%/80% 80% 20% 20%}50%{height:18px;border-radius:50% 50% 50% 50%/85% 85% 25% 25%}}@media (max-width:1024px){.video-call-container{padding:.75rem}.video-call-grid{grid-template-columns:1fr 1fr;max-width:700px;gap:.75rem}.video-panel{padding:.6rem}.video-wrapper{min-height:180px;aspect-ratio:4/3}.avatar-face-large{width:200px;height:200px}.robot-placeholder .robot-torso{width:180px;height:100px}.robot-placeholder .shoulder-plate{width:70px;height:40px}.robot-placeholder .chest-plate{width:90px;height:50px}}@media (max-width:768px){.video-call-container{padding:.5rem;height:100%;display:flex;align-items:stretch}.video-call-grid{grid-template-columns:1fr 1fr;gap:.5rem;max-width:100%;height:100%;align-items:stretch}.video-panel{padding:.5rem;border-radius:12px;display:flex;flex-direction:column;min-height:0}.video-wrapper{min-height:0;flex:1 1 auto;aspect-ratio:4/3;border-radius:10px;max-height:100%}.video-panel:hover{transform:none}.avatar-face-large{width:150px;height:150px}.avatar-eyes-large{gap:1.5rem;margin-bottom:.75rem}.avatar-face-large .eye.robot-eye{width:24px;height:14px}.avatar-face-large .robot-pupil{width:10px;height:10px}.avatar-face-large .robot-nose{width:8px;height:10px}.avatar-face-large .avatar-mouth.robot-mouth{width:40px;height:10px}.robot-placeholder .human-neck{height:60px}.robot-placeholder .human-neck .neck-base{width:75px;height:60px}.robot-placeholder .robot-torso{width:140px;height:80px}.robot-placeholder .shoulder-plate{width:55px;height:30px}.robot-placeholder .chest-plate{width:70px;height:40px;top:22px}.robot-placeholder .mechanical-joint{width:10px;height:10px}.robot-placeholder .mechanical-joint.joint-1,.robot-placeholder .mechanical-joint.joint-2{top:30px}.speaking-icon{font-size:1rem}.pulse-ring,.speaking-icon{width:35px;height:35px}.speaking-indicator{top:.5rem;right:.5rem}.video-label{padding:.5rem;font-size:.85rem;gap:.4rem}.label-icon{font-size:1rem}.camera-toggle-button{padding:.35rem .55rem;font-size:1rem;min-width:36px;min-height:32px}.camera-toggle-button.top-right{top:.5rem;right:.5rem}.placeholder-icon{font-size:3rem}.placeholder-text{font-size:.95rem;padding:0 .5rem}.loading-spinner{width:40px;height:40px;border-width:3px}.video-overlay{padding:.5rem;gap:.4rem}.overlay-name{padding:.4rem .6rem;font-size:.8rem}.overlay-text{padding:.4rem .6rem;font-size:.75rem;max-width:calc(100% - 1rem)}}@media (max-width:480px){.video-overlay{padding:.4rem;gap:.3rem}.overlay-name{padding:.35rem .5rem;font-size:.75rem}.overlay-text{padding:.35rem .5rem;font-size:.7rem;max-width:calc(100% - .8rem);max-height:2.5rem}.video-call-container{padding:.25rem;height:100%;display:flex;align-items:stretch}.video-call-grid{grid-template-columns:1fr 1fr;gap:.4rem;max-width:100%;height:100%;align-items:stretch}.video-panel{padding:.35rem;border-radius:10px;display:flex;flex-direction:column;min-height:0}.video-wrapper{min-height:0;flex:1 1 auto;aspect-ratio:4/3;border-radius:8px;max-height:100%}.video-panel:hover{transform:none}.avatar-face-large{width:120px;height:120px}.avatar-eyes-large{gap:1.2rem;margin-bottom:.5rem}.avatar-face-large .eye.robot-eye{width:20px;height:12px}.avatar-face-large .robot-pupil{width:8px;height:8px}.avatar-face-large .robot-nose{width:6px;height:8px}.avatar-face-large .avatar-mouth.robot-mouth{width:35px;height:8px}.robot-placeholder .human-neck{height:50px;margin-top:-5px}.robot-placeholder .human-neck .neck-base{width:65px;height:50px}.robot-placeholder .robot-torso{width:110px;height:60px}.robot-placeholder .shoulder-plate{width:45px;height:25px}.robot-placeholder .chest-plate{width:55px;height:30px;top:18px}.robot-placeholder .mechanical-joint{width:8px;height:8px}.robot-placeholder .mechanical-joint.joint-1,.robot-placeholder .mechanical-joint.joint-2{top:25px}.speaking-icon{font-size:.9rem}.pulse-ring,.speaking-icon{width:30px;height:30px}.speaking-indicator{top:.25rem;right:.25rem}.video-label{padding:.4rem;font-size:.75rem;gap:.35rem}.label-icon{font-size:.9rem}.camera-toggle-button{padding:.3rem .5rem;font-size:.9rem;min-width:32px;min-height:28px}.camera-toggle-button.top-right{top:.4rem;right:.4rem;padding:.35rem .5rem;font-size:.95rem}.ai-panel .video-overlay.bottom-center .overlay-text{padding:.5rem .75rem;font-size:.75rem;max-width:calc(100% - 2rem)}.video-overlay.bottom-center{padding:.5rem .5rem .75rem}.placeholder-icon{font-size:2.5rem}.placeholder-text{font-size:.85rem}.loading-spinner{width:35px;height:35px}.ai-avatar-container{padding:1rem}.video-overlay{padding:.4rem;gap:.3rem}.overlay-name{padding:.35rem .5rem;font-size:.75rem}.overlay-text{padding:.35rem .5rem;font-size:.7rem;max-width:calc(100% - .8rem);max-height:2.5rem}}.evaluation-report-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .3s ease}.evaluation-report-modal{background:#fff;border-radius:20px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease;overflow:hidden}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.evaluation-report-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;display:flex;flex-direction:column;gap:.5rem;position:relative}.evaluation-report-header h2{margin:0;font-size:1.75rem;font-weight:600}.evaluation-topic{margin:0;opacity:.9;font-size:1rem}.close-button{position:absolute;top:1rem;right:1.5rem;background:hsla(0,0%,100%,.2);border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:hsla(0,0%,100%,.3);transform:scale(1.1)}.evaluation-report-content{flex:1 1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:2rem}.evaluation-report-content section{animation:fadeInUp .4s ease;animation-fill-mode:both}.evaluation-report-content section:first-child{animation-delay:.1s}.evaluation-report-content section:nth-child(2){animation-delay:.2s}.evaluation-report-content section:nth-child(3){animation-delay:.3s}.evaluation-report-content section:nth-child(4){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.evaluation-report-content h3{margin:0 0 1.5rem;font-size:1.5rem;color:#333;border-bottom:2px solid #667eea;padding-bottom:.5rem}.overall-score-section{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:1.5rem;border-radius:15px}.overall-score-display{display:flex;flex-direction:column;gap:1.5rem}.overall-average{text-align:center;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.1)}.average-label{display:block;font-size:.9rem;color:#666;margin-bottom:.5rem}.average-value{display:block;font-size:2.5rem;font-weight:700;color:#667eea}.score-grid{grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem}.score-item-detailed{background:#fff;padding:1rem;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.score-item-detailed label{display:block;font-size:.85rem;color:#666;margin-bottom:.5rem;font-weight:500}.score-bar-detailed{position:relative;height:28px;background:#e0e0e0;border-radius:14px;overflow:hidden}.score-fill-detailed{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .5s ease;border-radius:14px}.score-value-detailed{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);font-weight:600;font-size:.85rem;color:#333}.overall-feedback{margin-top:1.5rem;padding:1rem;background:#fff;border-radius:10px;border-left:4px solid #667eea;font-size:.95rem;line-height:1.6;color:#444}.sentences-section{background:#fafafa;padding:1.5rem;border-radius:15px}.sentences-list{display:flex;flex-direction:column;gap:1.5rem}.sentence-evaluation-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px rgba(0,0,0,.08);border-left:4px solid #667eea}.sentence-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0}.sentence-number{font-weight:600;font-size:1.1rem;color:#667eea}.sentence-scores{display:flex;gap:.75rem}.mini-score{font-size:.8rem;padding:.25rem .5rem;background:#f0f0f0;border-radius:6px;color:#666;font-weight:500}.sentence-content{display:flex;flex-direction:column;gap:1rem}.sentence-corrected,.sentence-feedback,.sentence-original{font-size:.95rem;line-height:1.6}.sentence-corrected strong,.sentence-feedback strong,.sentence-original strong{display:block;margin-bottom:.5rem;color:#333}.sentence-text-container{padding:.75rem;background:#f8f9fa;border-radius:8px;margin-top:.5rem;line-height:1.8;font-size:1rem}.sentence-text{word-wrap:break-word}.sentence-text-normal{color:#333}.error-highlight{background:#ffebee;color:#c62828;padding:2px 4px;border-radius:4px;font-weight:600;border-bottom:2px solid #c62828;cursor:help;position:relative}.error-highlight.error-grammar{background:#fff3e0;color:#e65100;border-bottom-color:#e65100}.error-highlight.error-vocabulary{background:#f3e5f5;color:#6a1b9a;border-bottom-color:#6a1b9a}.error-highlight.error-pronunciation{background:#e8f5e9;color:#2e7d32;border-bottom-color:#2e7d32}.sentence-errors{margin-top:.5rem}.sentence-errors strong{display:block;margin-bottom:.5rem;color:#c62828}.sentence-errors ul{margin:.5rem 0 0;padding-left:1.5rem;list-style:none}.error-item{padding:.75rem;margin-bottom:.5rem;background:#fafafa;border-radius:8px;border-left:3px solid #c62828;font-size:.9rem;line-height:1.6}.error-item.error-grammar{border-left-color:#e65100}.error-item.error-vocabulary{border-left-color:#6a1b9a}.error-item.error-pronunciation{border-left-color:#2e7d32}.error-type-badge{display:inline-block;padding:.2rem .5rem;background:#667eea;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600;margin-right:.5rem}.error-text{display:block;margin:.5rem 0}.error-original{color:#c62828;font-weight:600}.error-corrected{color:#2e7d32;font-weight:600}.error-explanation{display:block;color:#666;font-style:italic;margin-top:.25rem}.corrected-text{padding:.75rem;background:#e8f5e9;border-radius:8px;margin-top:.5rem;color:#2e7d32;font-weight:500;border-left:3px solid #2e7d32}.sentence-feedback{padding:.75rem;background:#e3f2fd;border-radius:8px;color:#1565c0;border-left:3px solid #1565c0}.detailed-feedback-section{display:flex;flex-direction:column;gap:1rem}.feedback-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);border-left:4px solid #667eea}.feedback-card h4{margin:0 0 .75rem;font-size:1.1rem;color:#333}.feedback-card p{margin:0;line-height:1.7;color:#555;font-size:.95rem}.improvements-section{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);padding:1.5rem;border-radius:15px}.improvements-section h3{color:#2e7d32;border-bottom-color:#2e7d32}.improvements-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.improvement-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#fff;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.05)}.improvement-icon{flex-shrink:0;width:24px;height:24px;background:#2e7d32;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.improvement-text{flex:1 1;line-height:1.6;color:#333;font-size:.95rem}.evaluation-report-footer{padding:1.5rem 2rem;background:#f5f5f5;border-top:1px solid #e0e0e0;display:flex;justify-content:center}.close-report-button{padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(102,126,234,.3)}.close-report-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}@media (max-width:768px){.evaluation-report-modal{max-width:100%;max-height:95vh;border-radius:0}.evaluation-report-header{padding:1rem 1.5rem}.evaluation-report-header h2{font-size:1.3rem}.evaluation-report-content{padding:1.5rem;gap:1.5rem}.score-grid{grid-template-columns:1fr}.sentence-header{flex-direction:column;align-items:flex-start;gap:.5rem}.sentence-scores{flex-wrap:wrap}}.chat-container{display:flex;flex-direction:column;height:100vh;max-width:1400px;margin:0 auto;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;-webkit-overflow-scrolling:touch;width:100%}.chat-container,.chat-container>*,.chat-header{box-sizing:border-box}.chat-header{flex:0 0 auto;text-align:center;color:#fff;padding:1.5rem 2rem;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px rgba(0,0,0,.1);position:relative;width:100%}.chat-header h1{font-size:2rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.chat-header p{font-size:1rem;opacity:.9;margin-bottom:.5rem}.new-conversation-button{position:absolute;top:1rem;right:2rem;padding:.5rem 1rem;background:hsla(0,0%,100%,.2);color:#fff;border:1px solid hsla(0,0%,100%,.3);border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.new-conversation-button:hover{background:hsla(0,0%,100%,.3);transform:translateY(-2px)}.topic-selection{flex:1 1;min-height:0;padding:2rem;overflow-y:auto;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}.topic-selection h2{color:#fff;font-size:1.5rem;margin-bottom:2rem;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.topics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1.5rem;gap:1.5rem;width:100%;max-width:800px}.topic-card{background:hsla(0,0%,100%,.95);border:none;border-radius:20px;padding:2rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1rem;transition:all .3s ease;box-shadow:0 5px 20px rgba(0,0,0,.2)}.topic-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.3);background:#fff}.topic-icon{font-size:3rem}.topic-name{font-size:1.1rem;font-weight:600;color:#333;text-align:center}.topic-info-section{flex:1 1;min-height:0;padding:2rem;overflow-y:auto;display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box}.topic-info-card{background:hsla(0,0%,100%,.95);border-radius:20px;padding:2.5rem;max-width:700px;width:100%;box-shadow:0 10px 40px rgba(0,0,0,.2);animation:slideIn .4s ease-out}.topic-info-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #667eea}.topic-info-icon{font-size:3rem}.topic-info-header h2{margin:0;font-size:1.8rem;color:#333}.topic-info-content{margin-bottom:2rem}.topic-description,.topic-instructions{line-height:1.8;color:#555;margin-bottom:1rem}.topic-description strong,.topic-instructions strong{color:#333;display:block;margin-bottom:.5rem;font-size:1.1rem}.topic-actions{display:flex;flex-direction:column;gap:1rem}.start-conversation-button{width:100%;padding:1rem 2rem;font-size:1.2rem;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 20px rgba(102,126,234,.3)}.start-conversation-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.4)}.start-conversation-button:disabled{opacity:.6;cursor:not-allowed}.back-to-topics-button{width:100%;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;background:hsla(0,0%,100%,.8);color:#667eea;border:2px solid #667eea;border-radius:50px;cursor:pointer;transition:all .3s ease}.back-to-topics-button:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.conversation-ended-notice{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #4caf50;border-radius:15px;box-shadow:0 4px 15px rgba(76,175,80,.2);width:100%;max-width:500px}.ended-icon{font-size:2.5rem;flex-shrink:0}.ended-text{flex:1 1}.ended-text strong{display:block;font-size:1.1rem;color:#2e7d32;margin-bottom:.5rem}.ended-text p{margin:0;font-size:.9rem;color:#4caf50;line-height:1.5}.new-conversation-from-ended-button{padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(102,126,234,.3)}.new-conversation-from-ended-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.conversation-wrapper{flex-direction:column;flex:1 1;position:relative}.conversation-wrapper,.video-call-section{display:flex;min-height:0;width:100%;box-sizing:border-box;overflow:hidden}.video-call-section{flex:1 1 auto;align-items:center;justify-content:center;padding:.5rem;background:hsla(0,0%,100%,.05);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.messages-section{flex:0 0 auto;max-height:300px;display:flex;flex-direction:column;background:hsla(0,0%,100%,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:2px solid hsla(0,0%,100%,.25);box-shadow:0 -4px 15px rgba(0,0,0,.1);transition:max-height .3s ease;overflow:hidden;width:100%;box-sizing:border-box}.messages-section.collapsed{max-height:55px;overflow:hidden}.conversation-score-summary{flex:0 0 auto;background:hsla(0,0%,100%,.95);border-radius:15px;padding:1.5rem;margin:.5rem 1rem;box-shadow:0 5px 20px rgba(0,0,0,.15);animation:slideIn .5s ease-out;width:calc(100% - 2rem);box-sizing:border-box;max-width:100%}.conversation-score-summary h3{color:#667eea;margin-bottom:1.5rem;font-size:1.3rem;text-align:center}.score-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1rem;width:100%;box-sizing:border-box}.end-conversation-button{padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:25px;cursor:pointer;box-shadow:0 4px 15px rgba(245,87,108,.4);transition:all .3s ease;min-height:44px;touch-action:manipulation;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem}.end-conversation-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(245,87,108,.5)}.end-conversation-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.messages-header{padding:1rem 1.5rem;background:hsla(0,0%,100%,.15);border-bottom:1px solid hsla(0,0%,100%,.25);display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .2s ease}.messages-header:hover{background:hsla(0,0%,100%,.2)}.messages-header h3{margin:0;color:#fff;font-size:1.1rem;font-weight:600;text-shadow:1px 1px 2px rgba(0,0,0,.2);display:flex;align-items:center;gap:.5rem}.message-count{font-size:.85rem;font-weight:500;opacity:.8;background:hsla(0,0%,100%,.2);padding:.2rem .5rem;border-radius:12px}.messages-toggle{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:50%;transition:transform .3s ease,background .2s ease;display:flex;align-items:center;justify-content:center}.messages-toggle:hover{background:hsla(0,0%,100%,.2)}.messages-toggle.collapsed{transform:rotate(180deg)}.conversation-score-summary .score-item{display:flex;flex-direction:column;gap:.5rem}.conversation-score-summary .score-item label{font-weight:600;color:#666;font-size:.9rem}.conversation-score-summary .score-bar{position:relative;height:32px;background:#e9ecef;border-radius:16px;overflow:hidden;display:flex;align-items:center}.conversation-score-summary .score-fill{position:absolute;height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:16px;transition:width .5s ease}.conversation-score-summary .score-value{position:absolute;right:12px;font-weight:700;color:#333;font-size:.9rem;z-index:1}.conversation-score-summary .score-feedback{background:#e7f3ff;border-left:4px solid #2196f3;padding:1rem 1.5rem;border-radius:8px;color:#333;line-height:1.6;margin-top:1rem}.view-detailed-report-button{width:100%;margin-top:1rem;padding:.85rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(102,126,234,.3)}.view-detailed-report-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.4)}.view-detailed-report-button:disabled{opacity:.6;cursor:not-allowed}.messages-container{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem;scroll-behavior:smooth;max-height:280px;transition:opacity .3s ease;min-height:0;box-sizing:border-box;width:100%}.messages-container::-webkit-scrollbar{width:10px}.messages-container::-webkit-scrollbar-track{background:hsla(0,0%,100%,.1);border-radius:10px;margin:.5rem 0}.messages-container::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.4);border-radius:10px;border:2px solid transparent;background-clip:padding-box;-webkit-transition:background .2s ease;transition:background .2s ease}.messages-container::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.6);background-clip:padding-box}.chat-footer{flex:0 0 auto;padding:1.5rem 2rem;background:hsla(0,0%,100%,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:1rem;box-shadow:0 -4px 15px rgba(0,0,0,.15);border-top:1px solid hsla(0,0%,100%,.2);transition:background .3s ease;width:100%;box-sizing:border-box;position:relative;z-index:10}.chat-footer,.recording-section{display:flex;flex-direction:column;align-items:center}.recording-section{gap:1.5rem}.recording-controls{flex-direction:column;width:100%;max-width:100%;box-sizing:border-box}.record-button,.recording-controls{display:flex;align-items:center;gap:.75rem}.record-button{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;background:#fff;color:#667eea;border:none;border-radius:50px;cursor:pointer;box-shadow:0 5px 20px rgba(0,0,0,.3);transition:all .3s ease;min-width:200px;justify-content:center}.record-button:hover:not(:disabled):not(.disabled-ai-speaking){transform:translateY(-2px);box-shadow:0 15px 40px rgba(0,0,0,.4)}.record-button.disabled-ai-speaking,.record-button:disabled{opacity:.6;cursor:not-allowed;background:#e0e0e0;color:#999;box-shadow:0 2px 10px rgba(0,0,0,.1)}.record-button.disabled-ai-speaking:not(:disabled){cursor:not-allowed}.ai-speaking-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:rgba(255,193,7,.15);border:2px solid rgba(255,193,7,.4);border-radius:25px;color:#fff;font-size:.9rem;font-weight:500;animation:pulse-notice 2s ease-in-out infinite;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}@keyframes pulse-notice{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.notice-icon{font-size:1.2rem;animation:pulse-icon 1.5s ease-in-out infinite}@keyframes pulse-icon{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.notice-text{text-shadow:1px 1px 2px rgba(0,0,0,.2)}.mic-icon{font-size:2rem}.recording-active{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.recording-indicator{display:flex;align-items:center;gap:1rem;background:hsla(0,0%,100%,.95);padding:.75rem 1.5rem;border-radius:50px;box-shadow:0 5px 20px rgba(0,0,0,.2)}.pulse-dot{width:16px;height:16px;background:#f44;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.recording-text{font-size:1.1rem;font-weight:600;color:#333}.recording-timer{font-size:1.2rem;font-weight:700;color:#667eea;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:60px;text-align:right}.stop-button{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;background:#f44;color:#fff;border:none;border-radius:50px;cursor:pointer;box-shadow:0 5px 20px rgba(255,68,68,.4);transition:all .3s ease;min-width:200px;display:flex;align-items:center;justify-content:center;gap:.5rem}.stop-button:hover:not(:disabled){background:#c00;transform:translateY(-2px);box-shadow:0 8px 25px rgba(255,68,68,.5)}.stop-button:disabled{opacity:.6;cursor:not-allowed;background:#c66;box-shadow:0 2px 10px rgba(255,68,68,.2)}.error-message{background:#fff3cd;border:2px solid #ffc107;color:#856404;padding:1rem 1.5rem;border-radius:10px;font-weight:500;text-align:center;max-width:500px}.loading{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#fff}button:focus-visible{outline:2px solid rgba(102,126,234,.6);outline-offset:2px;border-radius:50px}button:disabled:focus-visible{outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ai-speaking-notice,.recording-active{animation:fadeIn .3s ease-out}.spinner{width:50px;height:50px;border:4px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.result-section{margin-top:2rem}.result-card{background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 10px 40px rgba(0,0,0,.2)}.result-card h2{color:#667eea;margin-bottom:1.5rem;font-size:1.8rem}.transcription{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.transcription-item{background:#f8f9fa;padding:1.5rem;border-radius:12px;border-left:4px solid #667eea}.transcription-item label{display:block;font-weight:600;color:#555;margin-bottom:.5rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.user-text{color:#333}.ai-text,.user-text{font-size:1.1rem;line-height:1.6;margin:0}.ai-text{color:#667eea;font-weight:500}.score-section{margin-top:2rem;padding-top:2rem;border-top:2px solid #eee}.score-section h3{color:#333;margin-bottom:1.5rem;font-size:1.3rem}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem}.score-item{display:flex;flex-direction:column;gap:.5rem}.score-item label{font-weight:600;color:#666;font-size:.9rem}.score-bar{position:relative;height:32px;background:#e9ecef;border-radius:16px;overflow:hidden;display:flex;align-items:center}.score-fill{position:absolute;height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:16px;transition:width .5s ease}.score-value{position:absolute;right:12px;font-weight:700;color:#333;font-size:.9rem;z-index:1}.feedback{background:#e7f3ff;border-left:4px solid #2196f3;padding:1rem 1.5rem;border-radius:8px;color:#333;line-height:1.6;margin-top:1rem}.avatar-section{margin:2rem 0;padding:2rem;background:#f8f9fa;border-radius:12px}.reset-button{width:100%;padding:1rem;font-size:1.1rem;font-weight:600;background:#667eea;color:#fff;border:none;border-radius:10px;cursor:pointer;margin-top:1.5rem;transition:all .3s ease}.reset-button:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 5px 15px rgba(102,126,234,.4)}.avatar-loading{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%}.loading-dots{display:flex;gap:4px}.loading-dots span{width:6px;height:6px;background:#fff;border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width:1024px){.chat-container{max-width:100%}.video-call-section{padding:.5rem;flex-shrink:0}.messages-section{max-height:300px}.messages-container{max-height:250px}}@media (max-width:768px){.chat-container{height:100vh;max-width:100%;overflow:hidden;display:flex;flex-direction:column}.desktop-only{display:none!important}.mobile-only,.mobile-only.end-call-button,.mobile-only.record-button-hold{display:flex!important;visibility:visible!important;opacity:1!important}.chat-header{padding:.75rem 1rem}.chat-header h1{font-size:1.3rem;margin-bottom:.25rem}.chat-header p{font-size:.85rem;margin-bottom:.25rem}.new-conversation-button{position:static;margin-top:.5rem;padding:.4rem .8rem;font-size:.8rem}.topic-selection{padding:1rem}.topic-selection h2{font-size:1.2rem;margin-bottom:1.5rem}.topics-grid{grid-template-columns:1fr;gap:1rem;max-width:100%}.topic-card{padding:1.25rem;border-radius:15px}.topic-icon{font-size:2.5rem}.topic-name{font-size:1rem}.video-call-section{padding:.5rem;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}.messages-section{flex:0 0 auto;max-height:35vh;min-height:0}.messages-section.collapsed{max-height:50px;min-height:50px}.conversation-wrapper{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.chat-header{display:none}.video-call-section{position:fixed;top:0;left:0;right:0;bottom:0;padding:0;flex:none;z-index:1;background:#000}.video-call-container{width:100%;height:100%;padding:0;position:relative}.desktop-layout{display:none!important}.mobile-phone-layout{display:block;width:100%;height:100%;position:relative}.ai-video-fullscreen{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:1}.ai-video-fullscreen .video-wrapper{width:100%;height:100%;min-height:100vh;aspect-ratio:auto;border-radius:0}.ai-video-fullscreen .ai-avatar-container{width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center}.user-video-overlay{position:fixed;top:1rem;right:1rem;width:150px;height:200px;z-index:10;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.5);border:2px solid hsla(0,0%,100%,.3);background:rgba(0,0,0,.5)}.user-video-overlay .video-wrapper{width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:12px}.user-video-overlay .user-video{width:100%;height:100%;object-fit:cover;border-radius:12px}.user-video-overlay .camera-toggle-button.mobile-overlay{position:absolute;top:.25rem;right:.25rem;padding:.25rem .4rem;font-size:.85rem;min-width:28px;min-height:28px;background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.3)}.messages-section{display:none}.messages-section.expanded{display:flex;position:fixed;top:0;left:0;right:0;bottom:100px;z-index:50;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);max-height:none;opacity:1}.conversation-score-summary{margin:.5rem;flex:0 0 auto;max-height:30vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.chat-footer{position:fixed;bottom:0;left:0;right:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:100;border:none;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:1rem;pointer-events:none;min-height:150px;padding:0 0 1.5rem;overflow:visible}.recording-active.desktop-only{display:none!important}.recording-controls{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1rem;position:relative;max-width:100%;pointer-events:auto;min-height:80px}.chat-footer>.end-call-button.mobile-only,.chat-footer>.record-button-hold.mobile-only{position:fixed!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important}.error-message{pointer-events:auto;position:relative;z-index:103;margin-bottom:.5rem}.record-button-hold.mobile-only{width:70px;height:70px;border-radius:50%;background:#fff;border:none;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.5);transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:fixed!important;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:102;pointer-events:auto;visibility:visible!important;opacity:1!important}.record-button-hold.mobile-only.recording,.record-button-hold.mobile-only:active{transform:translateX(-50%) scale(.95);background:#f44;box-shadow:0 2px 15px rgba(255,68,68,.5)}.record-button-hold.mobile-only.recording{transform:translateX(-50%)}.record-button-hold.mobile-only.disabled-ai-speaking,.record-button-hold.mobile-only:disabled{opacity:.5!important;cursor:not-allowed;background:#e0e0e0;visibility:visible!important}.mic-icon-hold{font-size:2rem;transition:transform .2s ease}.record-button-hold.mobile-only.recording .mic-icon-hold{animation:pulse-mic 1s ease-in-out infinite}@keyframes pulse-mic{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.hold-text{font-size:.7rem;font-weight:500;color:#333;margin-top:.1rem}.record-button-hold.mobile-only.recording .hold-text{color:#fff}.end-call-button.mobile-only{width:56px;height:56px;border-radius:50%;background:#f44;border:none;display:flex!important;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px rgba(255,68,68,.5);transition:all .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:fixed!important;bottom:1.5rem;right:1rem;z-index:101;pointer-events:auto;visibility:visible!important;opacity:1!important}.end-call-button.mobile-only:hover:not(:disabled){background:#c00;transform:scale(1.05);box-shadow:0 6px 25px rgba(255,68,68,.6)}.end-call-button.mobile-only:active:not(:disabled){transform:scale(.95)}.end-call-button.mobile-only:disabled{opacity:.5!important;cursor:not-allowed;background:#c66;visibility:visible!important}.end-call-icon{font-size:1.5rem;transform:rotate(135deg);display:block}.messages-header{padding:.6rem .75rem}.messages-header h3{font-size:.9rem}.message-count{font-size:.7rem;padding:.1rem .35rem}.messages-toggle{font-size:1rem;padding:.2rem .4rem}.messages-container{padding:.75rem;max-height:160px;gap:.75rem}.recording-controls{gap:.75rem;width:100%}.record-button{padding:.85rem 1.75rem;font-size:.95rem;min-width:160px;min-height:44px;gap:.5rem;touch-action:manipulation}.mic-icon{font-size:1.5rem}.stop-button{min-height:44px;touch-action:manipulation}.recording-active-mobile.mobile-only{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1rem;position:fixed!important;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:103;pointer-events:auto!important;width:auto;max-width:90%;visibility:visible!important;opacity:1!important}.recording-indicator-mobile{display:flex;align-items:center;gap:.75rem;background:hsla(0,0%,100%,.95);padding:.6rem 1rem;border-radius:50px;box-shadow:0 4px 15px rgba(0,0,0,.3)}.recording-text-mobile{font-size:.9rem;font-weight:600;color:#333}.recording-timer-mobile{font-size:1rem;font-weight:700;color:#667eea;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:50px;text-align:right}.stop-button-mobile{padding:.85rem 1.75rem;font-size:.95rem;font-weight:600;background:#f44;color:#fff;border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 20px rgba(255,68,68,.5);transition:all .2s ease;min-width:160px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:.5rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.stop-button-mobile:hover:not(:disabled){background:#c00;transform:scale(1.02);box-shadow:0 6px 25px rgba(255,68,68,.6)}.stop-button-mobile:active:not(:disabled){transform:scale(.98)}.stop-button-mobile:disabled{opacity:.6;cursor:not-allowed;background:#c66}.stop-icon{font-size:1.2rem}.stop-text{font-weight:600}.ai-speaking-notice{padding:.5rem .9rem;font-size:.8rem;border-radius:20px}.notice-icon{font-size:1rem}.notice-text{font-size:.75rem}.chat-footer{padding:1rem;gap:.75rem;flex-shrink:0}.topic-info-section{padding:1rem}.topic-info-card{padding:1.5rem}.topic-info-header{gap:.75rem;margin-bottom:1rem}.topic-info-icon{font-size:2.5rem}.topic-info-header h2{font-size:1.4rem}.recording-indicator{padding:.6rem 1.25rem;gap:.75rem}.pulse-dot{width:12px;height:12px}.recording-text{font-size:.95rem}.recording-timer{font-size:.95rem;min-width:50px}.stop-button{padding:.85rem 1.75rem;font-size:.95rem;min-width:160px}.error-message{padding:.75rem 1rem;font-size:.85rem;max-width:100%}.conversation-score-summary{padding:1rem;margin:.75rem}.conversation-score-summary h3{font-size:1.1rem;margin-bottom:1rem}.score-summary-grid{gap:.75rem;grid-template-columns:1fr}.end-conversation-button{padding:.65rem 1.25rem;font-size:.85rem;min-height:40px}}.desktop-only{display:flex}.mobile-only{display:none!important}@media (max-width:480px){.chat-container{height:100vh;overflow:hidden}.chat-header{padding:.6rem .75rem}.chat-header h1{font-size:1.1rem}.chat-header p{font-size:.75rem}.new-conversation-button{padding:.35rem .7rem;font-size:.75rem}.topic-selection{padding:.75rem}.topic-selection h2{font-size:1.1rem;margin-bottom:1rem}.topics-grid{gap:.75rem}.topic-card{padding:1rem;border-radius:12px}.topic-icon{font-size:2rem}.topic-name{font-size:.9rem}.video-call-section{padding:.25rem;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}.messages-container{-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain}button{-webkit-tap-highlight-color:transparent;-moz-user-select:none;user-select:none;-webkit-user-select:none}.messages-section{flex:0 0 auto;max-height:30vh;min-height:0}.messages-section.collapsed{max-height:45px;min-height:45px}.conversation-wrapper{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.conversation-score-summary{flex:0 0 auto}.score-summary-grid{gap:.5rem}.messages-header{padding:.5rem .6rem}.messages-header h3{font-size:.85rem}.message-count{font-size:.65rem;padding:.1rem .3rem}.messages-toggle{font-size:.9rem;padding:.15rem .35rem}.messages-container{padding:.6rem;max-height:140px;gap:.6rem}.recording-controls{gap:.6rem;position:relative;padding-bottom:80px}.chat-footer{padding:1rem 1rem 80px}.record-button{padding:.75rem 1.5rem;font-size:.85rem;min-width:140px;min-height:44px;gap:.4rem;touch-action:manipulation}.record-button-hold{width:65px;height:65px;bottom:1.25rem}.mic-icon-hold{font-size:1.8rem}.hold-text{font-size:.65rem}.end-call-button{width:52px;height:52px;bottom:1.25rem;right:.75rem}.end-call-icon{font-size:1.3rem}.user-video-overlay{width:130px;height:173px;top:.75rem;right:.75rem}.recording-active-mobile{bottom:1.25rem}.recording-indicator-mobile{padding:.5rem .85rem;gap:.6rem}.recording-text-mobile{font-size:.85rem}.recording-timer-mobile{font-size:.95rem;min-width:45px}.stop-button-mobile{padding:.75rem 1.5rem;font-size:.9rem;min-width:140px;min-height:44px}.stop-icon{font-size:1.1rem}.stop-text{font-size:.85rem}.mic-icon{font-size:1.3rem}.stop-button{min-height:44px;touch-action:manipulation}.messages-toggle,.new-conversation-button{min-height:36px;touch-action:manipulation}.messages-toggle{min-width:36px}.topic-card{min-height:100px;touch-action:manipulation}.ai-speaking-notice{padding:.45rem .8rem;font-size:.75rem;border-radius:18px}.notice-icon{font-size:.9rem}.notice-text{font-size:.7rem}.chat-footer{gap:.6rem;flex-shrink:0}.chat-footer,.topic-info-section{padding:.75rem}.topic-info-card{padding:1.25rem}.topic-info-header{gap:.5rem;margin-bottom:.75rem;flex-direction:column;align-items:center;text-align:center}.topic-info-icon{font-size:2rem}.topic-info-header h2{font-size:1.2rem}.topic-info-content{margin-bottom:1rem}.topic-description,.topic-instructions{font-size:.85rem;line-height:1.6}.start-conversation-button{padding:.85rem 1.5rem;font-size:1rem;min-height:44px}.back-to-topics-button{padding:.65rem 1.25rem;font-size:.9rem;min-height:40px}.recording-indicator{padding:.5rem 1rem;gap:.6rem;flex-wrap:wrap}.pulse-dot{width:10px;height:10px}.recording-text{font-size:.85rem}.recording-timer{font-size:.85rem;min-width:45px}.stop-button{padding:.75rem 1.5rem;font-size:.85rem;min-width:140px}.error-message{padding:.6rem .9rem;font-size:.8rem}.conversation-score-summary{padding:.75rem;margin:.5rem}.conversation-score-summary h3{font-size:1rem;margin-bottom:.75rem}.score-summary-grid{gap:.6rem;grid-template-columns:1fr}.score-item label{font-size:.8rem}.score-bar{height:28px}.score-value{font-size:.8rem;right:8px}.end-conversation-button{padding:.6rem 1rem;font-size:.8rem;min-height:36px;margin-top:.4rem}}@media (max-width:360px){.chat-header{padding:.5rem .6rem}.chat-header h1{font-size:1rem}.chat-header p{font-size:.7rem}.new-conversation-button{padding:.3rem .6rem;font-size:.7rem}.video-call-section{padding:.2rem}.record-button,.stop-button{padding:.7rem 1.25rem;font-size:.8rem;min-width:120px;min-height:40px}.messages-section{max-height:160px}.messages-section.collapsed{max-height:40px}.messages-container{padding:.5rem;max-height:120px;gap:.5rem}.messages-header{padding:.45rem .5rem}.messages-header h3{font-size:.8rem}.message-count{font-size:.6rem;padding:.08rem .25rem}.topic-card{padding:.85rem}.topic-icon{font-size:1.75rem}.topic-name{font-size:.85rem}.conversation-score-summary{padding:.6rem;margin:.4rem}.conversation-score-summary h3{font-size:.9rem;margin-bottom:.6rem}.score-summary-grid{gap:.5rem}.score-item label{font-size:.75rem}.score-bar{height:24px}.score-value{font-size:.75rem;right:6px}.end-conversation-button{padding:.55rem .9rem;font-size:.75rem;min-height:32px}}