/* Indicore waveform viewer */
.iw { --iw-row: 28px; --iw-axis: 26px; --iw-names: 170px; --iw-vals: 64px;
      border: 1px solid #d0d5db; border-radius: .4rem; background: #fff; font: 13px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      color: #222; user-select: none; display: flex; flex-direction: column; min-height: 120px; }
.iw:focus { outline: 2px solid #0d6efd55; }
.iw-toolbar { display: flex; flex-wrap: wrap; gap: .4rem .6rem; align-items: center; padding: .35rem .5rem; border-bottom: 1px solid #e3e6ea; background: #f8f9fa; font-family: system-ui, sans-serif; font-size: 12.5px; }
.iw-toolbar button, .iw-toolbar select { font: inherit; padding: .15rem .5rem; border: 1px solid #c9ced4; border-radius: .3rem; background: #fff; cursor: pointer; }
.iw-toolbar button:hover { background: #eef1f4; }
.iw-toolbar .iw-readout { margin-left: auto; color: #555; white-space: nowrap; }
.iw-body { display: flex; min-height: 0; flex: 1; }
.iw-pane { width: 220px; flex: none; border-right: 1px solid #e3e6ea; display: flex; flex-direction: column; font-family: system-ui, sans-serif; font-size: 12.5px; }
.iw-pane[hidden] { display: none; }
.iw-pane input[type=search] { margin: .4rem; padding: .25rem .4rem; border: 1px solid #c9ced4; border-radius: .3rem; font: inherit; }
.iw-pane-actions { display: flex; gap: .3rem; padding: 0 .4rem .3rem; }
.iw-pane-actions button { font: inherit; font-size: 11.5px; padding: .1rem .4rem; border: 1px solid #c9ced4; border-radius: .3rem; background: #fff; cursor: pointer; }
.iw-pane-list { overflow: auto; max-height: 420px; padding: 0 .2rem .3rem; }
.iw-pane-item { display: flex; align-items: center; gap: .3rem; padding: .12rem .2rem; border-radius: .25rem; white-space: nowrap; overflow: hidden; }
.iw-pane-item:hover { background: #f1f3f5; }
.iw-pane-item label { flex: 1; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.iw-pane-item .iw-w { color: #888; font-size: 11px; }
.iw-pane-item button { border: 0; background: none; cursor: pointer; color: #888; padding: 0 2px; font-size: 11px; }
.iw-scroll { flex: 1; overflow: auto; max-height: 560px; display: flex; min-width: 0; position: relative; }
.iw-names { width: var(--iw-names); flex: none; position: sticky; left: 0; background: #fff; border-right: 1px solid #e3e6ea; z-index: 1; }
.iw-vals { width: var(--iw-vals); flex: none; position: sticky; left: var(--iw-names); background: #fafbfc; border-right: 1px solid #e3e6ea; z-index: 1; text-align: left; }
.iw-vals .iw-axis-spacer { font-size: 11px; color: #888; line-height: var(--iw-axis); padding-left: .5rem; white-space: nowrap; overflow: hidden; }
.iw-axis-spacer { height: var(--iw-axis); border-bottom: 1px solid #e3e6ea; }
.iw-row { height: var(--iw-row); line-height: var(--iw-row); padding: 0 .5rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-bottom: 1px solid #f1f3f5; }
.iw-row.iw-bus { color: #1b3a7a; }
.iw-vals .iw-row { color: #444; }
.iw-canvas-wrap { flex: 1; min-width: 0; position: relative; }
.iw-canvas-wrap canvas { display: block; cursor: crosshair; touch-action: none; }
.iw-note { padding: .2rem .5rem; color: #8a6d3b; background: #fff8e1; font-family: system-ui, sans-serif; font-size: 12px; border-top: 1px solid #f1e3b0; }
