/* news-pages.css — loaded ONLY by story (/news/{id}), brief (/news/b/*), category (/news/c/*), tag (/news/t/*) and tag board (/news/tags).
   Every rule is scoped under .nr (the content wrapper of those pages). Never styles the masthead/nav/footer. */
.nr{--ink:#0F1419;--ink2:#26313B;--meta:#536471;--line:#E6ECF0;--line2:#CFD9DE;--xblue:#1D9BF0;--xblue-h:#1A8CD8;--link:#1D9BF0;
  --tint:#F5F8FA;--tint2:#F7F9F9;--card:#FFFFFF;
  /* calm category palette (no gold/amber): */
  --markets:#0A7347;--markets-t:#E7F4EE;--macro:#3D6488;--macro-t:#EAF1F7;--fed:#2453C7;--fed-t:#EAF0FC;--crypto:#8A3F6E;--crypto-t:#F6EBF2;
  --tech:#6234C2;--tech-t:#F1ECFC;--musk:#46525F;--musk-t:#EEF1F4;--geopolitics:#B3362B;--geopolitics-t:#FCEDEB;--politics:#0B6E7F;--politics-t:#E6F3F5;
  color:var(--ink2);font-size:17px;line-height:1.6}
.nr .c-markets{--c:var(--markets);--t:var(--markets-t)}.nr .c-macro,.nr.c-macro{--c:var(--macro);--t:var(--macro-t)}.nr .c-fed,.nr.c-fed{--c:var(--fed);--t:var(--fed-t)}
.nr .c-crypto,.nr.c-crypto{--c:var(--crypto);--t:var(--crypto-t)}.nr .c-tech,.nr.c-tech{--c:var(--tech);--t:var(--tech-t)}.nr .c-musk,.nr.c-musk{--c:var(--musk);--t:var(--musk-t)}
.nr .c-geopolitics,.nr.c-geopolitics{--c:var(--geopolitics);--t:var(--geopolitics-t)}.nr .c-politics,.nr.c-politics{--c:var(--politics);--t:var(--politics-t)}.nr.c-markets{--c:var(--markets);--t:var(--markets-t)}
.nr a{color:var(--link)}
/* surfaces: soft tinted cards, hairline borders, no heavy boxes */
.nr .panel{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:none;padding:24px}
.nr .panel.cta{background:var(--tint);border-color:transparent;border-left:0!important}
.nr .panel.dev{background:var(--tint2);border-color:transparent;font-size:14px;color:var(--meta)}
.nr .rail .panel{background:var(--tint);border-color:transparent}
.nr .river{gap:20px}
/* category label: one treatment everywhere */
.nr .cat,.nr .catl{display:inline-flex;align-items:center;gap:6px;font:700 12px/1 Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--c)!important;background:var(--t)!important;border-radius:9999px;padding:6px 10px;text-decoration:none!important;white-space:nowrap}
.nr .cat::before,.nr .catl::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c)}
.nr .badge{font:700 11px/1 Inter,sans-serif;letter-spacing:.06em;border-radius:6px;padding:6px 8px;vertical-align:middle}
.nr .badge.soft{background:#EFF3F4;color:var(--meta)}
.nr .row1{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
/* tags as plain labels (never '#') */
.nr .tgs{display:flex;flex-wrap:wrap;gap:6px}
.nr .tg{font:600 13px/1 Inter,sans-serif;color:var(--ink2)!important;background:var(--tint);border:0;border-radius:9999px;padding:7px 11px;text-decoration:none!important}
.nr .tg:hover{background:#E8F1FA;color:var(--ink)!important}.nr .tg::before{display:none!important;content:none!important}
/* story + brief article */
.nr .story{padding:40px 48px 32px}
.nr .story .hl{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:40px;line-height:1.15;font-weight:700;letter-spacing:-.015em;color:var(--ink);margin:16px 0 12px;max-width:22ch}
.nr .story .dek{font-size:20px;line-height:1.5;color:var(--ink2);margin:0 0 20px;max-width:60ch}
.nr .metarow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:14px 0;margin:0 0 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nr .metarow .byline{margin:0;padding:0;border:0;font-size:14px;line-height:1.5;color:var(--meta)}.nr .byline b{color:var(--ink)}
.nr .xbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 18px;border-radius:9999px;background:var(--xblue);color:#fff!important;font:700 15px/1 Inter,sans-serif;text-decoration:none!important;white-space:nowrap;transition:background .15s,box-shadow .15s;flex:none}
.nr .xbtn:hover{background:var(--xblue-h);box-shadow:0 2px 8px rgba(29,155,240,.28)}.nr .xbtn:active{transform:translateY(1px)}
.nr .xbtn:focus-visible{outline:3px solid rgba(29,155,240,.45);outline-offset:2px}
.nr .xbtn svg{width:16px;height:16px;fill:currentColor}
.nr .story .tagrow{margin:0 0 8px}
.nr .story .sh{font:700 13px/1.2 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--meta);margin:28px 0 10px}
.nr .story .body{font-size:19px;line-height:1.7;color:var(--ink2);max-width:66ch}.nr .story .body p{margin:0 0 16px}
.nr .story .note{font-size:14px;color:var(--meta);margin:20px 0 0}
.nr .vx-m{display:none!important}
.nr .btn.pri{background:var(--xblue)}.nr .btn.pri:hover{background:var(--xblue-h)}
/* related stories */
.nr .relx .ph{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.nr .relx h2,.nr .panel .ph h2{font-size:18px;line-height:1.3;color:var(--ink);margin:0}
.nr .rlist{list-style:none;margin:0;padding:0}
.nr .rlist li{display:block;padding:14px 0;border-top:1px solid var(--line)}.nr .rlist li:first-child{border-top:0;padding-top:4px}
.nr .rlist li::before{display:none}
.nr .rlist a.rt{display:block;color:var(--ink)!important;font-weight:650;font-size:16px;line-height:1.4;margin:8px 0 4px;text-decoration:none}.nr .rlist a.rt:hover{color:var(--xblue)!important}
.nr .rlist .m{font-size:13px;color:var(--meta)}
/* developing timeline */
.nr .tl a{color:var(--ink)!important;font-weight:600}
/* section front (category) */
.nr .secfront{background:var(--t,var(--tint));border:0;border-top:0!important;padding:28px 32px}
.nr .secfront h1{font-size:36px;line-height:1.15;color:var(--ink);margin:12px 0 8px;letter-spacing:-.01em}
.nr .hdr-stats{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;color:var(--meta)}.nr .hdr-stats b{color:var(--ink);margin-right:6px;font-size:18px}
.nr .item{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:none}
.nr .item .h{color:var(--ink)!important}
.nr .item.lead .h{font-size:32px!important;line-height:1.2!important;max-width:24ch;display:block;margin:8px 0}
.nr .why,.nr .item .dek{font-size:16px;line-height:1.55;color:var(--ink2);max-width:64ch}
.nr .front .fl{list-style:none;margin:0;padding:0}
.nr .front .fl li{padding:16px 0;border-top:1px solid var(--line)}.nr .front .fl li:first-child{border-top:0}
.nr .front .fl li .h{color:var(--ink)!important;font-weight:650;font-size:17px;line-height:1.4;display:block;margin:4px 0}
.nr .front .fl li .why{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nr .front .fl li:nth-child(n+16){display:none}
.nr .morelink{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:15px}
.nr .trows{list-style:none;margin:0;padding:0}.nr .trows li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;color:var(--meta)}
/* tag board */
.nr.tagboard{padding:28px 24px 48px!important}
.nr .tb-head{background:var(--tint);border:0}
.nr .tb-head h1{font-size:36px!important;line-height:1.15;letter-spacing:-.01em}
.nr .tb-head input{border:1px solid var(--line2)!important;background:#fff!important;font-size:16px!important}
.nr .tgrp .grp{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.nr .tgrp h2{font-size:18px;margin:0;color:var(--ink)}
.nr .board{gap:10px}
.nr .tcell{background:var(--tint2);border:0;border-radius:12px;min-height:84px;padding:14px 16px}
.nr .tcell:hover{background:#EAF2F9;box-shadow:none}.nr .tcell b{font-size:16px;color:var(--ink)}
.nr .tr{font-size:11px;font-weight:700;color:var(--meta)}.nr .tr.up{color:#0A7347}.nr .tr.down{color:#B3362B}.nr .tr.new{color:var(--xblue)}
.nr .tgrp .tcell.extra{display:flex}.nr .tgmore{display:none}
/* responsive */
@media (max-width:1000px){.nr .story .hl{font-size:34px}}
@media (max-width:560px){
  .nr{font-size:16px}
  .nr .panel{padding:20px 18px;border-radius:14px}
  .nr .story{padding:24px 18px 20px!important}
  .nr .story .hl{font-size:27px;line-height:1.15;margin:12px 0 10px}
  .nr .story .dek{font-size:18px;margin-bottom:16px}
  .nr .story .body{font-size:17px;line-height:1.65}
  .nr .metarow{flex-direction:column;align-items:stretch}
  .nr .xbtn{min-height:44px;width:100%}
  .nr .rlist li:nth-child(n+5){display:none}
  .nr .front .fl li:nth-child(n+9){display:none}
  .nr .secfront{padding:22px 18px}.nr .secfront h1{font-size:28px}
  .nr .item.lead .h{font-size:24px!important}
  .nr.tagboard{padding:16px 16px 32px!important}.nr .tb-head h1{font-size:28px!important}
  .nr .board{grid-template-columns:1fr 1fr}
  .nr .tcell{min-height:72px;padding:12px}.nr .tcell b{font-size:15px;overflow-wrap:anywhere}
  .nr .tgrp .tcell.extra{display:none}.nr .tgrp.open .tcell.extra{display:flex}
  .nr .tgmore{display:inline-flex;margin-top:8px;min-height:44px;align-items:center;background:none;border:0;padding:0;color:var(--xblue);font:700 15px Inter,sans-serif;cursor:pointer}
  .nr .tgrp.open .tgmore{display:none}
  .nr .tgs{max-width:100%}
}
.nr .frmore{background:none;border:0;padding:0;color:var(--xblue);cursor:pointer;font-family:Inter,sans-serif}
.nr .front.open .frmore{display:none}
@media (min-width:561px){.nr .front.open .fl li{display:block}.nr .front:not(.open) .fl li:nth-child(n+16){display:none}}
@media (max-width:560px){.nr .front .fl li:nth-child(n+4){display:flex}.nr .front:not(.open) .fl li:nth-child(n+9){display:none}.nr .front.open .fl li{display:flex}}
.nr .metarow{flex-wrap:nowrap}.nr .metarow .byline{flex:1 1 auto;min-width:0}
.nr .story .hl{max-width:28ch}
@media (max-width:560px){.nr .metarow{flex-wrap:wrap}}
@media (max-width:560px){.nr .tcell>span:first-child{flex-direction:column;align-items:flex-start!important;gap:4px!important}.nr .tcell b{font-size:14px;line-height:1.3;overflow-wrap:normal;word-break:normal;hyphens:auto}}
/* "U.S. & General" category (added on live in categories.ts) */
.nr{--us:#4A5568;--us-t:#EEF0F3}.nr .c-us,.nr.c-us{--c:var(--us);--t:var(--us-t)}
/* Discuss on X: plain link by default; embed box only once widgets.js actually renders */
.nr .dx{padding:4px 4px 0}
.nr .dx-link{display:inline-flex;align-items:center;min-height:44px;font:700 16px Inter,sans-serif;color:var(--xblue)!important}
.nr .dx-embed{height:0;overflow:hidden}
.nr .dx.on{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 24px}
.nr .dx.on .dx-embed{height:auto;overflow:visible}
/* Cite-as line on story pages: long citation URL must wrap at 390px */
.nr .cite-as,.nr .cite-as span{overflow-wrap:anywhere}
/* /news list (src/app/news/route.ts): light shell around the published feed rows */
.nr-list .river{grid-column:1/-1;max-width:820px;width:100%;margin:0 auto}
.nr .nl .ph{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.nr .nl h1{font-size:28px;line-height:1.2;margin:0;color:var(--ink);letter-spacing:-.01em}
.nr .nl-list{list-style:none;margin:0;padding:0}
.nr .nl-list li{padding:16px 0;border-top:1px solid var(--line)}.nr .nl-list li:first-child{border-top:0}
.nr .nl-list li>a{display:block;color:var(--ink)!important;font-weight:600;font-size:17px;line-height:1.45;margin:6px 0 4px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.nr .nl-list li>a:hover{color:var(--xblue)!important;text-decoration:none}
.nr .nl-list time{display:block;font-size:13px;color:var(--meta)}
.nr .nl-list .nr-newstags{margin:8px 0 0;font-size:inherit;line-height:1}
.nr .nl:not(.js) .nl-more-cb:not(:checked)~.nl-list li.cap30{display:none}
.nr .nl-foot{font-size:13px;color:var(--meta);margin:16px 0 0}
@media (max-width:560px){.nr .nl h1{font-size:24px}.nr .nl-list li>a{font-size:16px;-webkit-line-clamp:3}.nr .nl:not(.js) .nl-more-cb:not(:checked)~.nl-list li.cap15{display:none}}
.nr .nl.open .frmore{display:none}

/* P1 h1: 110-char title wraps to <=4 lines at 390 */
@media (max-width:560px){.nr .story h1.hl,.art h1.hl{font-size:23px;line-height:1.15;max-width:none;letter-spacing:-.01em}}
/* #24 timeline: day separators, kind label, filter chips (one row, scrolls inside its own box) */
.nr .nl-list li[hidden],.nr .nl [hidden]{display:none!important}
.nr .nl-list li.nl-day{padding:18px 0 6px;border-top:0;position:sticky;top:0;background:var(--raise,#fff);z-index:1}
.nr .nl-list li.nl-day span{font:700 12px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--meta)}
.nr .nl-list li.nl-day+li{border-top:0}
.nr .nl-list .kindl{margin-left:8px;font:500 12px/1 Inter,sans-serif;color:var(--meta)}
.nr .nl-list li[data-kind="brief"] .kindl{color:var(--ink-2,#475467)}
.nr .nl-tools{display:flex;align-items:center;gap:12px;margin:4px 0 6px;min-width:0}
.nr .nl-chips{display:flex;gap:6px;overflow-x:auto;flex:1 1 auto;min-width:0;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 0;mask-image:linear-gradient(90deg,#000 92%,transparent)}
.nr .nl-chips::-webkit-scrollbar{display:none}
.nr .nl-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:9999px;border:1px solid var(--line);background:transparent;color:var(--ink);font:600 13px/1 Inter,sans-serif;cursor:pointer;white-space:nowrap}
.nr .nl-chip i{width:6px;height:6px;border-radius:50%;background:var(--c)}
.nr .nl-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.nr .nl-kind{flex:0 0 auto;display:inline-flex;border:1px solid var(--line);border-radius:9999px;padding:2px}
.nr .nl-kind button{height:28px;padding:0 10px;border:0;border-radius:9999px;background:transparent;color:var(--meta);font:600 12px/1 Inter,sans-serif;cursor:pointer;white-space:nowrap}
.nr .nl-kind button[aria-pressed="true"]{background:var(--chip,#EEF0F3);color:var(--ink)}
.nr .nl-empty{color:var(--meta);font-size:14px;margin:16px 0 0}
@media (max-width:560px){.nr .nl-tools{flex-direction:column;align-items:stretch;gap:8px}.nr .nl-kind{align-self:flex-start}}
/* #24 qa1: no-JS Show more = visually-hidden checkbox + label; focus ring on the label */
.nr .nl-more-cb{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.nr .nl:not(.js) .nl-more-cb:checked~.frmore{display:none}
.nr .nl-more-cb:focus-visible~.frmore{outline:2px solid var(--xblue);outline-offset:3px;border-radius:6px}
.nr .nl label.frmore{display:inline-block;margin-top:12px}
