/* A quiet listening companion to the existing green editorial design. */
.audio-hero-link{margin-top:20px;}
.audio-guide{margin:22px auto 36px;scroll-margin-top:125px;color:var(--green);}
.audio-guide.audio-inset{width:100%;max-width:none;}
.audio-guide-card{border:1px solid #c7d9d0;background:#f2f6f2;padding:16px 20px 6px;border-radius:4px;}
.audio-guide-intro{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.audio-guide .audio-guide-intro h2{font-family:var(--serif);font-size:1.15rem;line-height:1.5;letter-spacing:.03em;margin:0;}
.audio-languages{display:flex;flex-shrink:0;padding:2px;border:1px solid #b7ccc1;border-radius:24px;background:#fff;}
.audio-languages button{border:0;border-radius:20px;padding:6px 10px;min-height:40px;min-width:44px;background:none;color:var(--green);font:500 .8rem var(--sans);cursor:pointer;}
.audio-languages button[aria-pressed=true]{background:var(--green);color:white;}
.audio-controls{margin-top:10px;}
.audio-guide select{color:var(--green);background:white;border:1px solid #b4cabd;border-radius:3px;font:inherit;}
#audio-chapter{display:block;width:100%;max-width:100%;padding:9px 30px 9px 10px;font-size:16px;line-height:1.5;min-height:44px;}
.audio-transport{display:flex;gap:8px;align-items:stretch;margin-top:10px;}
.audio-transport button{border:1px solid #afc5ba;min-height:44px;background:white;color:var(--green);font:500 .82rem/1.4 var(--sans);border-radius:3px;padding:8px 12px;cursor:pointer;}
.audio-transport .audio-play{flex:1;min-width:0;background:var(--green);color:#fff;border-color:var(--green);}
.audio-play[aria-pressed=true]{background:#296b58;}
.audio-seconds{font-size:.7rem;}
.audio-back>span:first-child{font-size:1.1rem;margin-right:3px;}
.audio-transport .audio-back,.audio-transport .audio-next{flex-shrink:0;white-space:nowrap;}
.audio-transport .audio-next{background:transparent;border-color:transparent;}
.audio-guide button:disabled{opacity:.45;cursor:default;}
.audio-progress{display:flex;gap:10px;align-items:center;margin:6px 0 4px;}
.audio-seek{width:100%;height:32px;accent-color:var(--green);cursor:pointer;margin:0;min-width:0;}
.audio-time{font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap;color:#466257;}
.audio-more{border-top:1px solid #ccdad1;margin:0;}
.audio-more>summary{font-size:.8rem;line-height:1.5;min-height:44px;padding:10px 0;}
.audio-more-content{padding-bottom:10px;}
.audio-guide .audio-intro-note{font-size:.8rem;line-height:1.8;margin:0 0 12px;color:#466257;}
.audio-settings{display:flex;gap:10px 20px;align-items:center;flex-wrap:wrap;}
.audio-rate-label{display:flex;align-items:center;gap:8px;font-size:.8rem;}
.audio-rate{min-height:44px;padding:5px 10px;font-size:16px!important;}
.audio-continuous{display:flex;align-items:center;gap:7px;font-size:.8rem;min-height:44px;cursor:pointer;width:fit-content;}
.audio-continuous[hidden]{display:none;}
.audio-continuous input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0;}
.audio-transcript{border-top:1px solid #ccdad1;margin-top:10px;}
.audio-transcript summary{font-size:.82rem;min-height:44px;padding:10px 0;}
.audio-transcript-text{max-height:340px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff;padding:16px 20px;border:1px solid #d6e2da;}
.audio-transcript-text p{font-size:.94rem;line-height:2;color:#293e36;margin:0 0 1em;}
.audio-transcript-text p:last-child{margin-bottom:0;}
.audio-article-link{display:inline-block;margin-top:12px;font-size:.82rem;text-decoration:underline;text-underline-offset:4px;}
.audio-transcript .audio-transcript-note{font-size:.72rem;line-height:1.8;color:#526a5f;margin:12px 0;}
.audio-guide-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #ccdad1;padding-top:10px;}
.audio-guide-bottom p{font-size:.72rem;line-height:1.8;color:#526a5f;margin:0;}
.audio-direct{font-size:.72rem;line-height:1.7;text-decoration:underline;text-underline-offset:3px;flex-shrink:0;}
.audio-error{font-size:.83rem;color:#943c2b;margin:10px 0;}
.audio-guide :is(button,select,input,summary,a):focus-visible,.audio-dock :is(button,a):focus-visible,.audio-chapter-listen:focus-visible{outline:3px solid #b18431;outline-offset:4px;}
.audio-chapter-listen{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #b6cbbf;border-radius:20px;color:var(--green);font:500 .8rem var(--sans);padding:9px 15px;min-height:42px;margin:0 0 18px;cursor:pointer;}
.audio-chapter-listen:hover{background:#eef4ee;}
.audio-dock{position:fixed;right:20px;bottom:20px;z-index:22;display:flex;align-items:center;gap:12px;width:min(610px,calc(100vw - 40px));padding:13px 16px;background:#123f35;color:white;border:1px solid #6d9586;border-radius:6px;box-shadow:0 5px 28px #123c3430;}
.audio-dock[hidden]{display:none;}
.audio-dock-copy{flex:1;min-width:0;}
.audio-dock-state{display:block;font-size:.65rem;letter-spacing:.06em;color:#d5e7df;margin-bottom:2px;}
.audio-dock-title{display:block;font-size:.8rem;line-height:1.6;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-decoration:underline;text-underline-offset:3px;}
.audio-dock button{color:white;background:transparent;border:1px solid #81a494;border-radius:3px;min-height:42px;padding:8px 12px;white-space:nowrap;font:500 .78rem var(--sans);cursor:pointer;}
.audio-dock .audio-dock-close{border:0;padding:6px;font-size:1.35rem;min-width:32px;}
.audio-dock .audio-dock-play{background:#fff;color:#123f35;border-color:#fff;}
@media(max-width:1000px){.has-audio-dock .bgm-player{bottom:108px;}}
@media(max-width:720px){
 .audio-guide{margin-top:18px;margin-bottom:28px;scroll-margin-top:100px;}
 .audio-guide-card{padding:12px 14px 2px;}
 .audio-guide .audio-guide-intro h2{font-size:1rem;}
 .audio-languages button{min-height:40px;padding-inline:9px;}
 .audio-transport button{padding-inline:10px;}
 .audio-guide-bottom{align-items:flex-start;flex-direction:column;gap:8px;}
 .audio-transcript-text{padding:14px;max-height:360px;}
 .audio-dock{right:10px;bottom:calc(80px + env(safe-area-inset-bottom,0px));width:calc(100vw - 20px);padding:10px;gap:8px;}
 .audio-dock-back{display:none;}
 .has-audio-dock .bgm-player{bottom:calc(166px + env(safe-area-inset-bottom,0px));}
}
@media(max-width:380px){.audio-guide-card{padding-inline:10px;}.audio-guide-intro{gap:8px;}.audio-transport{gap:5px;}.audio-transport button{padding-inline:8px;}}
@media print{.audio-guide,.audio-dock,.audio-chapter-listen{display:none!important;}}
