.ending-page {
  position: absolute;
  inset: 0;
  z-index: 10;
  visibility: hidden;
  opacity: 0;
  overflow: hidden;
  background: radial-gradient(ellipse at 75% 35%, #203e42, #0d252b 55%, #07171e);
  color: #fff5df;
}
.ending-page::before {
  content: '';
  position: absolute;
  left: 14%;
  right: 14%;
  top: -24%;
  height: 71%;
  border-radius: 50%;
  background: #bad6ca12;
  filter: blur(2.5cqw);
}
.ending-glass {
  position: absolute;
  inset: 10.5% 6.5% 12%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 21.3cqw;
  align-items: center;
  column-gap: 3.6cqw;
  padding: 2.4cqw 3.1cqw;
  border: 1px solid #e6efe269;
  border-radius: 1.1cqw;
  background: linear-gradient(135deg, #ecf4ed1d, #dceae711);
  box-shadow: 0 1.1cqw 3.6cqw #00171b55, inset 0 1px #ffffff18;
  backdrop-filter: blur(22px) saturate(112%);
  -webkit-backdrop-filter: blur(22px) saturate(112%);
}
.ending-portrait { margin: 0; align-self: center; }
.ending-portrait img {
  display: block;
  width: 100%;
  height: 28.2cqw;
  object-fit: cover;
  object-position: center;
  border-radius: .38cqw;
  box-shadow: 0 .45cqw 1.6cqw #3041421f;
}
.ending-portrait figcaption {
  margin-top: 1.2cqw;
  text-align: center;
  color: #fff2d9;
  font: 1.8cqw/1.3 'Songti SC', 'SimSun', serif;
  letter-spacing: .13em;
}
.ending-quote { margin: 0; font: 2.12cqw/1.85 'Songti SC', 'SimSun', serif; text-shadow:0 1px 2px #00161c; }
.ending-quote-group { margin: 0; text-indent:2em; text-wrap:pretty; }
.ending-quote-group:last-child { margin-bottom: 0; }
.ending-source {
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: 4.2%;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 2cqw;
  color: #c3d7d0;
  font: .78cqw/1.55 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
.ending-source p { margin: 0; }
.ending-source a { color: inherit; text-decoration-color: #91aca4; }
.ending-source .ending-image-credit { max-width: 31%; text-align: right; font-size: .63cqw; }
.ending-sr-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
