.desktop-update-dialog{background:var(--panel,var(--bg));width:min(520px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:26px;font-family:inherit;font-size:14px;overflow:auto;box-shadow:0 20px 80px #0008}.desktop-update-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0009}.desktop-update-dialog h2{color:var(--accent);margin:0 0 16px;font-size:20px}.desktop-update-dialog p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);margin:0 0 22px;font-size:14px;line-height:1.85}.desktop-update-dialog footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.desktop-update-dialog button{min-height:40px;font-size:14px}.desktop-update-snooze{color:var(--muted);cursor:pointer;align-items:center;gap:10px;display:flex}.desktop-update-snooze input{width:16px;height:16px;accent-color:var(--accent)}.desktop-update-dialog progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--line);border:0;border-radius:6px;width:100%;height:12px;overflow:hidden}.desktop-update-dialog progress::-webkit-progress-bar{background:var(--line)}.desktop-update-dialog progress::-webkit-progress-value{background:var(--accent);border-radius:6px}.desktop-update-dialog output{text-align:right;color:var(--accent);font-variant-numeric:tabular-nums;margin-top:10px;display:block}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--line:#30312c;--muted:#fff;--text:var(--accent);--accent:#d5ff40;--on-accent:#171b08;--warning:#f56e0f;--pending:#87ceeb;--unknown:#262626;color:var(--text);background:var(--bg);font-family:Microsoft YaHei,微软雅黑,sans-serif;font-size:14px}*{box-sizing:border-box}body{min-width:1100px;margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button:focus-visible{outline:2px solid var(--accent)}a:focus-visible{outline:2px solid var(--accent)}input:focus-visible{outline:2px solid var(--accent)}select:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer;border:1px solid var(--line);background:var(--control-bg);color:var(--muted);border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-weight:600;transition:background .12s;display:inline-flex}button:hover:not(:disabled){background:color-mix(in srgb,var(--control-bg) 85%,white);color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.5}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 75%,white)}button.connection-warning{background:var(--warning);border-color:var(--warning);color:#130b02}button.connection-pending{background:var(--pending);border-color:var(--pending);color:#091c25}select,input[type=search],input[type=text],input[type=number]{background:var(--input-bg);border:1px solid var(--line);color:var(--accent);border-radius:6px;min-height:38px;padding:9px 10px}select{max-width:100%}p{color:var(--muted);line-height:1.8}h1,h2,h3,p{margin:0}h1{letter-spacing:-.6px;font-size:28px;font-weight:650;line-height:1.35}h2{font-size:18px;font-weight:600}h3{font-size:15px;font-weight:600}svg.icon{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:20px;height:20px}a{color:var(--accent)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--accent);color:var(--on-accent);padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:10px}.topbar{border-bottom:1px solid var(--line);background:var(--chrome-bg);align-items:center;gap:32px;height:112px;padding:16px 28px;display:flex}.brand{flex-direction:column;flex-shrink:0;gap:5px;width:190px;display:flex}.brand img{object-fit:contain;background:0 0;border-radius:0;width:178px;height:56px}.brand>span{letter-spacing:.25px;color:var(--muted);font-size:10px}.brand b{margin-left:6px;font-weight:500}.telemetry-strip{flex:1;justify-content:center;align-items:center;gap:22px;display:flex}.battery{border-right:1px solid var(--line);align-items:center;gap:10px;padding-right:22px;display:flex}.battery>span>.icon{width:29px;height:29px;color:var(--muted)}.battery strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.battery small{color:var(--muted);font-size:12px}.battery div>span{color:var(--muted);margin-top:3px;font-size:10px;display:block}.sensors{gap:17px;display:flex}.sensor{cursor:default;flex-direction:column;align-items:center;gap:7px;min-width:35px;display:flex}.sensor .sensor-name{color:var(--muted);white-space:nowrap;font-size:10px}.sensor[data-state=healthy]{color:var(--success)}.sensor[data-state=error]{color:var(--warning)}.sensor[data-state=unknown]{color:var(--unknown)}.sensor .sensor-state{color:var(--muted);font-size:9px;line-height:1}.connection-tools{flex-shrink:0;width:280px}.connection-row,.connection-sub{justify-content:space-between;align-items:center;gap:10px;display:flex}.connection-row>select{width:143px}.connection-row>button{min-width:125px;padding:10px}.connection-sub{margin-top:10px;font-size:11px}.text-button{font-size:inherit;background:0 0;border:0;padding:2px 0;font-weight:500}.text-button:hover:not(:disabled){color:var(--accent);background:0 0}.toggle{color:var(--muted);cursor:pointer;align-items:center;gap:8px;display:flex;position:relative}.toggle input{opacity:0;width:28px;height:18px;margin:0;position:absolute}.switch-track{border:1px solid #606252;border-radius:10px;width:28px;height:16px;display:inline-block;position:relative}.switch-track:before{content:"";background:#c0c2b8;border-radius:50%;width:10px;height:10px;position:absolute;top:2px;left:3px}.toggle input:checked+.switch-track{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.switch-track:before{background:#171b08;left:13px}.toggle input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:4px}.workspace{grid-template-columns:218px 1fr;height:calc(100dvh - 188px);min-height:420px;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--sidebar-bg);flex-direction:column;min-height:0;padding:26px 14px 18px;display:flex}.nav-heading{letter-spacing:2px;color:var(--muted);padding:0 14px 18px;font-size:10px}.sidebar nav{flex-direction:column;gap:5px;display:flex;overflow:auto}.nav-button{border-color:var(--accent);background:var(--sidebar-bg);color:var(--accent);text-align:left;flex-shrink:0;justify-content:flex-start;gap:12px;min-height:42px;padding:10px 13px;font-size:13px;font-weight:700}.nav-button.active{background:var(--accent);color:var(--on-accent);font-weight:700}.nav-button.active:hover{background:color-mix(in srgb,var(--accent) 75%,white);color:var(--on-accent)}.nav-button small{color:inherit;opacity:.7;margin-left:auto;font-size:9px}.nav-divider{border-top:1px solid var(--line);margin:12px 8px}.sidebar-foot{margin-top:auto;padding:26px 13px 0}.mode-label{color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:4px 8px;font-size:10px}.sidebar-foot p{margin:15px 0 10px;font-size:12px;line-height:1.8}.sidebar-caption{letter-spacing:1.8px;color:var(--muted);font-size:8px}main{scrollbar-color:#44473a #111;min-width:0;padding:28px 32px 32px;overflow:auto}main:focus{outline:none}.page-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px;display:flex}.eyebrow{letter-spacing:2px;color:var(--muted);margin-bottom:8px;font-size:10px;display:block}.page-head p{margin-top:7px;font-size:12px}.chip{color:var(--success);white-space:nowrap;border:1px solid #424d20;border-radius:4px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;display:inline-flex}.chip.warning{color:var(--warning);border-color:#713612}.chip.neutral{color:var(--muted);border-color:var(--line)}.dot{background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.card{border:1px solid var(--line);background:linear-gradient(130deg,var(--panel),var(--panel-end));border-radius:10px;min-width:0;padding:20px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.card-head h2{align-items:center;gap:9px;font-size:14px;display:flex}.card-head .icon{width:17px;height:17px;color:var(--muted)}.card-head>span{color:var(--muted);font-size:10px}.dashboard-grid{grid-template-columns:1.15fr 1fr .9fr;gap:16px;display:grid}.identity-name{letter-spacing:-.5px;margin-bottom:7px;font-size:23px;font-weight:600}.identity-sub{color:var(--muted);margin-bottom:17px;font-size:11px}.details{grid-template-columns:1fr auto;gap:12px;margin:0;font-size:11px;display:grid}.details dt{color:var(--muted)}.details dd{text-align:right;margin:0}.sensor-table{border-top:1px solid var(--line);margin-top:17px;padding-top:14px}.sensor-table .details{gap:8px;font-size:10px}.attitude-card{flex-direction:column;display:flex}.attitude{width:180px;height:166px;margin:-7px auto 0;display:block}.attitude-values{text-align:center;color:var(--muted);justify-content:space-around;margin-top:4px;font-size:10px;display:flex}.attitude-values strong{color:var(--accent);margin-top:5px;font-size:15px;font-weight:500;display:block}.readiness-stack{flex-direction:column;gap:16px;display:flex}.prearm-card{flex:1}.prearm-status{color:var(--warning);align-items:center;gap:8px;margin:4px 0 8px;font-size:17px;display:flex}.prearm-card p{font-size:11px;line-height:1.7}.cpu-card .card-head{margin-bottom:12px}.cpu-value{font-size:29px;font-weight:500}.cpu-value span{color:var(--muted);margin-left:5px;font-size:11px}.meter{background:#31332a;border-radius:4px;height:4px;margin-top:12px}.meter span{background:var(--accent);border-radius:4px;height:100%;display:block}.cpu-foot{color:var(--muted);justify-content:space-between;margin-top:9px;font-size:10px;display:flex}.data-card{grid-column:1/-1}.data-card .card-head{margin-bottom:17px}.data-grid{grid-template-columns:repeat(var(--columns,4),minmax(0,1fr));gap:12px;display:grid}.data-tile{background:var(--input-bg);border:1px solid #292b24;border-radius:6px;min-width:0;padding:15px 16px}.data-label{color:var(--muted);font-size:11px}.data-value{font-variant-numeric:tabular-nums;letter-spacing:-.6px;margin:9px 0 8px;font-size:27px;line-height:1.3}.data-value small{color:var(--muted);letter-spacing:0;margin-left:6px;font-size:11px}.data-source{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;letter-spacing:.3px;font-size:8px;overflow:hidden}.data-grid.dense .data-tile{padding:11px 13px}.data-grid.dense .data-value{margin:6px 0;font-size:22px}.card-foot{color:var(--muted);align-items:center;gap:7px;margin-top:14px;font-size:10px;display:flex}.card-foot .icon{width:13px;height:13px}.card-foot.warning{color:var(--warning)}.welcome{grid-template-columns:1.3fr 1fr;align-items:stretch;gap:24px;display:grid}.welcome-copy{background:radial-gradient(at 100% 0,#293215 0,#0000 65%),#151711;border-color:#424b25;min-height:280px;padding:38px 34px;position:relative;overflow:hidden}.welcome-copy .eyebrow{color:var(--accent)}.welcome-copy h2{letter-spacing:-1px;margin:17px 0;font-size:31px;font-weight:600;line-height:1.5}.welcome-copy p{max-width:380px;font-size:12px}.welcome-copy button{margin-top:26px}.steps{flex-direction:column;justify-content:center;gap:23px;padding:30px;display:flex}.step{align-items:flex-start;gap:16px;display:flex}.step>span{color:var(--accent);border:1px solid #49522c;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:11px;display:grid}.step h3{margin:2px 0 5px;font-size:13px}.step p{font-size:11px}.help-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;display:grid}.help-item{padding:22px}.help-item>.icon{color:var(--accent);margin-bottom:18px}.help-item h3{margin-bottom:8px}.help-item p{font-size:11px}.doc-note{color:var(--muted);margin-top:20px;font-size:11px;line-height:1.8}.empty-panel{text-align:center;background:var(--panel-end);border:1px dashed #3d4032;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:32px;display:flex}.empty-panel>.icon{width:36px;height:36px;color:var(--muted);margin-bottom:22px}.empty-panel p{max-width:480px;margin-top:13px;font-size:12px}.empty-panel .chip{margin-top:22px}.settings-grid{gap:16px;max-width:850px;display:grid}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;padding:16px 0;display:flex}.setting-row:last-child{border-bottom:0;padding-bottom:0}.setting-row p{margin-top:6px;font-size:11px}.setting-value{color:var(--muted);white-space:nowrap;font-size:12px}.notice{color:var(--warning);background:#22150c;border:1px solid #713612;border-radius:6px;align-items:center;gap:10px;margin-bottom:18px;padding:11px 14px;font-size:12px;display:flex}.notice.pending{color:var(--pending);background:#101d24;border-color:#2d627a}.notice p{color:inherit;font-size:12px}.notice .text-button{white-space:nowrap;color:inherit;margin-left:auto}.statusbar{border-top:1px solid var(--line);height:30px;color:var(--muted);background:var(--chrome-bg);align-items:center;gap:25px;padding:0 24px;font-size:10px;display:flex}.statusbar span:last-child{margin-left:auto}.preview-bar{background:var(--chrome-bg);height:46px;color:var(--muted);border-top:1px solid #3e462a;align-items:center;gap:16px;padding:0 24px;font-size:10px;display:flex}.preview-bar strong{color:var(--accent);letter-spacing:1px;font-size:11px}.preview-bar select{width:200px;min-height:29px;padding:5px 9px;font-size:11px}.preview-bar .text-button{color:var(--accent);font-size:11px}dialog{color:var(--accent);background:var(--panel);border:1px solid #4a503c;border-radius:12px;width:min(680px,100vw - 80px);max-height:85dvh;padding:26px;box-shadow:0 30px 100px #0009}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000a}.dialog-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.dialog-head .eyebrow{font-size:9px}.icon-button{background:0 0;width:32px;height:32px;padding:0;font-size:23px}.dialog-head+p{margin:18px 0;font-size:12px}.dialog-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-top:20px;font-size:11px;display:flex}.search{align-items:center;gap:10px;margin-bottom:14px;display:flex}.search>input{width:100%}.search>.icon{color:var(--muted)}.field-list{grid-template-columns:1fr 1fr;gap:8px;max-height:42dvh;display:grid;overflow:auto}.field-option{border:1px solid var(--line);cursor:pointer;border-radius:6px;align-items:center;gap:10px;min-width:0;padding:10px;display:flex}.field-option:has(input:checked){background:#242b16;border-color:#5d6f2c}.field-option input{accent-color:var(--accent)}.field-option strong{font-size:11px;font-weight:500;display:block}.field-option small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:8px;display:block}.field-option>span{min-width:0}.field-option:has(input:disabled){opacity:.5;cursor:not-allowed}.endpoint-field{flex-direction:column;gap:9px;margin-top:18px;font-size:12px;display:flex}.endpoint-field input,.endpoint-field select{width:100%}@media (min-width:1550px){main{padding:34px 40px}.dashboard-grid{gap:20px}.card{padding:24px}.attitude{width:210px;height:190px}.data-tile{padding:21px}.sidebar{padding-top:34px}.welcome-copy{padding:45px}.topbar{gap:40px}.sensors{gap:23px}.connection-tools{width:305px}.connection-row>select{width:164px}.page-head{margin-bottom:30px}.help-grid{margin-top:24px}}@media (max-width:1320px){.topbar{gap:18px;padding:14px 20px}.brand{width:172px}.brand img{width:162px;height:51px}.telemetry-strip{gap:14px}.battery{gap:7px;padding-right:14px}.battery strong{font-size:21px}.sensors{gap:12px}.connection-tools{width:261px}.connection-row>select{width:128px}.connection-sub{font-size:10px}.workspace{grid-template-columns:196px 1fr}.sidebar{padding:21px 10px 14px}.sidebar-foot{padding-top:18px}.sidebar-foot p{display:none}.sidebar-caption{margin-top:13px;display:block}main{padding:22px 24px}.page-head{margin-bottom:18px}h1{font-size:25px}.dashboard-grid{gap:12px}.card{padding:16px}.card-head{margin-bottom:14px}.identity-name{font-size:21px}.details{gap:10px}.sensor-table{margin-top:13px;padding-top:12px}.attitude{width:165px;height:148px}.attitude-values strong{font-size:13px}.readiness-stack{gap:12px}.data-tile{padding:12px}.data-value{font-size:24px}.welcome-copy{padding:27px}.welcome-copy h2{font-size:28px}.help-grid{gap:12px}.help-item{padding:18px}}.switch-track{pointer-events:none}.nav-button>span,.nav-button>small{white-space:nowrap}@media (max-width:1320px){.nav-button{gap:8px;padding-left:11px;padding-right:11px}.nav-button small{flex-shrink:0}}@media (max-height:800px) and (min-width:1100px){main{padding-top:18px;padding-bottom:18px}.page-head{margin-bottom:14px}.page-head .eyebrow{margin-bottom:5px}.page-head h1{font-size:24px}.page-head p{margin-top:4px}.dashboard-grid>.card,.readiness-stack>.card{padding:12px 16px}.card-head{margin-bottom:10px}.identity-name{margin-bottom:4px;font-size:20px}.identity-sub{margin-bottom:12px}.details{gap:8px}.sensor-table{margin-top:10px;padding-top:10px}.sensor-table .details{gap:6px}.identity-card .card-foot{margin-top:10px}.readiness-stack{gap:10px}.prearm-status{margin:0 0 5px;font-size:16px}.prearm-card p{line-height:1.6}.cpu-value{font-size:23px}.cpu-card .card-head{margin-bottom:7px}.cpu-foot{margin-top:7px}.meter{margin-top:8px}.attitude{width:155px;height:140px}.data-card .card-head{margin-bottom:10px}.data-tile{padding:10px 12px}.data-value{margin:5px 0;font-size:23px}.data-card .card-foot{margin-top:10px}}button.connection-warning:hover:not(:disabled){background:var(--warning);color:#130b02;box-shadow:0 0 0 2px #f56e0f33}button.connection-pending:hover:not(:disabled){background:var(--pending);color:#091c25;box-shadow:0 0 0 2px #87ceeb33}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (max-height:800px) and (min-width:1100px){.prearm-list li{padding:3px 0!important}.prearm-list p{margin-top:2px!important;line-height:1.3!important}.prearm-status{font-size:14px!important}.cpu-card .card-head{margin-bottom:4px}.cpu-card .meter{margin-top:5px}.cpu-card .cpu-value{font-size:20px}.cpu-card .cpu-foot{margin-top:5px}.readiness-stack>.cpu-card{padding-top:9px;padding-bottom:9px}}main{background-color:var(--workspace-bg);background-image:var(--workspace-texture);background-repeat:repeat}.battery-caption{margin:0!important;font-size:9px!important}.battery #cell-count{width:116px;height:23px;min-height:23px;margin:3px 0;padding:1px 5px;font-size:10px;display:block}.battery{padding-right:14px}.sensors{gap:13px}.sensor{gap:5px}.gps-sensor{min-width:110px}.gps-hdop{color:var(--muted);font-size:9px}.gps-sensor .sensor-state{white-space:nowrap}.prearm-list{scrollbar-color:#535743 #151610;margin:7px 0 0;padding:0;list-style:none;overflow:auto}.prearm-list li{border-top:1px solid var(--line);padding:7px 0}.prearm-list strong{color:var(--accent);font-size:11px;font-weight:500}.prearm-list p{margin-top:3px;font-size:10px}.ready-status{color:var(--success)}.neutral-status{color:var(--muted)}#client{width:100px}.preview-bar{gap:12px}.preview-bar label{margin-left:0}.preview-bar label[for=client]{margin-left:auto}.brand img{object-fit:contain}.details dd{overflow-wrap:anywhere}.field-list{align-content:start}@media (max-width:1320px){.topbar{gap:16px}.telemetry-strip{gap:10px}.battery>span{display:none}.battery{padding-right:10px}.sensors{gap:9px}.gps-sensor{min-width:104px}.brand{width:162px}.connection-tools{width:261px}.preview-bar{gap:9px;padding:0 18px}}.brand{width:205px}.brand>span{white-space:nowrap;letter-spacing:0;font-size:9px}.brand b{margin-left:4px}.telemetry-strip{gap:12px;min-width:0}.battery>span{display:none}.battery{flex-shrink:0;padding-right:12px}.battery strong{font-size:21px}.battery #cell-count{width:95px;margin-right:5px;display:inline-block}.battery #cell-voltage{font-variant-numeric:tabular-nums;font-size:10px;display:inline-block}.battery #battery-state{font-size:9px}.sensors{flex:1;grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:6px;min-width:348px;max-width:490px;display:grid}.sensor,.gps-sensor{gap:4px;width:100%;min-width:0}.sensor .sensor-state{text-align:center;white-space:nowrap;line-height:1.4}.sensor .icon{width:22px;height:22px}.gps-hdop{font-size:8px}.identity-summary{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.identity-summary>div:first-child{min-width:0}.identity-name{font-size:19px}.identity-summary .identity-sub{margin-bottom:0}.board-photo{width:100px;height:83px;color:var(--muted);background:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex;overflow:hidden}.board-photo img{object-fit:contain;width:100%;height:100%}.board-photo img[hidden]{display:none}.board-photo.missing{background:var(--panel-end);border:1px dashed var(--line)}.board-links{gap:14px;margin-top:12px;font-size:11px;display:flex}.board-links a{color:var(--accent);text-decoration:none}.board-links a:hover{text-decoration:underline}.board-links .unavailable{color:var(--muted)}@media (max-width:1320px){.brand{width:183px}.topbar{gap:12px;padding-left:18px;padding-right:18px}.sensors{gap:4px;min-width:330px}.battery div{max-width:167px}.battery #cell-count{width:86px;font-size:9px}.battery #cell-voltage{font-size:9px}.identity-name{font-size:17px}.board-photo{width:83px;height:74px}}.sensor-heading{justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.sensor-heading span,.sensor-note{color:var(--muted);font-size:10px}.sensor-inventory{scrollbar-width:thin;outline-offset:3px;max-height:220px;overflow:auto}.sensor-device{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:8px 4px}.sensor-device>div{justify-content:space-between;gap:8px;font-size:11px;display:flex}.sensor-device b{text-align:right;color:var(--accent);font-weight:500}.sensor-device p{color:var(--muted);margin:4px 0;font-size:10px}.sensor-device code{color:var(--muted);font-size:9px}.sensor-note{margin:8px 0 0;line-height:1.6}.readiness-stack{min-height:0}.prearm-card{flex-direction:column;min-height:0;display:flex}.prearm-card>.card-head,.prearm-card>.prearm-status{flex-shrink:0}.prearm-card>.prearm-list{flex:1 1 0;min-height:100px;max-height:none}.readiness-stack>.cpu-card{flex-shrink:0}.identity-footer{white-space:nowrap;align-items:center;gap:10px;min-width:0;margin-top:12px;display:flex}.identity-footer .board-links{flex-shrink:0;gap:8px;margin:0;font-size:10px}.identity-card .identity-footer .card-foot{gap:4px;min-width:0;margin:0;font-size:9px}.identity-footer .identity-note{text-overflow:ellipsis;min-width:0;overflow:hidden}.hud-stack{flex-direction:column;gap:12px;min-width:0;display:flex}.hud-stack .attitude-card{flex:none;padding:12px}.hud-layout{grid-template-columns:52px minmax(100px,1fr) 52px;align-items:center;gap:4px;display:grid}.hud-center{min-width:0}.hud-center .attitude{aspect-ratio:1.1;width:100%;max-width:220px;height:auto;margin:0 auto}.hud-center .empty-panel{min-height:160px!important;padding:6px!important}.hud-side{flex-direction:column;align-items:center;gap:3px;display:flex}.hud-metric{font-variant-numeric:tabular-nums;text-align:center}.hud-metric span,.hud-metric small{color:var(--muted);font-size:9px}.hud-metric span{display:block}.hud-metric strong{color:var(--accent);margin:2px 3px 2px 0;font-size:15px;font-weight:500;display:inline-block}.hud-metric strong[data-state=missing],.hud-metric strong[data-state=stale]{color:var(--muted)}.hud-tape{fill:none;stroke:#818476;stroke-width:1px;width:52px;height:160px}.hud-tape text{fill:var(--muted);stroke:none;font-variant-numeric:tabular-nums;font:10px Microsoft YaHei,微软雅黑,sans-serif}.hud-altitude .hud-tape text{text-anchor:end}.hud-tape .gauge-axis{stroke:#424735}.hud-tape .gauge-marker{fill:var(--accent);stroke:var(--accent)}.hud-tape .gauge-trend{stroke:var(--accent);stroke-width:3px}.hud-readings{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:4px;display:grid}.hud-readings .hud-metric strong{font-size:13px}.hud-stack .attitude-values strong{margin-top:2px;font-size:12px}.hud-messages{flex:1;min-height:252px;padding:12px}.hud-messages .card-head{margin-bottom:8px}.hud-messages .card-head h2{font-size:12px}.hud-messages .card-head>span{font-size:8px}.mavlink-lines{scrollbar-width:thin;background:var(--input-bg);border:1px solid var(--line);border-radius:4px;height:204px;font:10px/20px Microsoft YaHei,微软雅黑,sans-serif;overflow:auto}.mavlink-line{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;height:20px;color:var(--info);gap:8px;padding:0 6px;display:flex}.mavlink-line time{color:var(--muted);flex-shrink:0}.mavlink-line[data-severity=warning]{color:var(--warning)}.mavlink-line[data-severity=error]{color:var(--danger)}.message-empty{padding:8px;font:10px/20px Microsoft YaHei,微软雅黑,sans-serif}.flight-messages{background:var(--chrome-bg);border-top:1px solid var(--line);font-size:10px}.flight-messages summary{cursor:pointer;height:26px;color:var(--accent);padding:5px 24px}.flight-messages summary>span:last-child{color:var(--muted);margin-left:20px}.flight-messages #message-count{margin-left:8px}.flight-messages #expanded-messages{padding:0 24px 10px}.flight-messages .mavlink-lines{height:204px}.workspace{height:calc(100dvh - 214px)}.cpu-foot{flex-wrap:wrap;gap:6px}.dashboard-grid{grid-template-columns:minmax(270px,1fr) minmax(390px,1.55fr) minmax(215px,.8fr)}.identity-card{flex-direction:column;display:flex}.identity-card .identity-footer{margin-top:auto;padding-top:12px}.identity-card>.sensor-table{flex-direction:column;flex:1;min-height:0;display:flex}.identity-card .sensor-inventory{flex:220px;max-height:none}.hud-layout{grid-template-columns:48px 35px minmax(150px,1fr) 35px 48px;gap:2px}.hud-center .attitude{max-width:310px}.hud-data{flex-direction:column;justify-content:space-evenly;align-self:stretch;gap:16px;padding:18px 0;display:flex}.hud-data .hud-metric strong{margin:2px 0;font-size:16px;display:block}.hud-tape{width:35px;height:190px}.hud-side .hud-metric span{white-space:nowrap;font-size:8px}.hud-side .hud-metric strong{font-size:13px}.hud-stack .attitude-card{padding:12px 8px}.hud-stack .card-head{padding:0 4px}.hud-stack .attitude-values{margin-top:5px}#arming-status{flex-shrink:0;padding:6px;font-size:10px}.telemetry-strip{gap:12px}.topbar{gap:18px}.sensors{min-width:300px}main:has(.dashboard-grid){padding:12px 16px}.hud-center .empty-panel{min-height:200px!important}@media (min-width:1550px){.hud-data{width:60px}.hud-layout{grid-template-columns:60px 45px minmax(210px,1fr) 45px 60px;gap:5px}.hud-tape{width:45px;height:215px}.hud-data .hud-metric strong{font-size:20px}.dashboard-grid{grid-template-columns:1fr 1.5fr .8fr}}body{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar,.statusbar,.preview-bar,.flight-messages{flex-shrink:0}.workspace{flex:1;height:auto;min-height:0}body:has(.flight-messages[open]) .workspace{height:auto;min-height:0}.sidebar,.sensor-inventory{min-height:0}.preview-bar{height:30px}.preview-bar select{height:23px;min-height:23px;padding:1px 7px}.statusbar{height:26px}.flight-messages summary{height:24px;padding-top:4px;padding-bottom:4px}@media (max-height:800px){.topbar{height:88px;padding-top:7px;padding-bottom:7px}.brand img{height:42px}.connection-sub{margin-top:5px}main:has(.dashboard-grid){padding:8px 12px}.dashboard-grid,.hud-stack{gap:8px}.hud-stack .attitude-card{padding:8px}.hud-stack .attitude-card .card-head{margin-bottom:6px}.hud-center .attitude{max-width:240px}.hud-tape{height:176px}.hud-data{gap:10px;padding:8px 0}.hud-stack .attitude-values{margin-top:2px;font-size:9px}.hud-stack .attitude-values strong{margin-top:1px;font-size:11px}.hud-messages{min-height:238px;padding:8px}.hud-messages .card-head{margin-bottom:6px}.hud-messages .card-head h2{font-size:11px}.readiness-stack{gap:8px}}#arming-status{letter-spacing:.75px;border-width:3px;min-height:57px;padding:12px 15px;font-size:22.5px;font-weight:700}#arming-status.disarmed{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}#arming-status.warning{color:var(--warning);border-color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent)}.battery #cell-count{margin-left:10px}.battery div{max-width:200px}@media (max-width:1320px){.battery div{max-width:183px}}#arming-status{justify-content:center;width:105.75px}.battery>div{width:200px;height:75px}.battery #voltage{width:57.0156px;display:inline-block}@media (max-width:1320px){.battery>div{width:183px}}.voltage-text{transform-origin:0;display:inline-block}.cal-page{max-width:107.143em;margin:0 auto}.cal-page-head{justify-content:space-between;align-items:center;gap:1.4286em;margin-bottom:1.5714em;display:flex}.cal-page-head p{margin-top:.5714em;font-size:.8571em}.cal-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1429em;display:grid}.cal-tool{flex-direction:column;align-items:flex-start;min-height:14.8571em;display:flex}.cal-number{color:var(--accent);letter-spacing:.1429em;margin-bottom:1.1429em;font-size:.7857em}.cal-tool h2{font-size:1.2143em}.cal-tool p{flex:1;margin:.7143em 0 1.4286em;font-size:.8571em}.cal-tool button{width:100%;font-size:.8571em}.cal-workspace-head{border-bottom:.0714em solid var(--line);justify-content:space-between;align-items:center;margin-bottom:1.4286em;padding-bottom:1em;display:flex}.cal-workspace-head h2{font-size:1.0714em}.cal-workspace-head button{padding:.5em .7857em;font-size:.7857em}.cal-two-col{grid-template-columns:minmax(21.4286em,1.05fr) minmax(22.1429em,1fr);align-items:start;gap:1.8571em;display:grid}.cal-pose{border:.0714em solid var(--line);background:#111;border-radius:.5714em;margin:0;overflow:hidden}.cal-pose-image{aspect-ratio:1.34;background-repeat:no-repeat;background-size:300% 200%;width:100%}.cal-pose figcaption{color:var(--muted);text-align:center;padding:.8571em 1.1429em;font-size:.7857em}.cal-compass-image{width:100%;height:auto;display:block}.cal-controls h2,.cal-level h2,.cal-thermal h2{margin:0 0 .8571em;font-size:1.6429em}.cal-controls p,.cal-level p,.cal-thermal p{margin:.7143em 0;font-size:.8571em;line-height:1.8}.cal-actions{flex-wrap:wrap;gap:.7143em;margin-top:1.4286em;display:flex}.cal-actions button{font-size:.8571em}.cal-auto{align-items:center;gap:.5714em;margin-top:1.4286em;font-size:.8571em;display:flex}.cal-auto input,.cal-imu-list input{accent-color:var(--accent)}.cal-countdown{color:var(--muted);min-height:1.1429em;margin-top:.5714em;font-size:.7857em;display:block}.cal-field{flex-direction:column;gap:.5714em;margin:1.0714em 0;font-size:.7857em;display:flex}.cal-field input,.cal-field select{width:100%;min-width:0}.cal-manual{border-top:.0714em solid var(--line);margin-top:1.7857em;padding-top:1.1429em;font-size:.8571em}.cal-manual summary{cursor:pointer;color:var(--muted)}.cal-result{border:.0714em solid #46512c;border-radius:.4286em;margin:1.1429em 0;padding:1em;font-size:.8571em}.cal-result strong{color:var(--accent);margin:.4286em 0;font-size:1.2143em;display:block}.cal-result button{margin:.4286em .5714em 0 0;padding:.5em .7143em;font-size:.7857em}.cal-step-list{counter-reset:pose;flex-wrap:wrap;gap:.5em;margin:1em 0;padding:0;list-style:none;display:flex}.cal-step-list li{counter-increment:pose;border:.0714em solid var(--line);color:var(--muted);border-radius:.2857em;padding:.4286em .5714em;font-size:.7143em}.cal-step-list li:before{content:counter(pose) " · "}.cal-step-list li[aria-current]{color:var(--accent);border-color:var(--accent)}.cal-alert,.cal-note{border-radius:.4286em;margin-bottom:1.0714em;padding:.7857em 1em;font-size:.8571em;line-height:1.7}.cal-alert{color:var(--warning);background:#26170c;border:.0714em solid #713612}.cal-note{color:var(--muted);background:#161b0e;border:.0714em solid #3f492a}.cal-level{max-width:46.4286em;padding:1.4286em 0 2.5em}.cal-level .chip{margin-top:.8571em}.cal-progress label{color:var(--muted);justify-content:space-between;gap:1.1429em;margin-bottom:.5714em;font-size:.7857em;display:flex}.cal-progress progress{width:100%;height:.5714em;accent-color:var(--accent);border:0}.cal-action-status{border-top:.0714em solid var(--line);margin-top:1.2857em;padding:.8571em;font-size:.8571em}.cal-action-status p{overflow-wrap:anywhere;color:var(--muted);font-size:.7857em}.cal-bias-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.2857em;display:grid}.cal-empty{color:var(--muted);padding:2.1429em 0}.cal-instructions{color:var(--muted);padding-left:1.4286em;font-size:.9286em;line-height:2.1}.cal-warning{color:var(--warning)}.cal-imu-list{gap:1.4286em;margin:1.4286em 0;font-size:.8571em;display:flex}.cal-muted{color:var(--muted);font-size:.7857em!important}.cal-thermal{grid-template-columns:7.1429em minmax(0,1fr);gap:1.7143em;display:grid}.cal-thermal-symbol{color:var(--accent);border:.0714em solid #46512c;border-radius:.8571em;place-items:center;height:7.1429em;font-size:3.9286em;display:grid}.cal-thermal-values{flex-wrap:wrap;gap:2.2857em;margin:1.7143em 0;display:flex}.cal-thermal-values span{color:var(--muted);font-size:.7857em;display:block}.cal-thermal-values strong{font-variant-numeric:tabular-nums;margin-top:.5714em;font-size:1.7857em;display:block}.cal-report{overflow-wrap:anywhere}.cal-workspace button:disabled{opacity:.4}@media (max-width:1320px){.cal-page-head{margin-bottom:1.1429em}.cal-tool-grid{gap:.8571em}.cal-tool{min-height:13.5714em}.cal-two-col{grid-template-columns:minmax(20em,1fr) minmax(22.1429em,1fr);gap:1.4286em}.cal-controls h2{font-size:1.4286em}.cal-tool h2{font-size:1.1429em}.cal-thermal-values{gap:1.4286em}.cal-bias-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cal-pose-image,.cal-compass-image{aspect-ratio:48/35;object-fit:contain;background:0 0;width:100%;height:auto;display:block}.cal-pose{background:var(--panel-end)}.cal-pose figcaption{border-top:.0714em solid var(--line)}.cal-pose-image,.cal-compass-image{aspect-ratio:4/3}.cal-axis-tabs{justify-content:center;gap:.5714em;padding:.7143em;display:flex}.cal-axis-tabs button{padding:.5em 1em;font-size:.7857em}.cal-page button.primary{color:var(--on-accent);background:var(--accent)}.cal-action-status details{color:var(--muted);margin-top:.5714em}.cal-action-status summary{cursor:pointer}.cal-page .eyebrow{font-size:.82em}.cal-page .chip{padding:.4em .7em;font-size:.9em}.cal-page button,.cal-page button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);border-radius:.35em;padding:.65em 1em;font-size:1em}.cal-page button:disabled{opacity:.4}.cal-page input,.cal-page select{border-radius:.35em;padding:.6em .7em;font-size:1em}.cal-page input[type=checkbox]{width:1.1em;height:1.1em;padding:0}.cal-page p,.cal-page .cal-muted,.cal-page .cal-field,.cal-page .cal-auto,.cal-page .cal-countdown,.cal-page .cal-pose figcaption,.cal-page .cal-instructions,.cal-page .cal-alert,.cal-page .cal-note{font-size:1em!important}.cal-page small{color:var(--muted);overflow-wrap:anywhere;margin-top:.4em;font-size:.86em;line-height:1.65;display:block}.cal-page .cal-step-list li{font-size:.88em}.cal-page .cal-field input{margin-top:.2em}.cal-page .cal-field{overflow-wrap:anywhere;min-width:0}.cal-attitude{align-items:center;gap:1em;margin-top:1em;display:flex}.cal-attitude canvas{object-fit:contain;width:15em;max-width:50%;height:13.64em}.cal-attitude h3{font-size:1.1em}.cal-compass-axes{grid-template-columns:repeat(3,minmax(0,1fr));gap:1em;margin-bottom:1.5em;display:grid}.cal-compass-layout .cal-controls{max-width:none}.cal-imu-list{flex-wrap:wrap}.cal-imu-list label{flex:1;min-width:10em}@media (max-width:1320px){.cal-page{font-size:15px}.cal-two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cal-attitude{flex-wrap:wrap}.cal-attitude canvas{max-width:100%}}.cal-thermal-symbol{border-radius:.22em;height:1.82em}.cal-action-status,.cal-manual,.cal-result,.cal-imu-list{font-size:1em}.cal-prerequisite{border:1px solid var(--line);border-radius:6px;width:100%;margin-bottom:1em;padding:.75em;font-size:.78em;line-height:1.65}.cal-prerequisite.pending{color:var(--warning);border-color:#713612}.cal-prerequisite.ready{color:var(--success)}.cal-accel-layout{grid-template-columns:minmax(0,1fr) minmax(170px,.65fr) minmax(240px,1fr);align-items:start;gap:1.25em;display:grid}.cal-accel-layout .cal-attitude{flex-direction:column;align-items:stretch;gap:.75em;min-width:0;margin:0;display:flex}.cal-accel-layout .cal-attitude canvas{aspect-ratio:1.1;width:100%;max-width:100%;height:auto}.cal-accel-layout .cal-attitude p{overflow-wrap:anywhere;font-size:.8em}.cal-accel-layout .cal-controls{min-width:0}.parameter-loading{width:132px;color:var(--muted);flex-direction:column;flex-shrink:0;gap:6px;font-size:10px;display:flex}.parameter-loading strong{font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.parameter-loading progress{width:100%;height:6px;accent-color:var(--accent);border:0;border-radius:3px;overflow:hidden}.parameter-loading progress::-webkit-progress-bar{background:#31332a}.parameter-loading progress::-webkit-progress-value{background:var(--accent)}@media (max-width:1500px){.topbar{gap:16px;padding-left:18px;padding-right:18px}.telemetry-strip{gap:12px}.parameter-loading{width:110px}.sensors{gap:10px}.battery{padding-right:12px}}.cal-workspace{flex-direction:column;height:calc(100dvh - 17em);min-height:32em;display:flex;overflow:hidden}.cal-workspace-head{box-sizing:border-box;flex:none;grid-template-columns:auto minmax(0,1fr) auto;gap:1em;height:5.5em;margin-bottom:1em;display:grid}.cal-head-notice{scrollbar-gutter:stable;height:4.4em;color:var(--muted);justify-content:flex-end;align-items:center;gap:.8em;font-size:.85em;line-height:1.5;display:flex;overflow:auto}.cal-head-notice span{overflow-wrap:anywhere}.cal-head-notice:has(span:empty):not(:has(button)){visibility:hidden}.cal-head-notice button{flex:none;max-width:15em;font-size:.85em}.cal-workspace-body{scrollbar-gutter:stable;flex:1;min-height:0;overflow:auto}.cal-action-status{box-sizing:border-box;scrollbar-gutter:stable;height:12em;overflow:auto}.cal-stillness{min-height:3.6em;color:var(--muted)}.cal-stillness[data-state=moving]{color:var(--warning)}.cal-stillness[data-state=steady]{color:var(--success)}.cal-page h1{font-size:1.7em}.cal-page-head{margin-bottom:1em}.cal-page .card{padding:1.2em}.cal-tool{gap:.7em;min-height:12em}.cal-tool .cal-number{margin-bottom:.3em}.cal-tool button{margin-top:auto}.cal-tool .cal-verdict{margin-top:.3em}.cal-tool .cal-prerequisite{margin:0}.cal-workspace{height:calc(100dvh - 215px);min-height:0}.cal-workspace-head{gap:.75em;height:4em;margin-bottom:.8em}.cal-head-notice{height:3.4em}.cal-workspace-body{scrollbar-gutter:auto}.cal-page button,.cal-page button.primary{padding:.5em .85em}.cal-page input,.cal-page select{padding:.45em .6em}.cal-controls h2,.cal-level h2,.cal-thermal h2{margin-bottom:.5em;font-size:1.3em}.cal-controls p,.cal-level p,.cal-thermal p{margin:.55em 0;line-height:1.6}.cal-actions{margin-top:.85em}.cal-field{gap:.35em;margin:.7em 0}.cal-page small{margin-top:.2em;font-size:.8em;line-height:1.45}.cal-instructions{line-height:1.6}.cal-instructions li{padding:.3em 0}.cal-action-status{height:8em;margin-top:.75em;padding:.6em}.cal-pose figcaption{padding:.6em}.cal-two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.4em}.cal-compass-layout{grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:1.5em;display:grid}.cal-compass-axes{grid-template-columns:1fr;gap:.6em;margin:0}.cal-compass-switches{flex-wrap:wrap;gap:.8em;margin:.8em 0;display:flex}.cal-compass-switches label{flex-wrap:wrap;align-items:center;gap:.45em;display:flex}.cal-compass-switches small{flex-basis:100%;padding-left:1.6em}.cal-compass-switches input{accent-color:var(--accent)}.cal-progress{margin:.7em 0}.cal-compass-layout .cal-action-status{height:6em}.cal-bias-group{border:1px solid var(--line);border-radius:5px;margin:.65em 0;padding:.7em 1em}.cal-bias-group summary{cursor:pointer;color:var(--text)}.cal-bias-group summary span{float:right;color:var(--muted);font-size:.85em}.cal-bias-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width:2200px){.cal-page{max-width:1320px;font-size:15px}}@media (max-height:820px){.cal-workspace{height:calc(100dvh - 200px)}.cal-compass-image{max-height:90px}.cal-page .card{padding:1em}.cal-workspace-head{height:3.5em}.cal-action-status{height:6.5em}.cal-tool{min-height:10em}}@media (max-width:1050px){.cal-page{font-size:13px}.cal-accel-layout{grid-template-columns:minmax(0,1fr) minmax(120px,.6fr) minmax(200px,1fr)}.cal-bias-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.cal-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-compass-layout,.cal-two-col,.cal-accel-layout{grid-template-columns:1fr}.cal-compass-axes{grid-template-columns:repeat(3,minmax(0,1fr))}.cal-workspace{min-height:300px}.cal-bias-grid{grid-template-columns:1fr}}main:has(.cal-workspace){flex-direction:column;display:flex}main:has(.cal-workspace)>#content{flex-direction:column;flex:1;min-height:0;display:flex}main:has(.cal-workspace) .cal-page{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}main:has(.cal-workspace) .cal-page-head{flex:none}.cal-page .cal-workspace{flex:1;height:auto;min-height:0}.identity-authenticity-note{color:var(--warning);background:0 0;border:0;margin:12px 0 0;font-size:12px;line-height:1.6}.cal-page{max-width:1120px;font-size:14px}.cal-accel-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1em}.cal-accel-layout>.cal-controls{grid-column:1/-1}.cal-accel-layout .cal-pose-image,.cal-accel-layout .cal-attitude canvas{object-fit:contain;width:100%;max-width:100%;height:15em}.cal-accel-layout .cal-attitude>div{flex-wrap:wrap;align-items:center;gap:.6em 1em;display:flex}.cal-accel-layout .cal-attitude>div p{margin:0}.cal-compass-image{max-height:125px}@media (min-width:2200px){.cal-page{max-width:1320px;font-size:15px}}@media (max-height:820px){.cal-compass-image{max-height:90px}}@media (max-width:1050px){.cal-page{font-size:13px}}@media (max-width:760px){.cal-accel-layout{grid-template-columns:1fr}.cal-accel-layout>.cal-controls{grid-column:auto}}.cal-thermal-imu{border:1px solid var(--line);border-radius:.3em;margin:.8em 0;padding:.75em}.cal-thermal-imu small{display:block}.cal-thermal-imu p{font-size:.85em!important}main:has(.cal-with-sidebar){flex-direction:column;padding:0 16px 12px 0;display:flex}main:has(.cal-with-sidebar)>#content{flex:1;min-height:0;display:flex}.cal-page.cal-with-sidebar{flex:1;grid-template-columns:230px minmax(0,1fr);gap:18px;width:100%;max-width:none;min-height:0;display:grid}main:has(.cal-workspace) .cal-page.cal-with-sidebar{flex:1;grid-template-columns:230px minmax(0,1fr);gap:18px;width:100%;max-width:none;min-height:0;display:grid}.cal-sidebar{border-right:1px solid var(--line);min-height:0;padding:18px 12px;overflow:auto}.cal-sidebar-head{margin-bottom:1.2em}.cal-sidebar h2{font-size:1.2em}.cal-sidebar-head p{color:var(--muted);margin:.8em 0;line-height:1.6;font-size:.85em!important}.cal-sidebar .chip{font-size:.75em}.cal-page .cal-nav-item{text-align:left;width:100%;color:var(--accent);background:var(--sidebar-bg);border:1px solid var(--accent);align-items:center;gap:.65em;margin:.35em 0;padding:.85em .7em;font-weight:400;line-height:1.4;display:flex}.cal-page .cal-nav-item[aria-current=page]{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:400}.cal-page .cal-nav-item[aria-current=page]:hover{background:color-mix(in srgb,var(--accent) 75%,white);color:var(--on-accent)}.cal-page .cal-nav-item .cal-nav-status .chip{color:inherit}.cal-page .cal-nav-item.is-locked{opacity:.42}.cal-nav-number{font-size:.8em}.cal-lock{flex:none;margin-left:auto}.cal-nav-status{padding:0 .7em .35em}.cal-nav-status .chip{background:0 0;border:0;padding:0}.cal-main{flex-direction:column;min-width:0;min-height:0;padding-top:18px;display:flex}.cal-main>.cal-workspace{flex:1}.cal-workspace-head{grid-template-columns:auto minmax(0,1fr)}@media (max-width:1050px){.cal-page.cal-with-sidebar{grid-template-columns:190px minmax(0,1fr);gap:12px}main:has(.cal-workspace) .cal-page.cal-with-sidebar{grid-template-columns:190px minmax(0,1fr);gap:12px}.cal-with-sidebar .cal-two-col,.cal-with-sidebar .cal-compass-layout{grid-template-columns:1fr}}.cal-page .cal-nav-item{text-align:center;grid-template-rows:auto auto;grid-template-columns:1.4em minmax(0,1fr) 1.4em;align-content:center;gap:.35em .3em;min-height:4.4em;margin:.35em 0;display:grid}.cal-nav-number{text-align:left;font-variant-numeric:tabular-nums;grid-area:1/1}.cal-nav-label{text-align:center;overflow-wrap:anywhere;grid-area:1/2}.cal-lock{grid-area:1/3;justify-self:end;margin:0}.cal-nav-status{text-align:center;grid-area:2/2;min-width:0;padding:0}.cal-nav-status .chip{white-space:normal;line-height:1.4}.cal-workspace-body{container-type:inline-size}.cal-accel-layout{--cal-visual-height:min(38dvh,28cqw);align-items:start}.cal-accel-layout .cal-pose-image{height:var(--cal-visual-height);aspect-ratio:auto}.cal-accel-layout .cal-attitude{border:1px solid var(--line);background:var(--panel-end);border-radius:.5714em;gap:0;overflow:hidden}.cal-accel-layout .cal-attitude>.cal-hud-frame{height:var(--cal-visual-height);justify-content:center;align-items:center;gap:0;min-width:0;padding:0;display:flex}.cal-accel-layout .cal-attitude canvas{aspect-ratio:1.1;object-fit:contain;width:auto;max-width:100%;height:100%}.cal-accel-layout .cal-attitude>.cal-attitude-values{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:.35em .7em;min-height:2.6em;padding:.6em;display:flex}.cal-attitude-values h3{margin:0;font-size:1em}.cal-attitude-values p{margin:0}.cal-compass-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}.cal-compass-image{aspect-ratio:auto;object-fit:contain;height:min(21dvh,20cqw);max-height:none}@media (max-width:1050px){.cal-with-sidebar .cal-compass-layout{grid-template-columns:1fr}.cal-compass-axes{grid-template-columns:repeat(3,minmax(0,1fr))}.cal-compass-image{height:min(24dvh,22cqw)}}@media (max-width:760px){.cal-accel-layout{--cal-visual-height:min(35dvh,55cqw);grid-template-columns:1fr}.cal-accel-layout>.cal-controls{grid-column:auto}}.configurator-confirm{box-sizing:border-box;width:min(480px,100vw - 40px)}.configurator-confirm h2{margin:8px 0 0;font-size:20px}.configurator-confirm>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.configurator-confirm .dialog-footer{justify-content:flex-end}.dialog-error{color:var(--danger);font-size:12px;line-height:1.6}.endpoint-field [aria-invalid=true]{border-color:var(--danger)}.accent-setting{flex-wrap:wrap;align-items:flex-start}.accent-setting form{min-width:0}.accent-setting label{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.accent-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.accent-controls input{text-transform:uppercase;width:105px;font-family:Microsoft YaHei,微软雅黑,sans-serif}.accent-controls button{font-size:12px}.accent-swatch{background:var(--accent);border:1px solid var(--muted);border-radius:4px;flex:none;width:24px;height:24px}#accent-status{min-height:1.8em;margin-top:6px;font-size:12px}#accent-code[aria-invalid=true]{border-color:var(--warning)}:root{--info:var(--muted);--success:var(--accent);--danger:#ff8176;--workspace-bg:#090908;--panel:#1a1b17;--panel-end:#11120f;--input-bg:#11120f;--control-bg:#23241f;--chrome-bg:#0c0d0b;--sidebar-bg:#0a0b09}.custom-background main{background-image:var(--custom-background);background-position:50%;background-repeat:no-repeat;background-size:cover}.appearance-settings{max-width:850px;margin-top:18px}.appearance-settings>p{margin:10px 0 18px;font-size:12px}.appearance-color-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.appearance-color-grid label{color:var(--muted);flex-direction:column;gap:8px;font-size:12px;display:flex}.appearance-color-grid input{text-transform:uppercase;width:100%;min-width:0;font-family:Microsoft YaHei,微软雅黑,sans-serif}.appearance-color-grid input[aria-invalid=true]{border-color:var(--danger)}.appearance-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}#appearance-status,#background-status{overflow-wrap:anywhere;min-height:1.8em;margin-top:10px;font-size:12px}.background-upload{color:var(--muted);flex-direction:column;gap:10px;margin:14px 0;display:flex}.background-upload input{max-width:100%;font-size:12px}.background-upload input::-webkit-file-upload-button{background:var(--control-bg);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:6px;margin-right:10px;padding:9px 12px}.background-upload input::file-selector-button{background:var(--control-bg);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:6px;margin-right:10px;padding:9px 12px}.welcome-copy{background:linear-gradient(130deg,var(--panel),var(--panel-end));border-color:var(--line)}.empty-panel,.cal-pose,.cal-accel-layout .cal-attitude{background:var(--input-bg)}.cal-note{background:var(--panel-end);border-color:var(--line)}.cal-result,.cal-thermal-symbol,.step>span{border-color:var(--line)}.field-option:has(input:checked){border-color:var(--line)}.field-option:has(input:checked){background:var(--control-bg)}.notice:not(.pending),.cal-alert{background:color-mix(in srgb,var(--warning) 12%,var(--panel-end));border-color:var(--warning)}.notice.pending{background:color-mix(in srgb,var(--pending) 12%,var(--panel-end));border-color:var(--pending)}@media (max-width:1050px){.appearance-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.color-setting-title{text-shadow:0 0 1px #fff,0 1px 2px #000}.background-follow-toggle{margin-top:18px;font-size:12px}#background-dominant{font-family:Microsoft YaHei,微软雅黑,sans-serif}.ports-card{min-width:0;padding:20px}.ports-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.ports-header p,.ports-reference p,.ports-count,.ports-apply p{color:var(--muted);font-size:12px;line-height:1.6}.ports-header p{margin:10px 0}.ports-reference{border-top:1px solid var(--line);align-items:center;gap:18px;margin-top:8px;padding-top:14px;display:flex}.ports-reference label{white-space:nowrap;align-items:center;gap:10px;font-size:12px;display:flex}.ports-reference select{min-width:145px}.ports-warning{color:var(--warning);margin:14px 0;font-size:13px}.ports-table-scroll{margin-top:14px;overflow-x:auto}.ports-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.ports-table th,.ports-table td{vertical-align:top;border-bottom:1px solid var(--line);text-align:left;padding:16px 10px}.ports-table thead th{letter-spacing:.08em;color:var(--muted);background:var(--input-bg);padding:12px 10px;font-weight:500}.ports-table th:first-child{width:18%}.ports-table th:nth-child(2){width:24%}.ports-table th:nth-child(3){width:22%}.ports-table th:nth-child(4){width:16%}.ports-table th:nth-child(5){width:20%}.ports-name{overflow-wrap:anywhere;align-items:center;gap:7px;margin:5px 0 8px;font-size:15px;display:flex}.ports-dot{border:1px solid var(--muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.ports-dot.receiving{background:var(--success);border-color:var(--success)}.ports-dot.quiet{background:#c0c2b8;border-color:#c0c2b8}.ports-table small{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;font-size:11px;font-weight:400;line-height:1.6;display:block}.ports-field{background:var(--input-bg);border:1px solid var(--line);border-radius:10px;padding:11px;position:relative}.ports-field>label{color:var(--muted);margin-bottom:7px;font-size:11px;display:block}.ports-field select,.ports-field input{width:100%;min-width:0;padding:8px 6px;font-size:12px}.ports-custom-button{padding:2px 6px;font-size:11px;line-height:18px;position:absolute;top:7px;right:10px}.ports-baud-dialog{width:min(460px,90vw)}.ports-baud-dialog>p{color:var(--muted);margin:16px 0;font-size:12px;line-height:1.7}.ports-baud-dialog>label{gap:8px;font-size:13px;display:grid}.ports-baud-dialog input{width:100%}.ports-pairing{color:var(--muted);margin:10px 2px 0;font-size:11px;line-height:1.65}.ports-option-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.ports-option-head strong{font-size:12px}.ports-option-head button{padding:7px;font-size:11px}.ports-tags{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.ports-tags span,.ports-tag{border:1px solid var(--line);border-radius:8px;margin:5px 0;padding:4px 7px;font-size:11px;line-height:1.5;display:inline-block}.ports-na{color:var(--muted);margin-top:10px;font-size:12px;display:block}.ports-apply{z-index:3;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:14px 18px;display:flex;position:-webkit-sticky;position:sticky;bottom:0;box-shadow:0 -5px 24px #0006}.ports-apply>div:first-child{min-width:0}.ports-apply p{margin:5px 0}.ports-apply details{font-size:12px}.ports-apply ul{max-height:120px;line-height:1.8;overflow:auto}.ports-actions{flex-direction:column;gap:8px;min-width:190px;display:flex}.ports-feedback{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)!important}.ports-options-dialog{width:min(740px,90vw)}.ports-options-dialog>p{color:var(--muted);margin:16px 0;font-size:13px;line-height:1.7}.ports-bit-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ports-bit-grid label{background:var(--input-bg);border-radius:8px;gap:10px;padding:10px;font-size:13px;display:flex}.ports-bit-grid input{flex-shrink:0;width:16px}.ports-bit-grid small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.5;display:block}.ports-empty{text-align:center;color:var(--muted);padding:25px}@media (max-width:1350px){.ports-card{padding:12px}.ports-table td,.ports-table th{padding:12px 6px}.ports-field{padding:8px}.ports-name{font-size:13px}.ports-reference{align-items:flex-start}.ports-apply{gap:12px}.ports-actions{min-width:165px}}.ports-legend,.ports-toolbar{align-items:center;gap:16px;display:flex}.ports-legend{color:var(--muted);min-height:40px;font-size:12px}.ports-legend span{align-items:center;gap:7px;display:inline-flex}.ports-dot{display:inline-block}.ports-dot.unknown{background:0 0;border-color:#c0c2b8}.ports-header{align-items:center}.ports-card>.ports-feedback{margin:12px 0 0;font-size:12px;line-height:1.6}.ports-card>.ports-warning{color:var(--warning)!important}.ports-legend{flex-wrap:wrap;gap:8px 16px}.ports-status-note{color:#c0c2b8;font-size:11px}.ports-toolbar{flex-shrink:0}.rx-top{grid-template-columns:minmax(300px,1fr) minmax(390px,1.2fr);gap:18px;display:grid}.rx-top .card{padding:20px}.rx-model-card{position:relative;overflow:hidden}.rx-model{width:100%;height:258px}.rx-model canvas{display:block}.rx-model-caption{color:var(--muted);justify-content:space-between;gap:10px;font-size:12px;display:flex}.rx-map header,.rx-channels header,.rx-workflow header{justify-content:space-between;align-items:center;gap:14px;display:flex}.rx-map h2,.rx-channels h2{margin:0;font-size:19px}.rx-map p,.rx-channels p,.rx-workflow p{color:var(--muted);font-size:13px}.rx-map-fields{grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0 14px;display:grid}.rx-map label{flex-direction:column;gap:8px;font-size:13px;display:flex}.rx-map select{width:100%;min-width:0}.rx-map-footer{align-items:center;gap:14px;display:flex}.rx-map small,.rx-throttle small{color:var(--muted);font-size:11px}.rx-throttle{border-top:1px solid var(--border);align-items:end;gap:18px;margin-top:18px;padding-top:14px;display:flex}.rx-throttle label{min-width:180px}.rx-feedback{color:#f5ae65;min-height:18px;margin:12px 0;font-size:13px}.rx-channels{padding:20px}.rx-table-scroll{margin-top:18px;overflow-x:auto}.rx-channels table{border-collapse:collapse;width:100%}.rx-channels th,.rx-channels td{text-align:left;border-bottom:1px solid #292929;padding:9px 12px;font-size:13px}.rx-channels thead th{color:var(--muted);font-size:11px;font-weight:500}.rx-channels th:first-child{width:76px}.rx-channels td:nth-child(2){width:100%;min-width:190px}.rx-channels input[type=number]{width:80px;height:34px;padding:7px 8px}.rx-channels input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}.rx-meter{background:#232624;border-radius:4px;min-width:150px;height:24px;position:relative;overflow:hidden}.rx-meter>span{background:#7b8750;height:100%;transition:width 80ms linear;display:block}.rx-meter>b{text-align:center;color:#fff;font-variant-numeric:tabular-nums;font-size:12px;line-height:24px;position:absolute;top:0;bottom:0;left:0;right:0}.rx-na{color:var(--muted)}.rx-workflow{border-color:#69753d;margin-bottom:18px;padding:22px}.rx-workflow h3{margin:16px 0 10px;font-size:22px}.rx-detection{color:var(--accent);margin-right:18px;font-size:20px}.rx-review{grid-template-columns:repeat(3,1fr);gap:8px;max-height:220px;margin:18px 0;display:grid;overflow:auto}.rx-review span{background:#20231d;border-radius:6px;padding:8px;font-size:12px}.rx-review b{color:var(--accent);margin-top:5px;display:block}.rx-dz{align-items:center;gap:12px;margin-top:16px;font-size:12px;display:flex}.rx-channels td small{color:var(--accent);font-size:10px;display:block}@media (max-width:1350px){.rx-top{grid-template-columns:minmax(270px,.9fr) minmax(390px,1.1fr);gap:12px}.rx-top .card{padding:16px}.rx-model{height:256px}.rx-channels th,.rx-channels td{padding:8px}.rx-channels input[type=number]{width:68px}.rx-map-fields{gap:7px}}.rx-channels th:first-child{white-space:nowrap;min-width:76px}.rx-channels thead th{white-space:nowrap}.rx-top{grid-template-columns:minmax(190px,.8fr) minmax(245px,1fr) minmax(350px,1.5fr);align-items:stretch;gap:12px}.rx-top .card{min-width:0;padding:14px}.rx-model-card{flex-direction:column;justify-content:center;display:flex}.rx-model{height:200px}.rx-model-caption{flex-direction:column;gap:4px;font-size:11px}.rx-map h2,.rx-config h2{margin:0;font-size:16px}.rx-map header{gap:6px}.rx-map header button{white-space:nowrap;padding:7px 8px;font-size:11px}.rx-map-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 10px}.rx-map label{gap:5px;font-size:11px}.rx-map select{height:34px;padding:7px 9px;font-size:12px}.rx-map-footer{justify-content:space-between;gap:8px}.rx-map-footer button{padding:7px 10px;font-size:11px}.rx-map-footer small{font-size:10px}.rx-throttle{border-color:var(--line);gap:8px;margin-top:10px;padding-top:10px}.rx-throttle label{flex:1;min-width:0}.rx-throttle small{max-width:78px;font-size:10px}.rx-config header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.rx-config header small{color:var(--muted);font-size:10px}[data-config-fields]{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.rx-config-field{color:var(--muted);flex-direction:column;gap:5px;min-width:0;font-size:11px;display:flex}.rx-config-field input,.rx-config-field select{width:100%;min-width:0;height:33px;padding:6px 8px;font-size:12px}.rx-config-field small{font-size:10px}.rx-source{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center}.rx-source select{width:65%}.rx-bits{background:var(--input-bg);border:1px solid var(--line);border-radius:6px;grid-column:1/-1;min-width:0;position:relative}.rx-bits summary{cursor:pointer;align-items:center;gap:10px;padding:9px 10px;font-size:11px;list-style:none;display:flex}.rx-bits summary::-webkit-details-marker{display:none}.rx-bits summary>span{color:var(--muted);flex-shrink:0}.rx-bits summary b{text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--accent);flex:1;font-size:11px;font-weight:500;overflow:hidden}.rx-bits summary:after{content:"⌄";color:var(--muted)}.rx-bits[open] summary:after{content:"⌃"}.rx-bit-panel{background:var(--panel);border:1px solid var(--line);z-index:8;border-radius:8px;width:max(100%,360px);max-width:calc(100vw - 40px);padding:12px;position:absolute;top:100%;right:-1px;box-shadow:0 12px 28px #0008}.rx-bit-panel p{color:var(--muted);margin:0 0 10px;font-size:11px;line-height:1.5}.rx-bit-list{flex-wrap:wrap;gap:6px;max-height:235px;padding:2px;display:flex;overflow:auto}.rx-bit-list label{border:1px solid var(--line);cursor:pointer;border-radius:5px;align-items:center;gap:6px;padding:6px 8px;font-size:11px;line-height:1.4;display:flex}.rx-bit-list label:has(:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent)}.rx-bit-list input{width:13px;height:13px;accent-color:var(--accent);flex-shrink:0;margin:0}.rx-bit-panel>small{color:var(--muted);margin-top:10px;font-size:10px;display:block}.rx-dz[hidden]{display:none}@media (max-width:1150px){.rx-top{grid-template-columns:minmax(170px,.8fr) minmax(230px,1fr)}.rx-config{grid-column:1/-1}[data-config-fields]{grid-template-columns:repeat(4,minmax(0,1fr))}.rx-bits{grid-column:span 2}.rx-source{flex-direction:column;grid-column:auto;align-items:stretch}.rx-source select{width:100%}}.rx-top .rx-model{height:174px}.rx-top .rx-map-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:14px 0 10px}.rx-map-fields select{padding:7px 3px}.rx-map-fields label{white-space:nowrap}.rx-throttle small{max-width:70px}.rx-pin{grid-column:1/-1}.rx-pin [hidden]{display:none}.rx-config input:disabled,.rx-config select:disabled{opacity:.45;cursor:not-allowed}.rx-workflow button.primary:hover:not(:disabled){color:var(--on-accent)}.rx-auto-confirm{color:var(--muted);align-items:center;gap:14px;margin-top:16px;font-size:13px;display:flex}.rx-auto-confirm progress{width:min(360px,55%);height:12px;accent-color:var(--accent);background:var(--input-bg);border:0;border-radius:6px;overflow:hidden}.rx-auto-confirm progress::-webkit-progress-bar{background:var(--input-bg)}.rx-auto-confirm progress::-webkit-progress-value{background:var(--accent)}.rx-auto-confirm progress::-moz-progress-bar{background:var(--accent)}.rx-meter .rx-extreme{z-index:2;background:#ff9f43;width:3px;position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:0 0 2px #000}.rx-meter .rx-extreme[hidden]{display:none}.rx-channels td [data-range]{color:#ff9f43}.fm-feedback{color:var(--muted);margin:0 0 12px;font-size:12px}.fm-feedback:empty{display:none}.fm-feedback.error{color:#ff9f43}.fm-arm,.fm-modes,.fm-channels{margin-bottom:16px;padding:20px}.fm-arm header,.fm-modes header,.fm-channels header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.fm-arm h2,.fm-modes h2,.fm-channels h2{margin:0;font-size:16px}.fm-arm header span,.fm-channels header span{color:var(--muted);font-size:11px}.fm-arm-controls{grid-template-columns:1fr 1fr 1.5fr;align-items:center;gap:16px;display:grid}.fm-arm-controls label,.fm-modes header label,.fm-slots label{color:var(--muted);flex-direction:column;gap:7px;min-width:0;font-size:12px;display:flex}.fm-arm-controls .fm-airmode{color:var(--text);flex-direction:row;align-items:center;font-size:12px}.fm-airmode input{accent-color:var(--accent);width:16px;height:16px}.fm-arm select,.fm-modes select,.fm-channels select{width:100%;min-width:0;height:36px;padding:6px 10px;font-size:12px}.fm-arm select:disabled,.fm-modes select:disabled,.fm-channels select:disabled{opacity:.45}.fm-help,.fm-modes header p{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.6}.fm-modes header label{min-width:175px}.fm-slots{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.fm-slots label{border:1px solid var(--line);border-radius:8px;padding:10px 8px}.fm-slots label>span{flex-direction:column;gap:5px;display:flex}.fm-slots small{white-space:nowrap;font-size:10px}.fm-slots label.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.fm-track-head{align-items:center;gap:16px;margin:22px 0 10px;font-size:12px;display:flex}.fm-track-head strong{color:var(--accent)}.fm-track-head small{color:var(--muted);margin-left:auto;font-size:11px}.fm-track{border:1px solid var(--line);border-radius:8px;height:51px;display:flex;position:relative;overflow:hidden}.fm-track>div{border-right:1px solid var(--line);min-width:0;color:var(--muted);justify-content:center;align-items:center;gap:6px;padding:0 6px;font-size:11px;display:flex}.fm-track>div span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fm-track>div.active{background:var(--accent);color:var(--on-accent)}.fm-track>i{background:#fff;width:3px;position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:0 0 0 1px #0009}.fm-track-scale{color:var(--muted);justify-content:space-between;margin-top:5px;font-size:10px;display:flex}.fm-channels table{border-collapse:collapse;table-layout:fixed;width:100%}.fm-channels th:first-child{width:105px}.fm-channels th:nth-child(2){width:32%}.fm-channels th,.fm-channels td{text-align:left;border-bottom:1px solid var(--line);padding:10px;font-size:12px}.fm-channels th small,.fm-channels td>small{color:var(--muted);margin-top:5px;font-size:10px;font-weight:400;display:block}.fm-channels thead small{margin-left:8px;display:inline}.fm-meter{border:1px solid var(--line);background:var(--input-bg);border-radius:5px;height:28px;position:relative;overflow:hidden}.fm-meter>span{background:color-mix(in srgb,var(--accent) 50%,transparent);height:100%;display:block}.fm-meter>b{font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 1px 3px #000;font-size:11px;position:absolute;top:6px;right:8px}.fm-meter>i{background:var(--muted);width:1px;position:absolute;top:3px;bottom:3px;left:50%}@media (max-width:1350px){.fm-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.fm-slots label>span{flex-direction:row;justify-content:space-between}.fm-arm-controls{grid-template-columns:1fr 1fr}.fm-arm-controls .fm-airmode{grid-column:1/-1}.fm-arm,.fm-modes,.fm-channels{padding:16px}}.ports-passthrough{margin-top:20px;padding:24px}.ports-passthrough>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.ports-passthrough h2{margin:0;font-size:18px}.ports-passthrough>p{color:var(--muted);font-size:13px;line-height:1.7}.ports-pass-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;display:grid}.ports-pass-grid .ports-field{padding:18px}.ports-pass-grid small{color:var(--muted);margin-top:12px;font-size:11px;display:block}.ports-pass-grid select,.ports-pass-grid input{padding:10px;font-size:14px}.ports-passthrough>footer{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.ports-passthrough [data-pass-error]{color:var(--warning)}.ports-passthrough [data-pass-error]:empty,.ports-passthrough .ports-feedback:empty{display:none}@media (max-width:800px){.ports-pass-grid,.ports-passthrough>footer{grid-template-columns:1fr}.ports-passthrough{padding:16px}}.parameter-loading{position:relative}.parameter-loading #parameter-read-action{min-height:0;color:var(--muted);background:0 0;border:0;padding:1px 0;font-size:10px;line-height:14px;position:absolute;top:100%;right:0}.parameter-loading #parameter-read-action:hover{color:var(--accent)}.parameter-loading #parameter-read-action[hidden]{display:none}.connection-tools{width:400px}.connection-row>select{flex:1;width:265px;min-width:0}.connection-row>button{flex-shrink:0}@media (max-width:1440px){.topbar{grid-template-columns:auto minmax(0,1fr);row-gap:12px;height:auto;display:grid}.topbar>.brand{grid-area:1/1}.topbar>.connection-tools{grid-area:1/2;justify-self:end}.topbar>.telemetry-strip{grid-area:2/1/auto/-1;width:100%}}.battery-live,.battery-compensation,.battery-monitor,.battery-calibration{margin-bottom:18px;padding:22px}.battery-live header,.battery-compensation header,.battery-calibration header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.battery-live-row{border-top:1px solid var(--line);grid-template-columns:1.1fr repeat(4,1fr);gap:18px;padding:20px 0 8px;display:grid}.battery-live-row>div{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.battery-live-row span{width:100%;color:var(--muted);font-size:12px}.battery-live-row strong{font-variant-numeric:tabular-nums;font-size:26px}.battery-live-row small{color:var(--muted)}.battery-live-name b{font-size:16px}.battery-live-name span{font-size:11px}.battery-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.battery-field{border:1px solid var(--line);border-radius:12px;min-width:0;padding:16px}.battery-field label{margin-bottom:10px;font-size:13px;display:block}.battery-field label small{color:var(--muted);margin-left:6px}.battery-field input,.battery-field select{width:100%;min-width:0}.battery-param{color:var(--muted);letter-spacing:.04em;margin-top:8px;font-size:10px;display:block}.battery-help{color:var(--muted);margin-top:10px;font-size:11px}.battery-help p{overflow-wrap:anywhere;line-height:1.7}.battery-help summary{cursor:pointer}.battery-monitor>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.battery-monitor>summary>span:first-child{align-items:center;gap:14px;display:flex}.battery-monitor>summary>span:first-child:before{content:"▸";color:var(--accent)}.battery-monitor[open]>summary>span:first-child:before{content:"▾"}.battery-monitor>summary small{color:var(--muted);font-size:11px}.battery-monitor-body{padding-top:4px}.battery-calibration-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.battery-compensation p,.battery-calibration p,.battery-feedback{overflow-wrap:anywhere;font-size:13px;line-height:1.7}.battery-compensation .battery-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.battery-calibration label{margin-bottom:10px;display:block}.battery-feedback{color:var(--muted);margin:0}@media (max-width:1250px){.battery-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.battery-live-row{gap:10px}.battery-live-row strong{font-size:22px}}@media (max-width:760px){.battery-fields,.battery-compensation .battery-fields{grid-template-columns:1fr}.battery-live-row{grid-template-columns:repeat(2,minmax(0,1fr))}.battery-live-name{grid-column:1/-1}}.battery-field input[type=number],.battery-calibration input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.battery-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.battery-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.battery-calibration input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.battery-calibration input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.battery-calibrations{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.battery-calibrations .battery-calibration{border:1px solid var(--line);border-radius:12px;margin:0;padding:16px}.battery-calibration h3{margin:0 0 16px;font-size:14px}.battery-calibration label,.battery-offline-calibration{font-size:13px}.battery-offline-calibration summary{cursor:pointer}.battery-calibration input{width:100%}@media (max-width:760px){.battery-calibrations{grid-template-columns:1fr}}.logging-config,.logging-download{margin-bottom:20px;padding:22px}.logging-config header,.logging-download header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.logging-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.log-field{border:1px solid var(--line);border-radius:12px;min-width:0;padding:16px}.log-field label{margin-bottom:7px;font-size:14px;display:block}.log-field code{color:var(--muted);overflow-wrap:anywhere;margin-bottom:13px;font-size:11px;display:block}.log-field input,.log-field select{width:100%;min-width:0}.log-field-bits{grid-column:1/-1}.log-bits{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.log-bits button{min-height:34px;padding:8px 12px;font-size:12px}.log-bits button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.log-field p,.log-feedback,.log-filename-note,.log-empty{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.7}.log-field small{color:var(--muted)}.log-actions{flex-wrap:wrap;gap:10px;display:flex}.log-danger{color:var(--warning);border-color:var(--warning)}.log-destination{justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.log-destination span{overflow-wrap:anywhere}.log-table-wrap{overflow-x:auto}.log-table{border-collapse:collapse;width:100%;font-size:13px}.log-table th,.log-table td{text-align:left;border-bottom:1px solid var(--line);padding:14px 12px}.log-table th{color:var(--muted);font-weight:400}.log-table td button{padding:7px 14px}#log-download-progress{align-items:center;gap:16px;margin:18px 0;font-size:13px;display:flex}#log-download-progress progress{accent-color:var(--accent);flex:1}.log-field input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.log-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.log-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media (max-width:900px){.logging-fields{grid-template-columns:1fr}.logging-download header,.log-destination{flex-direction:column;align-items:flex-start}}.logging-fields{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.log-field{flex:240px;padding:12px}.log-field label{margin-bottom:3px;font-size:13px;line-height:1.5}.log-field code{margin-bottom:9px}.log-field-batch{flex-basis:440px}.log-field-content{flex-basis:100%;order:1}.log-field-disarmed{flex:3 620px}.log-bits{gap:6px;margin-bottom:4px}.log-bits button{white-space:normal;overflow-wrap:anywhere;max-width:100%;padding:7px 10px}.log-field p{margin:7px 0 0}.log-rate{margin-top:4px;font-size:11px;line-height:1.5;display:block}.log-segments{border:1px solid var(--line);border-radius:9px;display:flex;overflow:hidden}.log-segments button{white-space:normal;overflow-wrap:anywhere;border:0;border-radius:0;flex:1;min-width:0;padding:8px;font-size:11px;line-height:1.5}.log-segments button+button{border-left:1px solid var(--line)}.log-segments button[aria-pressed=true]{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.log-switch{background:0 0;border:0;align-items:center;gap:9px;padding:4px 0;font-size:12px;display:flex}.log-switch-track{background:#62665b;border-radius:12px;flex:none;width:36px;height:21px;display:block;position:relative}.log-switch-track:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .15s;position:absolute;top:3px;left:3px}.log-switch[aria-checked=true] .log-switch-track{background:var(--accent)}.log-switch[aria-checked=true] .log-switch-track:after{transform:translate(15px)}.log-field-content .log-bits button{text-align:left;display:block}.log-field-content .log-rate{font-weight:400}.log-guide-link{color:var(--accent);background:0 0;border:0;margin-top:8px;margin-left:14px;padding:5px 0;font-size:12px;text-decoration:underline}.log-guide-dialog{border:1px solid var(--line);width:min(1180px,100vw - 48px);max-width:none;max-height:calc(100vh - 48px);color:var(--muted);background:var(--bg);border-radius:12px;padding:0}.log-guide-dialog::backdrop{background:#000b}.log-guide-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.log-guide-dialog h2{color:var(--accent)}.log-guide-dialog article{max-height:calc(100vh - 145px);padding:20px 22px;font-size:13px;line-height:1.7;overflow:auto}.log-guide-dialog h3{color:var(--accent);margin:24px 0 10px}.log-guide-dialog p+p{margin-top:12px}.log-guide-table{margin:12px 0;overflow-x:auto}.log-guide-dialog table{border-collapse:collapse;width:100%;min-width:650px}.log-guide-dialog td,.log-guide-dialog th{border:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.log-guide-dialog th{color:var(--accent);font-weight:600}.log-guide-dialog th small{color:var(--muted);font-weight:400;display:block}.log-guide-dialog td{min-width:110px}.log-guide-dialog table th:first-child{min-width:120px}.logging-download button[data-log-refresh]:disabled{opacity:1;cursor:wait}.logging-download button[data-log-refresh]:disabled:hover{background:color-mix(in srgb,var(--control-bg) 85%,white);color:var(--accent)}.board-photos{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:65%;display:flex}.board-photos figure{width:100px;margin:0}.board-photos figcaption{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:9px;line-height:1.4}.board-photos .board-photo{width:100%}.sidebar nav{scrollbar-gutter:stable;min-width:0;overflow-x:hidden;overflow-y:auto}.sidebar .nav-button{gap:8px;width:100%;min-width:0;max-width:100%;min-height:40px;padding:8px;font-size:12px;line-height:1.4}.sidebar .nav-button>.icon{width:18px;height:18px}.sidebar .nav-button>span{white-space:normal;overflow-wrap:anywhere;min-width:0}.statusbar[hidden],.preview-bar[hidden]{display:none}.cal-compass-extra{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.cal-compass-extra h3,.cal-compass-extra summary{margin-bottom:12px}.cal-compass-extra summary{cursor:pointer}.cal-compass-extra .cal-actions{flex-wrap:wrap;align-items:center;gap:12px}.cal-compass-extra p{margin:12px 0}.cal-workspace .cal-compass-extra button.log-switch{color:var(--text);background:0 0;border:0;padding:4px 0}.cal-workspace .cal-compass-extra button.log-switch:hover{color:var(--accent);background:0 0}.feedback-form{gap:16px;max-width:720px;display:grid}.feedback-form label{color:var(--muted);gap:8px;display:grid}.feedback-form textarea{box-sizing:border-box;resize:vertical;width:100%;font:inherit;border:1px solid var(--line);background:var(--input-bg);color:var(--accent);border-radius:6px;padding:10px}.feedback-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.feedback-form button{justify-self:start}.feedback-options{border:1px solid var(--line);border-radius:6px;gap:10px;min-width:0;padding:12px;display:grid}.feedback-options label{align-items:center;gap:8px;display:flex}.feedback-options input[type=file]{max-width:100%}.feedback-options [data-selected]{overflow-wrap:anywhere;display:block}.feedback-options p{font-size:12px}
