:root{--ink: #071018;--ink-2: #0d1c24;--panel: rgba(12, 28, 36, .78);--line: rgba(140, 196, 188, .22);--text: #e8f2f0;--muted: #8aa3a0;--accent: #2bb8a0;--accent-2: #1f8f7c;--accent-soft: rgba(43, 184, 160, .16);--warn: #d4a24c;--danger: #e35d5d;--font-sans: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", sans-serif;--font-brand: "Outfit", "Noto Sans SC", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;background:var(--ink);color:var(--text);font-family:var(--font-sans);overflow:hidden}#connectPanel{position:relative;display:flex;align-items:center;justify-content:center;height:100%;min-height:100%;padding:28px 18px;background:radial-gradient(1200px 600px at 12% -10%,rgba(43,184,160,.22),transparent 55%),radial-gradient(900px 500px at 90% 110%,rgba(56,120,150,.28),transparent 50%),linear-gradient(165deg,#071018,#0b1a22 48%,#10262c);overflow-x:hidden;overflow-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}#connectPanel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle at 50% 40%,black 20%,transparent 75%);mask-image:radial-gradient(circle at 50% 40%,black 20%,transparent 75%);pointer-events:none}.connect-shell{position:relative;z-index:1;width:min(420px,100%);display:flex;flex-direction:column;gap:22px;animation:connect-enter .55s ease-out both}@keyframes connect-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.connect-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.brand-mark{width:78px;height:78px;border-radius:23px;margin-bottom:6px;display:grid;place-items:center;padding:5px;background:linear-gradient(145deg,#2bb8a0f2,#1f8f7c8c 55%,#12465859),radial-gradient(circle at 30% 25%,rgba(255,255,255,.35),transparent 45%);box-shadow:0 10px 28px #00000059,inset 0 1px #ffffff40;animation:brand-pulse 4.5s ease-in-out infinite}.brand-illustration{width:100%;height:100%;overflow:visible}.brand-phone{fill:#0d2150d1;stroke:#fffffff5;stroke-width:4.2}.brand-signal{fill:none;stroke:#b9f6f2;stroke-width:2.6;stroke-linecap:round}.brand-signal-dot{fill:#ffc857}.brand-cloud{fill:#f7fffe;stroke:#46d4cd;stroke-width:2.4;stroke-linejoin:round}.brand-cursor{fill:#fff;stroke:#0d2150;stroke-width:2.5;stroke-linejoin:round}@keyframes brand-pulse{0%,to{transform:translateY(0);box-shadow:0 10px 28px #00000059,inset 0 1px #ffffff40}50%{transform:translateY(-3px);box-shadow:0 16px 34px #2bb8a038,inset 0 1px #ffffff4d}}.brand-name{font-family:var(--font-brand);font-size:13px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}.brand-title{font-family:var(--font-brand);font-size:clamp(34px,8vw,44px);font-weight:700;letter-spacing:.04em;line-height:1.1;color:var(--text)}.brand-tagline{margin-top:2px;font-size:14px;color:var(--muted);letter-spacing:.02em}.connect-form{display:flex;flex-direction:column;gap:14px;padding:22px 20px 18px;border:1px solid var(--line);border-radius:18px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px #00000047}#connectPanel .row{display:flex;gap:8px;align-items:center}#connectPanel input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(140,196,188,.28);background:#071018b8;color:var(--text);font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}#connectPanel input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}#connectPanel input#port{width:100%}.wss-config{display:flex;gap:10px;align-items:flex-end}.wss-field{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.wss-port-field{flex:0 0 118px;width:118px}.connect-field-label{color:var(--muted);font-size:12px;font-weight:500;text-align:left}.wss-sep{color:var(--muted);font-size:22px;line-height:1;padding-bottom:10px;opacity:.7}.connect-hint{margin:-2px 0 0;font-size:12px;line-height:1.5;color:#9fd6c9;text-align:left}.field-label{color:var(--muted);font-size:13px;min-width:88px;flex-shrink:0}#startBtn{width:100%;padding:13px 20px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#06201b;font-size:16px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;box-shadow:0 10px 24px #2bb8a047}#startBtn:hover{filter:brightness(1.05);box-shadow:0 12px 28px #2bb8a05c}#startBtn:active{transform:translateY(1px)}#startBtn:disabled{cursor:wait;opacity:.72;filter:saturate(.72);box-shadow:none}.settings-toggle{align-self:center;padding:6px 16px;border-radius:999px;border:1px solid rgba(140,196,188,.28);background:transparent;color:var(--muted);font-size:13px;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.settings-toggle:hover,.settings-toggle.open{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.settings-panel{display:none;flex-direction:column;gap:10px;background:#0710188c;border:1px solid rgba(140,196,188,.18);border-radius:12px;padding:12px 14px;width:100%}.settings-panel.visible{display:flex}.settings-row{display:flex;gap:8px;align-items:center}.settings-row-check{align-items:flex-start}.settings-stack{display:flex;flex-direction:column;gap:4px;flex:1}.settings-checkbox-label{display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px;cursor:pointer}.settings-checkbox-label input{width:auto;accent-color:var(--accent)}.settings-help{color:var(--muted);font-size:12px;line-height:1.4}.settings-panel select{padding:8px 12px;border-radius:8px;border:1px solid rgba(140,196,188,.28);background:#071018b8;color:var(--text);font-size:14px;flex:1;outline:none}.settings-panel select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.connect-footer{display:flex;flex-direction:column;gap:12px;align-items:center}.connect-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.connect-meta-text{color:var(--muted);font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.connect-meta-badge{font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);background:#0c1c24b3;border:1px solid rgba(140,196,188,.22);border-radius:999px;padding:4px 10px;white-space:nowrap;-webkit-user-select:none;user-select:none}.connect-meta-badge.near-full{color:var(--warn);border-color:var(--warn)}.connect-meta-badge.full{color:var(--danger);border-color:var(--danger)}.connect-legal{text-align:center;display:flex;flex-direction:column;gap:4px}.connect-copyright,.connect-contact{margin:0;font-size:12px;line-height:1.5;color:#8aa3a0e0;letter-spacing:.02em}.connect-contact a{color:#9fd6c9;text-decoration:none;border-bottom:1px solid rgba(159,214,201,.35)}.connect-contact a:hover{color:var(--accent);border-bottom-color:var(--accent)}.hint{color:var(--muted);font-size:12px;max-width:420px;text-align:center;line-height:1.6}@media(max-width:420px){.connect-form{padding:18px 16px 16px}.wss-port-field{flex-basis:96px;width:96px}.brand-title{letter-spacing:.02em}}#phonePanel{--toolbar-offset: max(24px, calc(env(safe-area-inset-bottom, 0px) + 16px) );--toolbar-block-size: 68px;display:none;height:100%;width:100%;position:relative;background:#000;flex-direction:column}#videoArea{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#000}#video{max-width:100%;max-height:100%;background:#000;cursor:crosshair;object-fit:contain;-webkit-playsinline:true;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.local-touch-feedback{position:absolute;z-index:32;width:28px;height:28px;margin:-14px 0 0 -14px;border:2px dashed rgba(90,220,255,.95);border-radius:50%;background:#28b4ff2e;box-shadow:0 0 0 5px #28b4ff14;opacity:0;pointer-events:none;transform:scale(.65);transition:opacity 70ms linear,transform 70ms ease-out}.local-touch-feedback.active{opacity:1;transform:scale(1)}#connectionLoading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#f4fffd;background:#040c10c7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;text-align:center}#connectionLoading[hidden]{display:none!important}.connection-spinner{width:42px;height:42px;border:3px solid rgba(255,255,255,.22);border-top-color:var(--accent);border-right-color:#8ee8dc;border-radius:50%;animation:connection-spin .85s linear infinite}@keyframes connection-spin{to{transform:rotate(360deg)}}.connection-loading-title{font-size:18px;font-weight:600;letter-spacing:.04em}.connection-loading-hint{color:#e8f2f0b8;font-size:13px}.connection-log-button{margin-top:8px;padding:8px 14px;border:1px solid rgba(133,209,255,.7);border-radius:999px;background:#165ba252;color:#d8f1ff;font-size:13px;font-weight:600;cursor:pointer}.connection-log-button:hover,.connection-log-button:focus-visible{border-color:#aee6ff;background:#247ed68a;outline:none}@media(prefers-reduced-motion:reduce){.connection-spinner{animation-duration:1.8s}}.touch-info{position:absolute;top:4px;left:4px;color:#ff0;font-size:11px;pointer-events:none;z-index:10;font-family:monospace;text-shadow:0 0 4px rgba(0,0,0,.8)}#info{position:absolute;top:96px;right:8px;color:#ffffff80;font-size:11px;pointer-events:none;z-index:10;text-align:right;font-family:monospace;line-height:1.4;text-shadow:0 0 4px rgba(0,0,0,.8);white-space:pre}.performance-hud{position:absolute;top:max(10px,env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right,0px));z-index:60;width:48px;height:48px;box-sizing:border-box;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:#08121c94;box-shadow:0 8px 24px #00000047,inset 0 0 18px #5cc4ff0d;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);color:#fffffff0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Outfit,Noto Sans SC,sans-serif;font-variant-numeric:tabular-nums;transform:translateZ(2px);-webkit-transform:translateZ(2px)}.performance-hud[hidden]{display:none!important}.performance-hud.live{border-color:#5be6c994;box-shadow:0 8px 24px #0000004d,inset 0 0 20px #37d6b51a}.performance-hud-metric{display:flex;align-items:baseline;justify-content:center;gap:2px;width:100%;min-height:13px;line-height:1}.performance-hud-metric strong{min-width:0;color:#f7fffe;font-size:11px;font-weight:700;text-align:center}.performance-hud-metric small{color:#dceef2b8;font-size:6px;font-weight:600;letter-spacing:.02em}.performance-hud-divider{width:20px;height:1px;background:#ffffff2b}@media(max-width:520px){.performance-hud{width:44px;height:44px}.performance-hud-metric strong{font-size:10px}#info{top:86px}}#imeInputShell{position:absolute;left:0;bottom:0;width:16px;height:16px;opacity:0;overflow:hidden;pointer-events:none}#imeInputShell.ime-active,#imeInputShell.ime-desktop-active{opacity:.01}#imeInput{width:16px;height:16px;padding:0;border:none;outline:none;background:transparent;color:transparent;caret-color:transparent;opacity:0;font-size:16px;resize:none}#imeInput.ime-active,#imeInput.ime-desktop-active{opacity:.01}#imeStatus{position:absolute;left:50%;bottom:96px;transform:translate(-50%);max-width:min(88vw,560px);padding:8px 16px;border-radius:999px;background:#16213eeb;border:1px solid rgba(82,110,204,.75);color:#dbe4ff;font-size:13px;text-align:center;z-index:22;display:none}#imeStatus.visible{display:block}#toolbar{position:absolute;left:50%;bottom:var(--toolbar-offset);z-index:70;width:max-content;max-width:calc(100% - 24px);min-height:var(--toolbar-block-size);display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 10px;border:1px solid rgba(183,224,218,.24);border-radius:18px;background:#0a1920db;box-shadow:0 14px 36px #0000007a,inset 0 1px #ffffff0f;backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);transform:translate3d(-50%,0,2px);-webkit-transform:translate3d(-50%,0,2px);opacity:1;visibility:visible;pointer-events:auto;transition:transform .22s ease,opacity .16s ease,visibility 0s linear 0s;flex-shrink:0;touch-action:manipulation}#phonePanel.toolbar-collapsed #toolbar{transform:translate3d(-50%,calc(100% + var(--toolbar-offset) + 16px),2px);-webkit-transform:translate3d(-50%,calc(100% + var(--toolbar-offset) + 16px),2px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s ease,opacity .16s ease,visibility 0s linear .22s}.tb-btn{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:12px;border:1px solid rgba(158,211,203,.26);background:#18343eeb;color:#e6f2ef;font-size:14px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .12s ease}.tb-btn:hover{background:#2bb8a0;color:#06201b;border-color:#2bb8a0}.tb-btn:active{transform:scale(.96)}.tb-btn:focus-visible{outline:3px solid rgba(120,230,211,.72);outline-offset:2px}.tb-btn.active{background:#2bb8a0;color:#06201b;border-color:#2bb8a0}.tb-btn.warn{background:#c0392b;border-color:#c0392b;color:#fff}#btnMore{min-width:48px;font-weight:800;font-size:18px;padding:0 12px}.menu-status{font-size:11px;font-family:monospace;color:#8b949e;background:#21262d;border:1px solid #30363d;border-radius:10px;padding:4px 8px;white-space:nowrap;-webkit-user-select:none;user-select:none;text-align:center}.profile-badge{font-size:11px;font-family:monospace;color:#7ee787;background:#0d1117;border:1px solid #2f6f44;border-radius:10px;padding:2px 8px;white-space:nowrap;-webkit-user-select:none;user-select:none;text-align:center}.menu-status.near-full{color:#d29922;border-color:#d29922}.menu-status.full{color:#f85149;border-color:#f85149}.more-menu{display:none;position:absolute;right:0;bottom:calc(100% + 10px);width:max-content;min-width:0;max-width:calc(100vw - 24px);max-height:min(62vh,480px);overflow-x:visible;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#0d1e2af5;border:1px solid rgba(158,211,203,.26);border-radius:14px;padding:7px;gap:4px;flex-direction:column;z-index:75;box-shadow:0 -10px 30px #0000007a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.more-menu.visible{display:flex}.more-menu .tb-btn{width:auto;min-width:max-content;min-height:44px;padding-inline:12px;flex:none}.ime-menu{position:relative;display:flex;flex-direction:column;min-width:0}#btnIme{gap:6px}#btnIme:after{content:"‹";font-size:15px;line-height:1;opacity:.72}#btnIme[data-ime-side=right]:after{content:"›"}#btnIme[aria-expanded=true]{background:#2bb8a0;color:#06201b;border-color:#2bb8a0}.ime-mode-menu{display:none;position:absolute;z-index:80;flex-direction:column;gap:4px;min-width:120px;padding:6px;border:1px solid rgba(158,211,203,.26);border-radius:12px;background:#0d1e2afa;box-shadow:0 8px 24px #00000073;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.ime-mode-menu.visible{display:flex}.ime-mode-menu .tb-btn{width:100%;min-width:max-content;min-height:44px;padding-inline:12px}.ime-mode-option.active{box-shadow:inset 0 0 0 1px #06201b2e}.toolbar-toast{position:absolute;left:50%;bottom:calc(var(--toolbar-offset) + var(--toolbar-block-size) + 16px);transform:translate(-50%);z-index:72;max-width:min(88vw,560px);padding:8px 16px;border-radius:999px;background:#16213ef0;border:1px solid rgba(82,110,204,.75);color:#dbe4ff;font-size:13px;text-align:center;display:none;pointer-events:none}.toolbar-toast.visible{display:block}.toolbar-toast.err{background:#48181cf0;border-color:#f85149b3;color:#ffd7d5}#logPanel{position:absolute;bottom:calc(var(--toolbar-offset) + var(--toolbar-block-size) + 12px);left:0;right:0;height:40%;background:#0d1117f2;border-top:1px solid #333;display:none;flex-direction:column;z-index:90}#logPanel.visible{display:flex}#logToolbar{display:flex;gap:8px;padding:6px 10px;border-bottom:1px solid #333;flex-shrink:0}#logToolbar button{background:#222;color:#ccc;border:1px solid #444;border-radius:4px;padding:2px 10px;font-size:11px;cursor:pointer}#logToolbar button:hover{background:#333;color:#fff}#logContent{flex:1;overflow-y:auto;padding:8px 10px;font-family:monospace;font-size:11px;color:#0f0;white-space:pre-wrap;line-height:1.5}.stats{color:#0ff}.err{color:#f55}.warn{color:#f3c969}.ok{color:#5f5}html.strict-benchmark *,html.strict-benchmark *:before,html.strict-benchmark *:after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html.strict-benchmark .local-touch-feedback,html.strict-benchmark #touchInfo,html.strict-benchmark .performance-hud{display:none!important}.log-auth-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:#000000b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.log-auth-modal[hidden]{display:none}.log-auth-card{width:min(360px,100%);padding:22px;border:1px solid #46506d;border-radius:10px;background:#151b2d;color:#f4f6fb;box-shadow:0 18px 50px #0000008c}.log-auth-card h2{margin:0 0 8px;font-size:20px}.log-auth-card p{margin:0 0 18px;color:#b9c0d4;font-size:13px;line-height:1.45}.log-auth-card label{display:block;margin-bottom:6px;font-size:12px;color:#d8dcec}.log-auth-card input{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #58627e;border-radius:6px;background:#0d1220;color:#fff;font-size:15px;outline:none}.log-auth-card input:focus{border-color:#7296ff;box-shadow:0 0 0 2px #7296ff33}.log-auth-error{min-height:18px;margin-top:8px;color:#ff7a7a;font-size:12px}.log-auth-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.log-auth-actions button{padding:7px 14px;border:1px solid #58627e;border-radius:6px;background:#252d43;color:#e7eaf3;cursor:pointer}.log-auth-actions button[type=submit]{border-color:#526ecc;background:#526ecc;color:#fff}.log-auth-actions button:disabled{cursor:wait;opacity:.65}#fsFab{display:flex;position:absolute;right:max(10px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);width:35px;min-width:35px;height:35px;min-height:35px;padding:0;border-radius:50%;border:1.5px solid #9ff6e4;background:#2bb8a0;color:#06201b;box-shadow:0 0 0 3px #2bb8a057,0 6px 17px #00000080;animation:dots-glow 1.8s ease-in-out infinite;cursor:pointer;z-index:82;align-items:center;justify-content:center;transition:background .16s ease,border-color .16s ease,transform .12s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@keyframes dots-glow{0%,to{box-shadow:0 0 0 3px #2bb8a057,0 6px 17px #00000080}50%{box-shadow:0 0 0 5px #2bb8a02e,0 6px 17px #00000080}}#fsFab[hidden]{display:none}#fsFab:hover,#fsFab:active{background:#3ad4b8;border-color:#d7fff6;color:#04221c}#fsFab:active{transform:translateY(-50%) scale(.96)}#fsFab:focus-visible{outline:3px solid rgba(120,230,211,.82);outline-offset:2px}.dots{display:flex;align-items:center;justify-content:center;gap:3px;pointer-events:none}.dots i{width:4px;height:4px;border-radius:50%;background:#06201b;display:block;box-shadow:0 0 0 1px #ffffff2e}#phonePanel:fullscreen #toolbar{bottom:var(--toolbar-offset);left:50%;right:auto}#phonePanel:fullscreen #videoArea{height:100%;width:100%}#phonePanel:fullscreen #logPanel{bottom:calc(var(--toolbar-offset) + var(--toolbar-block-size) + 12px)}#phonePanel:fullscreen #audioHint{bottom:calc(var(--toolbar-offset) + var(--toolbar-block-size) + 12px)}@media(prefers-reduced-motion:reduce){#toolbar,#fsFab{transition:none;animation:none}}@media(max-width:600px){#toolbar{width:calc(100% - 20px);max-width:none;gap:5px;padding:9px 8px}#toolbar>.tb-btn{min-width:0;flex:1 1 0;padding:0 5px;font-size:13px}#toolbar>#btnMore{flex:0 0 44px;padding:0;font-size:18px}.more-menu{max-width:calc(100vw - 20px)}}@media(max-width:360px){#toolbar{gap:4px;padding-inline:6px}#toolbar>.tb-btn{padding-inline:2px;font-size:11px}}@media(max-height:500px)and (orientation:landscape){#phonePanel{--toolbar-offset: max(10px, calc(env(safe-area-inset-bottom, 0px) + 6px) );--toolbar-block-size: 60px}#toolbar{min-height:60px;padding-block:7px}#toolbar>.tb-btn{min-height:44px}.more-menu{max-height:calc(100vh - 84px)}}#disconnectOverlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:100;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff}.dc-icon{font-size:48px}.dc-title{font-size:22px;font-weight:600;color:#f55}.dc-reason{font-size:14px;color:#ccc;max-width:80%;text-align:center;line-height:1.5}.dc-hint{font-size:13px;color:#888;margin-top:8px}.dc-actions{display:flex;gap:10px;margin-top:8px}.dc-action{border:1px solid #4c8bf5;border-radius:6px;padding:8px 18px;background:#2563eb;color:#fff;cursor:pointer;font-size:14px}.dc-action.secondary{background:#30363d;border-color:#6e7681}#audioHint{position:absolute;bottom:calc(var(--toolbar-offset) + var(--toolbar-block-size) + 12px);left:50%;transform:translate3d(-50%,0,1px);-webkit-transform:translate3d(-50%,0,1px);background:#2563ebf2;color:#fff;padding:12px 28px;border-radius:24px;font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;z-index:80;display:none;pointer-events:none;box-shadow:0 8px 28px #00000073;border:1px solid rgba(255,255,255,.35);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}#audioHint.visible{display:block;pointer-events:auto}:root{--ink: #17233b;--ink-2: #273858;--panel: #ffffff;--line: #e2e8f2;--text: #17233b;--muted: #718096;--accent: #2176e8;--accent-2: #1559c7;--accent-soft: #eaf3ff;--warn: #be7a15;--danger: #d23f4f}html,body{height:auto;min-height:100%;background:#f3f6fb;overflow-x:hidden;overflow-y:auto;touch-action:pan-y}#connectPanel{min-height:100vh;min-height:100dvh;height:auto;align-items:flex-start;padding:22px 16px 30px;overflow:visible;background:radial-gradient(780px 360px at 100% -12%,rgba(73,153,255,.16),transparent 64%),linear-gradient(180deg,#f5f8fd,#eef2f8)}#connectPanel:before{display:none}.connect-shell{width:min(620px,100%);gap:14px;animation:connect-enter .38s ease-out both}.connect-topbar{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px}.brand-lockup{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand-lockup .brand-mark{width:42px;height:42px;flex:0 0 42px;padding:3px;margin:0;border-radius:13px;background:linear-gradient(145deg,#1976ee,#15a7b8);box-shadow:0 8px 18px #1f6fda33;animation:none}.brand-lockup .brand-name{margin:0;color:#1b2f52;font-family:var(--font-brand);font-size:21px;font-weight:700;letter-spacing:-.02em;line-height:1;text-transform:none}.brand-lockup .brand-name span{color:#2379e8}.connect-top-actions{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid #dbe8f8;border-radius:999px;background:#ffffffbd;color:#60718b;font-size:12px;white-space:nowrap}.top-status-dot{width:7px;height:7px;border-radius:50%;background:#2ab879;box-shadow:0 0 0 3px #2ab87921}.connect-hero{min-height:130px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;overflow:hidden;border:1px solid #dce8f7;border-radius:22px;text-align:left;background:linear-gradient(120deg,#eaf3ff,#f7fbff 58%,#e5f8f7);box-shadow:0 12px 32px #32578414}.hero-copy{position:relative;z-index:2}.eyebrow{margin:0 0 7px;color:#5185bf;font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.3}.connect-hero .brand-title{margin:0;color:#172b4d;font-family:var(--font-sans);font-size:clamp(25px,6vw,34px);font-weight:700;letter-spacing:-.03em;line-height:1.15}.connect-hero .brand-tagline{margin:7px 0 0;color:#6e819b;font-size:13px;letter-spacing:0}.hero-orbit{width:126px;height:92px;position:relative;flex:0 0 126px;color:#2077e5}.orbit-ring{position:absolute;border:1px solid rgba(33,118,232,.2);border-radius:50%;transform:rotate(-22deg)}.orbit-ring-one{top:8px;right:4px;bottom:12px;left:12px}.orbit-ring-two{top:18px;right:14px;bottom:2px;left:0;border-color:#20a7b133}.orbit-cloud{position:absolute;left:27px;top:24px;color:#1b80e8;font-size:48px;line-height:1;filter:drop-shadow(0 7px 8px rgba(37,112,205,.16))}.orbit-cursor{position:absolute;right:9px;top:8px;color:#16a8a1;font-size:30px;font-weight:700;transform:rotate(-12deg)}.connect-form{gap:15px;padding:24px 26px 18px;border:1px solid #e2e8f1;border-radius:22px;background:#fff;box-shadow:0 14px 36px #29456c17;-webkit-backdrop-filter:none;backdrop-filter:none}.form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.form-heading h2{color:#182844;font-size:22px;line-height:1.25;letter-spacing:-.02em}.form-heading p{margin-top:5px;color:#8190a5;font-size:12px;line-height:1.5}.mode-pill{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eaf3ff;color:#1d6bd1;font-size:12px;font-weight:600;white-space:nowrap}.mode-pill-icon{font-size:18px;line-height:.7}.wss-config{gap:0}.connect-field-label{color:#53657e;font-size:12px;font-weight:600}.device-code-input{position:relative;margin-top:7px}.input-prefix{position:absolute;left:15px;top:50%;z-index:1;color:#8da0b8;font-size:17px;font-weight:600;transform:translateY(-50%);pointer-events:none}#connectPanel input{min-height:51px;padding:13px 15px 13px 35px;border:1px solid #d5deea;border-radius:13px;background:#fbfcfe;color:#1a2d4b;font-size:16px;letter-spacing:.01em}#connectPanel input::placeholder{color:#a1adbd}#connectPanel input:focus{border-color:#448ce9;background:#fff;box-shadow:0 0 0 4px #3982e71f}.connect-hint{margin:-5px 0 0;color:#6d839e;font-size:12px;line-height:1.5}.connection-capacity{display:flex;align-items:center;min-height:40px;margin:-2px 0 0;padding:9px 12px;border:1px solid #dce7f5;border-radius:11px;background:#f5f9ff;color:#516f92;font-size:12px;font-weight:600;line-height:1.4}.connection-capacity.near-full{border-color:#f1cf8f;background:#fff9eb;color:#9b6813}.connection-capacity.full{border-color:#efabb2;background:#fff2f3;color:#bb3846}#startBtn{min-height:52px;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:13px;background:linear-gradient(105deg,#237bf0,#1763d5);color:#fff;font-size:16px;font-weight:700;letter-spacing:.04em;box-shadow:0 10px 22px #2271dd38}#startBtn:hover{filter:brightness(1.04);box-shadow:0 12px 26px #2271dd4d}.button-arrow{font-size:20px;line-height:.7;transition:transform .2s ease}#startBtn:hover .button-arrow{transform:translate(3px)}.settings-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 10px;border:0;border-radius:10px;background:transparent;color:#6c7e97;font-size:13px}.settings-toggle:hover,.settings-toggle.open{color:#1e69ce;background:#f2f7ff}.settings-icon{font-size:15px}.settings-chevron{font-size:15px;transition:transform .2s ease}.settings-toggle.open .settings-chevron{transform:rotate(180deg)}.settings-panel{gap:9px;padding:13px;border:1px solid #e2e9f2;border-radius:14px;background:#f8fafd}.settings-intro{color:#8391a5;font-size:11px;line-height:1.45}.settings-row{gap:10px}.field-label{min-width:80px;color:#63748c;font-size:12px}.settings-panel select{min-height:36px;padding:7px 10px;border:1px solid #d8e1ed;border-radius:9px;background:#fff;color:#334761;font-size:12px}.settings-panel select:focus{border-color:#448ce9;box-shadow:0 0 0 3px #3982e71a}.local-device-card{padding:20px 24px;border:1px solid #e2e8f1;border-radius:20px;background:#ffffffdb;box-shadow:0 10px 26px #29456c0f}.local-device-heading{display:flex;align-items:flex-start;justify-content:space-between}.local-device-heading h2{color:#1a2c49;font-size:19px;letter-spacing:-.02em}.local-device-arrow{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#e8f3ff;color:#2778dd;font-size:21px}.local-device-copy{margin-top:9px;color:#75849a;font-size:12px;line-height:1.6}.local-device-features{display:flex;gap:18px;margin-top:14px;color:#5d6f87;font-size:12px}.local-device-features>span{display:inline-flex;align-items:center;gap:6px}.feature-icon{color:#2680e9;font-size:17px}.connect-footer{gap:8px;padding-top:2px}.connect-meta{gap:7px}.connect-meta-text{color:#8b98aa;font-size:11px}.connect-meta-badge{padding:4px 9px;border:1px solid #dce5f0;background:#ffffffa6;color:#7f8da1;font-size:11px}.connect-copyright,.connect-contact{color:#9aa6b6;font-size:11px}.connect-contact a{color:#5682bb;border-bottom-color:#5682bb40}body:has(#cmsUsername) #connectPanel{align-items:center}body:has(#cmsUsername) .connect-hero{min-height:0;padding:24px;justify-content:center;text-align:center}body:has(#cmsUsername) .hero-orbit{display:none}body:has(#cmsUsername) .connect-hero .brand-title{font-size:30px}@media(max-width:520px){#connectPanel{padding:14px 12px 24px}.connect-topbar{padding:0 2px}.top-status-label{display:none}.connect-hero{min-height:116px;padding:20px;border-radius:18px}.hero-orbit{width:94px;height:75px;flex-basis:94px;transform:scale(.82);transform-origin:right center}.connect-form{padding:20px 17px 15px;border-radius:18px}.form-heading h2{font-size:19px}.mode-pill{padding:6px 8px;font-size:11px}.local-device-card{padding:17px 18px;border-radius:17px}.local-device-features{gap:12px}}body.phone-active{height:100vh;height:100dvh;min-height:0;overflow:hidden}body.phone-active #phonePanel{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh}
