.releases-update-hero {
  --releases-hero-bg: #050507;
  --releases-motion-primary: #ff7d66;
  --releases-motion-accent: #70dced;
  --releases-hero-ink: #f8f7f4;
  --releases-hero-muted: #a7a6b1;
  --releases-hero-line: #25252d;
  min-height: clamp(530px, 62svh, 650px);
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--releases-hero-line);
  background: var(--releases-hero-bg);
  color: var(--releases-hero-ink);
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease;
}

.releases-update-hero-inner {
  padding: 66px 0 74px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.65fr);
  align-items: end;
  gap: 80px;
}

.releases-update-hero h1,
.release-detail-copy h1,
.release-detail-empty h1 {
  margin: 0;
  font-size: clamp(4rem, 7.5vw, 8rem);
  line-height: 0.84;
  font-weight: 950;
}

.releases-update-hero h1 span {
  color: var(--releases-motion-primary);
}

.releases-update-hero h1 .release-motion-wave {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}

.release-motion-wave-letter {
  display: inline-block;
  transform-origin: 50% 100%;
}

.release-motion-wave-space {
  width: 0.24em;
  flex: 0 0 0.24em;
}

.release-motion-wave.is-waving .release-motion-wave-letter {
  animation: release-title-tidal-wave 920ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
  animation-delay: calc(140ms + (var(--wave-index) * 72ms));
}

@keyframes release-title-tidal-wave {
  0%, 10%, 100% {
    color: var(--releases-motion-primary);
    transform: translateY(0);
  }
  44% {
    color: var(--releases-motion-accent);
    transform: translateY(-0.2em);
  }
}

.releases-update-hero-side > p {
  margin: 0 0 30px;
  color: var(--releases-hero-muted);
  font-size: 1rem;
  line-height: 1.6;
}

.releases-update-stats {
  margin-bottom: 28px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--releases-hero-line);
}

.releases-update-stats div {
  min-height: 88px;
  padding: 15px 12px 0 0;
}

.releases-update-stats strong,
.releases-update-stats span {
  display: block;
}

.releases-update-stats strong {
  font-size: 1.7rem;
}

.releases-update-stats span {
  margin-top: 4px;
  color: var(--releases-hero-muted);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.releases-directory {
  min-height: 720px;
  padding: 105px 0 128px;
  background: #fff;
  color: #0b0b0e;
}

.releases-directory > .preview-section-inner {
  width: min(calc(100% - 40px), 1460px);
}

body.has-guided-builder-open {
  overflow: hidden;
}

.releases-builder-dialog {
  width: min(calc(100vw - 42px), 1540px);
  max-width: none;
  height: min(calc(100dvh - 42px), 1040px);
  max-height: none;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(15, 15, 20, 0.34);
  border-radius: 28px;
  background: #fff;
  color: #111116;
  box-shadow: 0 38px 120px rgba(9, 7, 13, 0.42);
}

.releases-builder-dialog::backdrop {
  background: rgba(11, 9, 15, 0.72);
  backdrop-filter: blur(12px);
}

.releases-builder-dialog-shell {
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.releases-builder-dialog-header {
  min-height: 96px;
  padding: 18px 22px 18px 26px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid #ded9d1;
  background:
    linear-gradient(90deg, rgba(140, 98, 246, 0.12), rgba(223, 255, 98, 0.16) 58%, #fff 100%),
    #fff;
}

.releases-builder-dialog-header span {
  display: block;
  margin-bottom: 4px;
  color: #6844d8;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.releases-builder-dialog-header h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.2vw, 2.15rem);
  line-height: 1;
}

.releases-builder-dialog-header p {
  margin: 7px 0 0;
  color: #625e67;
  font-size: 0.76rem;
  line-height: 1.45;
}

.releases-builder-dialog-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.releases-builder-dialog-actions a {
  min-height: 42px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #1a191e;
  border-radius: 999px;
  background: #0d0d12;
  color: #fff;
  font-size: 0.74rem;
  font-weight: 900;
  text-decoration: none;
}

.releases-builder-dialog-actions button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #c8c3ba;
  border-radius: 50%;
  background: #fff;
  color: #111116;
  cursor: pointer;
  font-size: 1.7rem;
  line-height: 1;
}

.releases-builder-dialog-actions a:hover,
.releases-builder-dialog-actions a:focus-visible {
  background: #6844d8;
  outline: none;
}

.releases-builder-dialog-actions button:hover,
.releases-builder-dialog-actions button:focus-visible {
  border-color: #6844d8;
  background: #dfff62;
  outline: 3px solid rgba(140, 98, 246, 0.24);
  outline-offset: 2px;
}

.releases-builder-dialog-body {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background: #fff;
}

.releases-builder-dialog-loading {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  place-items: center;
  background: #f4f1eb;
  color: #6844d8;
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.releases-builder-dialog iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  background: #fff;
}

.releases-directory .preview-eyebrow {
  color: #7343bf;
}

.releases-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
}

.releases-toolbar h2,
.releases-public-layout h2,
.release-detail-track-layout h2,
.release-production-layout h2 {
  margin: 0;
  font-size: clamp(3rem, 5.5vw, 6rem);
  line-height: 0.9;
  font-weight: 950;
}

.releases-search {
  position: relative;
  width: min(360px, 36vw);
}

.releases-search input {
  width: 100%;
  height: 46px;
  padding: 0 50px 0 15px;
  border: 1px solid #afada8;
  border-radius: 6px;
  background: #fff;
  color: #0b0b0e;
  outline: 0;
}

.releases-search input:focus {
  border-color: var(--violet);
  box-shadow: 0 0 0 3px rgba(154, 92, 255, 0.22);
}

.releases-search input::-webkit-search-cancel-button {
  display: none;
}

.releases-search-clear {
  position: absolute;
  top: 50%;
  right: 9px;
  width: 30px;
  height: 30px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #0d0d10;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-50%);
}

.releases-search-clear[hidden] { display: none; }
.releases-search-clear:hover { background: #3b3a40; }
.releases-search-clear:focus-visible { outline: 3px solid #8351d5; outline-offset: 2px; }

.releases-filter-row {
  margin: 42px 0 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.releases-filter-row button {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid #aaa8a3;
  border-radius: 6px;
  background: transparent;
  color: #2c2b2f;
  font-size: 0.75rem;
  font-weight: 850;
  cursor: pointer;
}

.releases-filter-row button[aria-pressed="true"] {
  border-color: #0d0d10;
  background: #0d0d10;
  color: #fff;
}

.releases-filter-row span {
  margin-left: 5px;
  color: #78767c;
}

.releases-filter-row button.has-priority-alert {
  border-color: #c41230;
  background: #fff0f3;
  color: #a30f29;
  box-shadow: 0 0 0 3px rgba(196, 18, 48, 0.1);
}

.releases-filter-row button.has-priority-alert span { color: #a30f29; }

.releases-filter-row button.has-priority-alert:hover {
  border-color: #9f0d27;
  background: #ffe2e8;
  color: #880b21;
}

.releases-filter-row button.has-priority-alert[aria-pressed="true"] {
  border-color: #c41230;
  background: #c41230;
  color: #fff;
  box-shadow: 0 0 0 4px rgba(196, 18, 48, 0.16);
}

.releases-filter-row button.has-priority-alert[aria-pressed="true"] span { color: #fff; }
.releases-filter-row button.has-priority-alert:focus-visible { outline: 3px solid #d9233f; outline-offset: 2px; }

.releases-status-line {
  min-height: 28px;
  color: #6f6d73;
  font-size: 0.78rem;
}

.releases-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 18px;
}

.release-update-card {
  min-width: 0;
}

.release-update-cover {
  position: relative;
  overflow: hidden;
  display: block;
  aspect-ratio: 1;
  border: 1px solid #c6c3bd;
  border-radius: 14px;
  background: #d9d6d0;
  color: inherit;
  text-decoration: none;
}

.release-update-review-cover { transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.release-update-review-cover:hover { border-color: #55525a; box-shadow: 0 10px 24px rgba(25, 22, 28, 0.14); transform: translateY(-2px); }
.release-update-review-cover:focus-visible { outline: 3px solid #8351d5; outline-offset: 3px; }

.release-update-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.release-update-cover-fallback {
  width: 100%;
  height: 100%;
  padding: 20px;
  display: flex;
  align-items: end;
  background: #d6ff56;
  color: #12130e;
  font-size: 1.6rem;
  font-weight: 950;
}

.release-update-card:nth-child(3n + 2) .release-update-cover-fallback { background: #62d9ed; }
.release-update-card:nth-child(3n + 3) .release-update-cover-fallback { background: #ff775f; }

.release-update-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  min-height: 25px;
  padding: 0 9px;
  display: inline-flex;
  align-items: center;
  border-radius: 4px;
  background: #0a0a0e;
  color: #fff;
  font-size: 0.63rem;
  font-weight: 950;
  text-transform: uppercase;
}

.release-update-badge.live { background: #d9ff58; color: #10120a; }
.release-update-badge.building { background: #9a5cff; color: #100918; }
.release-update-badge.private { background: #d8d9dd; color: #2a2c31; }
.release-update-badge.review { background: #ffbb57; color: #1a1004; }
.release-update-badge.taken_down {
  background: #d9233f;
  color: #fff;
  box-shadow: 0 5px 14px rgba(178, 20, 45, 0.28);
}
.release-update-badge.archived { background: #77747b; color: #fff; }

.release-new-card {
  align-self: start;
  justify-self: stretch;
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 0;
  color: #151419;
  text-decoration: none;
}

.release-new-card-panel {
  width: 100%;
  min-height: 0;
  box-sizing: border-box;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  aspect-ratio: 1;
  border: 1px dashed #8f8c87;
  border-radius: 14px;
  background: #fff;
  text-align: center;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.release-new-card:hover .release-new-card-panel,
.release-new-card:focus-visible .release-new-card-panel {
  border-color: #111217;
  background: #d9ff58;
  transform: translateY(-3px);
}

.release-new-card:focus-visible { outline: 3px solid #8351d5; outline-offset: 4px; }

.release-new-card-plus {
  position: relative;
  flex: 0 0 auto;
  width: 86px;
  height: 86px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #111217;
}

.release-new-card-plus::before,
.release-new-card-plus::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 34px;
  height: 6px;
  border-radius: 999px;
  background: #fff;
  content: "";
  transform: translate(-50%, -50%);
}

.release-new-card-plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.release-new-card strong { margin-top: 22px; font-size: 1.2rem; }
.release-new-card-panel > span:last-child {
  max-width: 210px;
  min-height: 2.3em;
  margin-top: 10px;
  color: #656269;
  font-size: 0.76rem;
  line-height: 1.5;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.release-new-card:hover .release-new-card-panel > span:last-child,
.release-new-card:focus-visible .release-new-card-panel > span:last-child {
  opacity: 1;
  transform: translateY(0);
}

.release-update-title-row {
  position: relative;
  margin-top: 16px;
  display: flex;
  align-items: flex-start;
  gap: 7px;
}

.release-update-card h3 {
  min-width: 0;
  margin: 0 0 5px;
  flex: 1;
  overflow: hidden;
  font-size: 1.15rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.release-update-title-link { color: inherit; text-decoration: none; }
.release-update-title-link:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.release-update-title-link:focus-visible { outline: 3px solid #8351d5; outline-offset: 2px; }

.release-update-card-control {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #aaa8a3;
  border-radius: 50%;
  background: transparent;
  color: #17161a;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 950;
  line-height: 1;
}

.release-update-card-control:hover,
.release-update-card-control[aria-expanded="true"] { border-color: #111217; background: #111217; color: #fff; }
.release-update-card-control:focus-visible { outline: 3px solid #8351d5; outline-offset: 2px; }

.release-update-info-control.has-priority-notice {
  border-color: #c41230;
  background: #c41230;
  color: #fff;
  box-shadow: 0 0 0 3px rgba(196, 18, 48, 0.14);
}

.release-update-info-control.has-priority-notice:hover,
.release-update-info-control.has-priority-notice[aria-expanded="true"] {
  border-color: #9f0d27;
  background: #9f0d27;
  color: #fff;
}

.release-update-info-control.has-priority-notice:focus-visible { outline-color: #d9233f; }

.release-update-archive-warning {
  position: relative;
  width: 30px;
  height: 28px;
  flex: 0 0 30px;
  display: inline-grid;
  place-items: end center;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: #c41230;
  color: #fff;
  filter: drop-shadow(0 3px 5px rgba(125, 8, 30, 0.24));
}

.release-update-archive-warning > span {
  padding-bottom: 3px;
  font-size: 0.78rem;
  font-weight: 950;
  line-height: 1;
}

.release-update-archive-warning.is-urgent {
  background: #e21f3d;
  filter: drop-shadow(0 0 5px rgba(196, 18, 48, 0.48));
}

.release-update-archive-warning.is-expired { background: #646168; }

.release-update-menu-shell { position: relative; flex: 0 0 30px; }

.release-update-menu {
  position: absolute;
  z-index: 12;
  top: 38px;
  right: 0;
  width: min(240px, 76vw);
  padding: 8px;
  border: 2px solid #0b0b0d;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 18px 44px rgba(30, 27, 22, 0.2);
}

.release-update-menu[hidden] { display: none; }
.release-update-menu a,
.release-update-menu button {
  width: 100%;
  min-height: 40px;
  padding: 0 11px;
  display: flex;
  align-items: center;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #16171b;
  cursor: pointer;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 850;
  text-align: left;
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease;
}

.release-update-menu a:hover,
.release-update-menu button:hover,
.release-update-menu a:focus-visible,
.release-update-menu button:focus-visible {
  outline: none;
  background: #050506;
  color: #fff;
}
.release-update-menu .danger { color: #c41230; }
.release-update-menu .danger:hover,
.release-update-menu .danger:focus-visible { background: #8f1028; color: #fff; }
.release-update-menu .restore { color: #217a52; }
.release-update-menu .restore:hover,
.release-update-menu .restore:focus-visible { background: #217a52; color: #fff; }
.release-update-menu .dispute { color: #8f1028; }
.release-update-menu .dispute:hover,
.release-update-menu .dispute:focus-visible { background: #8f1028; color: #fff; }
.release-update-menu button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.release-dispute-dialog {
  width: min(calc(100vw - 32px), 670px);
  max-width: none;
  padding: 0;
  border: 1px solid #2b272f;
  border-radius: 26px;
  background: #111116;
  color: #fff;
  box-shadow: 0 38px 110px rgba(5, 4, 8, 0.54);
}

.release-dispute-dialog::backdrop {
  background: rgba(7, 5, 10, 0.76);
  backdrop-filter: blur(10px);
}

.release-dispute-dialog-card {
  display: grid;
  gap: 18px;
  padding: 28px;
}

.release-dispute-dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.release-dispute-dialog-head span {
  display: block;
  margin-bottom: 7px;
  color: #9c70ff;
  font-size: 0.67rem;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.release-dispute-dialog-head h2 {
  margin: 0;
  font-size: clamp(1.8rem, 5vw, 3rem);
  line-height: 1;
}

.release-dispute-dialog-head > button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  padding: 0;
  border: 1px solid #4d4853;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  cursor: pointer;
  font-size: 1.7rem;
}

.release-dispute-dialog-head > button:hover,
.release-dispute-dialog-head > button:focus-visible {
  border-color: #dfff62;
  background: #dfff62;
  color: #111116;
  outline: none;
}

.release-dispute-decision {
  padding: 16px 17px;
  border-left: 5px solid #e43d49;
  border-radius: 8px;
  background: #3b0f15;
}

.release-dispute-decision strong { display: block; color: #fff; }
.release-dispute-decision p { margin: 6px 0 0; color: #ffd7da; line-height: 1.5; }
.release-dispute-decision small { display: block; margin-top: 10px; color: #ff9ca4; }
.release-dispute-dialog-card > label { font-weight: 900; }

.release-dispute-dialog textarea {
  min-height: 150px;
  padding: 15px 16px;
  border: 1px solid #716b78;
  border-radius: 12px;
  background: #fff;
  color: #111116;
  font: inherit;
  line-height: 1.5;
  resize: vertical;
}

.release-dispute-dialog textarea:focus {
  border-color: #9c70ff;
  outline: 3px solid rgba(156, 112, 255, 0.28);
}

.release-dispute-helper {
  min-height: 1.4em;
  margin: -7px 0 0;
  color: #aaa6b2;
  line-height: 1.45;
}

.release-dispute-helper.is-error { color: #ff9ca4; font-weight: 800; }
.release-dispute-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; }

.release-dispute-dialog-actions button {
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid #4d4853;
  border-radius: 9px;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.release-dispute-dialog-actions .secondary { background: transparent; color: #fff; }
.release-dispute-dialog-actions .primary { border-color: #dfff62; background: #dfff62; color: #111116; }
.release-dispute-dialog-actions button:disabled { cursor: wait; opacity: 0.6; }

.release-update-info-panel {
  margin-top: 12px;
  padding: 12px 13px;
  border-left: 3px solid #8351d5;
  background: #e6e2ea;
  color: #4d4a52;
  font-size: 0.72rem;
  line-height: 1.5;
}

.release-update-info-panel[hidden] { display: none; }
.release-update-info-panel strong { display: block; margin-bottom: 4px; color: #17161a; font-size: 0.69rem; text-transform: uppercase; }

.release-update-info-panel.live {
  border-left-color: #9abf00;
  background: #eef6cd;
  color: #4c581c;
}

.release-update-info-panel.live strong { color: #455a00; }

.release-update-info-panel.building {
  border-left-color: #7c4ce0;
  background: #eee5fb;
  color: #56456f;
}

.release-update-info-panel.building strong { color: #542a9b; }

.release-update-info-panel.private {
  border-left-color: #18191f;
  background: #e7e7e9;
  color: #44444a;
}

.release-update-info-panel.private strong { color: #17181d; }

.release-update-info-panel.review {
  border-left-color: #d48011;
  background: #f9ecd8;
  color: #6b4b1c;
}

.release-update-info-panel.review strong { color: #885300; }

.release-update-info-panel.taken_down {
  border-left-color: #d9233f;
  background: #f7e1e5;
  color: #6c333b;
}

.release-update-info-panel.taken_down strong { color: #9d182d; }

.release-update-info-panel.archived {
  border-left-color: #77747b;
  background: #e8e7e8;
  color: #545158;
}

.release-update-info-panel.archived strong { color: #424047; }

.release-update-meta,
.release-update-submeta {
  overflow: hidden;
  color: #69676d;
  font-size: 0.75rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.release-update-submeta {
  margin-top: 5px;
  color: #85838a;
}

.release-update-archive-countdown {
  margin-top: 11px;
  padding: 10px 11px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 3px 9px;
  border-left: 4px solid #c41230;
  border-radius: 0 8px 8px 0;
  background: #f7e3e7;
  color: #7d1326;
  font-size: 0.7rem;
  line-height: 1.35;
}

.release-update-archive-countdown strong {
  color: #9e112a;
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.release-update-archive-countdown > span {
  overflow: hidden;
  font-weight: 900;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.release-update-archive-countdown small {
  grid-column: 1 / -1;
  color: #835a62;
  font-size: 0.62rem;
  text-align: right;
}

.release-update-archive-countdown.is-urgent {
  border-left-color: #e21f3d;
  background: #c41230;
  color: #fff;
  box-shadow: 0 7px 18px rgba(154, 11, 38, 0.18);
}

.release-update-archive-countdown.is-urgent strong,
.release-update-archive-countdown.is-urgent small { color: #fff; }
.release-update-archive-countdown.is-expired { border-left-color: #646168; background: #ebe9ec; color: #555158; }
.release-update-archive-countdown.is-expired strong,
.release-update-archive-countdown.is-expired small { color: #555158; }

.release-archive-expiry-alert {
  position: fixed;
  z-index: 90;
  top: 92px;
  right: 24px;
  width: min(520px, calc(100vw - 48px));
  min-height: 92px;
  padding: 15px 52px 15px 16px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  border: 1px solid #c41230;
  border-left-width: 6px;
  border-radius: 18px;
  background: #fff;
  color: #151419;
  box-shadow: 0 22px 54px rgba(50, 12, 22, 0.25);
  opacity: 0;
  transform: translateX(calc(100% + 42px));
  transition: opacity 220ms ease, transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.release-archive-expiry-alert[hidden] { display: none; }
.release-archive-expiry-alert.is-visible { opacity: 1; transform: translateX(0); }

.release-archive-expiry-alert-icon {
  width: 40px;
  height: 38px;
  display: grid;
  place-items: end center;
  padding-bottom: 5px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: #c41230;
  color: #fff;
  font-size: 1rem;
  font-weight: 950;
  line-height: 1;
}

.release-archive-expiry-alert-copy { min-width: 0; }
.release-archive-expiry-alert-copy strong,
.release-archive-expiry-alert-copy span { display: block; }
.release-archive-expiry-alert-copy strong { color: #a30f28; font-size: 0.82rem; }
.release-archive-expiry-alert-copy span { margin-top: 4px; color: #5f5558; font-size: 0.72rem; line-height: 1.4; }
.release-archive-expiry-alert-copy b { color: #1a1719; }

.release-archive-expiry-alert-view {
  min-height: 38px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: #111217;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 900;
  white-space: nowrap;
}

.release-archive-expiry-alert-view:hover { background: #c41230; }
.release-archive-expiry-alert-view:focus-visible,
.release-archive-expiry-alert-close:focus-visible { outline: 3px solid #8351d5; outline-offset: 2px; }

.release-archive-expiry-alert-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid #c9c5c7;
  border-radius: 50%;
  background: #fff;
  color: #2d292c;
  cursor: pointer;
  font: inherit;
  font-size: 1rem;
  line-height: 1;
}

.release-archive-expiry-alert-close:hover { border-color: #c41230; background: #c41230; color: #fff; }

.release-update-artist {
  padding: 0;
  border: 0;
  background: transparent;
  color: #7343bf;
  cursor: pointer;
  font: inherit;
  font-weight: 750;
  text-decoration: none;
}

.release-update-artist:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.release-update-artist:focus-visible {
  border-radius: 3px;
  outline: 3px solid #8351d5;
  outline-offset: 2px;
}

.releases-empty {
  min-height: 460px;
  padding: 60px 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  border-top: 2px solid #151519;
}

.releases-empty > span {
  color: #7343bf;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.releases-empty h3 {
  max-width: 780px;
  margin: 24px 0 14px;
  font-size: clamp(3rem, 6vw, 6.8rem);
  line-height: 0.9;
}

.releases-empty p {
  max-width: 580px;
  margin: 0 0 28px;
  color: #66646a;
  line-height: 1.6;
}

.releases-empty[hidden],
.releases-pagination[hidden],
.releases-pagination-controls[hidden] {
  display: none;
}

.releases-pagination {
  margin-top: 54px;
  padding-top: 22px;
  border-top: 1px solid #d6d3cc;
}

.releases-pagination > p {
  margin: 0 0 16px;
  color: #68666c;
  font-size: 0.76rem;
  line-height: 1.45;
}

.releases-pagination-actions,
.releases-pagination-controls,
.releases-pagination-pages,
.releases-page-size {
  display: flex;
  align-items: center;
}

.releases-pagination-actions {
  justify-content: space-between;
  gap: 18px;
}

.releases-pagination-controls,
.releases-pagination-pages {
  gap: 7px;
}

.releases-pagination button,
.releases-page-size select {
  min-width: 38px;
  min-height: 38px;
  border: 1px solid #aaa8a3;
  border-radius: 999px;
  background: #fff;
  color: #242329;
  cursor: pointer;
  font: inherit;
  font-size: 0.74rem;
  font-weight: 850;
}

.releases-pagination-controls > button {
  padding: 0 14px;
}

.releases-pagination-pages button[aria-current="page"] {
  border-color: #111115;
  background: #111115;
  color: #fff;
}

.releases-pagination button:hover:not(:disabled),
.releases-pagination button:focus-visible,
.releases-page-size select:focus-visible {
  border-color: #7343bf;
  outline: 3px solid rgba(115, 67, 191, 0.2);
  outline-offset: 1px;
}

.releases-pagination button:disabled {
  cursor: default;
  opacity: 0.4;
}

.releases-pagination-ellipsis {
  min-width: 20px;
  color: #77747b;
  text-align: center;
}

.releases-page-size {
  gap: 7px;
  color: #55535a;
  font-size: 0.74rem;
  font-weight: 800;
  white-space: nowrap;
}

.releases-page-size select {
  min-width: 62px;
  padding: 0 30px 0 13px;
}

.releases-public-band {
  padding: 118px 0 134px;
  background: var(--violet);
  color: #0d0814;
}

.releases-public-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(520px, 1.14fr);
  align-items: center;
  gap: 68px;
}

.releases-public-copy {
  --release-process-accent: #f8f4ff;
  --release-process-kicker: #321d50;
  min-height: var(--release-process-copy-height, 0);
}

.releases-public-copy[data-release-process-step="public"] {
  --release-process-accent: var(--lime);
  --release-process-kicker: #4f5915;
}

.releases-public-copy[data-release-process-step="loved"] {
  --release-process-accent: #ff9dc8;
  --release-process-kicker: #6b2253;
}

.releases-public-layout .preview-eyebrow {
  color: var(--release-process-kicker);
  transition: color 280ms ease, opacity 180ms ease, transform 280ms ease;
}

.releases-public-layout .preview-eyebrow [data-release-process-number] {
  display: inline-grid;
  min-width: 2.2em;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  line-height: 1.65;
}

.releases-public-layout h2 {
  min-height: var(--release-process-heading-height, 0);
  margin-top: 18px;
}

.releases-process-main,
.releases-process-accent {
  display: block;
}

.releases-process-main {
  color: #0d0814;
  transition: opacity 180ms ease, filter 220ms ease, transform 260ms ease;
}

.releases-process-accent {
  overflow: hidden;
  color: var(--release-process-accent);
  clip-path: inset(0 0 0 0);
  transform-origin: top left;
  transition:
    clip-path 520ms cubic-bezier(0.2, 0.78, 0.2, 1),
    color 280ms ease,
    opacity 300ms ease,
    transform 520ms cubic-bezier(0.2, 0.78, 0.2, 1);
}

.releases-process-description {
  max-width: 620px;
  min-height: var(--release-process-description-height, 0);
  margin: 28px 0;
  color: #281638;
  font-weight: 520;
  line-height: 1.6;
  transition: opacity 340ms ease, transform 420ms cubic-bezier(0.2, 0.78, 0.2, 1);
}

.releases-public-copy.is-animated .releases-process-accent {
  clip-path: inset(0 0 100% 0);
  opacity: 0;
  transform: translateY(-0.16em) scaleY(0.35);
}

.releases-public-copy.is-animated .releases-process-description {
  opacity: 0;
  transform: translateY(20px);
}

.releases-public-copy.is-animated.is-accent-visible .releases-process-accent {
  clip-path: inset(0 0 0 0);
  opacity: 1;
  transform: translateY(0) scaleY(1);
}

.releases-public-copy.is-animated.is-description-visible .releases-process-description {
  opacity: 1;
  transform: translateY(0);
}

.releases-public-copy.is-switching .preview-eyebrow,
.releases-public-copy.is-switching .releases-process-main {
  opacity: 0;
  filter: blur(4px);
  transform: translateY(-14px);
}

.releases-public-copy.is-typing .releases-process-main::after {
  display: inline-block;
  width: 0.08em;
  height: 0.78em;
  margin-left: 0.08em;
  background: currentColor;
  content: "";
  animation: releases-process-caret 620ms steps(1, end) infinite;
  vertical-align: -0.03em;
}

.releases-public-copy-measure {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: var(--release-process-measure-width);
  min-height: 0 !important;
  visibility: hidden;
  pointer-events: none;
}

.releases-public-copy-measure .releases-process-main,
.releases-public-copy-measure .releases-process-accent,
.releases-public-copy-measure .releases-process-description {
  min-height: 0 !important;
  clip-path: none;
  opacity: 1;
  filter: none;
  transform: none;
  transition: none;
}

.releases-public-copy-measure h2 {
  min-height: 0 !important;
}

.releases-journey {
  position: relative;
  isolation: isolate;
  width: min(100%, 640px);
  min-height: 470px;
  margin: 0 auto;
}

.releases-journey-path {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.releases-journey-path path {
  fill: none;
  stroke: rgba(17, 10, 27, 0.52);
  stroke-dasharray: 7 11;
  stroke-linecap: round;
  stroke-width: 3;
}

.releases-journey.is-running .releases-journey-path path { animation: releases-journey-path-flow 7.2s linear both; }
.releases-journey.is-finished .releases-journey-path path { stroke-dashoffset: -96; }

.releases-journey-path circle {
  fill: var(--lime);
  opacity: 0.72;
  stroke: #100b17;
  stroke-width: 4;
  filter: drop-shadow(0 0 12px rgba(217, 255, 88, 0.72));
  transition: opacity 240ms ease;
}

.releases-journey.is-running .releases-journey-path circle { opacity: 1; }
.releases-journey.is-finished .releases-journey-path circle { opacity: 0; }

.releases-journey-stage {
  position: absolute;
  --journey-stage-accent: #9d76ff;
  width: 196px;
  color: #110a19;
  text-align: center;
}

.releases-journey-stage.stage-private { top: 224px; left: 0; --journey-stage-accent: #9d76ff; }
.releases-journey-stage.stage-public { top: 28px; left: 50%; --journey-stage-accent: #fff; transform: translateX(-50%); }
.releases-journey-stage.stage-loved { top: 224px; right: 0; --journey-stage-accent: var(--lime); }

.releases-journey-cover {
  position: relative;
  overflow: visible;
  width: 178px;
  aspect-ratio: 1;
  margin: 0 auto;
  border: 7px solid rgba(20, 10, 30, 0.5);
  border-radius: 50%;
  background: #1a1222;
  box-shadow: 0 22px 50px rgba(24, 11, 34, 0.28);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.releases-journey-cover::before {
  position: absolute;
  z-index: -1;
  inset: -14px;
  border: 3px solid var(--journey-stage-accent);
  border-radius: 50%;
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: scale(0.94);
}

.releases-journey-stage.is-reached .releases-journey-cover {
  border-color: var(--journey-stage-accent);
  box-shadow: 0 0 0 10px color-mix(in srgb, var(--journey-stage-accent) 18%, transparent), 0 22px 55px rgba(24, 11, 34, 0.32);
}

.releases-journey-stage.is-current .releases-journey-cover { animation: releases-journey-stage-focus 620ms ease-in-out infinite alternate; }
.releases-journey-stage.is-current .releases-journey-cover::before { animation: releases-journey-ring-travel 760ms ease-out infinite; }

.stage-public .releases-journey-cover {
  border-color: #fff;
  box-shadow: 0 0 0 12px rgba(255, 255, 255, 0.15), 0 22px 55px rgba(24, 11, 34, 0.32);
}

.stage-loved .releases-journey-cover {
  border-color: var(--lime);
  box-shadow: 0 0 0 12px rgba(217, 255, 88, 0.16), 0 22px 55px rgba(24, 11, 34, 0.3);
}

.stage-loved .releases-journey-cover::after {
  position: absolute;
  top: 5px;
  right: 3px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 3px solid #110a19;
  border-radius: 50%;
  background: #ff8fbe;
  color: #110a19;
  content: "\2665";
  font-size: 1.05rem;
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.18);
}

.stage-loved.is-complete .releases-journey-cover { animation: releases-loved-success 760ms cubic-bezier(0.2, 0.85, 0.3, 1.2) both; }
.stage-loved.is-complete .releases-journey-cover::after { animation: releases-loved-badge-pop 760ms cubic-bezier(0.2, 0.85, 0.3, 1.25) both; }

.releases-love-burst {
  position: absolute;
  z-index: 4;
  top: 89px;
  left: 50%;
  width: 0;
  height: 0;
  pointer-events: none;
}

.releases-love-burst i {
  position: absolute;
  top: 0;
  left: 0;
  color: #ff7892;
  font-size: 1.35rem;
  font-style: normal;
  line-height: 1;
  opacity: 0;
  text-shadow: 0 4px 12px rgba(31, 11, 35, 0.3);
  transform: translate(-50%, -50%) scale(0.25);
}

.releases-love-burst i:nth-child(even) { color: #fff; }
.stage-loved.is-complete .releases-love-burst i { animation: releases-love-burst 980ms cubic-bezier(0.2, 0.76, 0.28, 1) both; }
.stage-loved.is-complete .releases-love-burst i:nth-child(2) { animation-delay: 70ms; }
.stage-loved.is-complete .releases-love-burst i:nth-child(3) { animation-delay: 120ms; }
.stage-loved.is-complete .releases-love-burst i:nth-child(4) { animation-delay: 170ms; }
.stage-loved.is-complete .releases-love-burst i:nth-child(5) { animation-delay: 90ms; }
.stage-loved.is-complete .releases-love-burst i:nth-child(6) { animation-delay: 210ms; }

.releases-journey.is-paused .releases-journey-path path,
.releases-journey.is-paused .releases-journey-stage.is-current .releases-journey-cover,
.releases-journey.is-paused .releases-journey-stage.is-current .releases-journey-cover::before,
.releases-journey.is-paused .stage-loved.is-complete .releases-journey-cover,
.releases-journey.is-paused .stage-loved.is-complete .releases-journey-cover::after,
.releases-journey.is-paused .stage-loved.is-complete .releases-love-burst i {
  animation-play-state: paused !important;
}

.releases-journey-cover img,
.releases-journey-cover > span {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.releases-journey-cover img {
  display: block;
  object-fit: cover;
}

.releases-journey-cover img[hidden] { display: none; }
.releases-journey-cover > span[hidden] { display: none; }

.releases-journey-cover > span {
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 35% 28%, #a67fff, #25182f 72%);
  color: #fff;
  font-size: 2.2rem;
  font-weight: 950;
}

.stage-public .releases-journey-cover > span { background: radial-gradient(circle at 35% 28%, #71d9ea, #211a30 72%); }
.stage-loved .releases-journey-cover > span { background: radial-gradient(circle at 35% 28%, var(--lime), #402c55 72%); color: #120a18; }

.releases-journey-stage em,
.releases-journey-stage strong,
.releases-journey-stage small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.releases-journey-stage em {
  margin-top: 16px;
  color: #3b2450;
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.releases-journey-stage strong { margin-top: 6px; font-size: 1rem; }
.releases-journey-stage small { margin-top: 4px; color: #4d385e; font-size: 0.66rem; }

.releases-journey.is-empty .releases-journey-stage { opacity: 0.66; }

@keyframes releases-journey-path-flow {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: -96; }
}

@keyframes releases-process-caret {
  0%,
  48% { opacity: 1; }
  49%,
  100% { opacity: 0; }
}

@keyframes releases-journey-stage-focus {
  from { transform: scale(1); }
  to { transform: scale(1.045); }
}

@keyframes releases-journey-ring-travel {
  0% { opacity: 0.76; transform: scale(0.92); }
  100% { opacity: 0; transform: scale(1.2); }
}

@keyframes releases-loved-success {
  0% { transform: scale(1); }
  45% { transform: scale(1.11) rotate(-2deg); }
  72% { transform: scale(0.98) rotate(1deg); }
  100% { transform: scale(1); }
}

@keyframes releases-loved-badge-pop {
  0% { opacity: 0; transform: scale(0.25) rotate(-18deg); }
  58% { opacity: 1; transform: scale(1.28) rotate(8deg); }
  100% { opacity: 1; transform: scale(1) rotate(0); }
}

@keyframes releases-love-burst {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.25); }
  20% { opacity: 1; }
  72% { opacity: 1; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--heart-x)), calc(-50% + var(--heart-y))) scale(1.15) rotate(var(--heart-rotate)); }
}

.release-detail-empty {
  min-height: calc(100svh - var(--header-height));
  padding: 110px 0;
  display: flex;
  align-items: center;
  background: #050507;
}

.release-detail-empty p:not(.preview-eyebrow) { max-width: 620px; margin: 28px 0; color: #9c9ba6; line-height: 1.6; }

.release-detail-hero {
  min-height: clamp(650px, 78svh, 820px);
  display: flex;
  align-items: center;
  border-bottom: 1px solid #25252d;
  background: #050507;
}

.release-detail-hero-inner {
  padding: 70px 0 82px;
  display: grid;
  grid-template-columns: minmax(380px, 0.85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: 76px;
}

.release-detail-cover {
  position: relative;
  overflow: hidden;
  width: min(100%, 520px);
  aspect-ratio: 1;
  border: 1px solid #383841;
  border-radius: 6px;
  background: #17171d;
}

.release-detail-cover img,
.release-detail-cover-fallback { width: 100%; height: 100%; object-fit: cover; }
.release-detail-cover-fallback { padding: 28px; display: flex; align-items: end; background: var(--coral); color: #160b08; font-size: 3rem; font-weight: 950; }
.release-detail-cover > span { position: absolute; top: 15px; left: 15px; min-height: 28px; padding: 0 10px; display: inline-flex; align-items: center; border-radius: 4px; background: #0a0a0e; color: #fff; font-size: 0.66rem; font-weight: 950; text-transform: uppercase; }

.release-detail-status-row { margin-bottom: 25px; display: flex; flex-wrap: wrap; gap: 7px; }
.release-detail-status-row > span,
.release-detail-status-row > button { min-height: 30px; padding: 0 11px; display: inline-flex; align-items: center; border: 1px solid #393943; border-radius: 4px; background: transparent; color: #bbb9c4; font: inherit; font-size: 0.66rem; font-weight: 900; text-transform: uppercase; }
.release-detail-status-row > span:first-child { border-color: var(--mint); color: var(--mint); }
.release-detail-status-row > span.is-live { border-color: var(--lime); background: var(--lime); color: #090b05; }
.release-detail-status-row > span.is-takedown { border-color: #e43d49; background: #e43d49; color: #fff; box-shadow: 0 0 0 3px rgba(228, 61, 73, 0.18); }
.release-detail-status-row > span.is-private { border-color: #fff; background: #fff; color: #09090c; }
.release-content-advisory-badge { gap: 8px; cursor: pointer; border-color: #fff !important; background: #0b0b0e !important; color: #fff !important; }
.release-content-advisory-badge b { font-size: 0.66rem; }
.release-content-advisory-badge i { width: 17px; height: 17px; display: inline-grid; place-items: center; border: 1px solid #fff; border-radius: 50%; font-size: 0.6rem; font-style: normal; line-height: 1; text-transform: none; }
.release-content-advisory-badge:hover,
.release-content-advisory-badge:focus-visible { background: #fff !important; color: #09090c !important; outline: none; }
.release-content-advisory-badge:hover i,
.release-content-advisory-badge:focus-visible i { border-color: #09090c; }
.release-content-advisory-panel { max-width: 720px; margin: -14px 0 28px; padding: 18px 20px; border: 1px solid #fff; border-radius: 8px; background: #111116; color: #fff; box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28); }
.release-content-advisory-panel strong,
.release-content-advisory-panel small { display: block; }
.release-content-advisory-panel p { margin: 8px 0 0; color: #cfced6; line-height: 1.5; }
.release-content-advisory-panel ul { margin: 12px 0; padding-left: 18px; color: #fff; }
.release-content-advisory-panel li + li { margin-top: 5px; }
.release-content-advisory-panel small { color: #92919b; line-height: 1.45; }
.release-takedown-alert { max-width: 760px; margin: -6px 0 30px; padding: 20px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; border: 1px solid #ef6670; border-left: 7px solid #e43d49; border-radius: 8px; background: #3b0f15; color: #fff; box-shadow: 0 18px 48px rgba(116, 8, 20, 0.28); }
.release-takedown-alert > span { align-self: start; padding: 6px 8px; border-radius: 4px; background: #e43d49; color: #fff; font-size: 0.61rem; font-weight: 950; letter-spacing: 0.04em; text-transform: uppercase; }
.release-takedown-alert strong { display: block; font-size: 1rem; }
.release-takedown-alert p { margin: 7px 0 14px; color: #ffd7da; line-height: 1.5; }
.release-takedown-alert dl { margin: 0; display: grid; gap: 9px; }
.release-takedown-alert dl div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; }
.release-takedown-alert dt { color: #ff9ca4; font-size: 0.64rem; font-weight: 900; text-transform: uppercase; }
.release-takedown-alert dd { margin: 0; color: #fff; line-height: 1.45; }
.release-takedown-dispute {
  margin-top: 17px;
  padding-top: 15px;
  border-top: 1px solid rgba(255, 156, 164, 0.28);
}
.release-takedown-dispute p { margin: 0; }
.release-takedown-dispute button {
  min-height: 42px;
  margin-top: 13px;
  padding: 0 16px;
  border: 1px solid #dfff62;
  border-radius: 7px;
  background: #dfff62;
  color: #111116;
  cursor: pointer;
  font: inherit;
  font-weight: 950;
}
.release-takedown-dispute button:hover,
.release-takedown-dispute button:focus-visible { background: #fff; outline: none; }
.release-takedown-dispute button:disabled { cursor: wait; opacity: 0.62; }
.release-detail-copy h1 { font-size: clamp(3.7rem, 6vw, 7rem); }
.release-detail-artist { margin: 18px 0 0; color: var(--cyan); font-size: 1.25rem; font-weight: 850; }
.release-detail-summary { max-width: 730px; margin: 24px 0; color: #aaa9b4; line-height: 1.6; }
.release-detail-facts { margin: 32px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #35353e; }
.release-detail-facts div { min-height: 76px; padding: 14px 12px 0 0; }
.release-detail-facts strong,
.release-detail-facts span { display: block; }
.release-detail-facts strong { font-size: 1rem; }
.release-detail-facts span { margin-top: 4px; color: #777681; font-size: 0.66rem; text-transform: uppercase; }

.release-detail-track-band { padding: 116px 0 128px; background: #f1efe9; color: #0a0a0d; }
.release-detail-track-layout { display: grid; grid-template-columns: minmax(300px, 0.48fr) minmax(520px, 1.52fr); align-items: start; gap: clamp(112px, 8vw, 168px); }
.release-detail-track-layout .preview-eyebrow { color: #7343bf; }
.release-detail-track-layout > div:first-child { max-width: 360px; padding-right: 18px; }
.release-detail-track-layout > div:first-child > p:not(.preview-eyebrow) { color: #6b696f; line-height: 1.55; }
.release-detail-tracklist { min-width: 0; border-top: 2px solid #141418; }
.release-detail-track { min-height: 88px; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 18px; border-bottom: 1px solid #c1bfb9; }
.release-detail-track > .release-track-number { color: #77757b; font-size: 0.72rem; font-weight: 850; }
.release-track-main { min-width: 0; }
.release-detail-track strong { overflow: hidden; font-size: 0.96rem; text-overflow: ellipsis; white-space: nowrap; }
.release-detail-track small { color: #77757b; font-size: 0.7rem; }
.release-track-metrics { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 12px; }
.release-track-metric { display: inline-flex; align-items: center; gap: 5px; color: #66636b; font-size: 0.7rem; font-weight: 800; }
.release-track-metric b { color: #7343bf; font-size: 0.9rem; line-height: 1; }
.release-track-metric.views b { color: #218999; }
.release-track-metric.shares b { color: #c84f31; }
.sr-only { position: absolute !important; overflow: hidden !important; width: 1px !important; height: 1px !important; padding: 0 !important; border: 0 !important; margin: -1px !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; }

.release-detail-production { padding: 122px 0 136px; overflow: hidden; background: var(--lime); color: #0c0d08; }
.release-production-layout { display: grid; grid-template-columns: minmax(320px, 0.8fr) minmax(500px, 1.2fr); gap: 86px; }
.release-production-layout .preview-eyebrow { color: #59630f; }
.release-production-intro { min-width: 0; }
.release-momentum-art { position: relative; min-height: 680px; margin-top: 58px; display: grid; place-items: center; isolation: isolate; }
.release-momentum-fields { position: absolute; top: 47%; left: 50%; z-index: -2; width: min(106%, 470px); height: 390px; transform: translate(-50%, -50%); pointer-events: none; }
.release-momentum-fields i { position: absolute; top: 50%; left: 50%; display: block; border-radius: 50%; }
.release-momentum-fields .field-black { width: 94%; height: 72%; background: #0d0d12; box-shadow: 0 30px 65px rgba(13, 13, 18, 0.24); transform: translate(-52%, -51%) rotate(-9deg); }
.release-momentum-fields .field-purple { width: 78%; height: 68%; background: #8e60ff; box-shadow: 0 26px 54px rgba(92, 48, 184, 0.26); transform: translate(-44%, -45%) rotate(12deg); }
.release-momentum-art.is-motion-active .field-black { animation: release-momentum-field-black 8s ease-in-out infinite; }
.release-momentum-art.is-motion-active .field-purple { animation: release-momentum-field-purple 6.6s ease-in-out infinite; }
.release-momentum-signals { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.release-momentum-signal { position: absolute; min-width: 106px; min-height: 58px; padding: 8px 11px; display: flex; align-items: center; gap: 9px; border: 2px solid #0d0d12; border-radius: 18px; color: #0d0d12; font-style: normal; box-shadow: 0 14px 28px rgba(18, 20, 8, 0.18); transform: translate(var(--momentum-x, 0), var(--momentum-y, 0)) scale(var(--momentum-scale, 1)); transform-origin: center; transition: box-shadow 240ms ease, filter 240ms ease; will-change: transform; }
.release-momentum-signal-copy { min-width: 0; display: grid; gap: 2px; line-height: 1; }
.release-momentum-signal b,
.release-momentum-signal small { display: block; white-space: nowrap; }
.release-momentum-signal b { font-size: 1.08rem; font-weight: 950; letter-spacing: -0.03em; }
.release-momentum-signal small { font-size: 0.57rem; font-weight: 900; letter-spacing: 0.04em; text-transform: uppercase; }
.release-momentum-signal-icon { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 10px; }
.release-momentum-signal-icon svg { width: 22px; height: 22px; display: block; overflow: visible; fill: currentColor; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.signal-streams { top: 12%; right: 0; background: #e5ff4f; }
.signal-streams .release-momentum-signal-icon { background: #0d0d12; color: #e5ff4f; }
.signal-streams svg { stroke: none; }
.signal-listeners { top: 42%; left: -2%; min-width: 120px; background: #0d0d12; color: #f8f6ef; }
.signal-listeners .release-momentum-signal-icon { background: #f8f6ef; color: #0d0d12; }
.signal-listeners svg { fill: none; }
.signal-listeners svg circle { fill: #e5ff4f; stroke: #0d0d12; stroke-width: 1.3; transform-origin: 12px 12px; }
.signal-likes { bottom: 23%; left: 7%; background: #8e60ff; color: #fff; }
.signal-likes .release-momentum-signal-icon { background: #fff; color: #6f3bd7; }
.signal-likes svg { stroke: none; }
.signal-shares { right: 3%; bottom: 21%; background: #ff7d66; }
.signal-shares .release-momentum-signal-icon { background: #0d0d12; color: #ff7d66; }
.signal-shares svg { fill: currentColor; stroke: currentColor; }
.release-momentum-signal.is-spotlight { z-index: 7; box-shadow: 0 24px 46px rgba(18, 20, 8, 0.34); filter: saturate(1.14); }
.release-momentum-signal.is-returning { z-index: 6; box-shadow: 0 19px 38px rgba(18, 20, 8, 0.27); }
.release-momentum-art[data-momentum-metric="listeners"] .signal-listeners svg circle { animation: release-momentum-eye-focus 1.35s ease-in-out infinite; }
.release-momentum-art.is-motion-active .release-momentum-signal-icon { animation: release-momentum-signal-beat 3s ease-in-out infinite; }
.release-momentum-art.is-motion-active .signal-listeners .release-momentum-signal-icon { animation-delay: -2.2s; }
.release-momentum-art.is-motion-active .signal-likes .release-momentum-signal-icon { animation-delay: -1.4s; }
.release-momentum-art.is-motion-active .signal-shares .release-momentum-signal-icon { animation-delay: -0.7s; }
.release-momentum-complete { position: absolute; top: -12px; right: -12px; width: 28px; height: 28px; display: grid; place-items: center; border: 3px solid currentColor; border-radius: 50%; background: #0d0d12; color: #f8f6ef; opacity: 0; box-shadow: 0 8px 16px rgba(13, 13, 18, 0.24); transform: scale(0.35) rotate(-20deg); transform-origin: center; }
.release-momentum-complete svg { width: 17px; height: 17px; fill: none !important; stroke: currentColor !important; stroke-width: 3; }
.signal-listeners .release-momentum-complete { background: #f8f6ef; color: #0d0d12; }
.release-momentum-signal.is-count-complete .release-momentum-complete { animation: release-momentum-check-in 620ms cubic-bezier(0.16, 0.9, 0.24, 1.25) both; }
.release-momentum-heart-burst { position: absolute; inset: 50% auto auto 50%; z-index: 8; width: 1px; height: 1px; pointer-events: none; }
.release-momentum-heart-burst i { position: absolute; color: #6f3bd7; font-size: 1rem; font-style: normal; opacity: 0; text-shadow: 0 3px 8px rgba(13, 13, 18, 0.22); transform: translate(-50%, -50%) scale(0.2); }
.release-momentum-heart-burst i:nth-child(2) { color: #ff7d99; }
.release-momentum-heart-burst i:nth-child(3) { color: #fff; }
.release-momentum-heart-burst i:nth-child(4) { color: #e5ff4f; }
.signal-likes.is-heart-bursting .release-momentum-heart-burst i:nth-child(1) { animation: release-momentum-heart-one 900ms ease-out both; }
.signal-likes.is-heart-bursting .release-momentum-heart-burst i:nth-child(2) { animation: release-momentum-heart-two 900ms 60ms ease-out both; }
.signal-likes.is-heart-bursting .release-momentum-heart-burst i:nth-child(3) { animation: release-momentum-heart-three 900ms 110ms ease-out both; }
.signal-likes.is-heart-bursting .release-momentum-heart-burst i:nth-child(4) { animation: release-momentum-heart-four 900ms 150ms ease-out both; }
.release-momentum-cover { position: relative; z-index: 2; width: min(76%, 326px); aspect-ratio: 1; overflow: hidden; border: 6px solid #f8f6ef; border-radius: 50%; background: rgba(248, 246, 239, 0.36); box-shadow: 0 0 0 1px #0d0d12, 0 30px 62px rgba(20, 22, 8, 0.28); }
.release-momentum-cover img,
.release-momentum-cover-fallback { width: 100%; height: 100%; display: block; border-radius: 50%; }
.release-momentum-cover img { object-fit: cover; }
.release-momentum-cover img[hidden],
.release-momentum-cover-fallback[hidden] { display: none; }
.release-momentum-cover-fallback { padding: 26px; display: grid; place-items: center; background: radial-gradient(circle at 28% 20%, rgba(255, 255, 255, 0.58), transparent 34%), linear-gradient(145deg, #8d63dc, #17191a 74%); color: #fff; font-size: clamp(1.2rem, 2.5vw, 2rem); font-weight: 900; line-height: 1.05; text-align: center; }
.release-momentum-status { position: absolute; bottom: 0; left: 50%; z-index: 4; width: min(94%, 420px); min-height: 86px; margin: 0; padding-top: 16px; transform: translateX(-50%); transform-origin: 50% 0; text-align: center; transition: opacity 240ms ease, filter 240ms ease, transform 320ms cubic-bezier(0.24, 0.75, 0.24, 1); }
.release-momentum-status::before { position: absolute; top: 0; left: 50%; width: 44px; height: 5px; border-radius: 999px; background: #0d0d12; content: ""; transform: translateX(-50%); transition: width 260ms ease, background-color 260ms ease; }
.release-momentum-art[data-momentum-metric="streams"] .release-momentum-status::before { width: 78px; background: #b4d900; }
.release-momentum-art[data-momentum-metric="listeners"] .release-momentum-status::before { width: 78px; background: #0d0d12; }
.release-momentum-art[data-momentum-metric="likes"] .release-momentum-status::before { width: 78px; background: #8e60ff; }
.release-momentum-art[data-momentum-metric="shares"] .release-momentum-status::before { width: 78px; background: #e76047; }
.release-momentum-status strong,
.release-momentum-status span { display: block; }
.release-momentum-status strong { font-size: 0.92rem; line-height: 1.12; text-transform: uppercase; }
.release-momentum-status span { margin-top: 8px; color: #353a20; font-size: 0.78rem; font-weight: 560; line-height: 1.5; }
.release-momentum-status.is-leaving { opacity: 0; filter: blur(4px); transform: translateX(-50%) translateY(-12px) rotateX(68deg) scale(0.94); }
.release-momentum-status.is-entering { animation: release-momentum-status-enter 560ms cubic-bezier(0.16, 0.82, 0.2, 1) both; }
.release-momentum-art.has-momentum-boost { min-height: 790px; }
.release-momentum-art.has-momentum-boost .release-momentum-status { bottom: 116px; }
.release-momentum-art.has-momentum-boost .signal-likes { top: 62%; bottom: auto; }
.release-momentum-art.has-momentum-boost .signal-shares { top: 60%; bottom: auto; }
.release-momentum-boost { position: absolute; right: 0; bottom: 0; left: 0; z-index: 8; min-height: 98px; padding: 14px 16px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px 18px; border: 2px solid #0d0d12; border-radius: 22px; background: rgba(248, 246, 239, 0.86); box-shadow: 0 16px 32px rgba(18, 20, 8, 0.14); backdrop-filter: blur(10px); }
.release-momentum-boost[hidden] { display: none; }
.release-momentum-boost > div:first-child { min-width: 0; }
.release-momentum-boost strong,
.release-momentum-boost > div:first-child span { display: block; }
.release-momentum-boost strong { font-size: 0.76rem; line-height: 1.2; text-transform: uppercase; }
.release-momentum-boost > div:first-child span { margin-top: 5px; color: #454a29; font-size: 0.68rem; line-height: 1.4; }
.release-momentum-boost-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.release-momentum-boost-actions button,
.release-momentum-boost-actions a { appearance: none; min-height: 34px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #0d0d12; border-radius: 10px; background: #fff; color: #0d0d12; cursor: pointer; font: inherit; font-size: 0.62rem; font-weight: 900; text-decoration: none; }
.release-momentum-boost-actions button:first-child { background: #0d0d12; color: #fff; }
.release-momentum-boost-actions button:hover,
.release-momentum-boost-actions button:focus-visible,
.release-momentum-boost-actions a:hover,
.release-momentum-boost-actions a:focus-visible { background: #8e60ff; color: #fff; outline: none; }
.release-momentum-boost-actions button:focus-visible,
.release-momentum-boost-actions a:focus-visible { box-shadow: 0 0 0 3px rgba(142, 96, 255, 0.32); }
.release-momentum-share-feedback { position: absolute; right: 16px; bottom: 4px; min-height: 12px; color: #4f3485; font-size: 0.58rem; font-weight: 850; }
.release-production-copy > p { margin: 0 0 42px; color: #3e4325; font-size: 1rem; line-height: 1.7; }
.release-production-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid #11120c; }
.release-production-grid div { min-height: 120px; padding: 20px 18px 0 0; border-bottom: 1px solid rgba(14, 15, 9, 0.35); }
.release-production-grid div:nth-child(even) { padding-left: 18px; border-left: 1px solid rgba(14, 15, 9, 0.35); }
.release-production-grid strong,
.release-production-grid span { display: block; }
.release-production-grid strong { font-size: 1.05rem; }
.release-production-grid span { margin-top: 5px; color: #50562d; font-size: 0.7rem; text-transform: uppercase; }
.release-production-grid em { margin-top: 22px; display: block; color: #2d3119; font-size: 0.72rem; font-style: normal; font-weight: 800; }

.release-engagement-panel { margin-top: 64px; padding-top: 30px; border-top: 2px solid #11120c; }
.release-engagement-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.release-engagement-heading .preview-eyebrow { margin-bottom: 11px; color: #59630f; }
.release-engagement-heading h3 { margin: 0; font-size: clamp(2rem, 3vw, 3.4rem); line-height: 0.95; }
.release-engagement-heading > p { max-width: 310px; margin: 0; color: #454a29; font-size: 0.78rem; line-height: 1.5; text-align: right; }
.release-engagement-summary { margin: 30px 0 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(14, 15, 9, 0.36); border-bottom: 1px solid rgba(14, 15, 9, 0.36); }
.release-engagement-summary > div { min-height: 112px; padding: 18px 16px 16px 0; }
.release-engagement-summary > div + div { padding-left: 16px; border-left: 1px solid rgba(14, 15, 9, 0.27); }
.release-engagement-summary > div:nth-child(3n + 1) { padding-left: 0; border-left: 0; }
.release-engagement-summary > div:nth-child(n + 4) { border-top: 1px solid rgba(14, 15, 9, 0.27); }
.release-engagement-summary strong,
.release-engagement-summary span,
.release-engagement-summary small { display: block; }
.release-engagement-summary strong { font-size: 1.8rem; line-height: 1; }
.release-engagement-summary span { margin-top: 8px; font-size: 0.68rem; font-weight: 900; text-transform: uppercase; }
.release-engagement-summary small { margin-top: 8px; color: #4b502c; font-size: 0.68rem; }
.release-engagement-chart-frame { margin: 0; padding: 20px 20px 15px; background: rgba(248, 246, 239, 0.58); }
.release-engagement-legend { display: flex; justify-content: flex-end; gap: 18px; color: #30331d; font-size: 0.68rem; font-weight: 850; text-transform: uppercase; }
.release-engagement-legend button { appearance: none; min-height: 30px; padding: 3px 2px; display: inline-flex; align-items: center; gap: 7px; border: 0; border-radius: 8px; background: transparent; color: inherit; cursor: pointer; font: inherit; letter-spacing: inherit; text-transform: inherit; transition: opacity 160ms ease, background-color 160ms ease; }
.release-engagement-legend button::before { width: 22px; height: 3px; border-radius: 999px; background: #111317; content: ""; }
.release-engagement-legend .views::before { background: #2a9aaa; }
.release-engagement-legend .likes::before { background: #8550d5; }
.release-engagement-legend .shares::before { background: #db6847; }
.release-engagement-legend button[aria-pressed="false"] { opacity: 0.42; }
.release-engagement-legend button:hover,
.release-engagement-legend button:focus-visible { background: rgba(15, 17, 10, 0.08); opacity: 1; outline: none; }
.release-engagement-legend button:focus-visible { box-shadow: 0 0 0 2px #0f1113; }
.release-engagement-chart-frame canvas { width: 100%; height: 286px; margin-top: 4px; display: block; }
.release-engagement-chart-frame canvas[hidden] { display: none; }
.release-engagement-empty { min-height: 220px; margin: 0; display: flex; align-items: center; justify-content: center; color: #454a29; text-align: center; line-height: 1.55; }
.release-engagement-empty[hidden] { display: none; }
.release-engagement-chart-frame figcaption { margin-top: 8px; color: #525733; font-size: 0.67rem; line-height: 1.45; }

.release-other-performers { padding: 112px 0 120px; overflow: hidden; background: radial-gradient(circle at 82% 10%, rgba(116, 67, 191, 0.2), transparent 30%), #0d0d12; color: #f8f6ef; }
.release-other-performers[hidden] { display: none; }
.release-other-performers .preview-eyebrow { color: #9a71ea; }
.release-other-performers-heading { margin-bottom: 58px; display: flex; align-items: end; justify-content: space-between; gap: 42px; }
.release-other-performers-heading h2 { margin: 0; font-size: clamp(3.4rem, 6.4vw, 6.8rem); line-height: 0.88; letter-spacing: -0.065em; }
.release-other-performers-heading > p { max-width: 410px; margin: 0; color: #aaa6b3; font-size: 0.88rem; line-height: 1.6; text-align: right; }
.release-other-performers-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px; }
.release-performer-card { min-width: 0; color: inherit; text-decoration: none; }
.release-performer-disc { position: relative; width: 100%; aspect-ratio: 1; padding: 10px; display: block; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 50%; background: rgba(255, 255, 255, 0.035); transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
.release-performer-disc::before,
.release-performer-disc::after { position: absolute; border-radius: 50%; content: ""; pointer-events: none; }
.release-performer-disc::before { inset: -8px; border: 1px solid rgba(137, 98, 217, 0.5); clip-path: inset(0 0 48% 0); transform: rotate(-16deg); animation: release-performer-orbit-spin 18s linear infinite; }
.release-performer-disc::after { right: 7%; bottom: 4%; width: 18px; height: 18px; border: 5px solid #0d0d12; background: var(--lime); animation: release-performer-orbit-pulse 2.8s ease-in-out infinite; }
.release-performer-card:nth-child(even) .release-performer-disc::before { animation-direction: reverse; animation-duration: 22s; }
.release-performer-card:nth-child(3n) .release-performer-disc::after { animation-delay: 0.9s; }
.release-performer-disc img,
.release-performer-disc-fallback { width: 100%; height: 100%; display: block; overflow: hidden; border-radius: 50%; }
.release-performer-disc img { object-fit: cover; }
.release-performer-disc img[hidden],
.release-performer-disc-fallback[hidden] { display: none; }
.release-performer-disc-fallback { padding: 24px; display: grid; place-items: center; background: linear-gradient(145deg, #7343bf, #15151c 74%); color: #fff; font-size: clamp(1rem, 2vw, 1.7rem); font-weight: 900; line-height: 1.05; text-align: center; }
.release-performer-card:hover .release-performer-disc,
.release-performer-card:focus-visible .release-performer-disc { border-color: var(--lime); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.38); transform: translateY(-6px); }
.release-performer-card:focus-visible { border-radius: 16px; outline: 3px solid var(--lime); outline-offset: 8px; }
.release-performer-card h3 { margin: 24px 0 0; overflow: hidden; font-size: 1.28rem; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
.release-performer-card p { margin: 9px 0 0; overflow: hidden; color: #aaa6b3; font-size: 0.78rem; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.release-performer-card small { min-height: 16px; margin-top: 12px; display: inline-flex; align-items: center; flex-wrap: wrap; gap: 7px; color: var(--lime); font-size: 0.68rem; font-weight: 850; text-transform: uppercase; transition: opacity 160ms ease, transform 160ms ease; }
.release-performer-card small::before { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: currentColor; content: ""; }
.release-performer-card small[data-activity-kind="likes"]::before { width: auto; height: auto; border-radius: 0; background: transparent; content: "♥"; font-size: 0.9rem; line-height: 1; }
.release-performer-card small.is-changing { opacity: 0.12; transform: translateY(2px); }
.release-performer-card small [data-performer-reason-rank] { color: #f8f6ef; font-size: 0.6rem; letter-spacing: 0.04em; }
.release-performer-card small[data-activity-priority="supporting"] [data-performer-reason-rank] { color: #aaa6b3; }
.release-performer-reason-separator { opacity: 0.58; }
.release-other-performers-empty { min-height: 310px; padding: 56px; display: grid; grid-column: 1 / -1; grid-template-columns: 190px minmax(0, 560px); align-items: center; justify-content: center; gap: 54px; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 34px; background: rgba(255, 255, 255, 0.035); text-align: left; }
.release-other-performers-empty-mark { position: relative; width: 170px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, 0.34); border-radius: 50%; color: var(--lime); font-size: 3.8rem; }
.release-other-performers-empty-mark::before { position: absolute; inset: 20px -12px; border: 1px solid rgba(154, 113, 234, 0.75); border-radius: 50%; content: ""; transform: rotate(28deg); }
.release-other-performers-empty h3 { margin: 0; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 0.94; letter-spacing: -0.04em; }
.release-other-performers-empty p { margin: 17px 0 0; color: #aaa6b3; line-height: 1.6; }
.release-other-performers-empty a { min-height: 46px; margin-top: 24px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: var(--lime); color: #0d0d12; font-size: 0.78rem; font-weight: 900; text-decoration: none; }

@keyframes release-momentum-field-black {
  0%,
  100% { transform: translate(-52%, -51%) rotate(-9deg) scale(1); }
  50% { transform: translate(-50%, -53%) rotate(-5deg) scale(1.025); }
}

@keyframes release-momentum-field-purple {
  0%,
  100% { transform: translate(-44%, -45%) rotate(12deg) scale(1); }
  50% { transform: translate(-47%, -43%) rotate(7deg) scale(0.975); }
}

@keyframes release-momentum-signal-beat {
  0%,
  100% { transform: scale(0.94); }
  46% { transform: scale(1.08); }
  64% { transform: scale(1); }
}

@keyframes release-momentum-check-in {
  0% { opacity: 0; transform: scale(0.35) rotate(-20deg); }
  58% { opacity: 1; transform: scale(1.18) rotate(4deg); }
  100% { opacity: 1; transform: scale(1) rotate(0); }
}

@keyframes release-momentum-heart-one {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.2); }
  28% { opacity: 1; }
  100% { opacity: 0; transform: translate(-46px, -48px) rotate(-18deg) scale(1.15); }
}

@keyframes release-momentum-heart-two {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.2); }
  28% { opacity: 1; }
  100% { opacity: 0; transform: translate(42px, -38px) rotate(16deg) scale(0.95); }
}

@keyframes release-momentum-heart-three {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.2); }
  28% { opacity: 1; }
  100% { opacity: 0; transform: translate(-30px, 40px) rotate(-10deg) scale(0.86); }
}

@keyframes release-momentum-heart-four {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.2); }
  28% { opacity: 1; }
  100% { opacity: 0; transform: translate(39px, 34px) rotate(14deg) scale(1.04); }
}

@keyframes release-momentum-eye-focus {
  0%,
  100% { transform: translateX(-1.5px) scale(0.94); }
  50% { transform: translateX(1.5px) scale(1.08); }
}

@keyframes release-momentum-status-enter {
  from { opacity: 0; filter: blur(5px); transform: translateX(-50%) translateY(18px) rotateX(-72deg) scale(0.94); }
  to { opacity: 1; filter: blur(0); transform: translateX(-50%) translateY(0) rotateX(0) scale(1); }
}

@keyframes release-performer-orbit-spin {
  from { transform: rotate(-16deg); }
  to { transform: rotate(344deg); }
}

@keyframes release-performer-orbit-pulse {
  0%,
  100% { box-shadow: 0 0 0 0 rgba(221, 255, 73, 0); transform: scale(0.82); }
  50% { box-shadow: 0 0 0 8px rgba(221, 255, 73, 0.12); transform: scale(1.08); }
}

@media (max-width: 1120px) {
  .releases-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .releases-public-layout,
  .release-detail-hero-inner,
  .release-detail-track-layout,
  .release-production-layout { grid-template-columns: 1fr; }
  .release-detail-track-layout { gap: 52px; }
  .release-detail-track-layout > div:first-child { max-width: 580px; padding-right: 0; }
  .release-production-intro { max-width: 680px; }
  .release-momentum-art { width: min(100%, 520px); }
  .release-other-performers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 34px; }
  .releases-journey { width: min(100%, 640px); }
}

@media (max-width: 760px) {
  .release-archive-expiry-alert {
    top: 76px;
    right: 12px;
    width: calc(100vw - 24px);
    padding: 13px 44px 13px 13px;
    grid-template-columns: 34px minmax(0, 1fr);
    border-radius: 14px;
  }
  .release-archive-expiry-alert-icon { width: 34px; height: 32px; }
  .release-archive-expiry-alert-view { grid-column: 2; justify-self: start; min-height: 34px; margin-top: 2px; }
  .release-update-archive-countdown { grid-template-columns: 1fr; }
  .release-update-archive-countdown > span {
    overflow: visible;
    text-align: left;
    white-space: normal;
  }
  .release-update-archive-countdown small {
    grid-column: 1;
    text-align: left;
  }
  .releases-builder-dialog {
    width: 100vw;
    height: 100dvh;
    border: 0;
    border-radius: 0;
  }
  .releases-builder-dialog-header {
    min-height: 82px;
    padding: 13px 12px 13px 16px;
    gap: 12px;
  }
  .releases-builder-dialog-header p,
  .releases-builder-dialog-actions a { display: none; }
  .releases-builder-dialog-actions button { width: 40px; height: 40px; }
  .releases-update-hero { min-height: 0; }
  .releases-update-hero-inner { padding: 40px 0 44px; grid-template-columns: 1fr; gap: 36px; }
  .releases-update-hero h1,
  .release-detail-copy h1,
  .release-detail-empty h1 { font-size: clamp(3.1rem, 16vw, 4.6rem); }
  .releases-directory,
  .releases-public-band,
  .release-detail-track-band,
  .release-detail-production { padding: 82px 0; }
  .releases-toolbar { align-items: flex-start; flex-direction: column; }
  .releases-toolbar h2,
  .releases-public-layout h2,
  .release-detail-track-layout h2,
  .release-production-layout h2 { font-size: clamp(2.8rem, 15vw, 4.5rem); }
  .releases-search,
  .releases-search input { width: 100%; }
  .releases-filter-row { flex-wrap: nowrap; overflow-x: auto; }
  .releases-filter-row button { flex: 0 0 auto; }
  .releases-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 10px; }
  .release-update-card h3 { font-size: 0.94rem; }
  .release-new-card-panel { padding: 20px 14px; }
  .release-new-card-plus { width: 64px; height: 64px; }
  .release-new-card-plus::before,
  .release-new-card-plus::after { width: 27px; height: 5px; }
  .release-new-card strong { font-size: 1rem; }
  .release-new-card-panel > span:last-child { font-size: 0.68rem; }
  .releases-pagination { margin-top: 38px; }
  .releases-pagination-actions { align-items: flex-start; flex-direction: column; }
  .releases-pagination-controls { width: 100%; flex-wrap: wrap; }
  .releases-pagination-pages { flex-wrap: wrap; }
  .releases-page-size { width: 100%; }
  .releases-public-layout { gap: 42px; }
  .releases-process-accent { margin-top: 0.08em; }
  .releases-public-layout .preview-eyebrow [data-release-process-number] { min-width: 2.45em; }
  .releases-journey { min-height: 390px; }
  .releases-journey-stage { width: 31%; }
  .releases-journey-stage.stage-private { top: 176px; }
  .releases-journey-stage.stage-public { top: 26px; }
  .releases-journey-stage.stage-loved { top: 176px; }
  .releases-journey-cover { width: min(100%, 108px); border-width: 5px; }
  .stage-public .releases-journey-cover,
  .stage-loved .releases-journey-cover { box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.14), 0 14px 30px rgba(24, 11, 34, 0.26); }
  .stage-loved .releases-journey-cover::after { top: 0; right: -3px; width: 30px; height: 30px; border-width: 2px; font-size: 0.86rem; }
  .releases-journey-cover > span { font-size: 1.35rem; }
  .releases-journey-stage em { margin-top: 12px; font-size: 0.56rem; }
  .releases-journey-stage strong { font-size: 0.72rem; }
  .releases-journey-stage small { font-size: 0.56rem; }
  .releases-love-burst { top: 54px; }
  .release-detail-hero { min-height: 0; }
  .release-detail-hero-inner { padding: 38px 0 54px; gap: 36px; }
  .release-detail-cover { width: 100%; }
  .release-takedown-alert { grid-template-columns: 1fr; }
  .release-takedown-alert > span { justify-self: start; }
  .release-takedown-alert dl div { grid-template-columns: 1fr; gap: 3px; }
  .release-detail-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .release-detail-track { grid-template-columns: 34px minmax(0, 1fr) auto; gap: 11px; }
  .release-production-grid { grid-template-columns: 1fr; }
  .release-production-grid div:nth-child(even) { padding-left: 0; border-left: 0; }
  .release-momentum-art { min-height: 640px; margin-top: 36px; }
  .release-momentum-art.has-momentum-boost { min-height: 850px; }
  .release-momentum-art.has-momentum-boost .release-momentum-status { bottom: 206px; }
  .release-momentum-art.has-momentum-boost .signal-likes { top: 61%; bottom: auto; }
  .release-momentum-art.has-momentum-boost .signal-shares { top: 59%; bottom: auto; }
  .release-momentum-fields { top: 45%; width: min(106%, 380px); height: 330px; }
  .release-momentum-cover { width: min(67vw, 258px); }
  .release-momentum-signal { min-width: 96px; min-height: 52px; padding: 7px 9px; gap: 7px; border-radius: 15px; }
  .release-momentum-signal-icon { width: 27px; height: 27px; flex-basis: 27px; border-radius: 9px; }
  .release-momentum-signal-icon svg { width: 19px; height: 19px; }
  .release-momentum-signal b { font-size: 0.95rem; }
  .release-momentum-signal small { font-size: 0.51rem; }
  .signal-streams { top: 10%; right: 0; }
  .signal-listeners { top: 40%; left: 0; min-width: 108px; }
  .signal-likes { bottom: 25%; left: 3%; }
  .signal-shares { right: 0; bottom: 23%; }
  .release-momentum-complete { top: -9px; right: -9px; width: 24px; height: 24px; border-width: 2px; }
  .release-momentum-complete svg { width: 15px; height: 15px; }
  .release-momentum-boost { min-height: 188px; padding: 14px; grid-template-columns: 1fr; align-content: center; gap: 11px; border-radius: 18px; }
  .release-momentum-boost-actions { padding-right: 72px; justify-content: flex-start; }
  .release-momentum-boost-actions button,
  .release-momentum-boost-actions a { min-height: 32px; padding: 0 8px; font-size: 0.58rem; }
  .release-momentum-share-feedback { right: 84px; bottom: 4px; }
  .release-engagement-heading { align-items: flex-start; flex-direction: column; }
  .release-engagement-heading > p { max-width: none; text-align: left; }
  .release-engagement-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .release-engagement-summary > div:nth-child(3n + 1) { padding-left: 16px; border-left: 1px solid rgba(14, 15, 9, 0.27); }
  .release-engagement-summary > div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .release-engagement-summary > div:nth-child(n + 3) { border-top: 1px solid rgba(14, 15, 9, 0.27); }
  .release-engagement-chart-frame { margin-right: -12px; margin-left: -12px; padding: 16px 12px 13px; }
  .release-engagement-legend { justify-content: flex-start; flex-wrap: wrap; }
  .release-engagement-chart-frame canvas { height: 250px; }
  .release-other-performers { padding: 78px 0 86px; }
  .release-other-performers-heading { margin-bottom: 46px; align-items: flex-start; flex-direction: column; gap: 20px; }
  .release-other-performers-heading > p { max-width: 520px; text-align: left; }
  .release-other-performers-grid { gap: 42px 16px; }
  .release-performer-disc { padding: 6px; }
  .release-performer-card h3 { margin-top: 18px; font-size: 1rem; }
  .release-performer-card p { font-size: 0.7rem; }
  .release-other-performers-empty { min-height: 0; padding: 42px 24px; grid-template-columns: 1fr; justify-items: center; gap: 32px; border-radius: 24px; text-align: center; }
  .release-other-performers-empty-mark { width: 136px; font-size: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .release-archive-expiry-alert { transition: none; }
  .release-momentum-fields i,
  .release-momentum-signal,
  .release-momentum-signal-icon,
  .release-momentum-complete,
  .release-momentum-heart-burst i,
  .signal-listeners svg circle,
  .release-momentum-status,
  .release-performer-disc::before,
  .release-performer-disc::after,
  .release-motion-wave.is-waving .release-motion-wave-letter,
  .releases-journey-path path,
  .releases-journey-stage.is-current .releases-journey-cover,
  .release-performer-disc,
  .releases-journey-stage.is-current .releases-journey-cover::before,
  .stage-loved.is-complete .releases-journey-cover,
  .stage-loved.is-complete .releases-journey-cover::after,
  .stage-loved.is-complete .releases-love-burst i { animation: none !important; }
  .release-performer-card small { transition: none; }
  .release-momentum-signal { transition: none; }
  .release-momentum-status { transition: none; }
  .releases-public-layout .preview-eyebrow,
  .releases-process-main,
  .releases-process-accent,
  .releases-process-description { transition: none; }
  .releases-public-copy.is-typing .releases-process-main::after { animation: none; }
  .releases-journey-path circle,
  .releases-journey-cover { transition: none; }
  .releases-journey-path circle { display: none; }
}
