/* Timeline composition inspired by Magic UI's changelog template. */
.changelog-site { color:#202020; font-size:14px; }
.changelog-site .content-header { width:min(calc(100% - 48px),1000px); min-height:76px; }
.changelog-site .content-header nav { gap:24px; }
.changelog-site .content-header nav a { color:#737373; font-size:12px; }
.changelog-site .content-header nav a[aria-current] { color:#202020; }
.changelog-page { width:min(calc(100% - 48px),1000px); padding:60px 0 100px; margin:auto; }
.changelog-intro { margin:0 0 58px; }
.changelog-intro h1 { margin:0 0 12px; font-size:30px; font-weight:600; letter-spacing:-.05em; }
.changelog-intro p { margin:0; color:#737373; font-size:14px; line-height:1.7; }
.release-timeline { --date-width:176px; }
.timeline-entry { display:grid; grid-template-columns:var(--date-width) minmax(0,1fr); position:relative; }
.release-meta { align-self:start; position:sticky; top:32px; padding:1px 24px 48px 0; display:flex; flex-direction:column; align-items:start; gap:14px; }
.release-meta time { color:#737373; font-size:12px; font-variant-numeric:tabular-nums; }
.version-badge { display:inline-flex; padding:7px 10px; border:1px solid #e6e6e6; border-radius:9px; font-size:12px; font-weight:600; text-decoration:none; }
.version-badge:hover { background:#f5f5f5; }
.release-content { position:relative; border-left:1px solid #e6e6e6; padding:0 0 58px 32px; min-width:0; }
.release-content::before { content:""; position:absolute; width:10px; height:10px; background:#242424; border-radius:50%; left:-5.5px; top:7px; outline:5px solid white; }
.timeline-entry:last-child .release-content { padding-bottom:0; }
.release-content h2 { margin:0 0 14px; font-size:23px; font-weight:600; line-height:1.35; letter-spacing:-.045em; text-wrap:pretty; }
.release-content h2 a { text-decoration:none; }
.release-content h2 a:hover { text-decoration:underline; text-decoration-thickness:1px; }
.release-tags { display:flex; gap:6px; flex-wrap:wrap; margin:0 0 24px; }
.release-tags span { padding:3px 9px; border-radius:999px; border:1px solid #eaeaea; background:#f6f6f6; color:#737373; font-size:10px; line-height:1.5; }
.release-tags .private-build { color:#685544; background:#f8f4ee; border-color:#e9dfd0; }
.release-content p,.release-content li { color:#4d4d4d; font-size:13px; line-height:1.8; }
.release-content > p { margin:0 0 20px; }
.release-content ul { margin:0; padding-left:18px; display:grid; gap:10px; }
.release-content li::marker { color:#a3a3a3; }
.release-highlights { margin-bottom:24px!important; }
.release-content strong { color:#292929; font-weight:600; }
.release-content details { border-bottom:1px solid #e8e8e8; }
.release-content summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:52px; font-size:12px; list-style:none; }
.release-content summary::after { content:""; width:6px; height:6px; margin-right:3px; border-right:1px solid #888; border-bottom:1px solid #888; transform:rotate(45deg); flex:none; }
.release-content details[open] summary::after { transform:rotate(225deg); }
.release-content summary:hover { text-decoration:underline; }
.release-content details > ul,.release-content details > p { margin:0 0 22px; }
.release-permalink { display:inline-block; margin-top:24px; font-size:11px; color:#737373; text-decoration:none; }
.release-permalink:hover { color:#202020; text-decoration:underline; }
.changelog-site > footer { width:min(calc(100% - 48px),1000px); margin:0 auto; padding:28px 0 40px; border-top:1px solid #e8e8e8; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.changelog-site > footer p { margin:0; }
.changelog-site > footer .wordmark { font-size:26px; }
.changelog-site .content-shell:not(.changelog-page) { padding:60px 24px 100px; }
.changelog-site .release-detail { width:min(100%,740px); }
.changelog-site .article-hero { margin:36px 0; }
.changelog-site .article-hero h1 { margin:20px 0 0; font-family:var(--font-body); font-size:34px; font-weight:600; letter-spacing:-.05em; line-height:1.25; }
.changelog-site .article-hero > p:last-child { font-size:15px; margin-top:20px; }
.changelog-site .release-version { margin-top:14px; font-size:11px; letter-spacing:0; text-transform:none; }
.changelog-site .release-detail section { padding:30px 0; }
.changelog-site .release-detail section h2 { font-family:var(--font-body); font-size:20px; font-weight:600; margin:0 0 22px; }
.changelog-site .release-detail li { font-size:14px; }
.changelog-site .release-detail ul { gap:14px; }
@media(max-width:767px) {
  .changelog-site .content-header nav a:first-child { display:inline; }
  .changelog-page { padding:40px 0 72px; }
  .changelog-intro { margin-bottom:40px; }
  .release-timeline { --date-width:130px; }
  .release-meta { padding-right:16px; gap:12px; }
  .release-meta time { font-size:10px; }
  .release-content { padding-left:24px; }
  .release-content h2 { font-size:21px; }
}
@media(max-width:540px) {
  .changelog-site .content-header,.changelog-page,.changelog-site > footer { width:calc(100% - 40px); }
  .changelog-site .content-header nav { gap:16px; }
  .changelog-site .content-header nav a { font-size:10px; }
  .changelog-intro h1 { font-size:28px; }
  .changelog-intro p { font-size:12px; }
  .timeline-entry { display:block; padding:0 0 40px 24px; border-left:1px solid #e6e6e6; margin-left:5px; }
  .timeline-entry:last-child { padding-bottom:0; }
  .release-meta { position:static; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; padding:0 0 18px; }
  .release-meta time { font-size:11px; }
  .version-badge { padding:5px 8px; font-size:10px; }
  .release-content { border:0; padding:0; position:static; }
  .release-content::before { top:12px; }
  .release-content h2 { font-size:21px; }
  .release-content p,.release-content li { font-size:12px; }
  .release-tags { margin-bottom:20px; }
  .changelog-site > footer { flex-wrap:wrap; }
  .changelog-site .article-hero h1 { font-size:28px; }
}
