.signal-grid { display: grid; gap: var(--space-4); }
@media (min-width: 48rem) { .signal-grid { grid-template-columns: 2fr 1fr; } }
.signal-standby { position: relative; aspect-ratio: 16 / 9; background: var(--bar-blue); border: 2px solid var(--bar-white); display: grid; place-items: center; overflow: hidden; }
.signal-card { text-align: center; padding: var(--space-3); background: var(--bg); border: 2px solid var(--bar-white); position: relative; z-index: 1; }
.signal-card-title { font-size: var(--step-3); margin: 0; font-weight: 700; }
.signal-card-sub { margin: var(--space-2) 0; color: var(--fg-dim); font-size: var(--step--1); }
.signal-tc { font-family: var(--font-mono); font-size: var(--step-2); margin: 0; font-variant-numeric: tabular-nums; }
.signal-noise { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; image-rendering: pixelated; opacity: 0.85; }
.signal-meters { display: grid; gap: var(--space-4); align-content: start; }
.signal-bars { display: flex; align-items: end; gap: var(--space-1); height: 3rem; }
.signal-bars span { width: 0.75rem; background: var(--bar-green); animation: signal-bar 1.6s steps(4) infinite alternate; }
.signal-bars span:nth-child(1) { height: 20%; }
.signal-bars span:nth-child(2) { height: 40%; animation-delay: -0.4s; }
.signal-bars span:nth-child(3) { height: 60%; animation-delay: -0.8s; }
.signal-bars span:nth-child(4) { height: 80%; animation-delay: -1.2s; }
.signal-bars span:nth-child(5) { height: 100%; animation-delay: -1.5s; }
@keyframes signal-bar { to { background: var(--line); } }
.signal-readout { font-family: var(--font-mono); font-size: var(--step--1); margin: var(--space-2) 0 0; }
.signal-vu { display: grid; gap: var(--space-1); }
.signal-ch { display: flex; align-items: center; gap: var(--space-2); font-family: var(--font-mono); font-size: var(--step--1); }
.signal-lvl { flex: 1; height: 0.75rem; background: linear-gradient(90deg, var(--bar-green) 70%, var(--bar-yellow) 70% 88%, var(--bar-red) 88%); clip-path: inset(0 calc(100% - var(--signal-lvl, 60%)) 0 0); }
.signal-toggle { justify-self: start; }
@media (prefers-reduced-motion: reduce) { .signal-bars span { animation: none; } }
