/* Every value here is a token in DESIGN.md. */
:root{
 --bg:#FFFFFF;--fg:#16181D;--dim:#5B616E;--faint:#8A909C;--line:#E4E6EB;--chip:#F1F2F5;--card:#FFFFFF;
 --accent:#2347C5;--dispute:#A8620A;--gloss:#28628a;
 --serif:"Newsreader",Georgia,serif;--sans:"Instrument Sans","Helvetica Neue",Arial,sans-serif;--hebrew:"IBM Plex Sans Hebrew","Instrument Sans",sans-serif;
 color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root{
 --bg:#121418;--fg:#E9EBEF;--dim:#A2A8B4;--faint:#737A87;--line:#262A31;--chip:#1C1F25;--card:#181B20;--accent:#7F9CFF;--dispute:#E0A04A;--gloss:#8cc2e6;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/22px var(--sans);-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
/* Hebrew quotes and names inside non-Hebrew pages */
html:not([lang=he]) :lang(he){font-family:var(--hebrew)}
/* The Hebrew edition: IBM Plex Sans Hebrew throughout; weight, not a serif,
   carries the hierarchy (chosen 2026-09-27 over Frank Ruhl Libre + Heebo,
   which read old-fashioned and thin on a phone). */
html[lang=he]{--serif:"IBM Plex Sans Hebrew",sans-serif;--sans:"IBM Plex Sans Hebrew",sans-serif}
html[lang=he] body{font-family:var(--sans)}
html[lang=he] .row h2,html[lang=he] .story h1{font-weight:600;letter-spacing:0}
html[lang=he] .story .essence{font-size:18px;line-height:28px}
html[lang=he] .mark{font-family:"Newsreader",Georgia,serif}
/* The language control (2026-09-29): the language you are reading, opening the list. */
.frame{max-width:712px;margin:0 auto;padding:0 16px 48px}

/* header */
.top{display:flex;align-items:center;gap:24px;padding:16px 0 0}
.mark{font:600 26px/32px var(--serif);letter-spacing:-.02em}
.mark b{color:var(--accent);font-weight:600}
.tabs{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;margin:12px -16px 0;padding:0 16px;border-bottom:1px solid var(--line)}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:none;padding:8px 0 10px;color:var(--dim);font-size:15px;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a[aria-current=page]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}
.tabs a:hover{color:var(--fg)}

/* tally */
.tally{display:inline-flex;align-items:flex-end;gap:2px;height:12px;vertical-align:-1px;margin-inline-end:8px}
.tally i{display:block;width:3px;height:12px;background:var(--accent);border-radius:1px}
.tally i.o{background:none;box-shadow:inset 0 0 0 1px var(--accent);opacity:.7}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;color:var(--dim);font-size:13px;line-height:18px;font-variant-numeric:tabular-nums}
.meta .n{color:var(--fg)}

/* list */
.lede{color:var(--dim);font-size:13px;line-height:18px;margin:16px 0 0}
.list{list-style:none;margin:0;padding:0}
.row{padding:24px 0 0}
.row h2{font:500 22px/27px var(--serif);margin:0;letter-spacing:-.005em;text-wrap:pretty}
.row p{margin:8px 0 0;color:var(--dim);font:400 15px/22px var(--sans);text-wrap:pretty}
.row .meta{margin-top:12px}
.row a:hover h2{color:var(--accent)}
.src{color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.fresh-legend{line-height:18px!important;margin:4px 0 0!important}
.section{font:600 17px/25px var(--sans);margin:48px 0 0}
.section+.hint{color:var(--dim);font-size:13px;line-height:18px;margin:4px 0 0}
.small .row{padding-top:16px}
.small .row h2{font:500 17px/24px var(--serif)}
.empty{color:var(--dim);padding:32px 0}

/* story */
.story h1{font:500 30px/35px var(--serif);letter-spacing:-.01em;margin:24px 0 0;text-wrap:balance}
.story .essence{font:400 19px/28px var(--serif);margin:12px 0 0;text-wrap:pretty}
.story .meta{margin-top:16px}
.brief{margin:0;padding:0;list-style:none}
.brief li{margin:12px 0 0;font-size:17px;line-height:25px;text-wrap:pretty}
.brief a.cite{display:inline-flex;align-items:center;padding-block:12px;padding-inline:8px 16px;margin-block:-12px;margin-inline:0 -8px;vertical-align:-1px}
.brief a.cite .tally{margin:0}
.diff li{border-inline-start:2px solid var(--dispute);padding-inline-start:12px}
.points{list-style:none;margin:0;padding:0}
.point{padding:16px 0 0;scroll-margin-top:16px}
.point:target .ptext{background:var(--chip);box-shadow:0 0 0 4px var(--chip);border-radius:4px}
.point.disputed{border-inline-start:2px solid var(--dispute);padding-inline-start:12px}
.ptext{font-size:17px;line-height:25px;margin:0;text-wrap:pretty}
.status{font-size:13px;line-height:18px;color:var(--dim);margin:4px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}
.status .word{color:var(--fg)}
.status .tally{margin-inline-end:0}
.point.disputed .status .word{color:var(--dispute)}
details.who{margin:8px 0 0}
details.who summary{cursor:pointer;color:var(--accent);font-size:13px;line-height:18px;padding:12px 0;margin:-4px 0;list-style:none;width:max-content}
details.who summary::-webkit-details-marker{display:none}
details.who[open] summary{color:var(--dim)}
.carrier{padding-block:8px 4px;padding-inline:12px 0;border-inline-start:1px solid var(--line);margin:4px 0 8px}
.carrier .by{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;line-height:18px;color:var(--dim)}
.carrier .by b{color:var(--fg);font-weight:600}
.carrier blockquote{margin:6px 0 0;font-size:15px;line-height:22px}
.carrier .tr{margin:4px 0 0;color:var(--dim);font-size:13px;line-height:18px}
.carrier .tr .mt{color:var(--faint)}
.row h2.item{font:500 17px/24px var(--serif);margin:6px 0 0}
.section.first{margin-top:24px}
.story.one h1{font-size:22px;line-height:27px}
.story.one .status{margin-top:16px;font-size:15px;line-height:22px}
.hint.single{color:var(--dim);font-size:13px;line-height:18px;margin:16px 0 0}
.carrier .go{display:inline-block;margin:6px 0 0;color:var(--accent);font-size:13px;line-height:18px;padding:4px 0}
.carrier .go:hover{text-decoration:underline}
.sources{list-style:none;margin:8px 0 0;padding:0}
.sources li{display:flex;align-items:baseline;gap:8px;padding:6px 0;font-size:15px;line-height:22px}
.sources .owner{color:var(--dim);font-size:13px}
.missing{color:var(--dim);font-size:13px;line-height:18px;margin:8px 0 0}
.foot{margin:48px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--dim);font-size:13px;line-height:18px}
.foot-links{display:flex;gap:24px;padding:12px 0 0;font-size:13px;line-height:18px}
.foot-links a{color:var(--accent);padding:4px 0}
.status a.contra{color:var(--accent)}
.prose p{margin:12px 0 0;font-size:17px;line-height:25px;max-width:62ch}
.prose h1{font:500 30px/35px var(--serif);margin:24px 0 0}
.prose h2{font:600 17px/25px var(--sans);margin:32px 0 0}
.back{display:inline-block;margin-top:16px;color:var(--dim);font-size:13px;padding:4px 0}

@media (min-width:760px){
 .story h1,.prose h1{font-size:40px;line-height:45px}
 .row h2{font-size:24px;line-height:30px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* points of view */
.povs{list-style:none;margin:8px 0 0;padding:0}
.povs a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:25px}
.povs a:hover .pname{color:var(--accent)}
.pstate{font-size:13px;line-height:18px;color:var(--faint);white-space:nowrap}
.pstate.ready{color:var(--accent)}
.go.compare{display:inline-block;margin-top:12px;font-size:15px;padding:8px 0}
.povname{color:var(--accent);font-size:15px;line-height:22px;margin:16px 0 0;font-weight:600}
.story.pov h1{margin-top:4px}
.simlabel{margin:16px 0 0;padding:12px;border-radius:10px;background:var(--chip);font-size:13px;line-height:18px;color:var(--dim)}
.simlabel b{color:var(--fg);margin-inline-end:4px}
.povhead{font:500 22px/28px var(--serif);margin:24px 0 0;text-wrap:balance}
.sub{font:600 15px/22px var(--sans);margin:24px 0 0}
.voices{margin-top:32px;padding-top:8px;border-top:1px solid var(--line)}
.notice{margin:16px 0 0;padding:12px;border-inline-start:2px solid var(--accent);color:var(--fg);font-size:15px;line-height:22px}
form.gen{margin:24px 0 0}
form.gen button,.pickers button{font:600 15px/22px var(--sans);color:var(--bg);background:var(--accent);border:0;border-radius:10px;padding:12px 20px;cursor:pointer;min-height:44px}
form.gen button:disabled{opacity:.6;cursor:wait}
form.gen .wait{color:var(--dim);font-size:13px;line-height:18px;margin:8px 0 0}
.pickers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 0}
.pickers select{min-width:0;font:400 16px/22px var(--sans);color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 8px;min-height:44px}
.pickers button{grid-column:1 / -1}
.cols{display:grid;gap:32px;margin-top:16px}
.cols .col{min-width:0}
@media (min-width:760px){.cols{grid-template-columns:1fr 1fr}}
.about-story{margin:8px 0 0;font-size:15px;line-height:22px;color:var(--dim)}
.about-story a{color:var(--dim);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
/* outlook row under the tabs */
.povrow{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:12px -16px 0;padding:0 16px 4px}
.povrow::-webkit-scrollbar{display:none}
.povrow a{flex:none;font-size:13px;line-height:18px;padding:7px 12px;border:1px solid var(--line);border-radius:4px;color:var(--dim);min-height:34px;display:inline-flex;align-items:center}
.povrow a[aria-current]{border-color:var(--accent);color:var(--accent);font-weight:600}
.simlabel.feed{margin-top:16px}
.row .orig{margin:6px 0 0;font-size:13px;line-height:18px;color:var(--faint)}
.row .orig a{color:var(--dim);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
/* live wait: elapsed + estimate */
.waiting{display:flex;align-items:center;gap:10px;margin:12px 0 0;color:var(--dim);font-size:13px;line-height:18px;font-variant-numeric:tabular-nums}
.spin{flex:none;width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
form.gen .wait p{margin:8px 0 0;color:var(--fg);font-size:15px;line-height:22px}
/* names that link to their entity page */
a.ent{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-decoration-thickness:1.5px;text-underline-offset:3px}
a.ent:hover{color:var(--accent)}
.ent-points{margin-top:4px}
.ent-points li{font-size:15px;line-height:22px;color:var(--dim)}
/* owner-only cost panel (fetched; never in the cached HTML) */
.ownercost-wrap{position:fixed;inset-inline-end:12px;bottom:12px;z-index:5;direction:ltr}
.ownercost-wrap[data-on='1'] .ownercost-chip,.ownercost-wrap[data-on='0'] .ownercost{display:none}
.ownercost-chip{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--dim);font:600 17px/1 var(--sans);box-shadow:0 8px 30px rgb(0 0 0 / .18);cursor:pointer;opacity:.85}
.ownercost-chip:hover{color:var(--accent);opacity:1}
.ownercost-hide{margin-inline-start:auto;align-self:center;font:400 12px/16px var(--sans);color:var(--accent);background:none;border:0;padding:12px 0 12px 8px;cursor:pointer}
.ownercost{max-width:min(320px,calc(100vw - 24px));background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 30px rgb(0 0 0 / .18);font-size:13px;line-height:18px;color:var(--fg);direction:ltr}
.ownercost summary{display:flex;gap:14px;padding:8px 12px;cursor:pointer;list-style:none;font-variant-numeric:tabular-nums;font-weight:600}
.ownercost summary::-webkit-details-marker{display:none}
.ownercost summary small{display:block;font-weight:400;color:var(--dim);font-size:11px}
.ownercost p{margin:0;padding:0 12px 8px;color:var(--dim)}
.ownercost ul{list-style:none;margin:0;padding:0 12px 8px}
.ownercost li{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}
.ownercost a{color:var(--accent)}
.lede.updated{margin-top:4px;color:var(--fg)}
.lede.updated time{font-variant-numeric:tabular-nums}
.cadence{margin:2px 0 0;color:var(--faint);font-size:13px;line-height:18px}
/* --c1..--c6: story colours for the front-pages timeline, and --c2..--c6 as phrase-pair washes in English lines (DESIGN.md) */
:root{--c1:#2347C5;--c2:#C2410C;--c3:#0F766E;--c4:#A16207;--c5:#9D174D;--c6:#4D7C0F}
@media (prefers-color-scheme:dark){:root{--c1:#7F9CFF;--c2:#F08A5D;--c3:#4FC4B3;--c4:#E0B34A;--c5:#E6799F;--c6:#9CCB5E}}
.fpnow{list-style:none;margin:0;padding:0}
.fpgroup{padding:16px 0 0;border-inline-start:3px solid var(--sc,transparent);padding-inline-start:12px;margin-top:8px}
.fpstory{margin:0 0 4px;font-size:13px;line-height:18px;color:var(--dim);display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.fpstory a{color:var(--fg);font-weight:600}
.fpitem{padding:8px 0}
.fpsrc{display:block;font-size:13px;line-height:18px;color:var(--dim);font-weight:600}
a.lead,span.lead{display:block;font:500 19px/26px var(--serif);margin-top:2px;color:var(--fg);text-wrap:pretty}
a.lead:hover{color:var(--accent)}
.fpitem .tr,.row .tr{margin:4px 0 0;color:var(--dim);font-size:15px;line-height:22px}
.fpitem .meta{margin-top:6px}
.fpaxis{display:flex;justify-content:space-between;margin:12px 0 0;padding-inline-start:96px;color:var(--faint);font-size:11px;line-height:16px;font-variant-numeric:tabular-nums}
.fprows{margin-top:4px}
.fprow summary{display:flex;align-items:center;gap:8px;min-height:32px;cursor:pointer;list-style:none}
.fprow summary::-webkit-details-marker{display:none}
.fpname{flex:none;width:88px;font-size:12px;line-height:16px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar{position:relative;flex:1;height:14px;background:var(--chip);border-radius:4px;overflow:hidden}
.seg{position:absolute;top:0;bottom:0;background:var(--sc);border-inline-end:1px solid var(--bg)}
.seg.other{background:color-mix(in srgb,var(--faint) 45%,var(--chip))}
.fprow ul{list-style:none;margin:4px 0 10px;padding-inline-start:96px;font-size:13px;line-height:18px;color:var(--dim)}
.fprow li{padding:3px 0}
.fptime{font-variant-numeric:tabular-nums;color:var(--faint);margin-inline-end:6px}
.fpdur{color:var(--faint)}
.fplegend{list-style:none;margin:12px 0 0;padding:0;font-size:13px;line-height:18px}
.fplegend li{display:flex;align-items:center;gap:8px;padding:4px 0}
.fplegend li::before{content:'';flex:none;width:12px;height:12px;border-radius:3px;background:var(--sc,color-mix(in srgb,var(--faint) 45%,var(--chip)))}
.fplegend a{color:var(--fg)}
.fpna{list-style:none;margin:8px 0 0;padding:0;color:var(--dim);font-size:13px;line-height:18px}
.fpna li{padding:3px 0}
button.share{margin-inline-start:auto;font:400 13px/18px var(--sans);color:var(--dim);background:none;border:1px solid var(--line);border-radius:4px;padding:0 12px;min-height:34px;cursor:pointer}
button.share:hover{color:var(--accent);border-color:var(--accent)}
.orig-hl{margin:4px 0 0;color:var(--dim);font-size:13px;line-height:18px}
.orig-hl .mt{color:var(--faint)}
/* External links say so (baseline, 2026-09-27): a box-with-arrow icon after
   every link that leaves niuz; the host is added for screen readers (.vh). */
a[target="_blank"]::after{content:'';display:inline-block;width:.72em;height:.72em;margin-inline-start:.3em;vertical-align:.02em;background:currentColor;opacity:.7;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2h5v5M14 2 7 9M12 9.5V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3.5'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2h5v5M14 2 7 9M12 9.5V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3.5'/%3E%3C/svg%3E") center/contain no-repeat}
[dir=rtl] a[target="_blank"]::after{transform:scaleX(-1)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* The wordmark stays top-left in RTL pages too; only the content mirrors. */
.top{direction:ltr}

/* English lines on edition story pages (src/enlines.js). The pair colours
   reuse --c2..--c6 as washes: the same colour marks a phrase and its
   English. --c1 is left out because it is the accent (links, tallies). */
.enl-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px}
button.enl-toggle{display:inline-flex;align-items:center;gap:8px;font:600 15px/22px var(--sans);color:var(--fg);background:none;border:1px solid var(--line);border-radius:4px;padding:0 12px;min-height:44px;cursor:pointer;-webkit-tap-highlight-color:transparent}
button.enl-toggle .ic{color:var(--accent);flex:none}
/* a switch: off = empty track, on = accent track, knob at the far end */
button.enl-toggle .sw{position:relative;width:32px;height:18px;border-radius:9px;background:var(--line);flex:none;margin-inline-start:4px}
button.enl-toggle .sw::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--bg)}
button.enl-toggle[aria-pressed=true]{border-color:var(--accent)}
button.enl-toggle[aria-pressed=true] .sw{background:var(--accent)}
button.enl-toggle[aria-pressed=true] .sw::after{left:16px}
@media (hover:hover){button.enl-toggle:hover{border-color:var(--accent)}}
.enl-status{font-size:13px;line-height:18px;color:var(--dim);flex:1 1 200px;unicode-bidi:plaintext}
.enl-en{display:block;font:400 15px/22px var(--sans);letter-spacing:0;color:var(--dim);margin-top:4px;text-align:left}
html[dir=rtl] .enl-en{text-align:right}
.story h1 .enl-en{font-size:17px;line-height:25px;margin-top:8px}
.brief .enl-en{margin-bottom:4px}
.ch{border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone;cursor:pointer;--w:var(--c2);background:color-mix(in srgb,var(--w) 15%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--w) 15%,transparent)}
.ch.c1{--w:var(--c3)}.ch.c2{--w:var(--c4)}.ch.c3{--w:var(--c5)}.ch.c4{--w:var(--c6)}
.enl-focus .ch:not(.lit){background:none;box-shadow:none}
.ch.lit{background:color-mix(in srgb,var(--w) 30%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--w) 30%,transparent);color:var(--fg)}
@media (prefers-color-scheme:dark){.ch{background:color-mix(in srgb,var(--w) 26%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--w) 26%,transparent)}.ch.lit{background:color-mix(in srgb,var(--w) 45%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--w) 45%,transparent)}}
/* Interlinear: a paired sentence is a row of phrase units, each its own
   words on top and their English right under them, so every line of the
   edition's text carries its English beneath it. Units wrap like words. */
.il{display:inline-flex;flex-direction:column;vertical-align:top;max-width:100%;margin-block:0 14px;margin-inline:0 6px}
.il-s{align-self:flex-start;line-height:1.3}
/* The rule between a phrase and its English spans the unit: it binds the
   two into one thing and its ends mark where the phrase starts and stops. */
.il-e{align-self:stretch;text-align:left;font:400 14px/18px var(--sans);letter-spacing:0;color:var(--gloss);margin-top:2px}
html[dir=rtl] .il-s{align-self:flex-end}
html[dir=rtl] .il-e{text-align:right}
.story h1 .il-s{line-height:1.15}
.story h1 .il-e{font-size:15px;line-height:19px}
.story h1 .il{margin-bottom:16px}
/* Colours off (the default): plain interlinear text; a tapped pair still lights. */
html.enl-plain .ch:not(.lit){background:none;box-shadow:none}
button.enl-toggle[hidden]{display:none}
/* Line by line (src/pages.js lines()): each measured line of the sentence,
   then the English of that line, tight under it, each phrase's English
   starting under it. No underlines: position pairs them, the gloss hue
   tells the languages apart (~/.claude/docs/interleaved-translation.md). */
.ln{display:block;margin-bottom:10px}
.ln:last-child{margin-bottom:0}
.ln-s{display:block}
.ln-e{display:block;white-space:nowrap;text-align:start;font:400 14px/18px var(--sans);letter-spacing:0;color:var(--gloss);margin-top:2px}
.story h1 .ln-e{font-size:15px;line-height:19px;margin-top:2px}
.ln-e .ch{display:inline-block}
/* New / updated since this device's last visit (SEEN_SCRIPT in pages.js). */
.row,.fpitem{position:relative}
.is-unseen::before,.is-updated::before{content:'';position:absolute;inset-inline-start:-10px;top:24px;bottom:4px;width:3px;border-radius:2px;background:var(--accent)}
.fpitem.is-unseen::before{top:8px}
.is-updated::before{background:none;border-inline-start:3px dotted var(--accent);width:0}
.seen-tag{color:var(--accent);font-weight:600}
.seen-count{margin:6px 0 0;color:var(--accent);font-size:13px;line-height:18px;font-weight:600}
/* One highlight colour when Colours is off: the accent. */
html.enl-plain .ch.lit{--w:var(--accent)}
/* The phrase player: sticky at the bottom while English lines are on. */
.enl-player{position:fixed;inset-inline:0;bottom:0;z-index:30;background:var(--card);border-top:1px solid var(--line);padding:8px 16px calc(8px + env(safe-area-inset-bottom))}
.enl-player .pl-in{max-width:680px;margin:0 auto;display:flex;align-items:center;gap:12px}
.enl-player button{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:4px;border:1px solid var(--line);background:none;color:var(--fg);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.enl-player .pl-next{width:56px;background:var(--accent);border-color:var(--accent);color:var(--bg)}
.enl-player button:disabled{opacity:.35;cursor:default}
html[dir=rtl] .enl-player svg{transform:scaleX(-1)}
.pl-txt{flex:1;min-width:0;display:flex;flex-direction:column}
.pl-s,.pl-e{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-s{font:500 15px/20px var(--sans);color:var(--fg)}
.pl-e{font:400 13px/18px var(--sans);color:var(--dim)}
.pl-n{flex:none;font-size:13px;line-height:18px;color:var(--dim);font-variant-numeric:tabular-nums}
html.enl-playing body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
html.enl-playing .ownercost-wrap{bottom:calc(72px + env(safe-area-inset-bottom))}

/* My views (2026-09-29): the star opens a two-toggle popover; saved views are
   a row of buttons under the tabs, drawn as the outlook row. */
button.star{flex:none;margin-inline-start:-16px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;color:var(--dim);background:none;border:1px solid var(--line);border-radius:4px;cursor:pointer}
button.star svg{fill:none}
button.star:hover{color:var(--accent);border-color:var(--accent)}
button.star[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}
button.star[aria-pressed=true] svg{fill:currentColor}
.views-pop [data-act]{display:flex;align-items:center;gap:12px;width:100%;color:var(--fg);text-align:start;padding:12px 0;min-height:44px}
.views-pop [data-act]::before{content:'';flex:none;width:18px;height:18px;border:1.5px solid var(--faint);border-radius:4px;box-sizing:border-box}
.views-pop [data-act][aria-pressed=true]::before{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center/12px no-repeat}
@media (prefers-color-scheme:dark){.views-pop [data-act][aria-pressed=true]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23121418' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E")}}
.views-pop p{font-size:13px;line-height:18px}

/* Show first: one language's quotes on top, per device. */
.langfirst{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;line-height:18px;color:var(--dim)}
.langfirst button{font:inherit;color:var(--dim);background:none;border:1px solid var(--line);border-radius:4px;padding:0 12px;min-height:34px;cursor:pointer}
.langfirst button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);font-weight:600}
.langfirst.order{margin:16px 0 0}

/* More about a story (2026-09-29): each outlet's own feed summary under its
   headline; "What the reports add" on request; related stories. */
.carrier .sum{margin:6px 0 0;color:var(--dim);font-size:15px;line-height:22px;text-wrap:pretty}
.more-list{list-style:none;margin:12px 0 0;padding:0}
.more-list li{padding:12px 0 0}
.more-list li p{margin:0;font-size:15px;line-height:22px;text-wrap:pretty}
.more-list li p.by{margin-top:4px;color:var(--dim);font-size:13px;line-height:18px}
.more-list .by b{color:var(--fg);font-weight:600}
.more-list q{display:block;quotes:"\201C" "\201D";margin:2px 0 0;color:var(--dim);font-size:13px;line-height:18px}
.more-ask{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:16px 0 0}
.more-ask button{font:600 15px/22px var(--sans);color:var(--accent);background:none;border:1px solid var(--accent);border-radius:4px;padding:0 16px;min-height:44px;cursor:pointer}
.more-ask button:disabled{color:var(--faint);border-color:var(--line);cursor:default}
.more-wait{color:var(--dim);font-size:13px;line-height:18px}
.more-msg{margin:12px 0 0}
.more .hint,.related .hint{color:var(--dim);font-size:13px;line-height:18px;margin:4px 0 0}

/* English titles on demand (2026-09-29, src/titles.js): a translated title is
   marked; the original stays one tap away on the story page. */
.mt-tag{color:var(--faint);font-size:13px;line-height:18px}
.mt-tag.pending{color:var(--dim)}
.orig-title{margin:8px 0 0;color:var(--dim);font-size:13px;line-height:18px}

/* Menus next to their button (2026-09-29): no dimmed page, placed by
   MENU_SCRIPT in pages.js. Saved views live in the star's menu. */
.menu-pop{position:fixed;inset:auto;margin:0;visibility:hidden}
.menu-pop.placed{visibility:visible}
.menu-pop.fresh-pop::backdrop{background:transparent}
.views-pop ul.saved{list-style:none;margin:8px 0 0;padding:0}
.views-pop ul.saved a{display:flex;align-items:center;min-height:44px;font-size:15px;color:var(--fg)}
.views-pop ul.saved a[aria-current]{color:var(--accent);font-weight:600}
.views-pop p.none{color:var(--dim);font-size:13px;line-height:18px}
.views-pop b.sub{display:block;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}

/* Interleaved translations (2026-09-29, src/lines.js): under each quote and
   summary, in the page's language, only while the toggle is on. */
.carrier .il{display:none;margin:6px 0 0;padding-inline-start:8px;border-inline-start:2px solid var(--line);color:var(--fg);font-size:15px;line-height:22px}
.lines-on .carrier .il{display:block}
.carrier .il .mt{color:var(--faint);font-size:13px}
.lines-bar{margin-top:0}
.lines-bar button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);font-weight:600}
.lines-msg{color:var(--dim);font-size:13px;line-height:18px}
/* Front page: one line above the list (when it was updated); what the page
   reads, how often, and the freshbar legend fold under Details. */
.pageinfo{margin:12px 0 0}
.pageinfo summary{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;list-style:none;font-size:13px;line-height:18px;color:var(--dim)}
.pageinfo summary::-webkit-details-marker{display:none}
.pageinfo summary time{font-variant-numeric:tabular-nums}
.pageinfo .more{color:var(--accent)}
.pageinfo[open] .more{color:var(--dim)}
.pageinfo>.lede:first-of-type{margin-top:0}
.pageinfo+.seen-count{margin-top:0}
/* English headlines on an edition's front page (HEN_SCRIPT in pages.js). */
.row .h-en{font:400 15px/21px var(--sans);letter-spacing:0;color:var(--dim);margin:4px 0 0;text-align:left}
html[dir=rtl] .row .h-en{text-align:right}
.row .h-en.pending{color:var(--faint)}
.story .h1-en{font:400 17px/24px var(--sans);letter-spacing:0;color:var(--dim);margin:8px 0 0;text-align:left}
html[dir=rtl] .story .h1-en,html[dir=rtl] .carrier .il[lang=en]{text-align:right}
.lines-on .carrier .il[hidden]{display:none}
html[dir=rtl] .ln-e[dir=ltr]{text-align:right;white-space:normal}
/* Titles being translated (TITLES_SCRIPT): a status line with the wait
   spinner above the list, and each waiting headline dimmed until its English
   arrives. */
.mt-status{display:flex;align-items:center;gap:8px;margin:16px 0 0;font-size:13px;line-height:18px;color:var(--dim)}
.mt-wait{color:var(--dim)}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
/* World place rows (regions, countries) and a story's place tags (2026-10-01) */
.placerow{margin-top:8px}
.placerow + .placerow{margin-top:4px}
.placerow a .n{margin-inline-start:6px;color:var(--faint);font-weight:400;font-variant-numeric:tabular-nums}
.placerow a[aria-current] .n{color:inherit}
.placerow a.none{color:var(--faint)}
.placerow.countries a{min-height:30px;padding:5px 10px;border-color:transparent;background:var(--chip)}
.placerow.countries a[aria-current]{background:transparent;border-color:var(--accent)}
.row .places{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 0}
.row .places a{font:400 12px/16px var(--sans);color:var(--dim);background:var(--chip);border-radius:4px;padding:3px 7px}
.row .places a:hover{color:var(--accent)}
/* Language row under the tabs (2026-10-05): one tap per language */
.langrow{display:flex;align-items:center;gap:8px;margin:12px 0 0;color:var(--faint)}
.langrow .ic{flex:none}
.langrow .langs{display:inline-flex;border-radius:4px;box-shadow:inset 0 0 0 1px var(--line);padding:2px}
.langrow .langs>a,.langrow .langs>span{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:3px;font:400 15px/20px var(--sans);color:var(--dim)}
.langrow .langs a:hover{color:var(--fg)}
.langrow .langs>[aria-current]{background:var(--chip);color:var(--fg);font-weight:600}
.langrow .langs :lang(he){font-family:'IBM Plex Sans Hebrew',var(--sans)}
.langrow button.enl-toggle{margin-inline-start:auto;min-height:40px;padding:0 4px;border-color:transparent;font-weight:400;color:var(--dim)}
.langrow button.enl-toggle[aria-pressed=true]{border-color:transparent;color:var(--fg)}
@media (hover:hover){.langrow button.enl-toggle:hover{border-color:transparent;color:var(--fg)}}
.langrow+.pageinfo,header:has(.langrow)+.pageinfo{margin-top:4px}
.story .span-note{margin:12px 0 0;font-size:13px;line-height:18px;color:var(--dim)}
.story .span-note+.meta{margin-top:8px}
/* Sort and filter a story's reports (2026-10-05): one collapsed row, a card when open */
.rview{margin:0 0 12px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line)}
details.rview>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;margin:0;width:auto;cursor:pointer;list-style:none;font-size:13px;line-height:18px;color:var(--dim)}
details.rview>summary::-webkit-details-marker{display:none}
details.rview>summary::before{content:'';flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M2 4h12M4 8h8M6 12h4'/%3E%3C/svg%3E") center/16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M2 4h12M4 8h8M6 12h4'/%3E%3C/svg%3E") center/16px no-repeat}
details.rview>summary::after{content:'';margin-inline-start:auto;flex:none;width:8px;height:8px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg)}
details.rview[open]>summary::after{transform:translateY(2px) rotate(225deg)}
details.rview>summary>span:first-child{color:var(--fg)}
details.rview>summary .n{font-variant-numeric:tabular-nums}
.rv-body{padding:0 12px 12px}
.rv-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font-size:13px;line-height:18px;color:var(--dim)}
.rv-row .rv-t{flex:0 0 100%}
.rv-row button{font:inherit;color:var(--dim);background:none;border:1px solid var(--line);border-radius:4px;padding:0 12px;min-height:36px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.rv-row button .n{color:var(--faint);font-variant-numeric:tabular-nums}
.rv-row button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);font-weight:600}
.rv-row button[aria-pressed=true] .n{color:inherit}
.rv-body .lines-bar{margin:12px 0 0}
.carrier[hidden]{display:none}
details.who .whofrom{margin:0 0 8px;font-size:13px;line-height:18px;color:var(--dim)}
.fromrow{margin-top:8px}
.langrow+.fromrow{margin-top:8px}
.meta .fromc{color:var(--fg)}
/* Ongoing threads (2026-10-06): one horizontal row of compact cards above a tab's list */
.threads{margin:16px 0 0}
.threads .section{margin:0}
.th-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:8px -16px 0;padding:0 16px 4px}
.th-row::-webkit-scrollbar{display:none}
.th{flex:none;display:flex;flex-direction:column;gap:4px;width:220px;padding:10px 12px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg)}
.th-t{font:500 15px/20px var(--serif);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.th-m{font-size:13px;line-height:18px;color:var(--dim);font-variant-numeric:tabular-nums}
.th:hover .th-t{color:var(--accent)}
/* Story counts on Both / Local / From abroad, and the outlets line (2026-10-06) */
.langrow .langs .n{margin-inline-start:6px;color:var(--faint);font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}
.fromrow{overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
.fromrow::-webkit-scrollbar{display:none}
.fromrow .langs a,.fromrow .langs>span{white-space:nowrap;padding:0 12px}
.langrow .langs [aria-current] .n{color:var(--dim)}
p.outlets{margin:4px 0 0;font-size:13px;line-height:18px;color:var(--dim);font-variant-numeric:tabular-nums}
/* Told by (2026-10-06): one chip row; label, then Everyone, local, abroad, regions, countries */
.lensrow{align-items:center;margin-top:12px}
.lensrow .lens-t{flex:none;font-size:13px;line-height:18px;color:var(--faint);padding-inline-end:4px}
.lensrow .n{margin-inline-start:6px;color:var(--faint);font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}
.lensrow [aria-current]{flex:none;font-size:13px;line-height:18px;padding:7px 12px;border:1px solid var(--accent);border-radius:4px;color:var(--accent);font-weight:600;min-height:34px;display:inline-flex;align-items:center}
.lensrow [aria-current] .n{color:inherit}
/* Process by demand (2026-10-06): a quiet country says it updates slower */
.quiet-note{margin:8px 0 0;font-size:13px;line-height:18px;color:var(--dim)}
/* Told by / About on story rows (2026-10-07): two labelled lines, the label
   in --faint, Told by as plain words with outlet counts, About as the chips */
.row .toldby,.row .places{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:8px 0 0;font-size:13px;line-height:18px}
.row .toldby .lbl,.row .places .lbl{color:var(--faint);min-width:52px}
.row .toldby .lbl{min-width:0;margin-inline-end:2px}
.row .toldby .c{color:var(--fg)}
.row .toldby .k{color:var(--dim);font-weight:600;font-variant-numeric:tabular-nums}
.row .toldby .more{color:var(--faint)}
.row .toldby b{font-weight:600;color:var(--fg)}
.row .places span:not(.lbl){font:400 12px/16px var(--sans);color:var(--dim);background:var(--chip);border-radius:4px;padding:3px 7px}
.row .places{gap:4px}
.row .places .lbl{margin-inline-end:6px}
/* Headlines: English | Original | Both (2026-10-07) */
.hlrow{margin-top:12px}
.hlrow .langs>a[aria-current=true]{background:var(--chip);color:var(--fg);font-weight:600}
.row h2.aligned{font-size:20px;line-height:25px}
.row .h-en{margin:2px 0 0;font:400 14px/18px var(--sans);color:var(--gloss)}
.row .toldby button.more{font:inherit;color:var(--accent);background:none;border:0;padding:4px 0;margin:-4px 0;cursor:pointer}
.row .toldby .k{font-weight:400}
/* About sits above the headline (2026-10-07) */
.row>.places{margin:0 0 6px}
/* Outlets from, shown by default (2026-10-07): a faint label, then one line
   per country: name + (count) in a column, its outlets wrapping beside it */
.row .toldby:not(.one){display:block;margin:8px 0 0;font-size:13px;line-height:18px}
.row .toldby .ob{list-style:none;margin:2px 0 0;padding:0}
.row .toldby .ob{display:grid;grid-template-columns:max-content 1fr;gap:4px 10px}
.row .toldby .ob li{display:contents}
.row .toldby .ob.rest[hidden]{display:none}
.row .toldby .nm{color:var(--dim)}
.row .toldby .lbl{display:block;color:var(--faint)}
.row .toldby.one .lbl{display:inline}
.row .toldby button.more-n,.row .toldby button.more{font:inherit;color:var(--accent);background:none;border:0;padding:4px 2px;margin:-4px 0;cursor:pointer}
.row .toldby button.more{margin:-4px 0 -4px 8px;padding:4px 0}
/* "+6" and "+N more countries" as thumb-sized tags (2026-10-07) */
.row .toldby button.more-n,.row .toldby button.more{display:inline-flex;align-items:center;min-height:32px;margin:-6px 0 -6px 6px;padding:0 10px;border-radius:4px;background:var(--chip);color:var(--accent);font-weight:600;position:relative;vertical-align:middle}
.row .toldby button.more-n::after,.row .toldby button.more::after{content:'';position:absolute;inset:-6px -4px}
.row .toldby .ob li:has(button.more-n:not([hidden])) .nm{cursor:pointer}
.row .toldby .ob{row-gap:8px}
