.connection-status[data-v-5e1fd1e7]{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-dot[data-v-5e1fd1e7]{width:8px;height:8px;border-radius:50%;animation:pulse-5e1fd1e7 2s infinite}.connected[data-v-5e1fd1e7]{background:#00ff001a;color:#0f0}.connected .status-dot[data-v-5e1fd1e7]{background:#0f0;box-shadow:0 0 8px #0f0;animation:none}.connecting[data-v-5e1fd1e7]{background:#ffa5001a;color:orange}.connecting .status-dot[data-v-5e1fd1e7]{background:orange}.error[data-v-5e1fd1e7]{background:#ff00001a;color:#f44}.error .status-dot[data-v-5e1fd1e7]{background:#f44;animation:none}@keyframes pulse-5e1fd1e7{0%,to{opacity:1}50%{opacity:.5}}.screenshot-modal[data-v-7b59f0c8]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn-7b59f0c8 .2s ease}@keyframes fadeIn-7b59f0c8{0%{opacity:0}to{opacity:1}}.modal-content[data-v-7b59f0c8]{background:var(--bg-secondary);border-radius:12px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-7b59f0c8]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3[data-v-7b59f0c8]{margin:0;font-size:16px}.close-btn[data-v-7b59f0c8]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-secondary);font-size:24px;border-radius:8px}.close-btn[data-v-7b59f0c8]:hover{background:#ffffff1a;color:var(--text-primary)}.modal-body[data-v-7b59f0c8]{flex:1;overflow:auto;padding:20px;display:flex;justify-content:center;align-items:center}.screenshot-image[data-v-7b59f0c8]{max-width:100%;max-height:60vh;border-radius:8px;box-shadow:0 4px 24px #0000004d}.modal-footer[data-v-7b59f0c8]{display:flex;justify-content:center;gap:12px;padding:16px 20px;border-top:1px solid var(--border)}.modal-footer .btn[data-v-7b59f0c8]{text-decoration:none}.settings-modal[data-v-3734adb8]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a0c10a6;display:flex;justify-content:center;align-items:center;z-index:10000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px;box-sizing:border-box}.modal-content[data-v-3734adb8]{background:#161b22;border-radius:16px;width:100%;max-width:440px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 48px #00000080;transform:translateY(0);transition:transform .3s cubic-bezier(.16,1,.3,1)}.animate-fade-in[data-v-3734adb8]{animation:modalEnter-3734adb8 .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalEnter-3734adb8{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header[data-v-3734adb8]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#ffffff03;border-bottom:1px solid rgba(255,255,255,.06)}.header-title[data-v-3734adb8]{display:flex;align-items:center;gap:10px}.header-icon[data-v-3734adb8]{font-size:18px}.modal-header h3[data-v-3734adb8]{margin:0;font-size:16px;font-weight:600;color:#f0f6fc}.close-btn[data-v-3734adb8]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;color:#8b949e;font-size:24px;border-radius:8px;cursor:pointer;border:none;transition:all .2s ease}.close-btn[data-v-3734adb8]:hover{background:#ffffff14;color:#f0f6fc}.modal-tabs[data-v-3734adb8]{display:flex;background:#00000026;padding:4px;border-bottom:1px solid rgba(255,255,255,.06);gap:4px}.tab-btn[data-v-3734adb8]{flex:1;padding:8px 4px;background:transparent;border:none;color:#8b949e;cursor:pointer;border-radius:8px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;align-items:center;gap:4px}.tab-icon-svg[data-v-3734adb8]{width:18px;height:18px}.tab-label[data-v-3734adb8]{font-size:11px;font-weight:500}.tab-btn[data-v-3734adb8]:hover{color:#f0f6fc;background:#ffffff05}.tab-btn.active[data-v-3734adb8]{color:#58a6ff;background:#58a6ff14;box-shadow:inset 0 0 0 1px #58a6ff26}.modal-body[data-v-3734adb8]{flex:1;overflow-y:auto;padding:16px 20px;background:#0d1117;max-height:50vh}.custom-scrollbar[data-v-3734adb8]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-3734adb8]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-3734adb8]::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.custom-scrollbar[data-v-3734adb8]::-webkit-scrollbar-thumb:hover{background:#ffffff3d}.tab-pane[data-v-3734adb8]{display:flex;flex-direction:column;gap:12px;animation:paneEnter-3734adb8 .2s ease forwards}.form-group-divider[data-v-3734adb8]{font-size:11px;font-weight:700;color:#58a6ff;text-transform:uppercase;letter-spacing:.5px;margin:16px 0 4px;padding-bottom:4px;border-bottom:1px solid rgba(88,166,255,.15)}@keyframes paneEnter-3734adb8{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sub-section[data-v-3734adb8]{display:flex;flex-direction:column;gap:12px;border-left:2px dashed rgba(88,166,255,.2);padding-left:12px;margin-top:-4px;margin-bottom:4px}.animate-slide-down[data-v-3734adb8]{animation:slideDown-3734adb8 .2s ease forwards}@keyframes slideDown-3734adb8{0%{height:0;opacity:0;overflow:hidden}to{height:auto;opacity:1}}.form-group[data-v-3734adb8]{background:#ffffff05;border:1px solid rgba(255,255,255,.05);padding:12px 14px;border-radius:10px;display:flex;flex-direction:column;gap:6px;transition:all .2s ease}.form-group[data-v-3734adb8]:focus-within{border-color:#58a6ff40;background:#ffffff08}.form-group-row[data-v-3734adb8]{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.group-info[data-v-3734adb8]{display:flex;flex-direction:column;gap:2px;flex:1}.form-group label[data-v-3734adb8]{font-size:13px;font-weight:500;color:#c9d1d9}.form-group-row label[data-v-3734adb8]{font-size:13px;font-weight:600}.hint[data-v-3734adb8]{font-size:11px;color:#8b949e;line-height:1.4}.form-group input[type=number][data-v-3734adb8],.form-group input[type=text][data-v-3734adb8],.form-group select.select-input[data-v-3734adb8]{background:#21262d;border:1px solid #30363d;padding:8px 12px;border-radius:8px;color:#c9d1d9;font-size:13px;outline:none;transition:all .2s ease;width:100%;box-sizing:border-box}.form-group input[data-v-3734adb8]:focus,.form-group select[data-v-3734adb8]:focus{border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff26}.toggle-switch[data-v-3734adb8]{display:flex;align-items:center}.toggle-switch input[type=checkbox][data-v-3734adb8]{display:none}.toggle-switch label[data-v-3734adb8]{cursor:pointer;width:44px;height:22px;background:#30363d;border-radius:11px;position:relative;transition:background-color .2s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,255,255,.05)}.toggle-switch label[data-v-3734adb8]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#f0f6fc;border-radius:50%;transition:transform .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 4px #0003}.toggle-switch input[type=checkbox]:checked+label[data-v-3734adb8]{background:#238636}.toggle-switch input[type=checkbox]:checked+label[data-v-3734adb8]:after{transform:translate(22px);background:#fff}.modal-footer[data-v-3734adb8]{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;background:#0000001a;border-top:1px solid rgba(255,255,255,.06)}.btn[data-v-3734adb8]{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);border:none}.btn-secondary[data-v-3734adb8]{background:transparent;color:#c9d1d9;border:1px solid #30363d}.btn-secondary[data-v-3734adb8]:hover{background:#ffffff0d;border-color:#8b949e}.btn-primary[data-v-3734adb8]{background:#1f6feb;color:#fff}.btn-primary[data-v-3734adb8]:hover{background:#388bfd;box-shadow:0 0 0 3px #388bfd40}.btn-danger[data-v-3734adb8]{background:transparent;color:#f85149;border:1px solid rgba(248,81,73,.3)}.btn-danger[data-v-3734adb8]:hover{background:#f851491a;border-color:#f85149}@media (max-width: 480px){.settings-modal[data-v-3734adb8]{padding:0;align-items:flex-end}.modal-content[data-v-3734adb8]{max-width:100%;border-radius:20px 20px 0 0;max-height:85vh;animation:mobileSlideUp-3734adb8 .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes mobileSlideUp-3734adb8{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-tabs[data-v-3734adb8]{padding:6px}.tab-btn[data-v-3734adb8]{padding:6px 2px}.tab-label[data-v-3734adb8]{font-size:10px}.modal-body[data-v-3734adb8]{padding:12px 16px;max-height:48vh}.form-group[data-v-3734adb8]{padding:10px 12px}.modal-footer[data-v-3734adb8]{padding:12px 16px;flex-wrap:wrap;gap:8px}.modal-footer .btn[data-v-3734adb8]{flex:1;min-width:80px;text-align:center}}.keymap-editor[data-v-f6641cc3]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2500;pointer-events:none;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.keymap-editor.is-editing[data-v-f6641cc3]{background:#0006;pointer-events:auto}.editor-toolbar[data-v-f6641cc3]{position:absolute;top:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:12px;background:#191919f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.15);box-shadow:0 12px 40px #0009;z-index:2501;min-width:320px}.toolbar-header[data-v-f6641cc3]{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.profile-selector[data-v-f6641cc3]{display:flex;align-items:center;gap:6px}.profile-select[data-v-f6641cc3]{background:#00000080;color:#fff;border:1px solid rgba(255,255,255,.2);padding:4px 8px;border-radius:6px;font-size:13px;outline:none;cursor:pointer;max-width:140px}.divider-v[data-v-f6641cc3]{width:1px;height:16px;background:#fff3;margin:0 4px}.icon-btn[data-v-f6641cc3]{background:transparent;border:none;color:#ccc;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.icon-btn .icon[data-v-f6641cc3]{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none}.icon-btn[data-v-f6641cc3]:hover{background:#ffffff1a;color:#fff}.icon-btn.danger[data-v-f6641cc3]:hover{background:#dc354533;color:#ff4d4f}.toolbar-title[data-v-f6641cc3]{color:#fff;font-weight:600;font-size:15px}.hint-toggle[data-v-f6641cc3]{display:flex;align-items:center;gap:6px;color:#aaa;font-size:12px;cursor:pointer}.hint-toggle input[data-v-f6641cc3]{cursor:pointer}.toolbar-body[data-v-f6641cc3]{display:flex;justify-content:space-between;align-items:center;gap:16px}.toolbar-tools[data-v-f6641cc3]{display:flex;gap:8px}.tool-btn[data-v-f6641cc3]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ddd;padding:6px 12px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.tool-btn .icon[data-v-f6641cc3]{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none}.tool-btn[data-v-f6641cc3]:hover{background:#ffffff26;color:#fff}.toolbar-actions[data-v-f6641cc3]{display:flex;gap:8px}.action-btn[data-v-f6641cc3]{padding:6px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:none}.action-btn.cancel[data-v-f6641cc3]{background:transparent;color:#ccc}.action-btn.cancel[data-v-f6641cc3]:hover{color:#fff}.action-btn.save[data-v-f6641cc3]{background:var(--accent, #007bff);color:#fff}.action-btn.save[data-v-f6641cc3]:hover{filter:brightness(1.1)}.keymap-overlay[data-v-f6641cc3]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2500}.video-area-indicator[data-v-f6641cc3]{position:absolute;border:2px dashed rgba(255,255,255,.3);pointer-events:none}.swipe-lines-svg[data-v-f6641cc3]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999}.key-node[data-v-f6641cc3]{position:absolute;width:60px;height:60px;margin-left:-30px;margin-top:-30px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;cursor:move;box-shadow:0 4px 12px #00000080;-webkit-user-select:none;user-select:none;touch-action:none;transition:opacity .2s,background .2s}.key-node.swipe-end-node[data-v-f6641cc3]{width:40px;height:40px;margin-left:-20px;margin-top:-20px;background:#ff646433;border-color:#ff6464cc}.swipe-end-label[data-v-f6641cc3]{color:#fff;font-size:14px;font-weight:700}.key-node.is-joystick[data-v-f6641cc3]{background:#64c8ff33;border-color:#64c8ffcc}.key-node.is-selected[data-v-f6641cc3]{background:#ffc80066;border-color:#ffc107;z-index:10}.key-node.is-hint[data-v-f6641cc3]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);box-shadow:none;pointer-events:none;cursor:default}.key-node.is-hint .key-label[data-v-f6641cc3]{font-size:18px;opacity:.6}.key-node.is-hint .joy-label[data-v-f6641cc3],.key-node.is-hint .wheel-label[data-v-f6641cc3]{font-size:12px;opacity:.6}.key-node.is-hint.is-joystick[data-v-f6641cc3],.key-node.is-hint.is-wheel[data-v-f6641cc3]{background:#64c8ff1a;border:1px solid rgba(100,200,255,.2)}.key-node.is-wheel[data-v-f6641cc3]{background:#64c8ff33;border-color:#64c8ffcc}.key-label[data-v-f6641cc3]{color:#fff;font-size:24px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.8)}.joy-label[data-v-f6641cc3]{color:#fff;font-size:14px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.8)}.wheel-label[data-v-f6641cc3]{display:flex;align-items:center;justify-content:center;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.8))}.wheel-label .icon[data-v-f6641cc3]{width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none}.delete-btn[data-v-f6641cc3]{position:absolute;top:-10px;right:-10px;width:24px;height:24px;border-radius:50%;background:#dc3545;color:#fff;border:2px solid #fff;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:11;padding:0;line-height:1}.joystick-radius[data-v-f6641cc3]{position:absolute;border:2px dashed rgba(100,200,255,.4);border-radius:50%;pointer-events:none}.node-settings[data-v-f6641cc3]{position:absolute;right:24px;top:80px;width:200px;background:#141414f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:12px 16px;z-index:2502;box-shadow:0 8px 32px #0009}.settings-header[data-v-f6641cc3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.node-settings h4[data-v-f6641cc3]{margin:0;color:#fff;font-size:14px}.close-settings-btn[data-v-f6641cc3]{background:transparent;border:none;color:#aaa;cursor:pointer;font-size:14px;padding:0}.close-settings-btn[data-v-f6641cc3]:hover{color:#fff}.setting-item[data-v-f6641cc3]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.setting-item label[data-v-f6641cc3]{color:#aaa;font-size:12px;white-space:nowrap}.key-input[data-v-f6641cc3]{flex:1;background:#00000080;border:1px solid #444;color:#fff;padding:6px;border-radius:6px;text-align:center;font-size:14px;font-weight:700;outline:none;cursor:pointer;text-transform:uppercase;max-width:80px}.key-input[data-v-f6641cc3]:focus{border-color:var(--accent, #007bff);box-shadow:0 0 0 2px #007bff4d}.setting-tip[data-v-f6641cc3]{margin:0;font-size:11px;color:#888;text-align:center}.hidden-keyboard-input[data-v-76b2408a]{position:absolute;left:0;top:0;width:1px;height:1px;padding:0;margin:0;border:none;outline:none;resize:none;background:transparent;color:transparent;caret-color:transparent;z-index:10;overflow:hidden}.device-panel-view[data-v-76b2408a]{height:100%;display:flex;flex-direction:row;background:#000;position:relative;overflow:hidden}.device-client-main[data-v-76b2408a]{flex:1;display:flex;flex-direction:column;position:relative;min-width:0}.icon[data-v-76b2408a]{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.fullscreen-fab[data-v-76b2408a]{position:absolute;top:16px;right:60px;width:36px;height:36px;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;transition:all .2s}.fullscreen-fab .icon[data-v-76b2408a]{width:18px;height:18px}.fullscreen-fab[data-v-76b2408a]:hover{background:#000c;transform:scale(1.1)}.mobile-close-fab[data-v-76b2408a]{position:absolute;top:16px;right:16px;width:36px;height:36px;background:#f85149b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;font-size:16px;font-weight:700;transition:all .2s}.mobile-close-fab[data-v-76b2408a]:hover{background:#f85149;transform:scale(1.1)}@media (min-width: 1025px){.fullscreen-fab[data-v-76b2408a]{right:16px}}.stats-badge[data-v-76b2408a]{position:absolute;top:16px;left:16px;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#0f0;font-family:Fira Code,Courier New,monospace;font-size:11px;font-weight:600;padding:4px 10px;border-radius:4px;z-index:100;pointer-events:none;white-space:nowrap}.sidebar-agent-version[data-v-76b2408a]{font-size:9px;color:#444;text-align:center;width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;cursor:default;-webkit-user-select:none;user-select:none;transition:color .2s}.sidebar-agent-version[data-v-76b2408a]:hover{color:#999}.fab-agent-version[data-v-76b2408a]{font-size:10px;color:#555;text-align:center;padding:8px 0 2px;border-top:1px solid rgba(255,255,255,.05);margin-top:6px;-webkit-user-select:none;user-select:none}.stat-delimiter[data-v-76b2408a]{color:#555;margin:0 2px}.stat-warn[data-v-76b2408a]{color:#f85149}.video-wrapper[data-v-76b2408a]{flex:1;background:#000;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:0}.video-stream[data-v-76b2408a]{width:100%;height:100%;object-fit:contain;touch-action:none}.panel-overlay[data-v-76b2408a]{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:5}.overlay-box[data-v-76b2408a]{text-align:center;padding:24px}.mini-spinner[data-v-76b2408a]{width:24px;height:24px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin-76b2408a .8s linear infinite;margin:0 auto 12px}@keyframes spin-76b2408a{to{transform:rotate(360deg)}}.error-msg[data-v-76b2408a]{color:var(--accent);font-weight:600}.error-tip[data-v-76b2408a]{font-size:12px;color:#999;margin:8px 0 16px}.retry-btn[data-v-76b2408a]{background:var(--accent);color:#fff;border:none;padding:6px 16px;border-radius:4px;font-size:12px;cursor:pointer}.control-sidebar[data-v-76b2408a]{width:64px;background:#111;border-left:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:16px 0;gap:12px;overflow-y:auto;z-index:10}.sidebar-group[data-v-76b2408a]{display:flex;flex-direction:column;gap:12px;width:100%;align-items:center}.sidebar-btn-wrapper[data-v-76b2408a]{position:relative;display:flex;justify-content:center}.sidebar-btn-delete[data-v-76b2408a]{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#dc3545;color:#fff;border:1px solid #111;font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:11;padding:0;line-height:1;opacity:0;transition:opacity .2s}.sidebar-btn-wrapper:hover .sidebar-btn-delete[data-v-76b2408a]{opacity:1}.sidebar-btn[data-v-76b2408a]{background:#222;border:1px solid #333;color:#ccc;width:48px;height:48px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0}.sidebar-btn .icon[data-v-76b2408a]{margin-bottom:2px}.sidebar-btn .btn-text[data-v-76b2408a]{font-size:10px;white-space:nowrap}.sidebar-btn[data-v-76b2408a]:hover{background:#333;border-color:var(--accent);color:#fff}.sidebar-btn.active[data-v-76b2408a]{background:#58a6ff2e;border-color:var(--accent);color:#fff}.sidebar-btn.danger[data-v-76b2408a]:hover{background:#f8514933;border-color:var(--error);color:var(--error)}.sidebar-btn.danger[data-v-76b2408a]{color:#888}.sidebar-btn.add-btn[data-v-76b2408a]{border-style:dashed}.sidebar-divider[data-v-76b2408a]{width:32px;height:1px;background:#333;margin:4px 0}.fab-overlay[data-v-76b2408a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.mobile-fab-container[data-v-76b2408a]{position:fixed;z-index:100;width:56px;height:56px}.mobile-fab-main[data-v-76b2408a]{position:absolute;top:0;left:0;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;border:none;box-shadow:0 4px 12px #00000080;cursor:grab;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;touch-action:none;z-index:2}.mobile-fab-main .icon[data-v-76b2408a]{width:24px;height:24px}.mobile-fab-main[data-v-76b2408a]:active{cursor:grabbing;transform:scale(.95)}.mobile-fab-main.active[data-v-76b2408a]{background:#555}.mobile-fab-menu[data-v-76b2408a]{position:absolute;bottom:68px;right:0;width:max-content;display:flex;flex-direction:column;gap:8px;background:#141414e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.1);opacity:0;pointer-events:none;transform:translateY(20px);transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 8px 24px #00000080;max-height:60vh;overflow-y:auto;z-index:1}.mobile-fab-menu.align-left[data-v-76b2408a]{right:auto;left:0}.mobile-fab-menu.align-top[data-v-76b2408a]{bottom:auto;top:68px;transform:translateY(-20px)}.mobile-fab-menu.show[data-v-76b2408a]{opacity:1;pointer-events:auto;transform:translateY(0)}.fab-item[data-v-76b2408a]{background:#2a2a2a;border:1px solid #444;color:#eee;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;text-align:left;white-space:nowrap;display:flex;align-items:center;width:100%}.fab-item-wrapper[data-v-76b2408a]{position:relative;display:flex;width:100%}.fab-item-delete[data-v-76b2408a]{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:#dc3545;color:#fff;border:none;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:11;padding:0;line-height:1}.fab-item .icon[data-v-76b2408a]{margin-right:8px;width:18px;height:18px}.fab-item[data-v-76b2408a]:active{background:var(--accent)}.fab-item.danger[data-v-76b2408a]{color:#f85149}.fab-item.group-active[data-v-76b2408a]{color:#ff9f43;border-color:#ff9f4366;background:#ff9f431a}.fab-item.add-btn[data-v-76b2408a]{background:transparent;border-style:dashed;justify-content:center}.fab-divider[data-v-76b2408a]{height:1px;background:#ffffff1a;margin:4px 0}.console-drawer[data-v-76b2408a]{height:380px;background:#151515;border-top:2px solid var(--accent);display:flex;flex-direction:column;z-index:100;flex-shrink:0}.console-drawer-header[data-v-76b2408a]{display:flex;justify-content:space-between;align-items:center;padding:0 16px;background:#161b22;border-bottom:1px solid var(--border);height:40px;flex-shrink:0}.drawer-title[data-v-76b2408a]{font-size:13px;font-weight:600;color:#c9d1d9}.close-console[data-v-76b2408a]{background:none;border:none;color:#555;cursor:pointer;font-size:18px}.close-console[data-v-76b2408a]:hover{color:#f85149}.adb-placeholder[data-v-76b2408a]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666;text-align:center;padding:20px}.adb-connect-btn[data-v-76b2408a]{background:var(--accent);color:#fff;border:none;padding:10px 20px;border-radius:6px;margin-bottom:12px;cursor:pointer;font-weight:600}@media (max-width: 1024px){.device-panel-view.mobile-landscape[data-v-76b2408a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000}.device-panel-view.mobile-landscape .video-wrapper[data-v-76b2408a]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.device-panel-view.mobile-landscape .video-stream[data-v-76b2408a]{position:absolute;top:50%;left:50%;width:100vh;height:100vw;transform:translate(-50%,-50%) rotate(90deg);object-fit:contain}.device-panel-view.mobile-landscape .fullscreen-fab[data-v-76b2408a]{z-index:101}.device-panel-view.mobile-landscape .console-drawer[data-v-76b2408a]{position:fixed;bottom:60px;left:0;right:0;z-index:100}.device-panel-view.mobile-landscape .panel-overlay[data-v-76b2408a]{z-index:50}}.group-control-btn.active[data-v-76b2408a]{background:#ff9f432e;border-color:#ff9f43;color:#ff9f43}.group-control-btn.active[data-v-76b2408a]:hover{background:#ff9f4347}.device-card[data-v-f8920100]{background:var(--bg-secondary);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid var(--border);position:relative}.device-card[data-v-f8920100]:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0006;border-color:var(--accent)}.preview-area[data-v-f8920100]{aspect-ratio:9 / 16;background:#111;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.snapshot-placeholder[data-v-f8920100]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e)}.snapshot-img[data-v-f8920100]{width:100%;height:100%;object-fit:contain;display:block;transition:transform .3s ease,width .3s ease,height .3s ease}.preview-area.is-landscape .snapshot-img[data-v-f8920100]{position:absolute;width:177.78%;height:100%;top:0;left:-38.89%;object-fit:contain;transform:rotate(90deg)}.vm-icon[data-v-f8920100]{font-size:48px;opacity:.3}.overlay[data-v-f8920100]{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.device-card:hover .overlay[data-v-f8920100]{opacity:1}.play-hint[data-v-f8920100]{background:var(--accent);color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:500;transform:translateY(10px);transition:transform .2s}.device-card:hover .play-hint[data-v-f8920100]{transform:translateY(0)}.card-footer-overlay[data-v-f8920100]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#0d1117f2,#0d1117b3 60%,#0d111700);padding:12px 14px 10px;z-index:5;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end}.device-main-info[data-v-f8920100]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.device-id-text[data-v-f8920100]{font-size:14px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);max-width:140px}.status-badge[data-v-f8920100]{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:700;text-transform:uppercase}.status-badge.online[data-v-f8920100]{background:#4ade801a;color:#4ade80}.status-badge.offline[data-v-f8920100]{background:#ffffff1a;color:#999}.offline-hint[data-v-f8920100]{color:#fff9}.offline-last-seen[data-v-f8920100]{color:#ffffff8c}.device-meta[data-v-f8920100]{font-size:11px;color:var(--text-secondary)}.model-name[data-v-f8920100]{opacity:.7}.device-tags[data-v-f8920100]{display:flex;flex-wrap:nowrap;gap:5px;overflow:hidden;padding-right:28px;margin-top:auto}.device-tag[data-v-f8920100]{max-width:86px;display:inline-flex;align-items:center;height:20px;padding:0 7px;border:1px solid;border-radius:999px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:700;line-height:1}.more-tag[data-v-f8920100]{color:var(--text-secondary);border-color:var(--border);background:#ffffff0f}.menu-btn[data-v-f8920100]{position:absolute;right:12px;bottom:12px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:6px;cursor:pointer;opacity:.8;transition:all .2s ease}.menu-btn[data-v-f8920100]:hover{opacity:1;background:#ffffff2e;border-color:var(--accent)}.menu-btn svg[data-v-f8920100]{width:14px;height:14px;color:var(--text-primary)}.card-menu[data-v-f8920100]{position:absolute;bottom:42px;right:12px;min-width:140px;background:#161b22!important;opacity:1!important;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px #0009;z-index:100;padding:4px}.menu-item[data-v-f8920100]{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:6px;font-size:12px;color:var(--text-primary);cursor:pointer;text-align:left}.menu-item[data-v-f8920100]:hover:not(:disabled){background:var(--bg-hover)}.menu-item[data-v-f8920100]:disabled{opacity:.4;cursor:not-allowed}.menu-item.danger[data-v-f8920100]{color:var(--error)}.menu-item svg[data-v-f8920100]{width:14px;height:14px}.menu-overlay[data-v-f8920100]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}@media (max-width: 1024px){.device-card[data-v-f8920100]{height:100%}.preview-area[data-v-f8920100]{aspect-ratio:unset;flex:1;min-height:0}.card-footer-overlay[data-v-f8920100]{padding:8px 10px}.device-id-text[data-v-f8920100]{font-size:13px;max-width:80px}.status-badge[data-v-f8920100]{font-size:9px;padding:1px 4px}.vm-icon[data-v-f8920100]{font-size:32px}.device-tags[data-v-f8920100]{gap:4px;padding-right:22px}.device-tag[data-v-f8920100]{max-width:70px;height:18px;padding:0 6px;font-size:9px}.menu-btn[data-v-f8920100]{opacity:1}}.master-full-overlay[data-v-f8920100]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;pointer-events:none;border-radius:inherit}.master-full-text[data-v-f8920100]{font-size:clamp(28px,8vw,64px);font-weight:900;color:#ffffffd9;text-shadow:0 4px 20px rgba(0,0,0,.6),0 0 40px rgba(255,159,67,.5);letter-spacing:.15em;-webkit-user-select:none;user-select:none;-webkit-text-stroke:1px rgba(255,159,67,.4)}.group-select-overlay[data-v-f8920100]{position:absolute;top:10px;left:10px;z-index:15;background:#0a0c1099;border-radius:8px;padding:4px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 12px #0000004d;transition:all .2s ease}.group-select-overlay[data-v-f8920100]:hover{background:#1a73e833;border-color:var(--accent)}.group-select-checkbox[data-v-f8920100]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent);margin:0}.master-badge[data-v-f8920100]{font-size:11px;font-weight:700;color:#fff;background:#ff9f43;padding:2px 8px;border-radius:4px;white-space:nowrap;box-shadow:0 2px 6px #ff9f4366}.device-card.is-interactive-mode[data-v-f8920100]{border-color:#388bfd66;box-shadow:0 0 10px #388bfd26;animation:pulse-border-f8920100 2.5s infinite ease-in-out}@keyframes pulse-border-f8920100{0%{box-shadow:0 0 6px #388bfd26}50%{box-shadow:0 0 14px #388bfd66;border-color:#388bfdb3}to{box-shadow:0 0 6px #388bfd26}}.interactive-overlay[data-v-f8920100]{position:absolute;top:0;left:0;right:0;bottom:0;z-index:20;cursor:crosshair;background:transparent;outline:none}.interactive-overlay[data-v-f8920100]:focus{background:#388bfd08;box-shadow:inset 0 0 0 2px #388bfd}.virtual-navbar[data-v-f8920100]{position:absolute;top:10px;left:50%;transform:translate(-50%) translateY(-10px);display:flex;gap:8px;padding:4px 10px;background:#161b22bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:20px;opacity:0;pointer-events:none;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:25;box-shadow:0 4px 12px #0000004d}.interactive-overlay:hover .virtual-navbar[data-v-f8920100],.interactive-overlay:focus-within .virtual-navbar[data-v-f8920100]{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.nav-btn[data-v-f8920100]{width:28px;height:28px;border-radius:50%;background:transparent;border:none;color:#c9d1d9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.nav-btn[data-v-f8920100]:hover{background:#ffffff1a;color:#fff;transform:scale(1.1)}.nav-btn.connect-btn[data-v-f8920100]:hover{background:#388bfd;color:#fff}.nav-btn svg[data-v-f8920100]{width:14px;height:14px}.focus-indicator[data-v-f8920100]{position:absolute;bottom:50px;left:50%;transform:translate(-50%,10px);background:#238636d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;color:#fff;opacity:0;transition:all .25s ease;pointer-events:none;box-shadow:0 2px 8px #0000004d}.interactive-overlay:focus .focus-indicator[data-v-f8920100]{opacity:1;transform:translate(-50%)}.modal-overlay[data-v-298825a0]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal[data-v-298825a0]{width:min(960px,100%);max-height:min(760px,calc(100vh - 48px));display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;box-shadow:0 24px 80px #0000008c;overflow:hidden;transition:width .3s ease,max-height .3s ease}.modal.modal-compact[data-v-298825a0]{width:min(480px,100%);max-height:min(480px,calc(100vh - 48px))}.modal-header[data-v-298825a0]{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-298825a0]{margin:0;font-size:18px}.close-btn[data-v-298825a0],.icon-btn[data-v-298825a0]{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);background:transparent;border-radius:6px}.close-btn[data-v-298825a0]:hover,.icon-btn[data-v-298825a0]:hover{background:#ffffff14;color:var(--text-primary)}.close-btn svg[data-v-298825a0],.icon-btn svg[data-v-298825a0]{width:18px;height:18px}.icon-btn.danger[data-v-298825a0]:hover{color:#ef4444}.modal-body[data-v-298825a0]{min-height:0;display:grid;grid-template-columns:360px 1fr;gap:16px;padding:16px;overflow:auto}.modal-body.assign-mode[data-v-298825a0]{grid-template-columns:1fr}.panel[data-v-298825a0]{min-height:420px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);overflow:hidden}.panel.assign-panel-only[data-v-298825a0]{min-height:auto}.panel-header[data-v-298825a0]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.panel-header h3[data-v-298825a0]{margin:0;font-size:14px}.panel-header span[data-v-298825a0]{max-width:220px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-secondary);font-size:12px}.tag-form[data-v-298825a0]{display:grid;grid-template-columns:1fr 36px 64px;gap:8px;padding:12px}.text-input[data-v-298825a0]{min-width:0;height:34px;padding:0 10px;color:var(--text-primary);background:#ffffff0f;border:1px solid var(--border);border-radius:6px;outline:none}.text-input[data-v-298825a0]:focus{border-color:var(--accent)}.color-input[data-v-298825a0]{width:36px;height:34px;padding:2px;background:#ffffff0f;border:1px solid var(--border);border-radius:6px}.color-input.compact[data-v-298825a0]{flex:0 0 auto}.primary-btn[data-v-298825a0]{height:34px;padding:0 12px;color:#fff;background:var(--accent);border-radius:6px;font-size:13px;font-weight:600;border:none;cursor:pointer}.primary-btn[data-v-298825a0]:hover{background:var(--accent-hover)}.secondary-btn[data-v-298825a0]{height:34px;padding:0 12px;color:var(--text-primary);background:#ffffff0f;border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.secondary-btn[data-v-298825a0]:hover{background:#ffffff1f}.cancel-btn-only[data-v-298825a0]{width:100%}.error-text[data-v-298825a0]{margin:0 12px 8px;color:#f87171;font-size:12px}.empty-state[data-v-298825a0]{display:flex;min-height:120px;align-items:center;justify-content:center;padding:24px;color:var(--text-secondary);text-align:center;font-size:13px}.tag-list[data-v-298825a0]{min-height:0;display:flex;flex-direction:column;gap:8px;padding:0 12px 12px;overflow:auto}.tag-row[data-v-298825a0]{display:flex;align-items:center;gap:8px}.tag-name-input[data-v-298825a0]{flex:1}.assignment-layout[data-v-298825a0]{min-height:0;flex:1;display:grid;grid-template-columns:220px 1fr}.assignment-layout.assign-layout-only[data-v-298825a0]{grid-template-columns:1fr}.device-list[data-v-298825a0]{min-height:0;padding:8px;border-right:1px solid var(--border);overflow:auto}.device-list-header[data-v-298825a0]{padding:8px 10px;border-bottom:1px solid var(--border);margin-bottom:8px}.select-all-label[data-v-298825a0]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer}.select-all-label input[data-v-298825a0]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.device-row[data-v-298825a0]{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;color:var(--text-primary);background:transparent;border-radius:6px;text-align:left;cursor:pointer;box-sizing:border-box}.device-row[data-v-298825a0]:hover,.device-row.active[data-v-298825a0]{background:#ffffff14}.device-row-left[data-v-298825a0]{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.device-checkbox[data-v-298825a0]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.device-id[data-v-298825a0]{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.device-tag-count[data-v-298825a0]{min-width:20px;padding:1px 6px;border-radius:999px;color:var(--text-secondary);background:#ffffff14;font-size:11px;text-align:center}.assignment-panel[data-v-298825a0]{min-width:0;min-height:0;padding:12px;overflow:auto;display:flex;flex-direction:column}.checkbox-list-container[data-v-298825a0]{display:flex;flex-direction:column;height:100%}.checkbox-list[data-v-298825a0]{display:flex;flex-wrap:wrap;gap:10px;flex:1}.tag-checkbox[data-v-298825a0]{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.tag-checkbox input[data-v-298825a0]{width:15px;height:15px;accent-color:var(--accent)}.tag-chip[data-v-298825a0]{max-width:180px;display:inline-flex;align-items:center;height:26px;padding:0 9px;border:1px solid;border-radius:999px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600}.assignment-actions[data-v-298825a0]{display:flex;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border);flex-shrink:0}@media (max-width: 768px){.modal-overlay[data-v-298825a0]{align-items:stretch;padding:10px}.modal[data-v-298825a0]{max-height:calc(100vh - 20px)}.modal-body[data-v-298825a0]{grid-template-columns:1fr}.panel[data-v-298825a0]{min-height:320px}.assignment-layout[data-v-298825a0]{grid-template-columns:1fr}.device-list[data-v-298825a0]{max-height:180px;border-right:none;border-bottom:1px solid var(--border)}}.device-list-page[data-v-71825a32]{padding:24px;min-height:100%}.page-header[data-v-71825a32]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.header-left[data-v-71825a32]{display:flex;align-items:baseline;gap:12px}.page-title[data-v-71825a32]{font-size:20px;font-weight:600;margin:0}.device-count[data-v-71825a32]{font-size:13px;color:var(--text-secondary)}.header-controls[data-v-71825a32]{display:flex;align-items:center;gap:12px}.search-box[data-v-71825a32]{width:260px;height:36px;display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--text-secondary);background:#ffffff0b;border:1px solid var(--border);border-radius:7px}.search-box[data-v-71825a32]:focus-within{border-color:var(--accent)}.search-box svg[data-v-71825a32]{width:15px;height:15px;flex:0 0 auto}.search-box input[data-v-71825a32]{min-width:0;flex:1;color:var(--text-primary);background:transparent;border:none;outline:none;font-size:13px}.search-box input[data-v-71825a32]::placeholder{color:var(--text-secondary)}.deploy-btn[data-v-71825a32]{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;height:36px;background:transparent;color:var(--text-primary);border:1px solid var(--border);padding:0 12px;border-radius:7px;font-weight:600;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.toolbar-icon[data-v-71825a32],.btn-label[data-v-71825a32]{display:inline-flex;align-items:center}.toolbar-icon[data-v-71825a32]{width:15px;height:15px;flex:0 0 auto}.deploy-btn.secondary[data-v-71825a32]{background:#ffffff09;color:#d0d7de}.deploy-btn.primary[data-v-71825a32]{color:#fff;background:#58a6ff2e;border-color:#58a6ff59}.mobile-tag-action[data-v-71825a32]{display:none}.deploy-btn[data-v-71825a32]:hover{background:#ffffff0f;border-color:#ffffff29}.deploy-btn.primary[data-v-71825a32]:hover{background:#58a6ff42;border-color:#58a6ff80}.size-control[data-v-71825a32]{display:flex;align-items:center;gap:10px;height:36px;padding:0 12px;background:#ffffff09;border:1px solid var(--border);border-radius:7px}.preview-mode-switch[data-v-71825a32]{display:flex;align-items:center;height:36px;padding:0 12px;background:#ffffff09;border:1px solid var(--border);border-radius:7px}.switch-label[data-v-71825a32]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch-label.disabled[data-v-71825a32]{opacity:.5;cursor:not-allowed}.switch-label.disabled .switch-checkbox[data-v-71825a32]{cursor:not-allowed}.switch-checkbox[data-v-71825a32]{cursor:pointer;accent-color:var(--accent)}.switch-text[data-v-71825a32],.size-control .label[data-v-71825a32]{font-size:13px;color:var(--text-secondary)}.size-slider[data-v-71825a32]{width:96px;height:4px;-webkit-appearance:none;background:var(--border);border-radius:2px;outline:none}.size-slider[data-v-71825a32]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer;transition:transform .1s}.size-slider[data-v-71825a32]::-webkit-slider-thumb:hover{transform:scale(1.2)}.size-value[data-v-71825a32]{font-size:12px;color:var(--text-secondary);min-width:40px}.header-actions[data-v-71825a32]{display:flex;align-items:center;gap:8px}.content-layout[data-v-71825a32]{display:block}.mobile-tag-bar[data-v-71825a32]{display:none}.tag-filter[data-v-71825a32]{width:100%;min-width:0;height:34px;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 8px;border:1px solid transparent;border-radius:6px;color:var(--text-primary);background:transparent;text-align:left;font-size:12px}.tag-filter[data-v-71825a32]:hover{background:#ffffff0f}.tag-filter.active[data-v-71825a32]{border-color:var(--accent);background:#e9456029}.tag-dot[data-v-71825a32]{width:8px;height:8px;border-radius:50%}.tag-dot.all[data-v-71825a32]{background:var(--accent)}.tag-dot.offline[data-v-71825a32]{background:#8b949e}.tag-name[data-v-71825a32]{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tag-count[data-v-71825a32]{min-width:22px;padding:1px 6px;border-radius:999px;color:var(--text-secondary);background:#ffffff14;font-size:11px;text-align:center}.btn-refresh-icon[data-v-71825a32]{background:none;border:none;cursor:pointer;font-size:18px;padding:4px;border-radius:4px;transition:background .2s}.btn-refresh-icon[data-v-71825a32]:hover{background:#ffffff0d}.grid-container[data-v-71825a32]{min-width:0;width:100%}.device-grid[data-v-71825a32]{display:grid;gap:20px}.offline-section[data-v-71825a32]{margin-top:28px;padding-top:16px;border-top:1px dashed var(--border)}.offline-section-header[data-v-71825a32]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.offline-section-title[data-v-71825a32]{font-size:14px;font-weight:600;color:var(--text-secondary, #94a3b8)}.offline-section-count[data-v-71825a32]{font-size:12px;padding:1px 8px;border-radius:10px;background:#94a3b826;color:var(--text-secondary, #94a3b8)}.offline-grid[data-v-71825a32] .device-card{filter:grayscale(.55);opacity:.72;transition:filter .2s ease,opacity .2s ease}.offline-grid[data-v-71825a32] .device-card:hover{filter:grayscale(.2);opacity:.95}.state-view[data-v-71825a32]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 0;color:var(--text-secondary);text-align:center}.spinner[data-v-71825a32]{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-71825a32 .8s linear infinite;margin-bottom:16px}@keyframes spin-71825a32{to{transform:rotate(360deg)}}.empty-icon[data-v-71825a32]{font-size:48px;margin-bottom:16px;opacity:.5}.state-view h3[data-v-71825a32]{margin:0 0 8px;color:var(--text-primary)}@media (max-width: 1024px){.device-list-page[data-v-71825a32]{padding:8px 10px;height:100%;display:flex;flex-direction:column}.page-header[data-v-71825a32]{align-items:stretch;gap:8px;margin-bottom:8px;padding-bottom:8px;flex-direction:column}.header-left[data-v-71825a32]{justify-content:space-between;align-items:center;gap:8px}.device-count[data-v-71825a32]{flex:0 0 auto;font-size:12px}.header-controls[data-v-71825a32]{display:grid;grid-template-columns:minmax(0,1fr) 36px 36px;gap:8px;align-items:center}.search-box[data-v-71825a32]{width:auto;height:36px}.header-actions[data-v-71825a32]{display:contents}.mobile-tag-action[data-v-71825a32]{display:flex}.deploy-btn[data-v-71825a32]{width:36px;min-width:36px;height:36px;justify-content:center;padding:0;border-radius:8px}.deploy-btn[data-v-71825a32]:hover{background:#ffffff17}.deploy-btn .btn-label[data-v-71825a32]{display:none}.size-control[data-v-71825a32]{display:none!important}.content-layout[data-v-71825a32]{min-height:0;flex:1;display:flex;flex-direction:column;gap:8px}.mobile-tag-bar[data-v-71825a32]{display:flex;flex-direction:row;gap:8px;padding:0 0 2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-tag-bar[data-v-71825a32]::-webkit-scrollbar{display:none}.tag-filter[data-v-71825a32]{width:auto;min-width:max-content;height:30px;grid-template-columns:8px minmax(0,auto) auto;border-color:var(--border);border-radius:999px}.hide-on-mobile[data-v-71825a32]{display:none!important}.grid-container[data-v-71825a32]{flex:1;display:flex;align-items:stretch;overflow:hidden}.device-grid[data-v-71825a32]{display:flex!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:16px;padding:12px 8px 18px;width:100%;height:100%;box-sizing:border-box;-webkit-overflow-scrolling:touch}.device-grid[data-v-71825a32]::-webkit-scrollbar{display:none}.device-grid[data-v-71825a32]>*{min-width:80vw;max-width:80vw;height:calc(100% - 4px);scroll-snap-align:center}.page-title[data-v-71825a32]{font-size:16px}}.group-quick-actions[data-v-71825a32]{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:4px 10px;margin-right:12px}.action-btn-mini[data-v-71825a32]{background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);font-size:12px;padding:4px 8px;border-radius:6px;cursor:pointer;transition:all .2s ease}.action-btn-mini[data-v-71825a32]:hover{background:#ffffff26;border-color:#fff3}.action-btn-mini.dropdown-trigger[data-v-71825a32],.tag-select-dropdown[data-v-71825a32]{position:relative}.tag-dropdown-menu[data-v-71825a32]{position:absolute;top:100%;left:0;margin-top:6px;background:#161b22;border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 8px 24px #00000080;z-index:100;min-width:130px;padding:6px 0;max-height:200px;overflow-y:auto}.tag-dropdown-menu[data-v-71825a32]::-webkit-scrollbar{width:4px}.tag-dropdown-menu[data-v-71825a32]::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.tag-dropdown-item[data-v-71825a32]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .2s ease;font-size:12px;color:var(--text-primary)}.tag-dropdown-item[data-v-71825a32]:hover{background:#ffffff0f}.tag-color-dot[data-v-71825a32]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tag-dropdown-empty[data-v-71825a32]{padding:8px 12px;color:var(--text-secondary);font-size:12px;text-align:center}.selected-count-badge[data-v-71825a32]{font-size:11px;color:var(--accent);background:#1a73e81f;padding:2px 6px;border-radius:4px;font-weight:500}.group-mode-badge[data-v-71825a32]{font-size:11px;color:#ff9f43;background:#ff9f431f;border:1px solid rgba(255,159,67,.25);padding:2px 8px;border-radius:4px;font-weight:600;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.animate-fade-in[data-v-71825a32]{animation:fadeIn-71825a32 .2s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn-71825a32{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.quickstart-container[data-v-71825a32]{max-width:1200px;margin:30px auto;padding:0 24px;color:var(--text-primary)}.quickstart-header[data-v-71825a32]{text-align:center;margin-bottom:32px}.quickstart-header .empty-icon[data-v-71825a32]{font-size:56px;margin-bottom:16px}.qs-title[data-v-71825a32]{font-size:24px;font-weight:600;margin:0 0 12px;background:linear-gradient(135deg,#58a6ff,#bc8cff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.qs-subtitle[data-v-71825a32]{font-size:14px;color:var(--text-secondary);line-height:1.6;max-width:680px;margin:0 auto;opacity:.85}.quickstart-layout[data-v-71825a32]{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 768px){.quickstart-layout[data-v-71825a32]{grid-template-columns:1fr 1fr}}.qs-card-box[data-v-71825a32]{background:#ffffff08;border:1px solid var(--border);border-radius:14px;padding:24px;position:relative;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.qs-card-box[data-v-71825a32]:hover{transform:translateY(-2px);border-color:#58a6ff66;box-shadow:0 12px 28px #0000004d}.qs-card-box.highlight[data-v-71825a32]{background:#58a6ff08;border-color:#58a6ff40}.qs-card-box.highlight[data-v-71825a32]:hover{border-color:#58a6ff99}.qs-badge[data-v-71825a32]{position:absolute;top:16px;right:16px;background:#238636;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;text-transform:uppercase}.qs-card-title[data-v-71825a32]{font-size:16px;font-weight:600;margin:0 0 12px;color:#c9d1d9}.qs-card-box.highlight .qs-card-title[data-v-71825a32]{color:#58a6ff}.qs-card-desc[data-v-71825a32]{font-size:13px;color:var(--text-secondary);line-height:1.6;margin:0 0 24px;flex:1}.qs-action-wrapper[data-v-71825a32]{margin-top:auto}.qs-btn-primary[data-v-71825a32]{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:42px;background:#238636;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s}.qs-btn-primary[data-v-71825a32]:hover{background:#2ea043}.qs-btn-icon[data-v-71825a32]{width:16px;height:16px}.qs-form-grid[data-v-71825a32]{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:18px}@media (min-width: 480px){.qs-form-grid[data-v-71825a32]{grid-template-columns:1.2fr 1fr}}.qs-form-item[data-v-71825a32]{display:flex;flex-direction:column;gap:6px}.qs-form-label[data-v-71825a32]{font-size:12px;color:var(--text-secondary)}.qs-form-input[data-v-71825a32]{height:34px;padding:0 10px;background:#0003;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:12px;outline:none}.qs-form-input[data-v-71825a32]:focus{border-color:var(--accent)}.qs-real-config[data-v-71825a32]{background:#00000026;border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:18px}.qs-config-row[data-v-71825a32]{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04)}.qs-config-row[data-v-71825a32]:last-child{border-bottom:none}.qs-config-label[data-v-71825a32]{color:var(--text-secondary);font-weight:500;width:120px;flex-shrink:0}.qs-config-val[data-v-71825a32]{font-family:SF Mono,Fira Code,monospace;color:#58a6ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.qs-config-copy[data-v-71825a32]{background:#ffffff0d;border:1px solid var(--border);color:var(--text-secondary);font-size:11px;padding:2px 6px;border-radius:4px;cursor:pointer}.qs-config-copy[data-v-71825a32]:hover{background:#ffffff1f;color:var(--text-primary)}.qs-step-block[data-v-71825a32]{margin-bottom:18px}.qs-step-title[data-v-71825a32]{font-size:12px;font-weight:600;color:#8b949e;margin-bottom:10px}.qs-download-row[data-v-71825a32]{display:flex}.qs-download-link[data-v-71825a32]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:#58a6ff1a;border:1px solid rgba(88,166,255,.25);color:#58a6ff;border-radius:8px;text-decoration:none;font-size:13px;font-weight:600;transition:all .2s;width:100%}.qs-download-link[data-v-71825a32]:hover{background:#58a6ff2e;border-color:#58a6ff80}.qs-tabs[data-v-71825a32]{display:flex;gap:6px;margin-bottom:10px;border-bottom:1px solid var(--border);padding-bottom:8px}.qs-tab[data-v-71825a32]{background:none;border:none;color:var(--text-secondary);font-size:12px;padding:4px 10px;cursor:pointer;border-radius:4px;transition:all .2s}.qs-tab[data-v-71825a32]:hover{background:#ffffff0d;color:var(--text-primary)}.qs-tab.active[data-v-71825a32]{background:#58a6ff26;color:#58a6ff;font-weight:600}.qs-mode-selector[data-v-71825a32]{display:flex;gap:8px;background:#0003;padding:4px;border-radius:8px;border:1px solid var(--border);margin-bottom:20px}.qs-mode-btn[data-v-71825a32]{flex:1;padding:8px 12px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.qs-mode-btn[data-v-71825a32]:hover{color:var(--text-primary)}.qs-mode-btn.active[data-v-71825a32]{background:var(--bg-surface, rgba(88, 166, 255, .15));color:#58a6ff;font-weight:600;box-shadow:0 2px 4px #0003}.qs-mode-btn.magisk-qs-mode.active[data-v-71825a32]{background:#a855f733;color:#c084fc}.qs-terminal[data-v-71825a32]{position:relative;background:#0d1117;border:1px solid var(--border);border-radius:8px;padding:14px 14px 40px}.qs-code-text[data-v-71825a32]{margin:0;font-family:SF Mono,Fira Code,monospace;font-size:11.5px;color:#c9d1d9;line-height:1.6;white-space:pre-wrap;word-break:break-all;overflow-x:auto}.qs-copy-btn[data-v-71825a32]{position:absolute;bottom:10px;right:10px;background:#21262d;border:1px solid #30363d;color:#c9d1d9;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;cursor:pointer;transition:all .2s}.qs-copy-btn[data-v-71825a32]:hover{background:#30363d;border-color:#8b949e}.qs-download-link.magisk-qs-btn[data-v-71825a32]{background:#a855f71a;border-color:#a855f766;color:#c084fc}.qs-download-link.magisk-qs-btn[data-v-71825a32]:hover{background:#a855f733;border-color:#a855f7;color:#e9d5ff}.qs-card-desc-warn[data-v-71825a32]{font-size:11.5px;color:#ff7675;margin-top:-12px;margin-bottom:20px;line-height:1.5;background:#ff767514;padding:8px 12px;border-radius:6px;border:1px solid rgba(255,118,117,.15)}.qs-prerequisites[data-v-71825a32]{background:#ffffff04;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:12px 14px;margin-bottom:20px}.qs-prereq-title[data-v-71825a32]{font-size:12px;font-weight:600;color:#ff9f43;margin-bottom:6px}.qs-prereq-list[data-v-71825a32]{margin:0;padding-left:18px;font-size:11.5px;color:var(--text-secondary);line-height:1.5}.qs-prereq-list li[data-v-71825a32]{margin-bottom:4px}.qs-prereq-list li[data-v-71825a32]:last-child{margin-bottom:0}.deploy-page[data-v-1c0cfbf4]{padding:24px;height:100%;overflow-y:auto}.deploy-layout[data-v-1c0cfbf4]{display:grid;grid-template-columns:360px 1fr;gap:24px;max-width:1200px}.section-title[data-v-1c0cfbf4]{font-size:16px;font-weight:600;margin:0 0 20px;color:var(--text-primary)}.form-section[data-v-1c0cfbf4]{background:var(--bg-surface, var(--bg-secondary));border:1px solid var(--border);border-radius:12px;padding:24px;align-self:start}.form-group[data-v-1c0cfbf4]{margin-bottom:16px}.form-row[data-v-1c0cfbf4]{display:flex;align-items:center;justify-content:space-between}.form-label[data-v-1c0cfbf4]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.form-hint[data-v-1c0cfbf4]{font-size:11px;color:var(--text-secondary);opacity:.6;margin-top:4px;word-break:break-all}.form-row .form-label[data-v-1c0cfbf4]{margin-bottom:0}.required[data-v-1c0cfbf4]{color:var(--error, #f44)}.form-input[data-v-1c0cfbf4]{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.form-input[data-v-1c0cfbf4]:focus{outline:none;border-color:var(--accent)}.toggle[data-v-1c0cfbf4]{position:relative;display:inline-block;width:40px;height:22px}.toggle input[data-v-1c0cfbf4]{opacity:0;width:0;height:0}.toggle-slider[data-v-1c0cfbf4]{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:22px;transition:.2s}.toggle-slider[data-v-1c0cfbf4]:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}.toggle input:checked+.toggle-slider[data-v-1c0cfbf4]{background:var(--accent)}.toggle input:checked+.toggle-slider[data-v-1c0cfbf4]:before{transform:translate(18px)}.deploy-btn[data-v-1c0cfbf4]{width:100%;padding:10px;margin-top:8px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.deploy-btn[data-v-1c0cfbf4]:hover:not(:disabled){opacity:.9}.deploy-btn[data-v-1c0cfbf4]:disabled{background:var(--bg-hover);color:var(--text-muted);cursor:not-allowed}.divider[data-v-1c0cfbf4]{height:1px;background:var(--border);margin:20px 0;opacity:.8}.manual-download-box[data-v-1c0cfbf4]{display:flex;flex-direction:column}.sub-section-title[data-v-1c0cfbf4]{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.download-grid[data-v-1c0cfbf4]{display:grid;grid-template-columns:1fr;gap:8px}.download-action-btn[data-v-1c0cfbf4]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;text-decoration:none;color:var(--text-primary);font-size:12px;transition:all .2s ease}.download-action-btn[data-v-1c0cfbf4]:hover{border-color:var(--accent);background:#3b82f60d}.download-action-btn .btn-name[data-v-1c0cfbf4]{font-weight:500}.download-action-btn .download-icon-text[data-v-1c0cfbf4]{font-size:11px;color:var(--accent);background:#3b82f61a;padding:2px 6px;border-radius:4px;font-weight:600}.download-action-btn.core-library[data-v-1c0cfbf4]{border-color:#10b9814d;background:#10b98105}.download-action-btn.core-library[data-v-1c0cfbf4]:hover{border-color:#10b981;background:#10b98114}.download-action-btn.core-library .download-icon-text[data-v-1c0cfbf4]{color:#10b981;background:#10b9811a}.log-section[data-v-1c0cfbf4]{background:var(--bg-surface, var(--bg-secondary));border:1px solid var(--border);border-radius:12px;padding:24px;display:flex;flex-direction:column;min-height:400px}.steps[data-v-1c0cfbf4]{display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap}.step[data-v-1c0cfbf4]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);padding:4px 10px;border-radius:6px;background:var(--bg-primary)}.step.done[data-v-1c0cfbf4]{color:var(--success, #4caf50)}.step.active[data-v-1c0cfbf4]{color:var(--accent);background:#3b82f61a}.step.error[data-v-1c0cfbf4]{color:var(--error, #f44);background:#f443361a}.step-icon[data-v-1c0cfbf4]{font-size:14px}.progress-bar[data-v-1c0cfbf4]{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:12px}.progress-inner[data-v-1c0cfbf4]{height:100%;background:var(--accent);transition:width .3s ease}.status-line[data-v-1c0cfbf4]{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.status-line.success[data-v-1c0cfbf4]{color:var(--success, #4caf50)}.status-line.error[data-v-1c0cfbf4]{color:var(--error, #f44)}.log-area[data-v-1c0cfbf4]{flex:1;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:12px;font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.6;overflow-y:auto;max-height:400px}.log-empty[data-v-1c0cfbf4]{color:var(--text-secondary);opacity:.5}.log-line[data-v-1c0cfbf4]{color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.right-column[data-v-1c0cfbf4]{display:flex;flex-direction:column;gap:24px}.manual-section[data-v-1c0cfbf4]{background:var(--bg-surface, var(--bg-secondary));border:1px solid var(--border);border-radius:12px;padding:24px;display:flex;flex-direction:column}.manual-layout[data-v-1c0cfbf4]{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 1024px){.manual-layout[data-v-1c0cfbf4]{grid-template-columns:320px 1fr}}.manual-subtitle[data-v-1c0cfbf4]{font-size:13px;font-weight:600;color:var(--text-secondary);margin:0 0 14px;opacity:.85}.download-row[data-v-1c0cfbf4]{display:flex;flex-direction:column;gap:10px}.download-card-btn[data-v-1c0cfbf4]{display:flex;flex-direction:column;padding:12px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text-primary);transition:all .2s ease}.download-card-btn[data-v-1c0cfbf4]:hover{border-color:var(--accent);background:#3b82f60a;transform:translateY(-1px)}.download-card-btn .card-title[data-v-1c0cfbf4]{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:4px}.download-card-btn .card-desc[data-v-1c0cfbf4]{font-size:11px;color:var(--text-secondary);opacity:.7}.download-card-btn.core-library-card[data-v-1c0cfbf4]{border-color:#10b9814d;background:#10b98103}.download-card-btn.core-library-card[data-v-1c0cfbf4]:hover{border-color:#10b981;background:#10b9810f}.download-card-btn.core-library-card .card-title[data-v-1c0cfbf4]{color:#10b981}.guide-steps[data-v-1c0cfbf4]{display:flex;flex-direction:column;gap:16px}.guide-step-item[data-v-1c0cfbf4]{display:flex;gap:12px}.guide-step-item .step-num[data-v-1c0cfbf4]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--accent);color:#fff;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0;margin-top:2px}.guide-step-item .step-content[data-v-1c0cfbf4]{flex:1}.guide-step-item .step-content p[data-v-1c0cfbf4]{margin:0 0 8px;font-size:13px;color:var(--text-primary);line-height:1.5}.code-block[data-v-1c0cfbf4]{margin:0;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--text-primary);overflow-x:auto;line-height:1.5}.code-block.wrap[data-v-1c0cfbf4]{white-space:pre-wrap;word-break:break-all}.code-container[data-v-1c0cfbf4]{position:relative}.copy-code-btn[data-v-1c0cfbf4]{position:absolute;top:8px;right:8px;padding:4px 8px;background:var(--bg-surface, var(--bg-secondary));border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.copy-code-btn[data-v-1c0cfbf4]:hover{background:var(--accent);color:#fff;border-color:var(--accent)}@media (max-width: 768px){.deploy-layout[data-v-1c0cfbf4]{grid-template-columns:1fr}}.manual-header[data-v-1c0cfbf4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.manual-header .section-title[data-v-1c0cfbf4]{margin-bottom:0}.deploy-mode-tabs[data-v-1c0cfbf4]{display:flex;gap:8px;background:#0003;padding:4px;border-radius:8px;border:1px solid var(--border)}.mode-tab-btn[data-v-1c0cfbf4]{padding:6px 14px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.mode-tab-btn[data-v-1c0cfbf4]:hover{color:var(--text-primary)}.mode-tab-btn.active[data-v-1c0cfbf4]{background:var(--bg-surface, rgba(88, 166, 255, .15));color:#58a6ff;font-weight:600;box-shadow:0 2px 4px #0003}.mode-tab-btn.magisk-tab.active[data-v-1c0cfbf4]{background:#a855f733;color:#c084fc}.magisk-prereqs[data-v-1c0cfbf4]{border-color:#a855f733;background:#a855f705}.qs-prereq-title.magisk-title[data-v-1c0cfbf4]{color:#c084fc}.download-card-btn.gold-card[data-v-1c0cfbf4]{border-color:#58a6ff66;background:#58a6ff08}.download-card-btn.gold-card[data-v-1c0cfbf4]:hover{border-color:#58a6ff;background:#58a6ff14}.download-card-btn.gold-card .card-title[data-v-1c0cfbf4]{color:#58a6ff;font-weight:700}.download-card-btn.magisk-card[data-v-1c0cfbf4]{border-color:#a855f766;background:#a855f708}.download-card-btn.magisk-card[data-v-1c0cfbf4]:hover{border-color:#a855f7;background:#a855f714}.download-card-btn.magisk-card .card-title[data-v-1c0cfbf4]{color:#a855f7;font-weight:700}.script-box-title[data-v-1c0cfbf4]{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.webusb-warning[data-v-1c0cfbf4]{font-size:12px;color:#ff7675;background:#ff767514;border:1px solid rgba(255,118,117,.15);border-radius:8px;padding:12px 14px;margin-bottom:24px;line-height:1.6}.manual-prereqs[data-v-1c0cfbf4]{background:#ffffff04;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:14px 18px;margin-bottom:24px}.qs-prereq-title[data-v-1c0cfbf4]{font-size:13px;font-weight:600;color:#ff9f43;margin-bottom:8px}.qs-prereq-list[data-v-1c0cfbf4]{margin:0;padding-left:20px;font-size:12px;color:var(--text-secondary);line-height:1.6}.qs-prereq-list li[data-v-1c0cfbf4]{margin-bottom:4px}.qs-prereq-list li[data-v-1c0cfbf4]:last-child{margin-bottom:0}.file-manager-page[data-v-b87eef7b]{display:flex;flex-direction:column;height:100%;min-height:0;color:#d6dde7;background:#0f1218}.dummy-video[data-v-b87eef7b]{display:none}.fm-header[data-v-b87eef7b]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;background:#141922;border-bottom:1px solid #252d39}.fm-title-block[data-v-b87eef7b]{display:flex;align-items:center;gap:12px;min-width:0}.fm-title-icon[data-v-b87eef7b]{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;color:#7cc7a7;background:#19251f;border:1px solid #274333;flex:0 0 auto}.fm-title-icon svg[data-v-b87eef7b],.fm-title-block svg[data-v-b87eef7b]{width:20px;height:20px}.fm-title-block h2[data-v-b87eef7b]{margin:0;font-size:18px;line-height:1.2;color:#f3f6fb}.fm-title-block p[data-v-b87eef7b]{margin:3px 0 0;font-size:12px;color:#8f9aaa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48vw}.fm-device-panel[data-v-b87eef7b]{display:flex;align-items:center;gap:10px}.device-select[data-v-b87eef7b],.path-box input[data-v-b87eef7b]{height:36px;border:1px solid #2c3542;border-radius:8px;color:#e8edf5;background:#0f141c;outline:none}.device-select[data-v-b87eef7b]{min-width:220px;padding:0 12px}.connection-pill[data-v-b87eef7b]{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border-radius:999px;font-size:12px;border:1px solid #2c3542;background:#111720;white-space:nowrap}.status-dot[data-v-b87eef7b]{width:8px;height:8px;border-radius:50%;background:#8f9aaa}.connection-pill.connected .status-dot[data-v-b87eef7b]{background:#4ec98d}.connection-pill.connecting .status-dot[data-v-b87eef7b]{background:#e2b84d;animation:pulse-b87eef7b 1s infinite alternate}.connection-pill.error .status-dot[data-v-b87eef7b]{background:#ff6b66}@keyframes pulse-b87eef7b{0%{opacity:.45}to{opacity:1}}.fm-body[data-v-b87eef7b]{flex:1;min-height:0;display:flex}.empty-state[data-v-b87eef7b]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;color:#8f9aaa}.empty-state svg[data-v-b87eef7b]{width:54px;height:54px;color:#7cc7a7;margin-bottom:16px}.empty-state h3[data-v-b87eef7b]{margin:0 0 8px;color:#f3f6fb;font-size:18px}.empty-state p[data-v-b87eef7b]{margin:0 0 18px;max-width:420px;line-height:1.5}.empty-state.error svg[data-v-b87eef7b],.empty-state.error h3[data-v-b87eef7b]{color:#ff6b66}.spinner[data-v-b87eef7b]{width:28px;height:28px;border-radius:50%;border:3px solid #2c3542;border-top-color:#7cc7a7;animation:spin-b87eef7b .8s linear infinite;margin-bottom:16px}.spinner.small[data-v-b87eef7b]{width:18px;height:18px;border-width:2px;margin:0}@keyframes spin-b87eef7b{to{transform:rotate(360deg)}}.fm-shell[data-v-b87eef7b]{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.toolbar[data-v-b87eef7b]{display:flex;align-items:center;gap:8px;padding:12px 22px;border-bottom:1px solid #252d39;background:#111720}.icon-btn[data-v-b87eef7b],.upload-btn[data-v-b87eef7b],.secondary-btn[data-v-b87eef7b],.danger-btn[data-v-b87eef7b],.primary-btn[data-v-b87eef7b]{display:inline-flex;align-items:center;justify-content:center;height:36px;border-radius:8px;border:1px solid #2c3542;color:#d6dde7;background:#18202b;cursor:pointer;-webkit-user-select:none;user-select:none}.icon-btn[data-v-b87eef7b]{width:38px;flex:0 0 auto}.icon-btn[data-v-b87eef7b]:disabled,.secondary-btn[data-v-b87eef7b]:disabled{opacity:.42;cursor:not-allowed}.icon-btn svg[data-v-b87eef7b],.upload-btn svg[data-v-b87eef7b]{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.path-box[data-v-b87eef7b]{flex:1;min-width:120px;display:flex;align-items:center;gap:8px;height:38px;padding:0 8px 0 12px;border-radius:8px;border:1px solid #2c3542;background:#0f141c}.path-box span[data-v-b87eef7b]{font-size:12px;color:#8f9aaa}.path-box input[data-v-b87eef7b]{flex:1;min-width:0;height:30px;padding:0;border:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.upload-btn[data-v-b87eef7b]{gap:7px;padding:0 14px;color:#092016;background:#7cc7a7;border-color:#7cc7a7;font-weight:700}.upload-btn.disabled[data-v-b87eef7b]{opacity:.5;cursor:not-allowed}.upload-btn input[data-v-b87eef7b]{display:none}.secondary-btn[data-v-b87eef7b],.danger-btn[data-v-b87eef7b],.primary-btn[data-v-b87eef7b]{padding:0 12px;font-size:13px}.danger-btn[data-v-b87eef7b]{color:#ffd9d7;background:#321b1e;border-color:#6a3034}.primary-btn[data-v-b87eef7b]{color:#092016;background:#7cc7a7;border-color:#7cc7a7;font-weight:700}.selection-bar[data-v-b87eef7b]{display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 22px;border-bottom:1px solid #253346;background:#14241d}.selection-bar.visible[data-v-b87eef7b]{display:flex}.selection-summary[data-v-b87eef7b],.selection-actions[data-v-b87eef7b]{display:flex;align-items:center;gap:8px}.selection-summary[data-v-b87eef7b]{color:#9eb4c9;font-size:13px}.selection-summary strong[data-v-b87eef7b]{color:#f3f6fb}.file-surface[data-v-b87eef7b]{flex:1;position:relative;min-height:0;overflow:auto}.file-surface.drag-over[data-v-b87eef7b]{outline:2px dashed #7cc7a7;outline-offset:-8px}.drag-overlay[data-v-b87eef7b]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;background:#0f1218d1;pointer-events:none}.drag-overlay div[data-v-b87eef7b]{padding:18px 28px;border-radius:8px;border:1px solid #4d8069;color:#bce8d3;background:#14241d}.list-head[data-v-b87eef7b],.file-row[data-v-b87eef7b]{display:grid;grid-template-columns:44px minmax(220px,1fr) 120px 160px;align-items:center}.list-head[data-v-b87eef7b]{position:sticky;top:0;z-index:2;height:42px;background:#121821;border-bottom:1px solid #252d39;color:#8f9aaa;font-size:12px;font-weight:700}.list-head button[data-v-b87eef7b]{justify-self:start;border:0;color:inherit;background:transparent;cursor:pointer;font:inherit}.check-cell[data-v-b87eef7b]{display:grid;place-items:center}.check-cell input[data-v-b87eef7b]{width:16px;height:16px;accent-color:#7cc7a7}.file-row[data-v-b87eef7b]{min-height:58px;border-bottom:1px solid #1d2530}.file-row.folder[data-v-b87eef7b]{cursor:pointer}.file-row[data-v-b87eef7b]:hover{background:#151c26}.file-row.selected[data-v-b87eef7b]{background:#14241d}.file-primary[data-v-b87eef7b]{display:flex;align-items:center;gap:12px;min-width:0}.file-icon[data-v-b87eef7b]{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#a9b5c4;background:#18202b;border:1px solid #2c3542;flex:0 0 auto}.file-icon.folder[data-v-b87eef7b]{color:#f0c66b;background:#2a2416;border-color:#534322}.file-icon.apk[data-v-b87eef7b]{color:#7cc7a7;background:#14241d;border-color:#2d5a45}.file-icon svg[data-v-b87eef7b]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.file-text[data-v-b87eef7b]{min-width:0;display:flex;flex-direction:column;gap:3px}.file-name[data-v-b87eef7b]{color:#f3f6fb;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-path[data-v-b87eef7b]{color:#748094;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-b87eef7b],.file-date[data-v-b87eef7b]{color:#9ba6b6;font-size:13px}.list-state[data-v-b87eef7b]{min-height:260px;display:flex;align-items:center;justify-content:center;gap:10px;color:#8f9aaa}.transfer-dock[data-v-b87eef7b]{flex-shrink:0;max-height:190px;overflow:auto;border-top:1px solid #252d39;background:#111720}.dock-head[data-v-b87eef7b]{display:flex;align-items:center;justify-content:space-between;padding:10px 22px;color:#8f9aaa;font-size:12px;font-weight:700}.dock-head button[data-v-b87eef7b]{border:0;color:#9eb4c9;background:transparent;cursor:pointer}.transfer-list[data-v-b87eef7b]{display:grid;gap:8px;padding:0 22px 14px}.transfer-item[data-v-b87eef7b]{display:grid;grid-template-columns:minmax(0,1fr) 160px 26px;align-items:center;gap:12px;min-height:42px;padding:8px 10px;border-radius:8px;border:1px solid #2c3542;background:#0f141c}.transfer-item.success[data-v-b87eef7b]{border-color:#2d5a45}.transfer-item.failed[data-v-b87eef7b]{border-color:#6a3034}.transfer-main[data-v-b87eef7b]{min-width:0;display:flex;flex-direction:column;gap:3px}.transfer-name[data-v-b87eef7b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f3f6fb;font-size:13px}.transfer-status[data-v-b87eef7b]{color:#8f9aaa;font-size:12px}.transfer-progress[data-v-b87eef7b]{height:6px;border-radius:999px;overflow:hidden;background:#252d39}.transfer-progress div[data-v-b87eef7b]{height:100%;background:#7cc7a7;transition:width .12s linear}.transfer-item button[data-v-b87eef7b]{width:24px;height:24px;border:0;color:#8f9aaa;background:transparent;cursor:pointer}@media (max-width: 820px){.fm-header[data-v-b87eef7b]{align-items:stretch;flex-direction:column;padding:12px}.fm-title-block p[data-v-b87eef7b]{max-width:84vw}.fm-device-panel[data-v-b87eef7b]{display:grid;grid-template-columns:minmax(0,1fr) auto}.device-select[data-v-b87eef7b]{min-width:0;width:100%}.toolbar[data-v-b87eef7b]{padding:10px 12px;gap:6px;flex-wrap:wrap}.path-box[data-v-b87eef7b]{order:2;flex-basis:100%}.upload-btn[data-v-b87eef7b]{width:38px;padding:0}.upload-btn span[data-v-b87eef7b]{display:none}.selection-bar.visible[data-v-b87eef7b]{align-items:stretch;flex-direction:column;padding:10px 12px}.selection-actions[data-v-b87eef7b]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.selection-actions button[data-v-b87eef7b]{min-width:0;padding:0 6px}.list-head[data-v-b87eef7b]{display:none}.file-list[data-v-b87eef7b]{padding:8px}.file-row[data-v-b87eef7b]{grid-template-columns:36px minmax(0,1fr);grid-template-areas:"check primary" "check meta";align-items:center;min-height:72px;margin-bottom:8px;border:1px solid #252d39;border-radius:8px;background:#111720}.file-row .check-cell[data-v-b87eef7b]{grid-area:check}.file-primary[data-v-b87eef7b]{grid-area:primary;padding-right:10px}.file-size[data-v-b87eef7b]{grid-area:meta;padding-left:46px}.file-date[data-v-b87eef7b],.file-path[data-v-b87eef7b]{display:none}.transfer-item[data-v-b87eef7b]{grid-template-columns:minmax(0,1fr) 80px 24px}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.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{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.device-console[data-v-5ec17393]{display:flex;flex-direction:column;width:100%;flex:1;background:#0f0f1a;color:#f0f6fc;border-radius:12px 12px 0 0;overflow:hidden;box-shadow:inset 0 0 20px #ffffff05,0 -8px 32px #00000080;border-top:1px solid rgba(255,255,255,.08);position:relative}.console-resizer[data-v-5ec17393]{position:absolute;top:0;left:0;width:100%;height:6px;cursor:ns-resize;z-index:100;background:transparent;transition:background .2s}.console-resizer[data-v-5ec17393]:hover{background:#58a6ff73}.console-tabs-bar[data-v-5ec17393]{display:flex;justify-content:space-between;align-items:center;background:#161b22;border-bottom:1px solid rgba(255,255,255,.08);padding:0 16px;flex-shrink:0;-webkit-user-select:none;user-select:none}.console-right-tools[data-v-5ec17393]{display:flex;align-items:center;gap:12px}.console-close-btn[data-v-5ec17393]{background:none;border:none;color:#8b949e;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.console-close-btn[data-v-5ec17393]:hover{color:#f85149;background:#f8514926}.console-close-btn svg[data-v-5ec17393]{width:16px;height:16px}.tabs-group[data-v-5ec17393]{display:flex;gap:4px}.tabs-group button[data-v-5ec17393]{background:none;border:none;color:#8b949e;padding:14px 16px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;border-bottom:2px solid transparent;transition:all .2s ease}.tabs-group button.active[data-v-5ec17393]{color:#58a6ff;border-bottom-color:#58a6ff;background:#58a6ff0f}.tabs-group button[data-v-5ec17393]:hover:not(.active){color:#c9d1d9;background:#ffffff08}.tab-icon[data-v-5ec17393]{width:16px;height:16px}.beta-badge[data-v-5ec17393]{background:#e9456033;color:#e94560;font-size:9px;padding:1px 4px;border-radius:4px;border:1px solid rgba(233,69,96,.3);margin-left:2px}.console-device-badge[data-v-5ec17393]{display:flex;align-items:center;gap:8px;background:#0000004d;padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.05);font-family:monospace;font-size:12px}.status-indicator[data-v-5ec17393]{width:8px;height:8px;border-radius:50%;background:#8b949e}.status-indicator.connected[data-v-5ec17393]{background:#3fb950;box-shadow:0 0 8px #3fb95099}.status-indicator.connecting[data-v-5ec17393]{background:#dbb32d;animation:pulse-5ec17393 1s infinite alternate}.status-indicator.error[data-v-5ec17393]{background:#f85149;box-shadow:0 0 8px #f8514999}@keyframes pulse-5ec17393{0%{opacity:.4}to{opacity:1}}.console-tab-content[data-v-5ec17393]{flex:1;overflow:hidden;display:flex;position:relative;background:#000}.shell-tab-panel[data-v-5ec17393]{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden}.console-history[data-v-5ec17393]{flex:1;overflow-y:auto;padding:16px;font-family:Fira Code,Courier New,monospace;font-size:12px;background:#06060c;line-height:1.5}.console-empty[data-v-5ec17393]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:70%;color:#44445c;gap:12px}.empty-icon[data-v-5ec17393]{width:40px;height:40px}.log-item[data-v-5ec17393]{margin-bottom:12px;animation:fadeIn .2s ease-out}.log-cmd[data-v-5ec17393]{color:#58a6ff;font-weight:700}.log-out[data-v-5ec17393]{white-space:pre-wrap;word-break:break-all;margin:4px 0 0;color:#c9d1d9}.log-item.error .log-out[data-v-5ec17393]{color:#f55;background:#ff55550d;padding:4px 8px;border-radius:4px}.log-item.success .log-out[data-v-5ec17393]{color:#50fa7b}.console-shortcuts[data-v-5ec17393]{display:flex;padding:8px 16px;gap:8px;background:#161b22;overflow-x:auto;border-top:1px solid rgba(255,255,255,.06)}.console-shortcuts button[data-v-5ec17393]{background:#21262d;border:1px solid rgba(255,255,255,.08);color:#8b949e;padding:5px 12px;border-radius:6px;font-size:11px;white-space:nowrap;cursor:pointer;transition:all .2s ease}.console-shortcuts button[data-v-5ec17393]:hover{background:#30363d;color:#f0f6fc;border-color:#8b949e}.console-input-group[data-v-5ec17393]{display:flex;padding:12px 16px;gap:8px;background:#161b22;border-top:1px solid rgba(255,255,255,.08)}.cmd-input[data-v-5ec17393]{flex:1;background:#0d1117;border:1px solid rgba(255,255,255,.12);color:#fff;padding:8px 12px;border-radius:6px;outline:none;font-size:13px}.cmd-input[data-v-5ec17393]:focus{border-color:#58a6ff;box-shadow:0 0 8px #58a6ff33}.send-btn[data-v-5ec17393]{background:#58a6ff;color:#fff;border:none;padding:0 18px;border-radius:6px;font-weight:600;cursor:pointer;font-size:13px;transition:background .2s}.send-btn[data-v-5ec17393]:hover:not(:disabled){background:#1f85ff}.send-btn[data-v-5ec17393]:disabled{opacity:.5;cursor:not-allowed}.adb-tab-panel[data-v-5ec17393]{flex:1;height:100%;display:flex;flex-direction:column}.adb-placeholder[data-v-5ec17393]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;color:#8b949e;background:#0c0c14}.adb-icon[data-v-5ec17393]{width:64px;height:64px;color:#58a6ff;margin-bottom:16px;opacity:.7}.adb-placeholder h3[data-v-5ec17393]{color:#f0f6fc;font-size:16px;margin-bottom:8px}.adb-placeholder p[data-v-5ec17393]{font-size:13px;max-width:420px;margin-bottom:20px;line-height:1.6}.adb-connect-btn[data-v-5ec17393]{background:#58a6ff;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s}.adb-connect-btn[data-v-5ec17393]:hover:not(:disabled){background:#1f85ff}.adb-connect-btn[data-v-5ec17393]:disabled{opacity:.4;cursor:not-allowed}.xterm-view-container[data-v-5ec17393]{flex:1;width:100%;height:0;min-height:0;padding:12px;box-sizing:border-box;background:#000}.ai-tab-panel[data-v-5ec17393]{flex:1;display:flex;height:100%;overflow:hidden;background:#0c0c14}.ai-skills-sidebar[data-v-5ec17393]{width:200px;background:#121221;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header[data-v-5ec17393]{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-header h4[data-v-5ec17393]{font-size:12px;font-weight:600;color:#8b949e;margin:0}.add-skill-btn[data-v-5ec17393]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#8b949e;width:20px;height:20px;border-radius:4px;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer}.add-skill-btn[data-v-5ec17393]:hover{background:#58a6ff1a;color:#58a6ff;border-color:#58a6ff}.skills-list[data-v-5ec17393]{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.skill-item[data-v-5ec17393]{background:#1c1c2e;border:1px solid rgba(255,255,255,.04);border-radius:8px;padding:8px 10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;position:relative;transition:all .2s;width:100%}.skill-item[data-v-5ec17393]:hover:not(:disabled){border-color:#58a6ff;background:#58a6ff0d;transform:translateY(-1px)}.skill-item[data-v-5ec17393]:disabled{opacity:.5;cursor:not-allowed}.skill-name[data-v-5ec17393]{font-size:11px;font-weight:700;color:#f0f6fc;margin-bottom:2px}.skill-desc[data-v-5ec17393]{font-size:9px;color:#8b949e;line-height:1.3}.skill-delete[data-v-5ec17393]{position:absolute;top:4px;right:6px;color:#f85149;font-size:14px;opacity:.6;cursor:pointer;transition:opacity .2s}.skill-delete[data-v-5ec17393]:hover{opacity:1}.ai-main-chat[data-v-5ec17393]{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.ai-config-header[data-v-5ec17393]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#121221;border-bottom:1px solid rgba(255,255,255,.05);font-size:11px;color:#8b949e;flex-shrink:0}.ai-settings-toggle[data-v-5ec17393]{background:none;border:none;color:#8b949e;font-size:11px;cursor:pointer;display:flex;align-items:center;gap:6px}.ai-settings-toggle[data-v-5ec17393]:hover{color:#f0f6fc}.ai-settings-toggle .icon[data-v-5ec17393]{width:12px;height:12px}.ai-model-badge[data-v-5ec17393]{background:#58a6ff1a;color:#58a6ff;padding:2px 6px;border-radius:4px;font-family:monospace}.ai-settings-panel[data-v-5ec17393]{background:#161b22;border-bottom:1px solid rgba(255,255,255,.08);padding:12px 16px;display:flex;flex-direction:column;gap:8px;z-index:10;box-shadow:0 4px 16px #0006}.form-row[data-v-5ec17393]{display:flex;align-items:center;gap:12px}.form-row label[data-v-5ec17393]{width:110px;font-size:12px;color:#8b949e;text-align:right}.form-row input[data-v-5ec17393]{flex:1;background:#0d1117;border:1px solid rgba(255,255,255,.12);color:#fff;padding:6px 10px;border-radius:4px;font-size:12px;outline:none}.password-input-wrapper[data-v-5ec17393]{position:relative;flex:1;display:flex;align-items:center}.password-input-wrapper input[data-v-5ec17393]{width:100%;padding-right:32px}.eye-toggle-btn[data-v-5ec17393]{position:absolute;right:8px;background:transparent;border:none;color:#8b949e;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s;outline:none}.eye-toggle-btn[data-v-5ec17393]:hover{color:#fff}.eye-toggle-btn .icon[data-v-5ec17393]{width:15px;height:15px}.form-actions[data-v-5ec17393]{display:flex;justify-content:flex-end}.save-settings-btn[data-v-5ec17393]{background:#3fb950;color:#fff;border:none;padding:5px 14px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer}.save-settings-btn[data-v-5ec17393]:hover{background:#2ea043}.ai-trace-panel[data-v-5ec17393]{background:#09090f;border-bottom:1px solid rgba(255,255,255,.05);max-height:120px;overflow-y:auto;padding:8px 16px;display:flex;flex-direction:column;font-family:monospace;font-size:10px}.trace-header[data-v-5ec17393]{display:flex;justify-content:space-between;align-items:center;color:#8b949e;margin-bottom:4px;border-bottom:1px dashed rgba(255,255,255,.05);padding-bottom:4px}.clear-trace-btn[data-v-5ec17393]{background:none;border:none;color:#f85149;cursor:pointer;font-size:9px}.trace-log-line[data-v-5ec17393]{display:flex;gap:8px;line-height:1.4}.trace-time[data-v-5ec17393]{color:#44445c;flex-shrink:0}.trace-text.system[data-v-5ec17393]{color:#8b949e}.trace-text.info[data-v-5ec17393]{color:#58a6ff}.trace-text.tool[data-v-5ec17393]{color:#e94560;font-weight:700}.trace-text.success[data-v-5ec17393]{color:#50fa7b}.trace-text.error[data-v-5ec17393]{color:#f55}.trace-text.warning[data-v-5ec17393]{color:#ffb86c}.ai-chat-history[data-v-5ec17393]{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;background:#07070d}.chat-empty[data-v-5ec17393]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:90%;text-align:center;color:#8b949e}.chat-empty h3[data-v-5ec17393]{color:#f0f6fc;font-size:16px;margin-bottom:6px}.chat-empty p[data-v-5ec17393]{font-size:12px;line-height:1.6;max-width:440px}.chat-bubble-wrapper[data-v-5ec17393]{display:flex;width:100%}.chat-bubble-wrapper.user[data-v-5ec17393]{justify-content:flex-end}.chat-bubble-wrapper.assistant[data-v-5ec17393]{justify-content:flex-start}.chat-bubble[data-v-5ec17393]{max-width:85%;border-radius:12px;padding:10px 14px;box-shadow:0 4px 12px #00000026;position:relative}.chat-bubble-wrapper.user .chat-bubble[data-v-5ec17393]{background:#1f6feb;color:#fff;border-bottom-right-radius:2px}.chat-bubble-wrapper.assistant .chat-bubble[data-v-5ec17393]{background:#161b22;color:#c9d1d9;border:1px solid rgba(255,255,255,.08);border-bottom-left-radius:2px}.bubble-header[data-v-5ec17393]{font-size:9px;color:#ffffff80;margin-bottom:4px;font-weight:700}.chat-bubble-wrapper.user .bubble-header[data-v-5ec17393]{text-align:right}.bubble-content[data-v-5ec17393]{font-size:12.5px;line-height:1.5}.formatted-text[data-v-5ec17393]{white-space:pre-wrap;word-break:break-all;font-family:inherit;margin:0}.tool-calls-display[data-v-5ec17393]{display:flex;flex-direction:column;gap:4px;margin-top:8px;border-top:1px dashed rgba(255,255,255,.06);padding-top:6px}.tool-badge[data-v-5ec17393]{font-size:10px;color:#ffb86c;background:#ffb86c14;padding:3px 8px;border-radius:4px;font-family:monospace}.loading-state .chat-bubble[data-v-5ec17393]{background:#161b22;display:flex;flex-direction:column;gap:6px;align-items:center;padding:12px 20px}.loading-dots[data-v-5ec17393]{display:flex;gap:4px}.loading-dots span[data-v-5ec17393]{width:6px;height:6px;background:#58a6ff;border-radius:50%;animation:dot-bounce-5ec17393 1.4s infinite ease-in-out both}.loading-dots span[data-v-5ec17393]:nth-child(1){animation-delay:-.32s}.loading-dots span[data-v-5ec17393]:nth-child(2){animation-delay:-.16s}@keyframes dot-bounce-5ec17393{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.loading-tip[data-v-5ec17393]{font-size:9px;color:#8b949e}.ai-input-group[data-v-5ec17393]{display:flex;padding:12px 16px;gap:8px;background:#121221;border-top:1px solid rgba(255,255,255,.06)}.ai-chat-input[data-v-5ec17393]{flex:1;background:#0d1117;border:1px solid rgba(255,255,255,.12);color:#fff;padding:8px 12px;border-radius:6px;outline:none;font-size:13px;resize:none;font-family:inherit}.ai-chat-input[data-v-5ec17393]:focus{border-color:#58a6ff}.ai-send-btn[data-v-5ec17393]{background:#58a6ff;color:#fff;border:none;padding:0 16px;border-radius:6px;font-weight:700;cursor:pointer;font-size:13px;transition:background .2s;align-self:flex-end;height:38px}.ai-send-btn[data-v-5ec17393]:hover:not(:disabled){background:#1f85ff}.ai-send-btn[data-v-5ec17393]:disabled{opacity:.5;cursor:not-allowed}.slide-enter-active[data-v-5ec17393],.slide-leave-active[data-v-5ec17393]{transition:all .2s ease-out}.slide-enter-from[data-v-5ec17393],.slide-leave-to[data-v-5ec17393]{transform:translateY(-10px);opacity:0}@media (max-width: 768px){.ai-tab-panel[data-v-5ec17393]{flex-direction:column}.ai-skills-sidebar[data-v-5ec17393]{width:100%;height:110px;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.skills-list[data-v-5ec17393]{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:6px;height:76px}.skill-item[data-v-5ec17393]{width:140px;flex-shrink:0}}.device-selector-dropdown[data-v-5ec17393]{background:#21262d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#c9d1d9;font-family:monospace;font-size:12px;font-weight:600;cursor:pointer;outline:none;padding:4px 8px;transition:border-color .2s}.device-selector-dropdown[data-v-5ec17393]:hover{border-color:#58a6ff}.device-selector-dropdown option[data-v-5ec17393]{background:#161b22;color:#c9d1d9}.device-console.is-maximized[data-v-5ec17393]{position:fixed;top:0;left:0;width:100vw!important;height:100vh!important;z-index:2100;border-radius:0;border-top:none}.console-tool-btn[data-v-5ec17393]{background:none;border:none;color:#8b949e;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.console-tool-btn[data-v-5ec17393]:hover{color:#58a6ff;background:#58a6ff26}.console-tool-btn svg[data-v-5ec17393]{width:15px;height:15px}.adb-sessions-bar[data-v-5ec17393]{display:flex;justify-content:space-between;align-items:center;background:#0d1117;border-bottom:1px solid rgba(255,255,255,.05);padding:0 12px;height:36px;flex-shrink:0;-webkit-user-select:none;user-select:none}.adb-tabs-group[data-v-5ec17393]{display:flex;align-items:center;gap:4px;height:100%}.adb-session-tab[data-v-5ec17393]{background:none;border:none;color:#8b949e;padding:0 12px;height:28px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;border-radius:4px;transition:all .2s ease}.adb-session-tab[data-v-5ec17393]:hover{color:#c9d1d9;background:#ffffff08}.adb-session-tab.active[data-v-5ec17393]{color:#58a6ff;background:#58a6ff1a;font-weight:600}.tab-status-dot[data-v-5ec17393]{width:6px;height:6px;border-radius:50%;background:#8b949e}.tab-status-dot.connected[data-v-5ec17393]{background:#3fb950;box-shadow:0 0 8px #3fb95080}.close-sess-btn[data-v-5ec17393]{font-size:14px;line-height:1;color:#8b949e;transition:color .2s;padding:2px;border-radius:50%}.close-sess-btn[data-v-5ec17393]:hover{color:#f85149;background:#f8514926}.add-sess-btn[data-v-5ec17393]{background:none;border:1px dashed rgba(255,255,255,.15);color:#8b949e;width:22px;height:22px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;padding:0}.add-sess-btn[data-v-5ec17393]:hover:not(:disabled){color:#58a6ff;border-color:#58a6ff;background:#58a6ff0d}.add-sess-btn[data-v-5ec17393]:disabled{opacity:.3;cursor:not-allowed}.max-sess-tip[data-v-5ec17393]{font-size:11px;color:#484f58}.batch-shell-tab-panel[data-v-5ec17393]{display:flex;flex-direction:column;height:100%;padding:16px;box-sizing:border-box;overflow:hidden}.batch-shell-devices-selector[data-v-5ec17393]{display:flex;align-items:center;gap:10px}.shell-targets-bar[data-v-5ec17393]{display:flex;flex-direction:column;gap:8px;background:#161b22;border-top:1px solid #30363d;border-bottom:1px solid #30363d;padding:8px 16px;box-sizing:border-box}.targets-control-row[data-v-5ec17393]{display:flex;align-items:center;flex-wrap:wrap;gap:16px;width:100%}.select-all-check[data-v-5ec17393]{display:inline-flex;align-items:center;font-size:12px;color:#c9d1d9;cursor:pointer;-webkit-user-select:none;user-select:none}.select-all-check input[data-v-5ec17393]{margin-right:6px;cursor:pointer}.tag-filters[data-v-5ec17393]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tag-filter-label[data-v-5ec17393]{font-size:12px;color:#8b949e}.tag-filter-btn[data-v-5ec17393]{padding:2px 8px;font-size:11px;border-radius:12px;border:1px solid;cursor:pointer;transition:all .2s ease;outline:none;font-weight:500;background:transparent}.tag-filter-btn[data-v-5ec17393]:hover{filter:brightness(1.2)}.shell-targets-bar .label[data-v-5ec17393]{font-size:12px;font-weight:600;color:#8b949e}.shell-targets-bar .targets-list[data-v-5ec17393]{display:flex;align-items:center;gap:12px}.target-check[data-v-5ec17393]{display:flex;align-items:center;gap:6px;font-size:12px;color:#c9d1d9;cursor:pointer;-webkit-user-select:none;user-select:none}.target-check.current[data-v-5ec17393]{opacity:.8;cursor:default}.target-check input[type=checkbox][data-v-5ec17393]{width:13px;height:13px;accent-color:#58a6ff;cursor:pointer}.target-check.current input[type=checkbox][data-v-5ec17393]{cursor:default}.log-item.batch_result[data-v-5ec17393]{border-left:2px solid #58a6ff;padding-left:8px;margin:12px 0;background:#58a6ff05}.batch-outputs-list[data-v-5ec17393]{display:flex;flex-direction:column;gap:10px;margin-top:8px}.batch-output-row[data-v-5ec17393]{background:#161b22;border:1px solid #30363d;border-radius:4px;padding:8px 12px;display:flex;flex-direction:column;gap:6px}.batch-output-row.running[data-v-5ec17393]{border-color:#d2992266}.batch-output-row.success[data-v-5ec17393]{border-color:#2ea04366}.batch-output-row.failed[data-v-5ec17393]{border-color:#f8514966}.batch-output-row .row-header[data-v-5ec17393]{display:flex;align-items:center;gap:8px}.batch-output-row .dev-tag[data-v-5ec17393]{font-size:12px;font-weight:600;color:#c9d1d9}.batch-output-row .status-tag[data-v-5ec17393]{font-size:11px;padding:1px 6px;border-radius:10px;font-weight:600}.batch-output-row .status-tag.running[data-v-5ec17393]{background:#d2992226;color:#d29922}.batch-output-row .status-tag.success[data-v-5ec17393]{background:#2ea04326;color:#56d364}.batch-output-row .status-tag.failed[data-v-5ec17393]{background:#f8514926;color:#ff7b72}.batch-output-row .dev-output[data-v-5ec17393]{margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:1.5;color:#c9d1d9;white-space:pre-wrap;word-break:break-all;background:#0d1117;padding:6px 10px;border-radius:4px}[data-v-5ec17393] .xterm-viewport,[data-v-5ec17393] .xterm-screen{padding-bottom:32px!important}.console-shortcuts button.system-btn[data-v-5ec17393]{background:#58a6ff1a;color:#58a6ff;border-color:#58a6ff33}.console-shortcuts button.system-btn[data-v-5ec17393]:hover{background:#58a6ff33;color:#58a6ff;border-color:#58a6ff}.console-shortcuts button.edit-btn[data-v-5ec17393]{margin-left:auto}.shortcut-modal-overlay[data-v-5ec17393]{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.shortcut-modal-card[data-v-5ec17393]{width:90%;max-width:600px;background:#161b22;border:1px solid #30363d;border-radius:8px;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;max-height:80%;animation:modalEnter .2s cubic-bezier(.16,1,.3,1) forwards}.shortcut-modal-card .modal-header[data-v-5ec17393]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #30363d}.shortcut-modal-card .modal-header h3[data-v-5ec17393]{margin:0;font-size:15px;font-weight:600;color:#f0f6fc}.shortcut-modal-card .modal-header .close-btn[data-v-5ec17393]{background:transparent;border:none;color:#8b949e;font-size:16px;cursor:pointer;padding:4px}.shortcut-modal-card .modal-header .close-btn[data-v-5ec17393]:hover{color:#f0f6fc}.shortcut-modal-card .modal-body[data-v-5ec17393]{padding:16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:12px}.shortcut-list[data-v-5ec17393]{display:flex;flex-direction:column;gap:10px}.shortcut-item-row[data-v-5ec17393]{display:flex;align-items:flex-end;gap:10px;background:#0d1117;padding:10px;border-radius:6px;border:1px solid #21262d}.shortcut-item-row .input-col[data-v-5ec17393]{display:flex;flex-direction:column;gap:4px}.shortcut-item-row .input-col label[data-v-5ec17393]{font-size:11px;color:#8b949e}.shortcut-item-row .input-col input[data-v-5ec17393]{background:#161b22;border:1px solid #30363d;border-radius:4px;color:#c9d1d9;padding:6px 10px;font-size:12px;outline:none}.shortcut-item-row .input-col input[data-v-5ec17393]:focus{border-color:#58a6ff}.shortcut-item-row .name-col[data-v-5ec17393]{flex:1}.shortcut-item-row .cmd-col[data-v-5ec17393]{flex:2}.shortcut-item-row .delete-btn[data-v-5ec17393]{background:transparent;border:none;color:#f85149;cursor:pointer;padding:8px;font-size:14px}.shortcut-item-row .delete-btn[data-v-5ec17393]:hover{opacity:.8}.no-shortcuts[data-v-5ec17393]{text-align:center;color:#8b949e;padding:20px 0;font-size:12px}.add-row-btn[data-v-5ec17393]{background:transparent;border:1px dashed #30363d;color:#58a6ff;padding:8px;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s ease;text-align:center}.add-row-btn[data-v-5ec17393]:hover{background:#58a6ff0d;border-color:#58a6ff}.shortcut-modal-card .modal-footer[data-v-5ec17393]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid #30363d;background:#0d1117;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.shortcut-modal-card .modal-footer .btn[data-v-5ec17393]{padding:6px 12px;font-size:12px;border-radius:4px;cursor:pointer;border:1px solid transparent}.shortcut-modal-card .modal-footer .btn-reset[data-v-5ec17393]{background:transparent;border-color:#30363d;color:#f85149}.shortcut-modal-card .modal-footer .btn-reset[data-v-5ec17393]:hover{background:#f851490d}.shortcut-modal-card .modal-footer .footer-actions[data-v-5ec17393]{display:flex;gap:8px}.shortcut-modal-card .modal-footer .btn-cancel[data-v-5ec17393]{background:transparent;border-color:#30363d;color:#c9d1d9}.shortcut-modal-card .modal-footer .btn-cancel[data-v-5ec17393]:hover{background:#ffffff0d}.shortcut-modal-card .modal-footer .btn-save[data-v-5ec17393]{background:#238636;color:#fff}.shortcut-modal-card .modal-footer .btn-save[data-v-5ec17393]:hover{background:#2ea043}.dashboard-container[data-v-3a2deb7a]{padding:24px;background:var(--bg-main, #0f172a);min-height:calc(100vh - 120px);color:#f8fafc;display:flex;flex-direction:column;gap:24px;overflow-y:auto}.summary-cards[data-v-3a2deb7a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.summary-card[data-v-3a2deb7a]{background:#1e293b80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:16px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.summary-card[data-v-3a2deb7a]:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,transparent 100%);opacity:0;transition:opacity .2s ease}.summary-card[data-v-3a2deb7a]:hover{transform:translateY(-2px);border-color:#ffffff1f;box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0000004d}.summary-card[data-v-3a2deb7a]:hover:before{opacity:1}.summary-card.active[data-v-3a2deb7a]{background:#1e293bd9;border-color:#6366f180;box-shadow:0 0 15px #6366f126}.card-icon[data-v-3a2deb7a]{width:44px;height:44px;border-radius:8px;background:#ffffff0a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-info[data-v-3a2deb7a]{display:flex;flex-direction:column;flex-grow:1}.card-label[data-v-3a2deb7a]{font-size:13px;color:#94a3b8;font-weight:500}.card-value[data-v-3a2deb7a]{font-size:20px;font-weight:700;color:#f1f5f9;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.card-stats[data-v-3a2deb7a]{font-size:11px;color:#64748b;border-left:1px solid rgba(255,255,255,.08);padding-left:12px}.stat-item[data-v-3a2deb7a]{display:flex;flex-direction:column;align-items:flex-end}.stat-lbl[data-v-3a2deb7a]{color:#64748b;margin-bottom:2px}.stat-val[data-v-3a2deb7a]{font-weight:600;color:#94a3b8}.stat-val.warning[data-v-3a2deb7a]{color:#f59e0b}.global-bar[data-v-3a2deb7a]{background:#0f172a66;border:1px solid rgba(255,255,255,.03);border-radius:8px;padding:12px 20px;display:flex;gap:32px;font-size:13px}.bar-item[data-v-3a2deb7a]{display:flex;align-items:center;gap:8px}.bar-label[data-v-3a2deb7a]{color:#64748b}.bar-value[data-v-3a2deb7a]{font-weight:600;color:#cbd5e1}.bar-value.accent[data-v-3a2deb7a]{color:#6366f1}.text-warning[data-v-3a2deb7a]{color:#f59e0b!important}.chart-section[data-v-3a2deb7a]{background:#1e293b66;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:20px}.chart-header[data-v-3a2deb7a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}.title-area[data-v-3a2deb7a]{display:flex;align-items:center;gap:8px}.window-select[data-v-3a2deb7a]{background:#1e293b99;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#cbd5e1;font-size:12px;padding:4px 8px;outline:none;cursor:pointer;transition:all .2s ease}.window-select[data-v-3a2deb7a]:hover{background:#1e293bd9;border-color:#6366f166}.chart-title[data-v-3a2deb7a]{font-size:15px;font-weight:600;color:#cbd5e1}.chart-subtitle[data-v-3a2deb7a]{font-size:12px;color:#64748b}.chart-wrapper[data-v-3a2deb7a]{height:280px;position:relative}.realtime-chart[data-v-3a2deb7a]{width:100%;height:100%}.matrix-section[data-v-3a2deb7a]{background:#1e293b4d;border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:20px}.matrix-header[data-v-3a2deb7a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.matrix-title[data-v-3a2deb7a]{font-size:15px;font-weight:600;color:#cbd5e1}.legend-group[data-v-3a2deb7a]{display:flex;gap:16px;font-size:12px;color:#94a3b8}.legend-item[data-v-3a2deb7a]{display:flex;align-items:center;gap:6px}.dot[data-v-3a2deb7a]{width:8px;height:8px;border-radius:50%}.dot.normal[data-v-3a2deb7a]{background:#10b981}.dot.alert-yellow[data-v-3a2deb7a]{background:#f59e0b}.dot.alert-red[data-v-3a2deb7a]{background:#ef4444}.dot.alert-offline[data-v-3a2deb7a]{background:#64748b}.matrix-grid[data-v-3a2deb7a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.device-tile[data-v-3a2deb7a]{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:12px;cursor:pointer;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none}.device-tile[data-v-3a2deb7a]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.device-tile.selected[data-v-3a2deb7a]{border-color:#6366f1;box-shadow:0 0 10px #6366f133}.tile-header[data-v-3a2deb7a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tile-id[data-v-3a2deb7a]{font-size:12px;font-weight:500;color:#94a3b8;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-checkbox[data-v-3a2deb7a]{width:14px;height:14px;background:#6366f1;color:#fff;border-radius:3px;display:flex;align-items:center;justify-content:center}.tile-checkbox svg[data-v-3a2deb7a]{width:10px;height:10px}.tile-body[data-v-3a2deb7a]{display:flex;justify-content:center;align-items:center;padding:6px 0}.tile-val[data-v-3a2deb7a]{font-size:18px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.status-green[data-v-3a2deb7a]{background:#10b98114;border-color:#10b98133;color:#a7f3d0}.status-green[data-v-3a2deb7a]:hover{border-color:#10b98166}.status-yellow[data-v-3a2deb7a]{background:#f59e0b1a;border-color:#f59e0b40;color:#fde68a;animation:pulse-yellow-3a2deb7a 2s infinite ease-in-out}.status-yellow[data-v-3a2deb7a]:hover{border-color:#f59e0b73}.status-red[data-v-3a2deb7a]{background:#ef44441f;border-color:#ef44444d;color:#fca5a5;animation:pulse-red-3a2deb7a 2s infinite ease-in-out}.status-red[data-v-3a2deb7a]:hover{border-color:#ef444480}.status-none[data-v-3a2deb7a]{background:#ffffff05;border-color:#ffffff0d;color:#64748b}.no-devices-placeholder[data-v-3a2deb7a]{grid-column:1 / -1;padding:40px;text-align:center;color:#64748b;font-size:13px;background:#0000001a;border-radius:8px;border:1px dashed rgba(255,255,255,.04)}@keyframes pulse-yellow-3a2deb7a{0%,to{box-shadow:0 0 #f59e0b00}50%{box-shadow:0 0 6px #f59e0b26}}@keyframes pulse-red-3a2deb7a{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 8px #ef444440}}.status-offline[data-v-3a2deb7a]{background:#94a3b808!important;border:1px dashed rgba(148,163,184,.2)!important;color:#64748b!important}.status-offline[data-v-3a2deb7a]:hover{border-color:#94a3b866!important;background:#94a3b814!important;transform:translateY(-1px)}.tile-offline-badge[data-v-3a2deb7a]{font-size:10px;background:#94a3b81f;color:#94a3b8;padding:1px 4px;border-radius:3px;font-weight:600}.login-container[data-v-657b0d58]{position:relative;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background:#0f172a;overflow:hidden;font-family:Outfit,Inter,-apple-system,sans-serif}.background-decor[data-v-657b0d58]{position:absolute;top:-10%;left:-10%;width:50vw;height:50vw;border-radius:50%;background:radial-gradient(circle,#00f2fe26,#4facfe00 70%);filter:blur(80px);pointer-events:none}.background-decor-2[data-v-657b0d58]{position:absolute;bottom:-10%;right:-10%;width:50vw;height:50vw;border-radius:50%;background:radial-gradient(circle,#ec48991a,#ec489900 70%);filter:blur(80px);pointer-events:none}.animate-bg[data-v-657b0d58]{animation:floatBG-657b0d58 20s infinite alternate ease-in-out}.animate-bg-2[data-v-657b0d58]{animation:floatBG-2-657b0d58 25s infinite alternate ease-in-out}@keyframes floatBG-657b0d58{0%{transform:translate(0) scale(1)}to{transform:translate(10vw,5vh) scale(1.1)}}@keyframes floatBG-2-657b0d58{0%{transform:translate(0) scale(1)}to{transform:translate(-8vw,-8vh) scale(1.15)}}.glass-card[data-v-657b0d58]{position:relative;width:420px;padding:40px;background:#1e293bb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:24px;box-shadow:0 20px 50px #0006;z-index:10;box-sizing:border-box}@media (max-width: 480px){.glass-card[data-v-657b0d58]{width:90%;padding:30px 20px}}.brand[data-v-657b0d58]{text-align:center;margin-bottom:30px}.brand-logo[data-v-657b0d58]{width:60px;height:60px;margin:0 auto 15px;filter:drop-shadow(0 4px 10px rgba(0,242,254,.3))}.brand-logo svg[data-v-657b0d58]{width:100%;height:100%}.brand h1[data-v-657b0d58]{font-size:24px;font-weight:700;color:#f8fafc;margin:0 0 6px;letter-spacing:1px}.brand .subtitle[data-v-657b0d58]{font-size:12px;color:#94a3b8;margin:0;text-transform:uppercase;letter-spacing:1.5px}.tab-header[data-v-657b0d58]{display:flex;background:#0f172a80;border-radius:12px;padding:4px;margin-bottom:30px;border:1px solid rgba(255,255,255,.05)}.tab-btn[data-v-657b0d58]{flex:1;border:none;background:transparent;color:#94a3b8;padding:10px 0;font-size:14px;font-weight:600;cursor:pointer;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.tab-btn.active[data-v-657b0d58]{background:#ffffff14;color:#38bdf8;box-shadow:0 4px 12px #0003}.input-group[data-v-657b0d58]{position:relative;margin-bottom:24px}.input-group input[data-v-657b0d58]{width:100%;padding:12px 0;font-size:15px;color:#f1f5f9;border:none;border-bottom:1px solid #475569;background:transparent;outline:none;transition:border-color .3s;box-sizing:border-box}.input-group label[data-v-657b0d58]{position:absolute;top:12px;left:0;font-size:14px;color:#64748b;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-group input:focus~label[data-v-657b0d58],.input-group input:not(:placeholder-shown)~label[data-v-657b0d58]{top:-12px;font-size:11px;color:#38bdf8}.input-line[data-v-657b0d58]{position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(90deg,#00f2fe,#4facfe);transition:all .3s cubic-bezier(.4,0,.2,1)}.input-group input:focus~.input-line[data-v-657b0d58]{width:100%;left:0}.submit-btn[data-v-657b0d58]{position:relative;width:100%;padding:14px;margin-top:10px;background:linear-gradient(90deg,#38bdf8,#0ea5e9);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #0ea5e94d;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;justify-content:center;align-items:center}.submit-btn[data-v-657b0d58]:hover{filter:brightness(1.1);box-shadow:0 6px 20px #0ea5e973;transform:translateY(-1px)}.submit-btn[data-v-657b0d58]:active{transform:translateY(1px)}.submit-btn[data-v-657b0d58]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-657b0d58]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-657b0d58 .8s infinite linear}@keyframes spin-657b0d58{to{transform:rotate(360deg)}}.alert-box[data-v-657b0d58]{display:flex;align-items:flex-start;padding:12px 16px;border-radius:10px;font-size:13px;line-height:1.4;margin-bottom:20px;animation:slideDown-657b0d58 .3s cubic-bezier(.4,0,.2,1)}.alert-box.error[data-v-657b0d58]{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5}.alert-box.success[data-v-657b0d58]{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#a7f3d0}.alert-box .icon[data-v-657b0d58]{margin-right:8px;font-size:14px}@keyframes slideDown-657b0d58{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-enter-active[data-v-657b0d58],.fade-leave-active[data-v-657b0d58]{transition:opacity .3s}.fade-enter-from[data-v-657b0d58],.fade-leave-to[data-v-657b0d58]{opacity:0}.admin-page-container[data-v-f6903a6e]{display:flex;gap:20px;width:100%;height:100%;box-sizing:border-box;padding:10px;background:#0d1117;color:#c9d1d9}.admin-card[data-v-f6903a6e]{background:#161b22;border:1px solid #30363d;border-radius:16px;padding:24px;box-sizing:border-box;box-shadow:0 8px 30px #0000004d}.user-list-panel[data-v-f6903a6e]{flex:1.6;display:flex;flex-direction:column;min-width:0}.panel-header[data-v-f6903a6e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.header-left[data-v-f6903a6e]{display:flex;align-items:center;gap:12px}.panel-header h2[data-v-f6903a6e],.panel-header h3[data-v-f6903a6e]{margin:0;font-size:18px;font-weight:600;color:#e6edf3}.user-count[data-v-f6903a6e]{font-size:12px;color:#8b949e;background:#ffffff0d;padding:4px 10px;border-radius:20px}.create-user-btn[data-v-f6903a6e]{background:linear-gradient(90deg,#238636,#2ea44f);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #2ea44f26;transition:all .2s}.create-user-btn[data-v-f6903a6e]:hover{filter:brightness(1.1);box-shadow:0 4px 16px #2ea44f4d}.table-wrapper[data-v-f6903a6e]{flex:1;overflow-y:auto;min-height:0}.premium-table[data-v-f6903a6e]{width:100%;border-collapse:collapse;text-align:left}.premium-table th[data-v-f6903a6e]{color:#8b949e;font-weight:600;font-size:13px;padding:12px 10px;border-bottom:1px solid #30363d}.premium-table td[data-v-f6903a6e]{padding:12px 10px;border-bottom:1px solid #21262d;font-size:13.5px}.premium-table tr.selected[data-v-f6903a6e]{background:#58a6ff0a}.premium-table tr[data-v-f6903a6e]:hover{background:#ffffff04}.username-cell[data-v-f6903a6e]{display:flex;align-items:center;gap:10px}.avatar[data-v-f6903a6e]{width:28px;height:28px;border-radius:50%;background:#38bdf8;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;box-shadow:0 3px 8px #38bdf833}.role-badge[data-v-f6903a6e]{font-size:11px;padding:2px 6px;border-radius:12px;font-weight:600}.role-badge.admin[data-v-f6903a6e]{background:#f2c12e1a;color:#f2c12e;border:1px solid rgba(242,193,46,.2)}.role-badge.user[data-v-f6903a6e]{background:#38bdf81a;color:#bae6fd;border:1px solid rgba(56,189,248,.2)}.online-status-wrapper[data-v-f6903a6e]{display:flex;align-items:center;gap:8px}.status-dot[data-v-f6903a6e]{width:8px;height:8px;border-radius:50%;background:#4b5563}.status-dot.online[data-v-f6903a6e]{background:#10b981;box-shadow:0 0 8px #10b981;animation:pulse-f6903a6e 1.5s infinite}.status-text[data-v-f6903a6e]{font-size:12px;color:#8b949e}.device-count[data-v-f6903a6e]{font-weight:600;color:#8b949e}.device-count.clickable[data-v-f6903a6e]{color:#58a6ff;cursor:pointer;text-decoration:underline}.active-devices-wrapper[data-v-f6903a6e]{display:flex;flex-direction:column;gap:4px}.active-dev-tag[data-v-f6903a6e]{display:inline-flex;align-items:center;gap:6px;background:#10b98114;border:1px solid rgba(16,185,129,.2);padding:3px 6px;border-radius:6px;font-size:11.5px}.pulse-icon[data-v-f6903a6e]{width:5px;height:5px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981;animation:pulse-f6903a6e 1.2s infinite}.dev-tag-text[data-v-f6903a6e]{color:#a7f3d0;font-family:monospace}.kick-btn[data-v-f6903a6e]{background:transparent;border:none;color:#ef4444;cursor:pointer;padding:0 2px;font-weight:700;font-size:10px}.kick-btn[data-v-f6903a6e]:hover{color:#f87171}.no-active[data-v-f6903a6e]{color:#4b5563}.note-cell[data-v-f6903a6e]{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-text[data-v-f6903a6e]{color:#8b949e;font-size:12px}.actions-cell[data-v-f6903a6e]{display:flex;gap:6px}.action-btn-mini[data-v-f6903a6e]{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#c9d1d9;width:26px;height:26px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s}.action-btn-mini[data-v-f6903a6e]:hover{background:#ffffff1a;border-color:#fff3}.action-btn-mini.assign[data-v-f6903a6e]{color:#58a6ff;border-color:#58a6ff33;background:#58a6ff0d}.action-btn-mini.assign[data-v-f6903a6e]:hover{background:#58a6ff;color:#fff}.action-btn-mini.delete[data-v-f6903a6e]{color:#f85149;border-color:#f8514933;background:#f851490d}.action-btn-mini.delete[data-v-f6903a6e]:hover{background:#f85149;color:#fff}.assign-panel[data-v-f6903a6e]{flex:1;display:flex;flex-direction:column;min-width:0}.assign-panel.empty[data-v-f6903a6e]{display:flex;align-items:center;justify-content:center;opacity:.35}.hint-content[data-v-f6903a6e]{text-align:center}.hint-icon[data-v-f6903a6e]{font-size:48px;margin-bottom:12px;display:block}.hint-content p[data-v-f6903a6e]{font-size:14px;line-height:1.5;color:#8b949e}.header-title .subtitle[data-v-f6903a6e]{font-size:11px;color:#8b949e;margin:4px 0 0}.target-name[data-v-f6903a6e]{color:#38bdf8;font-weight:700}.close-btn[data-v-f6903a6e]{background:transparent;border:none;color:#8b949e;font-size:18px;cursor:pointer}.close-btn[data-v-f6903a6e]:hover{color:#fff}.assign-body[data-v-f6903a6e]{flex:1;overflow-y:auto;margin-bottom:20px;min-height:0}.search-box[data-v-f6903a6e]{margin-bottom:20px}.search-box input[data-v-f6903a6e]{width:100%;padding:10px 14px;background:#0d1117;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;outline:none;font-size:13px;box-sizing:border-box}.search-box input[data-v-f6903a6e]:focus{border-color:#58a6ff}.list-title[data-v-f6903a6e]{font-size:12px;font-weight:600;color:#8b949e;text-transform:uppercase;margin-bottom:10px}.device-checkbox-wrapper[data-v-f6903a6e]{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;border:1px solid #30363d;background:#0d1117;border-radius:8px;padding:10px}.device-checkbox-item[data-v-f6903a6e]{display:flex;align-items:center;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .2s;box-sizing:border-box}.device-checkbox-item[data-v-f6903a6e]:hover{background:#ffffff08}.device-checkbox-item input[data-v-f6903a6e]{display:none}.checkbox-box[data-v-f6903a6e]{width:16px;height:16px;border:2px solid #475569;border-radius:4px;margin-right:12px;display:inline-block;position:relative;transition:all .2s;flex-shrink:0}.device-checkbox-item.checked .checkbox-box[data-v-f6903a6e]{border-color:#38bdf8;background:#38bdf8}.device-checkbox-item.checked .checkbox-box[data-v-f6903a6e]:after{content:"✓";color:#fff;font-size:11px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dev-info[data-v-f6903a6e]{display:flex;justify-content:space-between;width:100%;font-size:13px}.dev-id[data-v-f6903a6e]{font-weight:600;color:#e6edf3}.dev-status[data-v-f6903a6e]{font-size:11px;color:#10b981}.empty-list[data-v-f6903a6e]{font-size:12px;color:#8b949e;text-align:center;padding:20px}.manual-add-section[data-v-f6903a6e]{margin-top:20px}.input-row[data-v-f6903a6e]{display:flex;gap:10px}.input-row input[data-v-f6903a6e]{flex:1;padding:8px 12px;background:#0d1117;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;outline:none;font-size:13px}.input-row input[data-v-f6903a6e]:focus{border-color:#58a6ff}.add-btn[data-v-f6903a6e]{background:#21262d;border:1px solid #30363d;color:#c9d1d9;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.add-btn[data-v-f6903a6e]:hover{background:#30363d;border-color:#8b949e}.custom-tags-container[data-v-f6903a6e]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.custom-tag[data-v-f6903a6e]{background:#f8514926;border:1px solid rgba(248,81,73,.3);color:#ff7b72;font-size:11px;padding:4px 8px;border-radius:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.remove-tag-btn[data-v-f6903a6e]{background:transparent;border:none;color:inherit;cursor:pointer;padding:0;font-size:10px}.remove-tag-btn[data-v-f6903a6e]:hover{color:#fff}.assign-footer[data-v-f6903a6e]{flex-shrink:0}.save-btn[data-v-f6903a6e]{width:100%;padding:12px;background:linear-gradient(90deg,#38bdf8,#0ea5e9);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #0ea5e933;transition:all .2s;display:flex;align-items:center;justify-content:center}.save-btn[data-v-f6903a6e]:hover{filter:brightness(1.1);box-shadow:0 6px 20px #0ea5e959}.save-btn[data-v-f6903a6e]:disabled{opacity:.6;cursor:not-allowed}.btn-spinner[data-v-f6903a6e]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-f6903a6e .8s infinite linear}.toast-alert[data-v-f6903a6e]{font-size:12px;padding:8px 12px;border-radius:8px;margin-bottom:12px;text-align:center}.toast-alert.success[data-v-f6903a6e]{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#a7f3d0}.toast-alert.error[data-v-f6903a6e]{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5}.modal-overlay[data-v-f6903a6e]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.glass-modal[data-v-f6903a6e]{background:#161b22d9;border:1px solid rgba(255,255,255,.08);border-radius:16px;width:90%;max-width:440px;padding:24px;box-sizing:border-box;box-shadow:0 10px 40px #00000080}.modal-header[data-v-f6903a6e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3[data-v-f6903a6e]{margin:0;font-size:16px;font-weight:600;color:#f0f6fc}.close-modal[data-v-f6903a6e]{background:transparent;border:none;color:#8b949e;font-size:16px;cursor:pointer}.close-modal[data-v-f6903a6e]:hover{color:#fff}.modal-body[data-v-f6903a6e]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-f6903a6e]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-f6903a6e]{font-size:12px;color:#8b949e;font-weight:600}.form-group input[data-v-f6903a6e],.form-group select[data-v-f6903a6e]{padding:10px;background:#0d1117;border:1px solid #30363d;border-radius:8px;color:#c9d1d9;outline:none;font-size:13.5px;box-sizing:border-box;width:100%}.form-group input[data-v-f6903a6e]:focus,.form-group select[data-v-f6903a6e]:focus{border-color:#58a6ff}.modal-tip[data-v-f6903a6e]{font-size:11.5px;color:#ff7b72;margin:4px 0 0;line-height:1.4}.modal-footer[data-v-f6903a6e]{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;align-items:center;flex-wrap:wrap}.modal-error[data-v-f6903a6e]{color:#f85149;font-size:12px;margin-right:auto}.modal-btn[data-v-f6903a6e]{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-sizing:border-box}.modal-btn.cancel[data-v-f6903a6e]{background:#21262d;border:1px solid #30363d;color:#c9d1d9}.modal-btn.cancel[data-v-f6903a6e]:hover{background:#30363d}.modal-btn.submit[data-v-f6903a6e]{background:#238636;border:none;color:#fff}.modal-btn.submit[data-v-f6903a6e]:hover:not(:disabled){background:#2ea44f}.modal-btn.submit.warning[data-v-f6903a6e]{background:#da3633}.modal-btn.submit.warning[data-v-f6903a6e]:hover:not(:disabled){background:#f85149}.modal-btn[data-v-f6903a6e]:disabled{opacity:.5;cursor:not-allowed}@keyframes pulse-f6903a6e{0%{transform:scale(.95);opacity:.5}50%{transform:scale(1.05);opacity:1}to{transform:scale(.95);opacity:.5}}@keyframes spin-f6903a6e{to{transform:rotate(360deg)}}.fade-enter-active[data-v-f6903a6e],.fade-leave-active[data-v-f6903a6e]{transition:opacity .2s ease}.fade-enter-from[data-v-f6903a6e],.fade-leave-to[data-v-f6903a6e]{opacity:0}.slide-enter-active[data-v-f6903a6e],.slide-leave-active[data-v-f6903a6e]{transition:all .3s ease}.slide-enter-from[data-v-f6903a6e],.slide-leave-to[data-v-f6903a6e]{opacity:0;transform:translate(30px)}.batch-control-page[data-v-09ead2f6]{display:flex;height:calc(100vh - 64px);width:100%;background:#0d1117;color:#c9d1d9}.batch-sidebar[data-v-09ead2f6]{width:320px;background:#161b22;border-right:1px solid #30363d;display:flex;flex-direction:column;flex-shrink:0}.sidebar-header[data-v-09ead2f6]{padding:20px;border-bottom:1px solid #30363d}.sidebar-header h3[data-v-09ead2f6]{margin:0;font-size:16px;color:#f0f6fc}.sidebar-header p[data-v-09ead2f6]{margin:5px 0 0;font-size:12px;color:#8b949e}.tag-selector-section[data-v-09ead2f6]{padding:15px 20px;border-bottom:1px solid #30363d}.section-title[data-v-09ead2f6]{font-size:12px;font-weight:600;color:#8b949e;text-transform:uppercase;margin-bottom:10px}.tag-pills[data-v-09ead2f6]{display:flex;flex-wrap:wrap;gap:8px}.tag-pill[data-v-09ead2f6]{background:#21262d;border:1px solid #30363d;border-radius:20px;padding:4px 12px;font-size:11px;color:#c9d1d9;cursor:pointer;transition:all .2s}.tag-pill[data-v-09ead2f6]:hover,.tag-pill.active[data-v-09ead2f6]{background:#388bfd;border-color:#58a6ff;color:#fff}.tag-pill.all.active[data-v-09ead2f6]{background:#238636;border-color:#2ea043}.device-list-section[data-v-09ead2f6]{flex:1;display:flex;flex-direction:column;overflow:hidden}.section-action-bar[data-v-09ead2f6]{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:#21262d;border-bottom:1px solid #30363d}.selected-count[data-v-09ead2f6]{font-size:12px;color:#58a6ff;font-weight:600}.device-list-scroll[data-v-09ead2f6]{flex:1;overflow-y:auto;padding:10px}.device-item-row[data-v-09ead2f6]{display:flex;align-items:center;padding:12px;border-radius:6px;background:#161b22;margin-bottom:8px;cursor:pointer;border:1px solid transparent;transition:all .2s}.device-item-row[data-v-09ead2f6]:hover{background:#21262d}.device-item-row.selected[data-v-09ead2f6]{border-color:#388bfd;background:#1f2937}.device-item-row.is-master[data-v-09ead2f6]{background:#1c2d42;border-color:#58a6ff}.dev-meta[data-v-09ead2f6]{flex:1;margin-left:12px;overflow:hidden}.dev-name[data-v-09ead2f6]{display:block;font-size:14px;font-weight:500;color:#f0f6fc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-tags[data-v-09ead2f6]{display:flex;gap:4px;margin-top:4px}.dev-tag-badge[data-v-09ead2f6]{font-size:10px;background:#30363d;color:#8b949e;padding:1px 5px;border-radius:3px}.set-master-btn[data-v-09ead2f6]{background:#21262d;border:1px solid #30363d;color:#c9d1d9;font-size:11px;padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .2s}.set-master-btn[data-v-09ead2f6]:hover,.set-master-btn.active[data-v-09ead2f6]{background:#238636;border-color:#2ea043;color:#fff}.batch-main-content[data-v-09ead2f6]{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#0d1117}.batch-toolbar[data-v-09ead2f6]{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#161b22;border-bottom:1px solid #30363d}.tab-buttons[data-v-09ead2f6]{display:flex;gap:12px}.tab-btn[data-v-09ead2f6]{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#8b949e;font-size:14px;font-weight:500;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s}.tab-btn[data-v-09ead2f6]:hover{color:#c9d1d9;background:#21262d}.tab-btn.active[data-v-09ead2f6]{color:#fff;background:#388bfd}.tab-icon[data-v-09ead2f6]{width:16px;height:16px;display:inline-block}.tab-icon[data-v-09ead2f6] svg{width:100%;height:100%}.sync-status[data-v-09ead2f6]{display:flex;align-items:center;gap:8px;font-size:13px;color:#3fcf8e;font-weight:500}.pulse-dot[data-v-09ead2f6]{width:8px;height:8px;background:#3fcf8e;border-radius:50%;box-shadow:0 0 #3fcf8e66;animation:pulse-09ead2f6 1.6s infinite}@keyframes pulse-09ead2f6{0%{transform:scale(.95);box-shadow:0 0 #3fcf8eb3}70%{transform:scale(1);box-shadow:0 0 0 6px #3fcf8e00}to{transform:scale(.95);box-shadow:0 0 #3fcf8e00}}.tab-viewport[data-v-09ead2f6]{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}.tab-pane[data-v-09ead2f6]{display:flex;flex-direction:column}.control-pane-layout[data-v-09ead2f6]{flex:1;display:flex;gap:20px;min-height:500px}.master-screen-wrapper[data-v-09ead2f6]{flex:1;display:flex;gap:20px}.screen-container[data-v-09ead2f6]{flex:1;background:#000;border:1px solid #30363d;border-radius:12px;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;cursor:crosshair}.master-video[data-v-09ead2f6]{max-width:100%;max-height:100%;object-fit:contain}.screen-overlay-tip[data-v-09ead2f6]{position:absolute;top:15px;left:15px;background:#0009;padding:5px 12px;border-radius:4px;font-size:12px;color:#8b949e;border:1px solid #30363d;pointer-events:none}.master-control-sidebar[data-v-09ead2f6]{width:240px;background:#161b22;border:1px solid #30363d;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:15px}.master-control-sidebar h4[data-v-09ead2f6]{margin:0;font-size:14px;color:#f0f6fc}.control-grid[data-v-09ead2f6]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.action-btn[data-v-09ead2f6]{background:#21262d;border:1px solid #30363d;color:#c9d1d9;padding:10px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.action-btn[data-v-09ead2f6]:hover{background:#30363d;color:#fff;border-color:#8b949e}.sync-info-box[data-v-09ead2f6]{background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:12px;margin-top:auto}.sync-info-box h5[data-v-09ead2f6]{margin:0 0 8px;font-size:12px;color:#8b949e}.sync-info-box ul[data-v-09ead2f6]{margin:0;padding:0;list-style:none;font-size:12px}.sync-info-box li[data-v-09ead2f6]{margin-bottom:6px;display:flex;justify-content:space-between}.task-form-card[data-v-09ead2f6]{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:24px;max-width:800px;margin:0 auto;width:100%}.task-form-card h4[data-v-09ead2f6]{margin:0;font-size:18px;color:#f0f6fc}.task-form-card .subtitle[data-v-09ead2f6]{margin:5px 0 20px;font-size:13px;color:#8b949e}.form-group[data-v-09ead2f6]{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.form-row[data-v-09ead2f6]{display:flex;gap:20px}.form-group.half[data-v-09ead2f6]{flex:1}.form-group label[data-v-09ead2f6]{font-size:13px;font-weight:500;color:#c9d1d9}.form-input[data-v-09ead2f6],.form-select[data-v-09ead2f6],.form-textarea[data-v-09ead2f6]{background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:10px 12px;color:#f0f6fc;font-size:14px;outline:none;transition:border-color .2s}.form-input[data-v-09ead2f6]:focus,.form-select[data-v-09ead2f6]:focus,.form-textarea[data-v-09ead2f6]:focus{border-color:#58a6ff}.button-actions-row[data-v-09ead2f6]{display:flex;gap:15px;margin-top:10px}.action-btn-primary[data-v-09ead2f6]{background:#238636;border:1px solid #2ea043;color:#fff;font-weight:600;padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .2s}.action-btn-primary[data-v-09ead2f6]:hover:not(:disabled){background:#2ea043}.action-btn-danger[data-v-09ead2f6]{background:#da3637;border:1px solid #f85149;color:#fff;font-weight:600;padding:10px 20px;border-radius:6px;cursor:pointer;transition:all .2s}.action-btn-danger[data-v-09ead2f6]:hover:not(:disabled){background:#f85149}.submit-task-btn[data-v-09ead2f6]{width:100%;background:#388bfd;border:1px solid #58a6ff;color:#fff;font-size:14px;font-weight:600;padding:12px;border-radius:6px;cursor:pointer;transition:all .2s;margin-top:10px}.submit-task-btn[data-v-09ead2f6]:hover:not(:disabled){background:#58a6ff}.submit-task-btn[data-v-09ead2f6]:disabled,.action-btn-primary[data-v-09ead2f6]:disabled,.action-btn-danger[data-v-09ead2f6]:disabled{opacity:.5;cursor:not-allowed}.upload-dropzone[data-v-09ead2f6]{border:2px dashed #30363d;border-radius:8px;padding:30px;text-align:center;background:#0d1117;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.upload-dropzone[data-v-09ead2f6]:hover,.upload-dropzone.dragging[data-v-09ead2f6]{border-color:#58a6ff;background:#1f2937}.upload-dropzone svg[data-v-09ead2f6]{width:32px;height:32px;color:#8b949e;margin-bottom:12px}.upload-dropzone span[data-v-09ead2f6]{display:block;font-size:14px;color:#c9d1d9}.upload-dropzone a[data-v-09ead2f6]{color:#58a6ff;text-decoration:none}.upload-tip[data-v-09ead2f6]{margin:5px 0 0;font-size:11px;color:#8b949e}.file-input-hidden[data-v-09ead2f6]{display:none}.uploaded-info[data-v-09ead2f6]{display:flex;align-items:center;justify-content:center;gap:10px}.uploaded-info .file-name[data-v-09ead2f6]{font-weight:600;color:#58a6ff}.clear-file-btn[data-v-09ead2f6]{background:transparent;border:none;color:#f85149;cursor:pointer;font-size:12px;text-decoration:underline}.progress-bar-container[data-v-09ead2f6]{position:absolute;bottom:0;left:0;right:0;height:24px;background:#30363d99;display:flex;align-items:center;justify-content:center}.progress-bar[data-v-09ead2f6]{position:absolute;left:0;top:0;bottom:0;background:#238636;z-index:1;transition:width .1s}.progress-text[data-v-09ead2f6]{position:relative;z-index:2;font-size:11px;font-weight:600;color:#fff}.task-dashboard-section[data-v-09ead2f6]{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:24px}.dashboard-header[data-v-09ead2f6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.task-title-info h4[data-v-09ead2f6]{margin:0;font-size:16px;color:#f0f6fc}.task-id-badge[data-v-09ead2f6]{font-family:monospace;background:#30363d;color:#f0f6fc;padding:2px 6px;border-radius:4px}.task-title-info p[data-v-09ead2f6]{margin:4px 0 0;font-size:12px;color:#8b949e}.global-progress[data-v-09ead2f6]{display:flex;gap:20px}.stat-item[data-v-09ead2f6]{display:flex;flex-direction:column;align-items:flex-end}.stat-item .label[data-v-09ead2f6]{font-size:11px;color:#8b949e;text-transform:uppercase}.stat-item .value[data-v-09ead2f6]{font-size:20px;font-weight:700;color:#f0f6fc}.stat-item.success .value[data-v-09ead2f6]{color:#3fcf8e}.stat-item.failed .value[data-v-09ead2f6]{color:#f85149}.progress-bar-container.large[data-v-09ead2f6]{height:8px;background:#30363d;border-radius:4px;position:relative;overflow:hidden;margin-bottom:24px}.progress-bar.success[data-v-09ead2f6]{background:#3fcf8e;height:100%;position:absolute}.progress-bar.failed[data-v-09ead2f6]{background:#f85149;height:100%;position:absolute}.subtask-table-wrapper[data-v-09ead2f6]{overflow-x:auto}.subtask-table[data-v-09ead2f6]{width:100%;border-collapse:collapse;text-align:left}.subtask-table th[data-v-09ead2f6],.subtask-table td[data-v-09ead2f6]{padding:12px 16px;border-bottom:1px solid #30363d;font-size:13px}.subtask-table th[data-v-09ead2f6]{color:#8b949e;font-weight:500}.status-badge[data-v-09ead2f6]{padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600}.status-badge.queued[data-v-09ead2f6]{background:#8b949e26;color:#8b949e}.status-badge.running[data-v-09ead2f6]{background:#388bfd26;color:#58a6ff}.status-badge.success[data-v-09ead2f6]{background:#3fcf8e26;color:#3fcf8e}.status-badge.failed[data-v-09ead2f6]{background:#f8514926;color:#f85149}.progress-cell[data-v-09ead2f6]{display:flex;align-items:center;gap:10px}.progress-track[data-v-09ead2f6]{width:80px;height:6px;background:#30363d;border-radius:3px;overflow:hidden}.progress-fill[data-v-09ead2f6]{height:100%;background:#58a6ff;transition:width .2s}.error-text[data-v-09ead2f6]{color:#f85149;max-width:250px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.success-log[data-v-09ead2f6]{color:#58a6ff;cursor:pointer;text-decoration:underline}.log-modal-overlay[data-v-09ead2f6],.contact-modal-overlay[data-v-09ead2f6]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:center;align-items:center}.log-modal-card[data-v-09ead2f6]{width:80%;max-width:800px;height:70%;background:#161b22;border:1px solid #30363d;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-09ead2f6]{padding:16px 24px;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;align-items:center}.modal-header h4[data-v-09ead2f6]{margin:0;font-size:16px;color:#f0f6fc}.close-btn[data-v-09ead2f6]{background:transparent;border:none;color:#8b949e;font-size:18px;cursor:pointer}.close-btn[data-v-09ead2f6]:hover{color:#fff}.log-pre[data-v-09ead2f6]{flex:1;overflow:auto;background:#0d1117;padding:20px;margin:0;font-family:monospace;font-size:13px;line-height:1.6}.checkbox-container[data-v-09ead2f6]{display:block;position:relative;padding-left:24px;cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none}.checkbox-container input[data-v-09ead2f6]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark[data-v-09ead2f6]{position:absolute;top:0;left:0;height:16px;width:16px;background-color:#161b22;border:1px solid #30363d;border-radius:4px}.checkbox-container:hover input~.checkmark[data-v-09ead2f6]{border-color:#8b949e}.checkbox-container input:checked~.checkmark[data-v-09ead2f6]{background-color:#388bfd;border-color:#58a6ff}.checkmark[data-v-09ead2f6]:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkmark[data-v-09ead2f6]:after{display:block}.checkbox-container .checkmark[data-v-09ead2f6]:after{left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.empty-state[data-v-09ead2f6]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg[data-v-09ead2f6]{width:64px;height:64px;color:#30363d;margin-bottom:20px}.empty-state h3[data-v-09ead2f6]{margin:0 0 10px;font-size:18px;color:#f0f6fc}.empty-state p[data-v-09ead2f6]{margin:0;font-size:14px;color:#8b949e;max-width:400px}.advanced-container[data-v-0f983024]{display:flex;height:100%;background-color:#0f0f13;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}.sidebar-panel[data-v-0f983024]{width:300px;border-right:1px solid #272733;background-color:#15151f;display:flex;flex-direction:column;padding:20px}.panel-header[data-v-0f983024]{margin-bottom:20px}.panel-header h3[data-v-0f983024]{margin:0;font-size:18px;color:#fff;font-weight:600}.sub-text[data-v-0f983024]{font-size:12px;color:#718096;margin-top:4px;display:block}.device-list-container[data-v-0f983024]{flex:1;overflow-y:auto;margin-bottom:20px}.no-devices[data-v-0f983024]{text-align:center;color:#4a5568;padding:40px 10px;font-size:14px}.device-item[data-v-0f983024]{display:flex;align-items:center;padding:12px;background-color:#1e1e2d;border:1px solid #2d2d3f;border-radius:8px;margin-bottom:10px;cursor:pointer;transition:all .2s ease}.device-item[data-v-0f983024]:hover{background-color:#27273a;border-color:#3b82f6}.device-item.active[data-v-0f983024]{background-color:#3b82f626;border-color:#3b82f6;box-shadow:0 0 12px #3b82f633}.device-avatar[data-v-0f983024]{margin-right:12px;color:#a0aec0}.device-item.active .device-avatar[data-v-0f983024]{color:#3b82f6}.device-info[data-v-0f983024]{display:flex;flex-direction:column}.device-name[data-v-0f983024]{font-size:14px;font-weight:500;color:#edf2f7}.device-status[data-v-0f983024]{font-size:11px;color:#718096;display:flex;align-items:center;margin-top:3px}.status-indicator[data-v-0f983024]{width:6px;height:6px;border-radius:50%;margin-right:6px}.status-indicator.online[data-v-0f983024]{background-color:#10b981;box-shadow:0 0 6px #10b981}.batch-control-status[data-v-0f983024]{margin-top:auto;border-top:1px solid #272733;padding-top:20px}.status-title[data-v-0f983024]{font-size:13px;color:#edf2f7;font-weight:600;margin-bottom:10px}.batch-sw-row[data-v-0f983024]{display:flex;align-items:center;margin-bottom:12px}.switch-label[data-v-0f983024]{position:relative;display:inline-block;width:36px;height:20px;margin-right:10px}.switch-label input[data-v-0f983024]{opacity:0;width:0;height:0}.switch-slider[data-v-0f983024]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#2d2d3f;transition:.4s;border-radius:20px}.switch-slider[data-v-0f983024]:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.switch-slider[data-v-0f983024]{background-color:#3b82f6}input:checked+.switch-slider[data-v-0f983024]:before{transform:translate(16px)}.batch-lbl-text[data-v-0f983024]{font-size:12px;color:#a0aec0}.batch-checklist[data-v-0f983024]{max-height:150px;overflow-y:auto;background-color:#1e1e2d;border:1px solid #2d2d3f;border-radius:6px;padding:8px}.batch-check-item[data-v-0f983024]{display:flex;align-items:center;padding:6px;font-size:12px;cursor:pointer}.batch-check-item input[data-v-0f983024]{margin-right:8px}.batch-dev-name[data-v-0f983024]{color:#cbd5e0}.main-control-panel[data-v-0f983024]{flex:1;display:flex;flex-direction:column;background-color:#101017}.tabs-header[data-v-0f983024]{display:flex;border-bottom:1px solid #272733;background-color:#151520}.tab-btn[data-v-0f983024]{padding:15px 25px;background:none;border:none;color:#718096;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;border-bottom:2px solid transparent;transition:all .2s ease}.tab-btn[data-v-0f983024]:hover{color:#edf2f7}.tab-btn.active[data-v-0f983024]{color:#3b82f6;border-bottom-color:#3b82f6}.tab-content[data-v-0f983024]{flex:1;overflow-y:auto;padding:24px}.gps-tab-container[data-v-0f983024]{height:100%}.map-and-controls[data-v-0f983024]{display:flex;flex-direction:column;height:100%;gap:20px}.map-wrapper[data-v-0f983024]{flex:1;min-height:350px;border-radius:12px;overflow:hidden;border:1px solid #272733;position:relative}.map-element[data-v-0f983024]{width:100%;height:100%;z-index:1}.map-fallback[data-v-0f983024]{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0c0d12;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10}.radar-circle[data-v-0f983024]{width:120px;height:120px;border:2px solid rgba(59,130,246,.3);border-radius:50%;position:relative;margin-bottom:20px}.radar-line[data-v-0f983024]{width:50%;height:2px;background:linear-gradient(to right,rgba(59,130,246,.8),transparent);position:absolute;top:50%;left:50%;transform-origin:left center;animation:radar-sweep-0f983024 4s linear infinite}@keyframes radar-sweep-0f983024{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fallback-tips[data-v-0f983024]{text-align:center}.fallback-tips p[data-v-0f983024]:first-child{font-size:14px;color:#e2e8f0;margin:0 0 6px}.fallback-tips p[data-v-0f983024]:last-child{font-size:12px;color:#718096;margin:0}.gps-controls-card[data-v-0f983024]{background-color:#151520;border:1px solid #272733;border-radius:12px;padding:20px}.section-title[data-v-0f983024]{font-size:14px;font-weight:600;color:#fff;margin-bottom:15px;border-left:3px solid #3b82f6;padding-left:8px}.form-grid[data-v-0f983024]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;margin-bottom:15px}.form-group[data-v-0f983024]{display:flex;flex-direction:column}.form-group label[data-v-0f983024]{font-size:11px;color:#a0aec0;margin-bottom:5px}.form-group input[data-v-0f983024]{background-color:#20202e;border:1px solid #2d2d3f;border-radius:6px;padding:8px 12px;color:#fff;outline:none;transition:border-color .2s}.form-group input[data-v-0f983024]:focus{border-color:#3b82f6}.form-group input[data-v-0f983024]:disabled{opacity:.5;cursor:not-allowed}.btn-group[data-v-0f983024]{display:flex;gap:10px}.primary-btn[data-v-0f983024],.accent-btn[data-v-0f983024],.danger-btn[data-v-0f983024],.preset-btn[data-v-0f983024]{border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.primary-btn[data-v-0f983024]{background-color:#3b82f6;color:#fff}.primary-btn[data-v-0f983024]:hover:not(:disabled){background-color:#2563eb}.accent-btn[data-v-0f983024]{background-color:#10b981;color:#fff}.accent-btn[data-v-0f983024]:hover:not(:disabled){background-color:#059669}.danger-btn[data-v-0f983024]{background-color:#ef4444;color:#fff}.danger-btn[data-v-0f983024]:hover{background-color:#dc2626}button[data-v-0f983024]:disabled{opacity:.5;cursor:not-allowed}.divider[data-v-0f983024]{height:1px;background-color:#272733;margin:20px 0}.path-settings[data-v-0f983024]{display:flex;flex-direction:column;gap:12px}.mode-select[data-v-0f983024]{display:flex;gap:8px}.mode-btn[data-v-0f983024]{flex:1;background-color:#20202e;border:1px solid #2d2d3f;color:#a0aec0;padding:8px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.mode-btn.active[data-v-0f983024]{background-color:#3b82f626;border-color:#3b82f6;color:#3b82f6}.dest-info[data-v-0f983024]{font-size:12px;background-color:#ffffff05;padding:8px 12px;border-radius:6px;border:1px dashed #2d2d3f}.dest-lbl[data-v-0f983024]{color:#718096}.dest-val[data-v-0f983024]{color:#3b82f6;font-family:monospace}.dest-lbl-hint[data-v-0f983024]{color:#718096}.sensor-cols[data-v-0f983024]{display:flex;gap:24px;flex-direction:column}@media (min-width: 900px){.sensor-cols[data-v-0f983024]{flex-direction:row}}.sensor-3d-panel[data-v-0f983024]{flex:1;background-color:#151520;border:1px solid #272733;border-radius:12px;padding:24px;display:flex;flex-direction:column;align-items:center}.phone-3d-container[data-v-0f983024]{perspective:1000px;width:170px;height:300px;margin:30px 0}.phone-3d-card[data-v-0f983024]{width:100%;height:100%;background-color:#2a2b36;border-radius:18px;border:3px solid #474a5e;box-shadow:0 15px 35px #0009;transform-style:preserve-3d;transition:transform .1s ease-out;position:relative}.phone-3d-screen[data-v-0f983024]{position:absolute;top:8px;left:8px;right:8px;bottom:8px;background-color:#0b0c10;border-radius:12px;border:1px solid #1f2833;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#66fcf1;font-family:monospace;overflow:hidden;text-shadow:0 0 4px rgba(102,252,241,.5)}.phone-camera-hole[data-v-0f983024]{width:8px;height:8px;background-color:#222;border-radius:50%;position:absolute;top:8px}.phone-inner-logo[data-v-0f983024]{font-size:11px;color:#4a5568;position:absolute;bottom:12px}.phone-stat-display[data-v-0f983024]{font-size:13px;line-height:1.6}.preset-actions-row[data-v-0f983024]{display:flex;gap:8px;width:100%}.preset-btn[data-v-0f983024]{flex:1;background-color:#20202e;border:1px solid #2d2d3f;color:#edf2f7}.preset-btn[data-v-0f983024]:hover:not(:disabled){background-color:#2b2b3d}.preset-btn.active[data-v-0f983024]{background-color:#10b98126;border-color:#10b981;color:#10b981}.sensor-sliders-panel[data-v-0f983024]{flex:1.5;display:flex;flex-direction:column;gap:20px}.slider-group-box[data-v-0f983024]{background-color:#151520;border:1px solid #272733;border-radius:12px;padding:16px}.box-title[data-v-0f983024]{font-size:13px;font-weight:600;color:#edf2f7;margin-bottom:12px}.slider-row[data-v-0f983024]{display:flex;align-items:center;margin-bottom:8px;font-size:12px}.slider-row label[data-v-0f983024]{width:80px;color:#a0aec0}.slider-row input[type=range][data-v-0f983024]{flex:1;background:#20202e;border-radius:6px;outline:none;height:5px;accent-color:#3b82f6}.slider-row input[type=range][data-v-0f983024]:disabled{opacity:.3;cursor:not-allowed}.val-display[data-v-0f983024]{width:70px;text-align:right;font-family:monospace;color:#66fcf1}:root{--nav-width: 64px;--bg-primary: #0d1117;--bg-secondary: #161b22;--border: #30363d;--accent: #58a6ff}body{margin:0;background:var(--bg-primary);color:#c9d1d9;font-family:-apple-system,sans-serif;overflow:hidden;height:100vh;height:100dvh}.app-container{display:flex;height:100vh;height:100dvh;width:100vw;position:relative}.is-resizing *{transition:none!important;-webkit-user-select:none!important;user-select:none!important}.side-nav{width:var(--nav-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:20px 0;flex-shrink:0;box-sizing:border-box;transition:width .22s ease}.nav-version{margin-top:auto;font-size:11px;color:#8b949e;opacity:.45;text-align:center;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:8px 4px 0;box-sizing:border-box;transition:opacity .2s;cursor:default}.nav-version:hover{opacity:.9}.side-nav.expanded{width:180px;align-items:stretch;padding-left:12px;padding-right:12px}.nav-brand{width:40px;min-height:40px;margin-bottom:40px;display:flex;align-items:center;justify-content:center;gap:10px;color:inherit;background:transparent;border-radius:12px;align-self:center;overflow:hidden;position:relative;transition:background .2s}.nav-brand-collapse-arrow{display:none;margin-left:auto;align-items:center;justify-content:center;color:#8b949e;opacity:.4;transition:opacity .2s;cursor:pointer}.nav-brand-collapse-arrow svg{width:14px;height:14px}.side-nav.expanded .nav-brand-collapse-arrow{display:inline-flex}.nav-brand:hover .nav-brand-collapse-arrow{opacity:.9}.side-nav:not(.expanded) .nav-brand{overflow:visible}.side-nav:not(.expanded) .nav-brand:after{content:"展开侧边栏";position:absolute;left:52px;top:50%;transform:translateY(-50%);background:#1f2937;color:#e5e7eb;padding:5px 10px;font-size:11px;font-weight:500;border-radius:6px;border:1px solid #374151;white-space:nowrap;box-shadow:0 4px 12px #0006;z-index:999;pointer-events:none;opacity:0;transition:opacity .15s ease}.side-nav:not(.expanded) .nav-brand:before{content:"";position:absolute;left:46px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#1f2937;z-index:999;pointer-events:none;opacity:0;transition:opacity .15s ease}.side-nav:not(.expanded) .nav-brand:hover:after,.side-nav:not(.expanded) .nav-brand:hover:before{opacity:1}.side-nav.expanded .nav-brand{width:100%;justify-content:flex-start;padding:0 8px}.nav-brand:hover{background:#ffffff0d}.nav-brand-icon-svg{flex:0 0 auto;width:24px;height:24px;color:var(--accent, #58a6ff)}.nav-brand-text,.nav-item-text,.nav-tag-name,.nav-tag-count,.manage-text{display:none}.side-nav.expanded .nav-brand-text,.side-nav.expanded .nav-item-text,.side-nav.expanded .nav-tag-name,.side-nav.expanded .nav-tag-count,.side-nav.expanded .manage-text{display:inline-flex}.nav-brand-text{font-size:14px;font-weight:700;color:#e6edf3;white-space:nowrap}.nav-links{display:flex;flex-direction:column;align-items:center;width:100%}.side-nav.expanded .nav-links{align-items:stretch}.nav-item{min-height:40px;padding:0 10px;border-radius:12px;margin-bottom:20px;opacity:.5;text-decoration:none;color:inherit;display:flex;align-items:center;justify-content:center;gap:10px;overflow:hidden;white-space:nowrap}.side-nav.expanded .nav-item{justify-content:flex-start;margin-bottom:8px}.nav-item-icon-svg{flex:0 0 auto;width:20px;height:20px}.nav-item-text{font-size:13px;font-weight:700}.nav-item.active{opacity:1;color:var(--accent);background:#58a6ff1a}.nav-item.logout-nav-item:hover{opacity:1;color:#f85149;background:#f851491a}.top-bar-right{display:flex;align-items:center;gap:16px}.header-help-menu{position:relative;display:flex;align-items:center}.help-btn{background:transparent;border:none;color:#8b949e;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.help-btn:hover,.help-btn.active{color:var(--accent);background:#58a6ff14}.help-icon-svg{width:20px;height:20px}.help-dropdown{position:absolute;top:40px;right:0;width:280px;background:#161b22;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #00000080;z-index:1000;overflow:hidden;padding:4px 0}.help-dropdown-header{padding:10px 16px;font-size:11px;font-weight:600;color:#8b949e;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.help-dropdown-list{display:flex;flex-direction:column}.help-dropdown-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;text-decoration:none;color:#c9d1d9;transition:background .2s ease}.help-dropdown-item:hover{background:#58a6ff14}.help-dropdown-item .dropdown-icon{width:18px;height:18px;color:#8b949e;margin-top:2px;flex-shrink:0}.help-dropdown-item:hover .dropdown-icon{color:var(--accent)}.help-dropdown-item .item-text{display:flex;flex-direction:column;gap:2px}.help-dropdown-item .item-title{font-size:13px;font-weight:600;color:#e6edf3}.help-dropdown-item .item-desc{font-size:11px;color:#8b949e;line-height:1.4}.pop-enter-active,.pop-leave-active{transition:all .2s cubic-bezier(.16,1,.3,1)}.pop-enter-from,.pop-leave-to{opacity:0;transform:translateY(-8px) scale(.95)}.contact-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000}.contact-modal-card{background:#161b22;border:1px solid var(--border);border-radius:12px;width:min(440px,90vw);max-height:90vh;padding:24px;position:relative;box-shadow:0 20px 50px #0009;text-align:center;box-sizing:border-box;display:flex;flex-direction:column}.contact-close-btn{position:absolute;top:12px;right:12px;background:transparent;border:none;color:#8b949e;font-size:16px;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;z-index:10}.contact-close-btn:hover{color:#c9d1d9;background:#ffffff14}.contact-card-title{font-size:16px;font-weight:600;color:#e6edf3;margin-bottom:16px;flex-shrink:0}.contact-card-body{flex:1;overflow-y:auto;width:100%;display:flex;flex-direction:column;align-items:center;padding-right:4px}.contact-card-body::-webkit-scrollbar{width:4px}.contact-card-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.contact-card-body::-webkit-scrollbar-thumb:hover{background:#fff3}.contact-qrcode-img{width:min(360px,80vw);height:auto;border-radius:6px;border:3px solid #fff;margin:0 auto 16px;display:block;box-shadow:0 4px 12px #0000004d;flex-shrink:0}.contact-card-tip{font-size:12px;color:#8b949e;line-height:1.5;margin:0;flex-shrink:0}.contact-card-email{display:inline-flex;align-self:center;margin:-8px 0 16px;color:var(--accent);font-size:13px;font-weight:600;text-decoration:none;flex-shrink:0}.contact-card-email:hover{text-decoration:underline}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.header-user-card{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 15px #00000026;box-sizing:border-box}.user-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#58a6ff,#1f6feb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;box-shadow:0 2px 6px #1f6feb4d;flex-shrink:0}.user-name{font-size:13px;font-weight:600;color:#e6edf3;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role-badge{font-size:10px;padding:1px 6px;border-radius:10px;font-weight:600;flex-shrink:0}.user-role-badge.admin{background:#f2c12e1f;color:#f2c12e;border:1px solid rgba(242,193,46,.25)}.user-role-badge.user{background:#58a6ff1f;color:#58a6ff;border:1px solid rgba(88,166,255,.25)}.nav-tag-group{width:100%;min-height:0;margin-top:8px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center}.side-nav.expanded .nav-tag-group{align-items:stretch}.nav-tag-group-title{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;color:#8b949e;font-size:11px;font-weight:700}.side-nav.expanded .nav-tag-group-title{flex-direction:row;justify-content:space-between}.nav-tag-manage-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#c9d1d9;background:#ffffff0f;border:1px solid var(--border);border-radius:8px;font-size:18px;line-height:1;gap:6px}.side-nav.expanded .nav-tag-manage-btn{width:auto;height:26px;padding:0 8px;font-size:12px}.manage-plus{font-size:18px;line-height:1}.nav-tag-manage-btn:hover{color:#fff;background:#58a6ff1f;border-color:#58a6ff66}.nav-tag-list{width:100%;min-height:0;margin-top:12px;padding:0 0 4px;display:flex;flex-direction:column;align-items:center;gap:8px;overflow-y:auto}.side-nav.expanded .nav-tag-list{align-items:stretch}.nav-tag-list::-webkit-scrollbar{width:0}.nav-tag-item{width:36px;height:36px;min-width:0;display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;border:1px solid transparent;border-radius:10px;opacity:.75;color:#c9d1d9;overflow:hidden}.side-nav.expanded .nav-tag-item{width:100%;justify-content:flex-start;padding:0 8px}.nav-tag-item:hover,.nav-tag-item.active{opacity:1;background:#58a6ff1a;border-color:#58a6ff40}.nav-tag-dot{flex:0 0 auto;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px #ffffff0f}.nav-tag-dot.all{background:var(--accent)}.nav-tag-dot.offline{background:#8b949e}.nav-tag-dot.recent{background:#4ade80}.offline-tag-item{margin-top:4px;border-top:1px dashed var(--border);border-radius:0 0 6px 6px}.nav-tag-name{min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700}.nav-tag-count{min-width:22px;justify-content:center;padding:1px 6px;border-radius:999px;color:#8b949e;background:#ffffff14;font-size:11px}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.top-bar{height:60px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.page-title{font-size:16px;font-weight:600;color:#e6edf3}.global-status{color:#888;font-size:13px}.viewport{flex:1;overflow-y:auto;padding:12px}.control-panel-wrapper{height:100vh;background:var(--bg-secondary);border-left:0px solid var(--border);display:flex;flex-direction:column;position:relative;z-index:200;transition:width .3s cubic-bezier(.16,1,.3,1),border-left-width .3s ease;width:0;overflow:hidden}.control-panel-wrapper.is-open{border-left:1px solid var(--border)}.control-panel-wrapper.is-floating{position:fixed;border:1px solid var(--border);border-radius:12px;box-shadow:0 30px 60px #0009;z-index:1000;transform:none;transition:none}.side-resizer{position:absolute;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:100}.resize-handle{position:absolute;z-index:100}.resize-handle.top{top:-5px;left:0;right:0;height:10px;cursor:ns-resize}.resize-handle.bottom{bottom:-5px;left:0;right:0;height:10px;cursor:ns-resize}.resize-handle.left{left:-5px;top:0;bottom:0;width:10px;cursor:ew-resize}.resize-handle.right{right:-5px;top:0;bottom:0;width:10px;cursor:ew-resize}.resize-corner.bottom-right{position:absolute;right:-5px;bottom:-5px;width:20px;height:20px;cursor:nwse-resize;z-index:101}.panel-inner{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-secondary);border-radius:12px}.panel-top-bar{height:50px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);cursor:grab}.vm-info{display:flex;align-items:center;gap:8px;pointer-events:none}.status-dot{width:8px;height:8px;border-radius:50%;background:#10b981}.vm-id{font-weight:600;font-size:14px}.tool-btn{background:none;border:none;color:#8b949e;cursor:pointer;padding:6px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.tool-btn:hover{color:#fff;background:#ffffff0d}.tool-btn.close:hover{color:#f85149}.tool-btn-svg{width:16px;height:16px}.panel-main{flex:1;overflow:hidden;background:#000}.panel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888;text-align:center;opacity:.3}.hint-icon-wrapper{margin-bottom:16px;display:flex;align-items:center;justify-content:center}.hint-icon-svg{width:48px;height:48px;color:#8b949e}@media (max-width: 1024px){.app-container{flex-direction:column}.control-panel-wrapper.is-mobile{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw!important;height:100dvh!important;transform:translate(100%);z-index:2000;border:none;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);box-sizing:border-box;background:#000}.control-panel-wrapper.is-mobile.is-open{transform:translate(0)}.panel-inner{border-radius:0}}.mobile-bottom-nav{height:60px;width:100%;flex-shrink:0;background:var(--bg-secondary, #161b22);border-top:1px solid var(--border, #30363d);display:flex;justify-content:space-around;align-items:center;z-index:1000;padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;color:#8b949e;font-size:11px;cursor:pointer;flex:1;height:100%;transition:all .2s ease;gap:4px}.mobile-nav-item:active{background:#ffffff0d}.mobile-nav-icon-svg{width:20px;height:20px}.mobile-nav-text{font-weight:600;font-size:10px}.mobile-nav-item.active{color:var(--accent, #58a6ff)}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.global-console-container{position:fixed;bottom:0;left:var(--nav-width, 64px);right:0;z-index:1000;transition:left .22s ease;box-sizing:border-box}.global-console-container.nav-expanded{left:180px}@media (max-width: 1024px){.global-console-container{left:0!important}}.license-block-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0a0c10f2;display:flex;align-items:center;justify-content:center;z-index:9999}.license-block-card{width:500px;max-width:90%;background:#161b22;border:1px solid #f85149;border-radius:12px;padding:30px;box-shadow:0 8px 24px #00000080;box-sizing:border-box}.license-block-header{text-align:center;margin-bottom:24px}.license-alert-icon{font-size:40px;margin-bottom:12px}.license-block-header h2{margin:0 0 8px;color:#f85149;font-size:22px}.license-block-subtitle{margin:0;color:#8b949e;font-size:14px}.license-block-body{margin-bottom:24px}.license-error-tip{background:#f851491a;color:#f85149;border:1px solid rgba(248,81,73,.2);padding:12px;border-radius:6px;font-size:13px;margin:0 0 20px;line-height:1.5;text-align:center}.license-info-row{margin-bottom:16px}.license-info-row.small{margin-bottom:10px}.info-label{display:block;font-size:13px;color:#8b949e;margin-bottom:6px}.machine-id-container{display:flex;gap:8px}.machine-id-container.small code{font-size:11px;padding:4px 8px}.machine-id-container code{flex:1;background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:8px 12px;font-family:monospace;font-size:14px;color:#c9d1d9;display:flex;align-items:center;overflow-x:auto}.copy-code-btn,.machine-id-container.small button{background:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;cursor:pointer;padding:0 12px;font-size:12px;font-weight:500;white-space:nowrap;transition:all .2s}.copy-code-btn:hover,.machine-id-container.small button:hover{background:#30363d;border-color:#8b949e}.license-input-group{margin-bottom:20px}.license-input-group.small{margin-bottom:12px;display:flex;gap:8px}.license-input-group label{display:block;font-size:13px;color:#8b949e;margin-bottom:6px}.license-input-group textarea{width:100%;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-family:monospace;font-size:12px;padding:10px;box-sizing:border-box;resize:none;outline:none}.license-input-group textarea:focus,.license-short-input:focus{border-color:var(--accent)}.license-short-input{flex:1;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;padding:6px 10px;font-size:12px;outline:none}.activate-btn{width:100%;background:#238636;border:1px solid #2ea44f;border-radius:6px;color:#fff;padding:10px 16px;font-weight:600;font-size:14px;cursor:pointer;transition:background-color .2s}.activate-btn:hover:not(:disabled){background:#2ea44f}.activate-btn:disabled,.short-activate-btn:disabled{opacity:.5;cursor:not-allowed}.short-activate-btn{background:#238636;border:1px solid #2ea44f;border-radius:6px;color:#fff;padding:0 12px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.short-activate-btn:hover:not(:disabled){background:#2ea44f}.activation-error-msg{color:#f85149;background:#f851490d;border:1px solid rgba(248,81,73,.1);padding:8px 12px;border-radius:6px;font-size:12px;margin-bottom:16px;text-align:center}.activation-error-msg.small{color:#f85149;background:none;border:none;margin-top:6px;margin-bottom:0;padding:0;font-size:11px;text-align:left}.license-block-footer{border-top:1px solid #30363d;padding-top:16px;font-size:12px;color:#8b949e;text-align:center}.license-block-footer p{margin:0 0 8px}.contact-links{display:flex;justify-content:center;align-items:center;gap:8px}.footer-email{color:var(--accent);text-decoration:none}.footer-email:hover,.footer-contact-link:hover{text-decoration:underline}.footer-divider{color:#30363d}.footer-contact-link{color:#8b949e;text-decoration:none}.contact-card-divider{height:1px;background:#30363d;margin:20px 0 16px;width:100%}.contact-license-section{width:100%;display:flex;flex-direction:column;align-items:center}.toggle-license-btn{background:none;border:none;color:#8b949e;font-size:12px;cursor:pointer;padding:4px 8px;transition:color .2s}.toggle-license-btn:hover{color:var(--accent)}.license-panel-body{width:100%;margin-top:12px;text-align:left;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.license-status-display{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:10px 14px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.status-item{display:flex;justify-content:space-between;align-items:center;font-size:13px}.status-label{color:#8b949e}.status-value{color:#c9d1d9;font-weight:500}.status-value.status-valid{color:#3fb950}.status-value.status-expired{color:#f85149}.status-value.highlight{color:#58a6ff}:root{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-card: #16213e;--accent: #e94560;--accent-hover: #ff6b6b;--text-primary: #ffffff;--text-secondary: #888888;--success: #00ff00;--border: rgba(255, 255, 255, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}button{cursor:pointer;border:none;font-family:inherit}.btn{padding:10px 20px;background:var(--accent);color:#fff;border-radius:8px;font-size:14px;font-weight:500;transition:all .2s ease}.btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:#ffffff1a;border:1px solid var(--border)}.btn-secondary:hover{background:#fff3}.btn-icon{padding:8px 12px;background:#ffffff1a;border:1px solid var(--border);border-radius:8px;color:#fff;font-size:14px;display:flex;align-items:center;gap:6px}.btn-icon:hover{background:#fff3}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}.web-fullscreen .video-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:var(--bg-primary);z-index:10000}.web-fullscreen .sidebar,.web-fullscreen .control-sidebar{display:none!important}.webfullscreen-fab,.pip-fab{position:absolute;top:16px;width:36px;height:36px;border-radius:50%;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;transition:all .2s}.webfullscreen-fab .icon,.pip-fab .icon{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.webfullscreen-fab:hover,.pip-fab:hover{background:#000c;transform:scale(1.1)}.webfullscreen-fab{right:60px}.pip-fab{right:104px}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:all .3s ease}.slide-enter-from,.slide-leave-to{opacity:0;transform:translateY(-20px)}
