/* Coverage Compare
   Colour: ink and paper carry the page; cobalt is the one interface accent. Green, vermilion and amber
   are reserved for framing data; the region scale is monochrome so it never competes with framing.
   Shape: photos and panels 6px, controls fully rounded. Type: Newsreader headlines, Geist interface,
   Noto Serif Bengali for Bangla. */
:root{
  --bg:#F4F4F1; --surface:#FFFFFF; --sunk:#ECEBE6; --ink:#0E1116; --ink-2:#2E343F; --muted:#5B6270;
  --line:#E1E0DA; --line-2:#C9C8C1; --util:#0E1116; --util-ink:#C9CDD5;
  --accent:#1D4ED8; --accent-soft:#E6ECFB;
  --neutral:#2B7A64; --neutral-soft:#E2F0EA; --asserted:#C63A20; --asserted-soft:#FAE5DF; --quoted:#C78A0E; --quoted-soft:#FBF0D9;
  --bA:#2B7A64; --bB:#3B76AE; --bC:#C78A0E; --bD:#C63A20;
  --r-bd:#0E1116; --r-sa:#6A7792; --r-intl:#B4BDCD;
  /* Analytics charts: validated (dataviz validator, all pairs) against the light surface */
  --viz-neutral:#1E8A5E; --viz-asserted:#C63A20; --viz-scare_quoted:#C78A0E; --viz-1:#2a78d6;
  --h1:#cde2fb; --h2:#9ec5f4; --h3:#6da7ec; --h4:#3987e5; --h5:#256abf; --h6:#184f95; --h-ink6:#fff;
  --shadow:0 1px 2px rgb(14 17 22 / .05), 0 12px 32px -16px rgb(14 17 22 / .18);
  --serif:"Newsreader",Georgia,serif; --bn:"Noto Serif Bengali","Newsreader",serif;
  --sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif; --mono:"Geist Mono",ui-monospace,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0C0E12; --surface:#14171D; --sunk:#0A0B0E; --ink:#ECEDEF; --ink-2:#C4C8D0; --muted:#8E95A2;
  --line:#22262F; --line-2:#323744; --util:#050608; --util-ink:#9CA3AF;
  --accent:#7FA3FF; --accent-soft:#1A2440;
  --neutral:#4DB592; --neutral-soft:#14281F; --asserted:#F2704F; --asserted-soft:#33190F; --quoted:#F0B543; --quoted-soft:#30240C;
  --bA:#4DB592; --bB:#6FA6DB; --bC:#F0B543; --bD:#F2704F;
  --r-bd:#ECEDEF; --r-sa:#8D9AB5; --r-intl:#4A5468;
  --viz-neutral:#19966e; --viz-asserted:#af3d34; --viz-scare_quoted:#c17f21; --viz-1:#3987e5;
  --h1:#0d366b; --h2:#104281; --h3:#184f95; --h4:#256abf; --h5:#3987e5; --h6:#6da7ec; --h-ink6:#0C0E12;
  --shadow:0 1px 2px rgb(0 0 0 / .4), 0 16px 40px -18px rgb(0 0 0 / .7); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0C0E12; --surface:#14171D; --sunk:#0A0B0E; --ink:#ECEDEF; --ink-2:#C4C8D0; --muted:#8E95A2;
  --line:#22262F; --line-2:#323744; --util:#050608; --util-ink:#9CA3AF;
  --accent:#7FA3FF; --accent-soft:#1A2440;
  --neutral:#4DB592; --neutral-soft:#14281F; --asserted:#F2704F; --asserted-soft:#33190F; --quoted:#F0B543; --quoted-soft:#30240C;
  --bA:#4DB592; --bB:#6FA6DB; --bC:#F0B543; --bD:#F2704F;
  --r-bd:#ECEDEF; --r-sa:#8D9AB5; --r-intl:#4A5468;
  --viz-neutral:#19966e; --viz-asserted:#af3d34; --viz-scare_quoted:#c17f21; --viz-1:#3987e5;
  --h1:#0d366b; --h2:#104281; --h3:#184f95; --h4:#256abf; --h5:#3987e5; --h6:#6da7ec; --h-ink6:#0C0E12;
  --shadow:0 1px 2px rgb(0 0 0 / .4), 0 16px 40px -18px rgb(0 0 0 / .7); color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; background:var(--bg); color:var(--ink); font:400 15px/1.55 var(--sans); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}
a{color:inherit; text-decoration:none}
img{display:block; max-width:100%}
[lang="bn"]{font-family:var(--bn); line-height:1.6}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:4px}
[hidden]{display:none!important}
.skip{position:absolute; left:-999px; top:8px; z-index:50; background:var(--surface); color:var(--ink); padding:8px 14px; border-radius:999px}
.skip:focus{left:16px}
.shell{max-width:1280px; margin:0 auto; padding:0 16px}
@media (min-width:768px){.shell{padding:0 32px}}

/* ---------- utility bar, masthead, sections ---------- */
.util{background:var(--util); color:var(--util-ink); font-size:12.5px}
.util-in{display:flex; justify-content:space-between; gap:16px; height:34px; align-items:center}
.util-r{display:inline-flex; align-items:center; gap:8px; white-space:nowrap}
.util-in > span:first-child{white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.live{width:7px; height:7px; border-radius:50%; background:#3FBF8F; position:relative}
.live::after{content:""; position:absolute; inset:-4px; border-radius:50%; border:1.5px solid #3FBF8F; opacity:0}
@media (max-width:520px){.util-r{display:none}}

.mast{background:var(--surface); border-bottom:1px solid var(--line)}
.mast-in{display:grid; grid-template-columns:1fr auto; grid-template-areas:"brand tools" "eds eds"; gap:12px 16px; padding-top:14px; padding-bottom:12px; align-items:center}
.brand{grid-area:brand; justify-self:start; display:inline-flex; flex-direction:column; align-items:center; gap:6px}
.brand-tag{font:400 12px/1 var(--mono, "Geist Mono", ui-monospace, monospace); letter-spacing:.01em; color:var(--muted); white-space:nowrap}
.foot .brand-tag{color:var(--util-ink)}
.brand-logo{display:block; height:26px; width:auto; color:var(--ink)}
.brand-logo .r{fill:#B8321C}
:root[data-theme="dark"] .brand-logo .r{fill:#E2553C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand-logo .r{fill:#E2553C}}
.eds{grid-area:eds; display:flex; gap:4px; background:var(--sunk); padding:4px; border-radius:999px; justify-self:start; overflow-x:auto; max-width:100%; scrollbar-width:none}
@media (min-width:1000px){.eds{justify-self:center}}
.eds a{font-size:13.5px; font-weight:500; color:var(--muted); padding:7px 16px; border-radius:999px; white-space:nowrap; transition:color .2s, background .2s}
@media (max-width:1099px){.eds a{padding:7px 12px}}
.eds a:hover{color:var(--ink)}
.eds a[aria-current]{background:var(--ink); color:var(--surface)}
.eds-sep{flex:none; width:1px; margin:6px 4px; background:var(--line-2)}
.tools{grid-area:tools; display:flex; gap:8px; align-items:center; justify-self:end}
.search input{font:inherit; font-size:14px; width:200px; color:var(--ink); background:var(--bg); border:1px solid var(--line-2); border-radius:999px; padding:8px 16px; transition:border-color .2s, box-shadow .2s, width .3s var(--ease)}
.search input::placeholder{color:var(--muted)}
.search input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); width:260px}
@media (max-width:640px){.search{display:none}}
.search-pop{width:min(92vw,420px); margin:72px auto auto}
.search-pop input{width:100%; margin-top:12px; font:inherit; font-size:16px; color:var(--ink); background:var(--bg); border:1px solid var(--line-2); border-radius:999px; padding:10px 16px}
.search-pop input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft)}
.icon-btn,.theme-btn{display:inline-grid; place-items:center; width:38px; height:38px; padding:0; color:var(--ink-2); background:none; border:1px solid var(--line-2); border-radius:999px; cursor:pointer; transition:border-color .2s, color .2s, transform .3s var(--ease)}
.icon-btn svg{width:18px; height:18px; display:block}
.theme-btn:active{transform:rotate(-20deg)}
.search-btn{display:none}
@media (max-width:640px){.search-btn{display:inline-grid}}
.icon-btn:hover{border-color:var(--ink-2); color:var(--ink)}
.t-dark{display:none}
:root[data-theme="light"] .t-light{display:none} :root[data-theme="light"] .t-dark{display:inline}
@media (prefers-color-scheme:light){:root:not([data-theme]) .t-light{display:none} :root:not([data-theme]) .t-dark{display:inline}}

.sub{background:var(--surface); border-bottom:2px solid var(--ink)}
.sub-in{display:flex; gap:28px; align-items:center; overflow-x:auto; scrollbar-width:none}
.sub a{font-size:14px; font-weight:600; color:var(--muted); padding:14px 0 12px; border-bottom:3px solid transparent; margin-bottom:-2px; white-space:nowrap}
.sub a:hover{color:var(--ink)}
.sub a[aria-current]{color:var(--ink); border-color:var(--accent)}
.sub-ed{margin-left:auto; font-size:12.5px; color:var(--muted); white-space:nowrap}

.ticker{background:var(--surface); border-bottom:1px solid var(--line)}
.ticker-in{display:flex; align-items:center; gap:16px; height:44px}
.ticker-l{flex:none; font:700 11.5px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--surface); background:var(--asserted); padding:6px 9px; border-radius:3px}
.ticker-win{flex:1; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 4%,#000 94%,transparent)}
.ticker-track{display:flex; width:max-content}
.ticker-track a{display:inline-flex; align-items:baseline; gap:8px; padding-right:40px; font-size:13.5px; white-space:nowrap; color:var(--ink-2)}
.ticker-track a:hover span{text-decoration:underline; text-underline-offset:3px}
.ticker-track time{font:500 12px var(--mono); color:var(--muted)}
.ticker-track b{font-weight:600; color:var(--ink)}
.ticker-track [lang="bn"]{font-size:14px; line-height:1.4}

/* ---------- shared ---------- */
.note{margin:24px 0 0; padding:12px 16px; border-left:3px solid var(--quoted); background:var(--quoted-soft); font-size:13.5px; color:var(--ink-2); border-radius:0 6px 6px 0}
.note b{color:var(--ink)}
.kicker{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; font-size:12.5px; color:var(--muted)}
.tag{font:600 11px/1 var(--sans); letter-spacing:.06em; text-transform:uppercase; padding:5px 8px; border-radius:3px; color:var(--surface); background:var(--r-bd)}
.tag.t-sa{background:var(--r-sa)} .tag.t-intl{background:var(--r-intl); color:var(--ink)}
.dek{color:var(--muted); font-size:17px; line-height:1.5; margin-top:10px}
.dek[lang="bn"]{font-size:16px}
.cred{font-size:11.5px; color:var(--muted)}
.btn{display:inline-flex; align-items:center; gap:8px; font:600 14px/1 var(--sans); white-space:nowrap; background:var(--ink); color:var(--surface); padding:12px 20px; border-radius:999px; transition:transform .15s, opacity .2s}
.btn:hover{opacity:.88} .btn:active{transform:translateY(1px)}
.btn-ghost{background:none; color:var(--ink); box-shadow:inset 0 0 0 1px var(--line-2)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--ink-2)}
.chip{display:inline-block; font:600 11.5px/1 var(--sans); padding:5px 9px; border-radius:999px; background:var(--sunk); color:var(--ink-2); white-space:nowrap}
.c-neutral{background:var(--neutral-soft); color:var(--neutral)} .c-asserted{background:var(--asserted-soft); color:var(--asserted)} .c-scare_quoted{background:var(--quoted-soft); color:var(--quoted)}
.f-neutral{background:var(--neutral)} .f-asserted{background:var(--asserted)} .f-scare_quoted{background:var(--quoted)}
.r-bd{background:var(--r-bd)} .r-sa{background:var(--r-sa)} .r-intl{background:var(--r-intl)}
mark{border-radius:3px; padding:0 3px; font-weight:inherit}
.m-asserted{background:var(--asserted-soft); color:var(--asserted); box-shadow:inset 0 -2px 0 var(--asserted)}
.m-quoted{background:var(--quoted-soft); color:var(--quoted); box-shadow:inset 0 -2px 0 var(--quoted)}
.sec-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 24px; border-top:3px solid var(--ink); padding-top:14px}
.sec-head h2{font:700 clamp(22px,2.4vw,28px)/1.15 var(--serif); letter-spacing:-.015em}
.sec-sub{color:var(--muted); font-size:14px; margin-top:6px; max-width:68ch; flex-basis:100%}
.more{font-size:14px; font-weight:600; color:var(--accent)}
.more::after{content:" →"}

/* logos */
.logo{width:20px; height:20px; border-radius:5px; flex:none; background:var(--surface); box-shadow:0 0 0 1px var(--line); object-fit:contain}
.logo-txt{display:inline-grid; place-items:center; font:700 10.5px/1 var(--sans); color:var(--surface); background:var(--ink-2); box-shadow:none}
.stack{display:inline-flex; align-items:center; font-size:13px; color:var(--muted)}
.stack .logo{width:22px; height:22px; border-radius:50%; box-shadow:0 0 0 2px var(--surface); margin-right:-6px}
.stack b{font-weight:500; margin-left:14px; white-space:nowrap}
.schip{font:500 12px/1 var(--mono); color:var(--muted); padding:5px 9px 5px 7px; border-radius:999px; background:var(--sunk); white-space:nowrap}
.schip b{font:700 14px/1 var(--mono); color:var(--ink); margin-right:1px}
.schip::before{content:""; display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:6px; vertical-align:1px; background:var(--muted)}
.schip.b-A::before{background:var(--bA)} .schip.b-B::before{background:var(--bB)} .schip.b-C::before{background:var(--bC)} .schip.b-D::before{background:var(--bD)}

/* framing bar */
.fbar{display:flex; gap:2px; height:6px; border-radius:3px; overflow:hidden}
.fbar .seg{display:flex; align-items:center; justify-content:center; min-width:3px; overflow:hidden}
.fbar em{font:600 11px/1 var(--sans); font-style:normal; color:#fff; white-space:nowrap}
.fbar-md{height:20px} .fbar-md em{font-size:10.5px}
.fbar-lg{height:28px} .fbar-lg em{font-size:12px}
.bar-cap{display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-top:20px; margin-bottom:8px; font-size:13px; font-weight:600; color:var(--ink-2)}
.help{font:500 12.5px/1 var(--sans); color:var(--accent); background:none; border:0; padding:6px 0; margin:-6px 0; cursor:pointer; text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent); text-underline-offset:3px}
.pop{max-width:360px; margin:auto; padding:18px 20px; border:0; border-radius:8px; background:var(--surface); color:var(--ink-2); box-shadow:0 20px 60px -12px rgb(0 0 0 / .35); font-size:14px}
.pop::backdrop{background:rgb(14 17 22 / .25)}
.pop p{margin-top:10px; padding-left:18px; position:relative}
.pop p i{position:absolute; left:0; top:6px; width:9px; height:9px; border-radius:2px}
.pop b{color:var(--ink)}
.pop .pop-h{margin:0; padding:0; font:700 17px/1.3 var(--serif); color:var(--ink)}
.pop .pop-f{padding:0; font-size:12.5px; color:var(--muted)}
.key-l{display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px 14px; font-size:12.5px; color:var(--muted)}
.key{display:inline-flex; gap:12px}
.key i{display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:5px}
.fbar.is-ph .seg,.rail .is-ph .seg{background-image:repeating-linear-gradient(135deg,rgb(255 255 255 / .38) 0 3px,transparent 3px 7px)}
.fbar-pending{display:flex; align-items:center; justify-content:center; background:repeating-linear-gradient(135deg,var(--sunk) 0 6px,var(--line) 6px 12px)}
.fbar-pending span{font:600 11px/1 var(--sans); color:var(--muted); background:var(--surface); padding:3px 8px; border-radius:999px}
.c-pending{background:var(--sunk); color:var(--muted)}
.side-pending{font-size:13px; color:var(--muted)}
.rbar{display:flex; gap:2px; height:10px; border-radius:3px; overflow:hidden}

/* photos */
.ph{position:relative; overflow:hidden; border-radius:6px; background:var(--sunk); aspect-ratio:3/2}
.ph img{width:100%; height:118%; object-fit:cover; object-position:50% 15%; transition:transform .8s var(--ease)}
.ph-hero{aspect-ratio:16/9}
.ph-story{aspect-ratio:16/9}
.ph-sq{aspect-ratio:1; border-radius:4px}


/* ---------- home ---------- */
.results{font:700 30px/1.2 var(--serif); margin-top:32px}
.results span{font:500 14px var(--mono); color:var(--muted); vertical-align:middle; margin-left:8px}
.front{display:grid; gap:32px; margin-top:28px}
@media (min-width:1000px){.front:has(.rail){grid-template-columns:minmax(0,1fr) 340px; gap:40px}}
.hero{display:block; position:relative}
.stretch::after{content:""; position:absolute; inset:0; z-index:1}
.help{position:relative; z-index:2}
.hero:hover img,.card:hover img,.b-row:hover img{transform:scale(1.035)}
.hero-body{padding-top:20px}
.hero h1{font:700 clamp(30px,3.7vw,48px)/1.06 var(--serif); letter-spacing:-.025em; margin-top:12px; text-wrap:balance}
.hero h1.hl-bn{font-family:var(--bn); font-size:clamp(26px,3vw,38px); line-height:1.42; letter-spacing:0}
.hero:hover h1{text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; text-decoration-color:var(--line-2)}
.hero-meta{display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin-top:16px}
.hero-meta .cred{margin-left:auto}

.rail{border-top:3px solid var(--ink); padding-top:14px}
@media (min-width:1000px){.rail{border-top:0; padding-top:0; border-left:1px solid var(--line); padding-left:32px}}
.rail-h{font:700 24px/1.1 var(--serif); letter-spacing:-.015em}
@media (min-width:1000px){.rail-h{border-top:3px solid var(--ink); padding-top:14px}}
.rail-sub{font-size:13px; color:var(--muted); margin-top:6px}
.rail ol{list-style:none; margin:16px 0 0; padding:0}
.rail li + li{border-top:1px solid var(--line)}
.rail li a{display:grid; grid-template-columns:34px 1fr; gap:12px; padding:16px 0}
.rank{font:700 34px/1 var(--serif); color:var(--line-2); font-variant-numeric:tabular-nums}
.rail-body{display:grid; gap:7px}
.rail-t{font:600 17px/1.3 var(--serif)}
.rail-t[lang="bn"]{font-family:var(--bn); font-size:16px; line-height:1.55}
.rail a:hover .rail-t{color:var(--accent)}
.rail-m{font-size:12.5px; color:var(--muted)}
.pct-hot{color:var(--asserted); font-weight:700}

.roundup{margin-top:56px}
.roundup:not(.in-story){background:var(--surface); border-radius:6px; padding:0 24px 24px; box-shadow:var(--shadow)}
.roundup:not(.in-story) .sec-head{margin:0 -24px; padding:16px 24px 0; border-radius:6px 6px 0 0}
.ru-event{color:var(--muted); font-size:15px; margin-top:6px}
.ru-cols{display:grid; gap:16px; margin-top:20px}
@media (min-width:760px){.ru-cols{grid-template-columns:repeat(3,1fr)} .ru-cols.n2{grid-template-columns:repeat(2,1fr)} .ru-cols.n1{grid-template-columns:1fr}}
.ru-col{border-top:4px solid var(--line-2); padding:14px 16px 16px; background:var(--bg); border-radius:0 0 6px 6px; display:flex; flex-direction:column; gap:12px}
.in-story .ru-col{background:var(--surface)}
.ru-neutral{border-color:var(--neutral)} .ru-asserted{border-color:var(--asserted)} .ru-scare_quoted{border-color:var(--quoted)}
.ru-col h3{font:700 12px/1 var(--sans); letter-spacing:.06em; text-transform:uppercase; display:flex; justify-content:space-between; gap:8px}
.ru-neutral h3{color:var(--neutral)} .ru-asserted h3{color:var(--asserted)} .ru-scare_quoted h3{color:var(--quoted)}
.ru-col h3 span{font:500 12px var(--mono); letter-spacing:0; text-transform:none; color:var(--muted)}
.ru-hl{font:600 19px/1.35 var(--serif); flex:1}
.ru-hl[lang="bn"]{font-family:var(--bn); font-size:18px; line-height:1.65}
.ru-src{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted)}
.ru-src b{color:var(--ink); font-weight:600}
.ru-src time{margin-left:auto; font:500 12px var(--mono)}

.latest{margin-top:56px}
.cards{display:grid; gap:36px 28px; margin-top:22px}
@media (min-width:640px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.card{display:flex; flex-direction:column}
.card-body{display:flex; flex-direction:column; flex:1; padding-top:14px}
.card h3{font:700 21px/1.2 var(--serif); letter-spacing:-.012em; margin-top:10px; text-wrap:pretty}
.card h3.hl-bn{font-family:var(--bn); font-size:18.5px; line-height:1.55; letter-spacing:0}
.card:hover h3{color:var(--accent)}
.card-foot{margin-top:auto; padding-top:16px; display:grid; gap:12px}
.card-meta{display:flex; justify-content:space-between; align-items:center; gap:10px}
@media (min-width:1000px){
  .card-wide{grid-column:span 2; display:grid; grid-template-columns:1.25fr 1fr; gap:24px}
  .card-wide .card-body{padding-top:0}
  .card-wide .card-foot{margin-top:28px}
  .card-wide h3{font-size:28px} .card-wide h3.hl-bn{font-size:23px}
  .card-wide .ph{aspect-ratio:4/3}
}

.pager{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:48px}
.pager-n{font-size:13px; color:var(--muted)}
.border{margin-top:64px}
.b-list{display:grid; margin-top:8px}
.b-row{display:grid; grid-template-columns:64px 1fr; gap:6px 16px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line)}
.b-row .ph{grid-row:span 2}
.b-t{font:600 17px/1.3 var(--serif)} .b-t[lang="bn"]{font-family:var(--bn); font-size:16px; line-height:1.55}
.b-row:hover .b-t{color:var(--accent)}
.b-viz{display:grid; gap:8px}
.b-leg{display:flex; flex-wrap:wrap; gap:4px 14px; font-size:12.5px; color:var(--muted)}
.b-leg i,.legend i,.filters i{display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:6px; vertical-align:0}
@media (min-width:860px){.b-row{grid-template-columns:72px 1fr 300px} .b-row .ph{grid-row:auto}}

.empty{margin:64px 0; padding:48px 24px; text-align:center; border:1px dashed var(--line-2); border-radius:6px}
.empty h2{font:700 28px/1.2 var(--serif)}
.empty p{color:var(--muted); margin:10px auto 22px; max-width:52ch}

/* ---------- story ---------- */
.tr{font-size:12px; color:var(--muted); padding-left:10px; border-left:1px solid var(--line-2)}
.crumbs{display:flex; gap:8px; font-size:13px; color:var(--muted); margin-top:24px}
.crumbs a{color:var(--accent); font-weight:500}
.crumbs span::before{content:"/"; margin-right:8px; color:var(--line-2)}
.ol-head{display:flex; gap:16px; align-items:center; margin-top:20px}
.ol-head h1{font:700 clamp(28px,4vw,40px)/1.1 var(--serif); letter-spacing:-.02em}
.logo-lg{width:40px; height:40px; border-radius:8px; font-size:17px}
.ol-meta{font-size:13.5px; color:var(--muted); margin-top:6px}
.ol-meta a{color:var(--accent)}
.ol-list{list-style:none; padding:0; margin:24px 0 48px; border-top:1px solid var(--line)}
.ol-row{padding:16px 0; border-bottom:1px solid var(--line); display:grid; gap:6px}
.ol-row time{font:500 12px var(--mono); color:var(--muted)}
.ol-row .tl-hl a:hover{color:var(--accent)}
.ol-story{font-size:13px; color:var(--muted)}
.ol-row.noise{opacity:.5}
.ol-story a{color:var(--ink-2); text-decoration:underline; text-decoration-color:var(--line-2); text-underline-offset:3px}
.ol-group{margin-top:32px}
.ol-group h2{font:700 20px/1.2 var(--serif)}
.ol-group h2 span{font:500 13px var(--mono); color:var(--muted); margin-left:6px}
.ol-dir{list-style:none; padding:0; margin:12px 0 0; display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:4px 16px}
.ol-dir a{display:flex; align-items:center; gap:8px; padding:6px 0; font-size:14px}
.ol-dir a:hover{color:var(--accent)}
.ol-none{margin:28px 0 64px}
/* Outlet profile, laid out as a report: header with counts, a contents bar, sections, numbered sources */
.pf{margin-top:28px; background:var(--surface); border-radius:6px; box-shadow:var(--shadow); max-width:900px; overflow:clip}
.pf-head{padding:24px 22px 18px; border-bottom:1px solid var(--line)}
.pf-kicker{font:600 11.5px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--accent)}
.pf h2{font:700 clamp(22px,3vw,28px)/1.2 var(--serif); letter-spacing:-.01em; margin-top:8px; text-wrap:balance}
.pf-over{font:400 17.5px/1.6 var(--serif); margin-top:12px; max-width:68ch; color:var(--ink-2)}
.pf-draft{margin-top:12px; padding:8px 12px; font-size:13px; color:var(--asserted); background:var(--asserted-soft); border-radius:4px; max-width:max-content}
.pf-stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:1px; margin:18px 0 0; background:var(--line); border:1px solid var(--line); border-radius:4px; overflow:hidden}
.pf-stats div{background:var(--surface); padding:10px 12px}
.pf-stats dt{font:600 11px/1 var(--sans); letter-spacing:.06em; text-transform:uppercase; color:var(--muted)}
.pf-stats dd{margin:6px 0 0; font:600 16px/1.2 var(--sans); font-variant-numeric:tabular-nums}
.pf-stats dd span{font-weight:400; font-size:13px; color:var(--muted)}
.pf-st-draft{color:var(--asserted)}
.pf-toc{position:sticky; top:0; z-index:2; display:flex; gap:4px; overflow-x:auto; padding:8px 14px; background:var(--surface); border-bottom:1px solid var(--line); scrollbar-width:thin}
@media (min-width:760px){.pf-toc{flex-wrap:wrap; overflow:visible}}
.pf-toc a{flex:none; font-size:13px; padding:6px 10px; border-radius:999px; color:var(--ink-2); white-space:nowrap}
.pf-toc a:hover{background:var(--sunk); color:var(--ink)}
.pf-toc a span{font:500 11.5px var(--mono); color:var(--muted); margin-left:2px}
.pf-body{padding:4px 22px 6px}
.pf-sec,.pf-assess,.pf-limits,.pf-refsec{scroll-margin-top:56px; padding:18px 0; border-bottom:1px solid var(--line)}
.pf-refsec{border-bottom:0}
.pf h3{font:700 19px/1.25 var(--serif); margin:0 0 10px}
.pf-list{margin:0; padding-left:20px; display:grid; gap:10px; font-size:15px; line-height:1.6; max-width:72ch}
.pf-list li::marker{color:var(--line-2)}
.pf-refs{white-space:nowrap}
.pf-refs a{display:inline-block; min-width:1.5em; margin-left:3px; padding:0 4px; font:500 11px/1.6 var(--mono); text-align:center; color:var(--accent); background:var(--accent-soft); border-radius:3px; vertical-align:2px}
.pf-refs a:hover{background:var(--accent); color:var(--surface)}
.pf-shared{padding-left:10px; box-shadow:inset 2px 0 var(--r-sa)}
.pf-legend{display:flex; align-items:center; gap:8px} .pf-legend::before{content:""; width:2px; height:1.2em; background:var(--r-sa)}
.pf-legend,.pf-gap{font-size:12.5px; color:var(--muted); margin-top:10px; max-width:72ch}
.pf-gap{margin:14px 0 0; padding-bottom:14px; border-bottom:1px solid var(--line)}
.pf-assess{margin:18px -10px 0; padding:18px 16px; background:var(--bg); border:0; border-left:3px solid var(--quoted); border-radius:0 6px 6px 0}
.pf-lead{font:400 17px/1.6 var(--serif); margin-bottom:12px; max-width:68ch}
.pf-limits .pf-list{color:var(--muted); font-size:14px}
.pf-reflist{margin:0; padding-left:28px; display:grid; gap:6px; font-size:13px; line-height:1.5; max-width:80ch; font-variant-numeric:tabular-nums}
.pf-reflist li::marker{font:500 12px var(--mono); color:var(--muted)}
.pf-reflist li:target{background:var(--accent-soft); border-radius:3px; outline:4px solid var(--accent-soft)}
.pf-reflist a{color:var(--ink-2); text-decoration:underline; text-decoration-color:var(--line-2); text-underline-offset:3px; overflow-wrap:anywhere}
.pf-reflist a:hover{color:var(--accent)}
.pf-reflist span{color:var(--muted); font:400 12px var(--mono)}
.pf-note{font-size:12.5px; line-height:1.55; color:var(--muted); margin-top:12px; max-width:72ch}
.pf-foot{margin:0; padding:14px 22px 18px; background:var(--sunk)}
@media (max-width:600px){.pf-head,.pf-body{padding-left:16px; padding-right:16px} .pf-foot{padding:12px 16px} .pf-assess{margin-left:-6px; margin-right:-6px}}
@media print{.pf{box-shadow:none; border:1px solid var(--line); max-width:none} .pf-toc{display:none} .pf-sec,.pf-assess{break-inside:avoid-page} .pf-reflist a::after{content:" " attr(href); font-size:10px; color:var(--muted); overflow-wrap:anywhere}}
.pf-hh{font:700 22px/1.2 var(--serif); margin-top:36px}
.ol-dir .chip{margin-left:auto; font-size:10.5px}
.s-head{margin-top:16px; max-width:940px}
.s-head h1{font:700 clamp(32px,4.6vw,58px)/1.04 var(--serif); letter-spacing:-.03em; margin-top:14px; text-wrap:balance}
.s-head h1.hl-bn{font-family:var(--bn); font-size:clamp(27px,3.6vw,44px); line-height:1.42; letter-spacing:0}
.s-head .dek{font-size:19px}
.s-acts{display:flex; gap:6px; margin:12px 0 0 -8px; color:var(--ink-2)}
.s-acts button{display:grid; place-items:center; width:40px; height:40px; border:0; border-radius:50%; background:none; color:inherit; cursor:pointer}
.s-acts button[hidden]{display:none}
.s-acts button:hover, .s-acts button:focus-visible{background:var(--accent-soft)}
.s-acts svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linejoin:round; stroke-linecap:round}
.s-acts [aria-pressed="true"], .s-acts .done{color:var(--accent)}
.s-grid{display:grid; grid-template-columns:minmax(0,1fr); gap:40px; margin-top:28px}
@media (min-width:1080px){.s-grid{grid-template-columns:minmax(0,1fr) 340px; gap:48px}}
.s-main > .cred{margin-top:8px}
.s-side{align-self:start}
@media (min-width:1080px){.s-side{position:sticky; top:20px}}

.neutral{margin-top:28px; background:var(--surface); border-radius:6px; box-shadow:var(--shadow)}
.nt-top{display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; padding:18px 22px}
.nt-h{font:700 20px/1.2 var(--serif); margin:0}
.nt-meta{font-size:13px; color:var(--muted)}
.nt-body{padding:0 22px 20px; display:grid; gap:14px}
.nt-text{font:400 18px/1.6 var(--serif); color:var(--ink); max-width:68ch}
.nt-diff{font-size:14.5px; color:var(--ink-2); padding:10px 14px; background:var(--bg); border-left:3px solid var(--quoted); border-radius:0 6px 6px 0; max-width:68ch}
.nt-diff b{color:var(--ink)}
.nt-src{display:flex; flex-wrap:wrap; gap:6px 14px; font-size:12.5px; color:var(--muted)}
.nt-src span{display:inline-flex; align-items:center; gap:6px}
.nt-note{font-size:12px; color:var(--muted)}
.analysis{margin-top:40px}
.an-head{display:grid; gap:12px; border-top:3px solid var(--ink); padding-top:14px}
.an-head h2{font:700 clamp(22px,2.4vw,28px)/1.15 var(--serif); letter-spacing:-.015em}
.picker{display:flex; gap:6px; overflow-x:auto; padding:2px 2px 10px; scrollbar-width:thin; scroll-snap-type:x proximity}
.pk{scroll-snap-align:start; display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:500; color:var(--ink-2); white-space:nowrap; padding:6px 12px 6px 7px; border-radius:999px; background:var(--surface); box-shadow:inset 0 0 0 1px var(--line); transition:box-shadow .2s}
.pk:hover{box-shadow:inset 0 0 0 1px var(--ink-2)}
.pk .logo{border-radius:50%}
.pk b{font:700 11.5px/1 var(--mono); color:var(--surface); background:var(--accent); padding:3px 6px; border-radius:999px}
.pk[aria-current]{background:var(--ink); color:var(--surface); box-shadow:none}
.pk[aria-current] b{background:var(--surface); color:var(--ink)}

.scorecard{display:grid; gap:24px; margin-top:16px; padding:24px; background:var(--surface); border-radius:6px; box-shadow:var(--shadow)}
@media (min-width:700px){.scorecard{grid-template-columns:200px 1fr; gap:36px; padding:32px}}
.dial-wrap{position:relative; width:180px; height:180px; justify-self:center}
.dial{width:100%; height:100%; transform:rotate(-90deg)}
.dial circle{fill:none; stroke-width:9}
.dial-track{stroke:var(--sunk)}
.dial-val{stroke:var(--muted); stroke-linecap:round; stroke-dasharray:326.73; stroke-dashoffset:calc(326.73 * (1 - var(--v)))}
.dial.b-A .dial-val{stroke:var(--bA)} .dial.b-B .dial-val{stroke:var(--bB)} .dial.b-C .dial-val{stroke:var(--bC)} .dial.b-D .dial-val{stroke:var(--bD)}
.dial-num{position:absolute; inset:0; display:grid; place-content:center; text-align:center}
.dial-num b{font:600 68px/.9 var(--serif); letter-spacing:-.04em; font-variant-numeric:tabular-nums}
.dial-num span{font-size:12px; color:var(--muted); margin-top:6px}
.sc-txt{display:flex; flex-direction:column; gap:12px; align-items:flex-start; min-width:0}
.sc-band{display:flex; align-items:center; gap:10px; font-weight:600; font-size:16px}
.bandpill{font:700 11px/1 var(--sans); letter-spacing:.06em; text-transform:uppercase; color:#fff; padding:5px 8px; border-radius:3px; background:var(--muted)}
.bandpill.b-A{background:var(--bA)} .bandpill.b-B{background:var(--bB)} .bandpill.b-C{background:var(--bC)} .bandpill.b-D{background:var(--bD)}
.byline{display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; color:var(--muted)}
.byline b{color:var(--ink); font-weight:600}
.byline time{font:500 12px var(--mono)}
.sc-lede{font:500 21px/1.4 var(--serif); color:var(--ink); letter-spacing:-.005em}
.sc-p{color:var(--ink-2); font-size:15px; max-width:64ch}
.sc-act{display:flex; flex-wrap:wrap; gap:10px; margin-top:6px}
.scale{list-style:none; display:grid; grid-template-columns:repeat(10,1fr); gap:3px; margin:14px 0 0; padding:0}
.scale li{font:600 11px/1 var(--mono); text-align:center; padding:8px 0; border-radius:3px; color:var(--muted); background:var(--surface); box-shadow:inset 0 -3px 0 var(--line-2)}
.scale .b-A{box-shadow:inset 0 -3px 0 var(--bA)} .scale .b-B{box-shadow:inset 0 -3px 0 var(--bB)} .scale .b-C{box-shadow:inset 0 -3px 0 var(--bC)} .scale .b-D{box-shadow:inset 0 -3px 0 var(--bD)}
.scale li.on{background:var(--ink); color:var(--surface)}
.scale-l{display:flex; justify-content:space-between; font-size:12px; color:var(--muted); margin-top:6px}

.sk{background:linear-gradient(90deg,var(--sunk),var(--line),var(--sunk)); background-size:200% 100%; border-radius:6px}
.sk-dial{width:180px; height:180px; border-radius:50%}
.sk-line{height:12px; width:90%} .sk-line.short{width:60%}

.in-story{margin-top:56px}
.gates-sec{margin-top:56px}
.g-grid{display:grid; gap:20px; margin-top:20px}
@media (min-width:900px){.g-grid{grid-template-columns:1.15fr 1fr}}
.gates{list-style:none; margin:0; padding:4px 22px; background:var(--surface); border-radius:6px; box-shadow:var(--shadow)}
.gate{display:grid; grid-template-columns:36px 1fr auto; gap:14px; padding:15px 0; align-items:start}
.gate + .gate{border-top:1px solid var(--line)}
.g-code{font:600 12px/1.7 var(--mono); color:var(--accent)}
.g-txt b{display:block; font-weight:600; font-size:15px}
.g-txt > span{display:block; font-size:13px; color:var(--muted); margin-top:2px}
.gate.zero .g-txt b{font-weight:500; color:var(--ink-2)}
.cites{font-size:12px; color:var(--muted); margin-top:6px}
.cites a{font:600 11px/1 var(--mono); color:var(--accent); background:var(--accent-soft); padding:3px 7px; border-radius:999px; margin-left:2px}
.g-meter{display:flex; gap:3px; align-items:center; margin-top:5px}
.g-meter i{width:22px; height:8px; border-radius:2px; background:var(--sunk)}
.g-meter i.on{background:var(--ink)}
.g-meter b{font:700 14px/1 var(--mono); width:14px; text-align:right; margin-left:8px}
.gate.zero .g-meter b{color:var(--muted)}
.evidence{background:var(--surface); border-radius:6px; padding:6px 22px 10px; box-shadow:var(--shadow)}
.evidence h3{font:600 12.5px/1 var(--sans); color:var(--muted); padding:14px 0 2px}
.ev{padding:16px 0; scroll-margin-top:24px; transition:background .4s}
.ev + .ev{border-top:1px solid var(--line)}
.ev:target{background:var(--accent-soft); box-shadow:0 0 0 12px var(--accent-soft); border-radius:4px}
.ev-top{display:flex; flex-wrap:wrap; align-items:center; gap:8px}
.num{font:700 11.5px/1 var(--mono); width:22px; height:22px; display:inline-grid; place-items:center; border-radius:50%; background:var(--ink); color:var(--surface)}
.voice{font-size:12px; color:var(--muted)}
.ev blockquote{margin-top:10px; padding-left:14px; border-left:3px solid var(--line-2); font-size:16px}
.why{font-size:13.5px; color:var(--muted); margin-top:8px; max-width:58ch}
.work{margin-top:16px}
.work summary,.method summary{cursor:pointer; font-size:14px; font-weight:600; color:var(--accent); list-style-position:inside}
.work-note{font-size:13px; color:var(--muted); margin-top:10px; max-width:70ch}
.work-note b{color:var(--ink-2)}
.work pre{font:400 12.5px/1.9 var(--mono); color:var(--ink-2); background:var(--surface); border-radius:6px; padding:14px 18px; margin:10px 0 0; overflow-x:auto}

.border-sec{margin-top:56px}
.xb-list{display:grid; gap:14px; margin-top:16px}
.xb{background:var(--surface); border-radius:6px; padding:16px 20px; box-shadow:var(--shadow); display:grid; gap:10px}
.xb-hl{font:600 18px/1.35 var(--serif)}
.xb-flags{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.xb-flags li{display:grid; grid-template-columns:auto 1fr; gap:4px 10px; align-items:baseline; font-size:14px}
.xb-flags q{font-weight:600; color:var(--asserted)}
.xb-est{grid-column:2; color:var(--muted); font-size:13.5px}
.timeline-sec{margin-top:56px}
.filters{display:flex; flex-wrap:wrap; gap:6px; margin:16px 0 8px}
.filters button{font:500 13px/1 var(--sans); color:var(--ink-2); background:var(--surface); border:0; cursor:pointer; padding:8px 13px; border-radius:999px; box-shadow:inset 0 0 0 1px var(--line)}
.filters button span{font-family:var(--mono); color:var(--muted); margin-left:3px}
.filters button[aria-pressed="true"]{background:var(--ink); color:var(--surface); box-shadow:none}
.filters button[aria-pressed="true"] span{color:inherit; opacity:.7}
.tl{list-style:none; margin:8px 0 0; padding:0; position:relative}
.tl::before{content:""; position:absolute; left:61px; top:8px; bottom:8px; width:2px; background:var(--line)}
.tl-row{display:grid; grid-template-columns:44px 12px 1fr; gap:0 12px; padding:12px 12px 12px 0; border-radius:6px}
.tl-row time{font:500 12px/1.9 var(--mono); color:var(--muted); text-align:right}
.tl-dot{width:12px; height:12px; border-radius:50%; margin-top:5px; background:var(--line-2); box-shadow:0 0 0 3px var(--bg); position:relative; z-index:1}
.f-row-neutral .tl-dot{background:var(--neutral)} .f-row-asserted .tl-dot{background:var(--asserted)} .f-row-scare_quoted .tl-dot{background:var(--quoted)}
.tl-src{display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; font-size:13.5px}
.tl-src a:hover b{color:var(--accent)}
.tl-reg{font-size:12px; color:var(--muted)}
.tl-src em{font-style:normal; font-size:11.5px; font-weight:600; color:var(--accent)}
.tl-chip{margin-left:auto}
.tl-hl{margin-top:4px; font:500 17px/1.4 var(--serif)}
.tl-hl[lang="bn"]{font-family:var(--bn); font-size:16.5px; line-height:1.65}
.tl-hl a:hover{text-decoration:underline; text-decoration-color:var(--line-2); text-underline-offset:4px}
.tl-row.self{background:var(--accent-soft)}
.tl-row.self .tl-dot{box-shadow:0 0 0 3px var(--accent-soft)}
.tl-row.noise{opacity:.5}

.method{margin-top:48px; padding-top:20px; border-top:1px solid var(--line); font-size:13.5px; color:var(--muted); max-width:78ch}
.method p{margin-top:12px}
.method b{color:var(--ink-2)}
.method code{font:12px var(--mono); background:var(--surface); padding:1px 6px; border-radius:4px}

.side-card{background:var(--surface); border-radius:6px; padding:22px; box-shadow:var(--shadow)}
.side-card h2{font:700 21px/1.2 var(--serif); padding-bottom:14px; border-bottom:1px solid var(--line)}
.side-card h3{font:600 12.5px/1 var(--sans); color:var(--muted); margin:22px 0 12px}
.cd-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:16px}
.cd-stats dt{font-size:12px; color:var(--muted)}
.cd-stats dd{font:600 32px/1.1 var(--serif); font-variant-numeric:tabular-nums}
.donut-row{display:grid; grid-template-columns:116px 1fr; gap:18px; align-items:center}
.donut{width:116px; height:116px; transform:rotate(-90deg)}
.donut circle{fill:none; stroke-width:5.5}
.d-track{stroke:var(--sunk)}
.d-seg{stroke-dasharray:var(--len) calc(100 - var(--len)); stroke-dashoffset:calc(0 - var(--off))}
.f-stroke-neutral{stroke:var(--neutral)} .f-stroke-asserted{stroke:var(--asserted)} .f-stroke-scare_quoted{stroke:var(--quoted)}
.donut.is-ph{opacity:.55}
.ru-col.is-ph h3{background-image:repeating-linear-gradient(135deg,rgb(128 128 128 / .18) 0 3px,transparent 3px 7px); padding:4px 6px; margin:-4px -6px}
.is-ph .chip{background-image:repeating-linear-gradient(135deg,rgb(128 128 128 / .18) 0 3px,transparent 3px 7px)}
.legend{list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:13px; color:var(--ink-2)}
.legend li{display:flex; align-items:center}
.legend b{margin-left:auto; font:600 13px var(--mono); color:var(--ink)}
.legend-row{margin-top:12px}
.spark{display:flex; align-items:flex-end; gap:2px; height:56px}
.spark span{flex:1; height:max(var(--h),3px); background:var(--ink-2); border-radius:2px 2px 0 0; transform-origin:bottom}
.spark-l{display:flex; justify-content:space-between; font:500 11.5px var(--mono); color:var(--muted); margin-top:6px}
.first{display:flex; align-items:center; gap:8px; font-size:14px}
.first time{margin-left:auto; font:500 12px var(--mono); color:var(--muted)}
.loaded{font-size:15px; line-height:1.65; padding-left:12px; border-left:3px solid var(--asserted)}
.loaded cite{display:block; font:500 12px var(--sans); font-style:normal; color:var(--muted); margin-top:6px}

/* ---------- footer ---------- */
.foot{margin-top:96px; background:var(--util); color:var(--util-ink); font-size:13.5px}
.foot-in{display:grid; gap:32px; padding-top:48px; padding-bottom:56px}
@media (max-width:859px){.foot-in{grid-template-columns:1fr 1fr} .foot-brand,.foot-in > div:last-child{grid-column:1 / -1}}
@media (min-width:860px){.foot-in{grid-template-columns:1.6fr 1fr 1fr 1.4fr}}
.foot .brand-logo{color:#fff} .foot .brand-logo .r{fill:#E2553C}
.foot-brand p{margin-top:14px; max-width:44ch}
.foot h2{font:600 12px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:#fff; margin-bottom:14px}
.foot a{display:block; padding:3px 0}
.foot a:hover{color:#fff}

/* ---------- motion (all of it optional) ---------- */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.32s}
::view-transition-group(*){animation-duration:.45s; animation-timing-function:cubic-bezier(.16,1,.3,1)}
@media (prefers-reduced-motion:no-preference){
  .live::after{animation:ping 2.4s var(--ease) infinite}
  @keyframes ping{0%{transform:scale(.6); opacity:.9} 80%,100%{transform:scale(1.8); opacity:0}}
  .ticker-track{animation:tick 70s linear infinite}
  .ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
  @keyframes tick{to{transform:translateX(-50%)}}
  .sk{animation:sh 1.4s ease-in-out infinite} @keyframes sh{to{background-position:-200% 0}}

  .js [data-anim="up"]{opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease); transition-delay:calc(var(--d,0) * 70ms)}
  .js [data-anim="up"].in{opacity:1; transform:none}
  .js .fbar .seg,.js .rbar .seg{transform:scaleX(0); transform-origin:left; transition:transform .9s var(--ease); transition-delay:calc(var(--i,0) * 110ms + 150ms)}
  .js .fbar.in .seg,.js .rbar.in .seg,.js .in .fbar .seg,.js .in .rbar .seg{transform:none}
  .js .dial-val{stroke-dashoffset:326.73; transition:stroke-dashoffset 1.2s var(--ease) .1s}
  .js .scorecard.in .dial-val{stroke-dashoffset:calc(326.73 * (1 - var(--v)))}
  .js .d-seg{stroke-dasharray:0 100; transition:stroke-dasharray 1s var(--ease); transition-delay:calc(var(--i) * 160ms)}
  .js .donut.in .d-seg{stroke-dasharray:var(--len) calc(100 - var(--len))}
  .js .spark span{transform:scaleY(0); transition:transform .6s var(--ease); transition-delay:calc(var(--i) * 25ms)}
  .js .spark.in span{transform:none}
  .js .g-meter i{transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease); transition-delay:calc(var(--d,0) * 60ms + var(--i) * 90ms)}
  .js .gate.in .g-meter i{transform:none}
}
@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  .ticker-win{overflow-x:auto}
  *{transition:none!important; animation:none!important}
}
/* Touch screens: a moving headline is hard to tap, so the ticker is swiped instead (its second copy only loops it) */
@media (hover:none){.ticker-track{animation:none} .ticker-win{overflow-x:auto} .ticker-track a[aria-hidden]{display:none}}

/* Front block without a rail (no story with real framing yet): photo and text side by side. */
@media (min-width:1000px){
  .front:not(:has(.rail)) .hero{display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:36px; align-items:center}
  .front:not(:has(.rail)) .hero-body{padding-top:0}
}
.mpage{padding-bottom:64px}
.levels{margin:6px 0 0; padding-left:18px; font-size:13px; color:var(--muted)}
.levels li{margin-top:2px}
.mpage .g-code i{display:inline-block; width:12px; height:12px; border-radius:3px}

/* Stories without a photograph: the text takes the photo's place. */
.hero:not(:has(.ph)) .hero-body{padding-top:0}
.hero:not(:has(.ph)) h1{font-size:clamp(34px,4.6vw,60px); max-width:22ch}
.hero:not(:has(.ph)) h1.hl-bn{font-size:clamp(28px,3.6vw,46px)}
.front:not(:has(.rail)) .hero:not(:has(.ph)){display:block}
.card-wide:not(:has(.ph)){display:flex}
.card:not(:has(.ph)) .card-body{padding-top:16px; border-top:3px solid var(--ink)}
.card:not(:has(.ph)) h3{font-size:24px} .card:not(:has(.ph)) h3.hl-bn{font-size:20px}

/* ---------- accounts and membership ---------- */
.acct{font-size:13.5px; font-weight:600; color:var(--ink-2); padding:9px 12px; border-radius:999px; white-space:nowrap}
.acct:hover{background:var(--sunk); color:var(--ink)}
@media (max-width:480px){.brand-logo{height:21px}}   /* leaves room for Pricing, Sign in and the two buttons */
@media (max-width:420px){.acct{padding:8px 5px; font-size:13px} .tools{gap:4px}}
@media (max-width:380px){.brand-logo{height:21px} .brand-tag{font-size:11px} .mast-in{column-gap:8px} .icon-btn,.theme-btn{width:34px; height:34px}}   /* logo, search, Account and theme fit 360px */
.narrow{max-width:560px}
.auth,.acct-page{margin:48px 0 24px; padding:28px; background:var(--surface); border-radius:8px; box-shadow:var(--shadow)}
.auth h1,.acct-page h1{font:700 30px/1.15 var(--serif); letter-spacing:-.015em}
.lede-s{color:var(--muted); margin-top:8px}
.price{font:600 22px/1.2 var(--serif); margin-top:10px; color:var(--accent)}
.form{display:grid; gap:8px; margin-top:20px}
.form label{font-size:13.5px; font-weight:600; color:var(--ink-2); margin-top:6px}
.form input{font:inherit; font-size:16px; color:var(--ink); background:var(--bg); border:1px solid var(--line-2); border-radius:8px; padding:11px 14px}
.form input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft)}
.form .btn{margin-top:12px; justify-self:start}
.hint{font-size:12.5px; color:var(--muted); margin-top:8px}
.form-err{margin-top:14px; padding:10px 14px; border-radius:6px; background:var(--asserted-soft); color:var(--asserted); font-size:14px}
.switch-mode{margin-top:18px; font-size:14px; color:var(--muted)} .switch-mode a{color:var(--accent); font-weight:600}
.pricing{padding-top:48px; padding-bottom:24px; max-width:1180px}
.pricing h1{font:700 34px/1.15 var(--serif); letter-spacing:-.015em}
.plans{display:grid; gap:16px; margin:24px 0 16px}
@media (min-width:760px){.plans{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.plans{grid-template-columns:1fr 1fr 1fr}}
.plan{display:flex; flex-direction:column; align-items:flex-start; padding:28px; background:var(--surface); border-radius:8px; box-shadow:var(--shadow)}
.plan h2{font:600 13px/1 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--muted)}
.plan .perks{flex:1; align-content:start}
.plan-member{box-shadow:inset 0 0 0 2px var(--accent), var(--shadow)}
.perks{margin:12px 0 22px; padding-left:18px; display:grid; gap:10px; color:var(--ink-2)}
.perks b{color:var(--ink)}
.soon{margin-top:14px; padding:12px 14px; border-radius:6px; background:var(--accent-soft); color:var(--ink-2); font-size:14px}
.soon a{color:var(--accent); font-weight:600}
.acct-verify{margin-top:14px; display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; font-size:14px; color:var(--ink-2)}
.ol-follow{margin-top:10px}
.acct-key{margin-top:10px; padding:10px 12px; background:var(--sunk); border-radius:6px; overflow-wrap:anywhere; font-size:13px}
.acct-row input[type=email],.acct-row input[name=label]{font:inherit; font-size:16px; padding:8px 12px; border:1px solid var(--line-2); border-radius:8px; background:var(--bg); color:var(--ink); flex:1 1 180px; min-width:0}
.acct-mail h3 small{font-weight:400; color:var(--muted)}
button.an-reset{background:none; border:0; padding:0; font:inherit; font-size:13px; font-weight:600; color:var(--accent); cursor:pointer}
.mh-tiles{margin-top:20px} .mh-v{font-size:26px} .st-v small{font-size:.5em; color:var(--muted); font-weight:500; margin-left:2px}
.mh-bar{height:4px; border-radius:2px; background:var(--sunk); margin-top:10px; overflow:hidden} .mh-bar b{display:block; height:100%; background:var(--accent)}
.tools-grid{display:grid; gap:14px; margin-top:22px; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr))}
.tool{display:flex; flex-direction:column; padding:20px 22px 18px; background:var(--surface); border-radius:8px; box-shadow:var(--shadow); transition:box-shadow .2s, transform .15s}
.tool:hover{box-shadow:inset 0 0 0 2px var(--accent), var(--shadow)} .tool:active{transform:translateY(1px)}
.tool:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.tool-k{font:600 11px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.tool h2{font:700 20px/1.2 var(--serif); margin-top:10px} .tool p{margin-top:6px; font-size:14px; color:var(--ink-2); flex:1}
.tool-go{margin-top:14px; font-size:13px; font-weight:600; color:var(--accent)}
.mh-hint{margin-top:22px; font-size:13.5px; color:var(--muted)}
@media (max-width:480px){.acct-own{display:none}}   /* members reach Account from the member bar and the overview */
.acct-mail{margin-top:26px; padding-top:20px; border-top:1px solid var(--line)}
.acct-mail h2{font:700 19px/1.2 var(--serif)} .acct-mail h3{font:600 14px/1.2 var(--sans); margin-top:18px}
.acct-prefs{display:grid; gap:10px; margin-top:12px; font-size:14px; color:var(--ink-2)} .acct-prefs label{display:flex; gap:8px; align-items:flex-start}
.acct-prefs input[type=checkbox]{margin-top:3px} .acct-prefs .btn{justify-self:start}
.acct-row{display:flex; flex-wrap:wrap; gap:8px} .acct-row select{font:inherit; font-size:16px; padding:8px 12px; border:1px solid var(--line-2); border-radius:8px; background:var(--bg); color:var(--ink)}
.acct-follows{list-style:none; padding:0; margin:8px 0 0; display:grid; gap:6px; font-size:14px}
.acct-follows li{display:flex; justify-content:space-between; align-items:center; gap:10px} .acct-follows small{color:var(--muted)}
.acct-facts{display:grid; gap:12px; margin:20px 0}
.acct-facts dt{font-size:12.5px; color:var(--muted)} .acct-facts dd{font-weight:600}
.acct-act{display:flex; flex-wrap:wrap; gap:10px}
.sc-note{font-size:13.5px; color:var(--ink-2); padding:8px 12px; border-radius:6px; background:var(--quoted-soft)}
@media (max-width:640px){.acct{padding:9px 8px}}

/* ---- Members' analytics ------------------------------------------------------------------------------ */
.an{padding-bottom:64px}
.an-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px; margin-top:28px}
.an-kick{font:600 12px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--accent)}
.an-head h1{font:700 clamp(28px,4vw,40px)/1.1 var(--serif); letter-spacing:-.02em; margin-top:8px}
.an-sub{color:var(--ink-2); margin-top:6px}
.an-live{display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--muted); margin-top:6px}
.an-tools{display:flex; gap:8px; flex-wrap:wrap}
.btn-ghost{background:var(--surface); color:var(--ink); box-shadow:inset 0 0 0 1px var(--line-2)}
.an-filters{display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; margin:22px 0 8px; padding:12px; background:var(--surface); border-radius:6px; box-shadow:var(--shadow)}
.an-range{display:flex; flex-wrap:wrap; gap:4px; align-items:center}
.seg input{position:absolute; opacity:0; pointer-events:none}
.seg span{display:inline-block; font-size:13px; font-weight:500; color:var(--muted); padding:7px 12px; border-radius:999px; cursor:pointer}
.seg input:checked + span{background:var(--ink); color:var(--surface)}
.seg input:focus-visible + span{outline:2px solid var(--accent); outline-offset:2px}
.an-dates{display:inline-flex; align-items:center; gap:6px; margin-left:4px}
.an-filters input[type=date],.an-filters select{font:inherit; font-size:13px; color:var(--ink); background:var(--bg); border:1px solid var(--line-2); border-radius:999px; padding:6px 12px; max-width:220px}
.an-dims{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.an-dims .btn{padding:9px 18px}
.an-reset{font-size:13px; color:var(--accent)}
.an-outlet{margin-top:18px; padding:18px 20px; background:var(--surface); border-radius:6px; box-shadow:var(--shadow)}
.an-outlet .ol-meta{display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; margin:0}
@media (max-width:374px){.acct-price{display:none}}   /* no room beside Sign in at 360px; the footer links it */
.cmp{margin-top:14px; display:grid; gap:10px}
.cmp-h{font-size:13px; color:var(--muted); display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center}
.cmp-r{display:grid; grid-template-columns:minmax(120px,220px) 1fr; gap:12px; align-items:center}
.cmp-l{font-size:13.5px; font-weight:600}
.cmp-l small,.hb-l small{display:block; font-weight:400; font-size:11.5px; color:var(--muted)}

.tiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; margin-top:18px}
.st{background:var(--surface); border-radius:6px; box-shadow:var(--shadow); padding:16px 16px 12px; display:grid; gap:4px; align-content:start}
.st-l{font-size:12.5px; color:var(--muted)}
.st-v{font:600 30px/1.1 var(--sans); letter-spacing:-.02em; color:var(--ink)}
.st-v small{font-size:15px; font-weight:500; color:var(--muted); margin-left:2px}
.st-s{font-size:12px; color:var(--muted)}
.st-d{font-size:12px; color:var(--ink-2)} .st-d span:last-child{color:var(--muted)}
.spark{width:100%; height:24px; margin-top:6px; overflow:visible}
.spark polyline{fill:none; stroke:var(--muted); stroke-width:1.5; stroke-linejoin:round; stroke-linecap:round}

.an-grid{display:grid; gap:16px; margin-top:16px}
@media (min-width:900px){.an-grid.g2{grid-template-columns:1fr 1fr}}
.vz{margin:16px 0 0; background:var(--surface); border-radius:6px; box-shadow:var(--shadow); padding:18px 20px 14px; min-width:0}
.an-grid > .vz{margin-top:0}
.vz figcaption h3{font:700 18px/1.25 var(--serif)}
.vz figcaption p{font-size:12.5px; color:var(--muted); margin-top:4px}
.vz-key{display:flex; flex-wrap:wrap; gap:4px 14px; font-size:12px; color:var(--ink-2); margin-top:8px}
.vz-key span{display:inline-flex; align-items:center; gap:6px}
.sw{display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:6px; vertical-align:-1px; background:var(--muted)}
.an .sw-neutral,.an .f-neutral{background:var(--viz-neutral)} .an .sw-asserted,.an .f-asserted{background:var(--viz-asserted)} .an .sw-scare_quoted,.an .f-scare_quoted{background:var(--viz-scare_quoted)}

/* Columns: one baseline, bars at most 24px, 4px rounded ends, 2px surface gaps, hairline grid */
.vc{position:relative; height:180px; margin:16px 0 0 34px}
.vc-grid span{position:absolute; left:0; right:0; border-top:1px solid var(--line); height:0}
.vc-grid i{position:absolute; right:calc(100% + 6px); top:-7px; font:500 11px/1 var(--mono); font-style:normal; color:var(--muted); white-space:nowrap; font-variant-numeric:tabular-nums}
.vc-cols{position:absolute; inset:0; display:flex; align-items:flex-end; gap:2px}
.vc-c{flex:1; height:100%; display:flex; align-items:flex-end; justify-content:center; min-width:0; cursor:default}
.vc-c b{display:block; width:100%; max-width:24px; background:var(--viz-1); border-radius:4px 4px 0 0; min-height:1px}
.vc-c:hover b,.vc-c b:hover{filter:brightness(1.12)}
.vc-stack{flex-direction:column-reverse; justify-content:flex-start; align-items:center; gap:2px}
.vc-stack b{max-width:24px; width:100%; border-radius:0; min-height:2px}
.vc-stack b:last-child{border-radius:4px 4px 0 0}
.vc-stack.is-empty{background:none}
.vc-x{display:flex; gap:2px; margin:6px 0 0 34px; font:500 11px/1 var(--mono); color:var(--muted)}
.vc-x span{flex:1; min-width:0; display:flex; justify-content:center} .vc-x i{font-style:normal; white-space:nowrap}
.vc-x span:first-child{justify-content:flex-start} .vc-x span:last-child{justify-content:flex-end}

/* Horizontal bars and 100% bars */
.hb,.hs{list-style:none; padding:0; margin:14px 0 0; display:grid; gap:9px}
.hb li{display:grid; grid-template-columns:minmax(110px,170px) 1fr 48px; gap:10px; align-items:center; font-size:13px}
.hs li{display:grid; grid-template-columns:minmax(110px,190px) 1fr; gap:10px; align-items:center; font-size:13px}
.hb-l{color:var(--ink-2); overflow:hidden; text-overflow:ellipsis} .hb-l a:hover{color:var(--accent)}
.hb-t{height:14px} .hb-t b{display:block; height:100%; background:var(--viz-1); border-radius:0 4px 4px 0; min-width:2px}
.hb-v{font:500 12px/1 var(--mono); color:var(--ink-2); text-align:right; font-variant-numeric:tabular-nums}
.hs-t{display:flex; gap:2px; height:18px; border-radius:4px; overflow:hidden}
.hs-t b{display:flex; align-items:center; justify-content:center; min-width:2px}
.hs-t em{font:600 10.5px/1 var(--sans); font-style:normal; color:#fff; white-space:nowrap}
.hs li.is-small .hs-t,.cmp-r .hs-t{opacity:1} .hs li.is-small .hs-t{opacity:.55}

/* Heatmap: one hue, light to dark (dark mode: dark to light), with a scale legend */
.vz-scale{display:inline-flex; align-items:center; gap:3px; font-size:11.5px; color:var(--muted); margin-top:8px}
.vz-scale i{width:16px; height:10px; border-radius:2px} .vz-scale i:first-of-type{margin-left:4px} .vz-scale i:last-of-type{margin-right:4px}
.an .h1{background:var(--h1)} .an .h2{background:var(--h2)} .an .h3{background:var(--h3)} .an .h4{background:var(--h4)} .an .h5{background:var(--h5)} .an .h6{background:var(--h6)}
.hm-wrap{overflow-x:auto; margin-top:14px}
.hm{border-collapse:separate; border-spacing:2px; font-size:12px; min-width:100%}
.hm thead th{font-weight:500; color:var(--muted); vertical-align:bottom; height:96px; padding:0 0 4px}
.hm thead th span{display:inline-block; writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap}
.hm tbody th{text-align:left; font-weight:500; white-space:nowrap; padding-right:10px} .hm tbody th a:hover{color:var(--accent)}
.hm td{min-width:30px; height:28px; text-align:center; border-radius:3px; background:var(--sunk); font:500 11px/1 var(--mono); color:var(--ink)}
.hm td.h0 span{opacity:0}
.hm td.h5,.hm td.h6{color:var(--h-ink6)}

/* Tables */
.ot-wrap{overflow-x:auto; margin-top:12px}
.ot,.mini,.vz-t table{width:100%; border-collapse:collapse; font-size:13px}
.ot th,.ot td,.mini th,.mini td,.vz-t th,.vz-t td{padding:8px 10px; border-bottom:1px solid var(--line); text-align:right; white-space:nowrap}
.ot thead th,.mini thead th,.vz-t thead th{font-size:11.5px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.04em}
.ot th:first-child,.ot td:first-child,.mini th:first-child,.mini td:first-child,.vz-t th:first-child,.vz-t td:first-child{text-align:left}
.ot tbody th{font-weight:600} .ot tbody th a:hover{color:var(--accent)}
.ot tbody th small,.ot td small{display:block; font-weight:400; font-size:11px; color:var(--muted)}
.ot td{font-variant-numeric:tabular-nums}
.ot tr.is-small td{color:var(--muted)}
.ot:not(.ot-all) tbody tr:nth-child(n+26){display:none}
.ot-more{margin-top:12px}
@media print{.ot:not(.ot-all) tbody tr:nth-child(n+26){display:table-row} .ot-more{display:none}}
.ot thead th[data-k]{cursor:pointer; user-select:none} .ot thead th[aria-sort]::after{content:" ↓"} .ot thead th[aria-sort=ascending]::after{content:" ↑"}
.mini td q{font-family:var(--serif); font-size:14px}
.mini td:first-child{white-space:normal; min-width:9em}
.vz-t{overflow-x:auto}   /* wide tables scroll inside their card, never the page */
.vz-t{margin-top:10px; font-size:12.5px} .vz-t summary{cursor:pointer; color:var(--accent); width:max-content}
.vz-t table{margin-top:8px}
.bands{list-style:none; padding:0; margin:14px 0 0; display:grid; gap:10px}
.bands li{display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; font-size:13.5px}
.bands b{font:600 18px/1 var(--sans)}
.bandpill.b-A{background:var(--bA)} .bandpill.b-B{background:var(--bB)} .bandpill.b-C{background:var(--bC); color:#111} .bandpill.b-D{background:var(--bD)}
.an-none{font-size:13px; color:var(--muted); margin-top:12px}
.tl-edit{margin-top:4px; font-size:13px; color:var(--muted)} .tl-edit q{color:var(--ink-2)} .tl-edit small{margin-left:4px}
.ar-q{font:inherit; font-size:16px; flex:1 1 220px; min-width:0; color:var(--ink); background:var(--bg); border:1px solid var(--line-2); border-radius:999px; padding:9px 16px}
.ar-n{margin:18px 0 6px; font-size:13.5px; color:var(--muted)}
.ar-list{list-style:none; padding:0; margin:0; border-top:1px solid var(--line)}
.ar-list li{padding:12px 0; border-bottom:1px solid var(--line); display:grid; gap:4px}
.ar-list a{font:600 17px/1.35 var(--serif)} .ar-list a:hover{color:var(--accent)}
.ar-list small{font-size:12.5px; color:var(--muted)}
.an-speed{margin-top:14px; font-size:14px; color:var(--ink-2)}
.an-q{margin-top:14px} .an-q th[scope=row]{font-weight:500; text-align:left; white-space:normal; min-width:7em} .an-q thead th{white-space:normal; vertical-align:bottom} .an-q th,.an-q td{padding:8px 6px} .an-q td small{display:block; margin:0} .an-q thead small{display:block; text-transform:none; letter-spacing:0; font-weight:400} .an-q small{color:var(--muted); margin-left:4px}
.an-list{margin:12px 0 0; padding-left:20px; display:grid; gap:8px; font-size:14px}
.an-list small{color:var(--muted); margin-left:6px} .an-list s{color:var(--muted)}
.an-notes{margin-top:28px; padding:20px; border-top:2px solid var(--ink)}
.an-notes h2{font:700 20px/1.2 var(--serif)}
.an-notes dl{display:grid; gap:10px; margin:12px 0 0}
@media (min-width:900px){.an-notes dl{grid-template-columns:1fr 1fr}}
.an-notes dt{font-weight:600; font-size:13px} .an-notes dd{margin:2px 0 0; font-size:13px; color:var(--ink-2)}
.an-gen{font-size:12px; color:var(--muted); margin-top:14px}

/* Tooltip (app.js): value first, label second */
.tip{position:fixed; z-index:50; pointer-events:none; background:var(--ink); color:var(--surface); padding:8px 10px; border-radius:6px; font-size:12px; line-height:1.35; max-width:260px; box-shadow:var(--shadow); opacity:0; transition:opacity .12s}
.tip.on{opacity:1} .tip b{display:block; font-size:13.5px} .tip span{opacity:.8}

@media (max-width:640px){
  .an-head{align-items:flex-start} .an-filters{padding:10px}
  .an-filters select{max-width:100%; min-width:0; flex:1 1 140px}
  .an-range,.an-dims{flex:1 1 100%; min-width:0} .an-dates{flex:1 1 100%; min-width:0; margin-left:0} .an-dates input{flex:1 1 0; min-width:0}
  .cmp-r,.hs li{grid-template-columns:1fr} .hb li{grid-template-columns:minmax(90px,120px) 1fr 40px}
  .vc{height:150px}
}

/* Print: the report as a document, light, every table open, nothing interactive */
@media print{
  :root:not([data-theme="print"]),:root[data-theme]{--bg:#fff; --surface:#fff; --sunk:#F1F1EE; --ink:#0E1116; --ink-2:#2E343F; --muted:#5B6270; --line:#DDDCD6; --line-2:#C9C8C1;
    --viz-neutral:#1E8A5E; --viz-asserted:#C63A20; --viz-scare_quoted:#C78A0E; --viz-1:#2a78d6;
    --h1:#cde2fb; --h2:#9ec5f4; --h3:#6da7ec; --h4:#3987e5; --h5:#256abf; --h6:#184f95; --h-ink6:#fff; color-scheme:light}
  @page{margin:14mm}
  body{background:#fff}
  .util,.mast,.foot,.an-filters,.an-tools,.skip,.sub{display:none !important}
  .vz,.st,.an-outlet{box-shadow:none; border:1px solid var(--line); break-inside:avoid}
  .an-grid.g2{grid-template-columns:1fr 1fr}
  .vz-t{display:none} .ot-wrap,.hm-wrap{overflow:visible}
  .ot{font-size:10px} .ot th,.ot td{padding:4px 5px}
  *{-webkit-print-color-adjust:exact; print-color-adjust:exact}
}

/* ---- Members: analyse a pasted link ------------------------------------------------------------------- */
.vh{position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap}
.lk{margin:36px 0 64px}
.lk h1{font:700 clamp(28px,4vw,38px)/1.1 var(--serif); letter-spacing:-.02em; margin-top:8px}
.lk-form{display:flex; gap:8px; margin-top:20px}
.lk-form input{flex:1; min-width:0; font:inherit; font-size:15px; color:var(--ink); background:var(--surface); border:1px solid var(--line-2); border-radius:999px; padding:12px 18px}
.lk-form input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft)}
.lk-err{margin-top:12px} .lk-earlier{margin:0 0 14px}
.lk-h{font:700 18px/1.2 var(--serif); margin-top:32px}
.lk-list{list-style:none; padding:0; margin:12px 0 0; border-top:1px solid var(--line)}
.lk-list li{display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--line)}
.lk-list a{flex:1; min-width:0; display:grid; gap:2px} .lk-list a:hover .lk-t{color:var(--accent)}
.lk-t{font:500 15px/1.35 var(--serif); overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical}
.lk-m{font-size:12px; color:var(--muted)}
.lk-head{margin-top:20px; max-width:860px}
.lk-head h1{font:700 clamp(26px,3.6vw,38px)/1.15 var(--serif); letter-spacing:-.015em}
.lk-head .ol-meta{display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px}
@media (max-width:480px){.lk-form{flex-direction:column} .lk-form .btn{justify-content:center}}
/* Phones: form text at 16px, or iOS zooms the page when a field is tapped */
@media (max-width:640px){.search input,.an-filters input[type=date],.an-filters select,.lk-form input{font-size:16px}}
