.article-audio[hidden]{display:none}
.article-audio [hidden]{display:none}
.article-audio{margin:-10px 0 42px;padding:20px 22px 18px;border:1px solid #c8d5ca;border-radius:20px;background:#fffefa;box-shadow:0 15px 42px rgba(20,53,43,.09);color:var(--ink)}
.article-audio-identity{display:flex;align-items:center;gap:17px;min-width:0}
.article-audio-identity img{width:76px;height:76px;flex:none;object-fit:cover;border-radius:12px}
.article-audio-title{min-width:0;display:grid;gap:4px}
.article-audio-kicker{font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--forest-2)}
.article-audio-title strong{font-family:var(--serif);font-size:1.12rem;line-height:1.24;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.article-audio-title>[data-audio-estimate]{font-size:.73rem;color:var(--muted)}
.article-audio-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.article-audio button,.article-audio input{font:inherit}
.article-audio button{cursor:pointer}
.article-audio button:disabled{cursor:not-allowed;opacity:.38}
.article-audio button:focus-visible,.article-audio input:focus-visible{outline:3px solid var(--forest-2);outline-offset:3px}
.article-audio-icon{display:flex;align-items:center;justify-content:center;gap:1px;width:45px;height:45px;flex:none;border:1px solid #bad0c0;border-radius:50%;background:#f0f5ee;color:var(--forest);font-size:1.55rem;line-height:1}
.article-audio-icon small{font-size:.63rem;font-weight:800}
.article-audio-icon:not(:disabled):hover{background:#e1ece2;border-color:var(--forest-2)}
.article-audio-play{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:120px;min-height:43px;padding:8px 17px;border:0;border-radius:999px;background:var(--forest);color:#fff;font-weight:800;font-size:.86rem;line-height:1}
.article-audio-play:hover{background:#245b4a}
.article-audio-play [data-audio-symbol]{font-size:1rem;line-height:1}
.article-audio-speed,.article-audio-stop{min-height:39px;padding:7px 12px;border:1px solid #bad0c0;border-radius:999px;background:transparent;color:var(--forest);font-size:.79rem;font-weight:800}
.article-audio-speed:hover,.article-audio-stop:not(:disabled):hover{background:#edf4ec}
.article-audio audio[controls]{display:block;width:100%;margin-top:16px}
.article-audio audio:not([controls]){display:none}
.article-audio-timeline{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:17px}
.article-audio-track{display:flex;align-items:center;gap:13px;min-width:0}
.article-audio-wave{display:flex;align-items:center;gap:3px;height:20px;flex:none;color:var(--forest-2)}
.article-audio-wave i{display:block;width:3px;height:7px;border-radius:9px;background:currentColor;opacity:.55}
.article-audio-wave i:nth-child(3n+1){height:15px}.article-audio-wave i:nth-child(4n+2){height:11px}
.article-audio.is-playing .article-audio-wave i{animation:hac-audio-pulse .7s ease-in-out infinite alternate}
.article-audio.is-playing .article-audio-wave i:nth-child(3n+2){animation-delay:.2s}.article-audio.is-playing .article-audio-wave i:nth-child(3n+3){animation-delay:.4s}
@keyframes hac-audio-pulse{to{transform:scaleY(.45);opacity:.85}}
.article-audio input[type=range]{min-width:0;flex:1;width:100%;accent-color:var(--forest-2);cursor:pointer}
.article-audio input[type=range]:disabled{cursor:not-allowed;opacity:.5}
.article-audio [data-audio-time]{color:var(--forest-2);font-size:.73rem;font-weight:800;white-space:nowrap}
.article-audio-note{margin:10px 0 0;color:#6f7b70;font-size:.67rem;line-height:1.45}
@media(min-width:780px){.article-audio.is-playing{position:sticky;top:12px;z-index:9;box-shadow:0 20px 48px rgba(20,53,43,.16)}}
@media(max-width:600px){.article-audio{padding:16px;margin:-8px 0 35px;border-radius:15px}.article-audio-identity img{width:60px;height:60px}.article-audio-title strong{font-size:1rem}.article-audio-controls{gap:8px}.article-audio-timeline{grid-template-columns:1fr;gap:7px}}
@media(prefers-reduced-motion:reduce){.article-audio button{transition:none}.article-audio.is-playing .article-audio-wave i{animation:none}}
