/* © 2026 TR3.FYI */
/* CHANGELOG. Was a plain list whose only differentiation was a hairline and a grey
   "2026-08-20 · Fix" stamp, so on a two-entry day the second headline had no date, no kind and
   no separation. Now: the day is the spine, each entry a card, the kind a badge on the entry it
   describes. Colours are the sister sites' vocabulary, defined here because the Atlas ships its
   own sheet and carried none of those tokens. */
/* Declared on .cl-days, not :root, so they split out with the rules that read them. Every
   consumer is inside this list, and css_split moves a rule by its SELECTOR — a :root block
   belongs to no route and would have stayed in the shared sheet, shipping the changelog's
   palette to every reader of every page for the one page that uses it. */
.cl-days{--cl-fix:#a06000;--cl-data:#1c5b98;--cl-new:#1f7a4d;/* --muted, not --rule-contrast: that is a RULE colour and measured 3.06:1 at 11px, under the
     4.5:1 AA needs — on the most common kind, 27 of 44 entries. --muted is 7.7:1 dark, 5.7:1
     light, and still the quietest of the four. */
  --cl-improve:var(--muted);margin:20px 0 0;padding:0;list-style:none;display:grid;gap:24px;}@media (prefers-color-scheme:dark){.cl-days{--cl-fix:#d9a03a;--cl-data:#6fb2f2;--cl-new:#5cc48d;}}/* A rule above each day, not between entries: without it, spacing alone distinguished a new day
   from a second entry on the same one. */
.cl-day{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--rule);}.cl-day:first-child{padding-top:0;border-top:0;}.cl-day-date{display:inline-block;font-size:var(--fs-label);font-weight:var(--weight-medium);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;}.cl-day-entries{display:grid;gap:16px;}/* The spine carries the kind's colour, so the page scans as a pattern of change types. */
.cl-entry{padding:2px 0 2px 12px;border-left:2px solid var(--rule);}.cl-entry.cl-fix{border-left-color:var(--cl-fix);}.cl-entry.cl-data{border-left-color:var(--cl-data);}.cl-entry.cl-feature{border-left-color:var(--cl-new);}.cl-entry.cl-improve{border-left-color:var(--cl-improve);}/* One step below the section heads it used to borrow: --fs-title-lg is 25px, which made all
   forty-four list items shout at heading level. pretty, not balance — balance evens the lines
   and leaves a two-line headline visibly narrower than its own paragraph. */
.cl-entry-title{margin:0 0 4px;font-size:var(--step-4);line-height:1.3;font-weight:var(--weight-strong);text-wrap:pretty;}.cl-entry-body{margin:0;color:var(--ink);max-width:var(--measure);font-size:var(--fs-note);line-height:1.55;}/* inline-block in the headline's own text flow, so it trails the last word and wraps with it.
   As a flex sibling a full-width title pushed it to its own line, where it read as a label for
   the paragraph below. */
.cl-badge{display:inline-block;margin-left:10px;vertical-align:3px;white-space:nowrap;font-size:var(--fs-label);font-weight:var(--weight-strong);letter-spacing:var(--ls-wide);line-height:1.5;text-transform:uppercase;padding:1px 8px;border-radius:var(--r-pill);border:1px solid currentColor;color:var(--rule-contrast);background:color-mix(in srgb,currentColor 12%,transparent);}.cl-fix > .cl-entry-title > .cl-badge{color:var(--cl-fix);}.cl-data > .cl-entry-title > .cl-badge{color:var(--cl-data);}.cl-feature > .cl-entry-title > .cl-badge{color:var(--cl-new);}.cl-improve > .cl-entry-title > .cl-badge{color:var(--cl-improve);}.cl-badge-feedback{color:var(--selection);margin-left:10px;}
