body { font-family: Arial, sans-serif; margin: 24px; color: #222; } header { margin-bottom: 16px; } .controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; } .channel-dropdown { position: relative; min-width: 220px; flex: 0 1 260px; } .channel-dropdown summary { list-style: none; cursor: pointer; border: 1px solid #ccc; border-radius: 4px; padding: 6px 8px; background: #fff; color: #222; display: inline-flex; align-items: center; min-height: 32px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .channel-dropdown summary::-webkit-details-marker { display: none; } .channel-dropdown[open] summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .channel-options { margin-top: 4px; padding: 8px; border: 1px solid #ccc; border-radius: 0 0 4px 4px; background: #fff; max-height: 240px; overflow-y: auto; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12); min-width: 220px; width: max(220px, 100%); } .channel-option { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; font-size: 12px; } .channel-option:last-child { margin-bottom: 0; } input, select, button { padding: 6px 8px; } .muted { color: #666; font-size: 12px; } #results .item { border-bottom: 1px solid #ddd; padding: 12px 0; } .summary-row { display: flex; gap: 16px; flex-wrap: wrap; align-items: flex-start; margin-top: 12px; } .summary-left { flex: 0 1 280px; max-width: 360px; } .summary-right { flex: 1 1 0%; min-width: 0; background: #f5f5f5; padding: 12px; border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08); } #metrics { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; } #metricsStatus { min-height: 16px; } #metricsContent { display: flex; flex-direction: column; gap: 6px; } #frequencyChart { margin-top: 8px; } #frequencyChart svg { max-width: 100%; } #frequencyChart .axis path, #frequencyChart .axis line { stroke: #ccc; } #frequencyChart .freq-layer rect { stroke: #fff; stroke-width: 0.5px; } .freq-legend { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 8px; font-size: 12px; color: #444; } .freq-legend-item { display: flex; align-items: center; gap: 6px; } .freq-legend-swatch { width: 12px; height: 12px; border-radius: 2px; display: inline-block; } .transcript { background: #fafafa; padding: 8px; margin-top: 6px; max-height: 200px; overflow-y: auto; } .highlight-list { display: flex; flex-direction: column; gap: 8px; max-height: none; overflow: visible; } .highlight-row { padding: 4px 0; border-bottom: 1px solid #ececec; } .highlight-row:last-child { border-bottom: none; } .transcript-wrapper { margin-top: 8px; } .pager { margin-top: 12px; display: flex; gap: 8px; } mark { background: #ffe58a; padding: 0 2px; } .badge-row { margin-top: 6px; display: flex; gap: 4px; flex-wrap: wrap; } .badge { background: #0b6efd; color: #fff; border-radius: 999px; padding: 2px 8px; font-size: 12px; }