.live-tile.bare[data-v-573f065a]{width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;background:transparent}.live-tile.bare video[data-v-573f065a]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none}.live-tile.bare .live-canvas[data-v-573f065a]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;background:#000}.app-body[data-v-fae1e905]{display:flex;height:100vh;min-height:0;overflow:hidden;background:#f0f2f5;color:#333}.app-body.theme-dark[data-v-fae1e905]{background:#0b1220;color:#e7eefb}.sidebar[data-v-fae1e905]{width:240px;flex:none;height:100vh;max-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#1e293b,#0f172a);color:#cbd5e1;padding:0}.sidebar-logo[data-v-fae1e905]{padding:24px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.logo-icon[data-v-fae1e905]{font-size:28px}.logo-text[data-v-fae1e905]{font-size:16px;font-weight:600;color:#fff}.sidebar-menu[data-v-fae1e905]{flex:1;min-height:0;overflow-y:auto;padding:16px 12px}.menu-section[data-v-fae1e905]{margin-bottom:24px}.menu-section-title[data-v-fae1e905]{font-size:11px;color:#64748b;padding:0 12px;margin-bottom:8px;font-weight:600}.menu-item[data-v-fae1e905]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#cbd5e1;font-size:14px;margin-bottom:2px;cursor:pointer;text-decoration:none;border:0;background:none;width:100%;text-align:left;transition:.16s}.menu-item[data-v-fae1e905]:hover{background:#ffffff0f;color:#fff}.menu-item.active[data-v-fae1e905]{background:linear-gradient(135deg,#667eea33,#764ba233);color:#fff;border-left:3px solid #667eea;padding-left:9px}.menu-item.ghost[data-v-fae1e905]{color:#94a3b8;border:1px dashed rgba(255,255,255,.12);justify-content:center;margin-top:4px}.menu-item .dot[data-v-fae1e905]{width:8px;height:8px;border-radius:50%;background:#64748b;flex:none}.menu-item .dot.online[data-v-fae1e905]{background:#10b981;box-shadow:0 0 0 3px #10b98133}.menu-item .dot.disabled[data-v-fae1e905]{background:#ef4444}.menu-label[data-v-fae1e905]{min-width:0;display:flex;flex-direction:column;line-height:1.3}.menu-name[data-v-fae1e905]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-meta[data-v-fae1e905]{font-size:11px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer[data-v-fae1e905]{padding:16px 12px;border-top:1px solid rgba(255,255,255,.08)}.user-card[data-v-fae1e905]{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff0a;border-radius:10px;margin-bottom:12px}.user-avatar[data-v-fae1e905]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex:none}.user-details[data-v-fae1e905]{min-width:0}.user-name[data-v-fae1e905]{font-size:14px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role[data-v-fae1e905]{font-size:12px;color:#94a3b8}.logout-btn-sidebar[data-v-fae1e905]{width:100%;padding:10px;background:#ffffff0f;color:#cbd5e1;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.logout-btn-sidebar[data-v-fae1e905]:hover{background:#ef444426;color:#fca5a5}.main-wrapper[data-v-fae1e905]{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.top-toolbar[data-v-fae1e905]{background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;flex-shrink:0}.app-body.theme-dark .top-toolbar[data-v-fae1e905]{background:#0f1b33;border-color:#24365c;color:#e5e7eb}.toolbar-left[data-v-fae1e905]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.toolbar-right[data-v-fae1e905]{display:flex;align-items:center;gap:10px}.toolbar-group[data-v-fae1e905]{display:flex;align-items:center;gap:6px}.toolbar-group label[data-v-fae1e905]{font-size:12px;color:#6b7280;font-weight:500}.toolbar-group select[data-v-fae1e905],.toolbar-group input[data-v-fae1e905]{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;color:#111;outline:none}.app-body.theme-dark .toolbar-group select[data-v-fae1e905],.app-body.theme-dark .toolbar-group input[data-v-fae1e905]{background:#0b162c;color:#fff;border-color:#2b3c5e}.toolbar-group input[type=number][data-v-fae1e905]{width:52px}.toolbar-group input[type=range][data-v-fae1e905]{width:70px;padding:0}.main-content-area[data-v-fae1e905]{flex:1;display:flex;overflow:hidden;min-height:0;background:#f8fafc}.app-body.theme-dark .main-content-area[data-v-fae1e905]{background:#0b1220}.left-panel[data-v-fae1e905]{display:flex;flex-direction:column;flex:1;min-width:200px;overflow:hidden;border-right:1px solid #e5e7eb;background:#f8fafc}.app-body.theme-dark .left-panel[data-v-fae1e905]{background:#0b1220;border-color:#24365c}.screenshot-grid-container[data-v-fae1e905]{flex:1;overflow:hidden;padding:12px;min-height:0;display:flex;flex-direction:column;position:relative}.screenshot-grid-container.fit-w #gridCanvas[data-v-fae1e905]{width:100%;height:auto}.screenshot-grid-container.fit-h #gridCanvas[data-v-fae1e905]{height:100%;width:auto;margin:0 auto}#gridCanvas[data-v-fae1e905]{background:#fff;border-radius:6px;box-shadow:0 2px 14px #00000014;display:block;flex-shrink:0;max-width:100%}.app-body.theme-dark #gridCanvas[data-v-fae1e905]{background:#0b1220;box-shadow:0 2px 14px #0006}.grid-empty-state[data-v-fae1e905]{text-align:center;color:#9ca3af;padding:60px 20px}.grid-empty-state .icon[data-v-fae1e905]{font-size:56px;margin-bottom:12px;opacity:.5}.grid-footer[data-v-fae1e905]{flex-shrink:0;padding:8px 16px;background:#fff;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6b7280}.app-body.theme-dark .grid-footer[data-v-fae1e905]{background:#0f1b33;border-color:#24365c;color:#9db4d4}.panel-splitter[data-v-fae1e905]{width:6px;flex-shrink:0;cursor:col-resize;background:#e5e7eb}.panel-splitter[data-v-fae1e905]:hover,.panel-splitter.dragging[data-v-fae1e905]{background:#667eea}.app-body.theme-dark .panel-splitter[data-v-fae1e905]{background:#24365c}.right-panel[data-v-fae1e905]{display:flex;flex-direction:column;width:380px;flex-shrink:0;min-width:280px;max-width:70%;overflow:hidden;background:#fff;--liveH: 240px}.app-body.theme-dark .right-panel[data-v-fae1e905]{background:#111c33}.right-panel .live-panel[data-v-fae1e905]{flex-shrink:0;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column}.app-body.theme-dark .right-panel .live-panel[data-v-fae1e905]{border-color:#24365c}.live-panel-header[data-v-fae1e905]{padding:8px 12px;display:flex;justify-content:space-between;align-items:center;background:#fafafa;border-bottom:1px solid #e5e7eb;gap:8px}.live-actions[data-v-fae1e905]{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.live-actions .btn.small[data-v-fae1e905]{padding:4px 7px;font-size:11.5px;border-radius:7px}.live-actions .btn.small.danger[data-v-fae1e905]{color:#ef4444}.live-device-select[data-v-fae1e905]{max-width:120px;padding:3px 6px;border-radius:7px;border:1px solid #d1d5db;background:#fff;font-size:11.5px;color:#111}.app-body.theme-dark .live-panel-header[data-v-fae1e905]{background:#101a2c;border-color:#24365c}.live-indicator[data-v-fae1e905]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#333}.app-body.theme-dark .live-indicator[data-v-fae1e905]{color:#e5e7eb}.live-dot[data-v-fae1e905]{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px #10b98133}.live-badge[data-v-fae1e905]{font-size:11px;color:#16a34a}.live-video-box[data-v-fae1e905]{position:relative;background:#1a1a2e;height:var(--liveH);min-height:120px;max-height:60vh;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:box-shadow .18s}.live-video-box.flashing[data-v-fae1e905]{box-shadow:0 0 0 3px #667eea,0 0 18px #667eea8c}.live-video-box video[data-v-fae1e905]{width:100%;height:100%;object-fit:cover}.no-signal[data-v-fae1e905]{text-align:center;color:#6b7280}.no-signal .icon[data-v-fae1e905]{font-size:36px;opacity:.5}.live-resize[data-v-fae1e905]{height:8px;cursor:row-resize;background:#e5e7eb}.live-resize[data-v-fae1e905]:hover{background:#667eea}.live-stats-bar[data-v-fae1e905]{display:flex;flex-wrap:wrap;gap:4px 12px;padding:5px 12px;background:#0f172a;font-size:11px;color:#94a3b8}.live-stats-bar b[data-v-fae1e905]{color:#22d3ee}.live-handle[data-v-fae1e905]{display:flex;gap:6px;padding:6px 10px}.live-handle button[data-v-fae1e905]{flex:1;padding:5px;border-radius:6px;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;font-size:12px;color:#333}.app-body.theme-dark .live-handle button[data-v-fae1e905]{background:#0b162c;color:#fff;border-color:#2b3c5e}.live-handle button.rec[data-v-fae1e905]{background:#dc2626;color:#fff;border:0;font-weight:600}.live-panel-footer[data-v-fae1e905]{padding:6px 12px;background:#fafafa;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af}.app-body.theme-dark .live-panel-footer[data-v-fae1e905]{background:#101a2c;border-color:#24365c}.v-splitter[data-v-fae1e905]{height:6px;flex-shrink:0;cursor:row-resize;background:#e5e7eb}.v-splitter[data-v-fae1e905]:hover,.v-splitter.dragging[data-v-fae1e905]{background:#667eea}.poker-panel[data-v-fae1e905]{flex:1;display:flex;flex-direction:column;overflow:hidden;border:2px solid #ef4444;margin:8px;border-radius:6px;background:#fff;min-height:0}.app-body.theme-dark .poker-panel[data-v-fae1e905]{background:#111c33}.poker-panel-header[data-v-fae1e905]{padding:8px 12px;display:flex;justify-content:space-between;align-items:center;background:#fef2f2;border-bottom:1px solid #fecaca}.app-body.theme-dark .poker-panel-header[data-v-fae1e905]{background:#1a1020}.poker-title[data-v-fae1e905]{font-size:13px;font-weight:600;color:#dc2626}.poker-count[data-v-fae1e905]{font-size:12px;color:#ef4444;cursor:pointer}.poker-results-area[data-v-fae1e905]{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.poker-hint[data-v-fae1e905]{color:#9ca3af;font-size:12px;text-align:center;padding:20px 0;line-height:1.7}.poker-item[data-v-fae1e905]{display:flex;align-items:center;gap:10px;padding:6px 8px;background:#0b162c;color:#d8e4f5;border-radius:6px;font-size:12px;cursor:pointer}.app-body.theme-light .poker-item[data-v-fae1e905]{background:#f8fafc;color:#333;border:1px solid #e5e7eb}.poker-item img[data-v-fae1e905]{width:48px;height:36px;object-fit:cover;border-radius:4px;flex:none}.poker-item span[data-v-fae1e905]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-zoom[data-v-fae1e905]{position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:20;background:#fff;border-radius:8px;box-shadow:0 8px 40px #00000040;display:flex;flex-direction:column;overflow:hidden}.app-body.theme-dark .grid-zoom[data-v-fae1e905]{background:#111c33;color:#e5e7eb}.grid-zoom-head[data-v-fae1e905]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #e5e7eb;font-size:12.5px;flex-shrink:0}.grid-zoom-body[data-v-fae1e905]{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:10px}.grid-zoom-body img[data-v-fae1e905]{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}.grid-zoom-foot[data-v-fae1e905]{padding:6px 12px;border-top:1px solid #e5e7eb;font-size:11.5px;color:#9ca3af;flex-shrink:0}.column-view[data-v-fae1e905]{position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:19;background:#fff;border-radius:8px;box-shadow:0 8px 40px #00000040;display:flex;flex-direction:column;overflow:hidden}.app-body.theme-dark .column-view[data-v-fae1e905]{background:#111c33;color:#e5e7eb}.column-view-head[data-v-fae1e905]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #e5e7eb;font-size:12.5px;flex-shrink:0}.column-view-body[data-v-fae1e905]{flex:1;overflow:hidden;padding:8px;display:grid;gap:8px}.column-view-empty[data-v-fae1e905]{color:#9ca3af;text-align:center;padding:30px;grid-column:1 / -1}.column-view-item[data-v-fae1e905]{position:relative;min-width:0;min-height:0;cursor:pointer;border-radius:4px;overflow:hidden;background:#0b162c}.column-view-item[data-v-fae1e905]:hover{outline:2px solid #667eea;outline-offset:-2px}.column-view-item img[data-v-fae1e905]{width:100%;height:100%;object-fit:contain;display:block}.column-view-label[data-v-fae1e905]{position:absolute;left:6px;bottom:6px;padding:2px 7px;border-radius:3px;background:#04080fb8;color:#d8e4f5;font-family:monospace;font-size:11px;line-height:1.4;pointer-events:none}.column-view-foot[data-v-fae1e905]{padding:6px 12px;border-top:1px solid #e5e7eb;font-size:11.5px;color:#9ca3af;flex-shrink:0}.modal-backdrop[data-v-fae1e905]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#04080fb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in-fae1e905 .16s ease}.modal[data-v-fae1e905]{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:16px;border:1px solid #e5e7eb;background:#fff;color:#333;box-shadow:0 24px 60px #00000061;animation:pop-in-fae1e905 .18s ease}.app-body.theme-dark .modal[data-v-fae1e905]{background:#111b2e;color:#e7eefb;border-color:#1e2c46}.param-drawer[data-v-fae1e905]{position:fixed;left:0;top:0;bottom:0;width:360px;max-width:92vw;z-index:70;display:flex;box-shadow:6px 0 24px #00000059}.param-drawer[data-v-fae1e905] .param-panel{width:100%;height:100%;max-height:none;border-radius:0;overflow-y:auto}.modal-head[data-v-fae1e905]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:inherit;z-index:2}.modal-body[data-v-fae1e905]{padding:22px}.modal-foot[data-v-fae1e905]{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid #e5e7eb;position:sticky;bottom:0;background:inherit}.close[data-v-fae1e905]{width:30px;height:30px;border-radius:8px;border:1px solid #e5e7eb;background:transparent;color:#6b7280;font-size:16px;line-height:1}.close[data-v-fae1e905]:hover{color:#333}.btn[data-v-fae1e905]{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;color:#333;font-size:13.5px;font-weight:500;transition:.18s;white-space:nowrap;cursor:pointer}.btn[data-v-fae1e905]:hover{border-color:#667eea;background:#f0f4ff}.btn.primary[data-v-fae1e905]{border:0;background:linear-gradient(135deg,#4f8cff,#38d6c4);color:#04101f;font-weight:700}.btn.ghost[data-v-fae1e905]{background:transparent}.btn.small[data-v-fae1e905]{padding:6px 11px;font-size:12.5px;border-radius:8px}.btn.danger[data-v-fae1e905]{background:#fef2f2;border-color:#fecaca;color:#ef4444}.btn[data-v-fae1e905]:disabled{opacity:.45;cursor:not-allowed}.toolbar-btn[data-v-fae1e905]{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;color:#374151;white-space:nowrap}.toolbar-btn[data-v-fae1e905]:hover{border-color:#667eea;color:#667eea;background:#f0f4ff}.toolbar-btn.danger[data-v-fae1e905]{border-color:#fecaca;color:#ef4444}.toolbar-btn.danger[data-v-fae1e905]:hover{background:#fef2f2}.field[data-v-fae1e905]{display:flex;flex-direction:column;gap:7px}.field>label[data-v-fae1e905]{font-size:12.5px;color:#6b7280}.input[data-v-fae1e905],select.input[data-v-fae1e905],textarea.input[data-v-fae1e905]{width:100%;padding:10px 13px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;color:#333;outline:none}.input[data-v-fae1e905]:focus{border-color:#667eea;box-shadow:0 0 0 3px #4f8cff26}.hint[data-v-fae1e905]{font-size:12px;color:#9ca3af;line-height:1.7}.tag[data-v-fae1e905]{display:inline-block;padding:2px 8px;border-radius:7px;font-size:11px;background:#f1f5f9;color:#6b7280;border:1px solid #e5e7eb}.badge[data-v-fae1e905]{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;background:#f1f5f9;color:#6b7280;border:1px solid #e5e7eb;white-space:nowrap}.badge.online[data-v-fae1e905]{color:#16a34a;background:#ecfdf5;border-color:#a7f3d0}.badge.plain[data-v-fae1e905]:before{display:none}kbd[data-v-fae1e905]{display:inline-block;min-width:22px;padding:2px 6px;border-radius:5px;border:1px solid #e5e7eb;border-bottom-width:2px;background:#fff;color:#333;font-family:monospace;font-size:10.5px;text-align:center}.right-panel[data-v-fae1e905] .param-panel{width:100%;max-height:none;height:auto;background:#fff;border:0;color:#333}.app-body.theme-dark .right-panel[data-v-fae1e905] .param-panel{background:#111c33;color:#e5e7eb;border-color:#24365c}@keyframes fade-in-fae1e905{0%{opacity:0}}@keyframes pop-in-fae1e905{0%{opacity:0;transform:translateY(8px) scale(.985)}}@media (max-width: 1180px){.main-content-area[data-v-fae1e905]{flex-direction:column;overflow-y:auto}.panel-splitter[data-v-fae1e905]{display:none}.right-panel[data-v-fae1e905]{width:auto!important;max-width:none;height:auto}.screenshot-grid-container[data-v-fae1e905]{overflow:visible}}@media (max-width: 768px){.sidebar[data-v-fae1e905]{width:64px}.sidebar .logo-text[data-v-fae1e905],.sidebar .menu-name[data-v-fae1e905],.sidebar .menu-meta[data-v-fae1e905],.sidebar .menu-section-title[data-v-fae1e905],.sidebar .user-details[data-v-fae1e905]{display:none}.sidebar-logo[data-v-fae1e905],.menu-item[data-v-fae1e905]{justify-content:center}}.login-boot{min-height:100vh;display:grid;place-items:center}:root{color-scheme:dark;--bg: #070b14;--bg-soft: #0a101d;--panel: #0f1728;--panel-2: #141f35;--panel-3: #1a2740;--line: #1e2c46;--line-soft: #182338;--text: #e7eefb;--muted: #8a9ab5;--muted-2: #64748b;--brand: #4f8cff;--brand-2: #38d6c4;--brand-soft: rgba(79, 140, 255, .14);--ok: #33d69f;--warn: #ffb457;--danger: #ff6b81;--danger-soft: rgba(255, 107, 129, .14);--shadow: 0 24px 60px rgba(0, 0, 0, .38);--radius: 16px;--radius-sm: 10px;--font: "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(1000px 520px at 8% -10%,rgba(79,140,255,.16),transparent 60%),radial-gradient(800px 420px at 100% 0%,rgba(56,214,196,.1),transparent 55%),var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#22314d;border-radius:8px}::-webkit-scrollbar-track{background:transparent}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.small{font-size:12.5px}.grow{flex:1}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:18px;height:64px;padding:0 22px;border-bottom:1px solid var(--line-soft);background:#080d17db;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-logo{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center;font-weight:800;font-size:17px;color:#04101f;box-shadow:0 8px 22px #4f8cff47;flex:none}.brand-name{font-size:16px;font-weight:700;letter-spacing:.4px}.brand-sub{font-size:11.5px;color:var(--muted);letter-spacing:.5px}.tabbar{display:flex;align-items:center;gap:3px;padding:3px;background:var(--panel);border:1px solid var(--line-soft);border-radius:11px}.tabbar button{border:0;background:transparent;color:var(--muted);padding:7px 16px;border-radius:8px;font-size:13.5px;transition:.18s}.tabbar button.active{background:linear-gradient(135deg,#4f8cff38,#38d6c424);color:var(--text);box-shadow:inset 0 0 0 1px #4f8cff47}.user-area{display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:13px;color:#06121f;background:linear-gradient(135deg,var(--brand-2),var(--brand))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:13.5px;font-weight:500;transition:.18s;white-space:nowrap}.btn:hover{border-color:#2c4166;background:var(--panel-3)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{border:0;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#04101f;font-weight:700;box-shadow:0 10px 26px #4f8cff42}.btn.primary:hover{filter:brightness(1.06)}.btn.danger{background:var(--danger-soft);border-color:#ff6b8159;color:#ffc2ca}.btn.ghost{background:transparent}.btn.small{padding:6px 11px;font-size:12.5px;border-radius:8px}.btn.block{width:100%}.icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);display:grid;place-items:center;font-size:15px;transition:.18s}.icon-btn:hover{color:var(--text);border-color:#2c4166}.field{display:flex;flex-direction:column;gap:7px}.field>label{font-size:12.5px;color:var(--muted);letter-spacing:.3px}.input,select.input,textarea.input{width:100%;padding:10px 13px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);color:var(--text);outline:none;transition:.18s}.input::placeholder{color:#52627d}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #4f8cff26}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1 / -1}.hint{font-size:12px;color:var(--muted-2);line-height:1.7}.error-text{color:#ffb3bd;font-size:13px}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden}.auth-visual{position:relative;padding:56px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(700px 500px at 20% 10%,rgba(79,140,255,.24),transparent 60%),radial-gradient(600px 420px at 90% 90%,rgba(56,214,196,.16),transparent 60%),#080d17;border-right:1px solid var(--line-soft);overflow:hidden}.auth-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(79,140,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(79,140,255,.045) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 30% 30%,black,transparent 75%);mask-image:radial-gradient(circle at 30% 30%,black,transparent 75%);pointer-events:none}.auth-visual>*{position:relative;z-index:1}.auth-hero h1{margin:30px 0 14px;font-size:40px;line-height:1.2;letter-spacing:1px}.auth-hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}.auth-hero p{max-width:520px;color:var(--muted);font-size:15px;line-height:1.9;margin:0}.auth-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px}.auth-feature{padding:16px;border-radius:14px;border:1px solid var(--line-soft);background:#0f172899;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-feature strong{display:block;font-size:13.5px;margin:8px 0 4px}.auth-feature span{font-size:12px;color:var(--muted);line-height:1.6}.auth-feature .ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-size:15px}.auth-foot{color:var(--muted-2);font-size:12px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px 32px}.auth-card{width:100%;max-width:380px}.auth-card h2{margin:0 0 6px;font-size:24px}.auth-card .sub{color:var(--muted);font-size:13px;margin-bottom:26px}.auth-card form{display:flex;flex-direction:column;gap:15px}.auth-card .btn{margin-top:6px;padding:12px;font-size:14px}.auth-meta{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:12px;color:var(--muted-2)}.portal-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.portal-links a{padding:7px 12px;border-radius:9px;border:1px solid var(--line);color:var(--muted);font-size:12.5px;background:var(--panel)}.portal-links a:hover{color:var(--text);border-color:var(--brand)}.app-body{display:flex;min-height:calc(100vh - 64px)}.sidebar{width:268px;flex:none;border-right:1px solid var(--line-soft);background:#090e1999;padding:18px 14px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:calc(100vh - 64px)}.side-title{font-size:11.5px;letter-spacing:1.4px;color:var(--muted-2);text-transform:uppercase;padding:10px 10px 6px}.side-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--muted);text-align:left;width:100%;font-size:13.5px;transition:.18s}.side-item:hover{background:var(--panel);color:var(--text)}.side-item.active{background:linear-gradient(135deg,#4f8cff2e,#38d6c414);border-color:#4f8cff47;color:var(--text)}.side-item .dot{width:8px;height:8px;border-radius:50%;background:var(--muted-2);flex:none}.side-item .dot.online{background:var(--ok);box-shadow:0 0 9px #33d69fb3}.side-item .dot.disabled{background:var(--danger)}.side-item .meta{font-size:11px;color:var(--muted-2)}.content{flex:1;min-width:0;padding:24px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h1{margin:0;font-size:21px;letter-spacing:.4px}.page-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.card{background:linear-gradient(180deg,#141f35b8,#0d1423b8);border:1px solid var(--line-soft);border-radius:var(--radius);padding:20px}.card+.card{margin-top:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h3{margin:0;font-size:15px}.card-head .sub{color:var(--muted);font-size:12.5px;margin-top:3px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{position:relative;overflow:hidden;padding:18px;border-radius:14px;border:1px solid var(--line-soft);background:linear-gradient(160deg,#141f35e6,#0b111ee6)}.stat-card:after{content:"";position:absolute;right:-34px;top:-34px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(79,140,255,.22),transparent 70%)}.stat-card .label{color:var(--muted);font-size:12.5px}.stat-card .value{font-size:28px;font-weight:700;margin-top:6px;letter-spacing:.5px}.stat-card .extra{margin-top:4px;font-size:11.5px;color:var(--muted-2)}.table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--line-soft)}table.data{width:100%;border-collapse:collapse;font-size:13px;min-width:680px}table.data th{text-align:left;padding:11px 14px;background:#141f35b3;color:var(--muted);font-weight:500;font-size:12px;letter-spacing:.4px;white-space:nowrap}table.data td{padding:11px 14px;border-top:1px solid var(--line-soft);vertical-align:middle}table.data tbody tr:hover{background:#4f8cff0b}.cell-main{font-weight:500}.cell-sub{color:var(--muted-2);font-size:11.5px;margin-top:2px}.empty{padding:44px 18px;text-align:center;color:var(--muted-2)}.empty strong{display:block;color:var(--muted);font-size:14px;margin-bottom:4px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px;font-size:12.5px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;line-height:1.6;background:var(--panel-3);color:var(--muted);border:1px solid var(--line);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.online{color:#9df2d6;background:#33d69f1f;border-color:#33d69f4d}.badge.offline{color:#9fb0ca;background:#788caa1a}.badge.disabled{color:#ffc2ca;background:var(--danger-soft);border-color:#ff6b814d}.badge.brand{color:#bcd5ff;background:var(--brand-soft);border-color:#4f8cff4d}.badge.warn{color:#ffd9a6;background:#ffb4571f;border-color:#ffb4574d}.badge.danger{color:#ffc2ca;background:var(--danger-soft);border-color:#ff6b814d}.badge.plain:before{display:none}.tag{display:inline-block;padding:2px 8px;border-radius:7px;font-size:11px;background:var(--panel-3);color:var(--muted);border:1px solid var(--line-soft)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#04080fb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .16s ease}.modal{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#111b2e,#0b1322);box-shadow:var(--shadow);animation:pop-in .18s ease}.modal.wide{width:min(980px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line-soft);position:sticky;top:0;background:inherit;z-index:2}.modal-head h3{margin:0;font-size:16px}.modal-body{padding:22px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line-soft);position:sticky;bottom:0;background:inherit}.close{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:16px;line-height:1}.close:hover{color:var(--text)}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}.toast-wrap{position:fixed;top:78px;right:22px;z-index:120;display:flex;flex-direction:column;gap:9px;pointer-events:none}.toast{min-width:220px;max-width:360px;padding:11px 15px;border-radius:11px;border:1px solid var(--line);background:#121c30f5;box-shadow:0 14px 34px #00000061;font-size:13px;color:var(--text);animation:toast-in .2s ease;pointer-events:auto}.toast.success{border-color:#33d69f66}.toast.error{border-color:#ff6b8173}.toast.warn{border-color:#ffb45766}@keyframes toast-in{0%{opacity:0;transform:translate(14px)}}.live-shell{display:flex;gap:16px;min-height:calc(100vh - 112px)}.live-grid{flex:1;min-width:0;display:grid;gap:12px;align-content:start}.live-grid.cols-1{grid-template-columns:1fr}.live-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.live-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.live-tile{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line-soft);background:#05090f;aspect-ratio:16 / 9;cursor:pointer;transition:.18s}.live-tile.active{border-color:#4f8cffa6;box-shadow:0 0 0 2px #4f8cff2e,0 18px 40px #00000059}.live-tile video{width:100%;height:100%;object-fit:contain;display:block;background:#04070c;transform-origin:center center}.tile-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted-2);font-size:12.5px;text-align:center;padding:20px;background:radial-gradient(400px 220px at 50% 30%,rgba(79,140,255,.08),transparent 70%),#05090f}.tile-placeholder .spinner{width:24px;height:24px;border-radius:50%;border:2px solid rgba(79,140,255,.22);border-top-color:var(--brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tile-bar{position:absolute;left:0;right:0;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 12px;background:linear-gradient(180deg,rgba(3,6,11,.82),transparent);pointer-events:none}.tile-bar>*{pointer-events:auto}.tile-name{font-size:13px;font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.7);display:flex;align-items:center;gap:8px}.tile-tools{display:flex;align-items:center;gap:6px}.tile-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(0deg,rgba(3,6,11,.82),transparent);font-size:11.5px;color:#b9c8de;pointer-events:none}.tile-bottom .dotlive{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px #33d69fcc}.dotlive.off{background:#64748b!important;box-shadow:none!important}.tile-name .dotlive{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px #33d69fcc;flex:none}.settings-btn{padding:6px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.16);background:#090f1a99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);font-size:12px;display:inline-flex;align-items:center;gap:6px}.settings-btn:hover{border-color:var(--brand);background:#4f8cff38}.high-light-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.12),transparent 65%);mix-blend-mode:screen}.param-panel{width:332px;flex:none;border:1px solid var(--line-soft);border-radius:14px;background:linear-gradient(180deg,#141f35d9,#0a101ce6);padding:16px;max-height:calc(100vh - 112px);overflow-y:auto}.param-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.param-head h3{margin:0;font-size:14px}.param-section{font-size:11px;letter-spacing:1.2px;color:var(--muted-2);text-transform:uppercase;margin:16px 0 8px;padding-top:12px;border-top:1px dashed var(--line)}.param-section:first-of-type{border-top:0;padding-top:0;margin-top:0}.param-row{margin-bottom:12px}.param-row .row{justify-content:space-between;margin-bottom:5px}.param-row .name{font-size:12.5px;color:#c3d1e6}.param-row .val{font-family:var(--mono);font-size:11.5px;color:var(--brand-2)}input[type=range]{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--brand),var(--brand-2));outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#e9f2ff;border:2px solid var(--brand);box-shadow:0 2px 8px #0006;cursor:pointer}.switch{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;cursor:pointer;font-size:12.5px;color:#c3d1e6}.switch input{display:none}.switch .track{width:36px;height:20px;border-radius:999px;background:#24324c;border:1px solid var(--line);position:relative;transition:.18s;flex:none}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#90a2bd;transition:.18s}.switch input:checked+.track{background:linear-gradient(135deg,var(--brand),var(--brand-2));border-color:transparent}.switch input:checked+.track:after{transform:translate(16px);background:#06121f}.chip-group{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:5px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:11.5px;transition:.16s}.chip.active{border-color:#4f8cff80;background:var(--brand-soft);color:#cfe0ff}.capture-shell{--cap-bg: #0a111e;--cap-panel: #101a2c;--cap-line: #1f2d46;--cap-text: #e7eefb;--cap-muted: #8797b2;position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;overflow-y:auto;border-radius:0;background:var(--cap-bg);color:var(--cap-text);padding:16px 22px 26px}.capture-shell.theme-light{--cap-bg: #eef2f8;--cap-panel: #ffffff;--cap-line: #dbe3ef;--cap-text: #172033;--cap-muted: #64748b;background:var(--cap-bg);border-color:var(--cap-line);color:var(--cap-text);color-scheme:light}.capture-shell.theme-light .btn{background:#fff;border-color:var(--cap-line);color:var(--cap-text)}.capture-shell.theme-light .btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#04101f;border-color:transparent}.capture-shell.theme-light .btn.danger{background:#fff1f3;color:#c02643;border-color:#ffd0d8}.capture-shell.theme-light .mini-input{color:var(--cap-text)}.capture-shell.theme-light .slot-cover{background:#e6ebf4}.capture-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--cap-line);background:var(--cap-panel);margin-bottom:14px}.toolbar-group{display:flex;align-items:center;gap:7px;padding-right:12px;margin-right:2px;border-right:1px solid var(--cap-line)}.toolbar-group:last-child{border-right:0;padding-right:0}.toolbar-group>label{font-size:11.5px;color:var(--cap-muted);white-space:nowrap}.mini-input{width:56px;padding:5px 7px;border-radius:7px;border:1px solid var(--cap-line);background:transparent;color:var(--cap-text);font-size:12px;outline:none}.mini-input:focus{border-color:var(--brand)}.capture-shell .chip{background:transparent;border-color:var(--cap-line);color:var(--cap-muted)}.capture-shell .chip.active{background:var(--brand-soft);border-color:#4f8cff80;color:#cfe0ff}.capture-shell.theme-light .chip.active{color:#1d4ed8;background:#e3edff}.slot-grid{display:grid;gap:12px}.slot{position:relative;border-radius:12px;border:1px dashed var(--cap-line);background:var(--cap-panel);overflow:hidden;aspect-ratio:16 / 10;display:flex;flex-direction:column;cursor:pointer;transition:.16s}.slot:hover{border-color:#4f8cff80}.slot.filled{border-style:solid}.slot-cover{flex:1;min-height:0;background:#04070d;position:relative}.slot-remove{position:absolute;top:8px;right:8px;z-index:3;width:22px;height:22px;border-radius:6px;border:1px solid rgba(255,107,129,.4);background:#0a0f19b8;color:#ffb3bd;font-size:13px;line-height:1;opacity:0;transition:.16s}.slot:hover .slot-remove{opacity:1}.frame-pos{position:absolute;left:8px;bottom:8px;z-index:2;padding:2px 7px;border-radius:6px;font-size:10.5px;background:#04080fb8;border:1px solid rgba(255,255,255,.12);color:#d8e4f5;font-family:var(--mono)}.viewfinder-box{position:relative;width:150px;height:86px;border-radius:9px;overflow:hidden;border:1px solid var(--cap-line);background:#03060b;flex:none}.viewfinder-box canvas{width:100%;height:100%;display:block}.viewfinder-box .vf-label{position:absolute;left:6px;bottom:4px;font-size:9.5px;color:#cfe0ff;background:#04080f99;padding:0 5px;border-radius:4px}.slot-cover img{width:100%;height:100%;object-fit:cover;display:block}.slot-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--cap-muted);font-size:12px}.slot-empty .num{font-size:20px;font-family:var(--mono);opacity:.4}.slot-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;font-size:11px;color:var(--cap-muted);border-top:1px solid var(--cap-line);background:var(--cap-panel)}.slot-meta .idx{font-family:var(--mono);color:var(--cap-text);font-weight:600}.slot-badge{position:absolute;top:8px;left:8px;z-index:2;padding:2px 7px;border-radius:6px;font-size:10.5px;background:#04080fb8;border:1px solid rgba(255,255,255,.14);color:#d8e4f5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.slot-score{position:absolute;top:34px;left:8px;z-index:2;padding:2px 7px;border-radius:6px;font-size:10.5px;background:#33d69f29;border:1px solid rgba(51,214,159,.35);color:#9df2d6}.capture-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none;background:#fff;animation:flash .26s ease-out forwards}@keyframes flash{0%{opacity:.55}to{opacity:0}}.hotkeys{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;color:var(--cap-muted);font-size:11.5px}kbd{display:inline-block;min-width:22px;padding:2px 6px;border-radius:5px;border:1px solid var(--cap-line);border-bottom-width:2px;background:var(--cap-panel);color:var(--cap-text);font-family:var(--mono);font-size:10.5px;text-align:center}.strip-modal{width:min(960px,100%)}.strip-body{padding:18px;background:#05090f}.strip-scroll{display:flex;gap:10px;overflow:auto;padding:6px;border-radius:12px;background:#ffffff05}.strip-scroll.vertical{flex-direction:column;max-height:62vh;overflow-y:auto;overflow-x:hidden;align-items:center}.strip-scroll.horizontal{overflow-x:auto;overflow-y:hidden;max-width:100%}.strip-frame{position:relative;flex:none;border-radius:9px;overflow:hidden;border:1px solid #1d2b44;background:#03060b;cursor:pointer;transition:.14s;max-width:100%}.strip-scroll.horizontal .strip-frame{height:320px}.strip-scroll.vertical .strip-frame{width:min(760px,100%)}.strip-frame img{display:block;width:100%;height:100%;object-fit:contain}.strip-scroll.horizontal .strip-frame img{width:auto;height:100%}.strip-frame.current{border-color:var(--brand);box-shadow:0 0 0 2px #4f8cff47}.strip-frame .frame-no{position:absolute;left:6px;bottom:6px;padding:1px 7px;border-radius:5px;background:#03060bc7;color:#cfe0ff;font-family:var(--mono);font-size:10.5px}.strip-frame .frame-best{position:absolute;right:6px;top:6px;padding:1px 7px;border-radius:5px;background:#33d69f2e;border:1px solid rgba(51,214,159,.4);color:#9df2d6;font-size:10px}.strip-frame .frame-offset{position:absolute;right:6px;bottom:6px;padding:1px 7px;border-radius:5px;background:#03060bc7;color:#ffd9a6;font-family:var(--mono);font-size:10px}.original-img{max-width:100%;max-height:72vh;display:block;margin:0 auto;border-radius:10px}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.device-card{padding:18px;border-radius:14px;border:1px solid var(--line-soft);background:linear-gradient(160deg,#141f35e0,#0b111ee0);display:flex;flex-direction:column;gap:12px}.device-card.selected{border-color:#4f8cff8c;box-shadow:0 0 0 2px #4f8cff24}.device-card .top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.device-card h4{margin:0;font-size:15px}.device-card .code{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:1px}.device-card .actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.qr-box{display:grid;place-items:center;padding:16px;border-radius:12px;background:#f5f9ff;width:208px;height:208px;margin:0 auto}.qr-box img{width:176px;height:176px;display:block}.copy-box{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;border:1px solid var(--line);background:#060b1499;font-family:var(--mono);font-size:11.5px;color:#a9c7ff;word-break:break-all}.copy-box .btn{flex:none}.login-theme-parent .auth-visual{background:radial-gradient(700px 500px at 20% 10%,rgba(56,214,196,.2),transparent 60%),radial-gradient(600px 420px at 90% 90%,rgba(79,140,255,.2),transparent 60%),#080d17}.login-theme-admin .auth-visual{background:radial-gradient(700px 500px at 20% 10%,rgba(255,180,87,.14),transparent 60%),radial-gradient(600px 420px at 90% 90%,rgba(79,140,255,.18),transparent 60%),#080d17}@media (max-width: 1180px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-shell{flex-direction:column}.param-panel{width:100%;max-height:none}}@media (max-width: 900px){.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.sidebar{width:220px}.content{padding:16px}.form-grid{grid-template-columns:1fr}.live-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 680px){.topbar{padding:0 12px;gap:10px;height:58px}.brand-sub{display:none}.tabbar button{padding:6px 10px;font-size:12px}.app-body{flex-direction:column;min-height:calc(100vh - 58px)}.sidebar{width:100%;max-height:none;flex-direction:row;overflow-x:auto;padding:10px;border-right:0;border-bottom:1px solid var(--line-soft)}.sidebar .side-title{display:none}.side-item{width:auto;flex:none;white-space:nowrap}.live-grid.cols-2,.live-grid.cols-3{grid-template-columns:1fr}.topbar .user-name{display:none}.stat-grid{grid-template-columns:1fr}.capture-toolbar{gap:8px}.toolbar-group{border-right:0;padding-right:0}}
