:root{font-family:Inter,Microsoft YaHei,system-ui,sans-serif;color:#f5f7fb;background:#000}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#000}button{font:inherit}.stage{position:relative;width:100vw;height:100vh;background:#000;overflow:hidden}.availability-stage{position:relative;width:100vw;height:100vh;overflow:hidden;background:#000}.availability-message{position:absolute;right:24px;bottom:max(24px,env(safe-area-inset-bottom));left:24px;margin:0;color:#ffffffdb;font-size:clamp(16px,1.5vw,24px);line-height:1.5;text-align:center}.stage:fullscreen{width:100vw;height:100vh}.video-layer,.digital-human-video{width:100%;height:100%}.video-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.digital-human-video{position:relative;overflow:hidden;background:#000}.digital-human-video video,.digital-human-video .frame-shield{position:absolute;left:calc(50% + var(--digital-human-x, 0vw));bottom:calc(0px - var(--digital-human-y, 0vh));width:auto;height:var(--digital-human-height, 100vh);max-width:none;max-height:none;object-fit:contain;transform:translate(-50%);background:transparent}.digital-human-video video{z-index:2;visibility:hidden;opacity:0}.digital-human-video video.active{z-index:3;visibility:visible;opacity:1}.digital-human-video .frame-shield{z-index:4;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .12s ease-out;will-change:opacity}.digital-human-video .frame-shield.visible{visibility:visible;opacity:1}.digital-human-video .frame-shield.visible.fading{opacity:0}.media-name{position:absolute;z-index:5;left:3vw;bottom:3vh;max-width:45vw;overflow:hidden;color:#ffffff6b;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.stage[data-ui-mode=minimal] .media-name,.stage[data-ui-mode=minimal] .terminal-ui{display:none}.subtitle-panel{position:absolute;padding:0;z-index:10;overflow-x:hidden;overflow-y:auto;background:transparent;scrollbar-width:none;pointer-events:none}.subtitle-panel::-webkit-scrollbar{display:none}.qa-turn{display:flex;flex-direction:column;gap:8px;margin:0 0 18px}.subtitle-panel p{max-width:88%;margin:0;line-height:1.65;overflow-wrap:anywhere;text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 16px rgba(0,0,0,.8)}.user-text{align-self:flex-end;color:#fff;text-align:right}.assistant-text{align-self:flex-start;color:#ffe3a3;text-align:left}.status-pill{position:absolute;top:4vh;right:3vw;padding:10px 16px;border-radius:999px;background:#0a0f18b8;border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;gap:9px;z-index:10;pointer-events:none}.avatar-identity{position:absolute;top:4vh;left:50%;z-index:4;display:grid;justify-items:center;gap:3px;padding:10px 22px;border:1px solid rgba(255,214,102,.25);border-radius:999px;background:#230f07ad;box-shadow:0 12px 36px #00000047;transform:translate(-50%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.avatar-identity strong{color:#ffe29a;font-size:1rem;letter-spacing:.12em}.avatar-identity span{color:#fff9;font-size:.66rem}.connection-dot{width:9px;height:9px;border-radius:50%;background:#718096}.connection-dot.ready{background:#4ade80;box-shadow:0 0 12px #4ade80cc}.connection-dot.connecting{background:#facc15}.connection-dot.error{background:#fb7185}.metrics-panel{position:absolute;top:12vh;right:calc(3vw + 72px);width:270px;padding:18px;border-radius:16px;background:#04080fad;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;pointer-events:none}.metrics-panel h2{margin:0 0 12px;font-size:.95rem;color:#9bd8ff}.metric-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:.82rem;color:#ffffffad}.metric-row strong{color:#fff;font-variant-numeric:tabular-nums}.error-text{color:#fda4af}.controls{position:absolute;right:3vw;bottom:4vh;display:flex;gap:12px;z-index:20;pointer-events:auto}.conversation-status-control{position:absolute;left:50%;bottom:max(20px,env(safe-area-inset-bottom));z-index:30;display:grid;justify-items:center;gap:9px;width:min(440px,calc(100vw - 32px));transform:translate(-50%);pointer-events:auto}.conversation-status-button{position:relative;display:grid;place-items:center;width:clamp(68px,5.25vw,82px);height:clamp(68px,5.25vw,82px);padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff8e7;background:radial-gradient(circle at 35% 24%,rgba(255,255,255,.3),transparent 31%),linear-gradient(145deg,#ffffff29,#845c2230);box-shadow:inset 0 1px #ffffff52,0 12px 35px #0000007a,0 0 25px #ffcc621f;cursor:pointer;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.conversation-status-button:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}.conversation-status-button:focus-visible{outline:3px solid rgba(255,220,139,.82);outline-offset:4px}.conversation-status-button:disabled{opacity:.58;cursor:not-allowed}.conversation-status-control p{margin:0;color:#ffffffeb;font-size:clamp(13px,1vw,16px);font-weight:600;letter-spacing:.02em;text-align:center;text-shadow:0 2px 10px #000,0 0 18px #000}.conversation-microphone-icon{width:34px;height:34px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 6px rgba(0,0,0,.42))}.conversation-waveform-icon{display:flex;align-items:center;justify-content:center;gap:4px;height:36px}.conversation-waveform-icon i{display:block;width:3px;height:11px;border-radius:999px;background:currentColor;box-shadow:0 0 8px #ffe19780;transform-origin:center;animation:conversation-wave .92s ease-in-out infinite}.conversation-waveform-icon i:nth-child(2){animation-delay:-.72s}.conversation-waveform-icon i:nth-child(3){animation-delay:-.54s}.conversation-waveform-icon i:nth-child(4){animation-delay:-.36s}.conversation-waveform-icon i:nth-child(5){animation-delay:-.18s}.conversation-status-control[data-conversation-state=listening] .conversation-status-button,.conversation-status-control[data-conversation-state=thinking] .conversation-status-button,.conversation-status-control[data-conversation-state=speaking] .conversation-status-button,.conversation-status-control[data-conversation-state=interrupting] .conversation-status-button{box-shadow:inset 0 1px #ffffff61,0 12px 35px #0000007a,0 0 0 8px #ffcc6212,0 0 34px #ffcc6240;animation:conversation-breathe 1.8s ease-in-out infinite}@keyframes conversation-wave{0%,to{transform:scaleY(.55);opacity:.7}50%{transform:scaleY(2.35);opacity:1}}@keyframes conversation-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}.microphone-privacy-note{position:fixed;right:2.5vw;bottom:1.2vh;z-index:8;max-width:min(44rem,72vw);margin:0;color:#dde7f2a3;font-size:clamp(.7rem,.8vw,.9rem);line-height:1.45;text-align:right;pointer-events:none}.controls button{min-width:120px;padding:12px 18px;border:0;border-radius:12px;color:#06111f;background:#8bd3ff;cursor:pointer}.controls button:disabled{opacity:.45;cursor:not-allowed}.controls button.secondary{color:#e7eef9;background:#ffffff1f;border:1px solid rgba(255,255,255,.18)}.controls button.reactivate-required{color:#2b0b10;background:#fda4af;box-shadow:0 0 24px #fda4af3d}.config-sync-message{position:absolute;right:3vw;bottom:calc(4vh + 62px);z-index:8;max-width:min(520px,78vw);padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:#dbeafe;background:#040a12d1;pointer-events:none}.state-test-panel{position:absolute;left:3vw;bottom:4vh;z-index:5;width:min(540px,58vw);padding:16px;border:1px solid rgba(255,214,102,.24);border-radius:16px;background:#180b06c7;box-shadow:0 18px 50px #00000057;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.state-test-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#ffe29a}.state-test-title span{color:#ffffff8f;font-size:.74rem}.state-test-buttons,.state-test-actions{display:flex;flex-wrap:wrap;gap:8px}.state-test-actions{margin-top:9px}.digital-human-size-control{display:grid;grid-template-columns:auto 34px minmax(120px,1fr) 34px 54px;align-items:center;gap:10px;margin:0 0 12px;color:#ffffffbd;font-size:.78rem}.digital-human-size-control input{width:100%;accent-color:#ffe29a}.state-test-panel .digital-human-size-control button{width:32px;height:30px;padding:0;font-size:1rem;line-height:1}.digital-human-size-control output{color:#ffe29a;font-variant-numeric:tabular-nums;text-align:right}.digital-human-position-control{display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:14px;margin-bottom:12px;color:#ffffffbd;font-size:.78rem}.digital-human-position-control>div:first-child{display:grid;gap:5px}.digital-human-position-control output{color:#ffe29a;font-variant-numeric:tabular-nums}.position-pad{display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,32px);gap:4px}.state-test-panel .position-pad button{width:38px;height:32px;padding:0}.move-up{grid-column:2;grid-row:1}.move-left{grid-column:1;grid-row:2}.move-reset{grid-column:2;grid-row:2;font-size:.66rem}.move-right{grid-column:3;grid-row:2}.move-down{grid-column:2;grid-row:3}.state-test-panel button{padding:9px 13px;border:1px solid rgba(255,226,154,.2);border-radius:9px;color:#fff4d1;background:#ffffff17;cursor:pointer}.state-test-panel button:hover,.state-test-panel button.active{color:#2a1304;background:#ffe29a}.quick-actions{position:absolute;top:50%;right:max(10px,1vw);z-index:50;display:grid;gap:10px;transform:translateY(-50%);transition:opacity .18s ease,transform .18s ease}.quick-actions.hidden{opacity:0;transform:translate(18px,-50%);pointer-events:none}.quick-actions.visible{opacity:1}.quick-actions button{width:64px;min-height:68px;display:grid;place-items:center;align-content:center;gap:5px;padding:8px 6px;border:1px solid rgba(255,255,255,.18);border-radius:14px;color:#ffffffdb;background:#0c1119b8;box-shadow:0 12px 30px #00000047;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease,transform .15s ease}.quick-actions button:hover,.quick-actions button:focus-visible,.quick-actions button.active{color:#fff;border-color:#8bd3ffa3;background:#22587ad6;outline:none;transform:translate(-2px)}.quick-actions svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.quick-actions span{font-size:.72rem;letter-spacing:.05em}.avatar-switcher-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:65;display:grid;place-items:center;padding:24px;background:#00000094;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.avatar-switcher-panel{width:min(760px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;padding:24px;border:1px solid rgba(255,255,255,.2);border-radius:24px;color:#fff;background:#0d131df5;box-shadow:0 30px 90px #0000008c}.avatar-switcher-panel header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.avatar-switcher-panel h2{margin:0;font-size:clamp(1.5rem,3vw,2rem)}.avatar-switcher-panel header button{width:44px;height:44px;padding:0;border:0;border-radius:50%;color:#fff;background:#ffffff1a;font-size:2rem}.avatar-switcher-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.avatar-switcher-list button{display:grid;gap:10px;padding:10px;border:2px solid transparent;border-radius:18px;color:#fff;background:#ffffff12;text-align:left;cursor:pointer}.avatar-switcher-list button.selected{border-color:#66b8ff;background:#2e7ec24d}.avatar-switcher-list img{width:100%;aspect-ratio:1;border-radius:12px;object-fit:cover;background:#ffffff14}.avatar-switcher-list span{overflow:hidden;padding:0 4px 4px;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.settings-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:20px;background:#00000085;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:settings-backdrop-in .16s ease-out}.settings-dialog{width:min(560px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow-y:auto;padding:24px;border:1px solid rgba(255,255,255,.7);border-radius:24px;color:#171717;background:#bcbbb7f5;box-shadow:0 32px 90px #0000007a;animation:settings-dialog-in .18s ease-out}.settings-dialog header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 2px 20px}.settings-dialog h2{margin:0;font-size:clamp(1.65rem,3vw,2.15rem);letter-spacing:-.04em}.settings-close{width:44px;height:44px;padding:0;border:0;border-radius:50%;color:#181818;background:transparent;font-size:2.1rem;line-height:1;cursor:pointer}.settings-close:hover,.settings-close:focus-visible{background:#ffffff8f;outline:3px solid rgba(19,108,229,.34)}.settings-group{min-width:0;margin:0;padding:0;overflow:hidden;border:0;border-radius:18px;background:#fff;box-shadow:0 4px 18px #00000014}.settings-group legend{float:left;width:100%;padding:22px 26px 12px;color:#17171785;font-size:.78rem;font-weight:700;letter-spacing:.1em}.settings-option{position:relative;clear:both;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px;margin:0 24px;padding:16px 2px;border-top:1px solid rgba(0,0,0,.08);cursor:pointer}.settings-option>span:first-child{display:grid;gap:5px}.settings-option strong{font-size:1.15rem;font-weight:600}.settings-option small{color:#17171785;font-size:.78rem;line-height:1.4}.settings-option input{position:absolute;width:1px;height:1px;opacity:0}.settings-radio{position:relative;flex:0 0 auto;width:30px;height:30px;border:2px solid rgba(23,23,23,.24);border-radius:50%;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.settings-radio:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:#136ce5;opacity:0;transform:scale(.5);transition:opacity .15s ease,transform .15s ease}.settings-option input:checked+.settings-radio{border-color:#136ce5;box-shadow:0 0 0 4px #136ce51f}.settings-option input:checked+.settings-radio:after{opacity:1;transform:scale(1)}.settings-option input:focus-visible+.settings-radio{outline:3px solid rgba(19,108,229,.32);outline-offset:3px}.fullscreen-message{position:absolute;left:50%;bottom:4vh;z-index:70;max-width:min(520px,calc(100vw - 40px));padding:11px 16px;border:1px solid rgba(253,164,175,.42);border-radius:12px;color:#ffe4e6;background:#310c12e6;box-shadow:0 16px 42px #0000005c;transform:translate(-50%)}@keyframes settings-backdrop-in{0%{opacity:0}}@keyframes settings-dialog-in{0%{opacity:0;transform:translateY(12px) scale(.98)}}@media(max-width:900px){.state-test-panel{width:64vw}.metrics-panel{display:none}.quick-actions{right:14px}.quick-actions button{width:58px;min-height:62px}}@media(max-width:560px){.conversation-status-button{width:68px;height:68px}.conversation-status-control p{font-size:13px}.settings-backdrop{padding:12px}.settings-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:20px 16px;border-radius:20px}.settings-option{margin:0 18px}}@media(prefers-reduced-motion:reduce){.conversation-status-button,.conversation-waveform-icon i{animation:none}.conversation-waveform-icon i:nth-child(2),.conversation-waveform-icon i:nth-child(4){height:22px}}.release-update-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:24px;color:#fff;background:#040a12e6;text-align:center;font-size:clamp(1rem,2vw,1.35rem)}.activation-stage{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 15% 15%,rgba(43,130,196,.28),transparent 34%),#05070b}.activation-card{width:min(520px,100%);padding:34px;border-radius:24px;background:#0d141ff2;border:1px solid rgba(155,216,255,.2);box-shadow:0 28px 80px #0006}.activation-card h1{margin:4px 0 26px}.activation-card label{display:grid;gap:8px;margin:16px 0;color:#ffffffb8}.activation-card input{width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.16);border-radius:10px;color:#fff;background:#ffffff0f}.activation-card button{width:100%;margin-top:10px;padding:14px;border:0;border-radius:10px;color:#06111f;background:#8bd3ff}.activation-message{min-height:1.5em;color:#9bd8ff}.eyebrow{margin:0;color:#62b9ef;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem}
