/* Release archive. Shared colours, navigation and fonts come from styles.css. */
.updates-page { background: var(--bg); color: var(--text); }
.updates-hero { padding: clamp(64px, 8vw, 112px) 0 64px; }
.updates-hero .eyebrow { display: flex; align-items: center; gap: 12px; font-size: 12px; }
.updates-signal { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px var(--accent-dim); }
.updates-headline { margin: 24px 0; font: 500 clamp(46px, 6.8vw, 88px)/1.04 var(--font-sans); letter-spacing: -.065em; }
.updates-headline > span { color: var(--muted); }
.updates-sub { max-width: 630px; font-size: clamp(18px, 2vw, 22px); line-height: 1.65; color: var(--muted); }
.current-releases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.current-release { min-width: 0; display: flex; flex-direction: column; padding: clamp(24px, 3vw, 38px); border: 1px solid var(--border); border-radius: 20px; background: radial-gradient(ellipse at top right, var(--accent-dim), transparent 65%), var(--surface); }
.current-release-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.release-product { font-size: 17px; font-weight: 500; }
.current-release h2 { margin: 25px 0 14px; font-size: clamp(28px, 3vw, 38px); font-weight: 500; letter-spacing: -.045em; line-height: 1.2; }
.current-release > p { color: var(--muted); font-size: 16px; line-height: 1.75; }
.current-release .current-release-status { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 22px; font-size: 13px; }
.current-release-status .status-dot { width: 6px; height: 6px; }
.current-release-links { display: flex; flex-wrap: wrap; gap: 15px 25px; margin-top: auto; padding-top: 28px; font-size: 15px; }
.current-release-links a { color: var(--accent-soft); text-underline-offset: 5px; }
.current-release-links a:hover { text-decoration: underline; }
.current-release-links a > span { margin-left: 7px; }
.release-archive { padding-top: 36px; }
.archive-heading { display: flex; flex-wrap: wrap; gap: 20px; align-items: end; justify-content: space-between; padding-bottom: 28px; }
.archive-heading .eyebrow { font-size: 12px; margin-bottom: 12px; }
.archive-heading h2 { font-size: clamp(28px, 3.8vw, 40px); font-weight: 500; letter-spacing: -.04em; line-height: 1.2; }
#release-count { color: var(--muted); font-size: 14px; }
.release-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.release-filters button { min-height: 44px; padding: 10px 20px; border: 1px solid var(--border); border-radius: 100px; background: var(--surface); color: var(--muted); font-size: 15px; transition: color .18s, background .18s, border-color .18s; }
.release-filters button:hover { border-color: var(--accent-border); color: var(--text); }
.release-filters button[aria-pressed="true"] { color: var(--bg); background: var(--accent); border-color: var(--accent); }
.updates-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: var(--border); }
.updates-index > a { min-width: 0; position: relative; display: flex; flex-direction: column; gap: 7px; padding: 20px 54px 20px 23px; background: var(--surface); transition: background .18s; }
.updates-index > a:hover { background: var(--surface-raised); }
.updates-index > a > span:first-child { display: flex; flex-wrap: wrap; gap: 6px 16px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.updates-index time { margin-left: auto; }
.updates-index strong { color: var(--text); font-weight: 500; font-size: 16px; line-height: 1.5; }
.updates-index-arrow { position: absolute; right: 23px; top: 50%; transform: translateY(-50%); color: var(--accent); font-size: 20px; }
.updates-archive-note { max-width: 850px; margin-top: 23px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.updates-log { padding: 64px 0 100px; }
.update-entry { position: relative; display: grid; grid-template-columns: 195px minmax(0, 1fr); gap: 0 52px; padding-top: 42px; border-top: 1px solid var(--border); scroll-margin-top: 115px; }
.update-entry + .update-entry { margin-top: 72px; }
.update-entry-latest { border-top-color: var(--accent-border); }
.update-entry > :not(.update-head) { grid-column: 2; min-width: 0; }
.update-head { grid-column: 1; grid-row: 1 / span 2; align-self: start; display: flex; flex-direction: column; gap: 20px; padding-top: 3px; }
.update-number { color: var(--muted); font: 400 12px/1.7 var(--font-mono); }
.update-number > span { color: var(--accent-soft); }
.update-date { color: var(--text); font: 400 13px/1.7 var(--font-mono); }
.update-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.update-tag { display: inline-block; padding: 6px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); font-size: 12px; line-height: 1.5; color: var(--muted); }
.update-tag.tag-live, .update-tag.tag-desktop, .update-tag.tag-terminal, .update-tag.tag-stable { color: var(--accent-soft); border-color: var(--accent-border); background: var(--accent-dim); }
.update-title { max-width: 760px; margin: 0 0 24px; font: 500 clamp(28px, 3.3vw, 42px)/1.2 var(--font-sans); letter-spacing: -.04em; text-wrap: balance; }
.update-lede { max-width: 780px; margin: 0 0 26px; color: var(--muted); font-size: 18px; line-height: 1.8; }
.update-lede strong { color: var(--text); font-weight: 500; }
.update-panel { padding: 28px 0; border-top: 1px solid var(--border); }
.update-subhead { margin: 0 0 16px; color: var(--text); font-size: 21px; font-weight: 500; line-height: 1.45; letter-spacing: -.02em; }
.update-panel p { max-width: 780px; font-size: 16px; line-height: 1.85; color: var(--muted); }
.update-panel p + p { margin-top: 18px; }
.update-panel strong { color: var(--text); font-weight: 500; }
.update-panel code { background: var(--surface-raised); border: 1px solid var(--border); border-radius: 4px; padding: 2px 5px; color: var(--text); font: 400 .9em/1.8 var(--font-mono); overflow-wrap: anywhere; }
.update-flow { display: grid; gap: 24px; margin: 24px 0; padding: 0; list-style: none; }
.update-step { display: flex; gap: 18px; align-items: start; }
.update-step-num { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--accent-soft); font: 400 12px/1 var(--font-mono); }
.update-step-body { min-width: 0; }
.update-step-tag { display: block; margin: 3px 0 9px; color: var(--text); font-size: 15px; font-weight: 500; line-height: 1.6; }
.update-panel .update-outcome { margin-top: 25px; padding: 20px; background: var(--surface-raised); border-left: 2px solid var(--accent); color: var(--text); }
.update-callout { padding: 24px; margin: 8px 0 24px; border: 1px solid var(--accent-border); border-radius: 10px; background: var(--accent-dim); }
.update-callout .update-subhead { color: var(--accent-soft); font-size: 19px; }
.update-superseded { margin: 0 0 24px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.update-superseded a { color: var(--accent-soft); text-decoration: underline; text-underline-offset: 4px; }
.update-callout .update-superseded { margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--accent-border); }
.update-links { display: flex; flex-wrap: wrap; gap: 12px 26px; padding: 10px 0 26px; }
.update-link { min-width: 0; color: var(--accent-soft); font-size: 14px; line-height: 1.7; text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; }
.update-link:hover { color: var(--text); }
.history-details { margin-top: 6px; border-top: 1px solid var(--border); }
.history-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 60px; padding: 16px 0; color: var(--accent-soft); font-size: 16px; cursor: pointer; list-style: none; }
.history-details > summary::-webkit-details-marker { display: none; }
.history-details > summary > span { font-size: 24px; font-weight: 400; transition: transform .2s; }
.history-details[open] > summary > span { transform: rotate(45deg); }
.history-content > .update-panel:first-child { border-top: 0; padding-top: 12px; }
.release-details { margin-top: 22px; padding: 18px 0; border-block: 1px solid var(--border); }
.release-details summary { cursor: pointer; color: var(--accent-soft); font-size: 16px; }
.release-details p { margin-top: 16px; }
.update-panel a { color: var(--accent-soft); text-decoration: underline; text-underline-offset: 4px; }
.update-panel kbd { font: 13px/1.8 var(--font-mono); white-space: nowrap; color: var(--text); }
.release-checksums { display: grid; gap: 22px; margin: 23px 0 0; }
.release-checksums dt { font-size: 15px; margin-bottom: 8px; }
.release-checksums dd { margin: 0; min-width: 0; }
.release-checksums code { display: block; padding: 12px; font-size: 13px; overflow-wrap: anywhere; }
.updates-page [hidden] { display: none !important; }
@media (max-width: 960px) {
  .current-releases { grid-template-columns: 1fr; }
  .update-entry { grid-template-columns: 160px minmax(0, 1fr); gap: 0 32px; }
  .updates-index time { margin-left: 0; }
}
@media (max-width: 700px) {
  .updates-hero { padding-top: 54px; padding-bottom: 32px; }
  .updates-headline { margin: 22px 0; font-size: clamp(44px, 10vw, 64px); }
  .current-releases { grid-template-columns: 1fr; margin-top: 34px; gap: 16px; }
  .current-release { border-radius: 16px; }
  .current-release h2 { margin-top: 20px; }
  .release-archive { padding-top: 28px; }
  .archive-heading { align-items: start; gap: 18px; }
  .updates-index { grid-template-columns: 1fr; }
  .updates-index > a { padding: 17px 46px 17px 18px; }
  .updates-index > a > span:first-child { gap: 5px 12px; }
  .updates-index time { margin-left: auto; }
  .updates-log { padding-top: 44px; padding-bottom: 64px; }
  .update-entry { display: block; padding-top: 28px; scroll-margin-top: 92px; }
  .update-entry + .update-entry { margin-top: 52px; }
  .update-head { gap: 12px; margin-bottom: 25px; }
  .update-number { display: none; }
  .update-title { font-size: clamp(28px, 7.5vw, 36px); }
  .update-lede { font-size: 17px; }
  .update-panel { padding: 24px 0; }
  .update-subhead { font-size: 20px; }
  .update-step { gap: 12px; }
  .update-callout { padding: 20px; }
  .update-panel .update-outcome { padding: 16px; }
  .update-links { gap: 14px 22px; }
}
@media (max-width: 380px) {
  .release-filters button { padding-inline: 15px; }
  .updates-index time { margin-left: 0; }
  .current-release-status > span:not(.status-dot) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .updates-page *, .updates-page *::before, .updates-page *::after { scroll-behavior: auto; transition: none !important; }
}
@media print {
  .updates-page .site-nav, .updates-page .site-footer, .release-filters { display: none !important; }
  .updates-page .update-entry, .updates-page .updates-index > a { display: block !important; }
  .history-details > summary { display: none; }
  .history-details::details-content { content-visibility: visible; }
  .history-details > .history-content { display: block !important; }
}
