/* 線上喇叭測試 */
.tool { display: flex; flex-direction: column; gap: 16px; }
.lead { margin: 0; text-align: center; color: var(--muted); }
.panel { padding: 18px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; display: grid; gap: 16px; }
.channels { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.channel {
  min-height: 7rem; display: grid; align-content: center; justify-items: center; gap: 4px; font: inherit; color: var(--ink);
  background: #F0F3F1; border: 2px solid var(--line); border-radius: 14px; cursor: pointer;
}
.channel:hover, .channel:focus-visible { border-color: var(--accent); outline: none; }
.channel.on { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.channel .icon { font-size: 1.75rem; line-height: 1; }
.channel .name { font-size: 1.25rem; font-weight: 700; }
.channel .key { font-size: .875rem; opacity: .7; }
.status { margin: 0; text-align: center; font-size: 1.25rem; font-weight: 700; }
.hint { margin: 0; text-align: center; color: var(--muted); }
.vol { display: flex; align-items: center; gap: 12px; }
.vol input { flex: 1; accent-color: var(--accent); }
.vol output { min-width: 3.2rem; text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; }
.sounds { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sounds > span { font-weight: 700; margin-right: 4px; }
.chip { min-height: 40px; padding: 4px 16px; font: inherit; font-weight: 700; color: var(--ink); background: var(--panel); border: 2px solid var(--line); border-radius: 999px; cursor: pointer; }
.chip:hover, .chip:focus-visible { border-color: var(--accent); outline: none; }
.chip.on { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
.output { margin: 0; padding: 10px 14px; background: var(--panel); border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); }
.notes { margin: 0; padding-left: 1.25rem; color: var(--muted); }
@media (max-width: 30rem) { .channel { min-height: 5.5rem; } }
