.history {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: clamp(32px, 6vw, 96px);
  align-items: start;
}

.rail {
  position: sticky; top: 88px;
  max-height: calc(100vh - 112px);
  overflow-y: auto;
  scrollbar-width: thin;
  padding-right: 8px;
  font-size: 14px;
}
.rail-group + .rail-group { margin-top: 18px; }
.rail-series {
  margin: 0 0 6px;
  font: 500 13px/1 var(--font-display);
  color: var(--text-3);
}
.rail ul { list-style: none; margin: 0; padding: 0 0 0 10px; border-left: 1px solid var(--line); }
.rail a {
  display: flex; justify-content: space-between; gap: 10px;
  padding: 4px 8px; margin-left: -11px;
  border-left: 2px solid transparent;
  text-decoration: none; color: var(--text-2);
  font-family: var(--font-code); font-size: 13px;
  transition: color 120ms, border-color 120ms;
}
.rail a time { color: var(--text-3); font-family: var(--font-body); font-size: 12.5px; }
.rail a:hover { color: var(--fg); }
.rail a[aria-current] { color: var(--fg); border-left-color: var(--accent); }

.log { min-width: 0; grid-column: 2; }
.log-status { color: var(--text-3); padding: 24px 0; }
.log-status.error { color: var(--text-2); max-width: 40em; }
.log-status a { color: var(--accent); }

.release {
  scroll-margin-top: 88px;
  padding: 0 0 72px;
  margin-bottom: 72px;
  border-bottom: 1px solid var(--line);
}
.release:last-child { border-bottom: 0; }

.release-head h2 { font-size: clamp(34px, 4.4vw, 54px); }
.release-head h2 a { text-decoration: none; }
.release-head h2 a:hover { color: var(--accent); }

.release-meta {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 8px 18px;
  margin: 14px 0 30px;
  color: var(--text-3);
  font-size: 14.5px;
}
.latest {
  color: var(--on-accent); background: var(--accent);
  font-weight: 600; font-size: 12.5px;
  padding: 3px 9px; border-radius: 999px;
}
.release-dl { color: var(--accent); text-underline-offset: 3px; }

.release-body { max-width: 46em; }
.release-body > :first-child { margin-top: 0; }
.release-body h3 {
  font: 600 20px/1.3 var(--font-body);
  letter-spacing: -0.015em;
  color: var(--fg);
  margin: 1.8em 0 0.5em;
}
.release-body h4 { font-size: 17px; margin: 1.4em 0 0.4em; }
.release-body img {
  margin: 1.4em 0;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--surface);
}

@media (max-width: 860px) {
  .history { grid-template-columns: 1fr; }
  .rail { display: none; }
  .log { grid-column: 1; }
}
