/* DFC e7b8166 visual rhythm. All cards share one grid cell: the tallest real
   content fixes the deck height without truncation or fabricated episodes. */
.podcast-panel { min-width:0; }
.podcast-panel[hidden] { display:none; }
.podcast-body { padding:11px 14px 13px; }
.podcast-body[hidden] { display:none; }
.pod-deck { display:grid; min-width:0; }
.pod { grid-area:1 / 1; display:flex; flex-direction:column; gap:12px; min-width:0; margin:0; }
.pod[hidden] { display:flex!important; visibility:hidden; pointer-events:none; }
.pod-art-frame { display:grid; aspect-ratio:1; min-width:0; }
.pod-art-frame > * { grid-area:1 / 1; }
.pod-art-placeholder { display:flex; align-items:center; justify-content:center; border:1px solid var(--grid); border-radius:10px; background:var(--panel); color:var(--text-dim); font:11px var(--mono); }
.pod-art { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border:1px solid var(--grid); border-radius:10px; background:var(--panel); flex-shrink:0; }
.pod-id { display:flex; flex-direction:column; gap:3px; }
.pod-title { font-size:15px; font-weight:600; line-height:1.25; min-height:37.5px; margin:0; color:var(--text); overflow-wrap:anywhere; }
.pod-pub { font-family:var(--mono); font-size:9px; line-height:1.5; min-height:27px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); margin:0; overflow-wrap:anywhere; }
.pod-blurb { font-size:12px; line-height:1.45; min-height:69.6px; margin:0; color:var(--text-dim); }
.pod-sec { border-top:1px solid var(--grid); padding-top:11px; min-width:0; }
.pod-lab { font:9px var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--brand-l); margin:0 0 7px; }
.pod-ep { display:flex; align-items:flex-start; gap:10px; min-height:48px; padding:7px 0; line-height:1.35; color:var(--text); text-decoration:none; }
.pod-ep+.pod-ep { border-top:1px solid var(--grid); }
.pod-ep:hover { color:var(--brand-l); }
.pod-ep.nolink { color:var(--text-dim); }
.pod-number { font:600 19px/1 var(--mono); color:var(--faint); min-width:15px; }
.pod-episode-title { font-size:12px; min-width:0; overflow-wrap:anywhere; }
.pod-listen { display:flex; flex-wrap:wrap; gap:6px; }
.pod-listen a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0 10px; border:1px solid var(--grid); border-radius:999px; font:9px/1 var(--mono); color:var(--text-dim); text-transform:uppercase; text-decoration:none; }
.pod-listen a:hover { color:var(--text); border-color:var(--brand-l); background:var(--panel2); }
.pod-nav { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--grid); padding-top:11px; margin-top:12px; }
.pod-arrow { width:44px; min-width:44px; height:44px; padding:0; border:1px solid var(--brand-l); border-radius:7px; color:var(--brand-l); background:var(--panel2); font-size:20px; cursor:pointer; }
.pod-arrow:hover { background:var(--brand-l); color:var(--bg); }
.pod-position { font:10px var(--mono); color:var(--text-dim); letter-spacing:.12em; }
.pod-countdown { font:10px/18px var(--mono); color:var(--text-dim); min-height:18px; margin-top:8px; }
.pod-timer { height:4px; overflow:hidden; border-radius:3px; background:var(--grid); margin-top:4px; }
.pod-timer span { display:block; height:100%; width:0; background:linear-gradient(90deg,var(--brand-d),var(--brand-l)); transition:width 1s linear; }
.pod-fold { min-height:44px; margin-left:auto; display:inline-flex; align-items:center; }
.podcast-panel a:focus-visible,.pod-arrow:focus-visible,.pod-fold:focus-visible { outline:2px solid var(--brand-l); outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { .pod-timer span { transition:none; } }

.podcast-panel .panel-heading { min-height:48px; height:auto; }
