:root{--bg: #000833;--panel: #001a4d;--grid: #0a3a8c;--fg: #e6ecff;--accent: #ff3b3b;--accent-2: #3bd1ff;--muted: #9fb3e0;--ok: #3ddc84}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}html{font-size:120%}body{background:var(--bg);color:var(--fg);font-family:Segoe UI,system-ui,sans-serif}.unsupported{display:flex;align-items:center;justify-content:center;height:100%;padding:1rem}.unsupported-card{max-width:34rem;padding:1.5rem 2rem;background:var(--panel);border:1px solid var(--grid);border-radius:8px}.app{display:flex;flex-direction:column;height:100%}.toolbar{display:flex;align-items:center;gap:1rem;padding:.35rem .75rem;background:var(--panel);border-bottom:1px solid var(--grid)}.toolbar-title{font-weight:600}.toolbar-group{display:flex;gap:.5rem}.toolbar-status{margin-left:auto;color:var(--muted)}.toolbar-status[data-state=connected]{color:var(--accent-2)}.toolbar-status[data-state=error]{color:var(--accent)}.battery-readout{display:flex;align-items:center}.battery-icon{display:inline-flex;width:1.75rem;height:.9rem;line-height:0}.battery-icon svg{width:100%;height:100%}.battery-body{fill:none;stroke:var(--muted);stroke-width:1}.battery-cap{fill:var(--muted)}.battery-fill{width:0}.battery-icon[data-level=ok] .battery-fill{width:19px;fill:var(--ok)}.battery-icon[data-level=low] .battery-fill{width:5px;fill:var(--accent)}.btn{padding:.3rem .8rem;background:var(--grid);color:var(--fg);border:1px solid var(--accent-2);border-radius:4px;font:inherit;cursor:pointer}.btn:hover:not(:disabled){background:var(--accent-2);color:var(--bg)}.btn:disabled{opacity:.45;cursor:not-allowed}.reading-status{align-self:center;color:var(--accent);font-size:.85rem}.layout{display:grid;grid-template-columns:1fr 16rem;flex:1;min-height:0}.graphs{display:grid;grid-template-rows:1fr 2fr auto;min-height:0;gap:2px;padding:2px}.chart{background:var(--bg);border:1px solid var(--grid);min-height:0}.waveform{position:relative;width:100%;height:100%}.waveform-svg{display:block;width:100%;height:100%}.waveform-title{fill:var(--muted);font-size:.75rem;dominant-baseline:hanging}.waveform-trace{fill:none;stroke:var(--accent-2);stroke-width:1;vector-effect:non-scaling-stroke}.waveform-envelope{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.waveform-axis{color:var(--muted);font-size:.65rem}.waveform-grid{color:var(--grid)}.waveform-grid .domain{display:none}.sidebar{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:var(--panel);border-left:1px solid var(--grid);overflow:auto}.live-readout{color:var(--accent);font-size:2rem;font-weight:700;min-height:3rem}.pressure-readout{display:flex;align-items:baseline;gap:.35rem}.pressure-readout-value{font-variant-numeric:tabular-nums}.pressure-readout-unit{font-size:.9rem;font-weight:400;color:var(--muted)}.trace-selector-bar{display:flex;align-items:center;gap:.4rem;padding:.15rem .4rem}.trace-selector-label{color:var(--muted);font-size:.8rem;min-width:6rem}.btn-trace-nav{padding:.15rem .5rem}.trace-selector-build{margin-left:auto;color:var(--muted);font-size:.7rem;font-variant-numeric:tabular-nums;white-space:nowrap}.result-view{color:var(--accent-2);font-variant-numeric:tabular-nums}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;text-align:center}.result-label{color:var(--muted);font-size:.7rem}.result-value{font-size:1.4rem;font-weight:700;line-height:1.4;min-height:1.4em}.result-unit{color:var(--muted);font-size:.6rem}.result-outcome{margin-top:.25rem;font-size:.8rem;font-weight:600;line-height:1.2;min-height:1.2em}.result-outcome[hidden]{display:block!important;visibility:hidden}.result-actions[hidden]{display:flex!important;visibility:hidden}.result-outcome[data-outcome=accepted]{color:var(--accent-2)}.result-outcome[data-outcome=failed]{color:var(--accent)}.result-actions{display:flex;gap:.5rem;margin-top:.5rem}.result-actions .btn{flex:1}.btn-fail{border-color:var(--accent)}.log-panel{flex:1;min-height:6rem;overflow:auto;display:flex;flex-direction:column}.log-header{margin-bottom:.25rem;display:flex;flex-direction:column;gap:.25rem}.log-title{font-size:.8rem;font-weight:700;color:var(--fg)}.log-empty{color:var(--muted);font-size:.75rem;font-style:italic;padding:.35rem .3rem}.log-name-label{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--muted)}.log-name-input{flex:1;min-width:0;padding:.15rem .35rem;background:var(--bg);color:var(--fg);border:1px solid var(--grid);border-radius:3px;font:inherit;font-size:.8rem}.log-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1}.log-row{display:flex;flex-direction:column;gap:.1rem;padding:.25rem .3rem;font-size:.72rem;border-bottom:1px solid var(--grid);cursor:pointer;user-select:none;-webkit-user-select:none}.log-row.selected{background:var(--grid)}.log-row-top,.log-row-bottom{display:flex;align-items:baseline;gap:.35rem}.log-when{color:var(--muted);white-space:nowrap}.log-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.log-stats{flex:1;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.log-outcome{font-weight:700}.log-row[data-outcome=failed] .log-outcome{color:var(--accent)}.log-row[data-outcome=accepted] .log-outcome{color:var(--accent-2)}.log-trace-icon{background:none;border:none;color:var(--accent-2);cursor:pointer;font-size:.9rem;line-height:1;padding:0 .15rem}.log-context-menu{position:fixed;z-index:1000;min-width:9rem;padding:.2rem 0;background:var(--panel);border:1px solid var(--grid);border-radius:4px;box-shadow:0 2px 8px #0000007f;font-size:.78rem}.log-context-menu-item{display:block;width:100%;padding:.35rem .75rem;background:none;border:none;color:var(--fg);text-align:left;cursor:pointer;font:inherit;font-size:.78rem}.log-context-menu-item:hover,.log-context-menu-item:focus{background:var(--grid);outline:none}.selection-summary{border-top:1px solid var(--grid);padding-top:.35rem;font-variant-numeric:tabular-nums}.selection-summary-heading{color:var(--muted);font-size:.72rem;margin-bottom:.2rem}.selection-summary-values{display:flex;gap:.6rem;font-weight:600}.selection-summary-label{color:var(--muted);font-weight:400}body.dev-active{display:flex;flex-direction:column}body.dev-active .app,body.dev-active .unsupported{height:auto;flex:1 1 auto;min-height:0}.dev-bar{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;padding:.2rem .5rem;background:#2a0033;border-bottom:1px solid var(--accent);font-size:.72rem}.dev-bar-label{font-weight:700;letter-spacing:.08em;color:var(--accent)}.dev-bar-btn{padding:.15rem .5rem;background:var(--grid);color:var(--fg);border:1px solid var(--accent);border-radius:4px;font:inherit;font-size:.72rem;cursor:pointer}.dev-bar-btn:hover,.dev-bar-btn.active{background:var(--accent);color:var(--bg)}.dev-dumper{flex:0 0 14rem;display:flex;flex-direction:column;min-height:0;background:var(--bg);border-top:1px solid var(--accent)}.dev-dumper-header{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;padding:.2rem .5rem;background:var(--panel);border-bottom:1px solid var(--grid);font-size:.72rem}.dev-dumper-title{font-weight:600;margin-right:auto}.dev-dumper-body{flex:1 1 auto;margin:0;padding:.35rem .5rem;overflow:auto;font-family:SF Mono,ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:.68rem;line-height:1.35;color:var(--muted);white-space:pre}
