/* Releases timeline — loaded only on /releases. */

.releases { padding: 0 0 96px; }
.releases__timeline { max-width: 720px; margin: 0 auto; position: relative; }

/* The rail. Drawn on the container rather than per entry, so it is one
   continuous line instead of a stack of segments that never quite meet. */
.releases__timeline::before {
	content: ''; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 1px;
	background: linear-gradient(180deg, var(--accent), rgba(255,255,255,0.10) 18%, rgba(255,255,255,0.04));
}

.release-entry { position: relative; padding: 0 0 46px 38px; }
.release-entry::before {
	content: ''; position: absolute; left: 0; top: 8px;
	width: 15px; height: 15px; border-radius: 50%;
	background: var(--bg); border: 2px solid rgba(255,255,255,0.16);
}
.release-entry--first::before {
	border-color: var(--accent);
	box-shadow: 0 0 0 4px rgba(237,69,79,0.14);
}

.release-header { margin-bottom: 14px; }
.release-version {
	font-size: 1.12rem; font-weight: 650; letter-spacing: -0.015em;
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.release-latest {
	font-size: 0.64rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--accent); background: var(--accent-dim);
	border: 1px solid rgba(237,69,79,0.3); border-radius: 999px; padding: 3px 9px;
}
.release-date { font-size: 0.83rem; color: var(--text-dim); margin-top: 3px; }

.release-body {
	background: var(--bg-card); border: 1px solid var(--line);
	border-radius: 14px; padding: 20px 22px;
}
.release-category {
	display: flex; align-items: center; gap: 8px;
	font-size: 0.74rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase;
	margin: 22px 0 10px;
}
.release-category:first-child { margin-top: 0; }
.release-category svg { width: 14px; height: 14px; fill: currentColor; flex: 0 0 14px; }
.release-category--new      { color: var(--accent); }
.release-category--improved { color: #E0A93C; }
.release-category--fixed    { color: #3FB27F; }
.release-category--other    { color: var(--text-dim); }

.release-body ul { list-style: none; display: grid; gap: 8px; }
.release-body li {
	position: relative; padding-left: 17px;
	color: var(--text-mid); font-size: 0.93rem; line-height: 1.58;
}
.release-body li::before {
	content: ''; position: absolute; left: 3px; top: 10px;
	width: 4px; height: 4px; border-radius: 50%; background: rgba(255,255,255,0.26);
}
.release-body p { color: var(--text-mid); font-size: 0.93rem; margin-bottom: 10px; }
.release-body p:last-child { margin-bottom: 0; }
.release-body strong { color: var(--text); font-weight: 600; }
.release-body code {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.85em;
	background: rgba(255,255,255,0.06); border-radius: 5px; padding: 1px 5px;
}
.release-body img { border-radius: 10px; border: 1px solid var(--line); margin: 12px 0; }

.releases-empty { text-align: center; color: var(--text-dim); padding: 40px 0 0; }

@media (max-width: 600px) {
	.release-entry { padding-left: 30px; }
	.release-body { padding: 17px 18px; }
}
