:root{color-scheme:light;--bg: #eef1f4;--surface: #ffffff;--surface-muted: #f6f7f9;--line: #d7dde4;--text: #17202a;--muted: #687381;--accent: #0f766e;--accent-strong: #0b5e58;--blue: #2563eb;--amber: #b45309;--red: #b42318;--green: #15803d;--shadow: 0 18px 44px rgba(18, 28, 45, .1)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:linear-gradient(180deg,#ffffffbd,#eef1f4eb),var(--bg);color:var(--text);font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif;line-height:1.45}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}[hidden]{display:none!important}.app-shell{display:grid;grid-template-columns:18rem minmax(0,1fr);grid-template-rows:auto 1fr auto;min-height:100vh}.site-footer{grid-column:1 / -1;padding:.85rem 1.25rem 1.1rem;border-top:1px solid var(--line);background:#ffffffb8;text-align:center}.site-footer p{margin:0;color:var(--muted);font-size:.8rem}.site-footer a{color:var(--accent);font-weight:700;text-decoration:none}.site-footer a:hover{color:var(--accent-strong);text-decoration:underline}.topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line);background:#ffffffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:5}.brand-block,.topbar-actions,.panel-heading,.mode-row,.preset-row,.command-preview,.chart-meta,.send-grid{display:flex;align-items:center}.brand-block{gap:1rem;min-width:0}.brand-logo{display:block;flex:0 0 auto;height:3.25rem;width:auto;max-width:min(100%,20rem)}h1,h2,p{margin:0}h1{font-size:1.25rem;letter-spacing:0}h2{font-size:1rem;letter-spacing:0}.brand-block p,.panel-heading p,.device-item small,.chart-meta,label{color:var(--muted)}.brand-block p,.panel-heading p{font-size:.86rem}.brand-block p{padding-left:.15rem;white-space:nowrap}.topbar-actions{justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.primary-button,.icon-button,.ghost-button,.panel-actions button,.chart-settings button,.preset-row button,.command-preview button,.send-grid button{min-height:2.4rem;border-radius:.45rem;padding:0 .85rem;font-weight:700;transition:transform .14s ease,background .14s ease,border-color .14s ease}.primary-button{display:inline-flex;align-items:center;gap:.45rem;background:var(--accent);color:#fff}.primary-button:hover,.panel-actions button:hover,.chart-settings button:not(.ghost-button):hover,.action-link:hover,.request-template button:hover,.command-preview button:hover,.send-grid button:hover{background:var(--accent-strong)}.icon-button{min-width:2.4rem;padding:0;background:#fff;color:var(--text);border:1px solid var(--line)}.icon-button:hover,.ghost-button:hover,.preset-row button:hover{border-color:#aeb9c7;background:var(--surface-muted)}.ghost-button{background:#fff;color:var(--text);border:1px solid var(--line)}.state-pill,.status-dot{display:inline-flex;align-items:center;gap:.35rem;min-height:1.8rem;border-radius:99rem;padding:0 .7rem;background:#e8f3f1;color:var(--accent-strong);font-size:.82rem;font-weight:750;white-space:nowrap}.state-pill.warning{background:#fff3dd;color:var(--amber)}.state-pill.connected{background:#e3f6ea;color:var(--green)}.status-dot:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--muted)}.status-dot.connected:before{background:var(--green)}.sidebar{display:grid;gap:.65rem;align-content:start;padding:.75rem;border-right:1px solid var(--line)}.sidebar .panel{padding:.75rem}.sidebar-panel-heading{width:100%;margin-bottom:.55rem}.sidebar-panel-title{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.sidebar-collapse-toggle{flex-shrink:0;width:2rem;height:2rem;padding:0;font-size:.95rem;line-height:1}.sidebar-panel.collapsed .sidebar-panel-heading{margin-bottom:0}.sidebar-panel.collapsed .sidebar-panel-body{display:none}.sidebar-panel-body{display:grid;gap:inherit}.sidebar-panel[data-sidebar-panel=project] .sidebar-panel-body,.sidebar-panel[data-sidebar-panel=library] .sidebar-panel-body{gap:.65rem}.sidebar-panel-body>label:first-child{margin-top:0}.device-shell{display:none}.device-shell.active{display:flex;align-items:flex-start;gap:1rem;min-height:calc(100vh - 9.5rem)}.device-shell .device-page{display:none}.device-shell .device-page.active{display:flex;flex:0 1 minmax(22rem,42%);flex-direction:column;gap:1rem;min-width:0}.device-shell.active .control-panel,.device-shell.active .custom-panel{flex:0 0 auto;width:100%}.page-mount,.device-pages-mount,.workbench-mount{display:contents}.boot-error{margin:1rem;padding:.85rem 1rem;border:1px solid #d14343;border-radius:.5rem;background:#fff5f5;color:#8b1e1e;font-weight:700}.workspace{padding:1rem}.page{display:none}.page.active{display:grid;gap:1rem}.home-page,.request-page{grid-template-columns:minmax(0,1fr)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;box-shadow:var(--shadow);padding:1rem}.sidebar .panel+.panel,.workspace .panel{margin-top:0}.panel-title-block{display:flex;align-items:flex-start;gap:.65rem;min-width:0}.device-inline-thumb{width:2.35rem;height:2.35rem;object-fit:contain;border:1px solid var(--line);border-radius:.42rem;background:var(--surface-muted);flex-shrink:0}.device-workbench-column{display:flex;flex:1 1 minmax(24rem,58%);flex-direction:column;gap:1rem;align-self:stretch;min-width:0;min-height:0}.chart-panel{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.device-workbench-column .console-panel{flex:0 0 auto}.chart-panel-body,.chart-view{display:flex;flex:1;flex-direction:column;min-height:0}.panel-heading{justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.panel-heading.split{align-items:flex-start}.panel-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.poll-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.chart-panel .panel-heading.split{flex-wrap:wrap}.panel-actions button,.action-link,.request-template button{display:inline-flex;align-items:center;justify-content:center;min-height:2.4rem;border-radius:.45rem;padding:0 .85rem;background:var(--accent);color:#fff;font-weight:800;text-decoration:none}.panel-actions .ghost-button{background:#fff;color:var(--text)}label{display:grid;gap:.35rem;margin-top:.75rem;font-size:.82rem;font-weight:700}select,input[type=text],input[type=number],textarea,output{width:100%;min-height:2.45rem;border:1px solid var(--line);border-radius:.4rem;background:#fff;color:var(--text);padding:0 .7rem}textarea{min-height:14rem;padding:.7rem;resize:vertical}output{display:flex;align-items:center;font-size:.86rem;font-weight:750;overflow-wrap:anywhere}select:focus,input:focus,button:focus-visible{outline:3px solid rgba(37,99,235,.18);outline-offset:2px;border-color:var(--blue)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.config-grid,.template-grid,.parser-test{display:grid;gap:.65rem}.config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.config-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.template-grid{grid-template-columns:7rem 7rem minmax(12rem,1fr)}.template-input,.regex-input{grid-column:span 2}.parser-test{grid-template-columns:minmax(12rem,1fr) 5rem minmax(10rem,.8fr);align-items:end;margin-top:.7rem}.parser-test button{min-height:2.45rem;border-radius:.45rem;background:var(--accent);color:#fff;font-weight:800}.parser-test button:hover{background:var(--accent-strong)}.subsection-heading{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}.subsection-heading h3{margin:0;font-size:.95rem}.subsection-heading span{color:var(--muted);font-size:.8rem;font-weight:700}.device-panel{display:grid;gap:.65rem}.device-library-search{display:grid;gap:.35rem;margin:0;font-size:.82rem;font-weight:700}.device-library-search input{width:100%;border:1px solid var(--line);border-radius:.45rem;padding:.45rem .55rem;background:#fff;color:var(--text)}.device-library{display:grid;gap:.5rem;max-height:min(20rem,40vh);overflow-y:auto;padding-right:.15rem}.hart-device-info{margin-bottom:.75rem}.hart-variable-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem}.hart-value-card{display:grid;gap:.2rem;padding:.75rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface-muted)}.hart-value-card[data-hart-card=pv]{border-color:#0f766e47}.hart-value-card[data-hart-card=sv]{border-color:#2563eb47}.hart-value-card[data-hart-card=tv]{border-color:#b4530947}.hart-value-card[data-hart-card=qv]{border-color:#9c27b047}.hart-value-subtitle{color:var(--muted);font-size:.72rem}.hart-command-response{display:grid;gap:.35rem;margin-bottom:.85rem;padding:.75rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface-muted)}.hart-command-response-label{color:var(--muted);font-size:.82rem;font-weight:700}.hart-command-response code{white-space:pre-wrap;word-break:break-word;font-size:.82rem;line-height:1.45}.hart-value-label{color:var(--muted);font-size:.82rem;font-weight:700}.hart-value-readout{font-size:1.15rem;line-height:1.2}.hart-value-unit{color:var(--muted);font-size:.8rem}.hart-frame-meta{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;margin:0 0 .85rem;padding:.55rem .75rem;border:1px dashed var(--line);border-radius:.5rem;font-size:.82rem;color:var(--muted)}.hart-frame-meta code{font-size:.82rem;color:var(--text)}.hart-chart-series{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:center;margin-top:.35rem}.hart-chart-series-label{color:var(--muted);font-size:.82rem;font-weight:700}.hart-chart-series label{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:.85rem}.hart-device-info code{display:block;padding:.55rem .65rem;border:1px solid var(--line);border-radius:.45rem;background:var(--surface-muted);color:var(--text);font-size:.82rem;overflow-wrap:anywhere}.device-library-empty{margin:0;padding:.65rem .75rem;border:1px dashed var(--line);border-radius:.45rem;color:var(--muted);font-size:.85rem;text-align:center}.home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;align-items:stretch}.home-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;width:100%;border:1px solid var(--line);border-radius:.5rem;background:#fff;color:var(--text);padding:.85rem;text-align:left}.home-card-body{display:grid;gap:.35rem;min-width:0}.home-card:hover{border-color:#0f766e73;background:#f0fbf8}.home-card strong{font-size:1rem}.home-card span,.architecture-card p{color:var(--muted);font-size:.88rem}.arch-diagram{display:grid;justify-items:center;gap:.45rem;margin:1rem 0}.arch-node{display:grid;gap:.15rem;place-items:center;text-align:center;width:100%;max-width:24rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface-muted);color:var(--text);font-weight:800}.arch-node small{font-weight:600;font-size:.74rem;color:var(--muted)}.arch-core{border-color:var(--blue);background:var(--surface)}.arch-arrow{color:var(--muted);font-weight:800;font-size:.85rem;line-height:1}.arch-split{display:flex;justify-content:center;gap:clamp(2rem,28%,9rem)}.arch-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%}.arch-group{display:grid;justify-items:center;gap:.4rem;padding:.75rem;border:1px dashed var(--line);border-radius:.6rem}.arch-group-title{font-size:.78rem;font-weight:800;color:var(--blue)}.arch-group .arch-node{max-width:none}.request-template{display:grid;grid-template-columns:minmax(0,1fr) 7rem;gap:.75rem;align-items:end}.device-item{display:grid;grid-template-columns:2.3rem minmax(0,1fr);align-items:center;gap:.55rem;width:100%;border:1px solid var(--line);border-radius:.45rem;background:#fff;color:var(--text);padding:.55rem .6rem;text-align:left}.device-item.active{border-color:#0f766e6b;background:#f0fbf8}.device-item strong,.device-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-icon{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:.42rem;background:var(--text);color:#fff;font-weight:800;overflow:hidden}.device-icon.has-image{background:var(--surface-muted);border:1px solid var(--line)}.device-icon img{display:block;width:100%;height:100%;object-fit:contain}.device-item.upcoming .device-icon{background:var(--muted)}.step-sequence-panel{display:grid;gap:.75rem}.step-sequence-list{display:grid;gap:.5rem}.step-sequence-item{display:grid;grid-template-columns:3rem minmax(0,1fr) 4.5rem;gap:.5rem;align-items:center}.step-sequence-item strong{font-size:.82rem;color:var(--muted)}.step-sequence-item button{min-height:2.35rem;border-radius:.4rem;background:#fff;color:var(--text);border:1px solid var(--line)}.step-sequence-actions{flex-wrap:wrap}.field-hint{margin:0;font-size:.78rem;color:var(--muted)}.waveform-params{margin-top:.75rem}.waveform-params .preset-row{margin-top:.5rem}.mode-row{width:100%;gap:.5rem;padding:.25rem;border-radius:.5rem;background:var(--surface-muted);border:1px solid var(--line)}.mode-row label{width:100%;margin-top:0}.mode-row select{margin-top:0}.segmented-option{position:relative;flex:1;margin:0}.segmented-option input{position:absolute;opacity:0;pointer-events:none}.segmented-option span{display:grid;place-items:center;min-height:2.35rem;border-radius:.38rem;color:var(--muted);font-weight:800}.segmented-option input:checked+span{background:#fff;color:var(--accent-strong);box-shadow:0 1px 4px #121c2d21}.setpoint-row{margin-top:1rem}.range-label{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.range-label strong{color:var(--text);font-size:1.15rem}input[type=range]{width:100%;accent-color:var(--accent);margin:.85rem 0}.numeric-entry{display:grid;grid-template-columns:minmax(0,1fr) 3rem;align-items:center;gap:.5rem}.numeric-entry span{color:var(--muted);font-weight:800}.preset-row{gap:.5rem;margin-top:.85rem}.preset-row button{flex:1;border:1px solid var(--line);background:#fff;color:var(--text)}.debug-stat-grid,.mqtt-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem}.debug-stat,.mqtt-stat{display:grid;gap:.2rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:.5rem;background:#fbfcfd;min-width:0}.debug-stat.wide{grid-column:span 2}.debug-stat strong,.mqtt-stat strong{font-size:1.05rem;color:var(--accent-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-stat span,.mqtt-stat span{color:var(--muted);font-size:.82rem;font-weight:650}.debug-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.85rem}.debug-template-card{display:grid;gap:.6rem;min-width:0;padding:.75rem;border:1px solid var(--line);border-radius:.5rem;background:#fff}.debug-template-heading,.debug-template-actions,.debug-preview{display:flex;align-items:center;gap:.55rem}.debug-template-heading{justify-content:space-between}.debug-template-heading strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.debug-template-heading span{flex-shrink:0;padding:.1rem .45rem;border-radius:99rem;background:#eef2ff;color:var(--blue);font-size:.72rem;font-weight:850}.debug-template-card code{display:block;min-height:2.3rem;max-height:4.9rem;overflow:auto;padding:.55rem .6rem;border:1px solid #dbe4ea;border-radius:.42rem;background:var(--surface-muted);font-size:.78rem;line-height:1.45;white-space:pre-wrap}.debug-template-actions{justify-content:flex-end}.debug-template-actions button{min-height:2.25rem;border-radius:.42rem;padding:0 .7rem;font-weight:800}.debug-template-actions button:not(.ghost-button){background:var(--accent);color:#fff}.debug-preview{justify-content:space-between;margin-top:.75rem;padding:.7rem .75rem;border:1px dashed #b8c2ce;border-radius:.5rem;background:#fbfcfd}.debug-preview span{flex-shrink:0;color:var(--muted);font-size:.78rem;font-weight:800}.debug-preview code{min-width:0;flex:1;color:var(--text);font-size:.82rem}.debug-preview code.error,output.warning{color:var(--red)}.mqtt-curve-config,.chart-curve-config{display:grid;gap:.75rem;margin-top:.85rem}.chart-curve-panel{margin-top:.85rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface-muted)}.chart-curve-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.55rem .65rem;border-bottom:1px solid var(--line)}.chart-curve-panel.collapsed .chart-curve-panel-header{border-bottom:none}.chart-curve-panel-toggle{display:flex;align-items:center;gap:.55rem;min-width:0;flex:1;padding:.15rem 0;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.chart-curve-panel-title{font-size:.88rem;font-weight:800}.chart-curve-panel-summary{min-width:0;overflow:hidden;color:var(--muted);font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.chart-curve-panel-chevron{flex-shrink:0;color:var(--muted);font-size:.82rem;transition:transform .15s ease}.chart-curve-panel.collapsed .chart-curve-panel-chevron{transform:rotate(-90deg)}.chart-curve-help-button{flex-shrink:0;min-height:1.85rem}.chart-curve-panel-body{display:grid;gap:.85rem;padding:.85rem}.chart-curve-section{display:grid;gap:.75rem}.chart-curve-section-note{margin:0;color:var(--muted);font-size:.82rem}.subsection-heading.compact{margin-top:0}.subsection-heading.compact h3{font-size:.88rem}.chart-curve-help-dialog{width:min(48rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;border:1px solid var(--line);border-radius:.55rem;background:var(--surface);color:var(--text)}.chart-curve-help-dialog::backdrop{background:#10182073}.chart-curve-help-shell{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:calc(100vh - 2rem)}.chart-curve-help-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .95rem;border-bottom:1px solid var(--line)}.chart-curve-help-header h3{margin:0;font-size:1rem}.chart-curve-help-content{overflow:auto;padding:.95rem}.chart-curve-help-content .protocol-example-grid{margin-top:.35rem}.chart-curve-panel .hart-chart-series,.chart-curve-panel .parser-test{margin-top:0}.curve-config-list,.protocol-doc{display:grid;gap:.75rem}.curve-config-row{display:flex;flex-wrap:wrap;gap:.65rem;padding:.8rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface-muted)}.curve-config-row label,.curve-config-row .curve-row-actions{flex:1 1 9rem;min-width:min(100%,9rem)}.curve-config-row label{margin-top:0}.curve-mode-fields{display:contents}.curve-mode-fields>label{margin-top:0}.curve-toggle{display:flex;align-items:center;align-self:stretch;justify-content:space-between;gap:.75rem}.curve-toggle input[type=checkbox]{width:1rem;min-height:1rem;margin:0}.curve-row-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.curve-row-actions .curve-toggle{flex:1;min-width:0}.curve-remove-button{flex-shrink:0;min-height:1.75rem;padding:0 .55rem;font-size:.78rem}.add-curve-button{justify-self:start}.protocol-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.protocol-example-card{display:grid;gap:.55rem;padding:.85rem;border:1px solid var(--line);border-radius:.5rem;background:#fbfcfd}.protocol-example-card h3{margin:0;font-size:.92rem}.protocol-example-card p,.protocol-note span{color:var(--muted);font-size:.82rem}.protocol-example-card pre{margin:0;overflow:auto;padding:.7rem;border:1px solid #dbe4ea;border-radius:.42rem;background:var(--surface-muted);font-size:.78rem;line-height:1.5;white-space:pre-wrap}.protocol-note{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem .8rem;border:1px dashed #b8c2ce;border-radius:.5rem;background:#fbfcfd}.protocol-note strong{flex-shrink:0;font-size:.82rem}.command-preview{justify-content:space-between;gap:.75rem;margin-top:1rem;padding:.8rem;border:1px dashed #b8c2ce;border-radius:.5rem;background:#fbfcfd}.command-preview span{display:block;color:var(--muted);font-size:.78rem;font-weight:800}code{color:var(--text);word-break:break-all}.command-preview button,.send-grid button{background:var(--accent);color:#fff}.echart-host{width:100%;border:1px solid var(--line);border-radius:.45rem;background:#fbfcfd}.echart-host.line-host{flex:1;width:100%;min-height:14rem;height:auto}.dual-chart-stack{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr) auto;gap:.85rem}.chart-block{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.45rem;min-height:0}.chart-block-heading{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.86rem}.chart-block-heading strong{color:var(--text)}.chart-block-heading span{color:var(--muted);font-weight:700}.dual-chart-stack .echart-host.line-host{min-height:10.5rem;height:100%}.chart-meta{justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:.7rem;font-size:.82rem}.chart-settings{display:grid;grid-template-columns:minmax(6.5rem,1fr) minmax(6.5rem,1fr) minmax(0,1fr);gap:.65rem;align-items:end;margin-top:.85rem;padding-top:.85rem;border-top:1px solid #dbe4ea}.chart-settings-field{margin:0}.chart-settings-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}.chart-settings-actions>button:not(.ghost-button){background:var(--accent);color:#fff}.serial-log{height:18rem;overflow:auto;border:1px solid #cbd5df;border-radius:.45rem;background:#101820;color:#dce9e6;font-family:Cascadia Mono,Consolas,SFMono-Regular,monospace;font-size:.82rem;padding:.75rem}.log-line{display:grid;grid-template-columns:4.5rem 2.5rem minmax(0,1fr);gap:.55rem;padding:.18rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.log-line .time{color:#8da29c}.log-line .dir{font-weight:900}.log-line.rx .dir{color:#67e8f9}.log-line.tx .dir{color:#86efac}.log-line.info .dir{color:#facc15}.log-line.error .dir{color:#fca5a5}.log-line .payload{overflow-wrap:anywhere;white-space:pre-wrap}.send-grid{display:grid;grid-template-columns:7rem 7rem 1fr 5rem;grid-template-areas:"format ending . send" "command command command command";gap:.65rem;align-items:end;margin-top:.75rem}.send-grid>label:first-of-type{grid-area:format}.send-grid>label:nth-of-type(2){grid-area:ending}.send-command{grid-area:command;align-self:stretch}.send-grid>button{grid-area:send;align-self:end}.send-command textarea{min-height:4.5rem;max-height:12rem;overflow-y:auto;resize:vertical;padding:.55rem .7rem;font-family:Cascadia Mono,Consolas,SFMono-Regular,monospace;font-size:.86rem;line-height:1.45;white-space:pre}.send-grid label{margin:0}@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.brand-block{flex-direction:column;align-items:flex-start;gap:.35rem}.brand-block p{white-space:normal;padding-left:0;line-height:1.4}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.workspace{padding:1rem}.device-shell.active{flex-direction:column}.arch-columns{grid-template-columns:1fr}.device-shell .device-page.active,.device-workbench-column{flex:1 1 auto;width:100%}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.arch-split{gap:4rem}}@media(max-width:700px){.brand-logo{height:2.5rem}.topbar{align-items:flex-start;flex-direction:column}.home-grid{grid-template-columns:1fr}.topbar-actions{width:100%;justify-content:stretch}.topbar-actions .primary-button{flex:1;justify-content:center}.send-grid{grid-template-columns:1fr 1fr;grid-template-areas:"format ending" "command command" "send send"}.send-grid>button{width:100%}.chart-settings{grid-template-columns:1fr}.chart-settings-actions{justify-content:stretch}.chart-settings-actions button{flex:1 1 calc(50% - .35rem)}.config-grid,.config-grid.compact,.template-grid,.debug-stat-grid,.debug-template-grid,.parser-test,.protocol-example-grid,.request-template{grid-template-columns:1fr}.curve-config-row label,.curve-config-row .curve-row-actions{flex:1 1 100%;min-width:100%}.template-input,.regex-input,.debug-stat.wide{grid-column:auto}.panel-actions,.subsection-heading,.command-preview,.debug-preview,.range-label,.chart-meta{align-items:stretch;flex-direction:column}}
