.firmware-upgrade-modules{width:min(800px,100%);min-width:0;color:var(--text);gap:16px;margin:0 auto;display:grid}.firmware-upgrade-standalone{width:100%;height:100dvh;color:var(--text);background:radial-gradient(ellipse at 45% 0,color-mix(in srgb,var(--ui-primary) 9%,transparent),transparent 65%),var(--surface);padding:clamp(16px,4vw,36px);overflow:auto}.firmware-upgrade-standalone>.firmware-module{width:min(800px,100%);margin:0 auto}.firmware-upgrade-modules>header{justify-content:space-between;align-items:center;gap:16px;padding:2px 0;display:flex}.firmware-upgrade-modules h1{margin:0;font-size:22px;font-weight:700;line-height:1.4}.firmware-module{min-width:0;color:var(--text);border:1px solid var(--border);border-radius:var(--ui-radius-panel);background:linear-gradient(145deg,color-mix(in srgb,var(--ui-primary) 4%,var(--surface-raised)),var(--surface-raised));padding:clamp(16px,3vw,22px)}.firmware-module>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.firmware-module-heading{align-items:center;gap:10px;min-width:0;display:flex}.firmware-module-icon{border:1px solid color-mix(in srgb,var(--ui-primary) 25%,var(--border));border-radius:var(--ui-radius-panel);width:36px;height:36px;color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 9%,var(--surface));flex:none;place-items:center;display:grid}.firmware-module h2{color:var(--text);margin:0;font-size:16px;font-weight:700;line-height:1.4}.firmware-module p{color:var(--text-soft);overflow-wrap:anywhere;font-size:13px;line-height:1.7}.firmware-module .firmware-version{border:1px solid var(--border);border-radius:var(--ui-radius-control);color:var(--text-soft);background:var(--surface);overflow-wrap:anywhere;padding:4px 8px;font-size:11px;line-height:1.5}:is(.firmware-module,.firmware-upgrade-modules)>header>button,.firmware-module button,.firmware-executor-actions button{border:1px solid var(--border);border-radius:var(--ui-radius-control);min-width:0;height:auto;min-height:36px;color:var(--text-soft);background:var(--surface-hover);font:500 12px/1.4 var(--font-sans);justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}:is(.firmware-module,.firmware-upgrade-modules)>header>button:hover:enabled,.firmware-module button:hover:enabled,.firmware-executor-actions button:hover:enabled{color:var(--text);border-color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 10%,var(--surface-hover))}.firmware-package-list{gap:8px;margin-bottom:14px;display:grid}.firmware-package-list button{width:100%;color:var(--text);background:var(--surface);text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:14px;display:grid}.firmware-package-list strong{overflow-wrap:anywhere;font-size:13px;font-weight:600}.firmware-package-list button>span{border-radius:var(--ui-radius-control);background:var(--surface-hover);color:var(--text-soft);align-self:start;padding:2px 6px;font-size:11px}.firmware-package-list small{color:var(--text-soft);overflow-wrap:anywhere;white-space:pre-wrap;grid-column:1/-1;font-size:12px;line-height:1.6}.firmware-package-push{border:1px solid color-mix(in srgb,var(--ui-primary) 28%,var(--border));border-radius:var(--ui-radius-panel);background:color-mix(in srgb,var(--ui-primary) 5%,var(--surface));padding:16px}.firmware-package-push>strong{color:var(--text);overflow-wrap:anywhere;font-size:15px}.firmware-package-push p{white-space:pre-wrap;margin:8px 0 12px}.firmware-package-selected{color:var(--ui-success-text);border:1px solid color-mix(in srgb,var(--ui-success) 25%,var(--border));border-radius:var(--ui-radius-panel);background:color-mix(in srgb,var(--ui-success-bg) 45%,var(--surface));flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px;padding:12px;display:flex}.firmware-package-selected>strong{overflow-wrap:anywhere;font-size:13px}.firmware-package-selected>span{color:var(--text-soft);font-size:12px}.firmware-package-selected>button{margin-left:auto}.firmware-module-status{align-items:center;gap:8px;display:flex}.firmware-module-status:before{content:"";background:var(--ui-info);border-radius:50%;flex:none;width:6px;height:6px}.firmware-module-error,.firmware-module .firmware-module-error{color:var(--ui-error);background:color-mix(in srgb,var(--ui-error) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--ui-error) 35%,var(--border));border-radius:var(--ui-radius-panel);overflow-wrap:anywhere;margin:0;padding:10px 12px;font-size:13px;line-height:1.7}.firmware-module>.firmware-module-error{margin-top:14px}.firmware-executor-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.firmware-selection-actions{justify-content:space-between;margin-top:0;padding-top:2px}.firmware-selection-actions button{min-height:42px;padding:10px 16px;font-size:13px}.firmware-selection-actions .firmware-action-primary{min-width:min(220px,100%);margin-left:auto}.firmware-executor-actions :is(.firmware-action-primary,.firmware-install){color:var(--ui-primary);border-color:color-mix(in srgb,var(--ui-primary) 60%,var(--border));background:color-mix(in srgb,var(--ui-primary) 20%,var(--surface-raised));font-weight:700}.firmware-executor-actions :is(.firmware-action-primary,.firmware-install):hover:enabled{color:var(--text);border-color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 32%,var(--surface-raised))}.firmware-automatic-hint{color:var(--text-soft);text-align:right;margin:0;font-size:12px;line-height:1.6}.firmware-executor-status{border:1px solid var(--border);border-radius:var(--ui-radius-panel);background:var(--surface);align-items:center;gap:8px;margin:0 0 14px;padding:12px;display:flex}.firmware-executor-status:before{content:"";background:var(--ui-info);border-radius:50%;flex:none;width:7px;height:7px}.firmware-executor[data-state=completed] .firmware-executor-status{color:var(--ui-success-text);background:var(--ui-success-bg)}.firmware-executor[data-state=completed] .firmware-executor-status:before{background:var(--ui-success)}.firmware-executor[data-state=failed] .firmware-executor-status:before{background:var(--ui-error)}.firmware-executor-progress{color:var(--text-soft);gap:10px;margin-top:16px;font-size:12px;display:grid}.firmware-executor progress{-webkit-appearance:none;appearance:none;border-radius:var(--ui-radius-control);background:var(--border);width:100%;height:8px;accent-color:var(--ui-primary);border:0;display:block;overflow:hidden}.firmware-executor progress::-webkit-progress-bar{background:var(--border);border-radius:var(--ui-radius-control)}.firmware-executor progress::-webkit-progress-value{background:var(--ui-primary);border-radius:var(--ui-radius-control);transition:width var(--ui-duration-normal) ease}.firmware-executor progress::-moz-progress-bar{background:var(--ui-primary);border-radius:var(--ui-radius-control)}.firmware-bl-info{border:1px solid var(--border);border-radius:var(--ui-radius-panel);background:var(--surface);grid-template-columns:auto minmax(0,1fr);gap:10px 16px;margin:18px 0 0;padding:14px;font-size:12px;line-height:1.6;display:grid}.firmware-bl-info dt{color:var(--text-soft)}.firmware-bl-info dd{color:var(--text);overflow-wrap:anywhere;margin:0}.firmware-bl-decode{color:var(--text-soft);margin-top:18px;font-size:12px}.firmware-bl-decode summary{padding:8px 0}.firmware-bl-decode textarea{width:100%;min-height:80px;color:var(--text);border:1px solid var(--border);border-radius:var(--ui-radius-control);background:var(--surface);font:12px/1.6 var(--font-sans);margin:8px 0;padding:10px;display:block}.gate-background-session .gate-connection{display:none}@media (max-width:540px){.firmware-upgrade-modules{gap:12px}.firmware-upgrade-modules h1{font-size:20px}.firmware-selection-actions{grid-template-columns:minmax(0,1fr);display:grid}.firmware-selection-actions>.firmware-action-secondary{justify-self:start}.firmware-selection-actions>.firmware-action-primary{width:100%;min-width:0;margin-left:0}.firmware-automatic-hint{text-align:left}.firmware-package-list button{grid-template-columns:minmax(0,1fr)}.firmware-package-list button>span{justify-self:start}}.firmware-connection-preparation{gap:10px;display:grid}.firmware-connection-preparation>p,.firmware-connection-recovery>p{margin:0}.firmware-connection-recovery{gap:10px;min-width:0;display:grid}.firmware-connection-recovery .firmware-executor-actions{margin-top:2px}.firmware-connection-recovery .firmware-executor-status{color:var(--text);font-weight:600}.firmware-connection-recovery .firmware-executor-status:before{border-radius:var(--ui-radius-control)}.firmware-upgrade-standalone[data-component=FirmwareUpgradePage]{align-content:start;gap:16px;display:grid}.floating-guide-layer{z-index:1200;pointer-events:none;position:fixed;inset:0}.floating-guide-hole{pointer-events:none;border-radius:8px;transition:top .18s,left .18s,width .18s,height .18s;position:absolute;box-shadow:0 0 0 9999px #02070b9e,0 0 0 2px #55a7fff2,0 0 22px #55a7ff8c}.floating-guide-tip{color:#b7c7d2;pointer-events:auto;background:#111a22;border:1px solid #49657a;border-radius:10px;padding:16px 18px 14px;transition:top .18s,left .18s;position:absolute;box-shadow:0 18px 60px #0009,0 0 0 1px #55a7ff1f}.floating-guide-tip h3{color:#eff8ff;margin:0 26px 8px 0;font-size:15px;font-weight:800;line-height:1.4}.floating-guide-tip p{margin:0 0 14px;font-size:13px;line-height:1.7}.fg-close{color:#8fa0ae;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:10px;right:10px}.fg-close:hover:not(:disabled):not([aria-disabled=true]){color:#e8f7ff;background:#ffffff14}.fg-buttons{align-items:center;gap:8px;display:flex}.fg-progress{color:#718596;font:700 12px var(--font-mono), "Microsoft YaHei UI", "PingFang SC", "Noto Sans CJK SC", monospace;margin-right:auto}.fg-buttons button{border-radius:var(--ui-radius-panel);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;height:32px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.fg-skip{color:#8fa0ae;background:0 0;border:0}.fg-skip:hover:not(:disabled):not([aria-disabled=true]){color:#c6d6e3}.fg-prev{color:#aab8c3;background:#18232d;border:1px solid #394b59}.fg-prev:not(:disabled):hover{border-color:var(--blue);color:#e8f7ff}.fg-prev:disabled{opacity:var(--ui-disabled-opacity);cursor:not-allowed}.fg-next{color:#061319;background:var(--blue);border:1px solid var(--blue)}.fg-next:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(1.12)}@media (max-width:560px){.floating-guide-tip{padding:14px 14px 12px}.floating-guide-tip p{font-size:12px}.fg-skip{display:none}}.notice-markdown{min-width:0;color:inherit;font:inherit;white-space:normal;overflow-wrap:anywhere;line-height:1.6}.notice-markdown>:first-child{margin-top:0}.notice-markdown>:last-child{margin-bottom:0}.notice-markdown p{margin:0 0 10px}.notice-markdown :is(h1,h2,h3,h4,h5,h6){color:var(--text);margin:16px 0 8px;padding:0;font-weight:700;line-height:1.4;display:block}.notice-markdown h1{font-size:1.45em}.notice-markdown h2{font-size:1.25em}.notice-markdown :is(h3,h4,h5,h6){font-size:1.1em}.notice-markdown :is(ul,ol){margin:8px 0 12px;padding-left:1.7em}.notice-markdown li{margin:4px 0}.notice-markdown li>p{margin:0}.notice-markdown :is(strong,b){color:var(--text);font-weight:700}.notice-markdown mark{color:var(--text);background:color-mix(in srgb,var(--ui-warning) 30%,var(--surface-raised));border-radius:2px;padding:0 .15em}.notice-markdown code{border:1px solid var(--border);border-radius:var(--ui-radius-control);color:var(--text);background:var(--surface-hover);padding:1px 4px;font-size:.95em}.notice-markdown pre{border:1px solid var(--border);border-radius:var(--ui-radius-panel);background:var(--surface);white-space:pre;margin:10px 0;padding:10px 12px;overflow:auto}.notice-markdown pre code{white-space:pre;background:0 0;border:0;padding:0}.notice-markdown blockquote{border-left:3px solid var(--ui-info);color:var(--text-soft);margin:10px 0;padding:4px 12px}.notice-markdown a{color:var(--ui-info);text-underline-offset:2px;text-decoration:underline}.notice-markdown img{border-radius:var(--ui-radius-control);max-width:100%;height:auto;margin:10px 0;display:block}.notice-markdown table{border-collapse:collapse;width:100%;font-size:inherit;margin:10px 0}.notice-markdown :is(th,td){border:1px solid var(--border);text-align:left;padding:6px 8px}.notice-markdown th{color:var(--text);background:var(--surface-raised)}.notice-markdown hr{border:0;border-top:1px solid var(--border);margin:14px 0}.notice-markdown .contains-task-list{padding-left:.4em;list-style:none}.notice-markdown input[type=checkbox]{vertical-align:middle;width:13px;height:13px;margin:0 6px 0 0}.notice-markdown.is-inline{line-height:inherit;white-space:inherit;display:inline}.notice-markdown.is-inline :is(span,strong,em,del,mark,code){line-height:inherit;white-space:inherit}.notice-markdown.is-inline code{padding:0 3px}.notice-markdown.is-inline strong{font-weight:700}.notice-ticker{min-width:0;color:var(--text-soft);align-items:center;gap:8px}.notice-ticker-header{box-sizing:border-box;flex:auto;align-self:stretch;max-width:48%;margin:0 14px;padding-block:6px;font-size:12px;display:flex}.notice-ticker-icon{color:var(--ui-info);flex:none;justify-content:center;align-items:center;display:flex}.notices-banner-label{border-right:1px solid var(--border);color:var(--text);white-space:nowrap;padding-right:8px;font-weight:600}.notice-ticker-feed{flex-direction:column;flex:auto;justify-content:center;gap:2px;min-width:0;min-height:0;display:flex}.notice-ticker-pinned{gap:8px;min-width:0;display:flex}.notice-ticker-rotation{flex:none;align-items:center;gap:8px;min-width:0;display:flex}.notice-ticker button.notice-ticker-message{border-radius:var(--ui-radius-control);min-width:0;min-height:0;color:inherit;font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;flex:auto;padding:0;line-height:1.4;display:block;overflow:hidden}.notice-ticker button.notice-ticker-message:disabled{opacity:1;cursor:default}.notice-ticker-message:not(:disabled):hover{color:var(--text)}.notice-ticker-entry{text-overflow:ellipsis;display:block;overflow:hidden}.notice-ticker-pin small{border:1px solid var(--border);border-radius:var(--ui-radius-control);color:var(--ui-info);margin-right:5px;padding:0 4px;font-size:10px;line-height:1.2}.notice-ticker-pin strong{color:var(--text);font-weight:600}.notice-ticker-gate .notice-ticker-pinned{flex-direction:column;flex:none;gap:3px}.notice-ticker-gate .notice-ticker-pin{flex:none}.notice-ticker-entry{animation:notice-ticker-enter var(--ui-duration-normal) ease-out}.notice-ticker-entry strong{color:var(--text);font-weight:600}.notice-ticker-controls{white-space:nowrap;font-variant-numeric:tabular-nums;flex:0 0 84px;justify-content:center;align-items:center;gap:2px;width:84px;font-size:10px;display:flex}.notice-ticker .notice-ticker-controls button{border-radius:var(--ui-radius-control);width:22px;min-width:22px;height:24px;min-height:24px;color:inherit;background:0 0;border:1px solid #0000;place-items:center;padding:2px;display:grid}.notice-ticker .notice-ticker-controls button:hover:enabled{color:var(--text);border-color:var(--border);background:var(--surface-hover)}.notice-ticker-header .notice-ticker-feed{gap:1px}.notice-ticker-header button.notice-ticker-message{line-height:1.25}.notice-ticker-header .notice-ticker-controls button{width:20px;min-width:20px;height:20px;min-height:20px}@keyframes notice-ticker-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.notice-ticker-header{margin:0 8px}.notice-ticker-controls{gap:0}}.gate-dialog-overlay{z-index:1050;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:workbench-overlay-enter var(--ui-duration-fast) ease-out;background:#02070bd1;flex-direction:column;padding:clamp(12px,3vw,24px);display:flex;position:fixed;inset:0;overflow:auto}.gate-dialog-card{width:min(640px,100%);min-width:0;color:var(--text);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--ui-radius-dialog);animation:workbench-dialog-enter var(--ui-duration-normal) var(--ui-motion-ease);flex-shrink:0;margin:auto;padding:clamp(16px,3vw,24px);box-shadow:0 24px 80px #0009}.gate-dialog-card h2{overflow-wrap:anywhere;margin:0 0 10px;font-size:clamp(20px,4vw,24px);line-height:1.3}.gate-dialog-card p{color:var(--text-soft);margin:0;font-size:13px;line-height:1.6}.gate-dialog-card ol{color:var(--text-soft);margin:16px 0;padding-left:22px;font-size:14px;line-height:1.9}.gate-dialog-eyebrow{color:var(--ui-info);font-size:11px;font-weight:700}.gate-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.gate-dialog-actions button{border-radius:var(--ui-radius-control);justify-content:center;align-items:center;gap:8px;height:auto;min-height:36px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.gate-dialog-cancel{color:var(--text-soft);background:var(--surface-hover);border:1px solid var(--border)}.gate-dialog-confirm{color:var(--ui-on-color);background:var(--ui-success);border:1px solid var(--ui-success)}.gate-dialog-actions button:disabled{opacity:var(--ui-disabled-opacity);cursor:not-allowed}.gate-dialog-error{color:var(--ui-error);border:1px solid var(--ui-error);border-radius:var(--ui-radius-panel);overflow-wrap:anywhere;margin-top:16px;padding:10px 12px;font-size:13px;line-height:1.6}.gate-first-use-card{width:min(440px,100%)}.gate-first-use-card .gate-progress{margin-top:24px}.gate-first-use-error{color:var(--ui-error);margin-top:18px;font-size:13px}.gate-first-use-error summary{cursor:pointer}.gate-recover-card{border-color:var(--ui-error);width:min(540px,100%)}.gate-recover-card .gate-dialog-eyebrow{color:var(--ui-error)}.gate-dialog-card .gate-recover-led{border:1px solid var(--ui-warning);border-radius:var(--ui-radius-panel);margin:14px 0;padding:10px 12px}.gate-recover-led>i{background:var(--ui-error);border-radius:2px;width:9px;height:9px;margin-right:7px;display:inline-block}.gate-recover-card .gate-recover-note{color:var(--text-dim);margin-top:6px;font-size:12px}.gate-recover-submit{color:var(--ui-neutral-text);background:var(--ui-error-strong);border:1px solid var(--ui-error)}.gate-recovery-options{width:min(560px,100%);padding:clamp(18px,4vw,26px)}.gate-recovery-options h2{margin:0 0 6px;font-size:22px}.gate-recovery-options p{font-size:12px;line-height:1.7}.gate-recovery-options>.gate-recovery-route{border:1px solid var(--border);border-radius:var(--ui-radius-panel);background:linear-gradient(145deg,color-mix(in srgb,var(--ui-primary) 4%,var(--surface)),var(--surface));grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;margin-top:14px;padding:16px;display:grid}.gate-recovery-route-icon{border:1px solid var(--border);border-radius:var(--ui-radius-panel);width:36px;height:36px;color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 8%,var(--surface-raised));place-items:center;display:grid}.gate-recovery-route-copy{min-width:0}.gate-recovery-options h3{color:var(--text);margin:0 0 6px;font-size:14px;font-weight:700;line-height:1.5}.gate-recovery-options section button{height:auto;min-height:36px;color:var(--text-soft);border:1px solid var(--border);border-radius:var(--ui-radius-control);background:var(--surface-hover);font:500 12px/1.4 var(--font-sans);margin-top:12px;padding:8px 12px}.gate-recovery-options section button:hover:enabled{color:var(--text);border-color:var(--ui-primary)}.gate-recovery-options section .gate-recovery-primary{color:var(--ui-primary);border-color:color-mix(in srgb,var(--ui-primary) 50%,var(--border));background:color-mix(in srgb,var(--ui-primary) 15%,var(--surface-raised));font-weight:600}.gate-recovery-options section .gate-recovery-primary:hover:enabled{background:color-mix(in srgb,var(--ui-primary) 25%,var(--surface-raised))}.gate-recovery-options>.gate-dialog-actions{margin-top:18px}.gate-recovery-options>.gate-dialog-actions button{min-height:36px;padding:8px 14px;font-size:12px;font-weight:500}.gate-bl-result{border:1px solid color-mix(in srgb,var(--ui-info) 25%,var(--border));border-radius:var(--ui-radius-panel);background:color-mix(in srgb,var(--ui-info) 6%,var(--surface-raised));margin-top:14px;padding:12px}.gate-bl-result>strong{color:var(--text);overflow-wrap:anywhere;font-size:13px;line-height:1.6}.gate-bl-result>p{margin-top:4px}@media (max-width:420px){.gate-recovery-options>.gate-recovery-route{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px}.gate-recovery-options section button{width:100%}}.gate-fullscreen{--gate-notice-height:40px;--gate-layout-gap:16px;z-index:1000;gap:var(--gate-layout-gap);color:var(--text);background:var(--surface);flex-direction:column;padding:clamp(10px,2vw,20px);display:flex;position:fixed;inset:0;overflow:auto}.gate-layout{box-sizing:border-box;width:100%;padding-bottom:calc(var(--gate-notice-height) + var(--gate-layout-gap) + 6dvh);flex:1 0 auto;justify-content:center;align-items:center;display:flex}.gate-fullscreen .gate-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--ui-radius-panel);width:min(480px,100%);min-width:0;animation:gate-card-enter var(--ui-duration-normal) ease-out;flex-direction:column;display:flex;box-shadow:0 20px 70px #00000038}@keyframes gate-card-enter{0%{opacity:0}to{opacity:1}}.gate-card-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 18px;display:flex}.gate-brand-logo{object-fit:contain;border-radius:var(--ui-radius-control);width:34px;height:34px}.gate-brand-copy{gap:3px;line-height:1.2;display:grid}.gate-brand-copy strong{color:var(--text);font-size:14px;font-weight:700}.gate-brand-copy span{color:var(--text-dim);letter-spacing:.08em;font-size:10px}.gate-card-header .theme-toggle{border:1px solid var(--border);border-radius:var(--ui-radius-control);width:34px;height:auto;min-height:34px;color:var(--text-soft);background:var(--surface);justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}.gate-card-header .theme-toggle span{display:none}.gate-card-header .theme-toggle svg{width:16px;height:16px}.gate-card-header .theme-toggle:hover:enabled{color:var(--text);background:var(--surface-hover);border-color:var(--ui-info)}.gate-fullscreen .notices-banner{flex:none;width:min(720px,100%);margin:0 auto}.gate-browser-warning{border:1px solid var(--ui-warning);border-radius:var(--ui-radius-panel);color:var(--ui-warning);background:color-mix(in srgb,var(--ui-warning) 8%,var(--surface));margin:12px 18px 0;padding:10px 12px;font-size:12px;line-height:1.6}.gate-loading-status{color:var(--ui-info);background:color-mix(in srgb,var(--ui-info) 8%,var(--surface));border:1px solid var(--border);border-radius:var(--ui-radius-panel);justify-content:center;align-items:center;gap:8px;margin:16px 22px 0;padding:10px 12px;font-size:13px;line-height:1.6;display:flex}.gate-loading-status[role=alert]{color:var(--ui-error)}.gate-devices{border-radius:0 0 var(--ui-radius-panel) var(--ui-radius-panel)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.trajectory-mode-tabs{margin-right:12px}.notices-banner{min-width:0;max-height:10vh;position:relative;overflow:hidden}.notices-banner-content{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--ui-radius-panel);background:var(--surface-raised);min-height:0;max-height:10vh;color:var(--text-soft);font:14px/1.4 var(--font-sans);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;padding:6px 10px;display:grid;overflow:hidden}.notices-banner-content .notice-ticker-icon{border-right:1px solid var(--border);align-self:stretch;padding-right:8px}.notices-banner-content .notice-ticker-feed{scrollbar-width:thin;scrollbar-color:var(--theme-scrollbar-thumb,var(--text-dim)) var(--theme-scrollbar-track,transparent);justify-content:flex-start;max-height:calc(10vh - 14px);overflow:hidden auto}.notices-banner-content .notice-ticker-feed::-webkit-scrollbar{width:6px;height:6px}.notices-banner-content .notice-ticker-feed::-webkit-scrollbar-track{background:var(--theme-scrollbar-track,transparent)}.notices-banner-content .notice-ticker-feed::-webkit-scrollbar-thumb{background:var(--theme-scrollbar-thumb,var(--text-dim));border-radius:var(--ui-radius-control)}.notices-banner-content .notice-ticker-message:focus-visible{outline:2px solid var(--ui-focus-color);outline-offset:-2px}.gate-connection{min-width:0}.gate-connection-main{--gate-actions-width:280px;flex-direction:column;align-items:center;padding:16px 18px;display:flex}.gate-connection-symbol{width:40px;height:40px;color:var(--ui-info);background:color-mix(in srgb,var(--ui-info) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--ui-info) 25%,var(--border));border-radius:var(--ui-radius-panel);place-items:center;display:grid}.gate-connection-main h1{color:var(--text);text-align:center;overflow-wrap:anywhere;margin:10px 0 12px;font-size:22px;line-height:1.3}.gate-connection-status{box-sizing:border-box;border-radius:var(--ui-radius-panel);width:100%;min-height:28px;color:var(--text-soft);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;margin:0;padding:0;font-size:14px;display:flex}.gate-connection-status>div{min-width:0}.gate-connection-status strong{font-size:14px;font-weight:600}.gate-connection-status p{overflow-wrap:anywhere;margin:6px 0 0;font-size:12px;line-height:1.6}.gate-connection-status .gate-connection-recovery-hint{color:var(--text-soft)}.gate-connection-status>i,.gate-device-availability>i{background:currentColor;border-radius:2px;flex-shrink:0;width:7px;height:7px}.gate-connection-status[data-error=true]{border:1px solid color-mix(in srgb,var(--ui-error) 45%,var(--border));color:var(--ui-error);background:color-mix(in srgb,var(--ui-error) 7%,var(--surface));align-items:flex-start;padding:10px 12px}.gate-connection-status[data-error=true]>i{margin-top:5px}.gate-connection-status[data-connected=true]{color:var(--ui-success)}.gate-connection-main .gate-connection-primary{width:min(100%,var(--gate-actions-width));height:auto;min-height:40px;color:var(--ui-on-color);background:var(--ui-primary);border:1px solid var(--ui-primary);border-radius:var(--ui-radius-control);justify-content:center;align-items:center;gap:9px;margin-top:12px;padding:8px 12px;font-size:14px;font-weight:700;display:flex}.gate-connection-main .gate-connection-primary:hover:enabled{background:color-mix(in srgb,var(--ui-primary) 85%,var(--text))}.gate-devices{border-top:1px solid var(--border);background:var(--surface);padding:12px 18px}.gate-devices>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.gate-devices h2{color:var(--text-soft);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;display:flex}.gate-devices h2>span{color:var(--text-dim);font-size:12px;font-weight:400}.gate-devices>header button,.gate-device-delete{width:30px;height:auto;min-height:30px;color:var(--text-dim);border-radius:var(--ui-radius-control);background:0 0;border:1px solid #0000;flex-shrink:0;place-items:center;padding:0;display:grid}.gate-devices>header button:hover:enabled{color:var(--text);background:var(--surface-hover);border-color:var(--border)}.gate-devices-list{--gate-device-row-height:64px;grid-auto-rows:var(--gate-device-row-height);max-height:calc(3 * var(--gate-device-row-height) + 12px);gap:6px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.gate-devices-list>li{border:1px solid var(--border);border-radius:var(--ui-radius-panel);background:var(--surface-raised);align-items:center;gap:10px;padding:8px;display:flex}.gate-devices-list>li[data-selected=true]{border-color:var(--ui-success);box-shadow:inset 0 0 0 1px var(--ui-success)}.gate-device-group-heading{grid-template-columns:19px minmax(0,1fr) auto;align-items:center;gap:2px 10px;width:100%;min-width:0;display:grid}.gate-devices-list>.gate-device-group{display:block;position:relative}.gate-device-target{opacity:0;clip-path:inset(50%);width:1px;height:1px;margin:0;position:absolute}.gate-device-group-heading>.gate-device-icon{pointer-events:none;grid-area:1/1/3}.gate-device-group-heading>label.gate-device-copy{cursor:pointer;grid-area:1/2/3}.gate-device-group-heading>label.gate-device-copy:before{content:"";border-radius:var(--ui-radius-panel);position:absolute;inset:0}.gate-device-group:has(.gate-device-target:focus-visible){outline:2px solid var(--ui-focus-color);outline-offset:-3px}.gate-device-group:has(.gate-device-target:disabled) label.gate-device-copy{cursor:default}.gate-device-group-heading>.gate-device-availability{pointer-events:none;grid-area:1/3;justify-self:end}.gate-device-group-heading>.gate-device-forms-trigger{z-index:1;grid-area:2/3;justify-self:end;position:relative}.gate-device-forms-trigger{border:1px solid var(--border);border-radius:var(--ui-radius-control);background:var(--surface);max-width:100%;height:auto;min-height:22px;color:var(--text-soft);text-align:left;white-space:nowrap;flex:none;align-items:center;gap:4px;padding:2px 5px;font-size:10px;line-height:1.4;display:inline-flex}.gate-device-forms-trigger:hover:enabled{color:var(--text);border-color:var(--ui-primary);background:var(--surface-hover)}.gate-device-forms-trigger svg{color:var(--ui-primary);flex:none}.gate-device-chip-id{color:var(--text-dim);white-space:nowrap;font-family:inherit;font-size:11px}.gate-device-forms{--gf-bg:var(--surface-raised);--gf-panel:var(--surface);--gf-hover:var(--surface-hover);--gf-text:var(--text);--gf-muted:var(--text-soft);--gf-border:var(--border);--gf-accent:var(--ui-primary);--gf-success:var(--ui-success-text);--gf-error:var(--ui-error);--gf-backdrop:color-mix(in srgb,var(--surface) 60%,transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;width:min(520px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--gf-text);background:var(--gf-bg);border:1px solid var(--gf-border);border-radius:var(--ui-radius-dialog);box-shadow:0 20px 70px color-mix(in srgb,var(--gf-text) 10%,transparent);font:12px/1.6 var(--font-sans);margin:auto;padding:20px;position:fixed;inset:0;overflow:auto}html[data-theme=light] .gate-device-forms{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--gf-bg:var(--ui-control-bg);--gf-panel:color-mix(in srgb,var(--ui-control-bg) 65%,white);--gf-hover:var(--ui-control-hover);--gf-text:var(--ui-control-text);--gf-muted:color-mix(in srgb,var(--ui-control-text) 65%,var(--ui-control-bg));--gf-border:var(--ui-control-border);--gf-accent:var(--ui-focus-color);--gf-success:color-mix(in srgb,var(--ui-control-text) 60%,var(--ui-success));--gf-error:var(--ui-error-strong);--gf-backdrop:color-mix(in srgb,var(--ui-control-text) 22%,transparent)}.gate-device-forms:popover-open{animation:workbench-dialog-enter var(--ui-duration-normal) var(--ui-motion-ease)}.gate-device-forms::backdrop{background:var(--gf-backdrop)}.gate-device-forms>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.gate-device-forms-heading{gap:4px;min-width:0;display:grid}.gate-device-forms-heading>strong{font-size:16px;font-weight:700}.gate-device-forms-heading>span{color:var(--gf-muted);overflow-wrap:anywhere;font-size:11px}.gate-device-forms>header>button{height:auto;min-height:30px;color:var(--gf-muted);border:1px solid var(--gf-border);border-radius:var(--ui-radius-control);background:var(--gf-panel);flex:none;padding:5px 10px;font-size:12px}.gate-device-forms>header>button:hover:enabled{color:var(--gf-text);border-color:var(--gf-accent);background:var(--gf-hover)}.gate-device-forms>ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.gate-device-forms>ul>li{border:1px solid var(--gf-border);border-radius:var(--ui-radius-panel);background:var(--gf-panel);grid-template-columns:minmax(0,1fr) auto 30px;align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.gate-device-forms>ul>li[data-selected=true]{border-color:var(--gf-success);box-shadow:inset 0 0 0 1px var(--gf-success)}.gate-device-forms>ul>li:has(.gate-device-select:enabled:hover){border-color:var(--gf-accent);background:var(--gf-hover)}.gate-device-forms .gate-device-select{width:100%;color:var(--gf-text);background:0 0;padding:4px}.gate-device-forms .gate-device-copy>strong{color:var(--gf-text)}.gate-device-forms .gate-device-copy>span{color:var(--gf-muted)}.gate-device-forms .gate-device-select:hover:enabled{background:0 0;border-color:#0000}.gate-device-forms .gate-device-availability{border:1px solid var(--gf-border);border-radius:var(--ui-radius-control);color:var(--gf-muted);background:var(--gf-bg);padding:3px 6px}.gate-device-forms .gate-device-availability[data-online=true]{color:var(--gf-success);border-color:color-mix(in srgb,var(--gf-success) 30%,var(--gf-border));background:color-mix(in srgb,var(--gf-success) 8%,var(--gf-bg))}.gate-device-forms .gate-device-delete{color:var(--gf-muted)}.gate-device-forms .gate-device-delete:hover:enabled{color:var(--gf-error);border-color:color-mix(in srgb,var(--gf-error) 35%,var(--gf-border));background:color-mix(in srgb,var(--gf-error) 8%,var(--gf-bg))}.gate-device-icon{color:var(--text-soft);flex-shrink:0;display:flex}.gate-device-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.gate-device-copy strong{color:var(--text);overflow-wrap:anywhere;font-size:13px;line-height:1.4}.gate-device-copy>span{color:var(--text-dim);overflow-wrap:anywhere;font-size:11px;line-height:1.5}.gate-device-select{height:auto;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;align-items:flex-start;padding:4px}.gate-device-select:disabled{opacity:1}.gate-device-select:hover:enabled{border-color:var(--ui-info);background:var(--surface-hover)}.gate-connection-secondary{width:min(100%,var(--gate-actions-width));grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.gate-connection-secondary button{min-width:0;height:auto;min-height:36px;color:var(--text-soft);border:1px solid var(--border);border-radius:var(--ui-radius-control);white-space:nowrap;background:0 0;justify-content:center;align-items:center;padding:6px 8px;font-size:12px;font-weight:500;display:flex}.gate-connection-secondary button:hover:enabled{color:var(--ui-primary);background:color-mix(in srgb,var(--ui-primary) 10%,var(--surface));border-color:var(--ui-primary)}.gate-device-availability{color:var(--text-dim);flex-shrink:0;align-items:center;gap:5px;font-size:11px;display:flex}.gate-device-availability[data-online=true]{color:var(--ui-success)}.gate-device-delete:hover:enabled{color:var(--ui-error);border-color:color-mix(in srgb,var(--ui-error) 35%,var(--border));background:color-mix(in srgb,var(--ui-error) 10%,var(--surface))}.gate-devices-empty{color:var(--text-dim);justify-content:center;align-items:center;gap:8px;margin:0;padding:14px 0;font-size:12px;line-height:1.6;display:flex}@media (max-width:380px){.gate-devices-list>li{gap:8px;padding:8px}.gate-device-icon{display:none}.gate-device-forms{padding:14px}.gate-device-forms>ul>li{gap:6px;padding:8px}.gate-device-group-heading{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;display:grid}.gate-device-group-heading>label.gate-device-copy{grid-area:1/1/3}.gate-device-group-heading>.gate-device-availability{grid-area:1/2;justify-self:end}.gate-device-group-heading>.gate-device-forms-trigger{grid-area:2/2}}
