:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}body,html{margin:0;padding:0;overflow:hidden;background:#000;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;user-select:none;-webkit-user-select:none}.fullscreen-avatar{position:relative;width:100vw;height:100vh;overflow:hidden}.content-container{position:relative;height:100vh;width:auto;max-width:100vw}#staticBackground{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;background-color:transparent}.video-layer{position:absolute;object-fit:cover;object-position:center center;background:transparent!important;-webkit-background:transparent!important;z-index:10;transition:none;mix-blend-mode:normal}.video-layer.with-mask{-webkit-mask-image:linear-gradient(to right,transparent 0%,black 20px,black calc(100% - 20px),transparent 100%),linear-gradient(to bottom,transparent 0%,black 20px,black calc(100% - 20px),transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,black 20px,black calc(100% - 20px),transparent 100%),linear-gradient(to bottom,transparent 0%,black 20px,black calc(100% - 20px),transparent 100%);mask-composite:intersect}#streamingVideo{z-index:10;opacity:1;background:transparent!important}#transitionVideo{z-index:11;opacity:0;background:transparent!important}#lipsyncVideo{z-index:12;opacity:0;background:transparent!important}#idleVideo{z-index:13;opacity:1;background:transparent!important}.minimal-indicator{position:absolute;bottom:30px;right:30px;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 12px;border-radius:50px;display:flex;align-items:center;gap:10px;z-index:9999;opacity:0;transition:opacity .3s ease;border:1px solid rgba(255,255,255,.1)}.minimal-indicator.visible{opacity:1}.mini-timer{color:#fff;font-family:monospace;font-size:14px;font-weight:600}.mini-dot{width:8px;height:8px;border-radius:50%;background-color:#666;box-shadow:0 0 8px #0000004d;transition:background-color .2s}.activation-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000c;z-index:10000;display:flex;align-items:center;justify-content:center}.activate-btn{padding:15px 40px;font-size:18px;cursor:pointer;background:transparent;border:2px solid white;color:#fff;text-transform:uppercase;letter-spacing:2px;transition:all .3s;border-radius:50px}.activate-btn:hover{background:#fff;color:#000;box-shadow:0 0 20px #ffffff80}.transcription-bubble{position:absolute;bottom:110px;left:50%;transform:translate(-50%) translateY(10px);max-width:75%;z-index:5000;pointer-events:none;display:flex;align-items:flex-start;gap:8px;background:#0000008c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:10px 16px;opacity:0;transition:opacity .35s ease,transform .35s ease}.transcription-bubble.visible{opacity:1;transform:translate(-50%) translateY(0)}.transcription-icon{flex-shrink:0;margin-top:2px;color:#0f8;display:flex;align-items:center}.transcription-text{margin:0;color:#fff;font-size:1rem;font-weight:500;line-height:1.5;word-break:break-word}.avatar-controls-right{position:absolute;right:30px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;height:auto;width:100px;z-index:5000;pointer-events:none}.avatar-controls-right button{pointer-events:auto}.language-selector-vertical{display:flex;flex-direction:column;align-items:center;gap:15px;background:#00000080;padding:15px 10px;border-radius:50px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);animation:fadeInUp .3s ease forwards}.lang-btn{background:#ffffffe6;color:#000;border:none;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;font-weight:800;font-size:18px;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.lang-btn:hover{background:#fff;box-shadow:0 0 16px #ffffff59}.lang-btn:active{transform:scale(.9)}.divider-line{width:20px;height:1px;background:#ffffff4d}.mic-controls-vertical{display:flex;flex-direction:column;align-items:center;gap:18px;animation:fadeInUp .3s ease forwards;width:100%}.back-btn-vertical{width:48px;height:48px;border-radius:50%;background:#0009;color:#fff;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:background .2s ease,transform .1s ease}.back-btn-vertical:hover{background:#fff3}.back-btn-vertical:active{transform:scale(.95)}.back-btn-vertical svg{display:block;flex-shrink:0}.mic-btn{width:80px;height:80px;border-radius:50%;border:none;padding:0;background:#ffffffeb;color:#111;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,background .2s ease,box-shadow .2s ease;box-shadow:0 4px 20px #00000059;-webkit-touch-callout:none;outline:none;touch-action:none;-webkit-user-select:none;user-select:none}.mic-btn:hover{background:#fff;box-shadow:0 6px 28px #00000073}.mic-btn:active{transform:scale(.94)}.mic-btn.recording{background:#ff3b3b;color:#fff;box-shadow:0 0 #ff3b3b80;animation:micPulse 1.4s ease-out infinite}.mic-recording-dot{width:18px;height:18px;border-radius:50%;background:#fff;display:block}.selected-lang-badge{width:52px;height:52px;border-radius:50%;background:#ffffff2e;border:2px solid rgba(255,255,255,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px;letter-spacing:1px;pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,.6);box-shadow:0 2px 12px #0006}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes micPulse{0%{box-shadow:0 0 #ff3b3b8c}70%{box-shadow:0 0 0 18px #ff3b3b00}to{box-shadow:0 0 #ff3b3b00}}@media(max-width:600px){.avatar-controls-right{right:14px;width:76px}.lang-btn{width:52px;height:52px;font-size:15px}.mic-btn{width:68px;height:68px}.back-btn-vertical{width:42px;height:42px}.selected-lang-badge{width:44px;height:44px;font-size:13px}.transcription-bubble{max-width:88%;bottom:90px;padding:9px 13px}.transcription-text{font-size:.9rem}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden;background:linear-gradient(135deg,#0a0e27,#1a1f3a,#0f1419)}.avatar-container{display:flex;width:100vw;height:100vh;color:#fff;overflow:hidden;position:relative}.video-wrapper{display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;background:#000;overflow:hidden;position:relative}.content-container{position:relative;height:100vh;max-width:100vw;width:auto}#staticBackground{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.video-layer{position:absolute;object-fit:cover;object-position:center center;background:transparent!important;z-index:10;transition:none;mask-composite:intersect;-webkit-mask-composite:source-in}#streamingVideo{z-index:10;opacity:1;background:#000}#transitionVideo{z-index:11;opacity:0}#lipsyncVideo{z-index:12;opacity:0}#idleVideo{z-index:13;opacity:1}.video-wrapper.transitioning #idleVideo{opacity:0}.video-wrapper.transitioning #transitionVideo{opacity:1}.video-wrapper.streaming #idleVideo,.video-wrapper.streaming #lipsyncVideo,.video-wrapper.streaming #transitionVideo{opacity:0}.video-wrapper.streaming #streamingVideo{opacity:1}.video-wrapper.lipsync-active #idleVideo{opacity:0}.video-wrapper.lipsync-active #lipsyncVideo{opacity:1}.video-wrapper.lipsync-active #transitionVideo,.video-wrapper.lipsync-active #streamingVideo{opacity:0}.video-overlay{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:2rem;background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,transparent 20%,transparent 80%,rgba(0,0,0,.7) 100%);z-index:50}.status-bar{display:flex;align-items:center;gap:.75rem;background:#0a0e27d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:1rem 1.5rem;border-radius:60px;align-self:flex-start;pointer-events:auto;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px #0000004d}.status-indicator{width:12px;height:12px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.status-indicator.connected{background:#0f8;box-shadow:0 0 16px #0f8c}.status-indicator.disconnected{background:#f44;box-shadow:0 0 16px #f44c}.status-indicator.connecting{background:#fb0;box-shadow:0 0 16px #fb0c}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.status-text{font-size:.9375rem;font-weight:600;color:#fffffff2}.control-panel{width:400px;min-width:400px;background:linear-gradient(180deg,#1a1f3afa,#0f1419fa);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;z-index:60}.chat-history{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1rem}.message{display:flex;animation:messageSlide .4s cubic-bezier(.4,0,.2,1)}.message.user{justify-content:flex-end}.message-content{max-width:85%;padding:1rem 1.5rem;border-radius:20px;font-size:.9375rem;line-height:1.6;word-wrap:break-word}.message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:6px;box-shadow:0 4px 20px #667eea4d}.message.assistant .message-content{background:#ffffff0f;color:#fffffff2;border:1px solid rgba(255,255,255,.08);border-bottom-left-radius:6px}@keyframes messageSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.input-area{padding:2rem;background:#00000040;border-top:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;gap:1rem;width:100%}.text-input{flex:1;padding:0 1.5rem;height:60px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:16px;color:#fff;font-size:1rem;outline:none}.text-input:disabled{opacity:.5;cursor:not-allowed}.send-button{width:60px;height:60px;border-radius:16px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;font-size:1.5rem;box-shadow:0 4px 20px #667eea66}.send-button:disabled{opacity:.5;cursor:not-allowed}.stop-response-btn{width:100%;height:60px;background:linear-gradient(135deg,#f44,#c00);border:none;border-radius:16px;color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #ff44444d}.activation-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f1419;z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px}.activate-btn{padding:16px 32px;font-size:18px;cursor:pointer;background:#0f8;border:none;border-radius:50px;font-weight:700;box-shadow:0 0 30px #00ff884d}.control-button{background:#0a0e27d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;pointer-events:auto}.debug-controls{padding:0 2rem 1rem;display:flex;gap:10px;justify-content:center}.debug-btn{padding:8px 12px;cursor:pointer;background:#ffffff0d;color:#aaa;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .2s}.debug-btn:hover{background:#ffffff1a;color:#fff}.loading-screen{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#0f1419;color:#fff;font-size:1.5rem}.debug-overlay{position:absolute;top:90px;left:20px;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);padding:15px;border-radius:12px;z-index:9999;font-family:monospace;font-size:13px;color:#eee;width:250px;pointer-events:none;box-shadow:0 4px 20px #00000080}.debug-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:5px}.debug-row:last-child{margin-bottom:0;border-bottom:none}.debug-label{color:#888;font-weight:600}.debug-val{font-weight:700}.debug-val.timer{color:#0f8;font-size:1.1em}.debug-status-container{display:flex;align-items:center;gap:8px}.debug-indicator{width:10px;height:10px;border-radius:50%;background-color:#666;box-shadow:0 0 5px #00000080;transition:background-color .2s}.input-area{padding:1.5rem;background:#00000040;border-top:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;gap:.75rem;width:100%;align-items:center}.mic-button{width:50px;height:60px;min-width:50px;border-radius:16px;border:none;background:#444;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 4px 10px #0003}.mic-button:hover{background:#555}.mic-button.recording{background:#f44;box-shadow:0 0 15px #f446;animation:pulseMic 1.5s infinite}@keyframes pulseMic{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.text-input{flex:1;min-width:0;padding:0 1rem;height:60px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:16px;color:#fff;font-size:1rem;outline:none}.send-button{width:60px;height:60px;min-width:60px;border-radius:16px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;font-size:1.5rem;box-shadow:0 4px 20px #667eea66;display:flex;align-items:center;justify-content:center}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;padding:0;overflow:hidden;background-color:#000}.fs-avatar-container{width:100vw;height:100vh;background:#000;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.fs-video-wrapper{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.fs-content{position:relative;max-width:100vw;max-height:100vh;height:100%;width:auto}@media(max-aspect-ratio:9/16){.fs-content{width:100%;height:auto}}#fs-staticBackground{display:block;width:100%;height:100%;object-fit:contain}.fs-video-layer{position:absolute;object-fit:cover;z-index:10}.fs-video-layer{opacity:0;transition:opacity .1s}.fs-video-wrapper:not(.transitioning):not(.streaming):not(.lipsync-active) video:nth-child(5){opacity:1;z-index:13}.fs-video-wrapper.transitioning video:nth-child(3){opacity:1;z-index:11}.fs-video-wrapper.transitioning video:nth-child(5){opacity:0}.fs-video-wrapper.lipsync-active video:nth-child(4){opacity:1;z-index:12}.fs-video-wrapper.lipsync-active video:nth-child(5){opacity:0}.fs-video-wrapper.streaming video:nth-child(2){opacity:1;z-index:10;background:#000}.fs-video-wrapper.streaming video:nth-child(5){opacity:0}.fs-video-wrapper.streaming video:nth-child(4){opacity:0}.fs-video-wrapper.streaming video:nth-child(3){opacity:0}.fs-activation-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fs-activate-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 2s infinite}.fs-activate-text{color:#fff;font-family:sans-serif;font-size:1.2rem;text-transform:uppercase;letter-spacing:2px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.fs-loading{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#000;color:#fff}
