/* Gap-free reception (shell_cont.js): Receiver switch + Burst catcher tool. Optimised firmware only. */
.tool-list button[hidden], .cont-host[hidden], .dual-box[hidden] { display: none; }
.cont-host { margin-top: 4px; }
.cont-note { margin-top: 0; font-variant-numeric: tabular-nums; }

.burst-presets { display: flex; flex-wrap: wrap; gap: 6px; }
.burst-presets button { min-height: 32px; padding: 4px 10px; border-radius: 10px; font-size: 12.5px; font-variant-numeric: tabular-nums; }
.burst-sum { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.burst-sum:empty { display: none; }
.burst-cls { display: flex; flex-wrap: wrap; gap: 6px; }
.burst-cls:empty { display: none; }
.burst-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: 12.5px;
  background: color-mix(in srgb, var(--c) 14%, transparent); border: 1px solid color-mix(in srgb, var(--c) 45%, transparent); }
.burst-chip i { width: 9px; height: 9px; border-radius: 50%; background: var(--c); }
.burst-chip b { font-weight: 650; }
.burst-chip span { color: var(--muted); font-variant-numeric: tabular-nums; }
.burst-h { font-size: 12px; font-weight: 650; color: var(--muted); }
.burst-hist { height: 110px; }
.burst-hist .fx-bar { justify-content: flex-end; }
.burst-stack { width: 100%; display: flex; flex-direction: column-reverse; border-radius: 4px 4px 2px 2px; overflow: hidden; min-height: 2px; }
.burst-stack i { display: block; width: 100%; min-height: 1px; border-radius: 0; }
.burst-hist .fx-bar span { white-space: nowrap; font-size: 9.5px; }
.burst-tw { max-height: 340px; overflow: auto; border-radius: 12px; border: 1px solid var(--line); }
.burst-tw:has(table:empty) { display: none; }
.burst-tbl { width: 100%; border-collapse: collapse; font-size: 12px; font-variant-numeric: tabular-nums; }
.burst-tbl th { position: sticky; top: 0; background: var(--panel2); color: var(--muted); font-weight: 600; text-align: left; padding: 5px 8px; }
.burst-tbl td { padding: 4px 8px; border-top: 1px solid var(--line); white-space: nowrap; }
.burst-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: 1px; }
@media (max-width: 420px) { .burst-tbl td, .burst-tbl th { padding: 4px 5px; } }

/* Gap-free · 2 boards (shell_dual.js) */
.dual-box { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); display: grid; gap: 6px; }
.dual-box .note { margin: 0; font-variant-numeric: tabular-nums; }
.dual-status { font-weight: 600; }
.dual-status:empty, .dual-recmsg:empty { display: none; }
.dual-ppm input { width: 100%; }
.dual-rec { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
