/* Generated ornament surrounds live, accessible audio controls. */
.atlas-listening-room { padding:30px 32px 28px; margin:0 0 28px; color:#f6e9c8; background:transparent url('/assets/atlas-art/audio-panel-v1.png') center/100% 100% no-repeat; filter:drop-shadow(0 8px 12px #173e3022); }
body.ts-route .atlas-listening-room .trailer-btn.card { display:flex; align-items:center; gap:22px; width:100%; padding:8px 0; margin:0; border:0; border-image:none; background:none; box-shadow:none; color:#f6e9c8; text-align:left; transform:none; }
.audio-medallion { position:relative; display:grid; place-items:center; width:104px; height:104px; flex:none; }
.audio-disc { position:absolute; inset:0; background:url('/assets/atlas-art/audio-disc-v1.png') center/contain no-repeat; animation:audio-revolve 16s linear infinite; animation-play-state:paused; filter:drop-shadow(0 4px 5px #071e1666); }
.audio-play-glyph { position:relative; color:#fff0ca; font:20px/1 Georgia,serif; text-shadow:0 1px 3px #071e16; }
.audio-copy { display:block; min-width:0; flex:1; }
.audio-heading { display:block; color:inherit; font:500 clamp(24px,2.4vw,32px)/1.1 var(--atlas-serif,Georgia,serif); }
.audio-caption { display:block; font:400 12px/1.6 var(--atlas-sans,sans-serif); color:#e4d4af; margin-top:8px; }
.audio-waveform { display:flex; align-items:center; gap:3px; height:24px; max-width:210px; margin-top:14px; }
.audio-waveform i { display:block; flex:1; max-width:4px; height:var(--wave); border-radius:2px; background:#c2a56a; opacity:.45; transform:scaleY(.35); animation:audio-wave 1.1s var(--delay) ease-in-out infinite alternate; animation-play-state:paused; }
.is-playing .audio-disc,.is-playing .audio-waveform i { animation-play-state:running; }
.is-playing .audio-waveform i { opacity:1; }
.is-loading .audio-medallion { opacity:.6; }
.audio-seek-row { display:flex; align-items:center; gap:14px; margin-top:14px; padding-top:12px; border-top:1px solid #c2a56a55; }
.audio-seek-row .audio-rewind { flex:none; min-width:44px; min-height:44px; border:1px solid #c2a56a88; background:#102d2433; color:#f6e9c8; font:500 13px var(--atlas-sans,sans-serif); border-radius:50%; cursor:pointer; }
.audio-seek-row input[type=range] { flex:1; min-width:0; width:100%; height:32px; margin:0; padding:0; border:0; background:transparent; accent-color:#dfc184; cursor:pointer; }
.audio-seek-row input::-webkit-slider-runnable-track { height:5px; border-radius:3px; background:linear-gradient(to right,#dfc184 var(--progress,0%),#a7966e55 var(--progress,0%)); }
.audio-seek-row input::-webkit-slider-thumb { margin-top:-5px; }
.audio-seek-row input::-moz-range-track { height:5px; background:#a7966e55; }
.audio-seek-row input::-moz-range-progress { height:5px; background:#dfc184; }
.audio-clock { flex:none; font:400 11px var(--atlas-sans,sans-serif); color:#f6e9c8; font-variant-numeric:tabular-nums; white-space:nowrap; }
.audio-local-status { font:400 12px/1.5 var(--atlas-sans,sans-serif); margin:8px 0; }
.atlas-listening-room :is(button,input):focus-visible { outline:2px solid #ffe4a7; outline-offset:4px; }
.audio-seek-row :disabled { opacity:.45; cursor:default; }
.atlas-listening-compact { display:inline-block; margin-left:auto; }
body.ts-home #cardsGrid .podcard .atlas-listen-button { display:inline-flex; gap:8px; align-items:center; padding:3px 9px 3px 4px; min-height:48px; }
.atlas-listening-compact .audio-medallion { width:38px; height:38px; }
.atlas-listening-compact .audio-play-glyph { font-size:11px; }
.atlas-listening-compact .audio-heading { font:500 12px var(--atlas-sans,sans-serif); }
.atlas-listening-compact .audio-local-status { max-width:180px; color:#923e31; }
@keyframes audio-revolve { to { transform:rotate(360deg); } }
@keyframes audio-wave { from { transform:scaleY(.25); } to { transform:scaleY(1); } }
@media(max-width:480px) { .atlas-listening-room { padding:26px 22px; } body.ts-route .atlas-listening-room .trailer-btn.card { gap:14px; } .atlas-listening-room .audio-medallion { width:76px; height:76px; } .audio-heading { font-size:25px; } .audio-caption { font-size:11px; } .audio-seek-row { gap:10px; } .audio-clock { font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .audio-disc,.audio-waveform i { animation:none; } .is-playing .audio-waveform i { transform:scaleY(.8); } }
