/* Updates page styles (focused, no duplication with base.css) */
.section { padding-block: var(--space-16); }
.hero__media img { object-fit: cover; width: 100%; height: auto; }
.meta { font-size: var(--fs-sm); }

/* Patch notes */
.patch__summary { cursor: pointer; }
.patch__body { margin-top: var(--space-4); }

/* Timeline */
.timeline { border-left: 2px solid var(--gray-700); margin-left: var(--space-4); padding-left: var(--space-6); }
.timeline__item { position: relative; padding-bottom: var(--space-6); }
.timeline__item::before { content: ""; position: absolute; left: calc(-1 * (var(--space-6))); top: 0.5rem; width: 10px; height: 10px; background: var(--color-primary); border-radius: 50%; box-shadow: var(--shadow-xs); }

/* Poll */
.poll__option { display: flex; align-items: center; gap: var(--space-3); }
.poll__results { margin-top: var(--space-5); display: grid; gap: var(--space-3); }
.poll__row { display: grid; grid-template-columns: 140px 1fr 52px; gap: var(--space-3); align-items: center; }
.poll__bar { background: var(--gray-700); height: 12px; border-radius: var(--radius-full); overflow: hidden; box-shadow: inset var(--shadow-xs); }
.poll__fill { display: block; height: 100%; background: linear-gradient(90deg, var(--color-primary-400), var(--color-primary)); transition: width var(--transition-normal) ease; }

/* Responsive tweaks */
@media (max-width: 640px) {
  .poll__row { grid-template-columns: 1fr; gap: var(--space-2); }
  .poll__bar { height: 10px; }
}
