.serial-page-intro{margin-top:.5rem}.serial-banner{border-radius:var(--web-host-panel-radius);font-size:var(--type-scale-label);background:var(--accent-soft);color:var(--text-main);border:1px solid var(--web-host-outline);margin-bottom:1rem;padding:.85rem 1rem;line-height:1.5}.serial-banner[hidden],.serial-terminal-card--shell .serial-terminal-wrap[hidden]{display:none!important}.serial-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.75rem;display:flex}.serial-status,.serial-toolbar label{font-size:var(--type-scale-label);color:var(--text-muted)}.serial-toolbar label{align-items:center;gap:.35rem;display:inline-flex}.serial-status{flex:12rem;min-width:0}.serial-layout{grid-template-columns:minmax(220px,.9fr) minmax(0,1.45fr) minmax(260px,1fr);align-items:stretch;display:grid}.serial-col-left,.serial-col-right,.serial-terminal-card,.serial-workspace{flex-direction:column;min-width:0;display:flex}.serial-terminal-card,.serial-workspace{min-height:0}#terminal,.serial-workspace{height:100%}.serial-btn-row--fill>button,.serial-workspace .serial-terminal-card--shell{flex:auto}.serial-terminal-card--shell{min-height:min(70vh,36rem)}.serial-terminal-wrap{background:var(--bg-elevated);flex:1;min-height:22rem;overflow:hidden}.serial-terminal-card--shell .serial-terminal-wrap{flex-direction:column;flex:auto;min-height:0;display:flex}#terminal{min-height:22rem}.serial-terminal-card--shell #terminal{flex:1 1 0;width:100%;min-height:0;position:relative}.serial-terminal-card--shell #terminal .xterm{position:absolute;inset:0}.serial-col-left .serial-toolbar{margin-bottom:0}.serial-col-left .serial-status{flex:100%}.serial-btn-row{flex-wrap:wrap;gap:.4rem;display:flex}.serial-btn-row--fill{width:100%;max-width:100%}.serial-side-block--device-summary{align-self:stretch;width:100%;max-width:100%}.serial-drive-row{align-items:center}.serial-drive-state{font-size:var(--type-scale-label);color:var(--text-muted);flex-shrink:0;align-items:center;gap:.38rem;min-height:1.85rem;margin-left:.65rem;line-height:1.2;display:inline-flex}.serial-drive-state-dot{background:var(--text-muted);opacity:.85;border-radius:50%;flex-shrink:0;width:.45rem;height:.45rem}.serial-drive-state[data-state=disconnected] .serial-drive-state-dot{opacity:1;box-shadow:none;background:#9ca3af}.serial-drive-state[data-state=unknown] .serial-drive-state-dot{opacity:1;background:#eab308;box-shadow:0 0 0 2px #eab30847}.serial-drive-state[data-state=on] .serial-drive-state-dot{opacity:1;background:#22c55e;box-shadow:0 0 0 2px #22c55e4d}.serial-drive-state[data-state=off] .serial-drive-state-dot{opacity:1;background:#f97316;box-shadow:0 0 0 2px #f9731647}.serial-drive-state[data-state=on]{color:color-mix(in srgb, #22c55e 55%, var(--text-main))}.serial-drive-state[data-state=off]{color:color-mix(in srgb, #f97316 45%, var(--text-main))}.ctrl-field-label,.ctrl-mode-row>label[for=ctrl-mode-trigger]{font-size:var(--type-scale-label);color:var(--text-muted)}.ctrl-field-label{flex:0 0 6.25rem;line-height:1.25}.ctrl-stack{flex-direction:column;gap:.5rem;min-width:0;margin-top:.95rem;display:flex}.ctrl-mode-row,.ctrl-value-row{grid-template-columns:max-content minmax(0,1fr) auto;align-items:center;gap:.35rem .45rem;min-width:0;display:grid}.ctrl-value-row{grid-template-columns:max-content minmax(0,1fr)}.ctrl-mode-row>label[for=ctrl-mode-trigger]{flex-shrink:0}.ctrl-mode-row .serial-dd{flex:8rem;min-width:0}.ctrl-mode-row .serial-dd-trigger{width:100%;min-width:0}.ctrl-mode-row .pill-action{min-height:var(--web-host-control-height);flex:none}.ctrl-value-row .ctrl-field-label{white-space:nowrap;flex:none}.config-pid-cell input,.ctrl-value-row input{width:100%;min-width:0}.config-group{margin-top:.6rem}.config-group:first-of-type{margin-top:.35rem}.config-group-title{font-size:var(--type-scale-label);letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:.4rem}.config-pid-cell-label{letter-spacing:-.01em;color:var(--text-muted);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;line-height:1.35}.config-batch-row{flex-wrap:wrap;align-items:flex-end;gap:.45rem .55rem;margin-bottom:.4rem;display:flex}.config-batch-row--fields-only{align-items:stretch}.config-batch-row--fields-only .config-pid-cell{grid-template-rows:minmax(1.35em, 1fr) var(--web-host-control-height);align-self:stretch;display:grid}.config-batch-row--fields-only .config-pid-cell-label{align-self:end}.config-batch-row:last-child{margin-bottom:0}.config-pid-cells{flex:12rem;gap:.45rem;min-width:0;display:flex}.config-pid-cells--communication{grid-template-columns:1fr 1fr 2fr;display:grid}.config-pid-cell{flex-direction:column;flex:1 1 0;gap:.25rem;min-width:0;display:flex}.device-info-panel{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.65rem;margin-top:.85rem;padding-top:.85rem;display:flex}.device-info-panel[hidden]{display:none!important}.device-info-sheet{border-radius:var(--web-host-control-radius);background:var(--accent-soft);border:1px solid var(--web-host-outline);padding:.7rem .75rem .75rem}.device-info-sheet-h{font-size:var(--type-scale-label);letter-spacing:.06em;color:var(--text-main);border-bottom:1px solid var(--border-subtle);margin:0 0 .5rem;padding-bottom:.4rem}.device-info-dl{font-size:var(--type-scale-label);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.28rem .55rem;margin:0;line-height:1.35;display:grid}.device-info-dl dd,.device-info-dl dt{word-break:break-word;text-align:start;margin:0}.device-info-dl dt{color:var(--text-muted);hyphens:auto}.device-info-dl dd{color:var(--text-main);font-variant-numeric:tabular-nums}.device-info-dl--raw{grid-template-columns:minmax(0,1fr)}.device-info-dl--raw>.device-info-loading,.device-info-dl--raw>.device-info-pre{grid-column:1/-1}.device-info-loading{margin:0}.device-info-pre{font-size:var(--type-scale-label);margin:0}.device-info-loading{font:inherit;font-size:var(--type-scale-label);color:var(--text-muted);padding:.15rem .1rem .25rem;line-height:1.35}.device-info-pre{border-radius:var(--web-host-control-radius);background:var(--bg-elevated);color:var(--text-main);white-space:pre-wrap;word-break:break-word;border:1px solid var(--web-host-outline);padding:.5rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.45}@media (width<=1100px){.serial-layout{grid-template-columns:minmax(0,1fr)}.serial-terminal-card--shell{min-height:0}#terminal,.serial-terminal-card--shell .serial-terminal-wrap,.serial-terminal-wrap{min-height:18rem}}.serial-confirm-dialog__box{border-radius:var(--web-host-panel-radius);background:var(--bg-elevated);width:100%;max-width:22rem;box-shadow:0 1rem 3rem color-mix(in srgb, var(--text-main) 14%, transparent);opacity:0;flex-shrink:0;margin-block:auto;padding:1.25rem 1.35rem;transition:opacity .22s ease-out,transform .22s ease-out;transform:translateY(12px)scale(.98)}.serial-confirm-dialog.open .serial-confirm-dialog__box{opacity:1;transform:translateY(0)scale(1)}.serial-confirm-dialog__title{font-size:var(--type-scale-body);color:var(--text-main);margin:0 0 .5rem}.serial-confirm-dialog__desc{font-size:var(--type-scale-label);color:var(--text-muted);margin:0 0 1.15rem;line-height:1.5}.serial-confirm-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.xterm{cursor:text;-webkit-user-select:none;-ms-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:underline double}.xterm-underline-3{text-decoration:underline wavy}.xterm-underline-4{text-decoration:underline dotted}.xterm-underline-5{text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
