/* The 155 Podcast player */
.cc .pod.pod-embed, .pod-embed { padding: 0; display: block; background: none; container-type: inline-size; min-width: 0; }
.pp { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "art meta" "bar bar"; column-gap: 10px; row-gap: 8px; align-items: center; background: var(--ink); color: var(--paper); border-radius: 2px; padding: 10px; font-family: var(--sans); }
.pp-art { grid-area: art; width: 52px; height: 52px; border-radius: 2px; object-fit: cover; display: block; background: #333; }
.pp-meta { grid-area: meta; min-width: 0; display: grid; gap: 2px; }
.pp-show { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .85; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-show span { font-weight: 600; letter-spacing: .04em; }
a.pp-title, a.pp-title:visited { color: var(--paper); text-decoration: none; font-size: 13px; font-weight: 700; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-wrap: pretty; }
a.pp-title:hover { color: var(--paper); text-decoration: underline; text-underline-offset: 2px; }
.pp-desc { display: none; margin: 2px 0 0; font-size: 12px; line-height: 1.45; opacity: .85; text-wrap: pretty; }
.pp-bar { grid-area: bar; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.18); }
.pp-play { width: 34px; height: 34px; border-radius: 50%; background: var(--paper); color: var(--ink); display: grid; place-items: center; text-decoration: none; transition: transform .12s, background .12s; }
.pp-play:hover { background: #fff; color: var(--ink); transform: scale(1.06); }
.pp-play:focus-visible, .pp button:focus-visible, .pp-ext:focus-visible, a.pp-title:focus-visible { outline: 2px solid var(--paper); outline-offset: 2px; }
.pp-play svg { width: 14px; height: 14px; fill: currentColor; }
.pp-i-pause, .pp.is-playing .pp-i-play { display: none; }
.pp.is-playing .pp-i-pause { display: block; }
.pp.is-loading .pp-play { animation: pp-pulse 1s ease-in-out infinite; }
.pp-track { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.pp-time { font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pp-seek { --pp-pct: 0%; -webkit-appearance: none; appearance: none; width: 100%; min-width: 0; height: 14px; margin: 0; background: transparent; cursor: pointer; }
.pp-seek:disabled { cursor: default; }
.pp-seek::-webkit-slider-runnable-track { height: 3px; border-radius: 2px; background: linear-gradient(to right, var(--paper) var(--pp-pct), rgba(255,255,255,.28) var(--pp-pct)); }
.pp-seek::-moz-range-track { height: 3px; border-radius: 2px; background: rgba(255,255,255,.28); }
.pp-seek::-moz-range-progress { height: 3px; border-radius: 2px; background: var(--paper); }
.pp-seek::-webkit-slider-thumb { -webkit-appearance: none; width: 11px; height: 11px; margin-top: -4px; border-radius: 50%; background: var(--paper); border: 0; }
.pp-seek::-moz-range-thumb { width: 11px; height: 11px; border-radius: 50%; background: var(--paper); border: 0; }
.pp-seek:disabled::-webkit-slider-thumb { opacity: 0; }
.pp-seek:disabled::-moz-range-thumb { opacity: 0; }
.pp-ctl { display: flex; align-items: center; gap: 4px; }
.pp-ctl button, .pp-ext { font: 700 11px/1 var(--sans); color: var(--paper); background: transparent; border: 1px solid rgba(255,255,255,.4); border-radius: 2px; min-width: 30px; height: 26px; padding: 0 6px; display: grid; place-items: center; cursor: pointer; text-decoration: none; font-variant-numeric: tabular-nums; }
.pp-ctl button:hover, .pp-ext:hover { border-color: var(--paper); background: rgba(255,255,255,.1); color: var(--paper); }
.pp:not(.pp-ready) .pp-back, .pp:not(.pp-ready) .pp-rate { display: none; }
.pp.is-error .pp-track::before { content: 'Audio unavailable — open on The 155 ↗'; font-size: 11px; font-weight: 600; }
.pp.is-error .pp-back, .pp.is-error .pp-rate, .pp.is-error .pp-seek, .pp.is-error .pp-time { display: none; }
@container (max-width: 270px) {
  .pp-art { width: 40px; height: 40px; }
  a.pp-title { font-size: 12px; }
  .pp-bar { grid-template-columns: auto minmax(0, 1fr); }
  .pp-ctl { display: none; }
  .pp-track { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
.pp-lg .pp-play { width: 44px; height: 44px; }
.pp-lg .pp-play svg { width: 18px; height: 18px; }
@container (min-width: 640px) { .pp-lg a.pp-title { font-size: 18px; } .pp-lg .pp-art { width: 128px; height: 128px; } }
@media (pointer: coarse) {
  .pp-play { width: 44px; height: 44px; }
  .pp-ctl button, .pp-ext { min-width: 36px; height: 36px; }
  .pp-seek { height: 24px; }
}