/* Shared waveform presentation for file and streaming playback. */
.voice-player{min-width:0;margin:16px 0 22px}
.output-panel{position:static}
button,input,select,textarea,.ch-wave{scroll-margin-top:120px;scroll-margin-bottom:24px}
.ch-player{--ch-accent:#60a5fa;--ch-wave-remaining:#3b669b;--ch-play-ink:#0b1729;--ch-play-hover:#93c5fd;min-width:0;color:#b2bdcb}
.ch-player-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.ch-title{display:inline-flex;gap:8px;align-items:center;font-size:11px;font-weight:550;color:#d0d9e6}
.ch-title>svg{color:#94a8c3;width:16px;height:16px}
.ch-preview-badge{font:8px ui-monospace,SFMono-Regular,monospace;letter-spacing:.1em;color:#7d8da1}
.ch-wavebox{position:relative;height:142px;min-width:0;border:1px solid #3b485a;border-radius:10px;background:#10151c;overflow:hidden}
.ch-wave{height:100%;width:100%;display:block;cursor:ew-resize;touch-action:pan-y;user-select:none;outline-offset:-3px!important}
.ch-baseline{stroke:#354152;stroke-width:1}
.ch-envelope{fill:var(--ch-wave-remaining);transition:opacity .15s}
.ch-envelope-played{fill:var(--ch-accent)}
.is-muted .ch-envelope{opacity:.28}
.ch-track-label{position:absolute;top:7px;left:10px;display:flex;align-items:center;gap:6px;color:#aebcd0;font-size:9px;pointer-events:none}
.ch-track-label i{height:5px;width:5px;border-radius:100%;background:var(--ch-accent)}
.ch-playhead{position:absolute;inset-block:0;width:2px;background:var(--ch-accent);transform:translateX(-50%);pointer-events:none}
.ch-playhead i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:6px;width:6px;border-radius:100%;background:inherit}
.ch-hover{position:absolute;inset:0;pointer-events:none}
.ch-hover-line{position:absolute;inset-block:0;width:0;border-left:1px dashed #a6b6cc;opacity:.6}
.ch-hover-time{position:absolute;top:5px;transform:translateX(-50%);padding:2px 5px;background:#e3eaf3;color:#172235;border-radius:3px;font:9px ui-monospace,monospace;box-shadow:0 1px 5px #0006}
.ch-ticks{display:flex;justify-content:space-between;padding:7px 1px 10px;color:#77869b;font:8px ui-monospace,SFMono-Regular,monospace;letter-spacing:.02em}
.ch-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:12px;row-gap:13px;border-top:1px solid #29323f;padding-top:11px}
.ch-buttons{display:flex;align-items:center;gap:2px}
.ch-buttons button{width:30px;height:32px;border:0;background:transparent;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:#96a7be;padding:0}
.ch-buttons button:hover{background:#26313f;color:#e6edf7}
.ch-buttons .ch-play{border-radius:100%;width:38px;height:38px;margin:0 4px;background:var(--ch-accent);color:var(--ch-play-ink);box-shadow:0 3px 12px color-mix(in srgb,var(--ch-accent) 24%,transparent)}
.ch-player .ch-buttons .ch-play{color:var(--ch-play-ink)}
.ch-player .ch-buttons .ch-play:hover{background:var(--ch-play-hover);color:var(--ch-play-ink)}
.ch-buttons button[aria-pressed=true]{color:#c8ddfb;background:#233249}
.ch-clock{white-space:nowrap;font:10px ui-monospace,SFMono-Regular,monospace;color:#75879f;font-variant-numeric:tabular-nums}
.ch-clock [data-current-time]{color:#c3d1e4;font-weight:600}
.ch-rate{width:100%;display:flex;align-items:center;gap:12px;min-width:0;font-size:10px;color:#8c9bb0}
.ch-rate label{flex-shrink:0}
.ch-rate input{width:auto;min-width:0;flex:1;height:3px;padding:0;border:0;appearance:none;border-radius:10px;background:linear-gradient(to right,#8b9db6 var(--rate-progress,20%),#343f50 var(--rate-progress,20%));cursor:pointer;accent-color:#a9bedc}
.ch-rate input::-webkit-slider-thumb{appearance:none;width:10px;height:10px;border-radius:100%;background:#bdcde4;border:2px solid #34465f;box-shadow:0 0 0 1px #8d9fb7}
.ch-rate input::-moz-range-thumb{width:8px;height:8px;border-radius:100%;background:#bdcde4;border:2px solid #34465f}
.ch-rate output{width:35px;text-align:right;color:#c6d3e6;font:10px ui-monospace,monospace;font-variant-numeric:tabular-nums}
.ch-player-note{font-size:9px;color:#8191a8;line-height:1.7;margin-top:10px}
.teaser-audio .voice-player{margin:20px 0 0}
.teaser-audio .ch-wavebox{height:116px}
.teaser-audio .audio-foot{align-items:center;gap:15px;border-top:1px solid #2b3441;padding-top:16px;margin-top:18px;line-height:1.8}
.teaser-audio .audio-foot a{color:#b8cbe5}
.teaser-audio .audio-foot a:hover{color:#e2edfd}
@media(max-width:760px){.ch-wavebox{height:130px}.teaser-audio .ch-wavebox{height:112px}.ch-buttons{gap:1px}.ch-buttons button{width:28px}.ch-buttons .ch-play{width:35px;height:35px;margin:0 3px}.ch-clock{font-size:9px}.ch-controls{column-gap:6px}.ch-player-note{font-size:9px}.voice-player{margin-bottom:22px}}
@media(max-width:370px){.ch-buttons button{width:26px;height:30px}.ch-buttons .ch-play{width:32px;height:32px}.ch-clock{width:100%;text-align:left}.ch-ticks{font-size:7px}}
@media(prefers-reduced-motion:reduce){.ch-envelope{transition:none}}
