.article-audio{margin:1rem 0 1.5rem;padding:.8rem 0;border-block:1px solid var(--line);font-family:var(--sans);font-size:14px;color:var(--color-secondary)}
.article-audio-heading{display:flex;gap:14px;align-items:center}.article-audio button,.article-audio select{background:var(--color-surface);color:var(--ink);border:1px solid var(--color-line-strong);border-radius:4px;padding:8px 12px;font:inherit;cursor:pointer}.article-audio button:disabled{opacity:.55;cursor:wait}.article-audio button:focus-visible,.article-audio select:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
.article-audio-panel{padding-top:12px}.article-audio-panel[hidden]{display:none}.article-audio audio{width:100%;height:44px}.audio-status{margin:0 0 10px!important;color:var(--ink)}.audio-navigation{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}.audio-navigation>select{flex:1;min-width:100px;max-width:100%}.audio-navigation label{display:flex;gap:8px;align-items:center}.audio-excerpt{font-size:14px;line-height:1.8;margin:12px 0!important;max-height:110px;overflow:auto}.article-audio small{display:block;margin-top:10px;line-height:1.7}.article-audio [data-audio=generate]{color:var(--color-accent-strong);background:var(--color-selected)}
@media print{.article-audio{display:none}}
.audio-continuous{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:13px}.audio-continuous input{accent-color:var(--color-accent)}
.audio-progress-open { overflow: hidden; }
.audio-progress-dialog { width: min(560px, calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:calc(100dvh - 40px); overflow:auto; padding: 28px; border: 1px solid var(--color-line-strong); border-radius: 12px; background: var(--color-surface); color: var(--color-ink); line-height: 1.7; box-shadow:var(--shadow); }
.audio-progress-dialog::backdrop { background: rgb(15 31 47 / 48%); }
.audio-progress-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.audio-progress-dialog h2 { margin: 0; font:600 25px/1.5 var(--font-serif); }
.audio-progress-dialog progress { width: 100%; height: 10px; accent-color: var(--color-accent); }
.audio-progress-reason { overflow-wrap: anywhere; }
.audio-progress-overview { padding-block: 8px 14px; }
.audio-progress-overview [data-status] { font-weight: 600; }
.audio-progress-overview [data-count] { color: var(--color-ink); font-variant-numeric: tabular-nums; font-size: 18px; font-weight: 600; }
.audio-progress-overview p { margin: 10px 0; }
.audio-progress-overview [data-time] { font-size: 12px; }
.audio-progress-overview .audio-progress-scope { font-size: 12px; margin-block: 0 10px; }
.audio-progress-control { border-block: 1px solid var(--color-line); padding-block: 20px; }
.audio-progress-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.audio-progress-dialog .button { min-height: 44px; font-size: 14px; white-space:nowrap; padding-inline:12px; }
.audio-progress-dialog [data-close] { flex-shrink:0; }
.audio-progress-dialog .button:disabled { opacity: .55; cursor: default; transform: none; }
.audio-progress-control [data-operation] { margin: 16px 0 8px; overflow-wrap: anywhere; }
.audio-progress-control [data-operation][data-state="failed"], .audio-progress-control [data-operation][data-state="interrupted"] { color: var(--color-accent-strong); }
.audio-progress-control [data-gpu], .audio-progress-help { font-size: 13px; margin: 8px 0; overflow-wrap: anywhere; }
.audio-progress-dialog footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 18px; font-size: 12px; }
.audio-progress-reason:empty, .audio-progress-control [data-gpu]:empty { display: none; }
@media(max-width:400px){.audio-progress-dialog h2{font-size:20px}.audio-progress-dialog header{gap:8px}.audio-progress-actions>.button{flex:1}.audio-progress-overview [data-count]{font-size:16px}.audio-progress-dialog footer{align-items:flex-start}.audio-progress-dialog footer .button{flex-shrink:0}}
.column-reader>.article-audio{max-width:calc(var(--reading-size)*34);margin:12px auto;padding:8px 0}
@media(max-width:800px){.article-audio button,.article-audio select{min-height:44px}.audio-progress-dialog{padding:22px 20px}.audio-navigation{gap:6px}}
