.replay {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(15px, 3vw, 34px);
  margin-top: clamp(24px, 4vw, 40px);
  padding: clamp(12px, 2.5vw, 24px);
  border: 1px solid #526a9e;
  border-radius: 14px;
  background: linear-gradient(120deg, #29132a, #0b162e 52%, #0a1225);
  box-shadow: -6px 4px 24px #ff163f24, 6px 4px 30px #1678ff35;
}
.replay-cover {
  display: block;
  position: relative;
  overflow: hidden;
  border: 1px solid #7096ce;
  border-radius: 9px;
  background: #0a1020;
}
.replay-cover img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.replay h2, .decision h2 { font-size: clamp(2rem, 4.3vw, 3.65rem); }
.replay-copy p { margin: 9px 0 15px; color: #dbe9ff; }
.replay-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.replay-actions a, .decision-next { min-height: 44px; }
.replay-channel, .decision-next { display: inline-flex; align-items: center; color: #a5daff; text-decoration: underline; }
.decision { display: grid; grid-template-columns: minmax(0, .84fr) minmax(0, 1fr); gap: clamp(16px, 4vw, 40px); }
.decision-intro p { max-width: 39ch; color: #d4ddf0; }
.decision-panel {
  padding: clamp(15px, 3vw, 24px);
  border: 1px solid #8e4a67;
  border-radius: 12px;
  background: linear-gradient(150deg, #301529, #14182d 72%);
  box-shadow: 0 0 27px #e92e562b;
}
.decision-panel h3 { font-size: 1.9rem; margin-bottom: 12px; }
.decision-choices { display: grid; gap: 8px; }
.decision-choices button {
  min-height: 46px;
  padding: 10px 13px;
  border: 1px solid #67779e;
  border-radius: 6px;
  background: #121d34;
  color: #edf4ff;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.decision-choices button:hover, .decision-choices button[aria-pressed=true] { background: #203c68; border-color: #9cdcff; }
.decision-choices button:focus-visible { outline: 2px solid #a3e4ff; outline-offset: 2px; }
.decision-result:not(:empty) { margin: 14px 0 2px; padding: 2px 0 2px 12px; border-left: 2px solid #ff7087; color: #f4eaf0; }
.decision-result:empty { margin: 0; }
.decision-next[hidden] { display: none; }
@media (max-width: 700px) {
  .replay, .decision { grid-template-columns: minmax(0, 1fr); }
}
