:root {
  --downloads-bg-0: #070910;
  --downloads-bg-1: #0a0d18;
  --downloads-text: #f2f4fb;
  --downloads-dim: #b8bed5;
  --downloads-line: rgba(255, 255, 255, 0.14);
  --downloads-accent: #fc0553;
}

* {
  box-sizing: border-box;
}

.downloads-page {
  margin: 0;
  min-height: 100vh;
  color: var(--downloads-text);
  font-family: "Space Grotesk", sans-serif;
  background:
    radial-gradient(circle at 12% 16%, rgba(252, 5, 83, 0.18), rgba(252, 5, 83, 0) 36%),
    radial-gradient(circle at 84% 84%, rgba(89, 192, 255, 0.18), rgba(89, 192, 255, 0) 42%),
    linear-gradient(180deg, var(--downloads-bg-0), var(--downloads-bg-1) 62%, #06070c);
}

.downloads-bg {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 88% 8%, rgba(252, 5, 83, 0.08), rgba(252, 5, 83, 0) 32%),
    radial-gradient(circle at 14% 90%, rgba(116, 168, 255, 0.14), rgba(116, 168, 255, 0) 38%);
}

.downloads-bg::before,
.downloads-bg::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.downloads-page.downloads-theme-ez-actions {
  --downloads-accent: #f20553;
  --downloads-bg-0: #060306;
  --downloads-bg-1: #12070d;
  background: linear-gradient(180deg, #12050a, #050306 70%);
}

.downloads-theme-ez-actions .downloads-bg {
  background:
    radial-gradient(circle at 82% 10%, rgba(242, 5, 83, 0.26), rgba(242, 5, 83, 0) 34%),
    radial-gradient(circle at 14% 90%, rgba(255, 100, 145, 0.2), rgba(255, 100, 145, 0) 34%),
    repeating-linear-gradient(30deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 42px),
    repeating-linear-gradient(120deg, rgba(255, 255, 255, 0.016) 0 1px, transparent 1px 38px),
    linear-gradient(180deg, #12050a, #050306 70%);
}

.downloads-theme-feathered-friend .downloads-bg::before,
.downloads-theme-feathered-friend .downloads-bg::after {
  width: 340px;
  height: 260px;
  opacity: 0.24;
  border: 1px solid rgba(255, 255, 255, 0.05);
  background:
    linear-gradient(rgba(168, 97, 255, 0.18) 0 0) 0 170px / 56px 56px no-repeat,
    linear-gradient(rgba(168, 97, 255, 0.14) 0 0) 56px 170px / 56px 56px no-repeat,
    linear-gradient(rgba(168, 97, 255, 0.12) 0 0) 112px 170px / 56px 56px no-repeat,
    linear-gradient(rgba(168, 97, 255, 0.12) 0 0) 56px 114px / 56px 56px no-repeat,
    linear-gradient(rgba(168, 97, 255, 0.1) 0 0) 112px 114px / 56px 56px no-repeat,
    linear-gradient(rgba(168, 97, 255, 0.08) 0 0) 168px 114px / 56px 56px no-repeat,
    linear-gradient(rgba(168, 97, 255, 0.1) 0 0) 112px 58px / 56px 56px no-repeat,
    linear-gradient(rgba(168, 97, 255, 0.08) 0 0) 168px 58px / 56px 56px no-repeat;
}

.downloads-theme-feathered-friend .downloads-bg::before {
  left: -58px;
  top: 86px;
  transform: rotate(6deg);
}

.downloads-theme-feathered-friend .downloads-bg::after {
  right: -48px;
  bottom: 72px;
  transform: rotate(-7deg);
}

.downloads-theme-ez-actions .downloads-bg::before,
.downloads-theme-ez-actions .downloads-bg::after {
  width: 420px;
  height: 420px;
  opacity: 0.36;
  border-radius: 999px;
  background:
    conic-gradient(
      from -36deg,
      rgba(252, 5, 83, 0) 0deg 18deg,
      rgba(252, 5, 83, 0.64) 18deg 52deg,
      rgba(252, 5, 83, 0) 52deg 78deg,
      rgba(255, 255, 255, 0.28) 78deg 96deg,
      rgba(252, 5, 83, 0) 96deg 154deg,
      rgba(252, 5, 83, 0.48) 154deg 190deg,
      rgba(252, 5, 83, 0) 190deg 262deg,
      rgba(255, 255, 255, 0.2) 262deg 286deg,
      rgba(252, 5, 83, 0) 286deg 360deg
    );
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 14px), #000 calc(100% - 13px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 14px), #000 calc(100% - 13px));
}

.downloads-theme-ez-actions .downloads-bg::before {
  left: -210px;
  top: -102px;
  transform: rotate(9deg);
}

.downloads-theme-ez-actions .downloads-bg::after {
  right: -216px;
  bottom: -96px;
  transform: rotate(-14deg);
}

.downloads-page.downloads-theme-timeline {
  --downloads-accent: #8da3ff;
  background: linear-gradient(180deg, #0b0d12, #121620 64%, #0a0c12);
}

.downloads-theme-timeline .downloads-bg {
  background:
    radial-gradient(circle at 84% 8%, rgba(141, 163, 255, 0.24), rgba(141, 163, 255, 0) 36%),
    radial-gradient(circle at 14% 91%, rgba(244, 211, 124, 0.16), rgba(244, 211, 124, 0) 36%),
    linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px) 0 0 / 100% 44px,
    linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px) 0 0 / 46px 100%,
    linear-gradient(180deg, #0b0d12, #121620 64%, #0a0c12);
}

.downloads-theme-timeline .downloads-bg::before,
.downloads-theme-timeline .downloads-bg::after {
  width: 236px;
  height: 236px;
  opacity: 0.34;
  background:
    linear-gradient(rgba(141, 163, 255, 0.4) 0 0) 72px 0 / 20px 20px no-repeat,
    linear-gradient(rgba(141, 163, 255, 0.4) 0 0) 92px 0 / 20px 20px no-repeat,
    linear-gradient(rgba(141, 163, 255, 0.38) 0 0) 52px 20px / 20px 20px no-repeat,
    linear-gradient(rgba(141, 163, 255, 0.38) 0 0) 72px 20px / 20px 20px no-repeat,
    linear-gradient(rgba(141, 163, 255, 0.38) 0 0) 92px 20px / 20px 20px no-repeat,
    linear-gradient(rgba(141, 163, 255, 0.32) 0 0) 32px 40px / 20px 20px no-repeat,
    linear-gradient(rgba(141, 163, 255, 0.32) 0 0) 52px 40px / 20px 20px no-repeat,
    linear-gradient(rgba(141, 163, 255, 0.32) 0 0) 72px 40px / 20px 20px no-repeat,
    linear-gradient(rgba(141, 163, 255, 0.28) 0 0) 52px 60px / 20px 20px no-repeat;
}

.downloads-theme-timeline .downloads-bg::before {
  left: -44px;
  top: 88px;
  transform: rotate(-4deg);
}

.downloads-theme-timeline .downloads-bg::after {
  right: -42px;
  bottom: 72px;
  transform: scale(-1, 1) rotate(-6deg);
}

.downloads-page.downloads-theme-locksmith {
  --downloads-accent: #d8ac58;
  background: linear-gradient(180deg, #080a0a, #111514 58%, #090b0b);
}

.downloads-theme-locksmith .downloads-bg {
  background:
    radial-gradient(circle at 82% 9%, rgba(216, 172, 88, 0.2), rgba(216, 172, 88, 0) 35%),
    radial-gradient(circle at 14% 92%, rgba(159, 184, 178, 0.16), rgba(159, 184, 178, 0) 34%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 58px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.014) 0 1px, transparent 1px 58px),
    linear-gradient(180deg, #080a0a, #111514 58%, #090b0b);
}

.downloads-theme-locksmith .downloads-bg::before,
.downloads-theme-locksmith .downloads-bg::after {
  width: 240px;
  height: 240px;
  opacity: 0.26;
  background:
    radial-gradient(circle, rgba(216, 172, 88, 0.64) 0 4px, transparent 5px) 106px 18px / 28px 28px no-repeat,
    linear-gradient(90deg, transparent 0 96px, rgba(216, 172, 88, 0.45) 96px 144px, transparent 144px) 0 24px / 240px 14px no-repeat,
    linear-gradient(90deg, transparent 0 82px, rgba(216, 172, 88, 0.4) 82px 158px, transparent 158px) 0 52px / 240px 12px no-repeat,
    linear-gradient(90deg, transparent 0 66px, rgba(159, 184, 178, 0.26) 66px 174px, transparent 174px) 0 82px / 240px 10px no-repeat,
    linear-gradient(90deg, transparent 0 52px, rgba(216, 172, 88, 0.34) 52px 188px, transparent 188px) 0 112px / 240px 9px no-repeat;
}

.downloads-theme-locksmith .downloads-bg::before {
  left: -46px;
  top: 96px;
  transform: rotate(-8deg);
}

.downloads-theme-locksmith .downloads-bg::after {
  right: -42px;
  bottom: 64px;
  transform: scale(-1, 1) rotate(-6deg);
}

.downloads-page.downloads-theme-sketchbook {
  --downloads-accent: #d2a85c;
  background: linear-gradient(180deg, #100b08, #1b120c 58%, #080604);
}

.downloads-theme-sketchbook .downloads-bg {
  background:
    radial-gradient(circle at 78% 10%, rgba(210, 168, 92, 0.22), rgba(210, 168, 92, 0) 35%),
    radial-gradient(circle at 13% 88%, rgba(110, 163, 145, 0.17), rgba(110, 163, 145, 0) 33%),
    linear-gradient(90deg, rgba(255, 244, 213, 0.024) 1px, transparent 1px) 0 0 / 54px 100%,
    linear-gradient(rgba(255, 244, 213, 0.022) 1px, transparent 1px) 0 0 / 100% 46px,
    linear-gradient(180deg, #100b08, #1b120c 58%, #080604);
}

.downloads-theme-sketchbook .downloads-bg::before,
.downloads-theme-sketchbook .downloads-bg::after {
  width: 300px;
  height: 210px;
  opacity: 0.18;
  border: 1px solid rgba(235, 202, 143, 0.18);
  background:
    linear-gradient(135deg, rgba(255, 236, 190, 0.18), rgba(255, 236, 190, 0)),
    repeating-linear-gradient(0deg, rgba(75, 52, 31, 0.22) 0 1px, transparent 1px 16px);
}

.downloads-theme-sketchbook .downloads-bg::before {
  left: -58px;
  top: 86px;
  transform: rotate(6deg);
}

.downloads-theme-sketchbook .downloads-bg::after {
  right: -48px;
  bottom: 72px;
  transform: rotate(-7deg);
}

.downloads-page.downloads-theme-villager-overhaul {
  --downloads-accent: #21c36b;
  background: linear-gradient(180deg, rgba(5, 14, 10, 0.96), rgba(7, 10, 9, 0.98));
}

.downloads-theme-villager-overhaul .downloads-bg {
  background:
    radial-gradient(circle at 16% 16%, rgba(33, 195, 107, 0.16), transparent 34%),
    radial-gradient(circle at 84% 20%, rgba(229, 185, 79, 0.12), transparent 28%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='90' viewBox='0 0 104 90'%3E%3Cg fill='none' stroke='%2321c36b' stroke-opacity='.105' stroke-width='1'%3E%3Cpath d='M26 1 51 15v29L26 59 1 44V15Z'/%3E%3Cpath d='M78 31l25 14v29L78 89 53 74V45Z'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 104px 90px repeat,
    linear-gradient(180deg, rgba(5, 14, 10, 0.96), rgba(7, 10, 9, 0.98));
}

.downloads-theme-villager-overhaul .downloads-bg::before,
.downloads-theme-villager-overhaul .downloads-bg::after {
  width: 220px;
  height: 220px;
  opacity: 0.14;
  clip-path: polygon(50% 0, 82% 18%, 100% 50%, 72% 100%, 28% 100%, 0 50%, 18% 18%);
  background:
    linear-gradient(135deg, rgba(224, 255, 200, 0.14), rgba(224, 255, 200, 0) 30%) 18% 12% / 52% 36% no-repeat,
    linear-gradient(90deg, rgba(33, 195, 107, 0) 49%, rgba(181, 255, 208, 0.13) 50%, rgba(33, 195, 107, 0) 51%),
    conic-gradient(from 45deg, rgba(31, 188, 102, 0.24), rgba(8, 80, 51, 0.18), rgba(52, 214, 124, 0.26), rgba(8, 72, 45, 0.18), rgba(31, 188, 102, 0.24));
}

.downloads-theme-villager-overhaul .downloads-bg::before {
  left: -88px;
  top: 76px;
  transform: rotate(-12deg);
}

.downloads-theme-villager-overhaul .downloads-bg::after {
  right: -82px;
  bottom: 60px;
  transform: scale(-1, 1) rotate(-18deg);
}

.downloads-page.downloads-theme-infinite-upgrades {
  --downloads-accent: #f4d08a;
  background: linear-gradient(180deg, #07060a 0%, #11080c 54%, #070406 100%);
}

.downloads-theme-infinite-upgrades .downloads-bg {
  background:
    linear-gradient(112deg, rgba(159, 216, 255, 0.15), transparent 28%),
    linear-gradient(248deg, rgba(227, 93, 54, 0.18), transparent 30%),
    repeating-linear-gradient(60deg, rgba(244, 208, 138, 0.035) 0 1px, transparent 1px 52px),
    repeating-linear-gradient(120deg, rgba(227, 93, 54, 0.028) 0 1px, transparent 1px 56px),
    linear-gradient(180deg, #07060a 0%, #11080c 54%, #070406 100%);
}

.downloads-theme-infinite-upgrades .downloads-bg::before,
.downloads-theme-infinite-upgrades .downloads-bg::after {
  width: 300px;
  height: 300px;
  opacity: 0.16;
  border: 1px solid rgba(244, 208, 138, 0.1);
  clip-path: polygon(50% 0, 88% 25%, 88% 75%, 50% 100%, 12% 75%, 12% 25%);
  background:
    linear-gradient(30deg, transparent 38%, rgba(159, 216, 255, 0.18) 39% 42%, transparent 43%),
    linear-gradient(150deg, transparent 38%, rgba(227, 93, 54, 0.18) 39% 42%, transparent 43%),
    linear-gradient(90deg, transparent 45%, rgba(244, 208, 138, 0.13) 46% 54%, transparent 55%);
}

.downloads-theme-infinite-upgrades .downloads-bg::before {
  left: -104px;
  top: 96px;
  transform: rotate(12deg);
}

.downloads-theme-infinite-upgrades .downloads-bg::after {
  right: -112px;
  bottom: 70px;
  transform: rotate(-10deg);
}

.downloads-shell {
  position: relative;
  z-index: 1;
  width: min(1160px, calc(100% - 26px));
  margin: 0 auto;
}

.downloads-shell--top {
  padding-top: 28px;
}

.downloads-shell--main {
  display: grid;
  gap: 26px;
  margin-top: 28px;
  padding-bottom: 26px;
}

.downloads-head {
  position: relative;
  display: grid;
  gap: 9px;
  padding-right: 0;
}

.downloads-head__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.hub-link {
  width: fit-content;
  border: 1px solid var(--downloads-line);
  background: rgba(8, 7, 12, 0.72);
  color: var(--downloads-text);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.72rem;
  padding: 8px 11px;
}

.hub-link:hover {
  border-color: rgba(252, 5, 83, 0.72);
}

.downloads-head__eyebrow {
  margin: 0;
  color: #fbb2ca;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.74rem;
}

.downloads-head h1 {
  margin: 0;
  font-family: "Antonio", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: clamp(2rem, 5vw, 3rem);
}

.downloads-head__copy {
  margin: 0;
  color: var(--downloads-dim);
  max-width: 760px;
  line-height: 1.6;
}

.downloads-ornament {
  position: absolute;
  top: 2px;
  right: 0;
  width: 108px;
  height: 92px;
  pointer-events: none;
  opacity: 0.92;
}

.downloads-ornament__ring {
  position: absolute;
  border: 1px solid rgba(252, 5, 83, 0.44);
  border-radius: 4px;
  background: rgba(17, 10, 16, 0.4);
}

.downloads-ornament__ring--outer {
  inset: 0;
  animation: downloads-frame-pulse 2.9s ease-in-out infinite;
}

.downloads-ornament__ring--inner {
  inset: 14px 14px 26px;
  border-color: rgba(92, 200, 255, 0.48);
  animation: downloads-frame-pulse 2.2s ease-in-out infinite;
}

.downloads-ornament__spark {
  position: absolute;
  width: 8px;
  height: 5px;
  background: linear-gradient(90deg, rgba(252, 5, 83, 0.22), rgba(252, 5, 83, 0.92), rgba(252, 5, 83, 0.2));
  animation: downloads-block-stream 1.6s linear infinite;
}

.downloads-ornament__spark--a {
  top: 20px;
  left: 17px;
}

.downloads-ornament__spark--b {
  top: 34px;
  left: 27px;
  animation-delay: 0.22s;
}

.downloads-ornament__spark--c {
  top: 48px;
  left: 12px;
  animation-delay: 0.44s;
}

.downloads-ornament__core {
  position: absolute;
  left: 42px;
  top: 56px;
  width: 24px;
  height: 18px;
  border: 1px solid rgba(92, 200, 255, 0.74);
  border-radius: 2px;
  background: linear-gradient(180deg, rgba(92, 200, 255, 0.4), rgba(92, 200, 255, 0.18));
  animation: downloads-core-pulse 2.1s ease-in-out infinite;
}

.downloads-ornament::before {
  content: "";
  position: absolute;
  left: 51px;
  top: 28px;
  width: 6px;
  height: 28px;
  background: linear-gradient(180deg, rgba(255, 217, 231, 0.2), rgba(255, 217, 231, 0.9));
  animation: downloads-arrow-drop 1.9s ease-in-out infinite;
}

.downloads-ornament::after {
  content: "";
  position: absolute;
  left: 45px;
  top: 50px;
  width: 18px;
  height: 18px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid rgba(255, 217, 231, 0.92);
  animation: downloads-arrow-drop 1.9s ease-in-out infinite;
}

.downloads-mod-rail {
  margin-top: 18px;
  margin-bottom: 12px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(180px, 220px);
  gap: 10px;
  overflow-x: auto;
  padding: 2px 0 11px 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(252, 5, 83, 0.65) rgba(255, 255, 255, 0.08);
}

.downloads-mod-rail::-webkit-scrollbar {
  height: 8px;
}

.downloads-mod-rail::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.06);
}

.downloads-mod-rail::-webkit-scrollbar-thumb {
  background: rgba(252, 5, 83, 0.62);
}

.downloads-mod-card {
  border: 1px solid var(--downloads-line);
  background: rgba(10, 12, 20, 0.78);
  color: var(--downloads-text);
  padding: 10px;
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 10px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}

.downloads-mod-card img {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.downloads-mod-card__copy {
  display: grid;
  gap: 2px;
}

.downloads-mod-card__copy strong {
  font-size: 0.92rem;
  letter-spacing: 0.02em;
}

.downloads-mod-card.is-active,
.downloads-mod-card:hover {
  border-color: rgba(252, 5, 83, 0.74);
  background: rgba(18, 11, 18, 0.84);
}

.downloads-card {
  border: 0;
  background: transparent;
  padding: 0;
}

.downloads-card + .downloads-card {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 16px;
}

.downloads-filter-grid {
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 18px;
}

.downloads-filter-block {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(9, 10, 18, 0.42);
  padding: 12px;
}

.downloads-filter-title {
  margin: 0;
  color: var(--downloads-dim);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.72rem;
}

.downloads-loader-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.downloads-loader-btn {
  border: 1px solid var(--downloads-line);
  background: rgba(12, 13, 22, 0.82);
  color: var(--downloads-text);
  padding: 8px 11px;
  cursor: pointer;
  font-size: 0.8rem;
}

.downloads-loader-btn:hover,
.downloads-loader-btn.is-active {
  border-color: rgba(252, 5, 83, 0.8);
  background: rgba(32, 11, 18, 0.82);
}

.downloads-version-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
}

.downloads-version-input-row input,
.downloads-version-input-row button {
  border: 1px solid var(--downloads-line);
  background: rgba(7, 8, 14, 0.84);
  color: var(--downloads-text);
  padding: 8px 10px;
  font: inherit;
}

.downloads-version-input-row button {
  cursor: pointer;
}

.downloads-version-input-row button.ghost {
  background: rgba(17, 19, 29, 0.82);
}

.downloads-version-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.downloads-version-chip {
  border: 1px solid var(--downloads-line);
  background: rgba(12, 13, 22, 0.84);
  color: var(--downloads-text);
  padding: 5px 9px;
  font-size: 0.77rem;
  cursor: pointer;
}

.downloads-version-chip.is-active {
  border-color: rgba(252, 5, 83, 0.8);
  color: #ffd4e3;
}

.downloads-filter-status {
  margin: 9px 0 0;
  color: var(--downloads-dim);
}

.downloads-view-toggle {
  width: fit-content;
  display: flex;
  gap: 0;
  border: 1px solid var(--downloads-line);
  background: rgba(7, 8, 14, 0.72);
}

.downloads-view-toggle button {
  border: 0;
  border-right: 1px solid var(--downloads-line);
  background: transparent;
  color: var(--downloads-dim);
  padding: 8px 13px;
  font: inherit;
  cursor: pointer;
}

.downloads-view-toggle button:last-child {
  border-right: 0;
}

.downloads-view-toggle button:hover,
.downloads-view-toggle button.is-active {
  background: rgba(252, 5, 83, 0.16);
  color: var(--downloads-text);
}

.downloads-kicker {
  margin: 0;
  color: #f7aac7;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.74rem;
}

.downloads-card h2 {
  margin: 8px 0 6px;
  font-family: "Antonio", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.downloads-capabilities {
  margin: 0 0 10px;
  color: var(--downloads-dim);
  line-height: 1.5;
}

.downloads-capabilities--top {
  margin: 0 0 3px;
  color: #dae2ff;
  font-size: 0.88rem;
}

.downloads-latest-release {
  display: grid;
  gap: 10px;
  border-left: 2px solid rgba(252, 5, 83, 0.56);
  padding-left: 14px;
}

.downloads-release-panel {
  display: grid;
  gap: 10px;
}

.downloads-release-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: var(--downloads-dim);
  font-size: 0.86rem;
}

.downloads-release-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.downloads-release-actions a,
.downloads-release-actions button {
  border: 1px solid var(--downloads-line);
  background: rgba(15, 15, 23, 0.84);
  color: #fff;
  text-decoration: none;
  padding: 8px 12px;
  font: inherit;
  cursor: pointer;
}

.downloads-release-actions a.primary {
  border-color: rgba(252, 5, 83, 0.82);
  background: linear-gradient(125deg, rgba(56, 12, 29, 0.95), rgba(30, 11, 17, 0.95));
}

.downloads-release-actions a:hover,
.downloads-release-actions button:hover {
  border-color: rgba(252, 5, 83, 0.82);
}

.downloads-note-line {
  margin: 0;
  color: #f7d3df;
  line-height: 1.45;
}

.downloads-changelog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.downloads-changelog-block {
  border: 1px solid var(--downloads-line);
  background: rgba(10, 11, 18, 0.7);
  padding: 10px;
}

.downloads-changelog-block h3 {
  margin: 0 0 8px;
  font-size: 0.83rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.downloads-changelog-block ul {
  margin: 0;
  padding-left: 16px;
  display: grid;
  gap: 5px;
}

.downloads-release-list {
  display: grid;
  gap: 8px;
  border-left: 1px dashed rgba(255, 255, 255, 0.18);
  padding-left: 14px;
}

.downloads-release-item {
  border: 1px solid var(--downloads-line);
  background: rgba(9, 10, 18, 0.48);
  padding: 10px;
  display: grid;
  gap: 8px;
}

.downloads-release-item p {
  margin: 0;
  color: var(--downloads-dim);
}

.downloads-release-item a {
  width: fit-content;
  color: var(--downloads-text);
  text-decoration: none;
  border: 1px solid var(--downloads-line);
  background: rgba(17, 17, 25, 0.82);
  padding: 6px 10px;
}

.downloads-empty {
  margin: 0;
  color: var(--downloads-dim);
  line-height: 1.5;
}

.downloads-changelog-timeline {
  position: relative;
  display: grid;
  gap: 18px;
  padding: 4px 0 6px 28px;
}

.downloads-changelog-timeline::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: linear-gradient(180deg, rgba(252, 5, 83, 0.82), rgba(116, 168, 255, 0.28));
}

.downloads-timeline-item {
  position: relative;
  display: grid;
  gap: 8px;
}

.downloads-timeline-dot {
  position: absolute;
  left: -27px;
  top: 20px;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.72);
  background: var(--downloads-accent);
  box-shadow: 0 0 0 5px rgba(252, 5, 83, 0.12), 0 0 16px rgba(252, 5, 83, 0.34);
}

.downloads-timeline-card {
  border: 1px solid var(--downloads-line);
  background: rgba(9, 10, 18, 0.54);
  padding: 14px;
  display: grid;
  gap: 11px;
}

.downloads-timeline-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}

.downloads-timeline-head h3 {
  margin: 3px 0 0;
  font-family: "Antonio", sans-serif;
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  letter-spacing: 0.06em;
}

.downloads-timeline-head time {
  color: var(--downloads-dim);
  font-size: 0.84rem;
  white-space: nowrap;
}

.downloads-timeline-tags,
.downloads-timeline-files {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.downloads-timeline-tags span {
  border: 1px solid var(--downloads-line);
  background: rgba(255, 255, 255, 0.055);
  color: var(--downloads-dim);
  padding: 4px 7px;
  font-size: 0.76rem;
}

.downloads-timeline-section {
  display: grid;
  gap: 7px;
}

.downloads-timeline-section h4 {
  margin: 0;
  color: var(--downloads-text);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-size: 0.76rem;
}

.downloads-timeline-section ul {
  margin: 0;
  padding-left: 18px;
  color: var(--downloads-dim);
  line-height: 1.5;
}

.downloads-timeline-files {
  padding-top: 2px;
}

.downloads-timeline-files a {
  border: 1px solid var(--downloads-line);
  background: rgba(15, 15, 23, 0.84);
  color: var(--downloads-text);
  text-decoration: none;
  padding: 7px 10px;
  font-size: 0.82rem;
}

.downloads-timeline-files a:hover {
  border-color: rgba(252, 5, 83, 0.82);
}

@keyframes downloads-frame-pulse {
  0%, 100% { transform: translateY(0); opacity: 0.72; }
  50% { transform: translateY(1px); opacity: 1; }
}

@keyframes downloads-block-stream {
  0% { transform: translateX(0); opacity: 0.2; }
  35% { opacity: 0.95; }
  100% { transform: translateX(56px); opacity: 0.1; }
}

@keyframes downloads-arrow-drop {
  0%, 100% { transform: translateY(0); opacity: 0.66; }
  50% { transform: translateY(4px); opacity: 1; }
}

@keyframes downloads-core-pulse {
  0%, 100% { opacity: 0.62; }
  50% { opacity: 1; }
}

@media (max-width: 860px) {
  .downloads-filter-grid {
    grid-template-columns: 1fr;
  }

  .downloads-changelog-grid {
    grid-template-columns: 1fr;
  }

  .downloads-timeline-head {
    display: grid;
  }

  .downloads-timeline-head time {
    white-space: normal;
  }

  .downloads-mod-rail {
    grid-auto-columns: minmax(172px, 210px);
  }

  .downloads-head {
    padding-right: 0;
  }

  .downloads-ornament {
    width: 84px;
    height: 72px;
    top: 6px;
    opacity: 0.7;
  }
}

@media (max-width: 620px) {
  .downloads-shell {
    width: min(1160px, calc(100% - 18px));
  }

  .downloads-version-input-row {
    grid-template-columns: 1fr;
  }
}
