/* Changelog timeline (docs/js/changelog.js adds body.cl-on on the changelog page only) */
body.cl-on {
  --cl-gold: #EAB308; --cl-gold-ink: #0d0d0d; --cl-gold-soft: #fdf6dc;
  --cl-card: #ffffff; --cl-line: #e7e4dc; --cl-mut: #6b6b6b; --cl-ink: #141414; --cl-soft: #f7f6f2;
  --cl-added: #0f8a5f;   --cl-added-bg: #e3f5ec;
  --cl-updated: #1d5fd1; --cl-updated-bg: #e6eefc;
  --cl-changed: #7a3fc4; --cl-changed-bg: #f0e8fb;
  --cl-fixed: #b45309;   --cl-fixed-bg: #fdf0e1;
  --cl-highlights: #8a6a00; --cl-highlights-bg: #fdf6dc;
  --cl-shadow: 0 1px 2px rgba(0,0,0,.04), 0 6px 18px rgba(0,0,0,.05);
}
[data-md-color-scheme="slate"] body.cl-on, body.cl-on[data-md-color-scheme="slate"] {
  --cl-gold-soft: #2a2410; --cl-card: #1d1f24; --cl-line: #30333a; --cl-mut: #a1a6b0; --cl-ink: #eceef2; --cl-soft: #17191d;
  --cl-added: #4ad19a;   --cl-added-bg: #12301f;
  --cl-updated: #7fb0ff; --cl-updated-bg: #15233d;
  --cl-changed: #c39bff; --cl-changed-bg: #26193b;
  --cl-fixed: #f6ad55;   --cl-fixed-bg: #33220f;
  --cl-highlights: #f2c94c; --cl-highlights-bg: #2d250f;
  --cl-shadow: 0 1px 2px rgba(0,0,0,.3), 0 6px 18px rgba(0,0,0,.35);
}
body.cl-on .md-sidebar--secondary { display: none; }          /* month bar replaces the long right-hand TOC */
body.cl-on .md-content { max-width: none; }
@media (min-width: 76.25em) { body.cl-on .md-content__inner { max-width: 54rem; margin-left: auto; margin-right: auto; } }
body.cl-on .md-content__inner > h1.cl-h1 { display: none; }

/* hero */
.cl-hero { position: relative; overflow: hidden; border-radius: 16px; padding: 1.6rem 1.6rem 1.3rem; margin: .2rem 0 1rem;
  background: radial-gradient(120% 140% at 100% 0%, rgba(234,179,8,.28) 0%, rgba(234,179,8,0) 55%), linear-gradient(135deg, #111214 0%, #1c1d21 100%);
  color: #f4f4f5; box-shadow: var(--cl-shadow); }
.cl-eyebrow { font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: var(--cl-gold); font-weight: 700; }
.cl-htitle { font-size: 1.9rem; font-weight: 800; line-height: 1.15; margin: .25rem 0 .2rem; letter-spacing: -.01em; }
.cl-hsub { font-size: .78rem; color: #c8c9cd; }
.cl-stats { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.cl-stat { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: .45rem .8rem; min-width: 5.2rem; }
.cl-stat b { display: block; font-size: 1.05rem; line-height: 1.2; color: #fff; }
.cl-stat span { font-size: .6rem; text-transform: uppercase; letter-spacing: .08em; color: #b9bbc1; }
.cl-stat.cl-latest { background: var(--cl-gold); border-color: var(--cl-gold); }
.cl-stat.cl-latest b, .cl-stat.cl-latest span { color: var(--cl-gold-ink); }
.cl-stat.cl-k-added b { color: #6ee7b7; } .cl-stat.cl-k-updated b { color: #93c5fd; } .cl-stat.cl-k-changed b { color: #d8b4fe; }
.cl-stat.cl-k-fixed b { color: #fdba74; } .cl-stat.cl-k-highlights b { color: #fde68a; }

/* toolbar */
.cl-bar { position: sticky; top: 2.4rem; z-index: 3; background: var(--md-default-bg-color); padding: .6rem 0 .5rem; margin-bottom: .4rem;
  border-bottom: 1px solid var(--cl-line); display: flex; flex-direction: column; gap: .5rem; }
.cl-search { display: flex; align-items: center; gap: .4rem; background: var(--cl-soft); border: 1px solid var(--cl-line); border-radius: 12px; padding: 0 .7rem; }
.cl-search span { color: var(--cl-mut); font-size: .95rem; }
.cl-search input { flex: 1; border: 0; background: transparent; color: var(--cl-ink); font: inherit; font-size: 16px; padding: .55rem 0; outline: none; min-width: 0; }
.cl-search:focus-within { border-color: var(--cl-gold); box-shadow: 0 0 0 3px rgba(234,179,8,.18); }
.cl-chips, .cl-months { display: flex; gap: .35rem; flex-wrap: wrap; }
.cl-months { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; padding-bottom: .15rem; }
.cl-chip { border: 1px solid var(--cl-line); background: var(--cl-card); color: var(--cl-ink); border-radius: 999px; padding: .28rem .7rem;
  font: 600 .66rem/1.4 var(--md-text-font-family, inherit); cursor: pointer; min-height: 2rem; transition: background .15s, border-color .15s; }
.cl-chip i { font-style: normal; opacity: .65; margin-left: .15rem; }
.cl-chip:hover { border-color: var(--cl-gold); }
.cl-chip.on { background: var(--cl-gold); border-color: var(--cl-gold); color: var(--cl-gold-ink); }
.cl-mlink { flex: none; font-size: .64rem; font-weight: 600; color: var(--cl-mut) !important; padding: .22rem .6rem; border-radius: 8px; border: 1px dashed var(--cl-line); white-space: nowrap; }
.cl-mlink:hover { color: var(--cl-ink) !important; border-color: var(--cl-gold); }

/* timeline */
.cl-timeline { position: relative; padding-left: 1.4rem; }
.cl-timeline::before { content: ""; position: absolute; left: .42rem; top: .6rem; bottom: .6rem; width: 2px; background: linear-gradient(var(--cl-gold), var(--cl-line) 18%); }
.cl-month { position: relative; margin: 0 0 1.4rem; }
.cl-month::before { content: ""; position: absolute; left: -1.3rem; top: .55rem; width: .75rem; height: .75rem; border-radius: 50%;
  background: var(--md-default-bg-color); border: 3px solid var(--cl-gold); box-sizing: border-box; }
.cl-mhead { display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; margin-bottom: .5rem; }
.md-typeset .cl-mhead h2.cl-mtitle { margin: 0; font-size: 1.05rem; font-weight: 800; color: var(--cl-ink); scroll-margin-top: 9rem; }
.cl-mcount { font-size: .64rem; color: var(--cl-mut); font-weight: 600; }
.cl-badge { font-size: .56rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: var(--cl-gold); color: var(--cl-gold-ink); border-radius: 6px; padding: .08rem .45rem; }
.cl-group { margin: 0 0 .8rem; }
.cl-pill { display: inline-flex; align-items: center; gap: .3rem; font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; border-radius: 999px; padding: .18rem .6rem; margin-bottom: .45rem; }
.cl-pill i { font-style: normal; opacity: .7; }
.cl-cards { display: grid; gap: .45rem; }
.cl-card { position: relative; display: flex; gap: .65rem; align-items: flex-start; background: var(--cl-card); border: 1px solid var(--cl-line); border-left-width: 3px;
  border-radius: 12px; padding: .6rem .8rem; box-shadow: var(--cl-shadow); transition: transform .15s, box-shadow .15s; }
.cl-card:hover { transform: translateY(-1px); }
.cl-dot { flex: none; width: 1.45rem; height: 1.45rem; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 800; margin-top: .05rem; }
.cl-cbody { min-width: 0; flex: 1; }
.cl-ctitle { font-weight: 700; font-size: .76rem; color: var(--cl-ink); line-height: 1.35; }
.md-typeset .cl-ctext { font-size: .72rem; color: var(--cl-ink); opacity: .86; line-height: 1.55; overflow-wrap: anywhere; }
.md-typeset .cl-ctext p { margin: 0; }
.cl-new { float: right; margin: 0 0 .2rem .5rem; font-size: .52rem; font-weight: 800; letter-spacing: .1em; color: var(--cl-gold-ink); background: var(--cl-gold); border-radius: 5px; padding: .05rem .35rem; }
.cl-sub { font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--cl-mut); margin: .35rem 0 0 .2rem; }
.md-typeset .cl-note { font-size: .7rem; color: var(--cl-mut); margin: .2rem 0; }
.cl-k-added      { --k: var(--cl-added);      --kb: var(--cl-added-bg); }
.cl-k-updated    { --k: var(--cl-updated);    --kb: var(--cl-updated-bg); }
.cl-k-changed    { --k: var(--cl-changed);    --kb: var(--cl-changed-bg); }
.cl-k-fixed      { --k: var(--cl-fixed);      --kb: var(--cl-fixed-bg); }
.cl-k-highlights { --k: var(--cl-highlights); --kb: var(--cl-highlights-bg); }
.cl-pill, .cl-card .cl-dot { background: var(--kb); color: var(--k); }
.cl-card { border-left-color: var(--k); }
.cl-chip.cl-k-added:not(.on), .cl-chip.cl-k-updated:not(.on), .cl-chip.cl-k-changed:not(.on), .cl-chip.cl-k-fixed:not(.on), .cl-chip.cl-k-highlights:not(.on) { color: var(--k); }

/* older months start folded */
.cl-collapsed:not(.cl-filtering) .cl-mbody { max-height: 9.5rem; overflow: hidden; -webkit-mask-image: linear-gradient(#000 45%, transparent); mask-image: linear-gradient(#000 45%, transparent); }
.cl-collapsed:not(.cl-filtering) .cl-mhead { cursor: pointer; }
.cl-more { display: none; margin: .3rem 0 0; border: 1px solid var(--cl-line); background: var(--cl-card); color: var(--cl-ink); border-radius: 10px; padding: .35rem .9rem; font: 600 .66rem var(--md-text-font-family, inherit); cursor: pointer; min-height: 2.2rem; }
.cl-more:hover { border-color: var(--cl-gold); }
.cl-collapsed:not(.cl-filtering) .cl-more { display: inline-block; }
.cl-empty { text-align: center; padding: 2rem 1rem; color: var(--cl-mut); border: 1px dashed var(--cl-line); border-radius: 14px; font-size: .75rem; }
.cl-empty b { display: block; color: var(--cl-ink); font-size: .9rem; margin-bottom: .2rem; }
.cl-empty[hidden], .cl-card[hidden], .cl-group[hidden], .cl-month[hidden] { display: none !important; }
.md-typeset .cl-foot { font-size: .68rem; color: var(--cl-mut); text-align: center; margin-top: 1.5rem; }

@media (max-width: 44.9375em) {
  .cl-hero { padding: 1.2rem 1rem 1rem; border-radius: 14px; }
  .cl-htitle { font-size: 1.5rem; }
  .cl-stat { min-width: 0; flex: 1 1 calc(33% - .5rem); padding: .4rem .55rem; }
  .cl-bar { top: 2.4rem; }
  .cl-timeline { padding-left: 1rem; }
  .cl-timeline::before { left: .2rem; }
  .cl-month::before { left: -1.08rem; }
  .cl-card { padding: .55rem .6rem; gap: .5rem; }
  .cl-chip { min-height: 2.2rem; }
}
@media print {
  .cl-bar, .cl-more { display: none !important; }
  .cl-collapsed .cl-mbody { max-height: none !important; -webkit-mask-image: none !important; mask-image: none !important; }
}
