/* PM Countdown news (2026-10-18): the home newsfeed (.nw), /news (.nw-list) and one post (.nwa).
   Tokens only, so the dark theme comes from site.css. Built by tools/build-news.py. */

/* Kicker: type chip and date, shared by every card */
.nw-k{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font:600 12px/1.2 var(--sans);color:var(--ink-3);margin:0}
.nw-k span{display:inline-block;padding:4px 8px;border-radius:999px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:11px;background:var(--brand-soft);color:var(--brand-ink)}
.nw-k--launch span{background:var(--gain-soft);color:var(--gain)}
.nw-k--update span{background:var(--surface-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2)}
.nw-faces{display:flex;margin-bottom:12px}
.nw-faces img{width:40px;height:40px;border-radius:50%;background:var(--surface-2);box-shadow:0 0 0 2px var(--paper)}
.nw-faces img+img{margin-left:-10px}
.nw-t{font:700 16px/1.35 var(--sans);color:var(--ink);text-wrap:balance}
.nw-d{color:var(--ink-2);line-height:1.55;margin:8px 0 0;text-wrap:pretty}

/* Home: one lead story and a river of the next four */
.nw-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:stretch}
.nw-lead>a,.nw-river{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow)}
.nw-lead>a{display:flex;flex-direction:column;height:100%;padding:24px;color:inherit;text-decoration:none;transition:border-color .15s}
.nw-lead>a:hover{border-color:var(--brand)}
.nw-lt{font:800 clamp(22px,2.4vw,28px)/1.2 var(--sans);color:var(--ink);margin:10px 0 0;text-wrap:balance}
.nw-go{margin-top:auto;padding-top:18px;font-weight:700;color:var(--brand-ink);text-decoration:underline;text-decoration-color:var(--brand-soft);text-underline-offset:3px}
.nw-river{list-style:none;margin:0;padding:6px 0;display:flex;flex-direction:column}
.nw-river li+li{border-top:1px solid var(--line)}
.nw-river a{display:flex;flex-direction:column;gap:6px;padding:14px 20px;color:inherit;text-decoration:none;flex:1}
.nw-river li{display:flex;flex:1}
.nw-river a:hover .nw-t{color:var(--brand-ink);text-decoration:underline;text-underline-offset:3px}
@media (max-width:820px){.nw-grid{grid-template-columns:1fr}.nw-lead>a{padding:20px}}

/* /news index */
.nw-h1 span,.nwa-h span{display:block}
.nw-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:820px}
.nw-card>a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);color:inherit;text-decoration:none;transition:border-color .15s}
.nw-card>a:hover{border-color:var(--brand)}
.nw-card .nw-faces{margin:0;flex-direction:column}
.nw-card .nw-faces img+img{margin:-10px 0 0}
.nw-card .nw-t{display:block;font-size:19px;margin-top:8px}
@media (max-width:560px){.nw-card>a{grid-template-columns:1fr;padding:18px}.nw-card .nw-faces{flex-direction:row}.nw-card .nw-faces img+img{margin:0 0 0 -10px}}

/* One post */
.nwa-wrap{max-width:calc(var(--prose, 68ch) + 48px)}
.nwa-head{margin:18px 0 24px}
.nwa-h{font:800 clamp(30px,4.4vw,44px)/1.12 var(--sans);color:var(--ink);margin:14px 0 0;letter-spacing:-.01em}
.nwa-dek{font-size:19px;line-height:1.5;color:var(--ink-2);margin:14px 0 0;text-wrap:pretty}
.nwa-by{font-size:14px;color:var(--ink-3);margin:14px 0 0}
.nwa-by a{color:var(--ink-2);font-weight:700}
.nwa-sum{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r);background:var(--surface-2);padding:16px 20px;margin:0 0 28px}
.nwa-sum h2{font:800 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink);margin:0 0 10px}
.nwa-sum ul{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--ink)}
.nwa-body{font-size:17px;line-height:1.7;color:var(--ink)}
.nwa-body>*+*{margin-top:1em}
.nwa-body h2{font:800 24px/1.25 var(--sans);margin-top:1.6em;color:var(--ink)}
.nwa-body h3{font:700 19px/1.3 var(--sans);margin-top:1.4em}
.nwa-body ul,.nwa-body ol{padding-left:22px}
.nwa-body li+li{margin-top:.35em}
.nwa-body a{color:var(--brand-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand-soft);text-underline-offset:3px}
.nwa-agent{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow);padding:16px 18px}
.nwa-agent img{width:64px;height:64px;border-radius:50%;background:var(--surface-2);flex:none}
.nwa-agent p{margin:0}
.nwa-agent-n{font:800 18px/1.2 var(--sans)}
.nwa-agent-m{font-size:14px;color:var(--ink-2);margin-top:4px!important}
.nwa-agent-l{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px!important;font-size:15px}
.nwa-disc{font-size:13px;color:var(--ink-3);margin:32px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.nwa-more{margin-top:32px}
.nwa-more h2{font:800 20px/1.2 var(--sans);margin:0 0 12px}
.nwa-more ol{list-style:none;margin:0 0 14px;padding:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}
.nwa-more li+li{border-top:1px solid var(--line)}
.nwa-more a{display:flex;flex-direction:column;gap:6px;padding:14px 18px;color:inherit;text-decoration:none}
.nwa-more a:hover .nw-t{color:var(--brand-ink);text-decoration:underline}
/* Phones: a forced two-line headline leaves one word alone on a line, so the halves flow and balance instead */
@media (max-width:600px){
  .nw-h1 span,.nwa-h span{display:inline}
  .nw-h1,.nwa-h{text-wrap:balance}
  .nwa .crumbs li:last-child{display:none}
}

/* ===== Article template v2 (Mary, 2026-10-20; Jay: "ok let's push this"): answer first, sections, sticky rail, tags.
   Ported from .preview/news-ux/news-dock-article-preview-v2.html; tools/build-news.py writes the markup. ===== */
.ar2{padding:8px 0 56px}
.ar2-wrap{max-width:1180px}
.ar2-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
@media (min-width:1100px){.ar2-grid{grid-template-columns:minmax(0,68ch) 320px;justify-content:space-between}}
.ar2 .crumbs{margin-top:18px}
.ar2-k{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font:600 12px/1.2 var(--sans);color:var(--ink-3);margin:18px 0 0}
.ar2-k .chip{display:inline-block;padding:4px 8px;border-radius:999px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:11px;background:var(--gain-soft);color:var(--gain)}
.ar2-h{font:800 clamp(30px,4.4vw,46px)/1.1 var(--sans);color:var(--ink);margin:12px 0 0;letter-spacing:-.01em}
.ar2-h span{display:block}
.ar2-dek{font-size:19px;line-height:1.5;color:var(--ink-2);margin:14px 0 0;text-wrap:pretty}
.ar2-by{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-3);margin:16px 0 0}
.ar2-by img{width:32px;height:32px;border-radius:50%;background:var(--surface-2)}
.ar2-by b{color:var(--ink-2)}
.ar2-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none}
.ar2-tags a{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line-2);font:600 12.5px/1 var(--sans);color:var(--ink-2);text-decoration:none;background:var(--paper)}
.ar2-tags a:hover{border-color:var(--brand);color:var(--brand-ink)}
.ar2-sum{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r);background:var(--surface-2);padding:16px 20px;margin:24px 0 0}
.ar2-sum h2{font:800 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink);margin:0 0 10px}
.ar2-sum ul{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--ink);font-size:16.5px;line-height:1.55}
/* phone: on this page */
.ar2-toc-m{margin:20px 0 0;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.ar2-toc-m summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:0 16px;font:700 15px/1 var(--sans);color:var(--ink)}
.ar2-toc-m summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);margin-top:-4px}
.ar2-toc-m[open] summary::after{transform:rotate(225deg);margin-top:4px}
.ar2-toc-m ol{margin:0;padding:4px 16px 14px 34px;display:grid;gap:10px;font-size:15px}
@media (min-width:1100px){.ar2-toc-m{display:none}}
/* sections */
.ar2-body{font-size:17.5px;line-height:1.7;color:var(--ink)}
.ar2-sec{padding:28px 0 0;margin:28px 0 0;border-top:1px solid var(--line)}
.ar2-sec:first-child{border-top:0;margin-top:20px;padding-top:0}
.ar2-sec h2{font:800 26px/1.2 var(--sans);margin:0;color:var(--ink);scroll-margin-top:96px}
.ar2-sec h2 small{display:block;font:700 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:8px}
.ar2-sec>*+*{margin-top:1em}
.ar2-sec p{max-width:68ch}
.ar2-sec ul{padding-left:22px}
.ar2-sec li+li{margin-top:.45em}
.ar2-body a{color:var(--brand-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand-soft);text-underline-offset:3px}
/* widgets */
.w-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px!important}
.w-facts div{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);padding:14px 16px}
.w-facts b{display:block;font:800 24px/1.1 var(--sans);color:var(--ink)}
.w-facts span{display:block;font-size:13.5px;line-height:1.4;color:var(--ink-2);margin-top:6px}
.w-facts small{display:block;font-size:12px;color:var(--ink-3);margin-top:4px}
@media (min-width:700px){.w-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.w-steps{list-style:none;padding:0!important;display:grid;gap:10px;counter-reset:st}
.w-steps li{counter-increment:st;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);padding:12px 14px;margin:0!important}
.w-steps li::before{content:counter(st);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--brand-soft);color:var(--brand-ink);font:800 15px/1 var(--sans)}
.w-steps b{display:block}
.w-steps span{display:block;color:var(--ink-2);font-size:15.5px;line-height:1.5}
.w-follow{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow);padding:16px 18px}
.w-follow img{width:56px;height:56px;border-radius:50%;background:var(--surface-2)}
.w-follow p{margin:0}
.w-follow .t{font:800 17px/1.2 var(--sans)}
.w-follow .s{font-size:14.5px;color:var(--ink-2);margin-top:4px}
.w-follow .l{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;font-size:15px}
.w-faq details{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);margin-top:8px}
.w-faq summary{cursor:pointer;min-height:48px;display:flex;align-items:center;padding:10px 16px;font:700 16px/1.35 var(--sans)}
.w-faq details p{margin:0;padding:0 16px 14px;color:var(--ink-2);font-size:16px;line-height:1.6}
.ar2-src{font-size:13.5px;color:var(--ink-3)}
.ar2-src ol{padding-left:20px}
.ar2-disc{font-size:13px;color:var(--ink-3);margin:28px 0 0;padding-top:16px;border-top:1px solid var(--line)}
/* related, end of article */
.ar2-rel{margin-top:36px}
.ar2-rel h2{font:800 20px/1.2 var(--sans);margin:0 0 4px}
.ar2-rel>p{margin:0 0 12px;color:var(--ink-3);font-size:14px}
.ar2-rel ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ar2-rel a{display:flex;flex-direction:column;gap:8px;height:100%;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);color:inherit;text-decoration:none}
.ar2-rel a:hover{border-color:var(--brand)}
.ar2-rel .t{font:700 16px/1.35 var(--sans);color:var(--ink)}
.ar2-rel .why{font-size:12.5px;color:var(--ink-3)}
@media (max-width:640px){.ar2-rel ol{grid-template-columns:1fr}}
.ar2-pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.ar2-pn a{display:block;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);font-weight:700;font-size:15px}
.ar2-pn small{display:block;font-weight:600;color:var(--ink-3);font-size:12px;margin-bottom:4px}
.ar2-pn a:last-child{text-align:right}
/* the rail */
.ar2-rail{display:none}
@media (min-width:1100px){
 .ar2-rail{display:block;position:relative}
 .ar2-rail-in{position:sticky;top:96px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 96px - var(--dock-h,0px) - 24px);overflow:auto;padding-bottom:4px}
}
.rl{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);padding:14px 16px}
.rl-h{font:800 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px}
.rl-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.rl-toc a{display:block;padding:5px 10px;border-radius:8px;border-left:3px solid transparent;color:var(--ink-2);text-decoration:none;font-size:14.5px;line-height:1.35}
.rl-toc a:hover{background:var(--surface-2);color:var(--ink)}
.rl-toc a[aria-current="true"]{border-left-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink);font-weight:700}
.rl-agent{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center}
.rl-agent img{width:52px;height:52px;border-radius:50%;background:var(--surface-2)}
.rl-agent .n{font:800 16px/1.2 var(--sans);margin:0}
.rl-agent .m{font-size:13px;color:var(--ink-2);margin:3px 0 0}
.rl-call{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-radius:10px;background:var(--surface-2);padding:10px 12px;font-size:13.5px}
.rl-call b{color:var(--gain)}
.rl-cta{grid-column:1/-1;display:flex;justify-content:center;align-items:center;min-height:44px;border-radius:10px;background:var(--brand);color:#fff!important;font-weight:700;text-decoration:none!important}
.rl-px{display:flex;justify-content:space-between;align-items:baseline}
.rl-px b{font:800 22px/1 var(--sans)}
.rl-px small{color:var(--ink-3);font-size:12px}
.rl-rel ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rl-rel a{display:block;color:var(--ink);text-decoration:none;font-weight:700;font-size:14.5px;line-height:1.35}
.rl-rel a:hover{color:var(--brand-ink);text-decoration:underline}
.rl-rel small{display:block;font-weight:600;color:var(--ink-3);font-size:12px;margin-bottom:3px}

.ar2-tags span{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line-2);font:600 12.5px/1 var(--sans);color:var(--ink-2);background:var(--paper)}
.ar2-by a{color:var(--ink-2);font-weight:700}
.ar2-lead p:first-child{font-size:18.5px}
.ar2-k .chip--up{background:var(--surface);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2)}
.rl-call b[data-dir="down"]{color:var(--loss,#c0392b)}
.rl-px small a{color:var(--brand-ink);font-weight:700}

/* ===== News dock (Mary, 2026-10-20): bottom-locked, scroll sideways, minimize to a pill ===== */
:root{--dock-h:0px}
html[data-dock="open"]{--dock-h:76px}
html[data-dock="min"]{--dock-h:0px}
html{scroll-padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom,0px) + 8px)}
.nd{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-float,45);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--paper);border-top:1px solid var(--line-2);box-shadow:0 -10px 30px -18px rgba(10,18,38,.35);transform:translateY(0);transition:transform .25s ease}
html[data-dock="min"] .nd{transform:translateY(110%)}
.nd-in{max-width:1440px;margin:0 auto;height:76px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 16px}
.nd-lab{display:flex;flex-direction:column;gap:4px;padding-right:12px;border-right:1px solid var(--line)}
.nd-lab b{font:800 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.nd-lab a{font:700 13px/1 var(--sans);color:var(--brand-ink)}
.nd-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:none;padding:4px 2px;margin:0;list-style:none}
.nd-row::-webkit-scrollbar{display:none}
.nd-row:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:12px}
.nd-row li{flex:0 0 auto;scroll-snap-align:start}
.nd-c{display:flex;flex-direction:column;justify-content:center;gap:5px;width:380px;height:56px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);text-decoration:none;color:inherit}
.nd-c:hover{border-color:var(--brand)}
.nd-c:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.nd-k{display:flex;gap:8px;align-items:center;font:600 11.5px/1 var(--sans);color:var(--ink-3)}
.nd-k .chip{padding:3px 7px;border-radius:999px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;background:var(--gain-soft);color:var(--gain)}
.nd-k .chip--up{background:var(--surface);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2)}
.nd-k .new{font-weight:800;color:var(--brand-ink)}
.nd-t{font:700 14.5px/1.25 var(--sans);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nd-ctl{display:flex;gap:6px;align-items:center}
.nd-b{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);cursor:pointer}
.nd-b:hover{border-color:var(--brand);color:var(--brand-ink)}
.nd-b:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.nd-b svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nd-pill{position:fixed;left:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:var(--z-float,45);display:none;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);box-shadow:var(--shadow-lg);font:700 14px/1 var(--sans);color:var(--ink);cursor:pointer}
.nd-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--brand)}
.nd-pill small{font-weight:700;color:var(--brand-ink)}
html[data-dock="min"] .nd-pill{display:inline-flex}
/* floaters ride above the dock: dock.css (.od), lolo-floater.css and site.css (.pop) read var(--dock-h,0px) */
.foot-space{height:calc(var(--dock-h) + 24px)}
@media (max-width:720px){
 html[data-dock="open"]{--dock-h:84px}
 .nd-in{height:84px;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 0 0 12px}
 .nd-lab{display:none}
 .nd-c{width:78vw;height:64px}
 .nd-prev,.nd-next{display:none}
 .nd-ctl{padding-right:8px}
}
/* a short screen (landscape phone): the dock folds to its pill */
@media (max-height:500px){html[data-dock="open"]{--dock-h:0px}html[data-dock="open"] .nd{transform:translateY(110%)}html[data-dock="open"] .nd-pill{display:inline-flex}}
@media (prefers-reduced-motion:reduce){.nd{transition:none}}
@media print{.nd,.nd-pill,.foot-space{display:none}}
/* phones: let the two-line headline flow and balance so no word sits alone; drop the long last crumb */
@media (max-width:600px){.ar2-h span{display:inline}.ar2-h{text-wrap:balance}.ar2 .crumbs li:last-child{display:none}.nd-c{width:72vw}}
