/* Register — Kit tokens only, logical properties only. Classes are prefixed rg- so entry/gate CSS never collides. */

.rg { display: grid; gap: var(--jp-size-space-800); min-inline-size: 0; inline-size: 100%; max-inline-size: 112rem; margin-inline: auto; } /* D2: at 2560 the columns drifted ~1400px from the titles */
.rg > * { min-inline-size: 0; }
.rg-stance { margin: 0; max-inline-size: 40ch; font: var(--jp-typography-weight-heading) var(--jp-typography-scale-05)/var(--jp-lh-heading-x) var(--jp-font-heading); text-wrap: balance; }
.rg-row > .rg-no { justify-self: start; } /* dir=ltr span: place it by the grid's start, so AR heads and cells share an edge */
.rg-row > .rg-date { justify-self: end; }
.rg-no { color: var(--jp-tx2); font: var(--jp-typography-weight-ui) var(--jp-typography-scale-01)/var(--jp-lh-label-x) var(--jp-font-ui); font-variant-numeric: tabular-nums; white-space: nowrap; letter-spacing: 0; } /* the quiet entry number: small, secondary, never enlarged */

/* latest entry (from D): title and standfirst, mono filed line, number at the line end */
.rg-latest { display: grid; gap: var(--jp-size-space-400) var(--jp-size-space-1200); padding-block: var(--jp-size-space-800); border-block: var(--jp-size-stroke-border) solid var(--jp-line); margin-block-end: calc(-1 * var(--jp-size-space-800)); border-block-end: 0; }
.rg-k { margin: 0; color: var(--jp-tx2); font: var(--jp-typography-weight-ui) var(--jp-typography-scale-02)/var(--jp-lh-label-x) var(--jp-font-ui); }
.rg-latest h2 { margin: 0; font-size: var(--jp-typography-scale-06); text-wrap: balance; }
.rg-latest h2 a { color: inherit; }
.rg-latest h2 a:focus-visible { outline-offset: var(--jp-size-stroke-focus-offset); }
.rg-stand { margin: 0; max-inline-size: 52ch; font-size: var(--jp-typography-scale-04); line-height: var(--jp-lh-body-x); text-wrap: pretty; }
.rg-filed { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--jp-size-space-100) var(--jp-size-space-200); margin: 0; color: var(--jp-tx2); font: var(--jp-typography-weight-ui) var(--jp-typography-scale-02)/var(--jp-lh-label-x) var(--jp-font-ui); }
.rg-filed .kv { white-space: nowrap; }
.rg-filed .kv:has(+ .kv)::after { content: " ·"; }
.rg-filed .rg-no { order: -1; } /* number leads the filed line; at the far end it read as orphaned */
.rg-filed a, .rg-lang a { color: var(--jp-tx); }
.rg-series .jp-ic { vertical-align: middle; margin-block: calc(-1 * var(--jp-size-space-100)); margin-inline-end: var(--jp-size-space-100); } /* D-021: 16px series glyph in the accent (icon only); margins keep line and row heights unchanged */
@media (forced-colors: none) { .rg-series .jp-ic { color: var(--jp-color-icon-accent-default); } }
.dot { padding-inline: var(--jp-size-space-100); }
@container main (min-width: 64rem) { /* title left, standfirst right; spans the full main width */
  .rg-latest { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; }
  .rg-k, .rg-filed { grid-column: 1 / -1; }
  .rg-latest h2 { font-size: var(--jp-typography-scale-08); }
}

/* filter strip (from B): language, year, count */
.rg-strip { display: flex; flex-wrap: wrap; align-items: center; gap: var(--jp-size-space-100) var(--jp-size-space-800); padding-block: var(--jp-size-space-200); border-block-end: var(--jp-size-stroke-border) solid var(--jp-line); margin-block-end: calc(-1 * var(--jp-size-space-400)); }
.rg-fg { display: flex; flex-wrap: wrap; align-items: center; gap: var(--jp-size-space-100); }
.rg-fg:empty, .rg-fsx:not(:has(.rg-sx:not([hidden]))) { display: none; }
.rg-fl { margin-inline-end: var(--jp-size-space-200); color: var(--jp-tx2); font: var(--jp-typography-weight-ui) var(--jp-typography-scale-02)/var(--jp-lh-label-x) var(--jp-font-ui); }
.rg-chip { display: inline-flex; align-items: center; gap: var(--jp-size-space-200); min-block-size: var(--jp-size-control-small); padding-inline: var(--jp-size-space-300); border: 0; border-radius: var(--jp-size-radius-200); background: none; color: var(--jp-tx2); font: var(--jp-typography-weight-ui) var(--jp-typography-scale-02)/var(--jp-lh-label-x) var(--jp-font-ui); white-space: nowrap; cursor: pointer; transition: background-color var(--jp-t-hover), color var(--jp-t-hover); }
.rg-chip .jp-ic { inline-size: var(--jp-size-glyph-medium); block-size: var(--jp-size-glyph-medium); }
@media (hover: hover) { .rg-chip:not([aria-pressed="true"]):hover { background: var(--jp-app-card-h); color: var(--jp-tx); } }
.rg-chip[aria-pressed="true"], .rg-sx { background: var(--jp-color-background-default-raised); color: var(--jp-tx); box-shadow: var(--jp-effects-shadows-drop-shadow-200), 0 0 0 var(--jp-size-stroke-border) var(--jp-line); }
.rg-chip:focus-visible { outline: var(--jp-size-stroke-focus-ring) solid var(--jp-ring); outline-offset: var(--jp-size-stroke-focus-offset); }
.rg-count { margin: 0; margin-inline-start: auto; color: var(--jp-tx2); font: var(--jp-typography-weight-ui) var(--jp-typography-scale-02)/var(--jp-lh-label-x) var(--jp-font-ui); font-variant-numeric: tabular-nums; }

/* ledger table (from B): column heads, year headings, hairlines, no cards */
.rg-cols, .rg-row { display: grid; align-items: baseline; column-gap: var(--jp-size-space-400); grid-template-columns: 3.5rem minmax(0, 1fr) 6.5rem 5rem 5.5rem 7rem; }
.rg-cols { padding: var(--jp-size-space-200) var(--jp-size-space-300); border-block-end: var(--jp-size-stroke-border) solid var(--jp-line); color: var(--jp-tx2); font: var(--jp-typography-weight-ui) var(--jp-typography-scale-01)/var(--jp-lh-label-x) var(--jp-font-ui); margin-block-end: calc(-1 * var(--jp-size-space-400)); }
.rg-cols > :last-child { text-align: end; }
.rg-year + .rg-year { margin-block-start: var(--jp-size-space-400); }
.rg-yh { display: flex; align-items: baseline; gap: var(--jp-size-space-200); margin: 0; padding: var(--jp-size-space-600) var(--jp-size-space-300) var(--jp-size-space-200); border-block-end: var(--jp-size-stroke-border) solid var(--jp-line); font: var(--jp-typography-weight-ui) var(--jp-typography-scale-03)/var(--jp-lh-label-x) var(--jp-font-ui); }
.rg-y { color: var(--jp-tx); font-weight: var(--jp-typography-weight-strong); }
.rg-yd, .rg-yn, .rg-yu { color: var(--jp-tx2); font-variant-numeric: tabular-nums; }
.rg-list { margin: 0; padding: 0; list-style: none; }
.rg-row { position: relative; padding: var(--jp-size-space-300); border-block-end: var(--jp-size-stroke-border) solid var(--jp-line); color: var(--jp-tx2); }
@media (hover: hover) { .rg-row:hover { background: var(--jp-color-background-default-secondary); } }
.rg-t { display: grid; justify-items: start; gap: var(--jp-size-space-100); min-inline-size: 0; }
.rg-tt { color: var(--jp-tx); font: var(--jp-typography-weight-heading) var(--jp-typography-scale-04)/var(--jp-lh-heading-x) var(--jp-font-heading); text-wrap: pretty; }
.rg-title { color: inherit; }
.rg-title::after { content: ""; position: absolute; inset: 0; } /* whole row is the link */
.rg-title:focus-visible { outline: 0; }
.rg-row:has(.rg-title:focus-visible) { outline: var(--jp-size-stroke-focus-ring) solid var(--jp-ring); outline-offset: calc(-1 * var(--jp-size-stroke-focus-ring)); }
.rg-row[data-show="en"] .t-ar, .rg-row[data-show="ar"] .t-en { display: none; }
:lang(ar) .rg-tt { font-size: calc(var(--jp-typography-scale-04) * 1.125); } /* Arabic ratio, same as the article body */
.rg-series { font: var(--jp-typography-weight-ui) var(--jp-typography-scale-01)/var(--jp-lh-label-x) var(--jp-font-ui); }
.rg-len, .rg-lang, .rg-date, .rg-open { font: var(--jp-typography-weight-ui) var(--jp-typography-scale-02)/var(--jp-lh-label-x) var(--jp-font-ui); white-space: nowrap; }
.rg-open { color: var(--jp-tx2); } /* open entries: plain secondary text, no tag; members keep the outlined tag */
.rg-date { text-align: end; color: var(--jp-tx); font-variant-numeric: tabular-nums; unicode-bidi: isolate; }
.rg-lang { position: relative; z-index: 1; } /* above the row's stretched link */
.rg-lang a { padding-block: var(--jp-size-space-300); margin-block: calc(-1 * var(--jp-size-space-300)); padding-inline: var(--jp-size-space-100); display: inline-block; } /* 44px hit area without taller rows */
@media (hover: hover) { .rg-lang a:hover, .rg-filed a:hover { color: var(--jp-color-text-link-default); } }
@media (min-width: 641px) { .rg-lang > :first-child { margin-inline-start: calc(-1 * var(--jp-size-space-100)); } } /* link/off padding must not push the text off the column head */
.rg-lang .off, .rg-filed .off { color: var(--jp-color-text-disabled-default); padding-inline: var(--jp-size-space-100); }
.rg-filed a { display: inline-block; padding-block: var(--jp-size-space-300); margin-block: calc(-1 * var(--jp-size-space-300)); padding-inline: var(--jp-size-space-100); } /* 44px hit area without taller lines */
.rg-tag { --t-h: var(--jp-size-space-600); --t-bg: transparent; --t-fg: var(--jp-tx); --t-bd: var(--jp-color-border-default-secondary); border-radius: var(--jp-size-radius-100); font-size: var(--jp-typography-scale-01); } /* outlined, not filled */
:lang(ar) .rg-tag { font-size: var(--jp-typography-scale-02); }
.rg-empty { display: grid; justify-items: start; gap: var(--jp-size-space-300); padding-block: var(--jp-size-space-800); color: var(--jp-tx2); }
.rg-empty p { margin: 0; }

/* tablet: drop the Length column's room first */
@container main (max-width: 46rem) { .rg-cols, .rg-row { grid-template-columns: 3rem minmax(0, 1fr) 5.5rem 5rem 6.5rem; } .rg-cols .c3, .rg-len { display: none; } }

/* phone: heads gone, each row is title over a meta line */
@media (max-width: 640px) {
  .rg { gap: var(--jp-size-space-400); } /* related items 16px; sections get 32-40px from their own padding */
  .rg-stance { font-size: var(--jp-typography-scale-05); }
  .rg-latest { gap: var(--jp-size-space-200); padding-block: var(--jp-size-space-400); margin-block-end: calc(-1 * var(--jp-size-space-400)); }
  .rg-latest h2 { font-size: var(--jp-typography-scale-05); }
  .rg-stand { font-size: var(--jp-typography-scale-03); }
  .rg-strip { gap: var(--jp-size-space-100) var(--jp-size-space-400); padding-block: var(--jp-size-space-100); margin-block-end: calc(-1 * var(--jp-size-space-200)); }
  .rg-count { margin-inline-start: auto; }
  .rg-fl { min-inline-size: 5rem; } /* both filter rows start their options on one column */
  .rg-filed { column-gap: var(--jp-size-space-400); }
  .rg-filed .kv:has(+ .kv)::after { content: none; } /* a wrapped line must not end on a separator */
  .rg-yh { padding-block-start: var(--jp-size-space-300); }
  .rg-year + .rg-year { margin-block-start: var(--jp-size-space-200); }
  .rg-cols { display: none; }
  .rg-row { grid-template-columns: auto auto 1fr auto; grid-template-areas: "no no . date" "title title title title" "len lang . acc"; row-gap: 0; align-items: center; padding-block: var(--jp-size-space-300); }
  .rg-lang a { padding-inline: var(--jp-size-space-400); margin-inline: calc(-1 * var(--jp-size-space-300)); } /* 49px wide, same layout as 4px padding + 8px text gap */
  .rg-filed a { padding-inline: var(--jp-size-space-300); margin-inline: calc(-1 * var(--jp-size-space-200)); } /* 41px wide, layout unchanged */
  .rg-row > .rg-no { grid-area: no; } .rg-row > .rg-t { grid-area: title; } .rg-row > .rg-acc { grid-area: acc; } .rg-row > .rg-len { grid-area: len; display: block; } .rg-row > .rg-lang { grid-area: lang; margin-inline-start: var(--jp-size-space-400); } .rg-row > .rg-date { grid-area: date; }
}
