:root{color-scheme:dark;--bg: #101418;--bg-deep: #0b0e12;--panel: #141920;--line: #232a33;--line-strong: #2f3843;--line-control: #4a5561;--fg: #d7dde5;--fg-strong: #f5f7fa;--muted: #8b97a5;--accent: #ffb454;--accent-ink: var(--bg);--focus: var(--accent);--live: #5cff8a;--live-glow: 0 0 8px rgba(92, 255, 138, .7);--live-glow-dim: 0 0 3px rgba(92, 255, 138, .4);--live-bg: rgba(92, 255, 138, .12);--warn: var(--accent);--warn-bg: rgba(255, 180, 84, .1);--err: #ff5f56;--err-bg: rgba(255, 95, 86, .12);--err-btn: #cf3b2e;--rec: var(--err-btn);--trace-fwd: #ffb454;--trace-refl: #6ec3ff;--image-bg: #000;--scrim: rgba(11, 14, 18, .85);--danger-ink: #ffffff;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "Space Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs: 13px;--space: 4px;--radius: 3px;--shadow: 0 12px 40px rgba(0, 0, 0, .55);--topbar-h: 44px;--statusbar-h: 28px}@keyframes tcp-glow{0%,to{box-shadow:var(--live-glow)}50%{box-shadow:var(--live-glow-dim)}}@keyframes tcp-blink{0%,60%{opacity:1}61%,to{opacity:.25}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-ui);font-size:var(--fs);-webkit-font-smoothing:antialiased}button,input{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.app{display:grid;grid-template-rows:var(--topbar-h) auto 1fr;height:100%}.topbar{display:flex;align-items:center;gap:calc(var(--space) * 3);padding:0 calc(var(--space) * 4);background:var(--bg-deep);border-bottom:1px solid var(--line)}.topbar .brand{font-weight:600;color:var(--fg-strong);letter-spacing:.02em}.topbar .brand-abbr{display:none}.topbar .brand .amp{color:var(--accent)}.topbar .device{color:var(--muted);font-family:var(--font-mono);font-size:12px}.topbar .build{color:var(--muted);opacity:.55;font-family:var(--font-mono);font-size:11px}.topbar .build .ver{color:var(--fg-strong);opacity:.9;font-weight:600}.topbar .spacer{flex:1}.viewtabs{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;margin-right:calc(var(--space) * 2)}.viewtabs button{background:transparent;color:var(--muted);border:none;padding:5px 12px;cursor:pointer;font-size:12px;font-family:var(--font-ui)}.viewtabs button:hover{color:var(--fg)}.viewtabs button.active{background:var(--panel);color:var(--fg-strong)}.op-field{display:inline-flex;align-items:center;gap:var(--space);color:var(--muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.op-field input{width:190px;padding:4px 8px;font-size:11px;text-transform:none;letter-spacing:0;background:var(--bg-deep);border:1px solid var(--line-control);border-radius:var(--radius);color:var(--fg)}.pill{display:inline-flex;align-items:center;gap:var(--space);padding:3px 10px;border-radius:999px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line-strong)}.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.pill.connected{color:var(--live);border-color:var(--live)}.pill.connected .dot{background:var(--live);box-shadow:var(--live-glow)}.pill.disconnected{color:var(--muted)}.pill.fault{color:var(--err);border-color:var(--err)}.pill.fault .dot{background:var(--err);animation:tcp-blink 1s infinite}.pill{background:transparent;cursor:pointer}.pill:hover{border-color:var(--line-control)}.pill-caret{font-size:9px;opacity:.7;margin-left:2px}.connect-wrap{position:relative;display:inline-flex}.connect-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:330px;background:var(--panel);border:1px solid var(--line-strong);border-radius:6px;box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column;gap:14px;text-transform:none;letter-spacing:normal;font-size:13px;white-space:normal}.connect-head{display:flex;justify-content:space-between;align-items:center}.pop-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px}.connect-sec{display:flex;flex-direction:column;gap:6px}.connect-sec .field-label{margin:0 0 2px}.connect-warn{font-size:11px;line-height:1.4;color:var(--warn);padding:6px 8px;border:1px solid var(--warn);border-radius:4px;background:var(--warn-bg)}.connect-row{display:flex;gap:6px;align-items:center}.connect-row>input{flex:1;min-width:0}.connect-row-head{justify-content:space-between}.connect-current{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:12px;color:var(--live)}.port-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.port-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:4px}.port-info{min-width:0}.port-name{font-size:12px;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.port-info code{font-size:11px;color:var(--muted)}.errbox{font-size:12px;color:var(--err);border:1px solid var(--err);border-radius:4px;padding:6px 8px;background:var(--err-bg)}.connect-version{font-size:10px;color:var(--muted);text-align:center;padding-top:8px;border-top:1px solid var(--line);letter-spacing:.02em}.banner{padding:calc(var(--space) * 2) calc(var(--space) * 4);font-size:13px}.banner.fault{background:var(--err-bg);color:var(--err);border-bottom:1px solid var(--err)}.banner.warn{background:var(--warn-bg);color:var(--warn);border-bottom:1px solid var(--warn)}.banner strong{font-family:var(--font-mono)}.alert-popups{position:fixed;left:16px;bottom:16px;z-index:60;display:flex;flex-direction:column;gap:8px;max-width:min(460px,calc(100vw - 32px));pointer-events:none}.alert-popups .banner{pointer-events:auto;border:1px solid currentColor;border-radius:var(--radius);box-shadow:var(--shadow);padding:calc(var(--space) * 2) calc(var(--space) * 3)}.banner-action{margin-left:calc(var(--space) * 2);padding:2px 10px;font-size:12px;font-weight:600;cursor:pointer;color:var(--err);background:transparent;border:1px solid var(--err);border-radius:var(--radius)}.banner-action:hover{background:var(--err);color:var(--err-bg)}.update-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:calc(var(--space) * 2);max-width:min(94vw,940px);padding:8px 12px;font-size:12px;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:0 6px 20px #00000059}.update-banner .msg{line-height:1.4}.update-banner .cmd{font-family:var(--font-mono);background:var(--bg-deep);color:var(--fg);padding:3px 8px;border-radius:4px;white-space:nowrap;overflow-x:auto;max-width:46ch}.update-banner button{cursor:pointer;border-radius:var(--radius);font-size:12px;padding:2px 10px;border:1px solid var(--accent-ink);background:transparent;color:var(--accent-ink)}.update-banner button:hover{background:var(--accent-ink);color:var(--accent)}.update-banner .x{border:none;font-size:16px;line-height:1;padding:0 6px}.banner.startup{background:var(--warn-bg);color:var(--fg);border:1px solid var(--warn);border-radius:var(--radius);margin:0 0 12px;line-height:1.5}.banner.startup strong{color:var(--warn)}.lock-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--fg);background:var(--bg-deep);border:1px solid var(--line-control);border-radius:var(--radius);padding:6px 10px}.btn.estop{background:var(--err-btn);border-color:var(--err-btn);color:#fff;font-weight:800;font-size:17px;letter-spacing:.08em;padding:13px 0}.btn.estop:hover:not(:disabled){filter:brightness(1.1)}.main{display:grid;grid-template-columns:1fr 340px;gap:calc(var(--space) * 4);padding:calc(var(--space) * 4);overflow:auto}.col{display:flex;flex-direction:column;gap:calc(var(--space) * 4);min-width:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:calc(var(--space) * 4)}.panel>h2{margin:0 0 calc(var(--space) * 3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--space) * 3)}.readout{background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--radius);padding:calc(var(--space) * 3) calc(var(--space) * 4)}.readout .label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.readout .value{font-family:var(--font-mono);font-size:30px;font-weight:500;color:var(--fg-strong);line-height:1.15;margin-top:2px}.readout .value.rf-on{color:var(--live);text-shadow:var(--live-glow-dim)}.readout.zone-warn .value{color:var(--warn)}.readout.zone-trip .value{color:var(--err)}.gen-panel .readout .value{font-size:18px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);max-width:520px;width:100%;padding:20px 22px;box-shadow:0 10px 40px #00000080}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0}.modal-close{background:none;border:0;color:var(--muted);font-size:16px;cursor:pointer;padding:4px 8px}.modal-close:hover{color:var(--fg)}.modal-lead{font-size:14px;line-height:1.5;color:var(--fg);margin:10px 0 12px}.modal-lead strong{color:var(--warn)}.modal-steps{margin:0 0 16px;padding-left:20px;font-size:13px;line-height:1.6;color:var(--fg)}.modal-steps li{margin:2px 0}.gauge{position:relative;height:14px;border-radius:999px;background:var(--bg-deep);border:1px solid var(--line);overflow:hidden;margin-top:calc(var(--space) * 2)}.gauge .fill{height:100%;background:var(--live);transition:width .12s linear}.gauge .fill.warn{background:var(--warn)}.gauge .fill.trip{background:var(--err)}.power-row{display:grid;align-items:stretch;grid-template-columns:minmax(180px,.85fr) minmax(240px,1.1fr) minmax(190px,1fr)}.power-row>div{display:flex;flex-direction:column;min-width:0;padding:0 20px;border-left:1px solid var(--line-strong)}.power-row>div:first-child{padding-left:0;border-left:0}.power-row>div:last-child{padding-right:0}.power-row .field-label{margin-bottom:8px}.rfcontrol-box .hint{margin-top:8px}.setpoint-entry{display:flex;align-items:center;gap:10px;margin-top:2px}.setpoint-input{width:132px;font-size:26px;font-family:var(--font-mono);text-align:center;padding:8px 10px;border-color:var(--accent)}.setpoint-unit{font-family:var(--font-mono);font-size:14px;color:var(--muted)}.setpoint-box .btn.accent{padding:10px 20px}.setpoint-box .hint{margin:6px 0 0}.setpoint-nudge{display:flex;gap:6px;margin-top:8px}.setpoint-nudge .step-btn{flex:1 1 0;width:auto;min-width:46px;font-size:15px;padding:8px 0}.setpoint-ramp{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:14px}.setpoint-ramp input[type=number]{width:52px;text-align:right}.setpoint-ramp .cap-name{width:auto}.ramp-status{min-height:1.2em;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switch{position:relative;display:inline-flex;width:40px;height:22px;flex:0 0 auto}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.switch-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-deep);border:1px solid var(--line-control);border-radius:999px;transition:background .12s}.switch-slider:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .12s,background .12s}.switch input:checked+.switch-slider{background:var(--accent);border-color:var(--accent)}.switch input:checked+.switch-slider:before{transform:translate(18px);background:#10131a}.switch input:disabled+.switch-slider{opacity:.5}.ramp-badge{font-family:var(--font-mono);font-size:12px;font-weight:700;color:#10131a;background:var(--accent);border-radius:999px;padding:2px 10px;letter-spacing:.03em;line-height:1;align-self:center;animation:tcp-blink 1.4s infinite}.revmeter-box{justify-content:flex-start}.revmeter{display:flex;flex-direction:column;align-items:stretch;gap:10px}.revmeter-value{font-family:var(--font-mono);font-size:30px;font-weight:700;color:var(--fg);line-height:1}.revmeter-value.zone-warn{color:var(--warn)}.revmeter-value.zone-trip{color:var(--err)}.revmeter-track{position:relative;width:100%;height:12px;border-radius:999px;background:var(--bg-deep);overflow:hidden}.revmeter-fill{height:100%;background:var(--live);transition:width .12s linear}.revmeter-fill.warn{background:var(--warn)}.revmeter-fill.trip{background:var(--err)}.revmeter-mark{position:absolute;top:0;width:2px;height:12px;opacity:.7}.revmeter-mark.warn{background:var(--warn)}.revmeter-legend{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.gauge-ticks{position:relative;height:16px;margin-top:2px;font-family:var(--font-mono);font-size:9px;color:var(--muted)}.gauge-ticks .tick{position:absolute;transform:translate(-50%)}.gauge-legend{display:flex;justify-content:space-between;color:var(--muted);font-family:var(--font-mono);font-size:10px;margin-top:calc(var(--space) * 2)}.plot{width:100%;height:200px;display:block;background:var(--image-bg);border:1px solid var(--line);border-radius:var(--radius)}.plot-legend{display:flex;gap:calc(var(--space) * 4);margin-top:var(--space);font-family:var(--font-mono);font-size:10px;color:var(--muted)}.plot-legend .swatch{display:inline-block;width:10px;height:3px;margin-right:6px;vertical-align:middle}.plot-legend .fwd{background:var(--trace-fwd)}.plot-legend .refl{background:var(--trace-refl)}.control{margin-bottom:calc(var(--space) * 4)}.control:last-child{margin-bottom:0}.control .row{display:flex;gap:var(--space);align-items:center}.field-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:block;margin-bottom:var(--space)}input[type=number]{background:var(--bg-deep);border:1px solid var(--line-control);border-radius:var(--radius);padding:8px 10px;width:100%;font-family:var(--font-mono)}input[type=range]{width:100%;accent-color:var(--accent)}.slider-val{font-family:var(--font-mono);color:var(--fg-strong);min-width:48px;text-align:right}.btn{border:1px solid var(--line-control);background:var(--panel);color:var(--fg);padding:9px 14px;border-radius:var(--radius);cursor:pointer;font-weight:500}.btn:hover{border-color:var(--fg)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.danger{background:transparent;color:var(--err);border-color:var(--err);font-weight:700}.btn.danger:hover:not(:disabled){background:var(--err-btn);border-color:var(--err-btn);color:var(--danger-ink)}.btn.rec{background:var(--rec);color:var(--danger-ink);border-color:var(--rec)}.btn.full{width:100%}.btn.arm-btn{background:var(--live);color:var(--bg);border-color:var(--live);font-weight:800;letter-spacing:.04em}.btn.arm-btn:hover:not(:disabled){filter:brightness(1.08)}.btn.disarm-btn{background:var(--live-bg);color:var(--live);border-color:var(--live);font-weight:700;letter-spacing:.03em}.btn.disarm-btn:hover:not(:disabled){background:transparent;color:var(--fg-strong)}.toggle{display:flex;align-items:center;gap:var(--space)}.toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);padding:8px 16px;border-radius:var(--radius);box-shadow:var(--shadow);font-size:12px;font-weight:600}.toast.ok{background:var(--live);color:var(--bg)}.toast.err{background:var(--err-btn);color:#fff}.toast.warn{background:var(--accent);color:var(--bg)}.hint{color:var(--muted);font-size:11px;margin-top:var(--space);line-height:1.4}.mono{font-family:var(--font-mono)}.gauge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.gauge-card{background:#fbfbf9;border:1px solid #b9bdc2;border-radius:3px;padding:3px 3px 4px;text-align:center}.gauge-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#4a4f55;font-weight:700}.gauge-svg{width:100%;height:auto;display:block;margin:0}.gauge-needle{transition:transform .24s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion: reduce){.gauge-needle{transition:none}}.gauge-readout{font-family:var(--font-mono);font-size:26px;color:#1a1d21;font-weight:700;line-height:1;margin-top:2px;font-variant-numeric:tabular-nums}.gauge-unit{font-size:12px;color:#666;font-weight:500}.temp-row{display:flex;align-items:center;gap:16px}.temp-bar-wrap{flex:1}.temp-bar{height:10px;border-radius:5px;background:var(--line-strong);overflow:hidden}.temp-bar-fill{height:100%;border-radius:5px;transition:width .3s ease,background .3s ease}.temp-bar-legend{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:3px}.led-strip{display:flex;flex-wrap:wrap;gap:6px 14px}.led-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--fg)}.led{width:10px;height:10px;border-radius:50%;background:var(--line-strong);box-shadow:inset 0 0 2px #0009}.led-ok{background:var(--live);box-shadow:0 0 6px var(--live)}.led-warn{background:var(--warn);box-shadow:0 0 6px var(--warn)}.led-off{background:var(--line-strong)}.led-unknown .led{opacity:.35}.cap-row{display:flex;align-items:center;gap:6px;margin:4px 0}.cap-row .cap-name{width:74px;flex:0 0 74px;font-size:12px;color:var(--fg);white-space:nowrap}.cap-row input[type=number]{width:68px;text-align:right;padding-left:6px;padding-right:8px;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.cap-row input[type=number]::-webkit-outer-spin-button,.cap-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cap-readback{font-family:var(--font-mono);font-size:11px;color:var(--muted);min-width:54px}.cap-live-v{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap}.step-btn{width:30px;padding:6px 0;font-family:var(--font-mono);font-size:14px;line-height:1}.cap-head{align-items:baseline}.cap-now{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap}.cap-head .cap-readback{margin-left:auto}.cap-ctl{display:flex;align-items:center;gap:6px;margin:4px 0}.cap-v-input{width:72px;text-align:right;padding:6px 8px;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.cap-v-input::-webkit-outer-spin-button,.cap-v-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cap-vunit{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.cap-ctl-gap{flex:1}.cap-pct{font-family:var(--font-mono);font-size:13px;color:var(--fg);min-width:44px;text-align:center}.ramp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 10px}.ramp-field{display:flex;flex-direction:column;gap:3px}.ramp-field>span{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.ramp-field input[type=number]{width:100%;text-align:right}.ramp-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.ramp-actions .btn{flex:0 0 auto}.ramp-actions .hint{margin:0;flex:1 1 140px;align-self:center}.banner.experimental{background:var(--warn-bg);color:var(--fg);border:1px solid var(--warn);border-radius:var(--radius);padding:8px 12px;font-size:12px;margin:8px 0 12px;line-height:1.4}.banner.experimental strong{color:var(--warn)}.mt-readout{margin-top:10px;font-size:12px;color:var(--fg)}.mt-phase{font-weight:700;text-transform:uppercase;letter-spacing:.04em}.mt-phase.searching{color:var(--accent)}.mt-phase.holding{color:var(--warn)}.mt-phase.idle{color:var(--muted)}.mode-row{display:flex;align-items:center;gap:8px;margin:10px 0 4px;flex-wrap:wrap}.seg{display:inline-flex;flex-shrink:0;border:1px solid var(--line-control);border-radius:6px;overflow:hidden}.seg-btn{border:0;background:var(--panel);color:var(--muted);padding:5px 12px;font-size:11px;font-weight:700;letter-spacing:.04em;white-space:nowrap;cursor:pointer}.seg-btn.on{background:var(--accent);color:#10131a}.seg-btn:disabled{opacity:.5;cursor:default}.preset-bank{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}.preset-chip{display:inline-flex;align-items:stretch;border:1px solid var(--line-control);border-radius:6px;overflow:hidden}.preset-recall{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;background:var(--panel);color:var(--fg);padding:6px 10px}.preset-recall:disabled{cursor:default;opacity:.6}.preset-n{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--accent)}.preset-vals{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.preset-clear{border:0;border-left:1px solid var(--line-control);background:var(--panel);color:var(--muted);cursor:pointer;padding:0 8px;font-size:11px}.preset-clear:hover:not(:disabled){color:var(--err)}.preset-save{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.preset-save select{padding:5px 6px}@media (max-width: 1080px){.main,.power-row{grid-template-columns:1fr}.power-row>div{border-left:0;border-top:1px solid var(--line-strong);padding:14px 0 0}.power-row>div:first-child{border-top:0;padding-top:0}.gauge-grid{grid-template-columns:repeat(2,1fr)}}.help-toggle{background:transparent;color:var(--muted);border:1px solid var(--line-strong);border-radius:var(--radius);padding:4px 10px;font-size:11px;font-family:var(--font-ui);cursor:pointer;margin-right:calc(var(--space) * 2)}.help-toggle:hover{color:var(--fg)}.help-toggle.on{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.help-toggle.alarming{color:var(--err);border-color:var(--err);animation:alerts-pulse .9s steps(1) infinite}@keyframes alerts-pulse{50%{background:var(--err);color:var(--err-bg);border-color:var(--err)}}.help-off .hint:not(.mono){display:none}.help-off .help-text{display:none}.safety-rail{display:flex;align-items:center;gap:calc(var(--space) * 2);padding:calc(var(--space) * 2) calc(var(--space) * 4);background:var(--bg-deep);border-bottom:1px solid var(--line)}.safety-rail .btn{padding:6px 14px}.safety-rail .btn.estop{font-size:13px;letter-spacing:.06em;padding:6px 16px}.setup-help{overflow:auto;padding:calc(var(--space) * 6) calc(var(--space) * 4);display:flex;justify-content:center;align-items:flex-start}.setup-card{max-width:620px;width:100%}.setup-card h1{margin:10px 0 8px;font-size:18px;font-weight:600;color:var(--fg-strong)}.setup-card code{font-family:var(--font-mono);color:var(--fg-strong)}.setup-card .field-label{margin:4px 0 8px}.setup-status{display:inline-flex;align-items:center;gap:var(--space);padding:3px 10px;border-radius:999px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--err);border:1px solid var(--err);background:var(--err-bg)}.setup-status .dot{width:8px;height:8px;border-radius:50%;background:var(--err);animation:tcp-blink 1s infinite}.setup-note{color:var(--muted);font-size:12px;line-height:1.5;margin:6px 0 16px}.aid-note{color:var(--muted);font-size:12px;line-height:1.5;margin-top:8px}.aid-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:11px;margin-top:6px}.aid-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}.setup-cmd{display:flex;align-items:stretch;gap:6px}.setup-cmd-text{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;padding:10px 12px;background:var(--bg-deep);border:1px solid var(--line-strong);border-radius:var(--radius);font-size:12px;color:var(--fg-strong)}.setup-cmd-copy{flex:0 0 auto}.setup-card .connect-row input{flex:1;min-width:0;padding:8px 10px;color:var(--fg);background:var(--bg-deep);border:1px solid var(--line-control);border-radius:var(--radius)}.pill.warn{color:var(--warn);border-color:var(--warn)}.pill.warn .dot{background:var(--warn)}.pill.static{cursor:default}.pill.static:hover{border-color:currentColor}.pill.disconnected.static:hover{border-color:var(--line-strong)}.revmeter-mark.err{background:var(--err)}.sl-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.sl-head-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.sl-head h2{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sl-config{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.sl-head-actions{display:flex;gap:6px;align-items:center}.btn.icon{padding-left:9px;padding-right:9px}.btn.icon[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.sl-err{font-family:var(--font-mono);font-size:11px;color:var(--err);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl-drawer{margin-top:10px;padding:10px 12px;background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--radius)}.sl-drawer details{margin-top:8px}.sl-drawer summary{cursor:pointer;color:var(--muted);font-size:11px}.sl-banners{display:flex;flex-direction:column;gap:4px;margin-top:10px}.sl-banners .banner{border:1px solid currentColor;border-radius:var(--radius)}.sl-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:calc(var(--space) * 3);margin-top:10px}.sl-cards .readout{display:flex;flex-direction:column;gap:6px;min-width:0}.sl-cards .value{font-variant-numeric:tabular-nums;margin-top:0}.sl-cards .value .unit{font-size:14px;color:var(--muted);margin-left:6px}.sl-cards .value.muted{color:var(--muted);font-size:22px}.sl-note{font-family:var(--font-mono);font-size:13px;color:var(--muted);line-height:1.15;min-height:34.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sl-tag{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted)}.sl-sub{font-family:var(--font-mono);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.sl-sub strong{color:var(--fg);font-weight:500}.sl-label-row{display:flex;justify-content:space-between;align-items:center;gap:6px}.sl-secondary{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;align-items:baseline;font-family:var(--font-mono);font-size:12px;color:var(--fg);font-variant-numeric:tabular-nums}.sl-secondary .k{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-right:6px}.plot.sl-trend{height:110px;margin-top:10px}.plot-legend .ref-flux,.plot-legend .ref-probe{background:none;height:0;border-top:2px dashed}.plot-legend .ref-flux{border-color:var(--err)}.plot-legend .ref-probe{border-color:var(--warn)}.sl-table{width:100%;border-collapse:collapse;margin-top:10px;font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}.sl-table th{font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:right;padding:4px 8px;border-bottom:1px solid var(--line-strong)}.sl-table td{text-align:right;padding:4px 8px;border-bottom:1px solid var(--line);color:var(--fg)}.sl-table th:first-child,.sl-table td:first-child{text-align:left}.sl-table tr.active td{background:var(--live-bg);color:var(--fg-strong)}.sl-table .marker{display:inline-block;width:12px;color:var(--live)}.sl-table-empty{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:8px}.rec-path{margin-top:10px;display:flex;flex-direction:column;gap:4px}.rec-path-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.rec-path-text{font-size:11px;color:var(--fg-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rec-path-actions{display:flex;gap:6px}.rec-path-actions .btn{font-size:11px;padding:3px 9px}.sl-head-actions .btn{padding:4px 12px;font-size:12px}.sl-cards .revmeter-track{background:var(--line)}.sl-drawer input:not([type=number]){width:100%;padding:7px 10px;background:var(--panel);border:1px solid var(--line-control);border-radius:var(--radius);color:var(--fg)}.sl-drawer input::placeholder{color:var(--muted);opacity:.7}.dash-panel{position:relative}.dash-panel.dragging{opacity:.4}.dash-panel.drop-before:before,.dash-panel.drop-after:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--accent);z-index:3}.dash-panel.drop-before:before{top:calc(var(--space) * -2 - 1px)}.dash-panel.drop-after:after{bottom:calc(var(--space) * -2 - 1px)}.dash-controls{position:absolute;top:-9px;right:12px;display:flex;align-items:center;gap:2px;z-index:2;height:18px;padding:0 2px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.dash-grip{cursor:grab;color:var(--muted);font-size:13px;line-height:1;padding:0 4px;-webkit-user-select:none;user-select:none;opacity:.6;transition:opacity .12s,color .12s}.dash-grip:active{cursor:grabbing}.dash-chevron{background:transparent;border:none;color:var(--muted);font-size:11px;line-height:1;padding:0 4px;cursor:pointer;opacity:.6;transition:opacity .12s,color .12s}.dash-panel:hover .dash-grip,.dash-panel:hover .dash-chevron,.dash-controls:focus-within>*{opacity:1}.dash-grip:hover,.dash-chevron:hover{color:var(--fg)}.panel-collapsed{display:flex;align-items:center;gap:10px;min-height:44px;padding-top:calc(var(--space) * 2);padding-bottom:calc(var(--space) * 2)}.panel.panel-collapsed>h2{margin:0;flex:0 0 auto;white-space:nowrap}.panel-summary{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-mono);font-size:15px;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--fg-strong)}.panel-summary .sum-seg+.sum-seg:before{content:"·";padding:0 6px;color:var(--muted)}.panel-summary .sum-label{color:var(--muted)}.panel-summary .sum-val{font-weight:700}.panel-summary .tone-live .sum-val{color:var(--live)}.panel-summary .tone-warn .sum-val{color:var(--warn)}.panel-summary .tone-trip .sum-val{color:var(--err)}.panel-summary .tone-rec .sum-label,.panel-summary .tone-rec .sum-val{color:var(--rec)}.panel-summary .tone-muted .sum-val{color:var(--muted);font-weight:400}.col-tail{min-height:40px;border-radius:var(--radius)}.col-tail.drop-target{outline:2px dashed var(--accent);outline-offset:-2px}.layout-reset{grid-column:1 / -1;text-align:right}.layout-reset button{background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;text-decoration:underline}.layout-reset button:hover{color:var(--fg)}.rfclock{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;margin-right:12px}.rfclock-live{color:var(--live);font-weight:600}.rfclock-muted{color:var(--muted)}.rfclock-warn{color:var(--warn);opacity:.8}.hb{display:inline-flex;align-items:center;gap:6px;margin-right:12px;cursor:help;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--muted)}.hb-item{display:inline-flex;align-items:center;gap:4px}.hb-led{width:8px;height:8px;border-radius:50%;background:var(--muted);opacity:.45;animation:hb-blink .15s ease-out}.hb-ok .hb-led{background:var(--live);opacity:.55}.hb-slow .hb-led{background:var(--warn);opacity:.8}.hb-dead .hb-led{background:var(--err);opacity:1;animation:none}.hb-unknown .hb-led{animation:none}.hb-dead .hb-name{color:var(--err)}.hb-age{min-width:4.5em;font-variant-numeric:tabular-nums}@keyframes hb-blink{0%{opacity:1;box-shadow:var(--live-glow)}to{box-shadow:none}}.topbar{min-width:0}.topbar>*{flex:0 0 auto;white-space:nowrap}.topbar>.device{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar>.build{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar>.spacer{flex:1 1 0;min-width:0}.topbar>.rfclock,.topbar>.hb{margin-right:0}@media (max-width: 1200px){.topbar .build{display:none}}@media (max-width: 1140px){.topbar{gap:calc(var(--space) * 2);padding:0 calc(var(--space) * 3)}.topbar .brand-rest{display:none}}@media (max-width: 1080px){.topbar .device{display:none}}@media (max-width: 1000px){.topbar .hb-age{display:none}}@media (max-width: 960px){.topbar{gap:var(--space);padding:0 calc(var(--space) * 2)}.topbar .brand-name{display:none}.topbar .brand-abbr{display:inline}.topbar .btn-lbl{display:none}.viewtabs{margin-right:0}.viewtabs button{padding:5px 7px}}@media (max-width: 700px){.app{grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1fr)}.topbar{flex-wrap:wrap;row-gap:6px;padding-block:6px}.topbar .spacer{display:none}.topbar{position:relative}.connect-wrap{position:static}.connect-pop{left:8px;right:8px;width:auto;max-height:calc(100vh - 140px);overflow-y:auto}}:root{--ck-core: #c792ea;--ck-shadow: #8be9fd}.cockpit{display:flex;flex-direction:column;gap:12px;padding:12px 16px 24px;overflow:auto;min-width:0}.cockpit>*{flex-shrink:0}.cockpit .panel{min-width:0;padding:12px 14px}.cockpit .panel>h2{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;min-height:26px;margin-bottom:8px}.cockpit .seg-btn{padding:4px 10px}.ck-head{display:flex;align-items:center;gap:12px;min-height:30px}.ck-viewswitch{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;flex-shrink:0}.ck-viewswitch button{background:transparent;color:var(--muted);border:0;padding:5px 14px;font-size:12px;cursor:pointer}.ck-viewswitch button.on{background:var(--bg-deep);color:var(--fg-strong)}.ck-viewswitch button:disabled{opacity:.45;cursor:not-allowed}.ck-chips{display:flex;gap:6px;flex-shrink:0}.ck-chip{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap}.ck-chip.on{border-color:var(--accent);color:var(--accent);background:var(--warn-bg)}.ck-chip:disabled{cursor:not-allowed}.ck-chip[aria-disabled=true]{opacity:.45}.ck-runinfo{margin-left:auto;display:flex;gap:14px;align-items:center;min-width:0;overflow:hidden;font-size:12px;color:var(--muted)}.ck-runinfo>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck-runinfo b{color:var(--fg-strong);font-weight:400}.ck-ri-run{width:30ch}.ck-ri-net{width:24ch}.ck-ri-num{width:15ch}.ck-ri-since{width:18ch}.ck-strip{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr) minmax(0,1.15fr);grid-template-areas:"meters sp match";gap:12px;align-items:stretch}.ck-meters{grid-area:meters}.ck-sp{grid-area:sp}.ck-match{grid-area:match}@media (max-width: 1300px){.ck-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"meters meters" "sp match"}}.ck-meters .gauge-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ck-dialnote{margin-top:8px}.ck-spbody{height:236px;overflow:hidden}.ck-spbody[hidden]{display:none}.ck-sp .setpoint-input{width:132px;max-width:45%;font-size:26px}.ck-sp .setpoint-nudge{margin-top:8px}.ck-rfrow{display:flex;gap:8px;margin-top:10px}.ck-rfrow .btn{flex:1 1 0}.ck-loopline{font-size:12px}.ck-loopline b{color:var(--fg-strong);font-weight:400}.ck-gates{list-style:none;padding:0;margin:8px 0 10px;font-size:12px}.ck-gates li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:4px;padding:2px 0}.ck-gtext{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck-y{color:var(--live)}.ck-n{color:var(--err)}.ck-cap{display:grid;grid-template-columns:48px 56px minmax(0,1fr) 56px;gap:8px;align-items:center}.ck-cap+.ck-cap{margin-top:10px}.ck-cap .btn{font-size:22px;line-height:1;padding:10px 0;text-align:center}.ck-cap-lbl{font-size:12px;color:var(--muted)}.ck-cap-v{text-align:center;font:26px var(--font-mono);color:var(--fg-strong);font-variant-numeric:tabular-nums}.ck-cap-v small{font-size:13px;color:var(--muted);margin-left:2px}.ck-reflchip{font:12px var(--font-mono);padding:2px 10px;border-radius:999px;border:1px solid currentColor;white-space:nowrap;text-transform:none;letter-spacing:0}.ck-matchline{font-size:12px;height:1.6em;line-height:1.6em;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck-timeline{padding:10px 12px 8px}.ck-canvas{display:block;width:100%;height:clamp(220px,34vh,380px)}.ck-legend{display:flex;gap:4px 14px;flex-wrap:wrap;align-content:flex-start;font-size:11px;line-height:16px;color:var(--muted);margin-top:6px;height:56px;overflow-y:auto}.ck-sw{display:inline-block;width:14px;height:3px;vertical-align:middle;margin-right:5px;border-radius:2px}.ck-sw.dash{background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 7px);height:2px}.ck-sw.ck-tick{width:2px;height:8px;background:var(--fg)}.ck-cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}@media (max-width: 980px){.ck-cols3{grid-template-columns:minmax(0,1fr)}}.ck-lbl{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ck-sub{font-size:11px;color:var(--muted);line-height:1.4}.ck-line{min-height:1.4em}.ck-shadowcard .ck-line{height:2.8em;min-height:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ck-big{font:28px/1.15 var(--font-mono);color:var(--fg-strong);font-variant-numeric:tabular-nums}.ck-big small{font-size:14px;color:var(--muted)}.ck-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-deep);padding:8px 10px;min-width:0}.ck-card .ck-sub{min-height:2.8em}.ck-row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:10px}.ck-shadowcard{margin-top:10px}.ck-shadowcard .ck-sub{min-height:0}.ck-shadowcard .ck-conf{height:4.35em;margin:4px 0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.ck-shadowc{color:var(--ck-shadow)}.ck-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 12px;font-size:12px;margin:8px 0 0}.ck-kv dt{color:var(--muted)}.ck-kv dd{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--fg);overflow-wrap:anywhere}.ck-kv dd.ck-clamp1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.ck-cur{color:var(--accent);font-weight:700}.ck-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:6px}.ck-bar i{display:block;height:100%;background:var(--ck-shadow)}.ck-status{font-size:12px;margin-top:8px;min-height:2.9em}.ck-ok{color:var(--live)}.ck-warnc{color:var(--warn)}.ck-muted{color:var(--muted)}.ck-roirow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}.ck-select{font:12px var(--font-mono);background:var(--bg-deep);color:var(--fg);border:1px solid var(--line-control);border-radius:var(--radius);padding:4px 6px;max-width:100%}.ck-modebody{min-height:250px}.ck-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}.ck-inline .ck-lbl{min-width:18ch}.ck-text{flex:1 1 140px;min-width:0;font:13px var(--font-mono);background:var(--bg-deep);color:var(--fg);border:1px solid var(--line-control);border-radius:var(--radius);padding:6px 8px}.cockpit input.ck-num{width:90px;padding:5px 8px}.ck-actions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 6px}.ck-coreRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:baseline;font-size:12px;margin-top:4px}.ck-corename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ck-watchrows{min-height:92px}.ck-watchpick{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.ck-watchpick label{font-size:11px;border:1px solid var(--line-strong);border-radius:999px;padding:2px 8px;cursor:pointer;color:var(--muted)}.ck-watchpick label.on{color:var(--fg);border-color:var(--ck-core)}.ck-watchpick input{accent-color:var(--ck-core);margin:0 4px 0 0;vertical-align:-1px}.ck-section{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}@media (max-width: 1400px){.ck-head{flex-wrap:wrap;row-gap:8px}.ck-runinfo{flex-basis:100%;margin-left:0}}@media (max-width: 1100px){.ck-head{flex-wrap:wrap}.ck-runinfo{margin-left:0;flex-wrap:wrap}.ck-ri-run,.ck-ri-net,.ck-ri-num,.ck-ri-since{width:auto}}@media (max-width: 700px){.cockpit{padding:10px 16px 20px}.ck-strip{grid-template-columns:minmax(0,1fr);grid-template-areas:"meters" "sp" "match"}.ck-meters .gauge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ck-chips{flex-wrap:wrap;flex-shrink:1}.ck-spbody{height:auto;min-height:236px}.ck-cap{grid-template-columns:44px 48px minmax(0,1fr) 48px}.ck-timeline .seg{flex-shrink:1;min-width:0}.ck-timeline .seg-btn{white-space:normal}}.ck-runsview{display:flex;flex-direction:column;gap:12px}.ck-runsview>*{flex-shrink:0}.ck-livepill{font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;border:1px solid var(--live);color:var(--live)}.ck-livepill.replay{border-color:var(--trace-refl);color:var(--trace-refl)}.ck-runs{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:12px}.ck-runlistpanel,.ck-replaypanel{height:380px;overflow:hidden;display:flex;flex-direction:column}.ck-runlist{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.ck-runitem{text-align:left;background:var(--bg-deep);color:var(--fg);border:1px solid var(--line);border-radius:var(--radius);padding:7px 10px;cursor:pointer;flex-shrink:0}.ck-runitem.on{border-color:var(--accent)}.ck-runname{font-size:12px;color:var(--fg-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck-runmeta{font-size:11px;color:var(--muted);margin-top:3px;display:flex;gap:8px;flex-wrap:wrap}.ck-tag{font:10px var(--font-mono);padding:1px 6px;border-radius:999px;border:1px solid var(--line-strong)}.ck-tag.yes{border-color:var(--live);color:var(--live)}.ck-tag.no{color:var(--muted)}.ck-smallbtn{padding:2px 8px;font-size:11px;text-transform:none;letter-spacing:0}.ck-replayname{max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none}.ck-lbl-short{margin-left:8px}.cockpit .ck-replaypanel .ck-inline .ck-lbl{min-width:0}.ck-rpstatus{font-size:12px;height:1.6em;line-height:1.6em;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck-compare{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:6px}.ck-compare .ck-sub{height:4.2em;min-height:0;overflow:hidden}.ck-mid{font:20px/1.2 var(--font-mono);color:var(--fg-strong);font-variant-numeric:tabular-nums}.ck-events{flex:1 1 auto;min-height:0;overflow-y:auto;margin-top:4px;border-top:1px solid var(--line);font-size:11px}.ck-events button{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--fg);padding:3px 2px;cursor:pointer}.ck-events button span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck-events button:hover{color:var(--fg-strong)}.ck-events button.on{color:var(--accent)}.ck-cursortxt{text-transform:none;letter-spacing:0;min-height:24px;line-height:24px}.ck-scrub{display:flex;gap:10px;align-items:center}.ck-scrub input[type=range]{flex:1 1 auto;min-width:0}.ck-playbtn{width:120px;flex-shrink:0}.ck-scrubtime{width:13ch;text-align:right;flex-shrink:0;font-size:12px}.ck-cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.ck-strip.ro{pointer-events:none}.ck-strip.ro .panel{border-style:dashed;border-color:var(--line-strong)}.ck-robadge{font:10px var(--font-mono);padding:1px 8px;border-radius:999px;border:1px solid var(--trace-refl);color:var(--trace-refl);text-transform:uppercase}.ck-rovalue{font:26px var(--font-mono);color:var(--fg-strong);margin:4px 0 6px}.ck-rovalue small{font-size:14px;color:var(--muted)}.ck-ronote{margin-top:14px}.ck-cap-ph{height:44px}@media (max-width: 980px){.ck-runs,.ck-cols2{grid-template-columns:minmax(0,1fr)}.ck-compare{grid-template-columns:repeat(2,minmax(0,1fr))}.ck-compare .ck-sub{height:auto}.ck-runlistpanel{height:260px}.ck-replaypanel{height:540px}}.ck-replaypanel .ck-inline{flex-wrap:nowrap}.ck-replaypanel .ck-select{width:220px;flex:0 1 220px;min-width:0}.ck-runlistpanel>*,.ck-replaypanel>*{flex-shrink:0}.ck-runlistpanel>.ck-runlist,.ck-replaypanel>.ck-events{flex:1 1 0;min-height:0}.ck-oneline{height:1.4em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck-card .ck-sub.ck-clamp2{height:2.8em;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ck-stale{opacity:.6;border-style:dashed}.ck-evnote{text-transform:none;letter-spacing:0;color:var(--muted)}
