.lang-switcher[data-v-ca03384a]{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 8px 0 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel-bg);color:var(--text);box-shadow:var(--shadow-soft);cursor:pointer;transition:border-color .15s ease}.lang-switcher[data-v-ca03384a]:hover{border-color:var(--primary)}.lang-switcher[data-v-ca03384a]:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.lang-switcher-icon[data-v-ca03384a]{width:16px;height:16px;flex:0 0 auto;color:var(--muted)}.lang-switcher select[data-v-ca03384a]{border:none;background:transparent;color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;outline:none}.lang-switcher select[data-v-ca03384a]:focus,.lang-switcher select[data-v-ca03384a]:focus-visible{border-color:transparent;box-shadow:none;outline:none}.theme-toggle[data-v-ee13acce]{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel-bg);color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-soft);transition:color .15s ease,border-color .15s ease}.theme-toggle[data-v-ee13acce]:hover{border-color:var(--primary)}.theme-toggle-icon[data-v-ee13acce]{width:16px;height:16px;flex:0 0 auto}.theme-toggle-label[data-v-ee13acce]{line-height:1;white-space:nowrap}.device-audio-player[data-v-7ac6d455]{position:fixed;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.stream-settings-presets[data-v-db1c8447]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.preset-btn.active[data-v-db1c8447]{border-color:var(--accent, #3b82f6);color:var(--accent, #3b82f6);font-weight:600}.remark-editor[data-v-b643f3c9]{display:flex;flex-direction:column;gap:8px}.remark-label[data-v-b643f3c9]{display:flex;flex-direction:column;gap:4px;font-size:12px;opacity:.9}.remark-label input[data-v-b643f3c9]{width:100%;box-sizing:border-box;padding:6px 8px;border-radius:6px;border:1px solid var(--border, #333);background:var(--input-bg, transparent);color:inherit}.remark-actions[data-v-b643f3c9]{display:flex;gap:8px;justify-content:flex-end}.remark-msg[data-v-b643f3c9]{margin:0;font-size:12px;opacity:.85}.remark-msg.danger[data-v-b643f3c9]{color:var(--danger, #ef4444)}/**
 * 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-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:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.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}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.reservation-card[data-v-3c4648c3]{display:flex;flex-direction:column;gap:10px}.reservation-card.compact[data-v-3c4648c3]{gap:6px;padding:8px 10px;border-radius:10px}.reservation-card.compact .reservation-badge[data-v-3c4648c3]{font-size:.68rem;padding:1px 7px}.reservation-card.compact .reservation-info[data-v-3c4648c3]{font-size:.74rem}.reservation-card.compact .reservation-warn[data-v-3c4648c3]{font-size:.7rem;padding:4px 6px}.reservation-card.compact .reservation-btn[data-v-3c4648c3],.reservation-card.compact .reservation-select[data-v-3c4648c3]{padding:6px 8px;font-size:.76rem}.reservation-card.compact .reservation-claim-btn[data-v-3c4648c3]{min-width:56px;padding-left:12px;padding-right:12px;white-space:nowrap}.reservation-card.is-expiring[data-v-3c4648c3]{outline:1px solid var(--warning-border);outline-offset:2px;border-radius:12px}.reservation-card.is-nudge[data-v-3c4648c3]{border-radius:12px;animation:reservation-nudge-3c4648c3 .9s ease-in-out 2}@keyframes reservation-nudge-3c4648c3{0%,to{box-shadow:0 0 0 0 var(--primary-ring)}50%{box-shadow:0 0 0 4px var(--primary-ring)}}@media(prefers-reduced-motion:reduce){.reservation-card.is-nudge[data-v-3c4648c3]{animation:none;outline:1px solid var(--primary);outline-offset:2px}}.reservation-warn[data-v-3c4648c3]{margin:0;padding:6px 8px;border-radius:8px;font-size:.78rem;background:var(--warning-bg);color:var(--warning-fg);border:1px solid var(--warning-border)}.reservation-client-busy[data-v-3c4648c3]{display:flex;flex-direction:column;gap:8px}.reservation-client-busy .reservation-btn[data-v-3c4648c3]{width:100%}.reservation-head[data-v-3c4648c3]{display:flex;align-items:center;justify-content:space-between}.reservation-title[data-v-3c4648c3]{font-weight:600;font-size:.85rem;color:var(--text-strong)}.reservation-badge[data-v-3c4648c3]{font-size:.72rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.reservation-badge.free[data-v-3c4648c3]{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-border)}.reservation-badge.mine[data-v-3c4648c3]{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary-border)}.reservation-badge.busy[data-v-3c4648c3]{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-border)}.reservation-claim-row[data-v-3c4648c3]{display:flex;align-items:stretch;gap:8px}.reservation-select[data-v-3c4648c3]{flex:1 1 auto;min-width:0;max-width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-input);color:var(--text);font-size:.82rem}.reservation-claim-btn[data-v-3c4648c3]{flex:0 0 auto;padding-left:18px;padding-right:18px}.reservation-info[data-v-3c4648c3]{margin:0;font-size:.82rem;color:var(--text)}.reservation-actions[data-v-3c4648c3]{display:flex;gap:8px}.reservation-btn[data-v-3c4648c3]{flex:1;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-input);color:var(--text);cursor:pointer;font-size:.82rem;font-weight:600}.reservation-btn[data-v-3c4648c3]:disabled{opacity:.5;cursor:not-allowed}.reservation-btn.primary[data-v-3c4648c3]{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary-border)}.reservation-btn.danger[data-v-3c4648c3]{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.reservation-error[data-v-3c4648c3]{margin:0;font-size:.78rem;color:var(--danger-fg)}.mpd-scrim[data-v-a21fac53]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:var(--overlay-strong)}.mpd-modal[data-v-a21fac53]{width:min(560px,100%);max-height:92dvh;overflow:auto;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-bg);color:var(--text);box-shadow:var(--shadow)}.mpd-header[data-v-a21fac53],.mpd-footer[data-v-a21fac53]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}.mpd-header[data-v-a21fac53]{border-bottom:1px solid var(--border-soft)}.mpd-header h3[data-v-a21fac53],.mpd-header p[data-v-a21fac53]{margin:0}.mpd-header h3[data-v-a21fac53]{font-size:1rem;color:var(--text-strong)}.mpd-header p[data-v-a21fac53]{margin-top:3px;color:var(--muted);font-size:.8rem}.mpd-close[data-v-a21fac53]{border:0;background:transparent;color:var(--muted);font-size:1.5rem;cursor:pointer}.mpd-error[data-v-a21fac53]{margin:14px 18px 0;padding:9px 10px;border-radius:6px;background:var(--danger-bg);color:var(--danger-fg);font-size:.82rem}.mpd-list[data-v-a21fac53]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px 18px}.mpd-row[data-v-a21fac53]{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:11px;border:1px solid var(--border-soft);border-radius:6px;background:var(--surface-input);cursor:pointer}.mpd-row input[data-v-a21fac53]{margin-top:3px}.mpd-row span[data-v-a21fac53]{display:flex;min-width:0;flex-direction:column;gap:3px}.mpd-row strong[data-v-a21fac53]{color:var(--text-strong);font-size:.84rem}.mpd-row small[data-v-a21fac53]{overflow:hidden;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;text-overflow:ellipsis}.mpd-footer[data-v-a21fac53]{justify-content:flex-end;border-top:1px solid var(--border-soft)}.mpd-btn[data-v-a21fac53]{min-height:34px;padding:0 13px;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--text);cursor:pointer}.mpd-btn.primary[data-v-a21fac53]{border-color:var(--primary-border);background:var(--primary);color:var(--text-on-primary)}@media(max-width:560px){.mpd-list[data-v-a21fac53]{grid-template-columns:1fr}}.uad-scrim[data-v-dd8f5797]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:var(--overlay-strong, rgba(15, 23, 42, .56))}.uad-modal[data-v-dd8f5797]{width:min(820px,100%);max-height:min(760px,92dvh);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--panel-border, #cbd5e1);border-radius:8px;background:var(--panel-bg, #ffffff);color:var(--text, #0f172a);box-shadow:var(--shadow, 0 22px 50px rgba(15, 23, 42, .18))}.uad-header[data-v-dd8f5797]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-soft, #e2e8f0)}.uad-header h3[data-v-dd8f5797],.uad-header p[data-v-dd8f5797]{margin:0}.uad-header h3[data-v-dd8f5797]{color:var(--text-strong, #0f172a);font-size:1rem}.uad-header p[data-v-dd8f5797]{margin-top:3px;color:var(--muted, #64748b);font-size:.76rem}.uad-close[data-v-dd8f5797]{width:32px;height:32px;flex:0 0 32px;padding:0;border:0;background:transparent;color:var(--muted, #64748b);font-size:1.5rem;line-height:1;cursor:pointer}.uad-feedback[data-v-dd8f5797]:empty{display:none}.uad-error[data-v-dd8f5797],.uad-hint[data-v-dd8f5797]{margin:10px 20px 0;padding:8px 10px;border-radius:6px;font-size:.8rem}.uad-error[data-v-dd8f5797]{background:var(--danger-bg, #fef2f2);color:var(--danger-fg, #991b1b)}.uad-hint[data-v-dd8f5797]{background:var(--surface-input, #f8fafc);color:var(--muted, #64748b)}.uad-body[data-v-dd8f5797]{min-height:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.85fr);overflow:auto}.uad-section[data-v-dd8f5797]{min-width:0;padding:18px 20px}.uad-devices[data-v-dd8f5797]{border-right:1px solid var(--border-soft, #e2e8f0)}.uad-side .uad-section+.uad-section[data-v-dd8f5797]{border-top:1px solid var(--border-soft, #e2e8f0)}.uad-section-head[data-v-dd8f5797]{min-height:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.uad-section h4[data-v-dd8f5797]{margin:0;color:var(--text-strong, #0f172a);font-size:.84rem}.uad-count[data-v-dd8f5797]{color:var(--muted, #64748b);font-size:.72rem;white-space:nowrap}.uad-device-tools[data-v-dd8f5797]{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;gap:6px;margin-bottom:10px}.uad-device-tools input[data-v-dd8f5797]{min-width:0;height:34px;padding:0 10px;border:1px solid var(--border, #cbd5e1);border-radius:6px;outline:none;background:var(--surface-input, #f8fafc);color:var(--text, #0f172a);font-size:.8rem}.uad-device-tools input[data-v-dd8f5797]:focus{border-color:var(--primary-border, #2563eb);box-shadow:0 0 0 3px var(--primary-ring, rgba(37, 99, 235, .14))}.uad-tool-btn[data-v-dd8f5797],.uad-btn[data-v-dd8f5797]{height:34px;padding:0 11px;border:1px solid var(--border, #cbd5e1);border-radius:6px;background:var(--surface-input, #f8fafc);color:var(--text, #0f172a);cursor:pointer;font-size:.76rem;white-space:nowrap}.uad-list[data-v-dd8f5797]{overflow:auto;border-top:1px solid var(--border-soft, #e2e8f0);border-bottom:1px solid var(--border-soft, #e2e8f0)}.uad-device-list[data-v-dd8f5797]{min-height:212px;max-height:390px}.uad-device-row[data-v-dd8f5797]{min-height:56px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid var(--border-soft, #e2e8f0);cursor:pointer}.uad-device-row[data-v-dd8f5797]:last-child{border-bottom:0}.uad-device-row.selected[data-v-dd8f5797]{background:var(--primary-ring, rgba(37, 99, 235, .08))}.uad-device-row input[data-v-dd8f5797],.uad-option-row input[data-v-dd8f5797]{width:16px;height:16px;margin:0;accent-color:var(--primary, #2563eb)}.uad-device-copy[data-v-dd8f5797]{min-width:0;display:flex;flex-direction:column;gap:3px}.uad-device-copy strong[data-v-dd8f5797]{overflow:hidden;color:var(--text-strong, #0f172a);font-size:.8rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.uad-device-copy code[data-v-dd8f5797]{overflow:hidden;color:var(--muted, #64748b);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.uad-status[data-v-dd8f5797]{color:var(--muted, #64748b);font-size:.69rem;white-space:nowrap}.uad-status.online[data-v-dd8f5797]{color:var(--ok-fg, #166534)}.uad-group-list[data-v-dd8f5797]{max-height:190px}.uad-option-row[data-v-dd8f5797]{min-height:38px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 4px;border-bottom:1px solid var(--border-soft, #e2e8f0);color:var(--text, #0f172a);cursor:pointer;font-size:.78rem}.uad-option-row[data-v-dd8f5797]:last-child{border-bottom:0}.uad-option-row small[data-v-dd8f5797]{color:var(--muted, #64748b);font-size:.68rem}.uad-caps[data-v-dd8f5797]{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.uad-empty[data-v-dd8f5797]{margin:0;padding:24px 8px;color:var(--muted, #64748b);font-size:.76rem;text-align:center}.uad-footer[data-v-dd8f5797]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border-soft, #e2e8f0);background:var(--panel-bg, #ffffff)}.uad-btn.primary[data-v-dd8f5797]{border-color:var(--primary-border, #2563eb);background:var(--primary, #2563eb);color:var(--text-on-primary, #ffffff)}.uad-btn[data-v-dd8f5797]:disabled{cursor:not-allowed;opacity:.55}@media(max-width:680px){.uad-scrim[data-v-dd8f5797]{align-items:end;padding:0}.uad-modal[data-v-dd8f5797]{width:100%;max-height:94dvh;border-right:0;border-bottom:0;border-left:0;border-radius:8px 8px 0 0}.uad-body[data-v-dd8f5797]{grid-template-columns:1fr}.uad-devices[data-v-dd8f5797]{border-right:0;border-bottom:1px solid var(--border-soft, #e2e8f0)}.uad-device-list[data-v-dd8f5797]{min-height:180px;max-height:280px}.uad-caps[data-v-dd8f5797]{grid-template-columns:1fr}}@media(max-width:430px){.uad-header[data-v-dd8f5797],.uad-section[data-v-dd8f5797],.uad-footer[data-v-dd8f5797]{padding-right:14px;padding-left:14px}.uad-device-tools[data-v-dd8f5797]{grid-template-columns:1fr 1fr}.uad-device-tools input[data-v-dd8f5797]{grid-column:1 / -1}}.admin-scrim[data-v-0a76dd5f]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-strong);display:grid;place-items:center;z-index:1000;padding:24px}.admin-modal[data-v-0a76dd5f]{width:min(1040px,100%);max-height:86vh;display:flex;flex-direction:column;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.admin-header[data-v-0a76dd5f]{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-soft)}.admin-header h2[data-v-0a76dd5f]{margin:0;font-size:1.05rem;color:var(--text-strong)}.admin-close[data-v-0a76dd5f]{border:none;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer}.admin-tabs[data-v-0a76dd5f]{display:flex;flex:0 0 auto;gap:6px;width:100%;min-width:0;box-sizing:border-box;padding:12px 20px 0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-padding-inline:20px;scrollbar-width:thin}.admin-tabs button[data-v-0a76dd5f]{flex:0 0 auto;padding:8px 14px;border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;background:var(--surface-input);color:var(--muted);cursor:pointer;font-weight:600;font-size:.85rem;white-space:nowrap}.admin-tabs button.active[data-v-0a76dd5f]{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary-border)}.admin-body[data-v-0a76dd5f]{flex:1 1 auto;min-height:0;padding:16px 20px 20px;overflow:auto}.admin-table[data-v-0a76dd5f]{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th[data-v-0a76dd5f],.admin-table td[data-v-0a76dd5f]{text-align:left;padding:10px;border-bottom:1px solid var(--border-soft);color:var(--text);vertical-align:middle}.admin-table th[data-v-0a76dd5f]{color:var(--muted);font-weight:600;white-space:nowrap}.admin-table td[data-v-0a76dd5f]:nth-child(3),.admin-table td[data-v-0a76dd5f]:nth-child(4){white-space:nowrap}.admin-row-actions[data-v-0a76dd5f]{display:flex;gap:6px 8px;flex-wrap:wrap;align-items:center}.admin-table td.admin-row-actions[data-v-0a76dd5f]{min-width:540px}.admin-table td[data-v-0a76dd5f]:nth-child(2){white-space:nowrap}.admin-create[data-v-0a76dd5f]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px;padding:14px;background:var(--surface-input);border:1px solid var(--border-soft);border-radius:12px}.admin-field[data-v-0a76dd5f]{display:flex;flex-direction:column;gap:5px;flex:1 1 150px;min-width:0;font-size:.74rem;color:var(--muted)}.admin-create input[data-v-0a76dd5f],.admin-create select[data-v-0a76dd5f]{width:100%;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel-bg);color:var(--text);font-size:.85rem}.admin-create-submit[data-v-0a76dd5f]{flex:0 0 auto}.admin-role-select[data-v-0a76dd5f]{height:30px;max-width:132px;padding:0 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-input);color:var(--text);font-size:.78rem}.admin-btn[data-v-0a76dd5f]{height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-input);color:var(--text);cursor:pointer;font-size:.78rem;white-space:nowrap}.admin-btn[data-v-0a76dd5f]:hover{border-color:var(--primary)}.admin-btn.primary[data-v-0a76dd5f]{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary-border)}.admin-btn.danger[data-v-0a76dd5f]{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.admin-pill[data-v-0a76dd5f]{display:inline-block;white-space:nowrap;font-size:.72rem;padding:3px 9px;border-radius:999px}.admin-dialog-scrim[data-v-0a76dd5f]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-strong);display:grid;place-items:center;z-index:1100;padding:24px}.admin-dialog[data-v-0a76dd5f]{width:min(420px,100%);display:flex;flex-direction:column;gap:14px;padding:20px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;box-shadow:var(--shadow)}.admin-dialog-title[data-v-0a76dd5f]{margin:0;font-size:.92rem;font-weight:600;color:var(--text-strong)}.admin-dialog-input[data-v-0a76dd5f]{width:100%;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-input);color:var(--text);font-size:.9rem}.admin-dialog-input[data-v-0a76dd5f]:focus{outline:none;border-color:var(--primary-border);box-shadow:0 0 0 3px var(--primary-ring)}.admin-dialog-actions[data-v-0a76dd5f]{display:flex;justify-content:flex-end;gap:8px}.admin-pill.on[data-v-0a76dd5f]{background:var(--ok-bg);color:var(--ok-fg)}.admin-pill.off[data-v-0a76dd5f]{background:var(--danger-bg);color:var(--danger-fg)}.admin-empty[data-v-0a76dd5f]{text-align:center;color:var(--muted);padding:18px}.admin-error[data-v-0a76dd5f]{margin:0 0 12px;padding:8px 10px;border-radius:8px;background:var(--danger-bg);color:var(--danger-fg);font-size:.82rem}.admin-agent-hint[data-v-0a76dd5f]{margin:0 0 10px}.admin-agent-heading[data-v-0a76dd5f],.admin-section-heading[data-v-0a76dd5f]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.admin-agent-heading h3[data-v-0a76dd5f],.admin-agent-heading p[data-v-0a76dd5f],.admin-section-heading h3[data-v-0a76dd5f],.admin-section-heading p[data-v-0a76dd5f]{margin:0}.admin-agent-heading h3[data-v-0a76dd5f],.admin-section-heading h3[data-v-0a76dd5f]{color:var(--text-strong);font-size:.9rem}.admin-agent-heading p[data-v-0a76dd5f]{max-width:650px;margin-top:4px;color:var(--muted);font-size:.77rem;line-height:1.5}.admin-pairing-create[data-v-0a76dd5f]{margin-bottom:12px}.admin-enroll-result[data-v-0a76dd5f]{margin:0 0 16px;padding:12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-input);color:var(--text);font-size:.8rem}.admin-enroll-result p[data-v-0a76dd5f]{margin:0 0 8px}.admin-enroll-result p[data-v-0a76dd5f]:last-child{margin-bottom:0}.admin-pairing-status[data-v-0a76dd5f]{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:10px}.admin-advanced[data-v-0a76dd5f]{margin:4px 0 18px;padding:10px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);color:var(--text)}.admin-advanced summary[data-v-0a76dd5f]{color:var(--muted);cursor:pointer;font-size:.78rem;font-weight:600}.admin-advanced[open] summary[data-v-0a76dd5f]{margin-bottom:10px}.admin-advanced .admin-create[data-v-0a76dd5f]{margin-bottom:10px}.admin-advanced .admin-create .admin-hint[data-v-0a76dd5f]{flex:1 1 360px;margin:0}.admin-section-heading[data-v-0a76dd5f]{margin-top:20px}.admin-license-section[data-v-0a76dd5f]{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-soft)}.admin-license-section .admin-section-heading[data-v-0a76dd5f]{margin-top:0}.admin-license-section .admin-section-heading .admin-hint[data-v-0a76dd5f]{margin:4px 0 0;font-size:.75rem}.admin-pairing-json[data-v-0a76dd5f]{max-height:160px;overflow:auto;padding:8px;border-radius:8px;background:var(--surface-input, #111);font-size:.72rem;white-space:pre-wrap;word-break:break-all}.admin-qr-wrap[data-v-0a76dd5f]{margin:8px 0}.admin-qr-wrap img[data-v-0a76dd5f]{border-radius:8px;background:#fff;padding:8px}.admin-mono[data-v-0a76dd5f]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.admin-detail[data-v-0a76dd5f]{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:680px){.admin-scrim[data-v-0a76dd5f]{align-items:end;padding:0}.admin-modal[data-v-0a76dd5f]{max-height:96dvh;border-radius:8px 8px 0 0}.admin-header[data-v-0a76dd5f],.admin-body[data-v-0a76dd5f]{padding-right:14px;padding-left:14px}.admin-tabs[data-v-0a76dd5f]{padding-left:14px;padding-right:14px;scroll-padding-inline:14px}.admin-agent-heading[data-v-0a76dd5f],.admin-section-heading[data-v-0a76dd5f]{align-items:flex-start}}.sed-scrim[data-v-2b59ace2]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:20px;background:var(--overlay-strong)}.sed-modal[data-v-2b59ace2]{width:min(720px,100%);max-height:92dvh;overflow:hidden;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-bg);color:var(--text);box-shadow:var(--shadow)}.sed-header[data-v-2b59ace2],.sed-section-head[data-v-2b59ace2],.sed-section-head>div[data-v-2b59ace2],.sed-device-row[data-v-2b59ace2],.sed-pairing-meta[data-v-2b59ace2],.sed-pairing-actions[data-v-2b59ace2],.sed-btn[data-v-2b59ace2],.sed-download[data-v-2b59ace2],.sed-icon-action[data-v-2b59ace2]{display:flex;align-items:center}.sed-header[data-v-2b59ace2]{justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--border-soft)}.sed-header h2[data-v-2b59ace2],.sed-section h3[data-v-2b59ace2]{margin:0;color:var(--text-strong)}.sed-header h2[data-v-2b59ace2]{font-size:1.05rem}.sed-body[data-v-2b59ace2]{max-height:calc(92dvh - 58px);overflow:auto;padding:18px}.sed-section+.sed-section[data-v-2b59ace2]{margin-top:22px;padding-top:18px;border-top:1px solid var(--border-soft)}.sed-section-head[data-v-2b59ace2]{justify-content:space-between;gap:12px;margin-bottom:12px}.sed-section-head>div[data-v-2b59ace2]{min-width:0;gap:9px}.sed-section h3[data-v-2b59ace2]{font-size:.92rem}.sed-step[data-v-2b59ace2]{flex:0 0 auto;color:var(--primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:700}.sed-section-copy[data-v-2b59ace2]{margin:0 0 12px;color:var(--muted);font-size:.8rem;line-height:1.55}.sed-form[data-v-2b59ace2]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.sed-form label[data-v-2b59ace2]{display:flex;min-width:0;flex-direction:column;gap:5px;color:var(--muted);font-size:.76rem}.sed-form input[data-v-2b59ace2]{width:100%;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--text)}.sed-btn[data-v-2b59ace2]{justify-content:center;gap:7px;min-height:34px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--text);cursor:pointer;white-space:nowrap}.sed-btn.primary[data-v-2b59ace2]{border-color:var(--primary-border);background:var(--primary);color:var(--text-on-primary)}.sed-btn.danger[data-v-2b59ace2]{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-fg)}.sed-btn[data-v-2b59ace2]:disabled{cursor:not-allowed;opacity:.55}.sed-download[data-v-2b59ace2]{width:fit-content;text-decoration:none}.sed-download.disabled[data-v-2b59ace2]{pointer-events:none;opacity:.55}.sed-credentials[data-v-2b59ace2]{margin-top:12px;border:1px solid var(--border-soft);border-radius:6px;background:var(--surface-input)}.sed-secret-row[data-v-2b59ace2]{display:grid;grid-template-columns:108px minmax(0,1fr) 34px;align-items:center;gap:10px;min-height:46px;padding:6px 8px 6px 12px}.sed-secret-row+.sed-secret-row[data-v-2b59ace2]{border-top:1px solid var(--border-soft)}.sed-secret-row>span[data-v-2b59ace2]{color:var(--muted);font-size:.74rem}.sed-secret-row code[data-v-2b59ace2]{min-width:0;overflow:hidden;color:var(--text-strong);font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.sed-icon-action[data-v-2b59ace2]{justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.sed-icon-action[data-v-2b59ace2]:hover{background:var(--surface-hover);color:var(--text)}.sed-secret-note[data-v-2b59ace2],.sed-warning[data-v-2b59ace2]{margin:0;padding:9px 12px;border-top:1px solid var(--border-soft);color:var(--muted);font-size:.74rem;line-height:1.5}.sed-steps[data-v-2b59ace2]{margin:0 0 12px;padding-left:22px;color:var(--text);font-size:.78rem;line-height:1.7}.sed-platform-downloads[data-v-2b59ace2]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.sed-platform-commands[data-v-2b59ace2]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sed-platform-commands>div>span[data-v-2b59ace2]{display:block;margin-bottom:5px;color:var(--muted);font-size:.72rem}.sed-command[data-v-2b59ace2]{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:start;padding:10px 8px 10px 12px;border:1px solid var(--border-soft);border-radius:6px;background:#101419;color:#e7edf3}.sed-command code[data-v-2b59ace2]{overflow:auto;font-size:.72rem;line-height:1.6;white-space:pre}.sed-command .sed-icon-action[data-v-2b59ace2]{color:#aeb9c4}.sed-warning[data-v-2b59ace2]{margin-top:8px;border:0;border-left:3px solid #d9a441;background:var(--surface-input)}.sed-icon-btn[data-v-2b59ace2]{width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:1.45rem;cursor:pointer}.sed-icon-btn.refresh[data-v-2b59ace2]{font-size:1.15rem}.sed-error[data-v-2b59ace2]{margin:0 0 12px;padding:9px 10px;border-radius:6px;background:var(--danger-bg);color:var(--danger-fg);font-size:.82rem}.sed-pairing[data-v-2b59ace2]{margin-top:14px;padding:14px;border:1px solid var(--border-soft);border-radius:6px;background:var(--surface-input)}.sed-pairing-meta[data-v-2b59ace2],.sed-pairing-actions[data-v-2b59ace2]{flex-wrap:wrap;gap:8px}.sed-pairing-content[data-v-2b59ace2]{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:12px;margin:12px 0}.sed-pairing img[data-v-2b59ace2]{display:block;width:min(220px,100%);height:auto;margin:0;padding:6px;border-radius:6px;background:#fff}.sed-pairing-json-wrap[data-v-2b59ace2]{min-width:0}.sed-pairing-json-wrap>span[data-v-2b59ace2]{display:block;margin-bottom:6px;color:var(--muted);font-size:.72rem}.sed-pairing-json[data-v-2b59ace2]{min-height:220px;margin:0;padding:10px 12px;overflow:auto;border:1px solid var(--border-soft);border-radius:6px;background:#101419;color:#e7edf3;font-size:.7rem;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.sed-status[data-v-2b59ace2]{flex:0 0 auto;padding:3px 8px;border-radius:999px;font-size:.72rem}.sed-status.on[data-v-2b59ace2]{background:var(--ok-bg);color:var(--ok-fg)}.sed-status.off[data-v-2b59ace2],.sed-status.pending[data-v-2b59ace2]{background:var(--surface-input);color:var(--muted)}.sed-muted[data-v-2b59ace2],.sed-empty[data-v-2b59ace2]{color:var(--muted);font-size:.78rem}.sed-device-list[data-v-2b59ace2]{display:flex;flex-direction:column;gap:8px}.sed-device-row[data-v-2b59ace2]{gap:9px;min-width:0;padding:10px;border:1px solid var(--border-soft);border-radius:6px;background:var(--surface-input)}.sed-device-copy[data-v-2b59ace2]{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:3px}.sed-device-copy strong[data-v-2b59ace2],.sed-device-copy code[data-v-2b59ace2]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sed-device-copy strong[data-v-2b59ace2]{color:var(--text-strong);font-size:.84rem}.sed-device-copy code[data-v-2b59ace2]{color:var(--muted);font-size:.7rem}.sed-empty[data-v-2b59ace2]{margin:0;padding:18px;text-align:center}@media(max-width:620px){.sed-scrim[data-v-2b59ace2]{align-items:end;padding:0}.sed-modal[data-v-2b59ace2]{max-height:96dvh;border-radius:8px 8px 0 0}.sed-form[data-v-2b59ace2]{grid-template-columns:1fr}.sed-section-head[data-v-2b59ace2]{align-items:flex-start;flex-direction:column}.sed-section-head>.sed-btn[data-v-2b59ace2]{width:100%}.sed-secret-row[data-v-2b59ace2]{grid-template-columns:minmax(0,1fr) 34px}.sed-secret-row>span[data-v-2b59ace2]{grid-column:1 / -1;padding-top:5px}.sed-device-row[data-v-2b59ace2]{flex-wrap:wrap}.sed-platform-commands[data-v-2b59ace2],.sed-pairing-content[data-v-2b59ace2]{grid-template-columns:1fr}.sed-pairing-json[data-v-2b59ace2]{min-height:0}.sed-device-copy[data-v-2b59ace2]{flex-basis:calc(100% - 72px)}}.sync-panel[data-v-cdd24c55]{max-width:560px;border:1px solid var(--panel-border);border-radius:14px;padding:14px 16px;margin-bottom:16px;background:var(--panel-bg);box-shadow:var(--shadow-soft);color:var(--text)}.sync-head[data-v-cdd24c55]{display:flex;align-items:center;justify-content:space-between;gap:10px}.sync-title[data-v-cdd24c55]{margin:0;display:inline-flex;align-items:center;gap:7px;font-size:.95rem;font-weight:700;color:var(--text-strong)}.sync-badge[data-v-cdd24c55]{font-size:.62rem;font-weight:600;padding:1px 6px;border-radius:999px;background:var(--warning-bg);color:var(--warning-fg);border:1px solid var(--warning-border)}.sync-status[data-v-cdd24c55]{font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid var(--border)}.sync-status.on[data-v-cdd24c55]{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-border)}.sync-status.paused[data-v-cdd24c55]{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-border)}.sync-sub[data-v-cdd24c55]{margin:6px 0 12px;font-size:.76rem;color:var(--muted)}.sync-toolbar[data-v-cdd24c55]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sync-search[data-v-cdd24c55]{flex:1;min-width:0;padding:5px 10px;font-size:.78rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-input);color:var(--text)}.bulk[data-v-cdd24c55]{display:flex;gap:6px;flex:none;margin-left:auto}.mini-btn[data-v-cdd24c55]{padding:4px 10px;font-size:.72rem;font-weight:500;border-radius:8px;border:1px solid var(--border-strong);background:transparent;color:var(--text);cursor:pointer;transition:background .15s ease}.mini-btn[data-v-cdd24c55]:hover:not(:disabled){background:var(--surface-2)}.mini-btn[data-v-cdd24c55]:disabled{opacity:.45;cursor:not-allowed}.dev-scroll[data-v-cdd24c55]{max-height:240px;overflow-y:auto;border:1px solid var(--border-soft);border-radius:10px;margin-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.dev-scroll[data-v-cdd24c55]::-webkit-scrollbar{width:6px}.dev-scroll[data-v-cdd24c55]::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.dev-none[data-v-cdd24c55]{padding:14px;text-align:center;font-size:.78rem;color:var(--muted)}.dev-table[data-v-cdd24c55]{overflow:hidden}.dev-row[data-v-cdd24c55]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;background:transparent;box-shadow:inset 0 0 0 0 transparent;transition:box-shadow .15s ease,background .15s ease}.dev-row+.dev-row[data-v-cdd24c55]{border-top:1px solid var(--border-soft)}.dev-row.is-master[data-v-cdd24c55]{box-shadow:inset 3px 0 0 0 var(--primary);background:var(--primary-ring)}.dev-row.is-slave[data-v-cdd24c55]{box-shadow:inset 3px 0 0 0 var(--ok-fg)}.dev-name[data-v-cdd24c55]{font-size:.84rem;font-weight:500;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-row.is-master .dev-name[data-v-cdd24c55],.dev-row.is-slave .dev-name[data-v-cdd24c55]{color:var(--text-strong)}.seg[data-v-cdd24c55]{display:inline-flex;flex:none;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.seg-btn[data-v-cdd24c55]{padding:3px 11px;font-size:.72rem;font-weight:600;border:0;border-radius:0;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}.seg-btn+.seg-btn[data-v-cdd24c55]{border-left:1px solid var(--border)}.seg-btn[data-v-cdd24c55]:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.seg .seg-btn.on[data-v-cdd24c55]{background:var(--primary);color:var(--text-on-primary)}.seg .seg-btn.slave.on[data-v-cdd24c55]{background:var(--ok-fg);color:#06281a}.seg-btn[data-v-cdd24c55]:disabled{opacity:.4;cursor:not-allowed}.sync-row-inline[data-v-cdd24c55]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.inline-label[data-v-cdd24c55]{font-size:.74rem;color:var(--muted);flex:none}.chips[data-v-cdd24c55]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-cdd24c55]{padding:3px 10px;font-size:.72rem;font-weight:500;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease}.chip.on[data-v-cdd24c55]{border-color:var(--primary-border);color:var(--primary);font-weight:600}.sync-foot[data-v-cdd24c55],.sync-actions[data-v-cdd24c55]{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.muted-hint[data-v-cdd24c55]{font-size:.74rem;color:var(--muted)}.muted-hint.ready[data-v-cdd24c55]{color:var(--ok-fg)}.member-line[data-v-cdd24c55]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:4px 0 12px;font-size:.82rem}.role-tag[data-v-cdd24c55]{font-size:.62rem;font-weight:700;padding:1px 6px;border-radius:5px}.role-tag.master[data-v-cdd24c55]{background:var(--primary);color:var(--text-on-primary)}.member-name[data-v-cdd24c55]{font-weight:600;color:var(--text-strong)}.member-arrow[data-v-cdd24c55]{color:var(--muted)}.slave-chip[data-v-cdd24c55]{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);font-size:.76rem}.slave-dot[data-v-cdd24c55]{width:7px;height:7px;border-radius:50%;flex:none}.slave-chip.live .slave-dot[data-v-cdd24c55],.slave-chip.ok .slave-dot[data-v-cdd24c55]{background:var(--ok-fg)}.slave-chip.warn .slave-dot[data-v-cdd24c55]{background:var(--warning-fg)}.slave-chip.dead .slave-dot[data-v-cdd24c55]{background:var(--danger-fg)}.slave-chip.ok[data-v-cdd24c55]{border-color:var(--ok-border)}.slave-chip.warn[data-v-cdd24c55]{border-color:var(--warning-border)}.slave-chip.dead[data-v-cdd24c55]{border-color:var(--danger-border)}.slave-res[data-v-cdd24c55]{font-size:.68rem;color:var(--muted)}.slave-chip.ok .slave-res[data-v-cdd24c55]{color:var(--ok-fg)}.slave-chip.warn .slave-res[data-v-cdd24c55]{color:var(--warning-fg)}.slave-chip.dead .slave-res[data-v-cdd24c55]{color:var(--danger-fg)}.active-meta[data-v-cdd24c55]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.mode-badge[data-v-cdd24c55]{font-size:.7rem;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--primary-ring);color:var(--primary);border:1px solid var(--primary-border)}.mode-badge-sub[data-v-cdd24c55]{font-size:.74rem;color:var(--muted)}.mode-seg[data-v-cdd24c55]{flex:none}.mode-hint[data-v-cdd24c55]{font-size:.74rem;color:var(--muted)}.sync-empty[data-v-cdd24c55]{font-size:.8rem;color:var(--muted);padding:12px;border:1px dashed var(--border);border-radius:10px;text-align:center}.btn[data-v-cdd24c55]{padding:6px 14px;font-size:.78rem;font-weight:600;border-radius:9px;border:1px solid transparent;cursor:pointer;transition:filter .15s ease,background .15s ease,opacity .15s ease}.btn-primary[data-v-cdd24c55]{background:var(--primary);color:var(--text-on-primary)}.btn-primary[data-v-cdd24c55]:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost[data-v-cdd24c55]{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost[data-v-cdd24c55]:hover:not(:disabled){background:var(--surface-2)}.btn-ghost.danger[data-v-cdd24c55]{color:var(--danger-fg);border-color:var(--danger-border)}.btn-danger[data-v-cdd24c55]{background:var(--danger-fg);color:#fff}.btn[data-v-cdd24c55]:disabled{opacity:.48;cursor:not-allowed}.sync-alert[data-v-cdd24c55]{margin:12px 0 0;padding:7px 11px;border-radius:9px;font-size:.78rem;border:1px solid transparent}.sync-alert.ok[data-v-cdd24c55]{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-border)}.sync-alert.err[data-v-cdd24c55]{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.sync-alert-enter-active[data-v-cdd24c55],.sync-alert-leave-active[data-v-cdd24c55]{transition:opacity .2s ease,transform .2s ease}.sync-alert-enter-from[data-v-cdd24c55],.sync-alert-leave-to[data-v-cdd24c55]{opacity:0;transform:translateY(-4px)}@media(max-width:520px){.dev-row[data-v-cdd24c55]{flex-direction:column;align-items:stretch;gap:8px}.seg[data-v-cdd24c55]{width:100%}.seg-btn[data-v-cdd24c55]{flex:1}.sync-row-inline[data-v-cdd24c55]{align-items:flex-start;flex-direction:column;gap:6px}}.ai-workspace[data-v-453777e5]{width:min(1100px,100%);min-height:560px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);border-top:1px solid var(--border-soft)}.ai-compose[data-v-453777e5],.ai-activity[data-v-453777e5]{padding:28px;min-width:0}.ai-compose[data-v-453777e5]{display:flex;flex-direction:column;gap:22px;border-right:1px solid var(--border-soft)}.ai-provider-settings[data-v-453777e5]{display:grid;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--border-soft)}.ai-provider-head[data-v-453777e5]{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ai-provider-head p[data-v-453777e5]{margin:5px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}.ai-provider-state[data-v-453777e5]{flex:0 0 auto;padding:3px 7px;border:1px solid var(--warning-border);border-radius:5px;background:var(--warning-bg);color:var(--warning-fg);font-size:.68rem}.ai-provider-state.ready[data-v-453777e5]{border-color:var(--ok-border);background:var(--ok-bg);color:var(--ok-fg)}.ai-model-row[data-v-453777e5]{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px}.ai-secret-input[data-v-453777e5]{display:grid;grid-template-columns:minmax(0,1fr) 40px}.ai-secret-input input[data-v-453777e5]{border-radius:6px 0 0 6px}.ai-icon-button[data-v-453777e5]{width:40px;min-width:40px;border:1px solid var(--border);border-left:0;border-radius:0 6px 6px 0}.ai-icon-button svg[data-v-453777e5],.ai-settings-actions svg[data-v-453777e5]{width:16px;height:16px}.ai-settings-actions[data-v-453777e5]{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ai-settings-actions .primary[data-v-453777e5]{min-height:38px}.ai-remove-key[data-v-453777e5]{width:38px;min-width:38px;min-height:38px;padding:0}.ai-field[data-v-453777e5]{display:grid;gap:8px}.ai-field label[data-v-453777e5],.ai-section-label[data-v-453777e5]{font-size:.74rem;font-weight:700;color:var(--muted);text-transform:uppercase}.ai-field select[data-v-453777e5],.ai-field textarea[data-v-453777e5],.ai-field input[data-v-453777e5]{width:100%;border:1px solid var(--border);border-radius:6px;background:var(--surface-input);color:var(--text);padding:11px 12px;font:inherit}.ai-field textarea[data-v-453777e5]{min-height:180px;resize:vertical;line-height:1.65}.ai-field select[data-v-453777e5]:focus,.ai-field textarea[data-v-453777e5]:focus,.ai-field input[data-v-453777e5]:focus{outline:2px solid var(--primary-ring);border-color:var(--primary-border)}.ai-goal-field[data-v-453777e5]{position:relative}.ai-char-count[data-v-453777e5]{justify-self:end;font-size:.7rem;color:var(--muted)}.ai-actions[data-v-453777e5]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ai-command[data-v-453777e5]{min-width:112px;min-height:40px}.ai-inline-message[data-v-453777e5]{flex:1 1 180px;font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.ai-inline-message.error[data-v-453777e5],.ai-error[data-v-453777e5]{color:var(--danger-fg)}.ai-activity[data-v-453777e5]{display:flex;flex-direction:column;gap:18px}.ai-run-head[data-v-453777e5],.ai-step-line[data-v-453777e5]{display:flex;justify-content:space-between;align-items:center;gap:12px}.ai-run-head>div[data-v-453777e5]{display:grid;gap:5px}.ai-run-head strong[data-v-453777e5]{font-size:1rem}.ai-status[data-v-453777e5]{border:1px solid var(--idle-border);border-radius:999px;padding:4px 9px;color:var(--idle-fg);background:var(--idle-bg);font-size:.7rem}.ai-status.is-running[data-v-453777e5],.ai-status.is-queued[data-v-453777e5],.ai-status.is-cancelling[data-v-453777e5]{color:var(--warning-fg);border-color:var(--warning-border);background:var(--warning-bg)}.ai-status.is-succeeded[data-v-453777e5]{color:var(--ok-fg);border-color:var(--ok-border);background:var(--ok-bg)}.ai-status.is-failed[data-v-453777e5],.ai-status.is-interrupted[data-v-453777e5]{color:var(--danger-fg);border-color:var(--danger-border);background:var(--danger-bg)}.ai-run-summary[data-v-453777e5]{padding-bottom:16px;border-bottom:1px solid var(--border-soft)}.ai-run-summary p[data-v-453777e5],.ai-step p[data-v-453777e5]{margin:0;overflow-wrap:anywhere}.ai-run-summary p+p[data-v-453777e5]{margin-top:8px}.ai-result[data-v-453777e5]{color:var(--ok-fg)}.ai-timeline[data-v-453777e5]{list-style:none;margin:0;padding:0;display:grid}.ai-step[data-v-453777e5]{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--border-soft)}.ai-step-index[data-v-453777e5]{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--muted);font-size:.72rem}.ai-step-body[data-v-453777e5]{display:grid;gap:6px;min-width:0}.ai-step-line strong[data-v-453777e5]{font-size:.84rem}.ai-step-line span[data-v-453777e5],.ai-step p[data-v-453777e5]{color:var(--muted);font-size:.76rem}.ai-empty[data-v-453777e5]{min-height:180px;display:grid;place-items:center;color:var(--muted);border-bottom:1px solid var(--border-soft)}.ai-history[data-v-453777e5]{display:grid;gap:6px;margin-top:auto}.ai-history button[data-v-453777e5]{display:flex;justify-content:space-between;gap:12px;width:100%;padding:9px 10px;border:0;border-left:2px solid transparent;background:transparent;color:var(--text);cursor:pointer;text-align:left}.ai-history button[data-v-453777e5]:hover,.ai-history button.active[data-v-453777e5]{background:var(--surface-2);border-left-color:var(--primary)}.ai-history button span[data-v-453777e5]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-history small[data-v-453777e5]{flex-shrink:0;color:var(--muted)}@media(max-width:820px){.ai-workspace[data-v-453777e5]{grid-template-columns:minmax(0,1fr)}.ai-compose[data-v-453777e5]{border-right:0;border-bottom:1px solid var(--border-soft)}.ai-compose[data-v-453777e5],.ai-activity[data-v-453777e5]{padding:18px 4px}.ai-model-row[data-v-453777e5]{grid-template-columns:minmax(0,1fr)}}.developer-code[data-v-80a0b169]{min-width:0;margin-top:12px;overflow:hidden;border:1px solid rgba(148,163,184,.2);border-radius:6px;background:var(--code-bg);color:var(--code-fg)}.developer-code-head[data-v-80a0b169]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:3px 5px 3px 13px;border-bottom:1px solid rgba(148,163,184,.2);color:#a8b4c6;font-size:.72rem}.developer-code-copy[data-v-80a0b169]{display:inline-grid;place-items:center;flex:0 0 auto;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:#a8b4c6}.developer-code-copy[data-v-80a0b169]:hover{border-color:#94a3b847;background:#94a3b81f;color:#f8fafc}.developer-code-copy svg[data-v-80a0b169]{width:15px;height:15px}pre[data-v-80a0b169]{max-width:100%;margin:0;padding:15px;overflow:auto;color:var(--code-fg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.76rem;line-height:1.6;-moz-tab-size:2;tab-size:2}code[data-v-80a0b169]{display:block;min-width:max-content;color:inherit;font:inherit;white-space:pre}.developer-endpoints[data-v-684b50bd]{min-width:0;border-top:1px solid var(--border-soft)}.developer-endpoint[data-v-684b50bd]{display:grid;grid-template-columns:58px minmax(210px,1.15fr) 112px minmax(160px,1fr);align-items:center;gap:10px;min-height:46px;padding:8px 4px;border-bottom:1px solid var(--border-soft)}.developer-endpoint code[data-v-684b50bd]{overflow:hidden;color:var(--text-strong);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.developer-endpoint small[data-v-684b50bd]{color:var(--muted);font-size:.68rem}.developer-endpoint p[data-v-684b50bd]{margin:0;color:var(--muted);font-size:.76rem}.developer-method[data-v-684b50bd]{display:inline-flex;justify-content:center;width:54px;padding:3px 4px;border:1px solid var(--border-soft);border-radius:4px;font-size:.65rem;font-weight:800}.developer-method.is-get[data-v-684b50bd]{color:#0284c7}.developer-method.is-post[data-v-684b50bd]{color:#16a34a}.developer-method.is-delete[data-v-684b50bd]{color:#e11d48}@media(max-width:840px){.developer-endpoint[data-v-684b50bd]{grid-template-columns:58px minmax(0,1fr) 94px}.developer-endpoint p[data-v-684b50bd]{grid-column:2 / -1}}@media(max-width:560px){.developer-endpoint[data-v-684b50bd]{grid-template-columns:54px minmax(0,1fr)}.developer-endpoint small[data-v-684b50bd]{grid-column:2}.developer-endpoint p[data-v-684b50bd]{grid-column:1 / -1}}.developer-shell[data-v-9ed6f6a9]{height:100vh;height:100dvh;min-height:0;overflow:hidden}.developer-page[data-v-9ed6f6a9]{display:grid;grid-template-columns:180px minmax(0,1fr) 300px;align-items:stretch;gap:28px;min-height:0;padding-top:18px;overflow:hidden}.developer-index[data-v-9ed6f6a9],.developer-token-panel[data-v-9ed6f6a9]{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.developer-index[data-v-9ed6f6a9]{align-content:start;display:grid;gap:3px;padding:2px 4px 24px 0}.developer-index a[data-v-9ed6f6a9]{display:flex;align-items:center;gap:8px;min-height:36px;padding:7px 8px;border-radius:6px;color:var(--muted);text-decoration:none}.developer-index a[data-v-9ed6f6a9]:hover{background:var(--surface-2);color:var(--text-strong)}.developer-index svg[data-v-9ed6f6a9],.developer-section-title>svg[data-v-9ed6f6a9]{width:17px;height:17px;flex:0 0 auto}.developer-eyebrow[data-v-9ed6f6a9]{margin-bottom:6px;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.developer-content[data-v-9ed6f6a9]{min-width:0;min-height:0;padding:2px 12px 32px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.developer-section[data-v-9ed6f6a9]{scroll-margin-top:2px;padding:0 0 34px;margin-bottom:30px;border-bottom:1px solid var(--border-soft)}.developer-section[data-v-9ed6f6a9]:last-child{border-bottom:0}.developer-section-title[data-v-9ed6f6a9]{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px}.developer-section-title>svg[data-v-9ed6f6a9]{margin-top:3px;color:var(--primary)}.developer-section h2[data-v-9ed6f6a9],.developer-token-panel h2[data-v-9ed6f6a9]{margin:0;font-size:1.05rem;letter-spacing:0}.developer-section h3[data-v-9ed6f6a9]{margin:0 0 10px;font-size:.86rem;letter-spacing:0}.developer-section-title p[data-v-9ed6f6a9],.developer-token-panel p[data-v-9ed6f6a9],.developer-request-grid p[data-v-9ed6f6a9],.developer-note[data-v-9ed6f6a9]{margin:4px 0 0;color:var(--muted);font-size:.84rem;line-height:1.55}.developer-facts[data-v-9ed6f6a9]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border-soft);border-radius:6px;overflow:hidden}.developer-facts div[data-v-9ed6f6a9]{min-width:0;padding:12px;border-right:1px solid var(--border-soft)}.developer-facts div[data-v-9ed6f6a9]:last-child{border-right:0}.developer-facts span[data-v-9ed6f6a9],.developer-facts strong[data-v-9ed6f6a9]{display:block;overflow-wrap:anywhere}.developer-facts span[data-v-9ed6f6a9]{margin-bottom:5px;color:var(--muted);font-size:.72rem}.developer-facts strong[data-v-9ed6f6a9]{font-size:.82rem}.developer-steps[data-v-9ed6f6a9]{display:grid;gap:7px;margin:0 0 16px;padding-left:24px;color:var(--text);font-size:.86rem}.developer-icon-btn[data-v-9ed6f6a9]{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--border-soft);border-radius:6px;background:transparent;color:var(--muted)}.developer-icon-btn[data-v-9ed6f6a9]:hover{background:var(--surface-2);color:var(--text-strong)}.developer-icon-btn.danger[data-v-9ed6f6a9]{color:var(--danger-fg)}.developer-icon-btn svg[data-v-9ed6f6a9],.developer-primary-btn svg[data-v-9ed6f6a9],.developer-market-link svg[data-v-9ed6f6a9]{width:15px;height:15px}.developer-callout[data-v-9ed6f6a9]{display:flex;align-items:flex-start;gap:9px;margin-bottom:12px;padding:10px 12px;border-left:3px solid var(--ok-fg);background:var(--ok-bg);color:var(--ok-fg);font-size:.8rem;line-height:1.5}.developer-callout svg[data-v-9ed6f6a9]{width:16px;height:16px;flex:0 0 auto}.developer-request-grid[data-v-9ed6f6a9]{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:24px;margin-top:20px}.developer-status-line[data-v-9ed6f6a9]{padding:10px;border:1px solid var(--border-soft);border-radius:6px;background:var(--surface-3);color:var(--text)!important;font-family:monospace;overflow-wrap:anywhere}.developer-segmented[data-v-9ed6f6a9]{display:inline-flex;padding:3px;border:1px solid var(--border-soft);border-radius:6px;background:var(--surface-3)}.developer-segmented button[data-v-9ed6f6a9]{min-width:72px;padding:6px 10px;border-radius:4px;background:transparent;font-size:.76rem}.developer-segmented button.active[data-v-9ed6f6a9]{background:var(--surface-1);box-shadow:var(--shadow-soft)}.developer-error-list[data-v-9ed6f6a9]{display:grid;border-top:1px solid var(--border-soft)}.developer-error-list div[data-v-9ed6f6a9]{display:grid;grid-template-columns:minmax(190px,.7fr) 1fr;gap:16px;padding:10px 4px;border-bottom:1px solid var(--border-soft);font-size:.78rem}.developer-error-list span[data-v-9ed6f6a9]{color:var(--muted)}.developer-token-panel[data-v-9ed6f6a9]{padding:2px 4px 28px 20px;border-left:1px solid var(--border-soft)}.developer-token-head[data-v-9ed6f6a9]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.developer-field[data-v-9ed6f6a9]{display:grid;gap:5px;margin-top:12px;color:var(--muted);font-size:.72rem}.developer-field input[data-v-9ed6f6a9]{width:100%;min-height:36px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;outline:none;background:var(--surface-input)}.developer-field input[data-v-9ed6f6a9]:focus{border-color:var(--primary-border);box-shadow:0 0 0 3px var(--primary-ring)}.developer-primary-btn[data-v-9ed6f6a9]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;margin-top:14px;padding:8px 12px;border-radius:6px;background:var(--primary);color:var(--text-on-primary);font-size:.8rem;font-weight:700}.developer-token-once[data-v-9ed6f6a9]{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:7px;margin-top:14px;padding:10px;border:1px solid var(--warning-border);border-radius:6px;background:var(--warning-bg)}.developer-token-once span[data-v-9ed6f6a9]{grid-column:1 / -1;color:var(--warning-fg);font-size:.72rem}.developer-token-once code[data-v-9ed6f6a9]{min-width:0;overflow:hidden;color:var(--warning-fg);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.developer-message[data-v-9ed6f6a9]{color:var(--ok-fg)!important}.developer-message.error[data-v-9ed6f6a9]{color:var(--danger-fg)!important}.developer-token-list[data-v-9ed6f6a9]{margin-top:18px;border-top:1px solid var(--border-soft)}.developer-token-row[data-v-9ed6f6a9]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-soft)}.developer-token-row>div[data-v-9ed6f6a9]{display:grid;min-width:0;gap:2px}.developer-token-row strong[data-v-9ed6f6a9]{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.developer-token-row code[data-v-9ed6f6a9],.developer-token-row small[data-v-9ed6f6a9],.developer-revoked[data-v-9ed6f6a9],.developer-empty[data-v-9ed6f6a9]{color:var(--muted);font-size:.68rem}.developer-empty[data-v-9ed6f6a9]{margin-top:12px!important}@media(max-width:1180px){.developer-page[data-v-9ed6f6a9]{grid-template-columns:180px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:18px 24px}.developer-index[data-v-9ed6f6a9]{grid-column:1;grid-row:1;max-height:270px;padding-bottom:12px}.developer-content[data-v-9ed6f6a9]{grid-column:2;grid-row:1 / 3}.developer-token-panel[data-v-9ed6f6a9]{grid-column:1;grid-row:2;padding:18px 4px 24px 0;border-top:1px solid var(--border-soft);border-left:0}}@media(max-width:840px){.developer-shell[data-v-9ed6f6a9]{height:100dvh}.developer-page[data-v-9ed6f6a9]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.developer-index[data-v-9ed6f6a9]{position:sticky;z-index:2;top:0;display:flex;grid-column:1;grid-row:1;gap:4px;max-height:none;padding:4px 0 8px;overflow-x:auto;overflow-y:hidden;background:var(--app-bg);scrollbar-gutter:auto}.developer-index .developer-eyebrow[data-v-9ed6f6a9]{display:none}.developer-index a[data-v-9ed6f6a9]{flex:0 0 auto}.developer-token-panel[data-v-9ed6f6a9]{grid-column:1;grid-row:3;min-height:auto;padding:20px 0 28px;overflow:visible}.developer-content[data-v-9ed6f6a9]{grid-column:1;grid-row:2;min-height:auto;padding:8px 0 0;overflow:visible;scrollbar-gutter:auto}}@media(max-width:560px){.developer-page[data-v-9ed6f6a9]{gap:18px}.developer-facts[data-v-9ed6f6a9],.developer-request-grid[data-v-9ed6f6a9]{grid-template-columns:1fr}.developer-facts div[data-v-9ed6f6a9]{border-right:0;border-bottom:1px solid var(--border-soft)}.developer-facts div[data-v-9ed6f6a9]:last-child{border-bottom:0}.developer-error-list div[data-v-9ed6f6a9]{grid-template-columns:1fr;gap:5px}}.auth-screen[data-v-9796523f]{position:relative;min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--app-bg);color:var(--text);overflow:hidden}.auth-screen[data-v-9796523f]:before,.auth-screen[data-v-9796523f]:after{content:"";position:absolute;border-radius:50%;background:var(--primary);filter:blur(90px);opacity:.22;pointer-events:none;z-index:0}.auth-screen[data-v-9796523f]:before{width:380px;height:380px;top:-130px;left:-110px}.auth-screen[data-v-9796523f]:after{width:320px;height:320px;right:-110px;bottom:-130px}.auth-toolbar[data-v-9796523f]{position:absolute;top:18px;right:18px;z-index:2;display:flex;align-items:center;gap:10px}.auth-card[data-v-9796523f]{position:relative;z-index:1;width:min(420px,100%);background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;box-shadow:var(--shadow);padding:32px}.auth-brand[data-v-9796523f]{text-align:center;margin-bottom:24px}.auth-brand-lockup[data-v-9796523f]{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}.auth-logo[data-v-9796523f]{width:40px;height:40px;flex:0 0 auto}.auth-brand h1[data-v-9796523f]{font-size:1.25rem;margin:0;color:var(--text-strong)}.auth-brand p[data-v-9796523f]{margin:0;font-size:.85rem;color:var(--muted)}.auth-tabs[data-v-9796523f]{display:flex;gap:4px;margin-bottom:22px;padding:4px;background:var(--surface-input);border:1px solid var(--border);border-radius:12px}.auth-tabs button[data-v-9796523f]{flex:1;padding:8px 10px;border:none;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font-weight:600;font-size:.9rem;transition:background .15s ease,color .15s ease}.auth-tabs button[data-v-9796523f]:hover:not(.active){color:var(--text-strong)}.auth-tabs button.active[data-v-9796523f]{background:var(--primary-ring);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--primary-border)}.auth-form[data-v-9796523f]{display:flex;flex-direction:column;gap:14px}.auth-form label[data-v-9796523f]{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--muted)}.auth-form input[data-v-9796523f]{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-input);color:var(--text);font-size:.95rem}.auth-form input[data-v-9796523f]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.auth-submit[data-v-9796523f]{margin-top:6px;padding:11px;border:none;border-radius:10px;background:var(--primary);color:var(--text-on-primary);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.auth-submit[data-v-9796523f]:disabled{opacity:.6;cursor:progress}.auth-spinner[data-v-9796523f]{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:auth-spin-9796523f .6s linear infinite}@keyframes auth-spin-9796523f{to{transform:rotate(360deg)}}.auth-error[data-v-9796523f]{margin:0;padding:8px 10px;border-radius:8px;background:var(--danger-bg);color:var(--danger-fg);border:1px solid var(--danger-border);font-size:.82rem;text-align:center}.auth-switch-link[data-v-9796523f]{align-self:center;margin:-4px 0 0;padding:0;border:none;background:transparent;color:var(--primary);font-size:.82rem;font-weight:600;cursor:pointer}.auth-switch-link[data-v-9796523f]:hover{text-decoration:underline}.auth-notice[data-v-9796523f]{margin:0;padding:8px 10px;border-radius:8px;background:var(--ok-bg);color:var(--ok-fg);border:1px solid var(--ok-border);font-size:.82rem}.market-panel[data-v-9b912c9e]{max-width:960px;margin:0 auto;padding:24px 16px 48px;color:var(--text)}.market-head h2[data-v-9b912c9e]{margin:0 0 4px}.market-sub[data-v-9b912c9e]{opacity:.75;margin:0 0 12px}.market-tools[data-v-9b912c9e]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.market-input[data-v-9b912c9e]{flex:1;min-width:160px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.market-btn[data-v-9b912c9e]{padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}.market-btn.primary[data-v-9b912c9e]{background:var(--primary);color:#fff;border-color:transparent}.market-card[data-v-9b912c9e]{border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:var(--surface)}.market-slug[data-v-9b912c9e],.market-meta[data-v-9b912c9e]{font-size:.85em;opacity:.7}.market-actions[data-v-9b912c9e]{display:flex;gap:8px;margin-top:8px}.market-error[data-v-9b912c9e]{color:#e55}.market-hint[data-v-9b912c9e],.market-empty[data-v-9b912c9e]{opacity:.7}.market-create[data-v-9b912c9e]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.market-upload[data-v-9b912c9e]{display:block;margin-top:8px;font-size:.9em}.market-detail[data-v-9b912c9e]{position:fixed;right:16px;top:72px;width:min(420px,90vw);max-height:80vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:0 8px 32px #0003;z-index:40}.market-readme[data-v-9b912c9e],.market-manifest[data-v-9b912c9e]{white-space:pre-wrap;font-size:12px;background:var(--app-bg);padding:8px;border-radius:8px}.market-page[data-v-f9ee0c0b]{min-width:0;padding:0}.watch-page[data-v-25984bb9]{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:#000;color:#f8fafc;box-sizing:border-box}.watch-video[data-v-25984bb9]{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#000}.watch-toolbar[data-v-25984bb9]{position:absolute;z-index:2;top:0;right:0;left:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 28px max(12px,env(safe-area-inset-left));background:linear-gradient(to bottom,rgba(0,0,0,.72),transparent);pointer-events:none}.watch-status[data-v-25984bb9]{display:flex;align-items:flex-start;gap:9px;min-width:0;text-shadow:0 1px 3px rgba(0,0,0,.8)}.watch-status h1[data-v-25984bb9]{margin:0;font-size:.9rem;line-height:1.2;font-weight:650}.watch-status p[data-v-25984bb9]{margin:3px 0 0;max-width:min(60vw,520px);overflow:hidden;color:#f8fafcb8;font-size:.75rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.watch-live-dot[data-v-25984bb9]{width:8px;height:8px;margin-top:4px;flex:0 0 auto;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 3px #94a3b82e}.watch-page.live .watch-live-dot[data-v-25984bb9]{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.watch-fullscreen[data-v-25984bb9]{width:40px;height:40px;flex:0 0 auto;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#00000075;color:#f8fafc;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.watch-fullscreen[data-v-25984bb9]:hover{border-color:#ffffff6b;background:#0f172ab8}.watch-fullscreen[data-v-25984bb9]:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.watch-fullscreen svg[data-v-25984bb9]{width:18px;height:18px}.watch-loading[data-v-25984bb9]{position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border:3px solid rgba(255,255,255,.2);border-top-color:#f8fafc;border-radius:50%;animation:watch-spin-25984bb9 .8s linear infinite}@keyframes watch-spin-25984bb9{to{transform:rotate(360deg)}}.watch-error[data-v-25984bb9]{position:absolute;z-index:2;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));margin:0 auto;width:fit-content;max-width:min(620px,calc(100vw - 24px));padding:8px 12px;border:1px solid rgba(248,113,113,.3);border-radius:8px;background:#450a0abd;color:#fca5a5;font-size:.85rem;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-boot[data-v-965723fe]{min-height:100vh;display:grid;place-items:center;background:var(--app-bg)}.auth-boot-spinner[data-v-965723fe]{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:auth-spin-965723fe .8s linear infinite}@keyframes auth-spin-965723fe{to{transform:rotate(360deg)}}:root{color-scheme:dark}[data-theme=light]{color-scheme:light;--app-bg: radial-gradient( circle at top left, rgba(96, 165, 250, .22), transparent 28% ), radial-gradient( circle at top right, rgba(129, 140, 248, .2), transparent 22% ), linear-gradient(160deg, #f8fafc 0%, #eef2ff 42%, #e2e8f0 100%);--panel-bg: rgba(255, 255, 255, .9);--panel-border: rgba(148, 163, 184, .24);--drawer-bg: rgba(255, 255, 255, .62);--surface-1: rgba(255, 255, 255, .92);--surface-2: rgba(255, 255, 255, .78);--surface-3: rgba(248, 250, 252, .84);--surface-input: rgba(255, 255, 255, .92);--surface-raised: linear-gradient( 180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .94) );--text: #0f172a;--text-strong: #0b1220;--muted: #64748b;--text-on-primary: #ffffff;--border: rgba(148, 163, 184, .26);--border-soft: rgba(148, 163, 184, .18);--border-strong: rgba(148, 163, 184, .34);--primary: #2563eb;--primary-2: #4f46e5;--primary-ring: rgba(37, 99, 235, .12);--primary-border: rgba(37, 99, 235, .6);--ok-bg: rgba(220, 252, 231, .92);--ok-fg: #166534;--ok-border: rgba(34, 197, 94, .22);--danger-bg: rgba(254, 226, 226, .92);--danger-fg: #991b1b;--danger-border: rgba(239, 68, 68, .22);--warning-bg: rgba(254, 243, 199, .88);--warning-fg: #b45309;--warning-border: rgba(251, 191, 36, .32);--idle-bg: rgba(226, 232, 240, .84);--idle-fg: #334155;--idle-border: rgba(148, 163, 184, .26);--code-bg: #0f172a;--code-fg: #e2e8f0;--chip-bg: rgba(15, 23, 42, .92);--chip-fg: #ffffff;--screen-bg: radial-gradient( circle at center, rgba(255, 255, 255, .06), transparent 52% ), linear-gradient(180deg, rgba(15, 23, 42, .98), rgba(2, 6, 23, .98));--screen-border: rgba(148, 163, 184, .18);--overlay-soft: rgba(2, 6, 23, .24);--overlay-strong: rgba(2, 6, 23, .46);--shadow: 0 22px 50px rgba(15, 23, 42, .12);--shadow-soft: 0 8px 20px rgba(15, 23, 42, .08);--shadow-primary: 0 16px 30px rgba(37, 99, 235, .3)}[data-theme=dark]{color-scheme:dark;--app-bg: radial-gradient( circle at top left, rgba(79, 70, 229, .34), transparent 28% ), radial-gradient( circle at top right, rgba(37, 99, 235, .24), transparent 22% ), linear-gradient(160deg, #020617 0%, #0f172a 42%, #111827 100%);--panel-bg: rgba(15, 23, 42, .78);--panel-border: rgba(148, 163, 184, .18);--drawer-bg: rgba(15, 23, 42, .55);--surface-1: rgba(30, 41, 59, .72);--surface-2: rgba(30, 41, 59, .56);--surface-3: rgba(15, 23, 42, .6);--surface-input: rgba(15, 23, 42, .7);--surface-raised: linear-gradient( 180deg, rgba(30, 41, 59, .92), rgba(15, 23, 42, .86) );--text: #e2e8f0;--text-strong: #f8fafc;--muted: #94a3b8;--text-on-primary: #ffffff;--border: rgba(148, 163, 184, .22);--border-soft: rgba(148, 163, 184, .14);--border-strong: rgba(148, 163, 184, .34);--primary: #3b82f6;--primary-2: #6366f1;--primary-ring: rgba(59, 130, 246, .22);--primary-border: rgba(59, 130, 246, .7);--ok-bg: rgba(22, 101, 52, .32);--ok-fg: #86efac;--ok-border: rgba(34, 197, 94, .4);--danger-bg: rgba(127, 29, 29, .36);--danger-fg: #fca5a5;--danger-border: rgba(239, 68, 68, .42);--warning-bg: rgba(120, 53, 15, .34);--warning-fg: #fcd34d;--warning-border: rgba(251, 191, 36, .4);--idle-bg: rgba(51, 65, 85, .6);--idle-fg: #cbd5e1;--idle-border: rgba(148, 163, 184, .3);--code-bg: rgba(2, 6, 23, .85);--code-fg: #e2e8f0;--chip-bg: rgba(15, 23, 42, .94);--chip-fg: #ffffff;--screen-bg: radial-gradient( circle at center, rgba(255, 255, 255, .04), transparent 52% ), linear-gradient(180deg, rgba(2, 6, 23, .98), rgba(0, 0, 0, .98));--screen-border: rgba(148, 163, 184, .18);--overlay-soft: rgba(2, 6, 23, .36);--overlay-strong: rgba(2, 6, 23, .6);--shadow: 0 25px 60px rgba(0, 0, 0, .48);--shadow-soft: 0 8px 20px rgba(0, 0, 0, .32);--shadow-primary: 0 16px 30px rgba(37, 99, 235, .36)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{font-family:Inter,Noto Sans SC,Segoe UI,sans-serif;color:var(--text);background:var(--app-bg);transition:background .3s ease,color .3s ease}button,select,input{font:inherit;color:inherit}button{border:0;border-radius:14px;padding:.82rem 1rem;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,opacity .18s ease,border-color .18s ease,color .18s ease}button:disabled{opacity:.48;cursor:not-allowed}.shell{min-height:100vh;display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"nav header" "nav main";gap:0;background:var(--app-bg)}.shell>.nav-rail{grid-area:nav}.shell>.page-header{grid-area:header}.shell>.page-main{grid-area:main}@media(max-width:720px){.shell{grid-template-columns:56px minmax(0,1fr)}}.panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--panel-border);box-shadow:var(--shadow);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.sidebar{border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:calc(100vh - 100px);scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media(max-width:960px){.sidebar{max-height:none}}.brand-bar{display:flex;align-items:center;gap:14px;padding:10px 18px;border-radius:18px;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--shadow-soft);min-height:56px}.brand-bar .brand-mark{width:36px;height:36px;border-radius:10px;font-size:.95rem;flex-shrink:0;box-shadow:0 8px 18px #2563eb47}.brand-bar .brand-title{display:flex;flex-direction:column;line-height:1.2}.brand-bar .brand-title h1{font-size:.98rem;margin:0;letter-spacing:-.01em}.brand-bar .brand-title small{color:var(--muted);font-size:.72rem}.brand-bar-spacer{flex:1}.brand-bar .preference-bar{gap:8px}.brand-bar .pref-control{min-width:auto;font-size:.78rem}.brand-bar .pref-control select,.brand-bar .pref-toggle{min-height:32px;padding:.32rem .6rem;font-size:.82rem}.brand-bar .pref-toggle{min-width:auto;gap:6px}.brand-bar .pref-toggle strong{font-size:.8rem}.status-chip{display:inline-flex;align-items:center;gap:8px;padding:.36rem .78rem;border-radius:999px;font-size:.82rem;border:1px solid var(--border);background:var(--surface-2);white-space:nowrap}.status-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0}.status-chip.streaming{border-color:var(--ok-border);background:var(--ok-bg);color:var(--ok-fg)}.status-chip.streaming .dot{background:#10b981;box-shadow:0 0 0 4px #10b9812e;animation:pulse-dot 2s infinite}.status-chip.connected{color:var(--text)}.status-chip.connected .dot{background:#3b82f6}.status-chip.error{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-fg)}.status-chip.error .dot{background:#ef4444}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 4px #10b98133}50%{box-shadow:0 0 0 6px #10b9810d}}.cta-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:.85rem 1rem;border-radius:14px;font-weight:700;font-size:.96rem;letter-spacing:.01em;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:var(--text-on-primary);border:0;box-shadow:var(--shadow-primary);cursor:pointer;transition:transform .15s ease,box-shadow .18s ease,opacity .15s ease}.cta-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 22px 36px #2563eb66}.cta-primary:active:not(:disabled){transform:translateY(0)}.cta-primary:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.cta-primary svg{width:18px;height:18px}.cta-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.cta-row .stop-btn{height:48px;width:48px;border-radius:14px;display:grid;place-items:center;background:var(--surface-1);border:1px solid var(--border);color:var(--muted);transition:border-color .15s ease,color .15s ease}.cta-row .stop-btn:hover:not(:disabled){color:var(--danger-fg);border-color:var(--danger-border)}.cta-row .stop-btn:disabled{opacity:.4;cursor:not-allowed}.cta-row .stop-btn svg{width:16px;height:16px}details.advanced{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:16px;overflow:hidden}details.advanced>summary{cursor:pointer;list-style:none;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:600;color:var(--text-strong);-webkit-user-select:none;user-select:none}details.advanced>summary::-webkit-details-marker{display:none}details.advanced>summary:after{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .18s ease}details.advanced[open]>summary:after{transform:rotate(45deg)}details.advanced>summary:hover{background:var(--surface-1)}details.advanced>.content{padding:4px 16px 16px;display:flex;flex-direction:column;gap:12px}.viewer-toolbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:6px;padding:6px;border-radius:999px;background:#0f172ac7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);z-index:10;opacity:0;transition:opacity .2s ease,transform .2s ease}.screen-shell:hover .viewer-toolbar,.viewer-toolbar:focus-within,.viewer-toolbar.always-show{opacity:1}.viewer-toolbar button{width:38px;height:38px;padding:0;border-radius:999px;display:grid;place-items:center;background:transparent;border:0;color:#e2e8f0c7;transition:background .15s ease,color .15s ease}.viewer-toolbar button:hover:not(:disabled){background:#ffffff1a;color:#fff}.viewer-toolbar button:disabled{opacity:.32;cursor:not-allowed}.viewer-toolbar button.active{background:#3b82f640;color:#93c5fd}.viewer-toolbar svg{width:16px;height:16px}.viewer-toolbar .divider{width:1px;background:#ffffff1a;margin:4px 2px}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.shortcut-btn:hover:not(:disabled),.tab-btn:hover:not(:disabled),.ghost:hover:not(:disabled),.secondary:hover:not(:disabled){border-color:var(--primary-border)}.viewer{border-radius:22px;padding:12px;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.viewer-inner{flex:1;display:flex;min-height:0}.viewer-inner>.screen-shell{flex:1;min-height:0}.brand{display:flex;align-items:center;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.brand-mark{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;font-weight:800;color:var(--text-on-primary);background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 16px 30px #2563eb52}.brand h1,.viewer-head h2,.section h2{margin:0;color:var(--text-strong)}.brand p,.viewer-head p{margin:4px 0 0;color:var(--muted);line-height:1.5}.brand-preferences{margin-left:auto}.preference-bar{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.pref-control{display:inline-grid;gap:6px;min-width:132px;color:var(--muted);font-size:.84rem}.pref-control span{padding-left:2px}.pref-control select,.pref-toggle{min-height:42px;padding:.68rem .92rem;border-radius:14px;border:1px solid var(--border);background:var(--surface-input);color:var(--text);box-shadow:var(--shadow-soft)}.pref-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-width:128px}.pref-toggle strong{font-weight:700;color:var(--text-strong)}.status-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.status-card{display:grid;gap:8px;padding:.95rem 1rem;border-radius:18px;background:var(--surface-2);border:1px solid var(--border-soft);color:var(--text)}.status-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.status-card-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.status-card-badge,.drop-zone-badge{display:inline-flex;align-items:center;padding:.24rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.05em;border:1px solid transparent}.status-card strong{font-size:.92rem;line-height:1.45;word-break:break-word;color:var(--text-strong)}.status-card.subtle{background:var(--surface-3)}.status-card.ok,.drop-zone-badge.ok{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-border)}.status-card.danger,.drop-zone-badge.danger{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.status-card.subtle,.drop-zone-badge.subtle{background:var(--idle-bg);color:var(--idle-fg);border-color:var(--idle-border)}.section{display:grid;gap:10px}.section-head{display:flex;align-items:center;justify-content:space-between}.section-head h3{color:var(--text-strong)}.field-label,.meta-label{font-size:.85rem;color:var(--muted)}select,input{width:100%;border:1px solid var(--border-strong);border-radius:14px;padding:.88rem 1rem;background:var(--surface-input);color:var(--text);outline:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}select:focus,input:focus{border-color:var(--primary-border);box-shadow:0 0 0 4px var(--primary-ring)}select option,select optgroup{background:var(--panel-bg);color:var(--text)}.action-row,.action-grid,.input-row{display:grid;gap:10px}.action-row,.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.input-row{grid-template-columns:minmax(0,1fr) auto}.primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:var(--text-on-primary);box-shadow:var(--shadow-primary)}.secondary,.ghost{background:var(--surface-1);color:var(--text);box-shadow:var(--shadow-soft);border:1px solid var(--border)}.primary:hover,.secondary:hover,.ghost:hover{transform:translateY(-1px)}.tip{margin:0;color:var(--warning-fg);background:var(--warning-bg);border:1px solid var(--warning-border);padding:.85rem 1rem;border-radius:16px}.tip.subtle{color:var(--idle-fg);background:var(--idle-bg);border-color:var(--idle-border)}.tip.ok{color:var(--ok-fg);background:var(--ok-bg);border-color:var(--ok-border)}.tip.danger{color:var(--danger-fg);background:var(--danger-bg);border-color:var(--danger-border)}.badge{display:inline-flex;align-items:center;padding:.4rem .75rem;border-radius:999px;font-size:.82rem;border:1px solid transparent}.badge.idle{background:var(--idle-bg);color:var(--idle-fg);border-color:var(--idle-border)}.badge.ok{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-border)}.badge.danger{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meta-grid div{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:18px;padding:.9rem 1rem;color:var(--text)}.meta-grid strong{display:block;margin-top:6px;word-break:break-all;color:var(--text-strong)}.clipboard{min-height:86px;margin:0;border-radius:18px;padding:1rem;background:var(--code-bg);color:var(--code-fg);overflow:auto;white-space:pre-wrap;word-break:break-word;border:1px solid var(--border-soft)}.keypad{margin-top:4px}.toggle{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.88rem;-webkit-user-select:none;user-select:none}.toggle input{width:auto;margin:0;accent-color:var(--primary)}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.key-btn{display:grid;gap:4px;justify-items:start;padding:.85rem .9rem;min-height:66px;background:var(--surface-raised);border:1px solid var(--border);color:var(--text)}.key-btn span{font-weight:700;color:var(--text-strong)}.key-btn small{color:var(--muted)}.mapping-toolbar{display:flex;gap:10px;flex-wrap:wrap}.file-input{display:none}.drop-zone{display:grid;gap:6px;padding:1rem;border-radius:20px;border:1px dashed var(--border-strong);background:var(--surface-raised);color:var(--text);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.drop-zone-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.drop-zone strong{font-size:.98rem;color:var(--text-strong)}.drop-zone span{color:var(--muted);font-size:.88rem;line-height:1.5}.drop-zone span.ok{color:var(--ok-fg)}.drop-zone span.danger{color:var(--danger-fg)}.drop-zone.active{border-color:var(--primary-border);background:var(--surface-1);box-shadow:0 0 0 4px var(--primary-ring);transform:translateY(-1px)}.drop-zone.busy{opacity:.88}.mapping-list{display:grid;gap:10px}.mapping-row{display:grid;gap:10px;padding:12px;border-radius:18px;background:var(--surface-2);border:1px solid var(--border-soft);color:var(--text)}.mapping-main{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.mapping-main strong{color:var(--text-strong)}.mapping-main small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.mapping-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.shortcut-strip,.shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.stream-settings{display:flex;flex-direction:column;gap:8px}.stream-settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px}.stream-settings-msg{font-size:.78rem;color:var(--muted);flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stream-settings-msg.ok{color:var(--ok-fg, var(--text))}.stream-settings-msg.danger{color:var(--danger-fg)}.stream-settings-hint{font-size:.78rem}.stream-settings-hint>summary{list-style:none;cursor:pointer;color:var(--muted);padding:2px 0;-webkit-user-select:none;user-select:none}.stream-settings-hint>summary:before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid currentColor;font-size:.68rem;margin-right:6px;vertical-align:1px}.stream-settings-hint>summary::-webkit-details-marker{display:none}.stream-settings-hint[open]>summary{color:var(--text)}.stream-settings-hint .tip{margin:6px 0 0}.stream-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.stream-settings-grid .pref-control{width:100%;min-width:0;gap:4px}.stream-settings-grid .pref-control span{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.78rem}.stream-settings-grid .pref-control span strong{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.stream-settings-grid input[type=range]{width:100%;margin:0}.stream-settings-grid .stream-settings-adaptive{align-self:end;margin:0}.stream-settings-actions{display:flex;justify-content:flex-end;margin-top:2px}.stream-settings-actions .primary.small{min-width:88px}.terminal-host{width:100%;min-height:260px;height:320px;background:#0b1220;border:1px solid var(--border-soft);border-radius:14px;padding:8px;overflow:hidden}.terminal-host.idle{opacity:.55}.terminal-controls{display:flex;gap:8px}.view-tabs{display:flex;gap:8px;margin-bottom:14px}.matrix-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;margin-top:12px}.matrix-card{display:flex;flex-direction:column;gap:8px;padding:8px 8px 10px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border-soft);cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.matrix-card:hover{transform:translateY(-2px);border-color:var(--primary-border);box-shadow:var(--shadow-soft)}.matrix-card.active{border-color:var(--primary-border);box-shadow:0 0 0 2px var(--primary-ring)}.matrix-thumb{position:relative;width:100%;aspect-ratio:9 / 16;background:#0b1220;border-radius:10px;overflow:hidden;display:grid;place-items:center}.matrix-thumb img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.matrix-thumb-empty{display:grid;place-items:center;color:#e2e8f052}.matrix-thumb-empty svg{width:32px;height:32px}.matrix-badge-active{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:.5rem;background:#10b981eb;color:#fff;box-shadow:0 0 0 3px #10b98140}.matrix-meta{display:flex;flex-direction:column;gap:1px;padding:0 2px;min-width:0}.matrix-name{color:var(--text-strong);font-size:.86rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matrix-detail{color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums;display:flex;gap:4px;flex-wrap:wrap}.matrix-detail-sep{opacity:.5}.shortcut-btn{height:36px;padding:0 .5rem;border-radius:10px;background:var(--surface-1);border:1px solid var(--border);color:var(--text);font-size:.82rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .15s ease,background .15s ease,color .15s ease}.shortcut-btn:hover:not(:disabled){background:var(--surface-raised);border-color:var(--primary-border);color:var(--text-strong)}.keypad .section-head.compact{display:flex;align-items:center;justify-content:space-between;gap:8px}.keypad-tip{display:inline-flex;position:relative}.keypad-tip>summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--muted);transition:color .15s ease,background .15s ease}.keypad-tip>summary::-webkit-details-marker{display:none}.keypad-tip>summary:hover{background:var(--surface-1);color:var(--text-strong)}.keypad-tip>summary svg{width:16px;height:16px}.keypad-tip[open]>.tip{position:absolute;top:calc(100% + 6px);right:0;width:280px;margin:0;font-size:.78rem;line-height:1.55;z-index:20;box-shadow:var(--shadow)}.binding-filter{display:grid;grid-template-columns:1fr auto;gap:8px}.binding-search,.binding-group-select{height:36px;padding:0 .65rem;font-size:.84rem;border-radius:10px}.binding-group-select{width:110px;min-width:88px;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.binding-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:4px}.binding-key{display:grid;align-content:center;justify-items:center;gap:1px;height:56px;padding:4px;border-radius:10px;background:var(--surface-1);border:1px solid var(--border);color:var(--text);transition:border-color .15s ease,background .15s ease,transform .1s ease}.binding-key:hover:not(:disabled){background:var(--surface-raised);border-color:var(--primary-border)}.binding-key:active:not(:disabled){transform:translateY(1px)}.binding-key-label{font-size:.78rem;font-weight:600;color:var(--text-strong);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.binding-key-code{font-size:.66rem;color:var(--muted);font-variant-numeric:tabular-nums}details.binding-tools{border-top:1px dashed var(--border-soft);padding-top:10px;margin-top:4px}details.binding-tools>summary{cursor:pointer;font-size:.82rem;color:var(--muted);list-style:none;-webkit-user-select:none;user-select:none;display:inline-block}details.binding-tools>summary::-webkit-details-marker{display:none}details.binding-tools[open]>summary{color:var(--text)}.binding-tools-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ghost.small,.primary.small{height:32px;padding:0 .7rem;font-size:.8rem;border-radius:9px}.section-head.compact strong{font-size:.86rem;color:var(--text-strong)}.nav-rail{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:10px 6px;background:var(--panel-bg);border-right:1px solid var(--panel-border)}.nav-rail-brand{display:grid;place-items:center;height:56px;margin-bottom:8px}.nav-rail-brand .brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-2));display:grid;place-items:center;color:var(--text-on-primary);font-weight:800;font-size:1rem;box-shadow:0 10px 22px #2563eb52}.nav-rail-brand .nav-rail-logo{width:40px;height:40px;display:block;filter:drop-shadow(0 10px 22px rgba(37,99,235,.32))}.nav-rail-admin{margin-top:auto}.app-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%);z-index:1200;max-width:min(90vw,420px);padding:10px 18px;border-radius:10px;background:var(--panel-bg);color:var(--text-strong);border:1px solid var(--primary-border);box-shadow:var(--shadow);font-size:.88rem;font-weight:600;text-align:center}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .2s ease,transform .2s ease}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translate(-50%,8px)}.nav-rail-item{display:grid;place-items:center;gap:2px;padding:10px 4px;border-radius:12px;background:transparent;border:0;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease;position:relative}.nav-rail-item:hover{background:var(--surface-1);color:var(--text)}.nav-rail-item.active{background:var(--surface-1);color:var(--primary)}.nav-rail-item.active:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:3px;height:22px;background:var(--primary);border-radius:0 3px 3px 0}.nav-rail-item svg{width:20px;height:20px}.nav-rail-item span{font-size:.7rem;line-height:1}.page-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px 10px;gap:14px;flex-wrap:wrap}.page-header-title{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.page-header h1{margin:0;font-size:1.35rem;letter-spacing:-.01em;color:var(--text-strong);max-width:min(52vw,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header-sub{font-size:.8rem;color:var(--text-muted, var(--text-soft));white-space:nowrap}.page-back-btn{flex-shrink:0}.page-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stage-toolbar{display:flex;align-items:center;gap:12px;padding:4px 24px 0;min-height:40px;flex-shrink:0}.stage-back-btn{font-weight:600;color:var(--text-strong);border:1px solid var(--border-soft);border-radius:999px;padding:6px 12px 6px 10px;background:var(--surface-1)}.stage-back-btn:hover{border-color:var(--primary-border, var(--border-strong));color:var(--primary)}.stage-toolbar-meta{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.stage-toolbar-name{font-size:.95rem;color:var(--text-strong);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-toolbar-badge{font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 7px;border-radius:999px;color:var(--accent, #3b82f6);background:color-mix(in srgb,var(--accent, #3b82f6) 16%,transparent);border:1px solid color-mix(in srgb,var(--accent, #3b82f6) 32%,transparent)}.stage-toolbar-id{font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-muted, var(--text-soft));max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}.stage-toolbar-spacer{flex:1 1 auto}.account-chip{display:inline-flex;align-items:center;gap:8px;padding-left:10px;border-left:1px solid var(--border-soft)}.account-chip .account-name{font-size:.82rem;font-weight:600;color:var(--text-strong);white-space:nowrap}.account-chip .account-role{font-size:.7rem;font-weight:600;line-height:1;padding:3px 8px;border-radius:999px;white-space:nowrap;color:var(--primary);background:var(--primary-ring);border:1px solid var(--primary-border)}.page-header .preference-bar{gap:8px}.page-header .pref-control{display:inline-flex;align-items:center;gap:8px;min-width:auto;font-size:.82rem;color:var(--muted)}.page-header .pref-control span{padding-left:0;white-space:nowrap}.page-header .pref-control select,.page-header .pref-toggle{min-height:34px;padding:.32rem .72rem;border-radius:10px;font-size:.85rem;box-shadow:none}.page-header .pref-toggle{min-width:auto;gap:8px}.page-header .pref-toggle strong{font-size:.85rem}.page-header .icon-text{min-height:34px;padding:.32rem .78rem;border-radius:10px;font-size:.85rem;gap:6px}.page-header .icon-text svg{width:16px;height:16px}.icon-text{display:inline-flex;align-items:center;gap:6px}.icon-text svg{width:14px;height:14px}.page-main{padding:8px 28px 28px;overflow-y:auto}.empty-devices{display:grid;place-items:center;gap:12px;padding:80px 20px;color:var(--muted);text-align:center}.empty-devices svg{width:72px;height:72px;opacity:.4}.empty-devices p{margin:0;max-width:320px}.device-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;align-content:flex-start;gap:14px;min-height:100%}.device-workspace{flex:1 1 auto;min-width:0;min-height:0}.device-grid>.device-card:not(.expanded){width:min(100%,var(--grid-card-max-w, 320px));flex:0 0 auto;padding:14px;gap:10px;min-height:0}.device-grid>.device-card:not(.expanded) .device-card-screen{width:100%;max-width:100%;max-height:none;height:auto}.device-grid>.device-card:not(.expanded) .device-card-actions{flex-wrap:nowrap}.device-grid>.device-card:not(.expanded) .card-action-spacer{display:none}.lab-layout{display:flex;gap:24px;align-items:flex-start;width:100%}.lab-layout:not(.lab-split){justify-content:center}.lab-control{flex:0 0 auto;width:min(560px,100%)}.lab-split .lab-control{width:380px}.lab-preview{flex:1 1 0;min-width:0}.lab-preview-label{margin:2px 2px 12px;font-size:.82rem;font-weight:600;color:var(--muted)}.device-grid.lab-grid{justify-content:flex-start;min-height:0}.device-grid.lab-grid>.device-card:not(.expanded){width:min(100%,var(--grid-card-max-w, 320px))}.device-grid.lab-grid>.device-card:not(.expanded) .device-card-screen{width:100%;max-height:none}@media(max-width:900px){.lab-layout{flex-direction:column}.lab-split .lab-control{width:min(560px,100%)}}.device-card-screen{--screen-max-h: 78vh;box-sizing:border-box;width:min(100%,calc(var(--screen-max-h) * var(--card-aspect, .5625)));max-width:100%;height:auto;max-height:var(--screen-max-h);aspect-ratio:9 / 16;margin-inline:auto;justify-self:center;align-self:start;min-width:0;min-height:0}.device-card.expanded{flex-basis:100%;width:min(100%,78vh / (16 / 9))}.device-card.expanded .device-card-screen{--screen-max-h: 84vh;width:min(100%,calc(var(--screen-max-h) * var(--card-aspect, .5625)));max-height:var(--screen-max-h)}.stage-layout{display:grid;grid-template-columns:280px minmax(0,1fr) 320px;gap:16px;padding:16px 24px 8px;min-height:0;flex:1 1 auto;align-items:start}.stage-side{display:flex;flex-direction:column;gap:10px;min-width:0}.stage-side-left{justify-self:end;width:280px}.stage-side-right{justify-self:start;width:320px}@media(max-width:1280px){.stage-layout{grid-template-columns:minmax(0,1fr);justify-items:center}.stage-side{display:none}}.stage-layout.stage-landscape{grid-template-columns:minmax(0,1fr);justify-items:center}.stage-layout.stage-landscape .stage-side{display:none}.stage-layout.stage-landscape .single-stage{width:100%}.single-stage{display:grid;place-items:start center;min-height:0}.single-stage .stage-card{width:min(100%,calc((100vh - 220px) * var(--card-aspect, .5625)));transition:width .2s ease}.single-stage .stage-card .device-card-screen{--screen-max-h: calc(100vh - 220px) ;width:min(100%,calc(var(--screen-max-h) * var(--card-aspect, .5625)));max-height:var(--screen-max-h)}.quick-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:12px;background:var(--surface-1);border:1px solid var(--border-soft)}.quick-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.quick-card-head strong{color:var(--text-strong);font-size:.92rem}.quick-card-head small{color:var(--muted);font-size:.74rem}.quick-card-chip{margin-left:auto;flex-shrink:0;padding:1px 7px;font-size:.68rem;font-weight:600;border-radius:999px;border:1px solid var(--border-soft);color:var(--muted);letter-spacing:.02em}.quick-card-chip.conn-wifi{color:var(--ok-fg, var(--primary));border-color:var(--ok-fg, var(--primary))}.quick-card-chip.conn-usb{color:var(--text)}.info-card{gap:12px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px 8px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border-soft);text-align:center;min-width:0}.metric-ring{position:relative;width:56px;height:56px;flex-shrink:0}.metric-ring-svg{display:block;width:100%;height:100%}.metric-ring-track{stroke:var(--surface-3, rgba(0, 0, 0, .08))}.metric-ring-fill{transition:stroke-dasharray .4s ease}.metric-ring-primary{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:600;color:var(--text-strong);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.metric-tile-label{font-size:.74rem;color:var(--muted);font-weight:500;margin-top:2px}.metric-tile-meta{display:flex;flex-direction:column;align-items:center;gap:0;min-width:0;width:100%}.metric-tile-meta-inline{flex-direction:row;justify-content:center;align-items:baseline;gap:6px;flex-wrap:nowrap}.metric-tile-meta-inline .metric-tile-label,.metric-tile-meta-inline .metric-tile-sub{font-family:inherit;font-size:.74rem;line-height:1}.metric-tile-meta-inline .metric-tile-label{color:var(--muted);font-weight:500}.metric-tile-meta-inline .metric-tile-sub{color:var(--muted);min-height:0;max-width:none}.metric-tile-sub{font-size:.7rem;color:var(--muted);font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-height:.85rem}.metric-tile-sub-inline{min-height:0;max-width:none}.info-table{display:grid;grid-template-columns:64px 1fr;gap:6px 10px;margin:0;padding:10px 0 0;border-top:1px solid var(--border-soft);font-size:.8rem}.info-table dt{color:var(--muted);font-weight:400;align-self:center}.info-table dd{margin:0;color:var(--text);align-self:center;min-width:0;overflow-wrap:anywhere}.info-table dd.mono{font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.76rem}.info-table dd.subtle,.info-table dd .subtle{color:var(--muted)}.info-table dd .mono.subtle{font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.76rem}.quick-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.quick-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.7rem;min-width:0;overflow:hidden;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .05s ease}.quick-btn:hover:not(:disabled){border-color:var(--primary-border);color:var(--text-strong)}.quick-btn>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-btn:active:not(:disabled){transform:translateY(1px)}.quick-btn:disabled{opacity:.4;cursor:not-allowed}.clipboard-text{width:100%;min-height:60px;padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--surface-input);color:var(--text);font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.78rem;resize:vertical}.clipboard-actions{display:flex;gap:6px;flex-wrap:wrap}.clipboard-actions .ghost.small{flex:1 1 auto;white-space:nowrap;padding-inline:.5rem}.ghost.small{padding:.32rem .62rem;border-radius:7px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.78rem;cursor:pointer}.ghost.small:hover:not(:disabled){border-color:var(--primary-border)}.ghost.small:disabled{opacity:.4;cursor:not-allowed}.drop-zone{align-items:center;text-align:center;border:2px dashed var(--border);background:var(--surface-2);cursor:pointer;padding:18px 12px;min-height:92px;justify-content:center;color:var(--muted);transition:background .18s ease,border-color .18s ease}.drop-zone.hover{background:var(--primary-ring);border-color:var(--primary-border);color:var(--text-strong)}.drop-zone.busy{cursor:progress}.drop-zone.disabled{cursor:not-allowed;opacity:.55}.drop-zone-msg{margin:0;font-size:.82rem}.drop-zone-msg.subtle{color:var(--muted);font-size:.74rem}.quick-status details{border-top:1px solid var(--border-soft);padding:6px 0}.quick-status details:first-child{border-top:0}.quick-status summary{cursor:pointer;font-size:.84rem;color:var(--text);padding:4px 0;-webkit-user-select:none;user-select:none}.quick-status[open] summary{color:var(--text-strong)}.device-strip-wrap{display:flex;align-items:center;gap:8px;padding:10px 24px 16px;flex:0 0 auto}.device-strip{display:flex;gap:8px;align-items:center;overflow-x:auto;flex:1 1 auto;min-width:0;scrollbar-width:thin;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 12px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 12px,#000 calc(100% - 16px),transparent 100%)}.device-strip::-webkit-scrollbar{height:6px}.device-strip::-webkit-scrollbar-thumb{background:var(--border-strong, var(--border));border-radius:999px}.device-strip-item{display:inline-flex;align-items:center;gap:8px;padding:.42rem .9rem;min-height:36px;border-radius:999px;border:1px solid var(--border);background:var(--surface-1);color:var(--muted);cursor:pointer;white-space:nowrap;font-size:.84rem;transition:background .18s ease,border-color .18s ease,color .18s ease}.device-strip-item:hover{border-color:var(--primary-border);color:var(--text)}.device-strip-item.active{background:var(--primary-ring);border-color:var(--primary-border);color:var(--text-strong);font-weight:600}.device-strip-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0}.device-strip-dot.ok{background:#10b981}.device-strip-dot.idle{background:var(--muted)}.device-strip-label{letter-spacing:.02em;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-strip-item{flex:0 0 auto}.device-picker{position:relative;flex:0 0 auto}.device-picker-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-1);color:var(--muted);cursor:pointer}.device-picker-btn:hover,.device-picker-btn.open{border-color:var(--primary-border);color:var(--text-strong)}.device-picker-btn svg{width:15px;height:15px}.device-picker-count{font-size:.78rem;font-weight:700}.device-picker-pop{position:absolute;left:0;bottom:calc(100% + 8px);z-index:50;width:280px;max-width:80vw;padding:8px;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel-bg);box-shadow:var(--shadow)}.device-picker-search{width:100%;height:32px;padding:0 10px;margin-bottom:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-input);color:var(--text);font-size:.82rem}.device-picker-list{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.device-picker-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.device-picker-option:hover{background:var(--surface-raised, var(--surface-input))}.device-picker-option.active{background:var(--primary-ring);color:var(--text-strong);font-weight:600}.device-picker-name{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-picker-serial{margin-left:auto;font-size:.72rem;color:var(--muted);white-space:nowrap}.device-picker-empty{padding:14px;text-align:center;color:var(--muted);font-size:.82rem}.page-main{display:flex;flex-direction:column;min-height:0}.device-info{display:flex;flex-direction:column;gap:14px}.device-info-head{display:flex;align-items:center;justify-content:space-between}.device-info-head h3{margin:0;font-size:1rem;color:var(--text-strong)}.device-info-empty,.device-info-error{padding:16px;color:var(--muted);text-align:center}.device-info-error{color:var(--danger-fg)}.device-info-grid{display:grid;gap:10px}.device-info-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border-soft)}.device-info-label{color:var(--muted);font-size:.82rem}.device-info-value{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:.88rem;flex-wrap:wrap}.device-info-value.mono,.device-info-value .mono{font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.82rem}.device-info-muted{color:var(--muted);font-size:.78rem}.battery-bar{width:60px;height:6px;background:var(--surface-3);border-radius:999px;overflow:hidden;flex-shrink:0}.battery-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}.battery-bar-fill.ok{background:#10b981}.battery-bar-fill.warn{background:#f59e0b}.battery-bar-fill.danger{background:#ef4444}.logcat-panel{display:flex;flex-direction:column;gap:10px;height:100%;min-height:360px}.logcat-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px}.logcat-level,.logcat-tag,.logcat-grep{min-height:30px;padding:.28rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-input);color:var(--text);font-size:.82rem}.logcat-tag{flex:1 1 140px;min-width:100px;max-width:200px}.logcat-grep{flex:1 1 180px;min-width:120px}.logcat-autoscroll{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--muted);cursor:pointer}.logcat-counter{margin-left:auto;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.74rem;color:var(--muted)}.logcat-view{flex:1 1 auto;min-height:280px;padding:8px 10px;background:var(--code-bg);color:var(--code-fg);border:1px solid var(--border-soft);border-radius:10px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.42;overflow-y:auto;white-space:pre}.logcat-empty{padding:24px;color:var(--muted);text-align:center;font-family:inherit;white-space:normal}.logcat-line{display:block;padding:0 4px;border-radius:4px}.logcat-line.lvl-V{color:#94a3b8}.logcat-line.lvl-D{color:#93c5fd}.logcat-line.lvl-I{color:#d1d5db}.logcat-line.lvl-W{color:#fcd34d}.logcat-line.lvl-E{color:#fca5a5;background:#ef444414}.logcat-line.lvl-F{color:#fff;background:#ef444452;font-weight:600}.logcat-error{padding:8px 12px;color:var(--danger-fg);background:var(--danger-bg);border-radius:8px;font-size:.82rem}.ghost.icon-text.active{background:var(--primary-ring);color:var(--text-strong)}.files-panel{display:flex;flex-direction:column;gap:10px;flex:1 1 auto;min-height:0;position:relative}.files-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px}.files-path{flex:1 1 200px;min-width:160px;min-height:30px;padding:.28rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-input);color:var(--text);font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.82rem}.files-list{flex:1 1 auto;min-height:240px;overflow-y:auto;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-1)}.files-row{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border-soft);font-size:.84rem;cursor:default;min-width:0}.files-row:last-child{border-bottom:0}.files-row.dir{cursor:pointer}.files-row.dir:hover,.files-row:hover{background:var(--surface-2)}.files-row-icon{flex:0 0 auto;width:22px;color:var(--muted);display:flex;align-items:center;justify-content:center}.files-row.dir .files-row-icon{color:var(--primary)}.files-row-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px;overflow:hidden}.files-row-name{color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-row-meta{color:var(--muted);font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.72rem;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-row-meta-sep{opacity:.6}.files-row-actions{flex:0 0 auto;display:inline-flex;gap:2px}.files-row-actions .card-action{width:26px;height:26px;min-width:26px;padding:4px;border-radius:6px}.files-row-actions .card-action.danger{color:var(--danger-fg)}.files-empty,.files-error{padding:24px;color:var(--muted);text-align:center}.files-error{color:var(--danger-fg)}.files-error-card{margin:12px 4px;padding:16px 18px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-1);display:flex;flex-direction:column;gap:8px}.files-error-card strong{color:var(--text-strong);font-size:.95rem}.files-error-card .tip{margin:0}.files-error-details{font-size:.78rem}.files-error-details>summary{cursor:pointer;color:var(--muted);list-style:none}.files-error-details>summary::-webkit-details-marker{display:none}.files-error-details code{display:block;margin-top:6px;padding:6px 8px;background:var(--surface-2);border-radius:6px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.75rem;color:var(--danger-fg);word-break:break-all}.files-error-actions{display:flex;gap:8px;margin-top:4px}.files-status{padding:6px 10px;border-radius:8px;background:var(--primary-ring);color:var(--text-strong);font-size:.82rem}.files-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#3b82f626;border:2px dashed var(--primary-border);border-radius:10px;color:var(--text-strong);font-weight:600;pointer-events:none}.hidden-file-input{display:none}.files-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:#0f172a8c;padding:24px;animation:scrim-in .18s ease}.files-preview-modal{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;box-shadow:0 30px 80px #0006;width:min(960px,100%);height:min(85vh,820px);display:flex;flex-direction:column;overflow:hidden}.files-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-soft)}.files-preview-name{color:var(--text-strong);font-size:.94rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-preview-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.files-preview-body{flex:1 1 auto;min-height:0;overflow:auto;display:flex;align-items:stretch;justify-content:stretch;background:var(--surface-1)}.files-preview-body.kind-text{padding:0}.files-preview-text{flex:1 1 auto;margin:0;padding:14px 18px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.5;color:var(--text);white-space:pre-wrap;word-break:break-word;overflow:auto}.files-preview-body.kind-image{padding:12px;background:repeating-conic-gradient(var(--surface-1) 0% 25%,var(--surface-2) 0% 50%) 0 / 24px 24px}.files-preview-body.kind-image img{max-width:100%;max-height:100%;margin:auto;object-fit:contain}.files-preview-body.kind-audio{padding:32px;align-items:center;justify-content:center}.files-preview-body.kind-audio audio{width:100%;max-width:560px}.files-preview-body.kind-pdf{padding:0}.files-preview-body.kind-pdf iframe{flex:1 1 auto;width:100%;border:0;background:var(--surface-1)}.files-preview-body.kind-unsupported{flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:12px;text-align:center;color:var(--muted)}.files-preview-unsupported{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:360px}.files-preview-unsupported strong{color:var(--text-strong);font-size:1rem}.files-preview-unsupported .tip{margin:0}.card-action.subtle{opacity:.45}.card-action.subtle:hover{opacity:1}.apps-panel{display:flex;flex-direction:column;gap:10px;height:100%;min-height:360px;position:relative}.apps-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px}.apps-scope{width:92px;flex-shrink:0}.apps-scope,.apps-filter{min-height:30px;padding:.28rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-input);color:var(--text);font-size:.82rem}.apps-filter{flex:1 1 200px;min-width:140px}.apps-counter{margin-left:auto;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.74rem;color:var(--muted)}.apps-list{flex:1 1 auto;min-height:240px;overflow-y:auto;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-1)}.apps-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border-soft)}.apps-row:last-child{border-bottom:0}.apps-row-icon{color:var(--muted);display:flex;align-items:center}.apps-row.system .apps-row-icon{color:var(--primary)}.apps-row-pkg{color:var(--text-strong);font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apps-row-sub{display:flex;gap:8px;margin-top:2px;font-size:.74rem;color:var(--muted)}.apps-tag{padding:.04rem .42rem;border-radius:999px;font-size:.72rem}.apps-tag.sys{background:var(--primary-ring);color:var(--text-strong)}.apps-tag.user{background:var(--surface-3);color:var(--muted)}.apps-row-actions{display:inline-flex;gap:4px}.apps-row-actions .card-action{width:28px;height:28px;padding:4px;border-radius:6px}.apps-row-actions .card-action.danger{color:var(--danger-fg)}.apps-row-actions .card-action[disabled]{opacity:.4;cursor:not-allowed}.apps-empty,.apps-error{padding:24px;color:var(--muted);text-align:center}.apps-error{color:var(--danger-fg)}.device-card{position:relative;isolation:isolate;display:grid;grid-template-rows:auto auto auto;gap:12px;padding:16px;border-radius:18px;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--shadow-soft);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;min-height:0;min-width:0;max-width:100%;overflow:hidden}.device-card:has(.device-card-reservation){grid-template-rows:auto auto auto auto}.device-card-reservation{min-width:0}.device-grid>.device-card:not(.expanded) .device-card-reservation{min-height:108px}.device-card:hover{border-color:var(--primary-border);box-shadow:var(--shadow),0 0 0 1px #3b82f638,0 0 0 5px #3b82f60f}.device-card.active{border-color:var(--primary-border);box-shadow:0 0 0 2px var(--primary-ring),var(--shadow)}.device-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;min-height:60px}.device-card-identity{display:flex;min-width:0;flex-direction:column;gap:4px;overflow:hidden}.device-card-head-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:6px;min-width:0}.device-card-fullscreen{flex-shrink:0}.device-card-audio.active{color:var(--primary);background:var(--primary-ring);border-color:var(--primary-border)}.device-card-badges{display:flex;min-width:0;height:18px;min-height:18px;max-height:18px;flex-wrap:nowrap;align-items:center;gap:4px;overflow:hidden}.device-card-transport{flex-shrink:0;box-sizing:border-box;height:18px;font-size:10px;font-weight:600;line-height:14px;letter-spacing:0;padding:1px 6px;white-space:nowrap;border-radius:999px;background:color-mix(in srgb,var(--accent, #3b82f6) 18%,transparent);color:var(--accent, #3b82f6);border:1px solid color-mix(in srgb,var(--accent, #3b82f6) 35%,transparent)}.device-card-transport.agent-media-webrtc{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-border)}.device-card-transport.agent-media-wss{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-border)}.device-card-status{min-width:0;flex:0 1 auto;overflow:hidden;font-variant-numeric:tabular-nums;text-overflow:ellipsis}.device-card-title{display:-webkit-box;min-width:0;min-height:2.5em;font-weight:600;font-size:.95rem;line-height:1.25;color:var(--text-strong);white-space:normal;overflow-wrap:anywhere;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.device-card-chip{display:inline-flex;align-items:center;gap:6px;padding:.25rem .6rem;border-radius:999px;font-size:.72rem;border:1px solid var(--border);background:var(--surface-2);white-space:nowrap;align-self:start}.device-card-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}.device-card-chip.ok{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-border)}.device-card-chip.ok .dot{background:#10b981}.device-card-chip.idle{color:var(--muted)}.device-card-chip.idle-online{background:var(--primary-ring);color:var(--primary);border-color:var(--primary-border)}.device-card-chip.idle-online .dot{background:var(--primary)}.device-card-chip.warning{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-border)}.device-card-chip.warning .dot{background:#f59e0b;animation:pulse-warning 1.2s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.4}}.device-card-screen{position:relative;border-radius:12px;background:var(--code-bg);border:1px solid var(--border-soft);display:block;overflow:hidden;contain:paint}.card-video{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center;border-radius:inherit;background:#000;overflow:hidden}.card-video.crop-letterbox{object-fit:cover}.card-screen-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#e2e8f052;pointer-events:none}.card-screen-empty svg{width:56px;height:56px}.device-card-screen.drag-over{outline:2px dashed rgba(99,102,241,.95);outline-offset:-4px}.card-drop-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#f1f5f9f2;background:#0f172ac7;border-radius:10px;pointer-events:none;z-index:2;font-size:13px;font-weight:500;text-align:center;padding:14px 18px;max-width:80%;box-shadow:0 4px 16px #00000059}.card-drop-overlay svg{opacity:.95}.card-video{cursor:pointer;touch-action:none}.card-pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0000006b;color:#fff;pointer-events:none;font-weight:600;letter-spacing:.04em}.card-pause-overlay span{padding:6px 14px;border-radius:999px;background:#0009;border:1px solid rgba(255,255,255,.18);font-size:.85rem}.device-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;row-gap:6px;justify-content:center}.card-action{width:36px;height:36px;padding:0;border-radius:10px;display:grid;place-items:center;background:var(--surface-1);border:1px solid var(--border);color:var(--muted);transition:background .15s ease,color .15s ease,border-color .15s ease;flex:0 0 auto}.card-action:hover:not(:disabled){background:var(--surface-raised);color:var(--text-strong);border-color:var(--primary-border)}.card-action:disabled{opacity:.4;cursor:not-allowed}.card-action.primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:var(--text-on-primary);border-color:transparent;box-shadow:var(--shadow-soft)}.card-action.primary:hover:not(:disabled){transform:translateY(-1px)}.card-action svg{width:14px;height:14px}.card-action-spacer{flex:1 1 0;min-width:0}.dpad-menu{inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;padding:8px;border:1px solid var(--border);border-radius:16px;background:var(--surface-1);box-shadow:var(--shadow-strong, 0 10px 24px rgba(2, 6, 23, .18));display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,38px);gap:4px}.dpad-menu:not(:popover-open){display:none}.dpad-menu::backdrop{background:transparent}.dpad-key{width:38px;height:38px;padding:0;border-radius:10px;background:var(--surface-2, var(--surface-1));border:1px solid var(--border);color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:background .15s ease,color .15s ease,border-color .15s ease}.dpad-key:hover:not(:disabled){background:var(--surface-raised);color:var(--text-strong);border-color:var(--primary-border)}.dpad-key:disabled{opacity:.4;cursor:not-allowed}.dpad-key svg{width:16px;height:16px}.dpad-up{grid-column:2;grid-row:1}.dpad-left{grid-column:1;grid-row:2}.dpad-right{grid-column:3;grid-row:2}.dpad-down{grid-column:2;grid-row:3}.dpad-hub{grid-column:2;grid-row:2;border-radius:50%;background:var(--surface-2, transparent);opacity:.4}.dpad-close{grid-column:3;grid-row:1;width:38px;height:38px;padding:0;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:10px;display:grid;place-items:center}.dpad-close:hover{color:var(--text-strong);background:var(--surface-raised)}.dpad-close svg{width:15px;height:15px}.device-card{container-type:inline-size;container-name:device-card}.device-card:fullscreen,.device-card.fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;padding:12px;gap:10px;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;background:#05070a;box-shadow:none;cursor:default}.device-card:fullscreen .device-card-screen,.device-card.fullscreen .device-card-screen{--fullscreen-screen-max-h: calc(100vh - 136px) ;width:min(100%,calc(var(--fullscreen-screen-max-h) * var(--card-aspect, .5625)));height:auto;max-width:100%;max-height:var(--fullscreen-screen-max-h);aspect-ratio:var(--card-aspect, .5625);justify-self:center;align-self:center}.device-card:fullscreen .device-card-head,.device-card:fullscreen .device-card-actions,.device-card.fullscreen .device-card-head,.device-card.fullscreen .device-card-actions{width:100%}.device-card:fullscreen .device-card-reservation,.device-card.fullscreen .device-card-reservation{display:none}@container device-card (max-inline-size: 380px){.card-action{width:34px;height:34px}.device-card-actions{gap:5px;row-gap:5px}}@container device-card (max-inline-size: 320px){.card-action{width:32px;height:32px;border-radius:9px}.device-card-actions{gap:4px;row-gap:4px}}@container device-card (max-inline-size: 240px){.card-action{width:30px;height:30px;border-radius:8px}.card-action svg{width:15px;height:15px}.device-card-actions{gap:3px;row-gap:4px}}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061766;z-index:50;animation:scrim-in .18s ease}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.device-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:90vw;background:var(--drawer-bg, rgba(15, 23, 42, .62));backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);border-left:1px solid var(--panel-border);box-shadow:-20px 0 60px #00000052;z-index:60;transform:translate(100%);transition:transform .22s ease;display:flex;flex-direction:column}.device-drawer.open{transform:translate(0)}.device-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border-soft)}.device-drawer-title{display:flex;flex-direction:column;gap:2px}.device-drawer-title strong{font-size:.98rem;color:var(--text-strong)}.device-drawer-title small{color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}.icon-btn{width:32px;height:32px;padding:0;border-radius:8px;display:grid;place-items:center;background:transparent;border:0;color:var(--muted);cursor:pointer}.icon-btn:hover{background:var(--surface-1);color:var(--text)}.icon-btn svg{width:16px;height:16px}.device-drawer-tabs{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border-soft);overflow-x:auto;scrollbar-width:thin}.drawer-tab{flex-shrink:0;padding:.45rem .8rem;border-radius:999px;background:transparent;border:1px solid transparent;color:var(--muted);font-size:.8rem;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.drawer-tab:hover{color:var(--text)}.drawer-tab.active{background:var(--primary);color:var(--text-on-primary);border-color:transparent}.device-drawer-body{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.device-drawer-body .section{background:transparent;border:0;padding:0}.settings-grid{display:grid;gap:16px;max-width:720px}.tab-bar{display:flex;gap:8px;flex-wrap:wrap}.tab-btn{border:1px solid var(--border);background:var(--surface-1);color:var(--text);padding:.55rem .9rem;border-radius:999px}.tab-btn.active{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:var(--text-on-primary);border-color:transparent}.custom-card{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border-soft)}.custom-card-title{color:var(--text-strong);font-size:.82rem}.custom-card h3{margin:0;color:var(--text-strong)}.custom-card .custom-label{width:100%}.custom-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px}.custom-row select{min-width:0}.custom-actions{display:flex;justify-content:flex-end}.custom-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:10px}.viewer-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.screen-shell{position:relative;flex:1;border-radius:28px;overflow:hidden;background:var(--screen-bg);border:1px solid var(--screen-border);display:grid;place-items:center;min-height:0}.screen{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:16px;box-shadow:0 16px 36px #00000059;-webkit-user-select:none;user-select:none;touch-action:none;transition:opacity .22s ease,transform .22s ease,filter .22s ease}.screen.mode-fit{object-fit:contain}.screen.mode-pixel{object-fit:none;image-rendering:auto;background:#0f172a}.screen.state-idle{opacity:.18;filter:grayscale(.18) saturate(.82);transform:scale(.995)}.screen.state-loading{opacity:.42;filter:blur(.2px) saturate(.92);transform:scale(.996)}.screen.state-ready{opacity:1;filter:none;transform:scale(1)}.empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#e2e8f0c7;gap:12px;pointer-events:none}.empty-icon{width:64px;height:64px;color:#e2e8f080}.empty-state strong{display:block;text-align:center;font-size:1rem;margin-bottom:4px;color:#e2e8f0db}.empty-state p{margin:0;text-align:center;font-size:.84rem;color:#e2e8f094}.pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--overlay-strong);pointer-events:none}.pause-chip{padding:.9rem 1.2rem;border-radius:999px;background:var(--chip-bg);color:var(--chip-fg);border:1px solid rgba(255,255,255,.16);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--overlay-soft);pointer-events:none}.loading-chip{padding:.8rem 1.1rem;border-radius:999px;background:var(--chip-bg);color:var(--chip-fg);border:1px solid rgba(255,255,255,.14);font-weight:600;letter-spacing:.03em}.fps-overlay{position:absolute;top:14px;left:14px;display:inline-flex;align-items:baseline;gap:8px;padding:.6rem .9rem;border-radius:999px;background:var(--chip-bg);color:var(--code-fg);border:1px solid rgba(255,255,255,.12);pointer-events:none}.fps-overlay span{font-size:.72rem;opacity:.72;letter-spacing:.1em}.fps-overlay strong{font-size:.98rem}@media(max-width:1120px){.shell{grid-template-columns:1fr}.screen{max-width:100%;max-height:64vh}}@media(max-width:720px){.shell{padding:12px;gap:12px}.sidebar,.viewer{border-radius:22px;padding:16px}.action-row,.action-grid,.input-row,.meta-grid,.mapping-actions,.custom-grid{grid-template-columns:1fr}.quick-grid,.shortcut-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px),(max-height:520px)and (pointer:coarse){html,body,#app{width:100%;min-height:100dvh;overflow-x:hidden}.shell{width:100%;height:100dvh;min-height:100dvh;padding:0;gap:0;overflow:hidden;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"header" "main" "nav"}.shell>.nav-rail{flex-direction:row;align-items:stretch;gap:2px;min-width:0;min-height:58px;padding:4px max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));overflow-x:auto;overflow-y:hidden;border-top:1px solid var(--panel-border);border-right:0;background:var(--panel-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-rail-brand{display:none}.nav-rail-item,.nav-rail-admin{flex:1 0 52px;min-width:52px;min-height:48px;margin:0;padding:6px 3px;border-radius:8px}.nav-rail-item.active:before{top:-4px;left:50%;width:22px;height:3px;transform:translate(-50%);border-radius:0 0 3px 3px}.nav-rail-item span{max-width:100%;overflow:hidden;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.page-header{min-width:0;min-height:52px;padding:max(8px,env(safe-area-inset-top)) 10px 8px;gap:6px;flex-wrap:nowrap;border-bottom:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.page-header-title{flex:1 1 auto;min-width:0;gap:6px;flex-wrap:nowrap}.page-header h1{min-width:0;max-width:100%;font-size:1rem}.page-header-sub,.page-header .preference-bar,.account-chip .account-role{display:none}.page-header-actions{flex:0 0 auto;gap:4px;flex-wrap:nowrap}.page-header-actions>.icon-text,.page-back-btn,.account-chip .account-logout{justify-content:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;overflow:hidden;font-size:0}.page-header .icon-text svg,.account-chip .account-logout svg{width:17px;height:17px}.account-chip{padding-left:0;border-left:0}.page-main{min-width:0;width:100%;padding:10px 10px 14px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.device-grid{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:12px;width:100%}.device-grid>.device-card:not(.expanded),.device-grid.lab-grid>.device-card:not(.expanded){width:min(100%,360px)}.lab-layout,.lab-control,.lab-preview,.settings-grid,.settings-grid>*,.lab-layout>*{min-width:0;width:100%;max-width:100%}.lab-layout{gap:14px}.empty-devices{min-height:55dvh;padding:32px 16px}.drawer-scrim{background:#0206178c}.device-drawer{top:auto;right:0;bottom:0;left:0;width:100%;height:min(82dvh,760px);max-width:none;max-height:82dvh;padding-bottom:env(safe-area-inset-bottom);transform:translateY(100%);border:1px solid var(--panel-border);border-right:0;border-bottom:0;border-left:0;border-radius:8px 8px 0 0;box-shadow:0 -18px 50px #00000061;overscroll-behavior:contain}.device-drawer.open{transform:translateY(0)}.device-drawer-head{min-height:52px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))}.device-drawer-title{min-width:0}.device-drawer-title strong,.device-drawer-title small{max-width:calc(100vw - 72px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-drawer-head .icon-btn{width:40px;height:40px}.device-drawer-tabs{gap:2px;padding:6px max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left));scrollbar-width:none}.device-drawer-tabs::-webkit-scrollbar{display:none}.drawer-tab{flex:1 0 auto;min-height:42px;padding:8px 10px;border-radius:8px 8px 0 0}.device-drawer-body{padding:10px max(12px,env(safe-area-inset-right)) 14px max(12px,env(safe-area-inset-left));scrollbar-gutter:auto}}@media(max-width:720px),(max-height:520px)and (pointer:coarse){.shell.mobile-detail-focus{--mobile-stage-controls: calc(105px + env(safe-area-inset-bottom)) ;--mobile-stage-header: calc(47px + max(8px, env(safe-area-inset-top))) ;width:100%;height:100dvh;min-height:100dvh;overflow:hidden;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"main"}.mobile-detail-focus>.nav-rail,.mobile-detail-focus .stage-toolbar,.mobile-detail-focus .stage-side,.mobile-detail-focus .device-strip-wrap,.mobile-detail-focus .page-header .preference-bar,.mobile-detail-focus .page-header .account-chip,.mobile-detail-focus .page-refresh-action,.mobile-detail-focus .page-view-action{display:none}.mobile-detail-focus>.page-header{position:fixed;inset:0 0 auto;z-index:6;min-width:0;width:100%;height:var(--mobile-stage-header);min-height:0;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left));gap:6px;flex-wrap:nowrap;border-bottom:1px solid var(--panel-border);background:#05070ac2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-detail-focus .page-header-title{flex:1 1 auto;min-width:0;flex-wrap:nowrap}.mobile-detail-focus .page-header h1{min-width:0;max-width:100%;overflow:hidden;font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}.mobile-detail-focus .page-back-btn{display:inline-flex;justify-content:center;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;overflow:hidden;font-size:0}.mobile-detail-focus>.device-page{width:100%;height:100%;min-height:0;padding:0;overflow:hidden;background:#000}.mobile-detail-focus .device-workspace,.mobile-detail-focus .stage-layout,.mobile-detail-focus .stage-layout.stage-landscape,.mobile-detail-focus .single-stage{width:100%;height:100%;min-width:0;min-height:0;margin:0;padding:0}.mobile-detail-focus .stage-layout,.mobile-detail-focus .stage-layout.stage-landscape{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.mobile-detail-focus .single-stage{display:grid;place-items:stretch}.mobile-detail-focus .single-stage .stage-card{position:relative;width:100%;height:100%;max-width:none;max-height:none;padding:0;gap:0;grid-template-rows:minmax(0,1fr);border:0;border-radius:0;background:#000;box-shadow:none;cursor:default}.mobile-detail-focus .stage-card .device-card-head{position:absolute;inset:calc(var(--mobile-stage-header) + 8px) 8px auto;z-index:4;display:flex;min-height:0;padding:0;pointer-events:none}.mobile-detail-focus .stage-card .device-card-identity{display:none}.mobile-detail-focus .stage-card .device-card-head-actions{width:100%;align-items:center;justify-content:space-between;pointer-events:none}.mobile-detail-focus .stage-card .device-card-chip{pointer-events:auto}.mobile-detail-focus .stage-card .device-card-fullscreen{display:none}.mobile-detail-focus .stage-card .device-card-chip{color:#ffffffd6;background:#00000094;border-color:#ffffff29}.mobile-detail-focus .stage-card .device-card-chip.ok{color:#86efac}.mobile-detail-focus .stage-card .device-card-screen{--screen-max-h: 100dvh;grid-row:1;width:min(100%,calc(var(--screen-max-h) * var(--card-aspect, .5625)));max-width:100%;max-height:var(--screen-max-h);align-self:center;justify-self:center;border:0;border-radius:0}.mobile-detail-focus .stage-card .device-card-actions{position:absolute;inset:auto 0 0;z-index:5;display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:4px;width:100%;height:var(--mobile-stage-controls);min-height:0;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#05070ad1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--panel-border)}.mobile-detail-focus .stage-card .card-action-spacer{display:none}.mobile-detail-focus .stage-card .card-action{width:100%;min-width:44px;height:44px;min-height:44px;border-radius:8px}.mobile-detail-focus .stage-card .device-card-audio.active{color:var(--ok-fg);border-color:var(--ok-border);background:var(--ok-bg)}.mobile-detail-focus .stage-card:fullscreen,.mobile-detail-focus .stage-card.fullscreen{width:100dvw;height:100dvh;padding:0;grid-template-rows:minmax(0,1fr)}.mobile-detail-focus .stage-card:fullscreen .device-card-screen,.mobile-detail-focus .stage-card.fullscreen .device-card-screen{--screen-max-h: 100dvh;width:min(100%,calc(var(--screen-max-h) * var(--card-aspect, .5625)));max-height:var(--screen-max-h)}.mobile-detail-focus .stage-card:fullscreen .device-card-head,.mobile-detail-focus .stage-card.fullscreen .device-card-head{top:calc(8px + env(safe-area-inset-top))}}@media(min-width:521px)and (max-height:520px)and (pointer:coarse){.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-grid>.device-card:not(.expanded),.device-grid.lab-grid>.device-card:not(.expanded){width:100%}.shell.mobile-detail-focus{--mobile-stage-controls: calc(58px + env(safe-area-inset-bottom)) ;--mobile-stage-header: calc(44px + max(5px, env(safe-area-inset-top))) }.mobile-detail-focus>.page-header{padding-top:max(5px,env(safe-area-inset-top));padding-bottom:5px}.mobile-detail-focus .stage-card .device-card-actions{grid-template-columns:repeat(9,minmax(44px,1fr));padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}}
