/* Blog post reading aids (Nov 1, 2026): source tags, Sources list, X cards, docked audio player. Uses the --sl- tokens (sl.css). */

/* ---------- Source tags: outlet name in place of a bare URL */
.prose a.src-tag{display:inline-block;font:600 12px/1.5 var(--sl-sans);letter-spacing:.01em;padding:0 6px;margin:0 1px;border:1px solid var(--sl-line);border-radius:var(--sl-r-tag);background:var(--sl-surface);color:var(--sl-navy);text-decoration:none;vertical-align:2px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.prose a.src-tag:hover{border-color:var(--sl-navy);color:var(--sl-gold-ink)}
.prose a.src-tag:focus-visible{outline:2px solid var(--sl-gold-ink);outline-offset:2px}
.prose p.src-line{margin-top:-.4em}

/* ---------- Sources list at the end of a post */
.post-sources{margin-top:2.4em;padding-top:18px;border-top:2px solid var(--sl-navy);font-family:var(--sl-sans)}
.prose .post-sources h2{font:600 var(--sl-fs-label)/1.3 var(--sl-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sl-gold-ink);margin:0 0 10px}
.prose .post-sources ul.src-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--sl-line)}
.prose .post-sources ul.src-list li{margin:0;padding:0;border-bottom:1px solid var(--sl-line)}
.post-sources .src-list a{display:block;padding:8px 0;text-decoration:none;color:var(--sl-ink);min-width:0}
.post-sources .src-out{display:block;font-size:14.5px;font-weight:600;line-height:1.35;color:var(--sl-ink)}
.post-sources .src-url{display:block;font-size:13px;line-height:1.4;color:var(--sl-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.post-sources .src-list a:hover .src-out{color:var(--sl-gold-ink);text-decoration:underline}
.post-sources .src-list a:focus-visible{outline:2px solid var(--sl-gold-ink);outline-offset:2px}
@media (min-width:621px){.post-sources .src-list a{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;align-items:baseline}}

/* ---------- X cards (replace the X widget) */
.qotd-embed.xcard{margin:20px 0;max-width:560px}
.xc{margin:0;padding:12px 16px 10px;background:var(--sl-surface);border:1px solid var(--sl-line);border-top:3px solid var(--sl-navy);border-radius:var(--sl-r-box);font-family:var(--sl-sans)}
.xc-by{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;font-size:15px;line-height:1.35;color:var(--sl-ink)}
.xc-mark{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:2px;border-radius:var(--sl-r-tag);background:var(--sl-navy);color:#fff;font:700 11px/1 var(--sl-sans);align-self:center}
.xc-name{font-weight:650}
.xc-h{color:var(--sl-muted);font-size:14px}
.xc-text{margin:8px 0 0;font-size:15.5px;line-height:1.5;color:var(--sl-ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;cursor:pointer}
.xc-text p{margin:0 0 .5em}
.xc-text p:last-child{margin-bottom:0}
.xcard.is-open .xc-text{display:block;-webkit-line-clamp:unset;line-clamp:none;overflow:visible;cursor:auto}
.xc-more{margin:4px 0 0;padding:4px 0;min-height:32px;border:0;background:none;font:600 13.5px/1 var(--sl-sans);color:var(--sl-navy);cursor:pointer;text-decoration:underline;text-underline-offset:.15em}
.xc-more:hover{color:var(--sl-gold-ink)}
.xc-more[hidden]{display:none}
.xc-meta{margin:8px 0 0;font-size:13.5px;line-height:1.4;color:var(--sl-muted)}
.xc-media{display:inline-block;font:600 11.5px/1.55 var(--sl-sans);padding:0 6px;border:1px solid var(--sl-line);border-radius:var(--sl-r-tag);color:var(--sl-muted);vertical-align:1px}
.xc-link{font-weight:600;color:var(--sl-navy)}
.xc-link::after{content:" \2192"}
.xc-link:hover{color:var(--sl-gold-ink)}
.xc-more:focus-visible,.xc-link:focus-visible{outline:2px solid var(--sl-gold-ink);outline-offset:2px}

/* ---------- Docked audio player (drives the same <audio> as the Listen bar) */
.listen-dock{position:fixed;z-index:60;right:max(16px,env(safe-area-inset-right));bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px));width:360px;max-width:calc(100vw - 24px);font-family:var(--sl-sans);animation:ld-in .18s ease-out}
.listen-dock[hidden]{display:none}
.ld-full{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 8px;background:var(--sl-navy);color:#fff;border-radius:var(--sl-r-box);box-shadow:0 6px 24px rgba(11,29,54,.28)}
.ld-full[hidden]{display:none}
.ld-play,.ld-x,.ld-open{flex:none;display:grid;place-items:center;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ld-play{width:40px;height:40px;border-radius:var(--sl-r);background:var(--sl-gold-lt);color:var(--sl-navy)}
.ld-play:hover{background:var(--sl-gold-lt-hover)}
.ld-play svg,.ld-open svg{width:20px;height:20px;fill:currentColor}
.ld-play .i-pause,.listen-dock.is-playing .ld-play .i-play,.ld-open .i-pause,.listen-dock.is-playing .ld-open .i-play{display:none}
.listen-dock.is-playing .ld-play .i-pause,.listen-dock.is-playing .ld-open .i-pause{display:block}
.ld-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ld-title{font-size:12.5px;line-height:1.3;color:var(--sl-on-navy-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ld-seek{--p:0%;width:100%;height:20px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.ld-seek::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--sl-gold-lt) var(--p),rgba(255,255,255,.28) var(--p))}
.ld-seek::-moz-range-track{height:4px;border-radius:2px;background:rgba(255,255,255,.28)}
.ld-seek::-moz-range-progress{height:4px;border-radius:2px;background:var(--sl-gold-lt)}
.ld-seek::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border:0;border-radius:50%;background:#fff}
.ld-seek::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#fff}
.ld-time{flex:none;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--sl-on-navy-muted);white-space:nowrap}
.ld-x{width:36px;height:36px;border-radius:var(--sl-r);background:transparent;color:#fff}
.ld-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ld-x:hover{background:rgba(255,255,255,.12)}
.ld-open{margin-left:auto;gap:6px;grid-auto-flow:column;height:44px;padding:0 14px 0 12px;border-radius:var(--sl-r);background:var(--sl-navy);color:#fff;font:600 14px/1 var(--sl-sans);box-shadow:0 6px 24px rgba(11,29,54,.28)}
.ld-open[hidden]{display:none}
.listen-dock.is-collapsed{width:auto;display:flex;justify-content:flex-end}
.ld-play:focus-visible,.ld-x:focus-visible,.ld-open:focus-visible,.ld-seek:focus-visible{outline:2px solid var(--sl-gold-lt);outline-offset:2px}
@keyframes ld-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.listen-dock{animation:none}}
@media (max-width:620px){
  .listen-dock{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));width:auto;max-width:none}
  .listen-dock.is-collapsed{left:auto}
  .ld-time{font-size:12px}
  body.has-listen-dock .site-footer{padding-bottom:104px}
}
@media (min-width:621px){body.has-listen-dock .site-footer{padding-bottom:96px}}
@media print{.listen-dock{display:none!important}}
