/* ==========================================================================
   Entity profiles (leader, party, constituency, district, region, channel,
   topic). Design B: hairline rules, one accent, tokens only. Built on the
   components in tick-b.css; this file adds the profile band, its stat grid,
   people rows, video cards, the 7-day chart and the place map layout.
   ========================================================================== */

.pr { padding-bottom: var(--s5); }

/* ---------- the profile band ---------- */
.pr-band {
  display: grid;
  grid-template-columns: auto minmax(260px, 1fr) auto;
  gap: var(--s4) var(--s5);
  align-items: center;
  padding: var(--s5) 0 var(--s4);
  margin-top: var(--s3);
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--line);
}
.pr-band .pid { min-width: 0; }
.pr-band h1 {
  font-size: var(--fs-6); font-weight: 700; line-height: 1.3; letter-spacing: -.01em;
  margin: 0; overflow-wrap: anywhere;
}
.pr-band .role {
  margin-top: 4px; font-size: var(--fs-3); color: var(--ink-2); line-height: 1.5;
  display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px;
}
.pr-band .role a { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); font-weight: 500; }
.pr-band .role a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pr-band .role .dot { width: 8px; height: 8px; }
.pr-band .en { margin-top: 2px; font-size: var(--fs-2); color: var(--ink-3); line-height: 1.5; }
.pr-band .credit { margin-top: 4px; font-size: 11px; color: var(--ink-3); line-height: 1.4; }
.pr-band .credit a { text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 2px; }
.pr-band .credit a:hover { color: var(--ink); }
/* the entity's Trends page (30 days and longer): one quiet outlined link under the name */
.pr-trend {
  display: inline-flex; align-items: center; gap: 4px; margin-top: var(--s2);
  height: 28px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 999px;
  font-size: var(--fs-2); font-weight: 600; color: var(--accent-text); line-height: 1;
}
.pr-trend:hover { border-color: var(--accent-text); background: var(--bg-2); }
.pr-trend:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 2px; }

/* the mark: photo, party colour or place initials */
.pr-band > .av.xl { width: 104px; height: 104px; }
.pr-mark .ini { font-size: var(--fs-5); letter-spacing: .02em; }
.pr-mark.av.sm .ini { font-size: 11px; }
.av .ini + img { position: absolute; inset: 0; }
/* party / place initials drawn as SVG text fitted to the circle (never clipped) */
.pr-fit svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.pr-fit text { font-family: inherit; letter-spacing: 0; }
/* topic mark: the /topics icon on the same neutral tile */
.pr-band > .pr-glyph.av.xl { width: 88px; height: 88px; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--line); }
.pr-glyph { display: inline-flex; align-items: center; justify-content: center; background: var(--bg-2); color: var(--ink-2); }
.pr-glyph svg { width: 52%; height: 52%; color: var(--ink-2); }
.pr-glyph svg [pathLength="1"] { stroke-dasharray: 1; animation: b-draw .9s var(--ease) both .15s; }

/* stats: four tiles, switchable 24h / 7d */
.pr-stats { position: relative; min-width: 0; }
.pr-band .mshare { position: relative; }
/* the 24h / 7d switch sits above the tiles it switches (every tile label names its window) */
.pr-stats .pr-seg { position: static; display: inline-flex; margin: 0 0 var(--s2) var(--s4); }
.pr-band .mshare .lbl { min-height: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.pr-seg button { height: 28px; padding: 0 10px; font-size: var(--fs-1); }
.pr-band .stats { display: grid; grid-template-columns: repeat(4, minmax(112px, auto)); margin: 0; }
.pr-band .stats > div { padding: 2px var(--s4); min-width: 0; max-width: 200px; }
.pr-band .stats > div + div { border-left: 1px solid var(--line); }
.pr-band .stats dt { font-size: var(--fs-2); color: var(--ink-2); line-height: 1.35; }
.pr-band .stats dd { margin: 0; }
.pr-band .stats dd.num { font-size: var(--fs-6); font-weight: 700; line-height: 1.25; font-variant-numeric: tabular-nums; letter-spacing: -.01em; white-space: nowrap; }
.pr-band .stats dd.sub { font-size: var(--fs-1); font-weight: 400; color: var(--ink-3); white-space: normal; line-height: 1.45; }
.pr-band .stats dd.sub.pair > span { display: block; white-space: nowrap; }
.pr-band .stats dd.sub.pair i { font-style: normal; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.pr-band .stats dd.num.word { font-size: var(--fs-5); line-height: 1.7; }
.pr-band .stats > .nil:nth-child(3) { grid-column: span 2; }
.pr-band .stats > .nil dd.sub { white-space: normal; max-width: 30ch; padding-top: 6px; color: var(--ink-2); }
.pr-band .stats dd.sub:lang(ta), .pr-band .stats dd.sub:lang(te), .pr-band .stats dd.sub:lang(kn),
.pr-band .stats dd.sub:lang(ml), .pr-band .stats dd.sub:lang(hi), .pr-band .stats dd.sub:lang(bn) { font-size: var(--fs-2); color: var(--ink-2); }

/* share bar row, full width */
.pr-band .mshare { grid-column: 1 / -1; padding-top: var(--s4); border-top: 1px solid var(--line); }
.pr-band .mshare .lbl { font-size: var(--fs-2); color: var(--ink-2); font-weight: 600; margin-bottom: var(--s2); }
/* the share bar is render.share_bar: full-saturation segments sized by count,
   focus = a taller segment + a bold legend item (never a faded neighbour) */
.pr-band .sharebar .note { margin-top: var(--s1); }
.pr-band .legend a { display: inline-flex; align-items: center; gap: 6px; }
.pr-band .legend a:hover span { text-decoration: underline; text-underline-offset: 3px; }
.pr-band .legend .dot { width: 8px; height: 8px; }
.pr-band .legend .dot.rest { background: var(--rest); }
.pr-band .mshare .evidence { margin-top: var(--s3); }
/* a window with no share bar: the evidence line leads, clear of the 24h / 7d switch */
.pr-band .pr-sharep > .evidence:first-child { margin-top: 0; }
/* a window with nothing in it: one line across the tile row */
.pr-band .stats > .nil:only-child { grid-column: 1 / -1; }
.pr-band .stats > .nil:only-child dd.sub { max-width: 48ch; }
/* sample-size badge beside a share bar's title */
.pr-n { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border: 1px solid var(--line-strong); border-radius: 999px; font-size: var(--fs-1); font-weight: 500; color: var(--ink-2); white-space: nowrap; }
/* direct labels on the wide segments of the share bar */
.pr-band .stackbar { height: 22px; }
.pr-band .stackbar i { height: 20px; position: relative; overflow: hidden; }
.pr-band .stackbar i.on, .pr-band .stackbar i.me { height: 22px; }
.pr-band .stackbar .sl { position: absolute; inset: 0 6px; display: flex; font-style: normal; align-items: center; font-size: 11px; font-weight: 600; line-height: 1; color: var(--lc, #fff); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:root[data-theme="dark"] .pr-band .stackbar .sl { color: #0b0f19; }
/* a label over the colour-blind hatch: the stripes cut through the glyphs
   ("8.7%" white on blue hatch was illegible, critique 2026-10-02) — a halo in
   the segment's own ink keeps the stripes off the letters */
.pr-band .stackbar i.cb .sl { font-size: 12px; text-shadow: 0 0 2px rgba(0, 0, 0, .9), 0 0 4px rgba(0, 0, 0, .6); }
:root[data-theme="dark"] .pr-band .stackbar i.cb .sl { text-shadow: 0 0 2px rgba(255, 255, 255, .9), 0 0 4px rgba(255, 255, 255, .6); }
.pr-band .stackbar .sl { font-size: 12px; }
.pr-band .mshare .note { margin-top: var(--s1); font-size: var(--fs-1); color: var(--ink-3); }
.pr-band .mshare .note:lang(ta), .pr-band .mshare .note:lang(te) { font-size: var(--fs-2); }
.pr-sharep[hidden], .pr-band .stats[hidden] { display: none; }

/* ---------- body ---------- */
.pr-body { margin-top: var(--s5); }
.pr-main > .section:first-child, .pr-main > .pr-quiet + .section { margin-top: 0; }
.pr-main > .section { margin-top: var(--s6); }
.pr-rs > .sec-h { margin-bottom: var(--s1); }
.pr-rs .empty, .pr-main .empty { padding: var(--s3) 0; font-size: var(--fs-2); color: var(--ink-3); }

/* the rail's last block follows the reader down a long main column */
@media (min-width: 1081px) {
  .pr-body > .rail > :last-child { position: sticky; top: var(--s4); }
}
.pr-cap { margin-top: var(--s2); font-size: var(--fs-1); color: var(--ink-3); line-height: 1.5; }
.pr-cap:lang(ta), .pr-cap:lang(te) { font-size: var(--fs-2); }

/* below the lead: one full-width column; short blocks sit 2 or 3 across */
.pr-after { margin-top: var(--s6); }
.pr-after > .section:first-child, .pr-after > .pr-quiet:first-child { margin-top: 0; }
.pr-after > .section { margin-top: var(--s6); }
.pr-after > .pr-qw { margin: 0 0 var(--s5); }
.pr-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s6); align-items: start; }
.pr-duo.pr-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pr-after .pr-days ol { height: 132px; }
/* headlines: a date line per IST day */
.wire > li.wday { display: block; padding: var(--s3) 0 2px; border-top: 0; font-size: var(--fs-1); font-weight: 600; color: var(--ink-2); letter-spacing: .01em; }
.wire > li.wday:first-child { padding-top: 0; }
.wire > li.wday + li { border-top: 0; }
.wire > li.wday:lang(ta), .wire > li.wday:lang(te) { font-size: var(--fs-2); }
/* office as-of stamp beside the role */
.pr-band .asof { margin-top: 2px; font-size: var(--fs-1); color: var(--ink-3); line-height: 1.5; }
.pr-band .asof:lang(ta), .pr-band .asof:lang(te) { font-size: var(--fs-2); }
/* channel ownership / affiliation field, linked to the rubric on the page */
.pr-own { display: inline; color: var(--ink-2); }
.pr-own::before { content: "· "; color: var(--ink-3); }
.pr-own-none { margin-top: var(--s2); }
.pr-own-none a { color: var(--ink-2); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.pr-rubric { scroll-margin-top: var(--s5); }
/* a seat's electoral record (ECI), above the news */
.pr-facts-dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--s3) var(--s5); margin: 0; }
.pr-facts-dl dt { font-size: var(--fs-1); color: var(--ink-3); }
.pr-facts-dl dt:lang(ta), .pr-facts-dl dt:lang(te) { font-size: var(--fs-2); }
.pr-facts-dl dd { margin: 2px 0 0; font-size: var(--fs-3); color: var(--ink); display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; }
.pr-facts-gap { margin-top: 0; }
.pr-facts > .sec-h { margin-bottom: var(--s2); }
.pr-duo > .pr-duo-c { min-width: 0; }

/* analysis pieces about the entity */
.pr-an > li + li { border-top: 1px solid var(--line); }
.pr-an a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px var(--s4); padding: 12px 0; align-items: baseline; }
.pr-an .k { grid-column: 1 / -1; font-size: var(--fs-1); font-weight: 600; color: var(--accent-text); }
.pr-an .k:lang(ta) { font-size: var(--fs-2); }
.pr-an .t { font-size: var(--fs-3); font-weight: 600; color: var(--ink); line-height: 1.45; }
.pr-an a:hover .t > span:first-child { text-decoration: underline; text-underline-offset: 3px; }
.pr-an .tag { font-weight: 400; font-size: var(--fs-2); color: var(--ink-3); white-space: nowrap; }
.pr-an .tag.badge { display: inline-flex; align-items: center; height: 20px; margin-left: 6px; padding: 0 7px; border: 1px solid var(--line-strong); border-radius: 4px; font-size: var(--fs-1); color: var(--ink-2); vertical-align: 2px; }
.pr-an .m { font-size: var(--fs-2); color: var(--ink-3); white-space: nowrap; }
/* the route's own analysis block duplicates this one on profile pages */
.pr ~ .ec-analysis { display: none; }

/* a thin topic: an explainer instead of empty tiles */
.pr-band-thin { grid-template-columns: auto minmax(0, 1fr); }
.pr-thin .pr-explain { font-size: var(--fs-3); color: var(--ink); line-height: 1.7; max-width: 72ch; margin: 0; }
.pr-thin .note { margin-top: var(--s2); font-size: var(--fs-2); color: var(--ink-3); max-width: 72ch; }

/* a region's districts when none was named: plain alphabetical list */
.pr-dlist { columns: 2; column-gap: var(--s6); }
.pr-dlist > li { break-inside: avoid; }
.pr-rs .sec-h .sub:lang(ta), .pr-main .sec-h .sub:lang(ta) { font-size: var(--fs-2); }

.pr-quiet {
  margin: 0 0 var(--s5); padding: var(--s3) var(--s4);
  border-left: 3px solid var(--line-strong); background: var(--bg-2);
  font-size: var(--fs-3); color: var(--ink-2); line-height: 1.6;
}

/* stories: the marker column also fits a party dot */
.pr .story .av { margin-top: 2px; }

/* people named alongside */
.ppl li a { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--s3); align-items: center; padding: 10px 0; }
.ppl li + li a { border-top: 1px solid var(--line); }
.ppl li a:hover b { text-decoration: underline; text-underline-offset: 3px; }
.ppl b { display: block; font-size: var(--fs-3); font-weight: 600; line-height: 1.4; }
.ppl span { font-size: var(--fs-2); color: var(--ink-2); line-height: 1.5; }
.ppl div { min-width: 0; }
/* the meta line wraps rather than cutting a word ("திமுக · 58 கட்டுரைகளில்") */
.ppl div > span { display: block; overflow-wrap: anywhere; }

/* seat and district lists; seats not named this week fold under one line */
.pr-more { border-top: 1px solid var(--line); }
.pr-more > summary { cursor: pointer; padding: 10px 0; font-size: var(--fs-2); color: var(--ink-3); list-style: none; display: flex; align-items: center; gap: 6px; }
.pr-more > summary::-webkit-details-marker { display: none; }
.pr-more > summary::before { content: "+"; display: inline-block; width: 1ch; color: var(--ink-3); }
.pr-more[open] > summary::before { content: "−"; }
.pr-more > summary:hover { color: var(--ink); }
.pr-seats .t { font-weight: 500; }
.pr .list .m { min-width: 2ch; text-align: right; }

/* ---------- videos ----------
   Cards and the auto-fit grid are render.video_card / video_grid (tick-b.css);
   on phones a profile lists them as thumbnail + text rows (below). */
/* the main column is ~824px: 160px tracks fit four across, so four cards
   never leave a lone card on a second row (auto-fit drops unused tracks) */
.pr .vids { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.pr .vid .vm time:lang(ta), :lang(ta) .pr .vid .vm time { font-size: var(--fs-2); }

/* ---------- 7-day coverage chart ---------- */
.pr-days { margin: 0; }
.pr-days ol { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: var(--s4); align-items: end; height: 148px; padding: 0; margin: 0; list-style: none; border-bottom: 1px solid var(--line-strong); }
.pr-days li { display: grid; grid-template-rows: auto 1fr; height: 100%; min-width: 0; position: relative; }
.pr-days .n { font-size: var(--fs-1); color: var(--ink-2); font-weight: 600; text-align: center; font-variant-numeric: tabular-nums; line-height: 1.6; }
.pr-days .bars { display: flex; flex-direction: column-reverse; justify-content: flex-start; height: 100%; min-height: 2px; }
.pr-days .bars { align-items: center; }
.pr-days .bars i { display: block; width: 100%; max-width: 56px; border-radius: 2px 2px 0 0; }
.pr-days .bars i.a { background: var(--pc, var(--ink-2)); }
.pr-days .bars i.v { background: color-mix(in srgb, var(--pc, var(--ink-2)) 55%, var(--bg)); border-radius: 2px 2px 0 0; }
.pr-days .bars i.a + i.v, .pr-days .bars i.v:has(+ i.a) { border-radius: 0; }
.pr-days .bars i.g { height: 100%; border: 1px dashed var(--line-strong); border-bottom: 0; background: transparent; }
/* captured, nothing named: a 2px baseline tick (distinct from the dashed "no data" box) */
.pr-days .bars i.z { height: 2px; background: var(--ink-3); border-radius: 0; max-width: 56px; }
.pr-days li.zero .n { color: var(--ink-3); }
/* today is a partial day: hatched, and labelled with the time it runs to */
.pr-days li.today .bars i:not(.z) { background-image: repeating-linear-gradient(135deg, transparent 0 3px, color-mix(in srgb, var(--bg) 55%, transparent) 3px 6px); }
.pr-days .d small { display: block; font-size: 11px; font-weight: 400; color: var(--ink-3); line-height: 1.3; }
.pr-days .d { position: absolute; left: 0; right: 0; top: calc(100% + 6px); line-height: 1.4; font-size: var(--fs-1); color: var(--ink-3); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pr-days li:last-child .d { color: var(--ink-2); font-weight: 600; }
.pr-days li:hover .bars i.a { filter: brightness(1.08); }
.pr-days li.gap .n { color: var(--ink-3); font-weight: 400; }
/* a day whose news or video source was thin: hatched like a partial day, keyed in the legend */
.pr-days li.thin .bars i:not(.z) { background-image: repeating-linear-gradient(135deg, transparent 0 3px, color-mix(in srgb, var(--bg) 55%, transparent) 3px 6px); }
.pr-days-m li:last-child .d { color: var(--ink-3); font-weight: 400; }
.pr-days-m.neutral .pr-days-lg i.p { background-color: var(--chart-ink, var(--ink-2)); }
.pr-days figcaption { margin-top: 48px; display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s2) var(--s5); }
.pr-days-lg { display: flex; flex-wrap: wrap; gap: 4px var(--s4); font-size: var(--fs-2); color: var(--ink-2); margin: 0; }
.pr-days-lg span { display: inline-flex; align-items: center; gap: 6px; }
.pr-days-lg i { width: 10px; height: 10px; border-radius: 2px; background: var(--pc, var(--ink-2)); }
.pr-days-lg i.v { background: color-mix(in srgb, var(--pc, var(--ink-2)) 55%, var(--bg)); }
.pr-days-lg i.p { background-color: var(--pc, var(--ink-2)); background-image: repeating-linear-gradient(135deg, transparent 0 2px, color-mix(in srgb, var(--bg) 60%, transparent) 2px 4px); }
.pr-days .pr-days-key { flex-basis: 100%; }
/* places, topics, channels: neutral chart ink; the brand orange marks today only */
.pr-days.neutral { --pc: var(--chart-ink); }
.pr-days.neutral li.today .bars i.a, .pr-days.neutral .pr-days-lg i.p { background-color: var(--chart-today); }
.pr-days.neutral li.today .bars i.v { background-color: color-mix(in srgb, var(--chart-today) 38%, var(--bg)); }
@supports (color: oklch(from red l c h)) {
  /* the dark theme re-lights an entity colour at L≈.62, as tick-b.css does for share bars */
  :root[data-theme="dark"] .pr-days:not(.neutral) .bars i.a,
  :root[data-theme="dark"] .pr-days:not(.neutral) .pr-days-lg i:not(.v) {
    background-color: oklch(from var(--pc) clamp(.62, l, .78) clamp(0, c, .19) h);
  }
  :root[data-theme="dark"] .pr-days:not(.neutral) .bars i.v,
  :root[data-theme="dark"] .pr-days:not(.neutral) .pr-days-lg i.v {
    background-color: color-mix(in srgb, oklch(from var(--pc) clamp(.62, l, .78) clamp(0, c, .19) h) 45%, var(--bg));
  }
}
.pr-days .note { font-size: var(--fs-1); color: var(--ink-3); }
.pr-days .note:lang(ta), :lang(ta) .pr-days .note { font-size: var(--fs-2); }

/* ---------- maps ---------- */
/* a place's profile mark: the state outline with the place filled */
.pr-mini { display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--bg-2); box-shadow: none; overflow: hidden; }
.pr-band > .pr-mini.av.xl { width: 88px; height: 88px; }
.pr-mini svg { width: 100%; height: 100%; }
.pr-mini path { fill: color-mix(in srgb, var(--ink-3) 22%, var(--bg-2)); stroke: var(--bg); stroke-width: 1; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.pr-mini path.out { fill: color-mix(in srgb, var(--ink-3) 22%, var(--bg-2)); }
.pr-mini path.here { fill: var(--accent); stroke: color-mix(in srgb, var(--accent) 70%, var(--ink)); stroke-width: 1.2; }
.pr-band > .pr-mini.av.xl { box-shadow: inset 0 0 0 1px var(--line); }
.pr-mini .pin { fill: var(--accent); stroke: var(--bg); stroke-width: 2; vector-effect: non-scaling-stroke; }
.pr-mini .pin-r { fill: none; stroke: var(--accent); stroke-width: 1.5; vector-effect: non-scaling-stroke; opacity: .6; }
.pr-map.zoom svg { overflow: hidden; max-height: 420px; }
.pr-map path.out { fill: var(--track); opacity: .6; }
.pr-mapcol { min-width: 0; }
.pr-map { max-width: 360px; }
.pr-rs .pr-map { max-width: 280px; margin: var(--s3) auto 0; }
.pr-map svg { overflow: visible; }
.pr-map a.on path, .pr-map path.here { stroke: var(--ink); stroke-width: 1; }
.pr-map.zoom path.here { stroke: var(--bg); stroke-width: .8; }
.pr-map.zoom a:hover path { stroke: var(--ink); stroke-width: 1.6; }
.pr-map path.here.b0 { fill: var(--heat-0); }
.pr-rs .note, .pr-mapgrid .note { margin-top: var(--s2); font-size: var(--fs-1); color: var(--ink-3); line-height: 1.5; }
.pr-mapgrid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--s5); align-items: start; }
.pr-mapgrid .b-legend { margin-top: var(--s2); }
.pr-mapgrid .lb .av { box-shadow: none; }

/* ---------- the route's SUSI intel block ----------
   routes._susi_intel_block prints SUSI's own 14-day totals (e.g. "2,744
   mentions") above the band, numbers our archive can't reproduce and that
   contradict the counted tiles. Handed off for removal; hidden until then. */
.page-body:has(.pr-band) > .ti-wrap, .page-body:has(.pr-band) > style + .ti-wrap { display: none !important; }
.ti-wrap { border: 0 !important; border-top: 1px solid var(--line) !important; border-radius: 0 !important; background: none !important; padding: var(--s3) 0 !important; margin: var(--s3) 0 0 !important; }
.ti-wrap .ti-note { font-size: var(--fs-1) !important; letter-spacing: 0 !important; text-transform: none !important; }
.ti-wrap .ti-k { letter-spacing: 0 !important; text-transform: none !important; font-size: var(--fs-2) !important; }
.ti-wrap .ti-spark i { background: var(--ink-3) !important; }
.ti-wrap .ti-chip b { color: var(--ink-2) !important; }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .pr-band { grid-template-columns: auto minmax(0, 1fr); }
  .pr-band .pr-stats { grid-column: 1 / -1; padding-top: var(--s2); }
  .pr-stats .pr-seg { margin: 0 0 var(--s3); }
  .pr-duo.pr-n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pr-band .stats > div:first-child { padding-left: 0; }
  .pr-mapgrid { grid-template-columns: 1fr; }
  .pr-map { margin-left: auto; margin-right: auto; }
}
@media (max-width: 720px) {
  .pr-band { gap: var(--s3) var(--s4); padding-top: var(--s4); }
  .pr-band > .av.xl, .pr-band > .pr-mini.av.xl, .pr-band > .pr-glyph.av.xl { width: 72px; height: 72px; }
  .pr-duo, .pr-duo.pr-n3 { grid-template-columns: 1fr; gap: var(--s5); }
  .pr-after { margin-top: var(--s5); }
  .pr-after > .section { margin-top: var(--s5); }
  .pr-dlist { columns: 1; }
  .pr-band .stats > .nil:nth-child(3) { grid-column: 1 / -1; }
  .pr-days .d small { font-size: 10px; }
  .pr-days li:last-child .d { left: auto; right: 0; width: max-content; text-align: right; overflow: visible; }
  .pr-band h1 { font-size: 22px; }
  .pr-band .role { font-size: var(--fs-2); }
  .pr-band .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--s3); }
  .pr-band .stats > div:nth-child(3) { border-left: 0; padding-left: 0; }
  .pr-band .stats dd.num { font-size: 24px; }
  .pr-band .stats dd.sub { white-space: normal; }
  .pr-band .stats dt { white-space: normal; }
  .pr .vids { grid-template-columns: 1fr; gap: 0; }
  .pr .vid { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: var(--s3); padding: var(--s3) 0; border-bottom: 1px solid var(--line); }
  .pr .vid h3 { margin-top: 0; }
  .pr .vid .th .thfb { font-size: var(--fs-2); }
  .pr-days ol { height: 140px; gap: var(--s2); }
  .pr-days .d { font-size: 11px; }
  .pr-days .wd { display: none; }
  .pr-map.zoom svg { max-height: 300px; }
  .pr-main > .section { margin-top: var(--s5); }
}
.wire > li.wday time { font-size: inherit; color: inherit; padding: 0; }

/* ---------- review loop 2 ---------- */
/* one period label above the tile grid (the tiles carry no per-tile window) */
.pr-period { margin: 0 0 var(--s2) var(--s4); font-size: var(--fs-2); color: var(--ink-2); font-weight: 600; line-height: 1.4; }
.pr-period[hidden] { display: none; }
/* the data-quality panel: basis · window · completeness · latest ingest */
.pr-dq { display: flex; flex-wrap: wrap; gap: 4px var(--s5); margin: var(--s3) 0 0; font-size: var(--fs-1); color: var(--ink-3); line-height: 1.5; }
.pr-dq > div { display: flex; gap: 6px; min-width: 0; }
.pr-dq dt { color: var(--ink-3); font-weight: 600; white-space: nowrap; }
.pr-dq dt::after { content: ":"; }
.pr-dq dd { margin: 0; color: var(--ink-2); }
.pr-dq:lang(ta), .pr-dq:lang(te) { font-size: var(--fs-2); }
.pr-band .pr-sharep > .pr-dq:first-child { margin-top: 0; }
.pr-method { margin-top: var(--s2); font-size: var(--fs-1); color: var(--ink-3); }
.pr-method:lang(ta), .pr-method:lang(te) { font-size: var(--fs-2); }
.pr-method > summary { cursor: pointer; display: inline-flex; align-items: center; gap: 6px; color: var(--ink-2); font-weight: 600; list-style: none; }
.pr-method > summary::-webkit-details-marker { display: none; }
.pr-method > summary::before { content: "+"; display: inline-block; width: 1ch; color: var(--ink-3); }
.pr-method[open] > summary::before { content: "−"; }
.pr-method > p { margin: 6px 0 0; max-width: 80ch; line-height: 1.6; }
/* "(mentions, not public support)" beside the share metric's title */
.pr-band .mshare .lbl .pr-sn { font-weight: 400; color: var(--ink-3); }
/* a seat with nothing in either window: one quiet card */
.pr-qcard { margin: 0; padding: var(--s3) var(--s4); border-left: 3px solid var(--line-strong); background: var(--bg-2); font-size: var(--fs-3); color: var(--ink-2); line-height: 1.6; }
.pr-qcard b { color: var(--ink); font-weight: 600; }
.pr-qcard a { color: var(--accent-text); font-weight: 600; white-space: nowrap; }
.pr-band-thin .pr-thin { grid-column: 1 / -1; padding-top: var(--s3); }
/* a strip with nothing to show: one status line, not a blank block */
.pr-status { margin-top: var(--s6); padding: var(--s3) 0; border-top: 1px solid var(--line); font-size: var(--fs-2); color: var(--ink-3); }
.pr-status b { color: var(--ink); font-weight: 600; }
.pr-after > .pr-status:first-child { margin-top: 0; }
/* the chart's light y-scale: a dashed rule at the top of the scale */
.pr-days-m .bars { border-top: 1px dashed color-mix(in srgb, var(--line-strong) 70%, transparent); }
.pr-days-m li.gap .bars { border-top: 0; }
.pr-days-lg .pr-scale { color: var(--ink-3); }
.page-body:has(> .pr), .page-body:has(.pr-band) { min-height: 0; }
.pr { padding-bottom: 0; }

/* phones: a media object. The emblem (72px) sits top-left beside the
   left-aligned name block; the Trends CTA takes its own full-width row. */
@media (max-width: 720px) {
  .pr-band { grid-template-columns: 72px minmax(0, 1fr); row-gap: 0; column-gap: var(--s3); align-items: start; }
  .pr-band > .av.xl, .pr-band > .pr-mini.av.xl, .pr-band > .pr-glyph.av.xl { grid-row: 1 / span 6; align-self: start; width: 72px; height: 72px; }
  .pr-band .pid { display: contents; }
  .pr-band .pid > * { grid-column: 2; min-width: 0; text-align: left; }
  .pr-band .pid > .pr-trend { grid-column: 1 / -1; display: flex; justify-content: center; height: 40px; margin-top: var(--s3); }
  .pr-band > .pr-stats, .pr-band > .mshare { margin-top: var(--s3); }
  .pr-period { margin-left: 0; }
  .pr-dq { gap: 2px var(--s4); }
}
