.video-stage[data-v-ccaa8537]{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;user-select:none;-webkit-user-select:none}video[data-v-ccaa8537]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;touch-action:none;background:#000}.agora-box[data-v-ccaa8537]{position:absolute;top:0;right:0;bottom:0;left:0}.agora-box[data-v-ccaa8537] video{width:100%;height:100%;object-fit:contain}.placeholder[data-v-ccaa8537]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),transparent 60%),linear-gradient(160deg,#46583f,#33442f,#1d2a1c);display:flex;align-items:center;justify-content:center;color:var(--txt-dim);font-size:14px;letter-spacing:1px;pointer-events:none}.joy-wrap[data-v-9ab95f8a]{display:flex;flex-direction:column;align-items:center}.joy-base[data-v-9ab95f8a]{pointer-events:auto;position:relative;width:clamp(118px,21vh,160px);height:clamp(118px,21vh,160px);touch-action:none;user-select:none;-webkit-user-select:none}.joy-base.disabled[data-v-9ab95f8a]{pointer-events:none;opacity:.35;filter:grayscale(.8)}.joyRing[data-v-9ab95f8a]{width:100%;height:100%;pointer-events:none;opacity:.85}.joy-thumb[data-v-9ab95f8a]{position:absolute;left:50%;top:50%;width:40%;height:40%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#5a6470,#2a3138);border:1px solid #3a444c;pointer-events:none;transition:transform .05s linear}.joy-base.active .joy-thumb[data-v-9ab95f8a]{background:radial-gradient(circle at 35% 30%,#7a8490,#3a4148);border-color:var(--accent)}.joystick-lbl[data-v-9ab95f8a]{text-align:center;font-size:11px;color:var(--txt-dim);margin-top:6px;text-shadow:0 1px 3px rgba(0,0,0,.6)}@media (max-width: 760px),(max-height: 430px){.joy-base[data-v-9ab95f8a]{width:clamp(88px,23vh,118px);height:clamp(88px,23vh,118px)}.joystick-lbl[data-v-9ab95f8a]{font-size:10px;margin-top:4px}}.dev-panel[data-v-7f8f76cb]{margin-top:14px;padding-top:12px;border-top:1px solid var(--accent-line)}.dev-panel h3[data-v-7f8f76cb]{font-size:12.5px;color:var(--accent);margin-bottom:6px}.dev-panel .tag[data-v-7f8f76cb]{font-size:9.5px;font-weight:400;color:var(--txt-mute);border:1px solid var(--accent-line);border-radius:999px;padding:1px 7px;margin-left:4px}.dev-panel label[data-v-7f8f76cb]{margin:8px 2px 3px}.dev-panel .btns[data-v-7f8f76cb]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.dev-panel .btn[data-v-7f8f76cb]{padding:8px 4px;border-radius:8px;font-size:12px}.dev-panel .state[data-v-7f8f76cb]{margin-top:8px;font-size:11px;color:var(--txt-dim);background:var(--item-bg);border-radius:6px;padding:6px 8px;font-variant-numeric:tabular-nums}.dev-panel .state b[data-v-7f8f76cb]{color:var(--txt)}.dev-panel .state .good[data-v-7f8f76cb]{color:var(--green)}.dev-panel .state .bad[data-v-7f8f76cb]{color:var(--bad)}.dev-panel .state.na[data-v-7f8f76cb]{color:var(--txt-faint)}.dev-panel .ws-dot[data-v-7f8f76cb]{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--txt-faint);margin:0 5px 0 8px}.dev-panel .ws-dot.on[data-v-7f8f76cb]{background:var(--green)}.dev-panel .err[data-v-7f8f76cb]{margin-top:6px;font-size:11px;color:var(--bad);line-height:1.4}.connect-card[data-v-f9d349bc]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;overflow:auto;padding:20px 0}.card[data-v-f9d349bc]{width:min(90%,420px);max-height:92vh;overflow:auto;background:var(--surface-2);border:1px solid var(--accent-line);border-radius:16px;padding:18px;box-shadow:0 12px 40px #00000080}.card h2[data-v-f9d349bc]{font-size:15px;color:var(--accent);margin-bottom:8px;text-align:center}.settings-switcher[data-v-f9d349bc]{margin-bottom:12px}.theme-row[data-v-f9d349bc]{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-bottom:10px}.theme-lbl[data-v-f9d349bc]{font-size:10.5px;color:var(--txt-mute);margin-right:2px}.theme-dot[data-v-f9d349bc]{width:18px;height:18px;border-radius:50%;padding:0;border:2px solid transparent;cursor:pointer;transition:transform .12s}.theme-dot[data-v-f9d349bc]:active{transform:scale(.9)}.theme-dot.active[data-v-f9d349bc]{border-color:#fff;box-shadow:0 0 6px #ffffff80}.theme-dot[data-v-f9d349bc]:focus-visible,.page-tab[data-v-f9d349bc]:focus-visible,.tab[data-v-f9d349bc]:focus-visible,.btn-fetch[data-v-f9d349bc]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page-tabs[data-v-f9d349bc]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:var(--surface-3);border-radius:9px;padding:3px}.page-tab[data-v-f9d349bc]{border:none;border-radius:7px;padding:7px 10px;cursor:pointer;background:transparent;color:var(--txt-mute);font-size:12px}.page-tab.active[data-v-f9d349bc]{background:var(--accent);color:var(--on-accent);font-weight:600}.tabs[data-v-f9d349bc]{display:flex;gap:4px;background:var(--surface-3);border-radius:9px;padding:3px;margin-bottom:12px}.tab[data-v-f9d349bc]{flex:1;padding:8px 0;text-align:center;font-size:12px;border-radius:7px;cursor:pointer;color:var(--txt-mute);border:none;background:transparent;transition:background .12s,color .12s}.tab.active[data-v-f9d349bc]{background:var(--accent);color:var(--on-accent);font-weight:600}.form .field[data-v-f9d349bc]{display:flex;align-items:center;gap:8px;margin-top:8px}.form .field label[data-v-f9d349bc]{flex:none;width:96px;margin:0;font-size:11.5px}.form .field input[data-v-f9d349bc],.form .field select[data-v-f9d349bc]{flex:1;min-width:0}.cred-box[data-v-f9d349bc]{margin-top:12px;padding:8px 10px;border:1px solid var(--accent-line);border-radius:8px;background:#ffffff05}.cred-bar[data-v-f9d349bc]{display:flex;align-items:center;gap:8px}.btn-fetch[data-v-f9d349bc]{padding:6px 16px;border:1px solid var(--accent);border-radius:8px;background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer}.btn-fetch[data-v-f9d349bc]:disabled{opacity:.5;cursor:not-allowed}.cred-light[data-v-f9d349bc]{width:10px;height:10px;border-radius:50%;background:var(--bad);flex:none}.cred-light.fetching[data-v-f9d349bc]{background:var(--warn);animation:cred-blink-f9d349bc 1s ease-in-out infinite}.cred-light.done[data-v-f9d349bc]{background:var(--green)}@keyframes cred-blink-f9d349bc{50%{opacity:.25}}.cred-state-txt[data-v-f9d349bc]{font-size:10.5px;color:var(--txt-mute)}.cred-details[data-v-f9d349bc]{margin-top:8px}.cred-details summary[data-v-f9d349bc]{font-size:11px;color:var(--txt-dim);cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 0}.cred-details[open] summary[data-v-f9d349bc]{margin-bottom:2px}.aws-page[data-v-f9d349bc]{margin-top:10px;padding:12px;border:1px solid var(--stroke);border-radius:12px;background:#0f132394}.aws-header[data-v-f9d349bc]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.aws-title-wrap[data-v-f9d349bc]{display:flex;flex-direction:column;gap:2px}.aws-title[data-v-f9d349bc]{font-size:13px;font-weight:700;color:var(--txt)}.aws-hint[data-v-f9d349bc]{font-size:10px;color:var(--txt-dim)}.aws-grid[data-v-f9d349bc]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.aws-field[data-v-f9d349bc]{margin:0}.aws-field label[data-v-f9d349bc]{min-width:32px}.aws-actions[data-v-f9d349bc]{margin-top:12px}.aws-status[data-v-f9d349bc]{margin-top:8px;color:var(--accent);font-size:10.5px;line-height:1.5}.aws-note[data-v-f9d349bc]{margin-top:10px;color:var(--txt-mute);font-size:10.5px;line-height:1.5}.hint[data-v-f9d349bc]{font-size:10.5px;color:var(--txt-mute);margin-top:10px;line-height:1.5}.btns[data-v-f9d349bc]{display:flex;gap:8px;margin-top:16px}.btns .btn[data-v-f9d349bc]{flex:1}.btn-oneclick[data-v-f9d349bc]{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#fff));color:var(--on-accent);font-weight:700;border:none}@media (max-width: 760px){.connect-card[data-v-f9d349bc]{padding:8px 0}.card[data-v-f9d349bc]{width:min(94%,420px);max-height:96vh;padding:14px}.aws-grid[data-v-f9d349bc]{grid-template-columns:1fr}.tabs[data-v-f9d349bc]{margin-bottom:10px}.btns[data-v-f9d349bc]{gap:6px;margin-top:12px}}.win[data-v-d609e28a]{position:fixed;display:flex;flex-direction:column;background:var(--surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--accent-line);border-radius:10px;box-shadow:0 8px 28px #00000080;font-size:11px;line-height:1.55;overflow:hidden}.head[data-v-d609e28a]{display:flex;justify-content:space-between;align-items:center;color:var(--accent);padding:8px 12px;font-weight:700;cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;background:var(--accent-soft);border-bottom:1px solid var(--accent-line)}.close[data-v-d609e28a]{cursor:pointer;color:var(--txt-mute);padding:2px 6px;background:none;border:none;font-size:13px;line-height:1}.close[data-v-d609e28a]:hover{color:var(--txt)}.body[data-v-d609e28a]{flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px 12px 12px}.log-body[data-v-b3a901ae]{font-family:ui-monospace,SF Mono,Cascadia Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.top-bar[data-v-deb7ad05]{position:absolute;top:0;left:0;right:0;z-index:var(--z-hud);display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));gap:12px;pointer-events:none}.top-center[data-v-deb7ad05]{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px 12px;row-gap:4px;max-width:72vw;background:var(--chip);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--stroke);border-radius:999px;padding:6px 14px;font-size:11px}.top-right[data-v-deb7ad05]{display:flex;align-items:center;gap:10px}.dot[data-v-deb7ad05]{width:7px;height:7px;border-radius:50%;background:var(--txt-faint);flex:none}.dot.on[data-v-deb7ad05]{background:var(--bad)}.live-txt[data-v-deb7ad05]{color:var(--txt);font-weight:600}.live-txt.dim[data-v-deb7ad05]{color:var(--txt-dim);font-weight:400}.sep[data-v-deb7ad05]{color:var(--txt-faint)}.sep.bar[data-v-deb7ad05]{margin:0 2px}.ctrl[data-v-deb7ad05]{color:var(--txt-dim);font-weight:400}.ctrl.on[data-v-deb7ad05]{color:var(--green)}.first-frame[data-v-deb7ad05]{color:var(--warn);font-weight:400;font-size:10px}.stat-mini[data-v-deb7ad05]{color:var(--txt-dim);font-variant-numeric:tabular-nums}.stat-mini b[data-v-deb7ad05]{color:var(--accent);font-weight:600}.gear-top[data-v-deb7ad05]{color:var(--txt-dim);font-variant-numeric:tabular-nums}.reconnect-chip[data-v-deb7ad05]{color:var(--warn);font-weight:600;font-variant-numeric:tabular-nums;animation:rc-pulse-deb7ad05 1.2s ease-in-out infinite}@keyframes rc-pulse-deb7ad05{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.reconnect-chip[data-v-deb7ad05]{animation:none}}.bottom-bar[data-v-deb7ad05]{position:absolute;left:0;right:0;bottom:0;z-index:var(--z-hud);display:flex;align-items:flex-end;justify-content:space-between;padding:0 calc(max(22px,3vw) + env(safe-area-inset-right)) calc(max(20px,3vh) + env(safe-area-inset-bottom)) calc(max(22px,3vw) + env(safe-area-inset-left))}.right-rail[data-v-deb7ad05]{position:absolute;right:calc(max(22px,3vw) + env(safe-area-inset-right));top:24%;z-index:var(--z-hud);display:flex;flex-direction:column;align-items:center;gap:16px}.rail-btn.estop .disc[data-v-deb7ad05]{background:var(--alarm);border-color:#fff2;box-shadow:0 0 0 3px color-mix(in srgb,var(--alarm) 30%,transparent)}.rail-btn.estop .lbl[data-v-deb7ad05]{color:var(--alarm);font-weight:700}.rail-btn.resume .disc[data-v-deb7ad05]{border-color:var(--green)}.rail-btn.resume .lbl[data-v-deb7ad05]{color:var(--green);font-weight:700}.estop-banner[data-v-deb7ad05]{position:absolute;top:calc(52px + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:calc(var(--z-hud) + 1);background:color-mix(in srgb,var(--alarm) 82%,#000);color:#fff;border-radius:8px;padding:8px 16px;font-size:12.5px;font-weight:600;box-shadow:0 4px 18px #00000073;pointer-events:none}.estop-banner b[data-v-deb7ad05]{text-decoration:underline}.gear-block[data-v-deb7ad05]{display:flex;flex-direction:column;align-items:center;gap:5px}.seg[data-v-deb7ad05]{display:flex;gap:3px;padding:3px;border-radius:9px;background:var(--chip);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--stroke)}.seg.disabled[data-v-deb7ad05]{opacity:.35}.seg-btn[data-v-deb7ad05]{width:40px;height:34px;border-radius:6px;border:none;cursor:pointer;background:transparent;font-size:16px;color:var(--txt-dim);transition:background .12s,color .12s}.seg-btn.on[data-v-deb7ad05]{background:var(--accent);color:var(--on-accent)}.seg-btn[data-v-deb7ad05]:disabled{cursor:not-allowed}.gear-lbl[data-v-deb7ad05]{font-size:10.5px;color:var(--txt-dim);text-shadow:0 1px 3px rgba(0,0,0,.6)}.confirm-bar[data-v-deb7ad05]{position:absolute;left:50%;bottom:calc(max(20px,3vh) + env(safe-area-inset-bottom) + 130px);transform:translate(-50%);z-index:calc(var(--z-popup) + 1);display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--stroke);border-radius:10px;padding:10px 14px;box-shadow:0 6px 24px #00000080}.confirm-text[data-v-deb7ad05]{font-size:12.5px;color:var(--txt);max-width:46vw}.confirm-bar .btn[data-v-deb7ad05]{padding:7px 14px;font-size:12px;flex:none}.rail-btn[data-v-deb7ad05]{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;touch-action:none}.rail-btn .disc[data-v-deb7ad05]{width:46px;height:46px;border-radius:50%;background:var(--chip-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--stroke);display:flex;align-items:center;justify-content:center;transition:transform .12s,border-color .12s,box-shadow .12s;font-size:20px}.rail-btn:active .disc[data-v-deb7ad05]{transform:scale(.94)}.rail-btn .lbl[data-v-deb7ad05]{font-size:10.5px;color:var(--txt);text-shadow:0 1px 3px rgba(0,0,0,.6)}.rail-btn.speaking .disc[data-v-deb7ad05]{border-color:var(--green);box-shadow:0 0 14px #34c759b3}.rail-btn.speaking .lbl[data-v-deb7ad05]{color:var(--green)}@media (max-width: 760px),(max-height: 430px){.top-bar[data-v-deb7ad05]{gap:6px}.top-center[data-v-deb7ad05]{gap:4px 8px;padding:4px 10px;font-size:10px}.right-rail[data-v-deb7ad05]{right:10px;top:15%;gap:10px}.rail-btn .disc[data-v-deb7ad05]{width:38px;height:38px;font-size:17px}.rail-btn .lbl[data-v-deb7ad05]{font-size:9.5px}.bottom-bar[data-v-deb7ad05]{padding-bottom:calc(max(12px,2vh) + env(safe-area-inset-bottom))}}@media (max-width: 400px){.top-bar[data-v-deb7ad05]{gap:4px}.top-right[data-v-deb7ad05]{gap:5px}.top-center[data-v-deb7ad05]{max-width:100vw;font-size:9.5px}.seg-btn[data-v-deb7ad05]{width:33px;height:30px;font-size:14px}.bottom-bar[data-v-deb7ad05]{justify-content:space-around}.confirm-text[data-v-deb7ad05]{max-width:60vw}}:root{--chip: rgba(20, 22, 26, .55);--chip-strong: rgba(20, 22, 26, .72);--stroke: rgba(255, 255, 255, .16);--txt: #ffffff;--txt-dim: rgba(255, 255, 255, .7);--txt-mute: #9aa;--txt-faint: #8b93a3;--green: #34C759;--accent: #00d4ff;--warn: #ffc107;--bad: #e74c3c;--alarm: #ff453a;--on-accent: #10243a;--surface: rgba(8, 10, 18, .93);--surface-2: #16213e;--surface-3: #0f1a30;--well: #0f3460;--input-border: #2a3a55;--item-bg: rgba(255, 255, 255, .04);--accent-line: color-mix(in srgb, var(--accent) 25%, transparent);--accent-soft: color-mix(in srgb, var(--accent) 6%, transparent);--z-hud: 10;--z-modal: 20;--z-popup: 30;--z-log: 31;--z-hint: 60}html[data-theme=blue]{--accent: #4d9fff}html[data-theme=purple]{--accent: #b18cff}html[data-theme=orange]{--accent: #ffa94d}html[data-theme=red]{--accent: #ff6b6b}html[data-theme=green]{--accent: #51d88a}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:#000;color:var(--txt);overflow:hidden}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff52}::-webkit-scrollbar-track{background:transparent}#app,#stage{position:relative;width:100vw;height:100vh;overflow:hidden}#stage{background:linear-gradient(160deg,#46583f,#33442f,#1d2a1c)}.icon-btn{pointer-events:auto;width:38px;height:38px;border-radius:50%;background:var(--chip-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--stroke);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s,background .12s;font-size:17px;color:var(--txt)}.icon-btn:active{transform:scale(.92);background:#ffffff24}.icon-btn:focus-visible,.btn:focus-visible,.seg-btn:focus-visible,.rail-btn:focus-visible,.confirm-bar .btn:focus-visible,.close:focus-visible,.joy-base:focus-visible,.head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rail-btn:focus-visible .disc{border-color:var(--accent)}.joy-base:focus-visible .joy-thumb{border-color:var(--accent)}@media (prefers-reduced-motion: reduce){.icon-btn,.rail-btn .disc,.seg-btn{transition:none}}.log-info{color:var(--accent)}.log-ok{color:var(--green)}.log-err{color:var(--bad)}.log-warn{color:var(--warn)}label{display:block;font-size:11.5px;color:var(--txt-mute);margin:9px 2px 3px}input,select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--input-border);background:var(--well);color:var(--txt);font-size:12.5px}input:focus,select:focus{outline:none;border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--txt-mute);opacity:1}.btn{padding:10px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;background:var(--well);color:var(--txt);border:1px solid var(--input-border)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent);border:none}.btn-ghost{background:transparent;color:var(--txt-mute);border:1px solid var(--input-border)}.btn-danger{background:transparent;color:var(--bad);border:1px solid var(--bad)}.fade-enter-active,.fade-leave-active{transition:opacity .15s ease,transform .15s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:scale(.97)}@media (prefers-reduced-motion: reduce){.fade-enter-active,.fade-leave-active{transition:none}}@media (orientation: portrait) and (max-width: 820px){.rotate-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-hint);display:flex;align-items:center;justify-content:center;background:#000000d9;color:#fff;font-size:15px;text-align:center;padding:30px;pointer-events:auto}.rotate-hint .ico{font-size:40px;display:block;margin-bottom:14px}.rotate-hint .hint-close{position:absolute;top:calc(14px + env(safe-area-inset-top));right:calc(18px + env(safe-area-inset-right));width:34px;height:34px;border-radius:50%;background:#ffffff1f;border:none;color:#fff;font-size:16px;cursor:pointer}}@media (max-width: 760px),(max-height: 430px){.icon-btn{width:32px;height:32px;font-size:15px}}
