.updates-hero {
  background: linear-gradient(135deg, #0a0e27 0%, #121829 100%);
  padding: 120px 0 48px;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.updates-hero .page-title {
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 0.75rem;
}

.updates-hero .page-subtitle {
  color: rgba(255, 255, 255, 0.65);
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.6;
}

.updates-content {
  padding: 48px 0 96px;
}

.updates-list {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.updates-empty,
.updates-loading,
.updates-error {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  color: rgba(255, 255, 255, 0.55);
  padding: 48px 20px;
}

.updates-error {
  color: #e05a5a;
}

.update-entry {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 24px 26px;
}

.update-entry-header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px 16px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.update-entry-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
}

.update-entry-date {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.45);
  font-variant-numeric: tabular-nums;
}

.update-groups {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.update-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.update-change {
  display: flex;
  align-items: flex-start;
  gap: 0;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.96rem;
}

.changelog-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25em;
  height: 1.25em;
  margin-top: 0.12em;
  margin-right: 0.65em;
  flex-shrink: 0;
  border-radius: 4px;
  font-size: 0.92em;
  font-weight: 800;
  line-height: 1;
}

.changelog-icon--added {
  color: #5acd7e;
  background: rgba(90, 205, 126, 0.14);
}

.changelog-icon--added::before {
  content: '+';
}

.changelog-icon--fixed {
  color: #5b8dd9;
  background: rgba(91, 141, 217, 0.14);
}

.changelog-icon--fixed::before {
  content: '✓';
  font-size: 0.88em;
}

.changelog-icon--changed {
  color: #f0b429;
  background: rgba(240, 180, 41, 0.14);
}

.changelog-icon--changed::before {
  content: '↻';
  font-size: 0.95em;
}

.changelog-icon--removed {
  color: #e05a5a;
  background: rgba(224, 90, 90, 0.14);
}

.changelog-icon--removed::before {
  content: '−';
  font-size: 1.05em;
}

@media (max-width: 640px) {
  .update-entry {
    padding: 18px 16px;
  }
}
