/* Shared publication tools. Blue remains an accent, not a surface. */
:root { --reader-paper:#fff; --reader-ink:#151619; --reader-muted:#69707b; --reader-line:#e6e7eb; --reader-fill:#f6f7f9; }
html[data-theme='dark'] { --reader-paper:#141518; --reader-ink:#f4f4f6; --reader-muted:#a5a9b2; --reader-line:#303238; --reader-fill:#202227; }
.reader-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
html body .nav-actions .site-search-trigger { display:flex; align-items:center; gap:10px; height:36px; min-height:36px; padding:0 12px; background:var(--reader-fill); color:var(--reader-muted); border:1px solid var(--reader-line); border-radius:100px; font:400 13px 'DM Sans',sans-serif; cursor:pointer; transition:background .16s,box-shadow .16s; }
.site-search-trigger svg,.site-search-top svg { width:18px; height:18px; flex-shrink:0; stroke:currentColor; stroke-width:1.7; fill:none; }
.site-search-trigger kbd { font:11px 'DM Sans',sans-serif; opacity:.75; margin-left:12px; }
html body .site-search-trigger:hover { color:var(--reader-ink); box-shadow:0 0 0 3px var(--reader-fill); }
html body .site-search { position:fixed; inset:12vh 0 auto; margin:0 auto; width:min(680px,calc(100vw - 32px)); max-width:680px; max-height:min(720px,80dvh); padding:0; border:1px solid var(--reader-line); border-radius:20px; color:var(--reader-ink); background:var(--reader-paper); box-shadow:0 32px 100px #0003,0 8px 24px #0001; font-family:'DM Sans',sans-serif; overflow:hidden; }
.site-search[open] { display:flex; flex-direction:column; animation:reader-arrive .18s ease-out; }
.site-search::backdrop { background:rgb(15 20 30 / .3); backdrop-filter:blur(7px); }
.site-search-top { display:flex; align-items:center; gap:16px; padding:22px 24px; border-bottom:1px solid var(--reader-line); }
html body .site-search input { flex:1; min-width:0; padding:0; height:32px; min-height:32px; border:0; border-radius:0; background:transparent; color:var(--reader-ink); font:400 18px 'DM Sans',sans-serif; box-shadow:none; outline:none; }
.site-search input::placeholder { color:var(--reader-muted); }
html body dialog.site-search input#site-search-input:focus-visible { outline:none !important; box-shadow:none !important; }
.site-search-top:focus-within { box-shadow:inset 0 -1px var(--reader-muted); }
.site-search-close { background:var(--reader-fill); border:1px solid var(--reader-line); color:var(--reader-muted); border-radius:6px; font:12px 'DM Sans',sans-serif; padding:5px 7px; cursor:pointer; }
.site-search-meta,.site-search-footer { display:flex; justify-content:space-between; gap:12px; color:var(--reader-muted); font-size:11px; padding:16px 24px; }
.site-search-meta { text-transform:uppercase; letter-spacing:1px; font-size:10px; font-weight:600; }
#site-search-results { min-height:100px; overflow-y:auto; overscroll-behavior:contain; padding:0 10px 10px; }
html body .site-search-hit { display:flex; align-items:center; gap:20px; text-decoration:none; color:var(--reader-ink); padding:16px 14px; border-radius:10px; transition:background .12s; }
.site-search-hit[aria-selected='true'],.site-search-hit:hover { background:var(--reader-fill); }
.site-search-copy { display:flex; flex:1; min-width:0; flex-direction:column; gap:5px; }
.site-search-category { color:var(--reader-muted); font-size:10px; letter-spacing:.8px; text-transform:uppercase; }
.site-search-hit strong { font:600 17px/1.35 'DM Sans',sans-serif; letter-spacing:-.25px; }
.site-search-summary { color:var(--reader-muted); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.site-search-arrow { color:var(--reader-muted); opacity:0; transition:opacity .15s,transform .15s; }
.site-search-hit[aria-selected='true'] .site-search-arrow { opacity:1; transform:translateX(2px); }
.site-search-footer { border-top:1px solid var(--reader-line); padding-block:12px; }
.site-search-footer kbd { display:inline-block; padding:1px 4px; border:1px solid var(--reader-line); border-radius:4px; font:11px 'DM Sans',sans-serif; }
.site-search-empty { padding:34px 20px 44px; text-align:center; font-size:14px; line-height:1.6; color:var(--reader-muted); }
.site-search-retry { display:block; margin:20px auto; padding:12px 20px; border:0; border-radius:100px; background:var(--reader-ink); color:var(--reader-paper); cursor:pointer; }
html body .home-latest-podcasts { padding:32px 0 20px; }
.home-latest-podcasts .editorial-panel-head { align-items:center; border-bottom:1px solid var(--reader-line); padding-bottom:14px; margin-bottom:0; }
html[data-theme] body.home-editorial .home-latest-podcasts h2 { font:italic 900 19px/24px 'DM Sans',sans-serif !important; text-transform:uppercase; letter-spacing:-.4px !important; }
.home-podcast-grid { display:flex; flex-direction:column; }
.home-podcast-card { border-bottom:1px solid var(--reader-line); }
html body .home-podcast-card button { display:flex; align-items:center; gap:18px; border:0; padding:14px 0; background:transparent; color:var(--reader-ink); text-align:left; width:100%; cursor:pointer; font-family:'DM Sans',sans-serif; }
.home-podcast-copy { flex:1; min-width:0; }
.home-podcast-art { display:block; flex-shrink:0; width:80px; height:56px; overflow:hidden; border-radius:6px; background:var(--reader-fill); }
.home-podcast-art img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.home-podcast-play { display:grid; place-items:center; flex-shrink:0; width:34px; height:34px; margin-right:4px; border-radius:50%; background:var(--reader-fill); color:var(--reader-ink); border:1px solid var(--reader-line); font-size:12px; transition:transform .2s; }
.home-podcast-card button:hover .home-podcast-art img { transform:scale(1.025); }
.home-podcast-card button:hover .home-podcast-play { transform:scale(1.08); }
.home-podcast-meta { display:block; font-size:11px; color:var(--reader-muted); margin:0 0 5px; }
html[data-theme] body.home-editorial .home-podcast-card h3 { font:600 17px/1.35 'DM Sans',sans-serif !important; letter-spacing:-.25px !important; margin:0; }
.home-podcast-status { color:var(--reader-muted); font:13px/1.5 'DM Sans',sans-serif; }
html body .reader-mini-player { position:fixed; bottom:18px; right:18px; width:320px; z-index:1100; padding:12px 12px 8px; background:var(--reader-paper); color:var(--reader-ink); border:1px solid var(--reader-line); box-shadow:0 6px 30px #0002,0 1px 4px #0001; border-radius:14px; font-family:'DM Sans',sans-serif; animation:reader-arrive .2s ease-out; }
html body .reader-mini-player[hidden],html body .home-podcast-status[hidden] { display:none; }
.reader-mini-track { display:flex; align-items:center; gap:9px; }
.reader-mini-track img { width:36px; height:36px; flex-shrink:0; object-fit:cover; border-radius:6px; }
html body .reader-mini-title { flex:1; min-width:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font:600 12px/1.4 'DM Sans',sans-serif; text-decoration:none; color:var(--reader-ink); }
html body .reader-mini-track button { display:grid; place-items:center; flex-shrink:0; width:28px; height:32px; min-height:0; padding:0; border:0; border-radius:50%; background:transparent; color:var(--reader-muted); font-size:21px; cursor:pointer; }
html body .reader-mini-track [data-mini='play'] { width:34px; height:34px; background:var(--reader-ink); color:var(--reader-paper); font-size:12px; }
.reader-mini-progress { display:flex; align-items:center; gap:10px; margin-top:7px; }
html body .reader-mini-player input[type='range'] { flex:1; min-width:0; width:100%; height:18px; min-height:18px; margin:0; padding:0; accent-color:var(--reader-ink); cursor:pointer; box-shadow:none; }
.reader-mini-times { flex-shrink:0; font-size:9px; color:var(--reader-muted); font-variant-numeric:tabular-nums; white-space:nowrap; }
.reader-mini-status { margin:8px 0 0; color:var(--reader-muted); font-size:10px; line-height:1.4; }
.reader-mini-status:empty { display:none; }
body:has(.reader-mini-player:not([hidden])) .editorial-capture-popover { bottom:140px; }
/* The library and shared floating controls drive the same audio element. */
body:has(.reader-mini-player) #pl-mini { display:none !important; }
:is(.site-search-trigger,.site-search,.reader-mini-player,.home-podcast-card) :focus-visible { outline:2px solid var(--reader-muted); outline-offset:3px; }
@keyframes reader-arrive { from { opacity:0; transform:translateY(8px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@media (min-width:1101px) { html:not(#legacy-publication) body .nav.publication-nav .nav-inner { grid-template-columns:auto minmax(0,1fr) auto !important; } }
@media (min-width:1101px) and (max-width:1340px) { html:not(#legacy-publication) body .nav.publication-nav .nav-links { gap:12px !important; } }
html:not(#legacy-publication) body .publication-nav button.site-search-trigger:focus-visible { outline-color:var(--reader-muted) !important; }
@media (max-width:1340px) { html body .nav-actions .site-search-trigger { padding:0 10px; gap:7px; } .site-search-trigger kbd { display:none; } }
@media (max-width:1100px) { html body .nav-actions .site-search-trigger { width:36px; padding:0; justify-content:center; } .site-search-trigger span { display:none; } }
/* Account remains available in the menu on the narrowest phones. */
@media (max-width:370px) { html:not(#legacy-publication) body .publication-nav .nav-actions a.btn.nav-reader-login { display:none !important; } }
@media (max-width:640px) {
  html body .site-search { inset:76px 0 auto; width:calc(100vw - 20px); max-height:calc(100dvh - 96px); border-radius:16px; }
  .site-search-top { padding:16px; gap:10px; }
  html body .site-search input { font-size:16px; }
  .site-search-meta,.site-search-footer { padding-inline:16px; }
  .site-search-footer > span:last-child { display:none; }
  .site-search-hit strong { font-size:15px; }
  html body .home-podcast-card button { gap:12px; padding:12px 0; }
  .home-podcast-art { width:56px; height:48px; }
  html[data-theme] body.home-editorial .home-podcast-card h3 { font-size:14px !important; }
  html body .home-latest-podcasts { padding-top:36px; }
  html body .reader-mini-player { width:calc(100vw - 24px); max-width:320px; bottom:max(12px,env(safe-area-inset-bottom)); right:12px; }
}
@media (prefers-reduced-motion:reduce) { .site-search[open],html body .reader-mini-player { animation:none; } .home-podcast-art img,.home-podcast-play,.site-search-hit,.site-search-arrow { transition:none; } }
