:root{--color-bg-page:#0f172a;--color-bg-surface:#1e293b;--color-bg-raised:#334155;--color-bg-muted:#475569;--color-border:#334155;--color-border-muted:#475569;--color-text-primary:#e5e7eb;--color-text-bright:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-disabled:#64748b;--color-accent:#38bdf8;--color-accent-success:#19cca3;--color-accent-success-tint:#19cca326;--color-accent-danger:#ef4444;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:32px;--header-height:52px;--radius-sm:4px;--radius-base:6px;--radius-md:8px;--radius-lg:10px;--radius-pill:16px;--radius-full:50%;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--transition-fast:.1s ease;--transition-base:.15s ease;--transition-slow:.25s ease;--shadow-sm:0 4px 20px #00000026;--shadow-md:0 10px 40px #0000004d;--shadow-lg:0 25px 50px #00000080;--shadow-panel:0px 0px 35px 0px #0000004d;--shadow-dropdown:0 8px 24px #0006;--shadow-glow-success:0 0 6px #22c55e80;--shadow-glow-warning:0 2px 12px #f59e0b80;--shadow-focus:0 0 0 1px #3b82f6;--z-base:1;--z-raised:10;--z-subtopbar:100;--z-panel:200;--z-dropdown:300;--z-modal:1000;--z-toast:2000}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);font-size:var(--font-size-base);background:var(--color-bg-page);color:var(--color-text-primary);overflow:hidden}a{color:var(--color-accent);text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:none}img,svg{display:block}.hidden,[hidden]{display:none!important}.app-container{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{height:var(--header-height);min-height:var(--header-height);-webkit-app-region:drag;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.header-left,.header-center,.header-right{align-items:center;display:flex}.header-left{flex:1}.header-center{flex:1;justify-content:center}.header-right{flex:1;justify-content:flex-end}.main-content{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.sub-topbar{z-index:var(--z-subtopbar);-webkit-app-region:no-drag;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative;overflow:hidden;container-type:inline-size}.footer{flex-shrink:0}.session-content{flex:1;display:flex;position:relative;overflow:hidden}.tab-panels{flex:1;min-height:0;position:relative;overflow:hidden}.screen{z-index:1;background:var(--color-bg-page);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.screen-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.screen-content.centered{justify-content:center;align-items:center}.screen-content.scrollable{scrollbar-width:thin;gap:var(--space-5);overflow-y:auto}.screen-content.scrollable::-webkit-scrollbar{width:8px}.screen-content.scrollable::-webkit-scrollbar-track{background:#1e293b}.screen-content.scrollable::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:10px var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);-webkit-app-region:no-drag;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.btn-primary:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px)}.btn-secondary{background:var(--color-bg-raised);color:var(--color-text-primary)}.btn-secondary:hover{background:var(--color-bg-muted)}.btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.btn-danger:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)}.btn-warning{color:#000;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.btn-large{padding:14px var(--space-8);font-size:var(--font-size-lg)}.btn-small{padding:6px var(--space-3);font-size:var(--font-size-sm)}.btn-icon{font-size:var(--font-size-base);align-items:center;display:inline-flex}.btn.locked{opacity:.5;cursor:not-allowed;pointer-events:none;position:relative}.btn.locked:hover{opacity:.55}.modal{z-index:var(--z-modal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal.hidden{display:none}.modal-backdrop{z-index:0;background:#000000b3;position:absolute;inset:0}.modal-content{z-index:1;background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);width:90%;max-width:400px;position:relative}.modal-content.modal-wide{max-width:500px}.modal-content.modal-small{max-width:350px}.modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--font-size-lg);color:var(--color-text-bright);margin:0}.modal-close{color:var(--color-text-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-base);font-size:20px}.modal-close:hover{color:var(--color-text-bright);background:#ffffff1a}.modal-body{padding:var(--space-5);color:var(--color-text-bright)}.modal-description{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0 0 var(--space-4) 0}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);display:flex}.modal-overlay{z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.hidden{display:none}.relay-modal{background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:400px;padding:var(--space-8);text-align:center;border:1px solid var(--color-border)}.relay-modal-icon{color:#f59e0b;margin-bottom:var(--space-4)}.relay-modal-title{margin:0 0 var(--space-4) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-bright)}.relay-modal-text{color:var(--color-text-primary);font-size:var(--font-size-base);margin:0 0 var(--space-2) 0;line-height:1.5}.relay-modal-text strong{color:#f59e0b}.relay-modal-hint{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--space-6) 0}.relay-modal-buttons{gap:var(--space-3);justify-content:center;display:flex}.relay-modal-buttons .btn{min-width:120px}.slide-panel{background:var(--color-bg-surface);transition:transform var(--transition-slow), visibility var(--transition-slow);pointer-events:none;visibility:hidden;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.slide-panel-right{border-left:1px solid var(--color-border);width:320px;z-index:var(--z-panel);right:0;transform:translate(100%)}.slide-panel-right.open{pointer-events:auto;visibility:visible;z-index:calc(var(--z-panel) + 1);transform:translate(0)}.slide-panel-narrow{width:280px}.slide-panel-header{align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.slide-panel-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.slide-panel-back{color:var(--color-text-secondary);padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-base);flex-shrink:0;justify-content:center;align-items:center;display:flex}.slide-panel-back:hover{background:var(--color-bg-raised);color:var(--color-text-primary)}.slide-panel-content{padding:var(--space-4);flex:1;overflow-y:auto}.slide-panel-footer{gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--color-border);flex-shrink:0;justify-content:flex-end;display:flex}.slide-panel-footer-stack{flex-direction:column}.slide-panel-footer-stack .btn{width:100%}.form-group{margin-bottom:var(--space-4)}.form-group:last-child{margin-bottom:0}.form-group label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);display:block}.form-group input{width:100%;padding:10px var(--space-3);background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:var(--radius-base);color:var(--color-text-primary);font-size:var(--font-size-base);transition:border-color var(--transition-base);outline:none}.form-group input:focus{border-color:#3b82f6}.panel-form .form-group{margin-bottom:var(--space-4)}.panel-form .form-group:last-child{margin-bottom:0}.input-with-button{gap:0;display:flex}.input-with-button input{border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.input-icon-btn{padding:0 var(--space-3);background:var(--color-bg-raised);border:1px solid var(--color-border-muted);border-radius:0 var(--radius-base) var(--radius-base) 0;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);border-left:none;justify-content:center;align-items:center;display:flex}.input-icon-btn:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}.tab-panel{flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.settings-section{background:var(--color-bg-surface);padding:var(--space-3) 10px;flex-direction:column;gap:10px;display:flex}.settings-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 0 var(--space-4)}.settings-section-btn-wrap{padding:10px}.settings-section-btn-wrap .btn-video-reset{margin-top:0}.video-config-table{align-items:stretch;padding:1px 0 10px;display:flex}.video-config-col-main{flex-direction:column;flex:1;gap:20px;min-width:0;display:flex}.video-config-col-info{flex-direction:column;flex-shrink:0;gap:20px;width:52px;display:flex}.video-config-cell{gap:var(--space-2);padding:var(--space-4) var(--space-4) 0;flex-direction:column;min-height:64px;display:flex}.video-config-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1}.video-config-cell-info{min-height:64px;padding-right:var(--space-1);justify-content:flex-end;align-items:flex-end;padding-bottom:10px;display:flex}.video-config-cell-info.network-priority-cell{align-items:center;padding-bottom:0}.hidden-native-select{display:none}.custom-select-wrapper{width:100%;position:relative}.custom-select-trigger{align-items:center;gap:var(--space-1);width:100%;height:40px;padding:var(--space-2) var(--space-3);background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:var(--radius-base);color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer;text-align:left;transition:border-color var(--transition-base);display:flex}.custom-select-trigger:hover,.custom-select-wrapper.open .custom-select-trigger{border-color:var(--color-border-muted)}.custom-select-chevron{flex-shrink:0;font-size:16px;transition:transform .2s}.custom-select-wrapper.open .custom-select-chevron{transform:rotate(180deg)}.custom-select-value{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.custom-select-menu{background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-1);z-index:var(--z-dropdown);box-shadow:var(--shadow-dropdown);margin:0;list-style:none;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0}.custom-select-wrapper.open .custom-select-menu{display:block}.custom-select-option{font-size:var(--font-size-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);padding:7px 10px}.custom-select-option:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.custom-select-option.selected{color:var(--color-accent);font-weight:var(--font-weight-medium)}.custom-select-wrapper--sm .custom-select-trigger,.custom-select-trigger--sm{gap:var(--space-2);height:36px;font-weight:var(--font-weight-medium)}.video-config-info{flex-shrink:0;align-items:center;display:flex;position:relative}.info-icon{cursor:default;opacity:.75;transition:opacity var(--transition-base);font-size:20px}.video-config-info:hover .info-icon{opacity:1}.info-tooltip{width:200px;padding:10px var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);font-size:var(--font-size-sm);color:var(--color-text-secondary);box-shadow:var(--shadow-dropdown);z-index:var(--z-modal);pointer-events:none;white-space:normal;line-height:1.5;display:none;position:fixed}.network-priority-cell{border-bottom:1px solid var(--color-border);min-height:48px;padding-bottom:var(--space-4);justify-content:center}.network-priority-link{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:#2196f3;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;line-height:20px}.network-priority-link:hover{color:#42a5f5}.network-wifi-section{padding:0 var(--space-4) var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.network-wifi-note{font-size:var(--font-size-sm);color:var(--color-text-primary);margin:0}.btn-video-reset{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-base);color:#fafafa;height:40px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-base);background:#2196f3;border:none;margin-top:10px;line-height:20px;display:flex}.btn-video-reset:hover{background:#1a78c2}.btn-video-reset img{width:16px;height:16px}.btn-reboot{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-base);color:#fafafa;width:100%;height:40px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity var(--transition-base);background:#d93737;border:none;display:flex}.btn-reboot:hover{opacity:.85}.toggle{width:44px;height:24px;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--color-bg-muted);border-radius:24px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.toggle input:checked+.toggle-slider,.toggle-switch input:checked+.toggle-slider{background-color:#3b82f6}.toggle input:checked+.toggle-slider:before,.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle.disabled{opacity:.5;pointer-events:none}.toggle input:disabled+.toggle-slider,.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;background:#555}.manage-toggle-row{padding:10px var(--space-4);justify-content:space-between;align-items:center;min-height:44px;display:flex}.manage-toggle-row--bordered{border-bottom:1px solid var(--color-border)}.manage-toggle-switch-group{align-items:center;gap:var(--space-2);flex:1;display:flex}.manage-toggle-row .toggle{flex-shrink:0;display:block}.manage-toggle-row .video-config-info{flex-shrink:0;align-self:center}.manage-toggle-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.wifi-connect-row{gap:var(--space-2);align-items:center;display:flex}.ip-input-group{align-items:center;gap:var(--space-1);display:flex}.ip-octet{width:50px;padding:var(--space-2);text-align:center;background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-base)}.ip-input-group span{color:var(--color-text-disabled);font-size:var(--font-size-lg)}.btn-block{justify-content:center;width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.card-vseparator{background:var(--color-border-muted);flex-shrink:0;width:1px;height:20px}.toolbar-left,.toolbar-right{align-items:center;gap:8px;display:flex}.toolbar-center{flex:1;justify-content:center;display:flex}.toolbar-btn{color:#94a3b8;cursor:pointer;-webkit-app-region:no-drag;background:#334155;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.toolbar-btn-labeled{gap:6px;width:auto;padding:0 12px;font-size:13px}.toolbar-btn-labeled span{white-space:nowrap}.toolbar-btn:hover{color:#e5e7eb;background:#475569}.toolbar-btn.active{color:#fff;background:#3b82f6}.toolbar-btn:disabled{cursor:not-allowed;opacity:.5}.toolbar-btn:disabled:hover{color:#94a3b8;background:#334155}.loading-spinner{border:3px solid #334155;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;margin-bottom:16px;animation:1s linear infinite util-spin;display:inline-block}@keyframes util-spin{to{transform:rotate(360deg)}}.toggle-label{justify-content:space-between;align-items:center;display:flex}.form-input,.form-select{color:#e2e8f0;background:#0f172a;border:1px solid #ffffff1a;border-radius:8px;padding:10px 12px;font-size:14px}.form-input:focus,.form-select:focus{border-color:#3b82f6;outline:none}.form-select{cursor:pointer}.form-hint{color:#94a3b8;font-size:12px;font-weight:500}[data-icon]{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}div[data-icon]{display:flex}[data-icon] svg{width:1em;height:1em;display:block}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{z-index:10;color:#0000;position:absolute;top:0;bottom:0;left:0}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:.5}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-decoration-overview-ruler{z-index:7;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}@scope(.rai-login-screen){.login-container{flex-direction:column;align-items:center;padding:40px;display:flex}.login-logo{justify-content:center;align-items:center;margin-bottom:24px;display:flex}.bifrost-logo-large{width:120px;height:120px}.login-title{font-size:32px;font-weight:var(--font-weight-bold);color:var(--color-text-bright);margin-bottom:var(--space-2)}.login-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-base);margin-bottom:32px}.remember-me-label{cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-base);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:10px;margin-top:20px;display:flex}.remember-me-label input[type=checkbox]{display:none}.remember-me-check{border:2px solid var(--color-border-muted);border-radius:var(--radius-sm);width:18px;height:18px;transition:all var(--transition-base);background:0 0;position:relative}.remember-me-label:hover .remember-me-check{border-color:var(--color-border-muted)}.remember-me-label input[type=checkbox]:checked+.remember-me-check{background:#3b82f6;border-color:#3b82f6}.remember-me-label input[type=checkbox]:checked+.remember-me-check:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.login-footer{font-size:var(--font-size-sm);color:var(--color-text-disabled);margin-top:24px}}@scope(.rai-select-screen){.select-container{max-width:100%;min-height:100%;padding:8px 50px}.select-title{font-size:24px;font-weight:var(--font-weight-bold);color:var(--color-text-bright);margin-bottom:20px;padding:10px}.access-section{flex-direction:column;gap:20px;padding:20px 10px 40px;display:flex}.access-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1);line-height:28px}.access-section-subtitle{font-size:var(--font-size-base);color:var(--color-text-disabled);margin:0;line-height:20px}.attended-card{align-items:center;gap:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);cursor:pointer;-webkit-app-region:no-drag;border-radius:10px;max-width:700px;height:82px;padding:1px 21px;transition:all .2s;display:flex}.attended-card-icon-wrap{flex-shrink:0;justify-content:center;align-items:center;width:80px;display:flex}.attended-card:hover{background:#263348;border-color:#3b82f6}.attended-card-icon{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:10px;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;display:flex}.attended-card-icon svg{width:24px;height:24px}.attended-card-info{flex:1}.attended-card-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:-.3px;margin-bottom:var(--space-1);line-height:24px}.attended-card-desc{font-size:var(--font-size-sm);color:var(--color-text-disabled);line-height:19.5px}.attended-card-arrow{color:var(--color-text-disabled);font-size:24px;font-weight:300}.section-divider{border:none;border-top:1px solid var(--color-border);margin:0 10px}.unattended-subtitle-row{justify-content:space-between;align-items:center;display:flex}.unattended-actions{gap:var(--space-2);-webkit-app-region:no-drag;flex-shrink:0;display:flex}.btn-icon-img{vertical-align:middle;margin-right:6px;font-size:14px}.btn-icon-img.spinning{animation:1s linear infinite reverse util-spin}.select-footer-bar{text-align:center;color:var(--color-text-disabled);background:var(--color-bg-surface);padding:var(--space-2) var(--space-4);letter-spacing:.06px;flex-shrink:0;justify-content:center;align-items:center;height:32px;font-size:11px;display:flex}}@scope(.rai-otp-modal){.otp-input-container{margin-bottom:var(--space-3)}.otp-input{width:100%;padding:14px var(--space-4);text-align:center;letter-spacing:8px;background:var(--color-bg-page);border:2px solid var(--color-border);border-radius:var(--radius-md);color:#7dd3fc;transition:border-color var(--transition-base);outline:none;font-family:Consolas,Monaco,monospace;font-size:24px}.otp-input:focus{border-color:var(--color-accent)}.otp-hint{color:var(--color-text-disabled);font-size:var(--font-size-sm);margin:0;font-style:italic}.otp-error{color:var(--color-accent-danger);font-size:var(--font-size-sm);margin:var(--space-2) 0 0}}@keyframes device-list-spin{to{transform:rotate(360deg)}}@scope(.rai-device-list){:scope{flex-direction:column;gap:12px;width:100%;display:flex}.bifrost-item{align-items:center;gap:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:10px;height:82px;padding:1px 21px;transition:all .2s;display:flex;position:relative}.bifrost-device-img-wrap{flex-shrink:0;justify-content:center;align-items:center;width:80px;height:100%;display:flex}.bifrost-device-img{justify-content:center;align-items:center;width:78px;min-width:78px;height:48px;display:flex}.bifrost-device-photo{object-fit:contain;filter:drop-shadow(1px 3px 10px #ffffff4a);width:78px;height:48px}.bifrost-item-right{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.bifrost-item:hover{background:var(--color-bg-raised);border-color:#3b82f6}.bifrost-item.disabled{cursor:not-allowed}.bifrost-item.disabled:hover{background:var(--color-bg-surface);border-color:var(--color-border)}.bifrost-item.disabled:after{content:"";background:#64748b59;border-radius:10px;position:absolute;inset:0}.bifrost-info{flex:1}.bifrost-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.bifrost-serial{font-size:var(--font-size-sm);color:var(--color-text-disabled);font-family:Consolas,Monaco,monospace}.bifrost-status{align-items:center;gap:var(--space-1);padding:var(--space-1) 12px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:16px;display:flex}.bifrost-status.online{color:#19cca3;background:#19cca326}.bifrost-status.online .status-dot{background:#19cca3}.bifrost-status.in-session{color:#3b82f6;background:#3b82f626}.bifrost-status.in-session .status-dot{background:#3b82f6}.bifrost-status.idle{color:#eab308;background:#eab30826}.status-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.loading{justify-content:center;align-items:center;gap:var(--space-4);color:var(--color-text-secondary);flex-direction:column;padding:48px;display:flex}.spinner{border:3px solid var(--color-border);border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite device-list-spin}.empty-list{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px;display:flex}.empty-icon{margin-bottom:var(--space-2);font-size:48px}.empty-list h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.empty-list p{font-size:var(--font-size-base);color:var(--color-text-secondary)}}@scope(.rai-generate-unit-config-modal){input[type=checkbox],input[type=radio]{accent-color:#3b82f6}.generate-unit-config-modal{flex-direction:column;max-height:85vh;display:flex}.modal-body{min-height:0;overflow-y:auto}.generate-unit-config-section{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.generate-unit-config-section+.generate-unit-config-section{margin-top:var(--space-3)}.generate-unit-config-section-header{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-bright);-webkit-user-select:none;user-select:none;display:flex}.generate-unit-config-section-body{margin-top:var(--space-3)}.generate-unit-config-field-row{gap:var(--space-5);display:flex}.generate-unit-config-field-row label{align-items:center;gap:var(--space-1);cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-primary);-webkit-user-select:none;user-select:none;display:flex}.generate-unit-config-field-group{gap:var(--space-1);margin-top:var(--space-3);flex-direction:column;display:flex}.generate-unit-config-section-body>.generate-unit-config-field-group:first-child{margin-top:0}.generate-unit-config-field-group label{font-size:var(--font-size-sm);color:var(--color-text-primary)}.generate-unit-config-field-group input{background:var(--color-bg-page);border-radius:var(--radius-sm);width:100%;height:33px;color:var(--color-text-primary);font-size:var(--font-size-sm);box-sizing:border-box;transition:box-shadow var(--transition-base);border:none;outline:none;padding:7px 14px}.generate-unit-config-field-group input:focus{box-shadow:var(--shadow-focus)}}@keyframes connecting-progress-shimmer{0%{background-position:200%}to{background-position:-100%}}@scope(.rai-connecting-screen){.connecting-content{flex-direction:column;align-items:center;gap:24px;padding:20px;display:flex}.connecting-card{border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;gap:28px;width:320px;padding:36px 40px 48px;display:flex}.connecting-rings-img{width:120px;height:120px}.connecting-progress-bar{border-radius:var(--radius-sm);background:linear-gradient(90deg,#1e3a5f 0% 30%,#38bdf8 50%,#1e3a5f 70% 100%) 0 0/300% 100%;width:100%;height:8px;animation:2.4s linear infinite connecting-progress-shimmer}.connecting-label{text-align:center;gap:var(--space-1);flex-direction:column;display:flex}.connecting-label p{font-size:var(--font-size-xl);color:var(--color-text-secondary);margin:0}.connecting-label-serial{font-weight:var(--font-weight-semibold);font-family:Consolas,Monaco,monospace;color:var(--color-text-bright)!important;font-size:22px!important}}@scope(.rai-video-display){:scope{position:absolute;inset:0}.vd-video{object-fit:contain;cursor:default;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:100%;height:100%}.vd-loading-overlay{text-align:center;color:var(--color-text-secondary);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vd-no-signal-overlay{z-index:10;background:#000000d9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vd-no-signal-content{text-align:center;max-width:400px;padding:40px}.vd-no-signal-icon{color:#ef4444;width:64px;height:64px;margin-bottom:20px}.vd-no-signal-title{font-size:20px;font-weight:var(--font-weight-semibold);color:var(--color-text-bright);margin:0 0 12px}.vd-no-signal-text{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 24px;line-height:1.5}.vd-no-signal-help-btn{align-items:center;gap:var(--space-2);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;background:#3b82f6;border:none;padding:12px 24px;transition:background .2s;display:inline-flex}.vd-no-signal-help-btn:hover{background:#2563eb}.vd-no-signal-help-btn svg{flex-shrink:0}}@scope(.rai-virtual-keyboard){:scope{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;-webkit-user-select:none;user-select:none;-webkit-app-region:no-drag;background:#f8f9faf7;max-width:98vw;padding:14px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 -4px 30px #0000004d}.keyboard-header{justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 6px;display:flex}.keyboard-layout-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#475569}.keyboard-layout-control{align-items:center;gap:var(--space-2);display:flex}.keyboard-layout-btn{border-radius:var(--radius-base);padding:var(--space-1) 12px;cursor:pointer;font-size:var(--font-size-base);-webkit-app-region:no-drag;background:#e2e8f0;border:none;transition:all .2s}.keyboard-layout-btn:hover{background:#cbd5e1}.keyboard-layout-hint{font-size:var(--font-size-xs);color:#94a3b8;white-space:nowrap;-webkit-user-select:none;user-select:none}.keyboard-close-btn{cursor:pointer;color:#64748b;border-radius:var(--radius-sm);-webkit-app-region:no-drag;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:22px;transition:all .2s;display:flex}.keyboard-close-btn:hover{color:#334155;background:#e2e8f0}.keyboard-rows{flex-direction:column;gap:7px;display:flex}.keyboard-row{justify-content:center;gap:5px;display:flex}.kb-key{border-radius:var(--radius-base);min-width:48px;height:46px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:#1f2937;cursor:pointer;-webkit-app-region:no-drag;background:#fff;border:1px solid #d1d5db;justify-content:center;align-items:center;padding:0 10px;transition:all .1s;display:flex;box-shadow:0 2px #b8bcc4}.kb-key:hover{background:#f3f4f6}.kb-key:active{background:#e5e7eb;transform:translateY(1px);box-shadow:0 1px #b8bcc4}.kb-key.active{color:#fff;background:#3b82f6;border-color:#2563eb;box-shadow:0 2px #1d4ed8}.kb-key.kb-wide-1-5{min-width:75px}.kb-key.kb-wide-1-75{min-width:88px}.kb-key.kb-wide-2{min-width:98px}.kb-key.kb-wide-2-25{min-width:110px}.kb-key.kb-space{min-width:320px}.kb-key.kb-special{font-size:var(--font-size-sm);background:#e2e8f0}.kb-key.kb-special:hover{background:#cbd5e1}.kb-key.kb-fn{font-size:var(--font-size-sm);min-width:44px}.kb-key.kb-delete{background:#fee2e2;border-color:#fca5a5}.kb-key.kb-delete:hover{background:#fecaca}.kb-key.kb-arrow{min-width:44px;font-size:var(--font-size-base)}}@scope(.rai-kvm-screen){.kvm-canvas-wrapper{background:#000;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.keyboard-toggle-btn{background:var(--color-bg-raised);border-radius:var(--radius-base);padding:var(--space-2) 12px;cursor:pointer;color:#e2e8f0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.keyboard-toggle-btn:hover{background:var(--color-bg-muted)}.keyboard-toggle-btn.active{color:#fff;background:#3b82f6}.keyboard-toggle-btn:disabled{cursor:not-allowed;opacity:.5}}@scope(.rai-terminal-screen){.terminal-toolbar{padding:12px var(--space-4);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.terminal-toolbar label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.terminal-toolbar select{background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);padding:6px 12px}}@scope(.rai-serial-terminal){:scope{padding:var(--space-2);background:#000;flex:1;min-height:0;position:relative;overflow:hidden}.xterm{height:100%;max-height:100%}.xterm-viewport{overflow-y:auto!important}.xterm-screen{max-height:100%}}@scope(.rai-ssh-screen){.ssh-toolbar{padding:12px var(--space-4);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ssh-toolbar label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ssh-toolbar select{background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);padding:6px 12px}}@scope(.rai-ssh-terminal){:scope{padding:var(--space-2);background:#000;flex:1;min-height:0;position:relative;overflow:hidden}.xterm{height:100%;max-height:100%}.xterm-viewport{overflow-y:auto!important}.xterm-screen{max-height:100%}}@scope(.rai-ssh-connection-panel){}@scope(.rai-clear-hosts-modal){}@scope(.rai-storage-screen){:scope{flex-direction:column;min-height:0;display:flex}}@scope(.rai-delete-panel){.delete-warning-panel{text-align:center;padding:24px 0}.delete-warning-icon{color:#f59e0b;margin-bottom:16px}.delete-warning-text{color:#e5e7eb;margin-bottom:8px;font-size:15px}.delete-warning-hint{color:#64748b;font-size:13px}}@scope(.rai-folder-delete-panel){.delete-warning-panel{text-align:center;padding:24px 0}.delete-warning-icon{color:#f59e0b;margin-bottom:16px}.delete-warning-text{color:#e5e7eb;margin-bottom:8px;font-size:15px}.delete-warning-hint{color:#64748b;font-size:13px}.delete-folder-info{color:#94a3b8;text-align:left;background:#1e293b;border-radius:8px;margin:16px 0;padding:12px 16px;font-size:14px;line-height:1.6}.delete-folder-info strong{color:#cbd5e1}}@scope(.rai-zip-upload-panel){.zip-upload-panel{text-align:center;padding:24px 0}.zip-upload-icon{color:#3b82f6;margin-bottom:16px}.zip-upload-text{color:#94a3b8;margin-bottom:8px;font-size:14px}.zip-upload-filename{color:#e5e7eb;word-break:break-all;background:#0f172a;border-radius:6px;margin:12px 0;padding:8px 16px;font-size:16px;font-weight:600}.zip-upload-hint{color:#64748b;margin-top:12px;font-size:13px}}@scope(.rai-folder-upload-panel){.zip-upload-panel{text-align:center;padding:24px 0}.zip-upload-icon{color:#3b82f6;margin-bottom:16px}.zip-upload-text{color:#94a3b8;margin-bottom:8px;font-size:14px}.zip-upload-filename{color:#e5e7eb;word-break:break-all;background:#0f172a;border-radius:6px;margin:12px 0;padding:8px 16px;font-size:16px;font-weight:600}.zip-upload-hint{color:#64748b;margin-top:12px;font-size:13px}}@scope(.rai-rename-panel){.relay-modal{text-align:left;max-width:560px}.rnm-header{align-items:flex-end;gap:20px;margin-bottom:12px;display:flex}.rnm-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-bright);margin:0;line-height:1.2}.rnm-header-icon{color:#f59e0b;flex-shrink:0;align-items:center;display:flex}.rnm-header-icon svg{width:32px;height:32px}.rnm-separator{border:none;border-top:1px solid var(--color-border);margin:0 0 14px}.rnm-desc{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 16px;line-height:1.5}.rnm-warning-box{border-radius:var(--radius-md);background:#f59e0b14;border:1px solid #f59e0b4d;flex-direction:column;gap:8px;margin-bottom:20px;padding:12px 16px;display:flex}.rnm-warning-header{color:#fbbf24;align-items:center;gap:8px;display:flex}.rnm-warning-header svg{flex-shrink:0;width:18px;height:18px}.rnm-warning-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:#fbbf24}.rnm-warning-text{font-size:var(--font-size-sm);color:#fbbf24;margin:0;line-height:1.6}.rnm-input-placeholder{visibility:hidden;margin-bottom:16px}.rnm-input-placeholder.visible{visibility:visible}.rnm-input{background:var(--color-bg-page,#0f172a);border:1px solid var(--color-border,#334155);border-radius:var(--radius-base,6px);width:100%;color:var(--color-text-bright,#e5e7eb);font-size:var(--font-size-sm);box-sizing:border-box;outline:none;padding:8px 12px;font-family:Consolas,Monaco,monospace;transition:border-color .15s}.rnm-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.rnm-footer{justify-content:flex-end;gap:8px;display:flex}}@scope(.rai-storage-screen){.storage-toolbar{background:#1e293b;border-bottom:1px solid #334155;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.storage-toolbar-left,.storage-toolbar-right{align-items:center;gap:8px;display:flex}.toolbar-btn-icon{justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.toolbar-btn-icon svg{width:18px;height:18px}.ftp-btn-wrapper{align-items:center;gap:12px;display:flex}.ftp-status-indicator{color:#22c55e;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.status-dot{background:#64748b;border-radius:50%;width:8px;height:8px}.status-dot-green{background:#22c55e;box-shadow:0 0 6px #22c55e80}.storage-content{background:#0f172a;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.storage-dropzone{z-index:100;pointer-events:none;background:#3b82f626;border:3px dashed #3b82f6;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.storage-dropzone.active{display:flex}.dropzone-content{text-align:center;color:#3b82f6}.dropzone-content svg{opacity:.8;margin-bottom:16px}.dropzone-content h3{margin-bottom:8px;font-size:20px;font-weight:600}.dropzone-content p{opacity:.8;font-size:14px}.file-list-loading{z-index:5;background:#0f172a99;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.file-browser{flex-direction:column;flex:1;display:flex;overflow:hidden}.file-list-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;background:#1e293b;border-bottom:1px solid #334155;align-items:center;padding:10px 16px;font-size:12px;font-weight:600;display:flex}.file-header-check{justify-content:center;align-items:center;width:40px;display:flex}.file-header-check input[type=checkbox]{cursor:pointer;accent-color:#3b82f6;width:16px;height:16px}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;transition:color .15s;display:flex}.sortable-header:hover{color:#e5e7eb}.sort-icon-el{color:#64748b;flex-shrink:0;align-items:center;display:flex}.sort-icon-el svg{width:14px;height:14px}.sortable-header.active .sort-icon-el{color:#94a3b8}.file-header-name{flex:1}.file-header-size{text-align:right;justify-content:flex-end;width:100px}.file-list{flex:1;padding:8px 0;overflow-y:auto}.file-list::-webkit-scrollbar{width:8px}.file-list::-webkit-scrollbar-track{background:#1e293b}.file-list::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}.file-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #0000;align-items:center;padding:10px 16px;transition:background .15s;display:flex}.file-item:hover{background:#3b82f626}.file-item:active{background:#3b82f640}.file-item.selected{background:#3b82f633;border-bottom-color:#3b82f64d}.file-item.selected:hover{background:#3b82f640}.file-item-check{justify-content:center;align-items:center;width:48px;min-width:48px;padding:4px;display:flex}.file-item-check input[type=checkbox]{cursor:pointer;accent-color:#3b82f6;width:18px;height:18px}.file-item-icon{color:#64748b;justify-content:center;align-items:center;width:32px;height:32px;margin-right:12px;display:flex}.file-item-icon svg{width:24px;height:24px}.file-item-name{color:#e5e7eb;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.file-item-folder{color:#64748b;align-items:center;gap:4px;font-size:13px;display:inline-flex}.file-item-folder .folder-icon{color:#f59e0b;flex-shrink:0;width:14px;height:14px}.file-item-size{text-align:right;color:#64748b;width:100px;font-family:Consolas,Monaco,monospace;font-size:13px}.folder-row{cursor:pointer;background:#1a2536;border-bottom:1px solid #1e293b;align-items:center;gap:12px;padding:10px 16px;transition:background .15s;display:flex}.folder-row:hover{background:#243044}.folder-row.selected{background:#1e3a5f}.folder-row.selected:hover{background:#234872}.folder-row-check{justify-content:center;align-items:center;width:28px;display:flex}.folder-row-check input[type=checkbox]{cursor:pointer;accent-color:#3b82f6;width:16px;height:16px}.folder-row-toggle{color:#64748b;justify-content:center;align-items:center;width:20px;height:20px;transition:transform .2s;display:flex}.folder-row-toggle svg{width:16px;height:16px}.folder-row.expanded .folder-row-toggle{transform:rotate(90deg)}.folder-row-icon{color:#f59e0b;flex-shrink:0;width:24px;height:24px}.folder-row-icon svg{width:24px;height:24px}.folder-row-name{color:#e5e7eb;flex:1;font-size:14px;font-weight:500}.folder-row-count{color:#64748b;background:#334155;border-radius:10px;padding:2px 8px;font-size:12px}.file-item.in-folder{background:#0d1420;padding-left:52px}.file-item.in-folder:hover{background:#162030}.folder-files{display:none}.folder-files.expanded{display:block}.file-list-empty{color:#64748b;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px;display:flex}.file-list-empty svg{opacity:.5;margin-bottom:16px}.file-list-empty h3{color:#94a3b8;margin-bottom:8px;font-size:18px;font-weight:600}.file-list-empty p{font-size:14px}.storage-info-bar{color:#94a3b8;background:#1e293b;border-top:1px solid #334155;justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;display:flex}.storage-space{align-items:center;gap:8px;display:flex}.storage-space svg{color:#64748b}.storage-selected{color:#3b82f6;font-weight:500}.transfer-panel{background:#1e293b;border-top:1px solid #334155;padding:16px}.transfer-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.transfer-info{flex-direction:column;gap:2px;display:flex}.transfer-title{color:#e5e7eb;font-size:14px;font-weight:600}.transfer-details{color:#64748b;font-size:12px}.transfer-progress{background:#334155;border-radius:3px;height:6px;overflow:hidden}.transfer-progress-bar{background:linear-gradient(90deg,#3b82f6 0%,#60a5fa 100%);border-radius:3px;height:100%;transition:width .3s}.transfer-queue{color:#64748b;margin-top:8px;font-size:12px}}@scope(.rai-ftp-panel){.ftp-status-card{background:#0f172a;border-radius:8px;align-items:center;gap:16px;margin-bottom:20px;padding:16px;display:flex}.ftp-status-card.enabled{background:#22c55e1a;border:1px solid #22c55e4d}.ftp-status-icon{color:#64748b;flex-shrink:0}.ftp-status-card.enabled .ftp-status-icon{color:#22c55e}.ftp-status-info{flex-direction:column;gap:4px;display:flex}.ftp-status-label{color:#e5e7eb;font-size:14px;font-weight:600}.ftp-status-hint{color:#64748b;font-size:12px}.input-with-button{gap:0;display:flex}.input-with-button input{border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.input-icon-btn{color:#94a3b8;cursor:pointer;background:#334155;border:1px solid #475569;border-left:none;border-radius:0 6px 6px 0;justify-content:center;align-items:center;padding:0 12px;transition:all .15s;display:flex}.input-icon-btn:hover{color:#e5e7eb;background:#475569}.ftp-connection-info{background:#0f172a;border-radius:8px;margin-top:16px;overflow:hidden}.connection-info-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;background:#1e293b;padding:10px 12px;font-size:12px;font-weight:600}.connection-info-row{border-bottom:1px solid #1e293b;justify-content:space-between;padding:10px 12px;display:flex}.connection-info-row:last-child{border-bottom:none}.connection-info-label{color:#94a3b8;font-size:13px}.connection-info-value{color:#e5e7eb;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px}}@scope(.rai-sftp-modal){.sftp-form .form-group{margin-bottom:16px}.sftp-form .form-hint{color:#64748b;margin-top:4px;font-size:12px}.sftp-modal-hint{color:#94a3b8;background:#3b82f61a;border-radius:6px;margin-top:12px;padding:10px;font-size:13px}}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@scope(.rai-toast){:scope{bottom:var(--space-6);right:var(--space-6);gap:var(--space-2);z-index:var(--z-toast);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:300px;animation:toast-slide-in var(--transition-slow) ease;border-left:4px solid #0000;display:flex}.toast.info{border-left-color:var(--color-text-disabled)}.toast.success{border-left-color:var(--color-accent-success)}.toast.error{border-left-color:var(--color-accent-danger)}.toast-icon{font-size:18px}.toast-message{font-size:var(--font-size-base);color:var(--color-text-primary);flex:1}.toast-close{color:var(--color-text-disabled);padding:0;font-size:18px;line-height:1}.toast-close:hover{color:var(--color-text-primary)}}@scope(.rai-firmware-update-modal){.firmware-version-info{background:var(--color-bg-page);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-4) 0}.version-row{padding:var(--space-2) 0;justify-content:space-between;align-items:center;display:flex}.version-row:not(:last-child){border-bottom:1px solid var(--color-border)}.version-label{color:var(--color-text-secondary);font-size:var(--font-size-base)}.version-value{font-weight:var(--font-weight-semibold);color:#e2e8f0;font-family:Monaco,Menlo,monospace}.version-value.version-new{color:#22c55e}.firmware-warning{border-radius:var(--radius-md);padding:var(--space-4);color:#fbbf24;font-size:var(--font-size-sm);background:#fbbf241a;border:1px solid #fbbf244d;line-height:1.5}.firmware-warning strong{color:#fcd34d}}@scope(.rai-feature-locked-modal){.feature-locked-modal{text-align:center;max-width:420px}.feature-locked-icon{margin-bottom:var(--space-4);color:#f59e0b;justify-content:center;display:flex}.feature-locked-desc{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0;line-height:1.6}}@scope(.rai-logout-confirm-modal){}@scope(.rai-wifi-password-modal){.wifi-password-container{gap:8px;margin-bottom:12px;display:flex}.wifi-password-input{color:#e2e8f0;background:#0f172a;border:2px solid #334155;border-radius:8px;outline:none;flex:1;padding:12px 16px;font-size:16px;transition:border-color .15s}.wifi-password-input:focus{border-color:#38bdf8}.wifi-password-toggle{color:#94a3b8;cursor:pointer;background:#1e293b;border:2px solid #334155;border-radius:8px;justify-content:center;align-items:center;width:44px;transition:all .15s;display:flex}.wifi-password-toggle:hover{color:#e2e8f0;background:#334155}.wifi-password-toggle.showing{color:#3b82f6;border-color:#3b82f6}}@scope(.rai-profile-panel){:scope{top:var(--header-height);right:var(--space-4);z-index:var(--z-dropdown);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:297px;box-shadow:var(--shadow-dropdown);padding:var(--space-5);align-items:center;gap:var(--space-2);flex-direction:column;display:flex;position:fixed}:scope.hidden{display:none}.pp-avatar{border-radius:var(--radius-full);background:var(--color-bg-raised);-webkit-user-select:none;user-select:none;width:52px;height:52px;margin-bottom:var(--space-1);overflow:hidden}.pp-avatar-img{object-fit:cover;border-radius:var(--radius-full);width:100%;height:100%}.pp-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:16px}.pp-email{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-primary);word-break:break-all;text-align:center;line-height:16px}.pp-meta{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-primary);text-align:center;line-height:16px}.pp-meta strong{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.pp-promo-card{border:1px solid var(--color-border);border-radius:var(--radius-base);width:100%;overflow:hidden}.pp-promo-gradient{background-image:url(/assets/profile-promo-banner-ZVzjbMkc.png);background-position:50%;background-size:cover;height:70px}.pp-promo-body{background:var(--color-bg-raised);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.pp-promo-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:16px}.pp-promo-desc{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-primary);text-align:left;word-break:break-word;line-height:16px}.pp-promo-footer{justify-content:flex-end;display:flex}.pp-promo-learn-more{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#2196f3;cursor:pointer;line-height:16px}.pp-promo-learn-more:hover{text-decoration:underline}.pp-signout-btn{width:100%;padding:9px var(--space-4);border-radius:var(--radius-base);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-base), border-color var(--transition-base);-webkit-app-region:no-drag;background:0 0;line-height:20px}.pp-signout-btn:hover{background:var(--color-bg-raised);border-color:var(--color-border-muted)}.pp-version{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-primary);margin-top:var(--space-1);line-height:1}.pp-legacy-link{cursor:pointer;-webkit-app-region:no-drag;align-items:center;gap:2px;display:flex}.pp-legacy-link.hidden{display:none}.pp-legacy-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);letter-spacing:-.1504px;color:var(--color-text-disabled);line-height:20px}.pp-legacy-icon{width:12px;height:12px;color:var(--color-text-disabled);flex-shrink:0}}.rai-welcome-screen .modal-content{scrollbar-width:thin;scrollbar-color:var(--color-bg-raised) var(--color-bg-surface);width:90%;max-width:600px;max-height:94vh;overflow-y:auto}.rai-welcome-screen .modal-content::-webkit-scrollbar{width:6px}.rai-welcome-screen .modal-content::-webkit-scrollbar-track{background:var(--color-bg-surface)}.rai-welcome-screen .modal-content::-webkit-scrollbar-thumb{background:var(--color-bg-raised);border-radius:var(--radius-pill)}.rai-welcome-screen .modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-bg-muted)}@scope(.rai-welcome-screen){.ws-content{padding:0}.ws-close{top:var(--space-4);right:var(--space-4);z-index:var(--z-raised);width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-base);background:0 0;border:none;padding:0;display:flex;position:absolute}.ws-close:hover{color:var(--color-text-bright)}.ws-close svg{width:16px;height:16px;margin:auto}.ws-body{gap:var(--space-4);padding:var(--space-5);flex-direction:column;display:flex}.ws-header{gap:var(--space-2);flex-direction:column;display:flex}.ws-title{padding-right:var(--space-6);font-size:20px;font-weight:var(--font-weight-medium);letter-spacing:.07px;color:#fff;margin:0;line-height:28px}.ws-accent-bar{border-radius:var(--radius-pill);background:linear-gradient(#4a9eff,#7b61ff);width:48px;height:3px}.ws-subtitle{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);letter-spacing:-.3125px;color:#c5c9d6;margin:0;line-height:20px}.ws-preview{border-radius:var(--radius-md);width:100%;height:auto;display:block}.ws-highlights{gap:var(--space-3);flex-direction:column;display:flex}.ws-highlights-title{font-size:16px;font-weight:var(--font-weight-medium);letter-spacing:-.44px;color:#fff;margin:0;line-height:22px}.ws-highlights-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ws-highlight{align-items:flex-start;gap:var(--space-2);display:flex}.ws-check{border-radius:var(--radius-full);color:#4a9eff;background:#4a9eff33;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;display:flex}.ws-check svg{width:11px;height:11px}.ws-highlight-text{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);letter-spacing:-.3125px;color:#c5c9d6;line-height:20px}.ws-help{align-items:center;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:linear-gradient(#1e2331,#252b3d);flex-direction:column;display:flex}.ws-help-title{font-size:16px;font-weight:var(--font-weight-medium);letter-spacing:-.44px;color:#fff;text-align:center;margin:0;line-height:22px}.ws-tutorial-link{align-items:center;gap:var(--space-2);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);letter-spacing:-.3125px;color:#2196f3;cursor:pointer;line-height:20px;text-decoration:none;display:inline-flex}.ws-tutorial-link.hidden{display:none}.ws-tutorial-link:hover{text-decoration:underline}.ws-tutorial-icon{flex-shrink:0;width:14px;height:14px}.ws-help-contact{padding:var(--space-1) var(--space-3);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);letter-spacing:-.1504px;color:#9ca3af;text-align:center;margin:0;line-height:18px}.ws-support-link{color:#2196f3;cursor:pointer;text-decoration:none}.ws-support-link:hover{text-decoration:underline}.ws-legacy-note{padding:var(--space-3);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);letter-spacing:-.1504px;color:#9ca3af;text-align:center;background:#0f1117;border:1px solid #1e2939;line-height:18px}.ws-legacy-note.hidden{display:none}.ws-legacy-host{font-weight:var(--font-weight-semibold);cursor:pointer;text-decoration:underline}.ws-actions{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.ws-continue-btn{border-radius:var(--radius-md);color:#fff;width:300px;max-width:100%;height:44px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);letter-spacing:-.3125px;cursor:pointer;transition:filter var(--transition-base);background:linear-gradient(#4a9eff,#7b61ff);border:none;line-height:20px;box-shadow:0 8px 6px #4a9eff33,0 3px 2px #4a9eff33}.ws-continue-btn:hover{filter:brightness(1.08)}.ws-legacy-link{align-items:center;gap:var(--space-1);color:#9ca3af;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);letter-spacing:-.1504px;cursor:pointer;transition:color var(--transition-base);background:0 0;border:none;padding:0;line-height:18px;display:inline-flex}.ws-legacy-link.hidden{display:none}.ws-legacy-link:hover{color:#c5c9d6}.ws-legacy-link svg{flex-shrink:0;width:12px;height:12px}}@scope(.rai-connection-info-panel){.connection-info-modal{z-index:var(--z-modal);background:#0009;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.connection-info-modal.active{display:flex}.connection-info-content{background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);width:90%;max-width:450px;padding:24px}.connection-info-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.connection-info-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-bright);margin:0}.connection-info-close{cursor:pointer;color:var(--color-text-disabled);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:24px;transition:all .2s;display:flex}.connection-info-close:hover{color:var(--color-text-bright);background:var(--color-bg-raised)}.connection-stats{flex-direction:column;gap:12px;display:flex}.stat-item{background:var(--color-bg-page);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);align-items:center;gap:var(--space-1);display:flex}.stat-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-bright);align-items:center;gap:var(--space-1);display:flex}.stat-value.good{color:#22c55e}.stat-value.warning{color:#f59e0b}.stat-value.error{color:#ef4444}.status-indicator{border-radius:50%;width:8px;height:8px;display:inline-block}.status-indicator.green{background:#22c55e}.status-indicator.yellow{background:#f59e0b}.status-indicator.red{background:#ef4444}.status-indicator.gray{background:#64748b}.info-btn{background:var(--color-border-muted);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;transition:all .2s;display:inline-flex}.info-btn:hover{background:var(--color-text-disabled);transform:scale(1.1)}.info-popup{z-index:calc(var(--z-modal) + 100);background:#000000b3;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.info-popup.active{display:flex}.info-popup-content{background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);width:90%;max-width:500px;max-height:80vh;padding:24px;overflow-y:auto}.info-popup-header{margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.info-popup-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-bright);margin:0}.info-popup-close{cursor:pointer;color:var(--color-text-disabled);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:24px;transition:all .2s;display:flex}.info-popup-close:hover{color:var(--color-text-bright);background:var(--color-bg-raised)}.info-popup-text{color:#cbd5e1;line-height:1.6;font-size:var(--font-size-base)}.info-popup-text h4{font-weight:var(--font-weight-semibold);margin:20px 0 var(--space-2) 0;color:var(--color-text-bright);font-size:var(--font-size-base)}.info-popup-text h4:first-child{margin-top:0}.info-popup-text p{margin-bottom:12px}.info-popup-text strong{color:var(--color-text-bright)}}@scope(.rai-app-layout){.header{padding:0 var(--space-4);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.header-left{gap:10px}.header-right{gap:17px}.app-icon{width:24px;height:24px}.app-icon svg{width:100%;height:100%;color:var(--color-accent)}.app-name-wrapper{align-items:center;gap:var(--space-3);display:flex}.app-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.connection-indicator{align-items:center;gap:var(--space-2);padding:6px var(--space-3);background:var(--color-accent-success-tint);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent-success);white-space:nowrap;display:flex}.indicator-dot{border-radius:var(--radius-full);background:var(--color-accent-success);flex-shrink:0;width:8px;height:8px}.user-avatar{border-radius:var(--radius-full);background:var(--color-bg-raised);cursor:pointer;-webkit-app-region:no-drag;width:32px;height:32px;transition:background var(--transition-base);-webkit-user-select:none;user-select:none;overflow:hidden}.user-avatar-img{object-fit:cover;border-radius:var(--radius-full);width:100%;height:100%}.user-avatar:hover{background:var(--color-bg-muted)}.header-back-btn{background:var(--color-bg-raised);color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);-webkit-app-region:no-drag;transition:background var(--transition-base);white-space:nowrap;border-radius:10px;align-items:center;gap:9px;padding:6px 11px;display:flex}.header-back-btn:hover{background:var(--color-bg-muted)}.header-back-btn svg{stroke:currentColor;stroke-width:2px;fill:none;flex-shrink:0}.header-logo{width:auto;height:28px}.header-session-type{align-items:center;gap:10px;display:flex}.header-session-icon{border-radius:var(--radius-md);width:32px;height:32px}.header-session-type span{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.footer{padding:var(--space-2) var(--space-4);background:var(--color-bg-surface);border-top:1px solid var(--color-border);justify-content:center;align-items:center;height:32px;min-height:32px;display:flex}.footer-text{font-size:var(--font-size-xs);color:var(--color-text-disabled)}}@scope(.rai-session-layout){:scope{padding:0 var(--space-4);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);gap:var(--space-4);min-height:60px}:scope.connecting-mode #subTopbarLeft,:scope.connecting-mode #subTopbarCenter,:scope.connecting-mode #subTopbarStatus{display:none}.sub-topbar-status{align-items:center;gap:var(--space-2);display:flex}#subTopbarRight{flex-shrink:0;margin-left:auto}.sub-topbar-exit-btn{border-radius:var(--radius-md);height:28px;padding:0 var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;flex-shrink:0}.toolbar-icon{font-size:18px}.tab-icon{font-size:16px}.toolbar-left{align-items:center;gap:var(--space-4);display:flex}.header-session-type{align-items:center;gap:var(--space-2);display:flex}.header-session-icon{border-radius:var(--radius-md);width:32px;height:32px}.header-session-type span{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-bright)}.screen-toolbar h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-bright);margin:0}.toolbar-actions{gap:var(--space-2);-webkit-app-region:no-drag;display:flex}@container (width<=1480px){#fullscreenBtn span:not(.toolbar-icon),#shortcutsBtn span:not(.toolbar-icon){display:none}#fullscreenBtn,#shortcutsBtn{width:36px;padding:0}}@container (width<=1300px){.tab-label{display:none}}@media (max-width:900px){:scope{padding:var(--space-2) var(--space-4);align-items:stretch;gap:var(--space-2);flex-direction:column}.toolbar-left,.toolbar-center,#subTopbarRight{justify-content:center}#subTopbarRight{margin-left:0}}}@scope(.rai-shortcuts-dropdown){:scope{position:relative}.shortcuts-menu{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);min-width:260px;z-index:var(--z-dropdown);box-shadow:var(--shadow-dropdown);display:none;position:fixed}.shortcuts-menu.visible{display:block}.shortcuts-section{margin-bottom:var(--space-3)}.shortcuts-section:last-child{margin-bottom:0}.shortcuts-title{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-disabled);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.shortcut-btn{width:100%;padding:6px var(--space-2);background:var(--color-bg-deep);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:left;border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-base);justify-content:space-between;align-items:center;gap:var(--space-3);border:none;margin-bottom:4px;display:flex}.shortcut-btn:hover{background:var(--color-bg-raised);color:var(--color-text-primary)}.shortcut-desc{color:inherit;flex:1}.shortcut-keys{font-family:var(--font-mono,monospace);color:var(--color-text-disabled);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xs);white-space:nowrap;flex-shrink:0;padding:1px 5px;font-size:11px}.shortcut-btn:hover .shortcut-keys{color:var(--color-text-secondary);border-color:var(--color-border-strong,var(--color-border))}}@scope(.rai-session-tabs){:scope{background:var(--color-bg-deep);border-radius:var(--radius-md);gap:4px;padding:4px;display:flex}.tab-btn{justify-content:center;align-items:center;gap:var(--space-2);width:160px;padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);white-space:nowrap;background:0 0;border:none;display:flex}.tab-btn:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.tab-btn.active{color:#fff;background:#3b82f6}.tab-btn.active .tab-icon,.tab-btn:hover .tab-icon{color:inherit}.tab-btn.locked{opacity:.45;cursor:not-allowed;position:relative}.tab-btn.locked:hover{color:var(--color-text-secondary);background:#ef44441a}.tab-btn.locked.active{color:var(--color-text-secondary);background:0 0}.tab-btn .lock-icon{color:#f59e0b;flex-shrink:0;margin-left:2px}@container (width<=1300px){.tab-btn{width:44px;padding:var(--space-2)}}}@keyframes device-status-firmware-pulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 6px #f59e0b00}}@scope(.rai-device-status){.device-info{margin-right:var(--space-2);flex-direction:column;align-items:flex-end;display:flex}.device-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.device-version{color:var(--color-text-disabled);font-size:11px}.firmware-wrapper{align-items:center;gap:var(--space-2);display:flex}.firmware-update-badge{padding:4px var(--space-2);font-size:10px;font-weight:var(--font-weight-semibold);color:#fff;cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base);white-space:nowrap;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:none;border-radius:12px;align-items:center;gap:4px;animation:2s ease-in-out infinite device-status-firmware-pulse;display:none}.firmware-update-badge.visible{display:flex}.firmware-update-badge:hover{box-shadow:var(--shadow-glow-warning);animation:none;transform:scale(1.05)}.firmware-update-badge svg{transform:rotate(-90deg)}.battery-indicator,.network-indicator{padding:4px var(--space-2);background:var(--color-bg-raised);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);align-items:center;gap:6px;height:28px;display:flex}.battery-indicator svg,.network-indicator svg{color:#22c55e}#ethernetIcon{filter:invert(63%)sepia(12%)saturate(500%)hue-rotate(180deg)brightness(90%);width:14px;height:14px;display:inline-block}.signal-bars{align-items:flex-end;gap:2px;height:14px;margin-left:4px;display:flex}.signal-bar{background:var(--color-bg-muted);width:3px;transition:background var(--transition-base);border-radius:1px}.signal-bar[data-bar="1"]{height:4px}.signal-bar[data-bar="2"]{height:7px}.signal-bar[data-bar="3"]{height:10px}.signal-bar[data-bar="4"]{height:14px}.signal-bar.active{background:#22c55e}.signal-bar.weak{background:#f59e0b}.signal-bar.very-weak{background:#ef4444}.connection-info-btn{color:#fff;cursor:pointer;-webkit-app-region:no-drag;background:#3b82f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:8px;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex}.connection-info-btn:hover{background:#2563eb;transform:scale(1.05)}}@scope(.rai-settings-panel){:scope{background:var(--color-bg-page);flex-direction:column;gap:15px;width:420px;min-width:420px;padding:15px 12px;display:none;overflow:hidden;box-shadow:0 0 35px #0000004d}:scope.open{display:flex}.settings-header{flex-shrink:0;justify-content:center;align-items:center;height:24px;display:flex;position:relative}.settings-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-bright);text-align:center}.settings-close-btn{cursor:pointer;width:24px;height:24px;color:var(--color-text-bright);opacity:.7;transition:opacity var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;right:0}.settings-close-btn:hover{opacity:1}.settings-list{flex-direction:column;flex:1;gap:15px;display:flex;overflow-y:auto}}@scope(.rai-ethernet-config-form){.ip-settings-body{display:none}.ip-settings-form{padding:0 var(--space-4) var(--space-4);flex-direction:column;gap:20px;margin-top:10px;display:flex}.ip-settings-ipv4-section{margin:0}.ip-settings-ipv4-label{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-normal);margin:0 0 var(--space-2)}.ip-settings-radio-group{align-items:center;gap:24px;display:flex}.ip-settings-radio-item{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-primary);-webkit-user-select:none;user-select:none;display:flex}.ip-settings-radio-item input[type=radio]{opacity:0;width:0;height:0;position:absolute}.ip-radio-dot{width:16px;height:16px;transition:border-color var(--transition-base), box-shadow var(--transition-base);background:#fff;border:1px solid #adb6bc;border-radius:50%;flex-shrink:0}.ip-settings-radio-item input[type=radio]:checked+.ip-radio-dot{background:#2196f3;border-color:#2196f3;box-shadow:inset 0 0 0 3px #fff}.static-ip-fields{display:block}.ip-field-group{gap:var(--space-1);flex-direction:column;margin-bottom:12px;display:flex}.ip-field-label{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-normal)}.ip-field-input{background:var(--color-bg-page);border-radius:var(--radius-sm);width:100%;height:33px;color:var(--color-text-primary);font-size:var(--font-size-sm);box-sizing:border-box;transition:box-shadow var(--transition-base);border:none;outline:none;padding:7px 14px}.ip-field-input:focus{box-shadow:0 0 0 1px #3b82f6}.ip-settings-note-box{border-radius:var(--radius-md);background:#ffc0000f;flex-direction:column;gap:10px;margin:0;padding:20px;display:flex}.ip-settings-note-header{align-items:center;gap:var(--space-2);display:flex}.ip-settings-note-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:#ffc000}.ip-settings-note-text{font-size:var(--font-size-base);color:#ffc000;line-height:20px;font-weight:var(--font-weight-normal);margin:0}.ip-settings-actions{justify-content:flex-end;gap:10px;display:none}.ip-settings-actions.visible{display:flex}.ip-confirm-btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:#19cca3;cursor:pointer;background:0 0;border:none;padding:0;line-height:16px}.ip-cancel-btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;padding:0;line-height:16px}button.settings-section-title.ip-settings-toggle{padding:0 0 0 var(--space-4);cursor:pointer;width:100%;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);background:0 0;border:none;justify-content:space-between;align-items:center;margin:0;display:flex}.ip-chevron{margin-right:var(--space-2);color:var(--color-text-primary);flex-shrink:0;transition:transform .2s}.ip-chevron.rotated{transform:rotate(180deg)}}@scope(.rai-ethernet-config-confirm-modal){.relay-modal{text-align:left;max-width:640px}.ecm-header{align-items:flex-end;gap:20px;margin-bottom:12px;display:flex}.ecm-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-bright);margin:0;line-height:1.2}.ecm-header-icon{color:#f59e0b;flex-shrink:0;align-items:center;display:flex}.ecm-header-icon svg{width:36px;height:36px}.ecm-separator{border:none;border-top:1px solid var(--color-border);margin:0 0 14px}.ecm-question{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 12px;line-height:1.5}.ip-confirm-details{background:var(--color-bg-page,#0f172a);border-radius:var(--radius-base);font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:pre;margin:0 0 12px;padding:12px 16px;font-family:Consolas,Monaco,monospace}.ecm-empty-warning{flex-direction:column;margin-bottom:12px;display:none}.ecm-empty-list{padding:0 var(--space-1);flex-direction:column;gap:8px;display:flex}.ecm-empty-item{align-items:center;gap:16px;display:flex}.ecm-empty-bullet{font-size:var(--font-size-base);color:#fca5a5;line-height:1.5}.ecm-empty-bullet:before{content:"• "}.ecm-info-wrap{align-items:center;display:inline-flex;position:relative}.ecm-info-icon{color:#2196f3;cursor:default;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.ecm-info-icon svg{width:20px;height:20px}.ecm-tooltip{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:280px;z-index:var(--z-dropdown);box-shadow:var(--shadow-dropdown);flex-direction:column;gap:8px;padding:12px;display:none;position:absolute;top:4px;left:calc(100% + 10px)}.ecm-info-wrap:hover .ecm-tooltip{display:flex}.ecm-tooltip-title{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);margin:0;line-height:1.5}.ecm-tooltip-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.ecm-tooltip-when-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:#2196f3;margin:0}.ecm-tooltip-when-body{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.ecm-tooltip-when-body strong{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.ecm-attention-box{border-radius:var(--radius-md);background:#f59e0b14;border:1px solid #f59e0b4d;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px 16px;display:flex}.ecm-attention-header{color:#fbbf24;align-items:center;gap:8px;display:flex}.ecm-attention-header svg{flex-shrink:0;width:20px;height:20px}.ecm-attention-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:#fbbf24}.ecm-attention-ethernet{font-size:var(--font-size-sm);color:#fbbf24;margin:0;line-height:1.6;display:none}.ecm-attention-text{font-size:var(--font-size-sm);color:#fbbf24;margin:0;line-height:1.6}.ecm-requirement-box{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff0a;flex-direction:column;gap:8px;margin-bottom:20px;padding:12px 16px;display:flex}.ecm-requirement-header{color:var(--color-text-secondary);align-items:center;gap:8px;display:flex}.ecm-requirement-header svg{flex-shrink:0;width:20px;height:20px}.ecm-requirement-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}.ecm-requirement-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.6}.relay-modal-buttons{justify-content:flex-end}}@scope(.rai-turn-server-picker){}@scope(.rai-video-config){}@scope(.rai-reset-video-modal){.relay-modal-icon.reset-video-icon{color:var(--color-accent)}}@scope(.rai-mouse-config){.sensitivity-control{flex:1;align-items:center;gap:8px;display:flex}.sensitivity-control input[type=range]{min-width:0;accent-color:var(--color-accent,#4f8ef7);flex:1}.sensitivity-display{text-align:right;min-width:2.5ch;color:var(--color-text-secondary,#aaa);font-size:.8rem}.sensitivity-reset-btn{border-radius:var(--radius-sm,4px);width:22px;height:22px;color:var(--color-text-secondary,#aaa);cursor:pointer;opacity:.5;transition:opacity var(--transition-base), background var(--transition-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.sensitivity-reset-btn:hover{opacity:1;background:var(--color-bg-raised)}}@scope(.rai-network-section){}@scope(.rai-wifi-selector){}@scope(.rai-relay-section){}@scope(.rai-manage-section){}@scope(.rai-network-priority-modal){.priority-list{gap:var(--space-2);flex-direction:column;display:flex}.priority-item{padding:0 var(--space-4);background:var(--color-bg-page);cursor:move;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:12px;min-height:56px;display:flex}.drag-handle{background-color:#99a1af;flex-shrink:0;width:20px;height:20px;-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='currentColor'%3e%3ccircle%20cx='7'%20cy='5'%20r='1.5'/%3e%3ccircle%20cx='13'%20cy='5'%20r='1.5'/%3e%3ccircle%20cx='7'%20cy='10'%20r='1.5'/%3e%3ccircle%20cx='13'%20cy='10'%20r='1.5'/%3e%3ccircle%20cx='7'%20cy='15'%20r='1.5'/%3e%3ccircle%20cx='13'%20cy='15'%20r='1.5'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='currentColor'%3e%3ccircle%20cx='7'%20cy='5'%20r='1.5'/%3e%3ccircle%20cx='13'%20cy='5'%20r='1.5'/%3e%3ccircle%20cx='7'%20cy='10'%20r='1.5'/%3e%3ccircle%20cx='13'%20cy='10'%20r='1.5'/%3e%3ccircle%20cx='7'%20cy='15'%20r='1.5'/%3e%3ccircle%20cx='13'%20cy='15'%20r='1.5'/%3e%3c/svg%3e");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.priority-network-icon{background-color:#38bdf8;flex-shrink:0;width:20px;height:20px;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[data-type=cellular] .priority-network-icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='currentColor'%3e%3crect%20x='1'%20y='14'%20width='4'%20height='6'%20rx='1'/%3e%3crect%20x='7'%20y='10'%20width='4'%20height='10'%20rx='1'/%3e%3crect%20x='13'%20y='6'%20width='4'%20height='14'%20rx='1'/%3e%3crect%20x='19'%20y='2'%20width='4'%20height='18'%20rx='1'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='currentColor'%3e%3crect%20x='1'%20y='14'%20width='4'%20height='6'%20rx='1'/%3e%3crect%20x='7'%20y='10'%20width='4'%20height='10'%20rx='1'/%3e%3crect%20x='13'%20y='6'%20width='4'%20height='14'%20rx='1'/%3e%3crect%20x='19'%20y='2'%20width='4'%20height='18'%20rx='1'/%3e%3c/svg%3e")}[data-type=wifi] .priority-network-icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%3e%3cpath%20d='M5%2012.55a11%2011%200%200%201%2014.08%200'/%3e%3cpath%20d='M1.42%209a16%2016%200%200%201%2021.16%200'/%3e%3cpath%20d='M8.53%2016.11a6%206%200%200%201%206.95%200'/%3e%3ccircle%20cx='12'%20cy='20'%20r='1'%20fill='currentColor'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%3e%3cpath%20d='M5%2012.55a11%2011%200%200%201%2014.08%200'/%3e%3cpath%20d='M1.42%209a16%2016%200%200%201%2021.16%200'/%3e%3cpath%20d='M8.53%2016.11a6%206%200%200%201%206.95%200'/%3e%3ccircle%20cx='12'%20cy='20'%20r='1'%20fill='currentColor'/%3e%3c/svg%3e")}[data-type=ethernet] .priority-network-icon{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20stroke='currentColor'%20stroke-width='1.66667'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M14.1667%2017.5V15.8333C13.9457%2015.8333%2013.7337%2015.7455%2013.5774%2015.5893C13.4211%2015.433%2013.3333%2015.221%2013.3333%2015V14.1667C13.3333%2013.7246%2013.5089%2013.3007%2013.8215%2012.9882C14.134%2012.6756%2014.558%2012.5%2015%2012.5H16.6667C17.1087%2012.5%2017.5326%2012.6756%2017.8452%2012.9882C18.1577%2013.3007%2018.3333%2013.7246%2018.3333%2014.1667V15C18.3333%2015.221%2018.2455%2015.433%2018.0893%2015.5893C17.933%2015.7455%2017.721%2015.8333%2017.5%2015.8333'/%3e%3cpath%20d='M15.8333%2012.5V5.41667C15.8333%204.64312%2015.526%203.90125%2014.9791%203.35427C14.4321%202.80729%2013.6902%202.5%2012.9167%202.5C12.1431%202.5%2011.4013%202.80729%2010.8543%203.35427C10.3073%203.90125%2010%204.64312%2010%205.41667V14.5833C10%2015.3569%209.69271%2016.0987%209.14573%2016.6457C8.59875%2017.1927%207.85688%2017.5%207.08333%2017.5C6.30979%2017.5%205.56792%2017.1927%205.02094%2016.6457C4.47396%2016.0987%204.16667%2015.3569%204.16667%2014.5833V7.5'/%3e%3cpath%20d='M17.5%2017.5V15.8333H14.1667'/%3e%3cpath%20d='M2.5%204.16667H5.83333V2.5'/%3e%3cpath%20d='M5.83333%204.16667C6.05435%204.16667%206.26631%204.25446%206.42259%204.41074C6.57887%204.56703%206.66667%204.77899%206.66667%205V5.83333C6.66667%206.27536%206.49107%206.69928%206.17851%207.01184C5.86595%207.32441%205.44203%207.5%205%207.5H3.33333C2.89131%207.5%202.46738%207.32441%202.15482%207.01184C1.84226%206.69928%201.66667%206.27536%201.66667%205.83333V5C1.66667%204.77899%201.75446%204.56703%201.91074%204.41074C2.06702%204.25446%202.27899%204.16667%202.5%204.16667V2.5'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20stroke='currentColor'%20stroke-width='1.66667'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M14.1667%2017.5V15.8333C13.9457%2015.8333%2013.7337%2015.7455%2013.5774%2015.5893C13.4211%2015.433%2013.3333%2015.221%2013.3333%2015V14.1667C13.3333%2013.7246%2013.5089%2013.3007%2013.8215%2012.9882C14.134%2012.6756%2014.558%2012.5%2015%2012.5H16.6667C17.1087%2012.5%2017.5326%2012.6756%2017.8452%2012.9882C18.1577%2013.3007%2018.3333%2013.7246%2018.3333%2014.1667V15C18.3333%2015.221%2018.2455%2015.433%2018.0893%2015.5893C17.933%2015.7455%2017.721%2015.8333%2017.5%2015.8333'/%3e%3cpath%20d='M15.8333%2012.5V5.41667C15.8333%204.64312%2015.526%203.90125%2014.9791%203.35427C14.4321%202.80729%2013.6902%202.5%2012.9167%202.5C12.1431%202.5%2011.4013%202.80729%2010.8543%203.35427C10.3073%203.90125%2010%204.64312%2010%205.41667V14.5833C10%2015.3569%209.69271%2016.0987%209.14573%2016.6457C8.59875%2017.1927%207.85688%2017.5%207.08333%2017.5C6.30979%2017.5%205.56792%2017.1927%205.02094%2016.6457C4.47396%2016.0987%204.16667%2015.3569%204.16667%2014.5833V7.5'/%3e%3cpath%20d='M17.5%2017.5V15.8333H14.1667'/%3e%3cpath%20d='M2.5%204.16667H5.83333V2.5'/%3e%3cpath%20d='M5.83333%204.16667C6.05435%204.16667%206.26631%204.25446%206.42259%204.41074C6.57887%204.56703%206.66667%204.77899%206.66667%205V5.83333C6.66667%206.27536%206.49107%206.69928%206.17851%207.01184C5.86595%207.32441%205.44203%207.5%205%207.5H3.33333C2.89131%207.5%202.46738%207.32441%202.15482%207.01184C1.84226%206.69928%201.66667%206.27536%201.66667%205.83333V5C1.66667%204.77899%201.75446%204.56703%201.91074%204.41074C2.06702%204.25446%202.27899%204.16667%202.5%204.16667V2.5'/%3e%3c/svg%3e")}.priority-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-bright)}.network-priority-modal .modal-close{width:32px;height:32px;padding:0;position:relative}.network-priority-modal .modal-close:before{content:"";width:20px;height:20px;transition:background-color var(--transition-base);background-color:#94a3b8;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%3e%3cline%20x1='18'%20y1='6'%20x2='6'%20y2='18'/%3e%3cline%20x1='6'%20y1='6'%20x2='18'%20y2='18'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%3e%3cline%20x1='18'%20y1='6'%20x2='6'%20y2='18'/%3e%3cline%20x1='6'%20y1='6'%20x2='18'%20y2='18'/%3e%3c/svg%3e");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.network-priority-modal .modal-close:hover:before{background-color:var(--color-text-bright)}.network-priority-modal .modal-footer .btn-secondary{background:#314158}.network-priority-modal .modal-footer .btn-primary{background:#155dfc}.network-priority-modal .modal-footer .btn-primary:hover{background:#1d4ed8;transform:none}}@scope(.rai-relay-confirm-modal){}
