/* Pressure of Truth — site styles */
:root{
  --serif:Georgia,'Times New Roman',Times,serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --maxw:1080px; --readw:760px;
  /* default theme = kindle (sepia) */
  --ink:#1a1a1a; --paper:#faf8f3; --panel:#ffffff; --rule:#1a1a1a;
  --accent:#7a1f1f; --accent2:#2b4a6f; --muted:#6b6b6b; --line:#e3ddd0;
  --soft:#333333; --tint:#f3efe6; --mark:#fff7d6;
}
[data-theme="kindle"]{
  --ink:#1a1a1a; --paper:#faf8f3; --panel:#ffffff; --rule:#1a1a1a;
  --accent:#7a1f1f; --accent2:#2b4a6f; --muted:#6b6b6b; --line:#e3ddd0;
  --soft:#333333; --tint:#f3efe6; --mark:#fff7d6;
}
[data-theme="light"]{
  --ink:#1a1a1a; --paper:#ffffff; --panel:#ffffff; --rule:#111111;
  --accent:#9a2222; --accent2:#2b4a6f; --muted:#666666; --line:#e6e6e6;
  --soft:#333333; --tint:#f4f4f4; --mark:#fff7d6;
}
[data-theme="dark"]{
  --ink:#e8e4da; --paper:#16171a; --panel:#1f2024; --rule:#3a3c42;
  --accent:#e0a64d; --accent2:#86b3e6; --muted:#9a948a; --line:#2f3138;
  --soft:#c7c2b8; --tint:#26282d; --mark:#3a3320;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-size:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);
  line-height:1.65;font-size:1.125rem;transition:background .2s ease,color .2s ease}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* Sticky controls header (always visible) */
/* 3 zones: logo | like (centred) | reading tools. Grid (not flex+space-between) so the middle
   zone is TRUE-centred in the bar rather than centred in whatever gap is left over. */
.topbar{position:sticky;top:0;z-index:200;display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:.5rem;padding:.4rem .9rem;background:var(--paper);
  border-bottom:1px solid var(--line);font-family:var(--sans)}
.topbar-logo{justify-self:start}
.topbar-mid{justify-self:center;display:flex;justify-content:center;min-width:0}
.topbar-tools{justify-self:end}
/* Narrow screens: the like control gets its OWN centred row. One row cannot hold
   logo + "Like this article?" + A-/A+ + theme on a small phone — and because the bar is sized
   in rem, one tap of A+ made them collide (measured: 8px gap at 375/100% -> -5px at 320/106%).
   A dedicated row is both collision-proof at any font step and the most visible spot going. */
@media(max-width:480px){
  .topbar{grid-template-columns:auto 1fr;grid-template-areas:"logo tools" "like like";
    row-gap:.3rem;padding:.35rem .7rem}
  .topbar-logo{grid-area:logo}
  .topbar-tools{grid-area:tools}
  .topbar-mid{grid-area:like;justify-self:center}
}
.topbar-logo{display:inline-flex;align-items:center;line-height:0;flex:none;border-radius:50%}
.topbar-logo svg{display:block;width:26px;height:26px}
.topbar-logo:hover{text-decoration:none;opacity:.85}
.topbar-logo:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:50%}
.topbar-tools{display:flex;align-items:center;gap:.45rem;flex:none}
.fontctl{display:flex;gap:.2rem}
.topbar button{cursor:pointer;background:var(--panel);border:1px solid var(--line);
  color:var(--ink);border-radius:5px;line-height:1;font-family:var(--sans);
  display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s}
.topbar button:hover{border-color:var(--accent)}
.fontctl button{min-width:2rem;height:2.1rem;font-weight:700;padding:0 .45rem}
#fontDown{font-size:.82rem}
#fontUp{font-size:1.08rem}
/* Thumbs-up (story/analysis only). Lives in the sticky topbar so it is always reachable while
   reading and can never overlap the article — no fixed overlay, nothing for a phone to cover.
   The question rides ON the button so the whole thing is one big tap target. */
.likebtn{height:2.1rem;padding:0 .55rem;gap:.34rem;font-family:var(--sans);font-size:.8rem;
  font-weight:700;white-space:nowrap;max-width:100%;overflow:hidden}
.likebtn .likelbl{overflow:hidden;text-overflow:ellipsis}
.likebtn svg{width:1.05rem;height:1.05rem;display:block;flex:none;fill:currentColor;transform-origin:50% 70%}
.likebtn .like-n{line-height:1;font-variant-numeric:tabular-nums;opacity:.75}
.likebtn .like-n:empty{display:none}
.likebtn:not(.is-liked):hover{border-color:var(--accent);color:var(--accent)}
.likebtn.is-liked{background:var(--accent);border-color:var(--accent);color:#faf8f3}
.likebtn.is-liked:hover{border-color:var(--accent)}
.likebtn.is-liked .like-n{opacity:.9}
.likebtn.is-liked svg{animation:likepop .3s ease-out}
@keyframes likepop{0%{transform:scale(1)}45%{transform:scale(1.4)}100%{transform:scale(1)}}
/* Attention nudge: a ~2s wiggle once every 60s, and only until the reader has liked.
   One long animation cycle (not a JS timer) — nothing to schedule, nothing to leak. */
.likebtn:not(.is-liked) svg{animation:likenudge 60s ease-in-out 8s infinite}
@keyframes likenudge{
  0%,90%,100%{transform:rotate(0) scale(1)}
  91.5%{transform:rotate(-12deg) scale(1.12)}
  93%{transform:rotate(9deg) scale(1.12)}
  94.5%{transform:rotate(-7deg) scale(1.08)}
  96%{transform:rotate(5deg) scale(1.04)}
  97.5%{transform:rotate(-2deg) scale(1.02)}
}
@media (prefers-reduced-motion:reduce){
  .likebtn svg,.likebtn.is-liked svg,.likebtn:not(.is-liked) svg{transition:none;animation:none}
}
.themebtn{width:2.1rem;height:2.1rem;padding:0}
.themebtn svg{width:1.15rem;height:1.15rem;display:none;stroke:currentColor;fill:none;stroke-width:2}
.themebtn .ico-kindle{display:block}
[data-theme="light"] .themebtn .ico-kindle{display:none}
[data-theme="light"] .themebtn .ico-light{display:block}
[data-theme="dark"] .themebtn .ico-kindle{display:none}
[data-theme="dark"] .themebtn .ico-dark{display:block}

/* Masthead */
.masthead{border-bottom:3px double var(--rule);background:var(--paper)}
.mast-inner{max-width:var(--maxw);margin:0 auto;padding:1.4rem 1.25rem .6rem;text-align:center}
.wordmark{display:inline-block;font-weight:700;letter-spacing:-1px;color:var(--ink);
  font-size:clamp(2rem,6vw,3.4rem);line-height:1}
.wordmark:hover{text-decoration:none}
.tagline{font-style:italic;color:var(--accent);margin-top:.35rem;font-size:1.05rem}
.mainnav{max-width:var(--maxw);margin:0 auto;padding:.5rem 1.25rem;display:flex;
  flex-wrap:wrap;gap:1.25rem;justify-content:center;border-top:1px solid var(--line);
  font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.mainnav a{color:var(--muted);font-weight:600}
.mainnav a.active,.mainnav a:hover{color:var(--ink);text-decoration:none}

/* Layout */
.wrap{max-width:var(--maxw);margin:0 auto;padding:1.6rem 1.25rem 3rem}
.editionline{font-family:var(--sans);text-transform:uppercase;letter-spacing:.12em;
  font-size:.74rem;color:var(--muted);text-align:center;border-bottom:1px solid var(--line);
  padding-bottom:1rem;margin-bottom:1.6rem}
.pagetitle{font-size:2.2rem;margin:.2rem 0 1.2rem}
.empty{color:var(--muted);font-style:italic}

/* Hero / lead (headline) story */
.hero{display:block;position:relative;background:var(--panel);border:1px solid var(--line);
  border-top:4px solid var(--accent);padding:1.5rem 1.6rem 1.7rem;margin:0 0 2.2rem;color:var(--ink)}
.hero:hover{text-decoration:none;box-shadow:0 3px 20px rgba(0,0,0,.08)}
.hero-kicker{font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;
  font-size:.72rem;font-weight:700;color:var(--accent);margin-bottom:.45rem}
.hero-head{font-size:clamp(1.9rem,4.6vw,2.9rem);line-height:1.1;margin:.1rem 0 .55rem;
  letter-spacing:-.6px;border:0}
.hero-dek{font-size:1.22rem;color:var(--soft);line-height:1.5;margin:0 0 .85rem;max-width:62ch}
.hero .badge{margin-bottom:.55rem}

/* Desks + story cards */
.desk{margin-bottom:2.4rem}
.deskhead{font-size:1.05rem;text-transform:uppercase;letter-spacing:.14em;
  font-family:var(--sans);font-weight:700;border-bottom:2px solid var(--rule);
  padding-bottom:.35rem;margin:0 0 1rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.1rem}
.card{display:block;position:relative;background:var(--panel);border:1px solid var(--line);
  border-top:3px solid var(--ink);padding:1.1rem 1.1rem 1.3rem;color:var(--ink)}
.card:hover{text-decoration:none;border-top-color:var(--accent);box-shadow:0 2px 14px rgba(0,0,0,.06)}
.card h3{margin:.15rem 0 .5rem;font-size:1.28rem;line-height:1.25}
.card p{margin:0 0 .8rem;color:var(--soft);font-size:.98rem}
.card-meta{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--muted)}
/* Analysis: band on the home page + card kicker + proponents line */
.card-kicker{display:inline-block;font-family:var(--sans);font-size:.66rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.2rem}
.analysis-card{border-top-color:var(--accent)}
.analysis-band .band-note{font-family:var(--sans);font-size:.85rem;color:var(--muted);margin:-.3rem 0 .9rem}
.proponents .lbl{color:var(--muted)}
.proponents{font-size:.95rem;color:var(--soft)}

/* Audio players (story pages, cards, hero, daily + per-category briefings) */
.ap-label{font-family:var(--sans);text-transform:uppercase;letter-spacing:.1em;
  font-size:.7rem;font-weight:700;color:var(--muted)}
audio{color-scheme:normal}
/* Stretched-link: the whole card/hero is clickable via an overlay anchor, while
   the audio control sits above it so its own clicks don't navigate the card. */
.card-link{position:absolute;inset:0;z-index:1}
.card-audio{position:relative;z-index:2;margin:.1rem 0 .7rem}
.card-audio audio{display:block;width:100%;height:34px}
.hero-audio{max-width:480px;margin-top:.2rem}
.story-audio{display:flex;flex-direction:column;gap:.35rem;margin:0 0 1.6rem}
.story-audio audio{width:100%;height:38px}
.day-podcast{display:flex;flex-direction:column;align-items:center;gap:.45rem;margin:0 0 1.9rem}
.day-podcast audio{width:100%;max-width:480px;height:38px}
/* Two-depth audio: Summary + In-Depth (full story) */
.story-audio-group{display:flex;flex-direction:column;gap:.7rem;margin:0 0 1.6rem}
.story-audio-group .story-audio{margin:0}
.story-audio-full audio{border-left:3px solid var(--accent)}
.ap-variant{display:flex;flex-direction:column;align-items:center;gap:.3rem;width:100%;max-width:480px}
.ap-sub{font-family:var(--sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
/* Per-category control: fixed-width name keeps every audiobook control aligned. */
.deskhead-row{display:flex;align-items:center;gap:1rem;border-bottom:2px solid var(--rule);
  margin:0 0 1rem;padding-bottom:.4rem}
.deskhead-row .deskhead{flex:0 0 9rem;width:9rem;border:0;margin:0;padding:0}
.cat-audio{flex:1 1 auto;min-width:0;max-width:360px;height:34px}
@media(max-width:560px){
  .deskhead-row{flex-wrap:wrap;gap:.5rem}
  .deskhead-row .deskhead{flex:0 0 auto;width:auto}
  .cat-audio{flex:1 0 100%;max-width:none}
}
.more-link{display:inline-block;margin:1rem 0 0;font-family:var(--sans);font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--accent)}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  margin:2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);
  font-family:var(--sans);font-size:.85rem}
.pagination a{font-weight:700}
.pagination .pg-info{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}

.badge{display:inline-block;margin:0 0 .55rem;background:var(--accent);color:#fff;
  font-family:var(--sans);font-size:.62rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;padding:.15rem .5rem;border-radius:2px;vertical-align:middle}

/* Story article */
.story{max-width:var(--readw);margin:0 auto}
.story .kicker{font-family:var(--sans);text-transform:uppercase;letter-spacing:.12em;
  font-size:.74rem;font-weight:700;color:var(--accent)}
.story h1{font-size:2.5rem;line-height:1.12;margin:.3rem 0 .5rem;letter-spacing:-.5px}
.story .dek{font-size:1.25rem;color:var(--soft);font-style:italic;margin:.2rem 0 .8rem}
.storymeta{font-family:var(--sans);font-size:.74rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--muted);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);padding:.6rem 0;margin:0 0 1.6rem}
.story h2{font-size:1.5rem;margin:2rem 0 .7rem;padding-bottom:.25rem;border-bottom:1px solid var(--line)}
.story section{scroll-margin-top:3.5rem}
.section-note{color:var(--muted);font-size:.95rem;margin:.2rem 0 1rem}

/* TL;DR lead */
.tldr{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);
  padding:1.1rem 1.3rem;margin:0 0 1.6rem}
.tldr h2{border:0;margin:0 0 .5rem;font-family:var(--sans);text-transform:uppercase;
  letter-spacing:.1em;font-size:.85rem;color:var(--accent)}
.tldr p{margin:.6rem 0}
.tldr p:first-of-type{margin-top:0}

/* Table of contents */
.toc{background:var(--tint);border:1px solid var(--line);padding:.8rem 1.1rem;margin:0 0 1.8rem;
  font-family:var(--sans);font-size:.9rem;display:inline-block;min-width:240px}
.toc-label{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;color:var(--muted)}
.toc ol{margin:.4rem 0 0;padding-left:1.3rem}
.toc li{margin:.15rem 0}

/* Citations */
sup.cite{font-size:.62em;line-height:0}
sup.cite a{color:var(--accent2);font-weight:600}

/* Facts list */
ul.facts{list-style:none;padding:0;margin:0}
ul.facts li{position:relative;padding:.35rem 0 .35rem 1.6rem;border-bottom:1px dotted var(--line)}
ul.facts li:before{content:"\2713";position:absolute;left:0;color:var(--accent2);font-weight:700}

/* Stakeholder cards */
/* "How Each Side Sees It" — tab control + full-width readable panels */
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0 0;border-bottom:2px solid var(--line)}
.tab{font-family:var(--sans);font-size:.92rem;font-weight:700;cursor:pointer;
  background:transparent;border:1px solid var(--line);border-bottom:none;color:var(--muted);
  padding:.5rem .95rem;border-radius:7px 7px 0 0;margin-bottom:-2px;line-height:1.2}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{color:var(--accent);background:var(--panel);
  border-color:var(--line);border-bottom:2px solid var(--panel)}
.tabpanel{background:var(--panel);border:1px solid var(--line);border-top:none;
  padding:1.1rem 1.2rem 1.2rem;font-size:1.12rem;line-height:1.6}
.tabpanel[hidden]{display:none}
.tabpanel p{margin:.2rem 0 1rem}
.tabpanel p:last-child{margin-bottom:0}
.lbl{display:block;font-family:var(--sans);font-size:.66rem;text-transform:uppercase;
  letter-spacing:.09em;color:var(--muted);font-weight:700;margin-bottom:.05rem}

/* Bias ledger table */
.ledger-avg{font-family:var(--sans);font-size:.66rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--muted);margin-left:.55rem;white-space:nowrap;vertical-align:middle}
.ledger-avg .bscore{margin-left:.25rem;vertical-align:middle}
table.ledger{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:.4rem;table-layout:fixed}
table.ledger th{text-align:left;font-family:var(--sans);text-transform:uppercase;
  font-size:.68rem;letter-spacing:.07em;color:var(--muted);border-bottom:2px solid var(--rule);padding:.5rem .6rem}
/* fixed column proportions so a long vantage label can't starve the text columns */
table.ledger th:nth-child(1){width:18%}
table.ledger th:nth-child(2){width:15%}
table.ledger th:nth-child(3){width:8%}
table.ledger th:nth-child(4){width:32%}
table.ledger th:nth-child(5){width:27%}
table.ledger td{border-bottom:1px solid var(--line);padding:.6rem;vertical-align:top;overflow-wrap:break-word}
table.ledger td.outlet{font-weight:700}
table.ledger td.tell{color:var(--soft);font-style:italic}
.lean{display:inline-block;background:var(--tint);font-family:var(--sans);font-size:.68rem;
  padding:.1rem .4rem;border-radius:2px;color:var(--muted);white-space:normal}

/* Bias score badges (1 green .. 10 red) */
.bscore{display:inline-block;min-width:1.7em;text-align:center;color:#fff;font-family:var(--sans);
  font-weight:700;font-size:.78rem;padding:.06rem .35rem;border-radius:4px;line-height:1.4}
.bscore.bna{background:var(--muted)}
.b1{background:#1a7d3c}.b2{background:#3f9a42}.b3{background:#6aa82f}
.b4{background:#97ad2a}.b5{background:#caa726}.b6{background:#e09127}
.b7{background:#e0742a}.b8{background:#d6512a}.b9{background:#c33020}.b10{background:#a81d12}

/* Outlets index (filter + sortable table) */
.outlet-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .9rem;margin:.2rem 0 1.2rem}
.outlet-filter{flex:1 1 220px;max-width:340px;font-family:var(--sans);font-size:1rem;
  padding:.55rem .8rem;margin:0;border:1px solid var(--line);border-radius:6px;
  background:var(--panel);color:var(--ink)}
.outlet-filter:focus,.of-ctl input:focus,.of-ctl select:focus{outline:none;border-color:var(--accent)}
.of-ctl{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--sans);font-size:.82rem;color:var(--muted);white-space:nowrap}
.of-ctl input,.of-ctl select{font-family:var(--sans);font-size:.95rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink)}
.of-ctl input[type=number]{width:4.6rem}
.of-reset{font-family:var(--sans);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:none;border:0;cursor:pointer;padding:.3rem .2rem}
.of-count{font-family:var(--sans);font-size:.76rem;color:var(--muted);margin-left:auto}

/* Latest page — section filter pills */
.filter-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin:.2rem 0 1.4rem}
.pill{font-family:var(--sans);font-size:.82rem;font-weight:700;cursor:pointer;
  background:var(--panel);border:1px solid var(--line);color:var(--muted);
  padding:.4rem .95rem;border-radius:999px;line-height:1.2;text-transform:uppercase;letter-spacing:.05em}
.pill:hover{color:var(--ink);border-color:var(--accent)}
.pill.active{background:var(--accent);border-color:var(--accent);color:#fff}
.outlets-table{width:100%;border-collapse:collapse;font-size:.95rem}
.outlets-table th{text-align:left;font-family:var(--sans);text-transform:uppercase;font-size:.68rem;
  letter-spacing:.07em;color:var(--muted);border-bottom:2px solid var(--rule);padding:.5rem .6rem;
  cursor:pointer;user-select:none;white-space:nowrap}
.outlets-table th:hover{color:var(--ink)}
.outlets-table th[data-key]::after{content:"\2195";opacity:.35;margin-left:.3rem;font-size:.85em}
.outlets-table th[aria-sort="ascending"]::after{content:"\2191";opacity:1}
.outlets-table th[aria-sort="descending"]::after{content:"\2193";opacity:1}
.outlets-table td{border-bottom:1px solid var(--line);padding:.5rem .6rem;vertical-align:middle}
.outlets-table td.num,.outlets-table th.num{text-align:right}
.outlets-table tbody tr:hover{background:var(--tint)}
.outlets-table .lean{white-space:normal}

/* Outlet track-record page */
.outlet-score{display:flex;align-items:center;gap:1rem;background:var(--panel);border:1px solid var(--line);
  padding:1rem 1.2rem;border-radius:2px;margin:1rem 0 1.6rem}
.bscore-big{display:inline-flex;align-items:center;justify-content:center;min-width:3.4rem;height:3.4rem;
  color:#fff;font-family:var(--sans);font-weight:800;font-size:1.7rem;border-radius:8px}
.os-label{font-family:var(--sans);font-size:.95rem;color:var(--soft);line-height:1.4}
.os-label small{color:var(--muted)}
ul.outlet-stories{list-style:none;padding:0;margin:0}
ul.outlet-stories li{display:flex;align-items:baseline;gap:.6rem;padding:.45rem 0;border-bottom:1px dotted var(--line)}
.outlet-profile{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent2);
  padding:1rem 1.2rem;border-radius:2px;margin:0 0 1.4rem}
.op-summary{margin:0 0 .8rem;font-size:1.05rem;color:var(--ink);line-height:1.55}
.op-facts{display:grid;gap:.45rem;font-size:.95rem}
.op-facts > div{display:flex;gap:.5rem;flex-wrap:wrap}
.ol-k{font-family:var(--sans);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;
  font-weight:700;color:var(--muted);min-width:9.5rem;display:inline-block}
.outlet-profile .more-link{margin-top:.9rem}

/* The Pressure box (intentionally dark in every theme) */
.pressure{background:#1f1f1f;color:#f3efe6;padding:1.3rem 1.4rem;border-radius:2px;
  border:1px solid rgba(255,255,255,.08)}
.pressure .section-note{color:#b9b2a4}
.pressure .lbl{color:#c9a23f}
.pressure a{color:#e6b34d}
.imperatives{margin:.4rem 0 1rem}
.pressure .imperatives dt{font-weight:700;color:#fff;margin-top:.7rem}
.pressure .imperatives dd{margin:.1rem 0 0;color:#ddd6c8}
.imperatives dt{font-weight:700;margin-top:.7rem}
.imperatives dd{margin:.1rem 0 .6rem;color:var(--soft)}
.pressure .narrative{border-top:1px solid #3a3a3a;padding-top:.8rem;margin-top:1rem}

/* Fact-check verification */
.verified{color:#2e6b3e;font-weight:700}
.verifynote{background:#eef5ee;border:1px solid #cfe2d0;border-left:4px solid #2e6b3e;
  color:#244a2c;padding:.7rem 1rem;margin:1.6rem 0 .4rem;font-size:.92rem;border-radius:2px}
[data-theme="dark"] .verified{color:#7fc78d}
[data-theme="dark"] .verifynote{background:#17231a;border-color:#2f4a33;color:#c4e2c9}
.balanced{color:#2b5d7a;font-weight:700}
.biasnote{background:#eef2f6;border:1px solid #cdd9e4;border-left:4px solid #2b5d7a;
  color:#243a4a;padding:.7rem 1rem;margin:.5rem 0 .4rem;font-size:.92rem;border-radius:2px}
[data-theme="dark"] .balanced{color:#7fb0d8}
[data-theme="dark"] .biasnote{background:#16212b;border-color:#2c4356;color:#c4d8e6}

/* References */
ol.refs{font-size:.92rem;color:var(--soft);padding-left:1.4rem}
ol.refs li{margin:.4rem 0;scroll-margin-top:3.5rem}
ol.refs li:target{background:var(--mark);outline:2px solid var(--accent2)}

/* Podcasts page */
.podgroup{margin-bottom:2rem;padding-bottom:1.4rem}
.podhead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  border-bottom:2px solid var(--rule);padding-bottom:.35rem;margin-bottom:.9rem}
.podhead h2{border:0;margin:0;font-size:1.05rem;text-transform:uppercase;letter-spacing:.14em;font-family:var(--sans)}
.rss{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;white-space:nowrap}
.episode.latest{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);padding:1rem 1.1rem;margin-bottom:.6rem}
.episode h3{margin:0 0 .3rem;font-size:1.2rem}
.ep-meta{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.7rem}
.episode audio{width:100%;display:block}
.episodes-more{font-family:var(--sans)}
.episodes-more summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;padding:.3rem 0}
.episodes-more ul{margin:.5rem 0 0;padding-left:1.2rem;font-size:.95rem}
.episodes-more li{margin:.25rem 0}
.muted{color:var(--muted)}
/* Podcasts page: Summary + In-Depth tiers side by side */
.podtiers{display:flex;flex-wrap:wrap;gap:1rem}
.podtier{flex:1 1 280px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);padding:1rem 1.1rem}
.podtier-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;margin-bottom:.2rem}
.podtier-name{font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem}
.podtier audio{width:100%;display:block}

/* About page */
.about dl.imperatives dt{font-size:1.05rem}
.about section{margin-bottom:1.4rem}

/* Footer */
.sitefoot{border-top:3px double var(--rule);margin-top:2rem;background:var(--paper)}
.sitefoot p{max-width:var(--maxw);margin:0 auto;padding:.4rem 1.25rem;color:var(--muted);font-size:.92rem}
.sitefoot p:first-child{padding-top:1.4rem}
.sitefoot p:last-child{padding-bottom:1.6rem}
.fineprint{font-size:.8rem !important}

/* Stats page (themed, matches the site) */
.stats-custom{margin:.2rem 0 1rem;font-family:var(--sans);font-size:.85rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.stats-custom input{font:inherit;padding:.25rem .4rem;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:5px}
.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.2rem 0}
.stat-card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.2rem}
.sc-num{font-size:1.9rem;font-weight:700;line-height:1.1}
.sc-lbl{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.stat-h{font-size:1.05rem;text-transform:uppercase;letter-spacing:.12em;font-family:var(--sans);margin:1.8rem 0 .7rem;border-bottom:2px solid var(--rule);padding-bottom:.3rem}
.stat-h3{font-family:var(--sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:1.2rem 0 .5rem}
.stat-chart{display:flex;align-items:flex-end;gap:2px;height:140px;padding:.4rem 0;border-bottom:1px solid var(--line)}
.stat-chart .bar{flex:1;min-width:2px;background:var(--accent);opacity:.85;border-radius:2px 2px 0 0}
.stat-chart .bar:hover{opacity:1}
.stat-range-lbl{font-family:var(--sans);font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.4rem;text-align:right}
.stat-bars{display:flex;flex-direction:column;gap:.5rem}
.hbar{display:flex;align-items:center;gap:.7rem;font-size:.95rem}
.hb-l{flex:0 0 9.5rem;font-family:var(--sans);font-size:.85rem}
.hb-track{flex:1;height:.7rem;background:var(--panel);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.hb-fill{display:block;height:100%;background:var(--accent);opacity:.8}
.hb-n{flex:0 0 auto;font-family:var(--sans);font-size:.78rem;color:var(--muted);white-space:nowrap;min-width:3rem;text-align:right}
.stats-app .empty{padding:2rem 0}
/* Most-liked stories: labels are full headlines, so they get the room and the bar shrinks.
   (The default .hb-l column is sized for one-word section names and would clip a headline.) */
.sb-titles .hb-l{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.sb-titles a.hb-l:hover{color:var(--accent)}
.sb-titles .hb-track{flex:0 0 4.5rem}
.sb-titles .hb-n{min-width:4.5rem}
@media(max-width:560px){.stat-cards{grid-template-columns:repeat(2,1fr)}.hb-l{flex-basis:6.5rem;font-size:.78rem}.sc-num{font-size:1.55rem}
  .sb-titles .hb-l{flex-basis:auto}.sb-titles .hb-track{display:none}.sb-titles .hb-n{min-width:3.6rem}}

@media(max-width:560px){
  body{font-size:1.0625rem}
  .topbar-name{font-size:1rem}
  .story h1{font-size:2rem}
  table.ledger,table.ledger thead,table.ledger tbody,table.ledger tr,table.ledger td{display:block;width:100%}
  table.ledger thead{display:none}
  table.ledger td{border:0;padding:.2rem 0}
  table.ledger tr{border-bottom:1px solid var(--line);padding:.6rem 0}
  table.ledger td.outlet{white-space:normal}
}

/* Finance ticker (delayed market data) */
.tickerbar{display:flex;align-items:stretch;border:1px solid var(--line);background:var(--panel);border-radius:6px;overflow:hidden;margin:0 0 1.3rem;font-family:var(--sans)}
.tk-tag{flex:0 0 auto;display:flex;align-items:center;padding:.45rem .75rem;background:var(--accent);color:#fff;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.tk-win{flex:1;overflow:hidden;position:relative}
.tk-track{display:inline-flex;white-space:nowrap;will-change:transform;animation:tk-scroll linear infinite}
.tickerbar:hover .tk-track{animation-play-state:paused}
@keyframes tk-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tk-item{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1.1rem;font-size:.86rem;border-right:1px solid var(--line)}
.tk-l{font-weight:700}
.tk-p{color:var(--ink)}
.tk-up{color:#2e9e44;font-weight:700}
.tk-down{color:#e5484d;font-weight:700}
.tk-flat{color:var(--muted)}
@media(max-width:560px){.tk-tag{font-size:.58rem;padding:.4rem .5rem}.tk-item{padding:.4rem .8rem;font-size:.8rem}}

/* Market recap: finance-page strip + movers tables */
.recap-strip{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:6px;padding:.6rem .9rem;margin:0 0 1.3rem;color:var(--ink)}
.recap-strip:hover{text-decoration:none;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.rs-tag{font-family:var(--sans);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);white-space:nowrap}
.rs-head{flex:1;font-size:1.02rem;min-width:11rem}
.rs-more{font-family:var(--sans);font-size:.78rem;font-weight:700;color:var(--accent);white-space:nowrap}
.movers{margin:1.6rem 0}
.movers h2{font-size:1.1rem;text-transform:uppercase;letter-spacing:.1em;font-family:var(--sans);border-bottom:2px solid var(--rule);padding-bottom:.3rem}
.movers-table{width:100%;border-collapse:collapse;font-size:.97rem}
.movers-table td{padding:.55rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
.mv-name{width:30%}
.mv-sym{font-family:var(--sans);font-size:.72rem;color:var(--muted);letter-spacing:.04em}
.mv-pct{width:5.5rem;text-align:right;font-family:var(--sans);font-weight:700;white-space:nowrap}
.mv-why{color:var(--soft)}
@media(max-width:560px){.mv-name{width:auto}.movers-table td{padding:.5rem .35rem}.mv-pct{width:4.5rem}}

/* Story / Data view toggle on story pages */
.viewtabs{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:.3rem 0 1.5rem}
.viewtab{font-family:var(--sans);font-size:.86rem;font-weight:700;letter-spacing:.03em;padding:.5rem 1.15rem;background:var(--panel);color:var(--muted);border:0;border-right:1px solid var(--line);cursor:pointer}
.viewtab:last-child{border-right:0}
.viewtab.active{background:var(--accent);color:#fff}
.storytext{font-size:1.08rem;line-height:1.75}
.storytext p{margin:0 0 1.05rem}
.storytext .storyhead{font-family:var(--sans);font-size:1.18rem;font-weight:700;line-height:1.3;margin:2rem 0 .7rem;padding-top:.2rem;color:var(--ink);border-top:1px solid var(--line)}
.storytext .storyhead:first-child{margin-top:0;border-top:0;padding-top:0}
@media(max-width:560px){.storytext{font-size:1.05rem}.storytext .storyhead{font-size:1.12rem}}

/* Story/analysis kicker icon + on-page "signal strip" (bias gauge + counts) */
.kicker{display:inline-flex;align-items:center;gap:.4rem}
.kicker-ico{color:var(--accent2);flex:none}
.signalstrip{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.7rem;margin:1rem 0 1.5rem;padding:.7rem 1.05rem;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.sig-gauge{display:flex;align-items:center;gap:.75rem}
.biasgauge{flex:none}
.biasgauge .g-needle{stroke:var(--ink)}
.biasgauge .g-hub{fill:var(--ink)}
.biasgauge .g-end{fill:var(--muted);font-family:var(--sans);font-size:12px}
.sig-gtext{display:flex;flex-direction:column;line-height:1.25}
.sig-glabel{font-family:var(--sans);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.sig-gtext b{font-family:var(--serif);font-size:1.05rem;color:var(--accent)}
.sig-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.sig-chip{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--sans);font-size:.86rem;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:.35rem .8rem}
.sig-dot{width:9px;height:9px;border-radius:50%;flex:none}
.sig-blue{background:var(--accent2)}
.sig-red{background:var(--accent)}
@media(max-width:560px){.signalstrip{gap:.7rem 1rem;padding:.6rem .8rem}}
