.changelog{--rail-link:light-dark(#0a0a0a,#a1a1a1);--rail-title:light-dark(#444950,#e5e5e5);--rail-divider:light-dark(#dadde1,#262626);--timeline-line:light-dark(#e5e5e5,#28a6fa38);--timeline-line-strong:light-dark(#0067c0,#28a6fab3);max-width:918px;margin:2rem auto 0}@media (width>=1440px){.changelog{max-width:1068px}}.changelog__intro{margin-bottom:2rem}.changelog-layout{grid-template-columns:160px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.changelog-chips{flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:.5rem;margin-bottom:.5rem;display:flex}.changelog-chip{border:1px solid var(--surface-border);background:var(--surface);color:var(--foreground);font:inherit;cursor:pointer;border-radius:999px;padding:.375rem .75rem;font-size:.875rem;font-weight:600;line-height:1.2}.changelog-chip:hover{background:var(--hover-overlay)}.changelog-chip[aria-pressed=true]{background:var(--info-tint);color:var(--info);border-color:currentColor}.year-rail{top:calc(var(--header-height) + 1rem);border-right:1px dashed var(--border);padding-right:1rem;position:sticky}.year-rail__title{border-bottom:2px solid var(--rail-divider);color:var(--rail-title);letter-spacing:.1em;text-align:center;text-transform:uppercase;margin:0 0 1rem;padding-bottom:.5rem;font-size:.875rem}.year-rail__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.year-rail__list a{color:var(--rail-link);transition:color var(--duration-fast) ease, background-color var(--duration-fast) ease;border-radius:4px;padding:.25rem .5rem;font-weight:500}.year-rail__list a:hover{background:var(--hover-overlay);color:var(--info);text-underline-offset:2px;text-decoration:underline}.timeline-years{flex-direction:column;gap:2.5rem;padding-top:.5rem;display:flex}.changelog [data-products=""]{display:none}.timeline-year__title{letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin:0 0 .75rem;font-size:.75rem}.timeline{margin-left:.75rem;position:relative}.timeline:before{content:"";inset-block:0;background:var(--timeline-line);width:2px;position:absolute;left:0}.timeline--current-year:before{background:linear-gradient(to bottom, var(--timeline-line-strong), var(--timeline-line))}.timeline-month{margin-bottom:1.25rem}.timeline-month__title{opacity:.75;margin:.25rem 0 .5rem 1.5rem;font-size:.8125rem}.timeline-list{margin:0;padding:0;list-style:none}.timeline-list>li{margin-bottom:1rem;padding-left:1.5rem}.timeline-card{border:1px solid var(--surface-border);border-radius:var(--card-radius);background:var(--surface);transition:box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;position:relative;box-shadow:0 1px 2px #0000001a}.timeline-list>[data-product=admin]>.timeline-card{background:light-dark(#f0f6fc,#17212b)}.timeline-list>[data-product=server]>.timeline-card{background:light-dark(#f3f1fa,#211d2b)}.timeline-list>[data-product=tagocore]>.timeline-card{background:light-dark(#eff7f4,#17251f)}.timeline-list>[data-product=tagodeploy]>.timeline-card{background:light-dark(#fcf5ed,#2b2118)}.timeline-card:hover{box-shadow:var(--shadow-md)}@media (prefers-reduced-motion:no-preference){.timeline-card:hover{transform:translateY(-2px)}}.timeline-card__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;padding:.75rem .75rem 0;display:flex}.timeline-card__title{overflow-wrap:anywhere;align-items:center;gap:.5rem;min-width:0;margin:0;font-size:1rem;display:flex}.timeline-card__link,.timeline-card__link:hover{color:inherit;text-decoration:none}.timeline-card__link:after{content:"";border-radius:var(--card-radius);position:absolute;inset:0}.timeline-card__link:focus-visible{outline:none}.timeline-card__link:focus-visible:after{outline:2px solid var(--info);outline-offset:2px}.product-icon{color:var(--logo);flex:none}.timeline-card__date{color:var(--text-secondary);flex:none;font-size:.8125rem}.timeline-card__desc{color:var(--text-secondary);margin:0;padding:.5rem .75rem .75rem}.brand-sprite{width:0;height:0;position:absolute;overflow:hidden}@media (width<=996px){.changelog-layout{grid-template-columns:minmax(0,1fr)}.year-rail{border-right:0;padding-right:0;position:static}.year-rail__title{text-align:left;border-bottom:0;margin-bottom:.25rem;padding-bottom:0}.year-rail__list{flex-flow:wrap;gap:.25rem;margin-inline:-.5rem}.year-rail__list a{display:inline-block}}
