*, *::before, *::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  margin: 0;
  padding: 0;
  background-color: #0a0506;
  background-image:
    radial-gradient(circle at 12% -10%, rgba(140, 30, 20, 0.55), transparent 46%),
    radial-gradient(circle at 88% 4%, rgba(90, 18, 14, 0.5), transparent 42%),
    linear-gradient(180deg, #12080a 0%, #0a0506 42%, #080405 100%);
  color: #d8cfc9;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", sans-serif;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0.01em;
  overflow-x: hidden;
}
img {
  display: block;
  max-width: 100%;
}
ul, ol, dl, dd, figure, h1, h2, h3, p {
  margin: 0;
  padding: 0;
}
ul, ol {
  list-style: none;
}
a {
  color: #e6b98f;
  text-decoration: none;
}
button, input, select {
  font: inherit;
  color: inherit;
}
button {
  cursor: pointer;
  border: 0;
  background: none;
}
:root {
  --flame: #ff6a1f;
  --flame-deep: #c22a0c;
  --flame-hot: #ffb347;
  --lotus: #35e0d0;
  --lotus-deep: #128e88;
  --netlotus: #a06bff;
  --ink: #0a0506;
  --ink-2: #150a0c;
  --ink-3: #1d0f11;
  --line: rgba(255, 120, 60, 0.22);
  --line-soft: rgba(255, 150, 90, 0.13);
  --text: #d8cfc9;
  --text-dim: #9b8b84;
  --text-bright: #f6ece5;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 18px;
  background: linear-gradient(180deg, rgba(20, 8, 9, 0.96), rgba(12, 5, 6, 0.82));
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(6px);
}
.header-brand {
  display: flex;
  align-items: center;
  min-width: 0;
}
a[data-contract="site-name"] {
  color: #ffb066;
  text-decoration: none;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.14em;
  white-space: nowrap;
  text-shadow: 0 0 12px rgba(255, 106, 31, 0.55), 0 0 26px rgba(194, 42, 12, 0.4);
}
a[data-contract="site-name"]:hover {
  color: #ffd6a8;
}
.category-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
a.runtime-category {
  display: inline-block;
  padding: 4px 11px;
  color: #f0c39a;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
  border: 1px solid rgba(255, 120, 60, 0.34);
  border-radius: 2px 10px 4px 12px / 10px 4px 12px 2px;
  background: linear-gradient(135deg, rgba(70, 20, 14, 0.7), rgba(30, 10, 10, 0.5));
  transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}
a.runtime-category:hover {
  color: #fff0dc;
  border-color: rgba(255, 170, 90, 0.7);
  background: linear-gradient(135deg, rgba(160, 50, 20, 0.7), rgba(60, 16, 12, 0.55));
}
.page-main {
  display: block;
  width: 100%;
}
.hero-section {
  position: relative;
  overflow: hidden;
  padding: 22px 18px 30px;
  border-bottom: 1px solid var(--line-soft);
  isolation: isolate;
}
.hero-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.hero-cloudburst {
  position: absolute;
  inset: -12% -6% 34% -6%;
  background:
    radial-gradient(ellipse at 22% 34%, rgba(196, 48, 18, 0.5), transparent 58%),
    radial-gradient(ellipse at 74% 24%, rgba(120, 26, 16, 0.55), transparent 62%),
    radial-gradient(ellipse at 50% 8%, rgba(255, 120, 40, 0.22), transparent 55%),
    radial-gradient(ellipse at 60% 70%, rgba(20, 90, 96, 0.3), transparent 60%);
  filter: blur(2px);
  animation: cloud-drift 18s ease-in-out infinite alternate;
}
@keyframes cloud-drift {
  from {
    transform: translate3d(-2%, 1%, 0) scale(1.02);
    opacity: 0.85;
  }
  to {
    transform: translate3d(2%, -1.5%, 0) scale(1.08);
    opacity: 1;
  }
}
.hero-ring-fracture {
  position: absolute;
  left: 50%;
  top: 34%;
  width: 118%;
  max-width: 1100px;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%) rotate(-8deg);
  background:
    conic-gradient(from 200deg,
      transparent 0deg,
      rgba(53, 224, 208, 0.16) 26deg,
      transparent 52deg,
      rgba(255, 106, 31, 0.2) 120deg,
      transparent 150deg,
      rgba(160, 107, 255, 0.14) 220deg,
      transparent 260deg,
      rgba(255, 170, 71, 0.18) 320deg,
      transparent 360deg);
  border-radius: 50%;
  opacity: 0.75;
  mask-image: radial-gradient(circle, transparent 52%, #000 60%, #000 82%, transparent 90%);
  -webkit-mask-image: radial-gradient(circle, transparent 52%, #000 60%, #000 82%, transparent 90%);
}
.hero-silhouette {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 62%;
  min-height: 240px;
}
.silhouette-figure {
  position: absolute;
  bottom: 0;
  display: block;
  background: linear-gradient(180deg, rgba(6, 2, 3, 0.2), rgba(4, 1, 2, 0.96) 62%);
  filter: drop-shadow(0 0 18px rgba(255, 90, 30, 0.28));
}
.silhouette-xiao {
  left: 8%;
  width: 26%;
  height: 88%;
  clip-path: polygon(
    46% 0%, 58% 6%, 62% 16%, 58% 24%, 72% 34%, 80% 56%,
    74% 74%, 84% 88%, 88% 100%, 12% 100%, 18% 86%, 26% 72%,
    22% 54%, 32% 32%, 40% 22%, 36% 10%
  );
  background: linear-gradient(180deg, rgba(10, 3, 4, 0.35), rgba(3, 1, 2, 0.98) 58%);
}
.silhouette-yao {
  right: 9%;
  width: 22%;
  height: 74%;
  clip-path: polygon(
    50% 0%, 64% 10%, 66% 22%, 58% 30%, 70% 44%, 74% 66%,
    66% 82%, 72% 100%, 28% 100%, 34% 82%, 26% 64%, 30% 42%,
    42% 30%, 34% 20%, 38% 8%
  );
  background: linear-gradient(180deg, rgba(20, 90, 96, 0.22), rgba(3, 2, 4, 0.98) 60%);
  filter: drop-shadow(0 0 20px rgba(53, 224, 208, 0.24));
}
.hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  gap: 16px 22px;
  align-items: start;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}
.poster-column {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  min-width: 0;
}
.poster-frame {
  position: relative;
  width: 100%;
  max-width: 260px;
  padding: 7px;
  background: linear-gradient(160deg, rgba(60, 18, 12, 0.85), rgba(14, 6, 8, 0.9));
  border: 1px solid rgba(255, 120, 60, 0.4);
  border-radius: 3px 22px 4px 26px / 22px 3px 26px 4px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.6), 0 14px 34px rgba(0, 0, 0, 0.66), 0 0 26px rgba(255, 106, 31, 0.24);
}
.poster-frame::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 2px 18px 3px 20px / 18px 2px 20px 3px;
  background: linear-gradient(150deg, transparent 42%, rgba(53, 224, 208, 0.12) 60%, transparent 76%);
  pointer-events: none;
}
img.poster-image {
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  border-radius: 2px 17px 3px 20px / 17px 2px 20px 3px;
  background: linear-gradient(160deg, #2a0d0a, #0d0507);
}
.poster-caption {
  margin-top: 6px;
  color: #b89b88;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-align: center;
  text-transform: uppercase;
}
.hero-info-column {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.movie-title {
  font-size: clamp(20px, 3.6vw, 34px);
  font-weight: 900;
  line-height: 1.14;
  letter-spacing: 0.02em;
  color: #fff3e6;
  text-shadow:
    0 0 14px rgba(255, 106, 31, 0.5),
    0 0 34px rgba(194, 42, 12, 0.42),
    0 2px 0 rgba(0, 0, 0, 0.6);
}
.movie-tagline {
  color: #cbb2a4;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
  max-width: 60ch;
  border-left: 2px solid rgba(53, 224, 208, 0.5);
  padding-left: 10px;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.action-btn {
  padding: 7px 18px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #ffe9d5;
  border: 1px solid rgba(255, 130, 60, 0.55);
  border-radius: 2px 14px 3px 16px / 14px 2px 16px 3px;
  background: linear-gradient(135deg, rgba(150, 44, 16, 0.75), rgba(48, 12, 10, 0.7));
  transition: transform 0.15s ease, box-shadow 0.2s ease, color 0.2s ease;
}
.action-btn:hover {
  color: #fff;
  box-shadow: 0 0 16px rgba(255, 106, 31, 0.5);
  transform: translateY(-1px);
}
.action-play {
  background: linear-gradient(135deg, #ff7a26, #b6230a 78%);
  color: #1a0603;
  text-shadow: 0 1px 0 rgba(255, 220, 180, 0.4);
}
.action-play:hover {
  color: #180502;
}
.action-follow {
  border-color: rgba(53, 224, 208, 0.5);
  background: linear-gradient(135deg, rgba(12, 66, 68, 0.8), rgba(8, 22, 26, 0.8));
  color: #b8f2ec;
}
.player-shell {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  min-width: 0;
  padding: 8px;
  background: linear-gradient(150deg, rgba(34, 12, 12, 0.92), rgba(10, 5, 7, 0.96));
  border: 1px solid var(--line);
  border-radius: 3px 20px 4px 22px / 20px 3px 22px 4px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6), inset 0 0 0 1px rgba(255, 150, 90, 0.06);
}
.player-shell.theater-mode {
  box-shadow: 0 0 0 2px rgba(255, 106, 31, 0.55), 0 18px 44px rgba(0, 0, 0, 0.75);
}
.player-shell.lights-off {
  background: #050203;
}
.player-shell.lights-off .player-controls {
  opacity: 0.55;
}
.movie-player {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 2px 15px 3px 17px / 15px 2px 17px 3px;
  object-fit: cover;
}
.player-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 4px 2px 2px;
}
.ctrl-btn {
  padding: 4px 10px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #e5cbb6;
  border: 1px solid rgba(255, 130, 60, 0.3);
  border-radius: 2px 10px 3px 11px / 10px 2px 11px 3px;
  background: linear-gradient(135deg, rgba(60, 20, 14, 0.7), rgba(22, 8, 9, 0.7));
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.ctrl-btn:hover {
  color: #fff2e2;
  border-color: rgba(255, 170, 90, 0.62);
}
.ctrl-btn.is-active {
  color: #08110f;
  background: linear-gradient(135deg, #46ecdc, #11817b);
  border-color: rgba(53, 224, 208, 0.7);
  box-shadow: 0 0 12px rgba(53, 224, 208, 0.45);
}
.ctrl-range {
  -webkit-appearance: none;
  appearance: none;
  height: 4px;
  border-radius: 3px;
  background: linear-gradient(90deg, rgba(255, 106, 31, 0.85), rgba(255, 170, 71, 0.5), rgba(255, 255, 255, 0.12));
  outline: none;
  min-width: 0;
}
.ctrl-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: radial-gradient(circle, #ffd9a8, #ff6a1f 68%);
  border: 1px solid rgba(255, 240, 220, 0.8);
  box-shadow: 0 0 10px rgba(255, 106, 31, 0.85);
  cursor: pointer;
}
.ctrl-range::-moz-range-thumb {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: radial-gradient(circle, #ffd9a8, #ff6a1f 68%);
  border: 1px solid rgba(255, 240, 220, 0.8);
  box-shadow: 0 0 10px rgba(255, 106, 31, 0.85);
  cursor: pointer;
}
.ctrl-progress {
  flex: 1 1 160px;
}
.ctrl-volume {
  flex: 0 1 96px;
  min-width: 60px;
}
.ctrl-select {
  padding: 4px 8px;
  font-size: 11.5px;
  color: #e5cbb6;
  border: 1px solid rgba(255, 130, 60, 0.3);
  border-radius: 2px 10px 3px 11px / 10px 2px 11px 3px;
  background: linear-gradient(135deg, rgba(60, 20, 14, 0.7), rgba(22, 8, 9, 0.7));
}
.ctrl-select option {
  background: #1a0b0d;
  color: #e5cbb6;
}
.block-heading, .section-heading, .region-heading {
  position: relative;
  font-weight: 800;
  color: #ffd9b0;
  letter-spacing: 0.12em;
  text-shadow: 0 0 12px rgba(255, 106, 31, 0.42);
}
.block-heading {
  font-size: 14px;
  padding-left: 12px;
  margin-bottom: 7px;
}
.block-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  height: 15px;
  transform: translateY(-50%) skewX(-14deg);
  background: linear-gradient(180deg, #ffd27a, #ff5a12 60%, #8e1c08);
  box-shadow: 0 0 10px rgba(255, 106, 31, 0.7);
}
.section-heading {
  font-size: clamp(16px, 2.4vw, 22px);
  padding-left: 16px;
  margin-bottom: 12px;
}
.section-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 6px;
  transform: skewX(-14deg);
  background: linear-gradient(180deg, #ffd27a, #ff5a12 55%, #8e1c08);
  box-shadow: 0 0 14px rgba(255, 106, 31, 0.75);
}
.cast-block {
  padding-top: 4px;
  border-top: 1px solid var(--line-soft);
}
.cast-strip {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 120, 60, 0.5) transparent;
}
.cast-strip::-webkit-scrollbar {
  height: 5px;
}
.cast-strip::-webkit-scrollbar-thumb {
  background: rgba(255, 120, 60, 0.45);
  border-radius: 4px;
}
.cast-card {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  width: 74px;
  padding: 7px 5px;
  background: linear-gradient(160deg, rgba(46, 16, 14, 0.72), rgba(14, 6, 8, 0.72));
  border: 1px solid var(--line-soft);
  border-radius: 3px 14px 4px 16px / 14px 3px 16px 4px;
  transition: border-color 0.18s ease, transform 0.18s ease;
}
.cast-card:hover {
  border-color: rgba(255, 150, 80, 0.6);
  transform: translateY(-2px);
}
.cast-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 30%, rgba(53, 224, 208, 0.55), transparent 55%),
    radial-gradient(circle at 70% 74%, rgba(255, 106, 31, 0.6), transparent 58%),
    linear-gradient(160deg, #3a1410, #12070a);
  border: 1px solid rgba(255, 150, 90, 0.4);
  box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.7), 0 0 10px rgba(255, 106, 31, 0.28);
}
.cast-name {
  font-size: 11.5px;
  font-weight: 600;
  color: #e2cbb8;
  text-align: center;
  white-space: nowrap;
}
.episode-status-block {
  padding-top: 4px;
  border-top: 1px solid var(--line-soft);
}
.status-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.status-item {
  display: flex;
  align-items: baseline;
  gap: 7px;
  padding: 5px 11px;
  background: linear-gradient(135deg, rgba(40, 14, 14, 0.8), rgba(12, 6, 8, 0.8));
  border: 1px solid var(--line-soft);
  border-radius: 2px 12px 3px 13px / 12px 2px 13px 3px;
}
.status-item dt {
  color: var(--text-dim);
  font-size: 11.5px;
  letter-spacing: 0.08em;
}
.status-item dd {
  margin: 0;
  color: #ffc98a;
  font-size: 14px;
  font-weight: 800;
  text-shadow: 0 0 10px rgba(255, 140, 60, 0.45);
}
.synopsis-block {
  padding-top: 4px;
  border-top: 1px solid var(--line-soft);
}
.seo-description {
  color: #c9b3a4;
  font-size: 12.5px;
  font-weight: 300;
  line-height: 1.72;
  margin-bottom: 8px;
  padding: 8px 10px;
  background: linear-gradient(135deg, rgba(30, 12, 13, 0.7), rgba(10, 5, 7, 0.5));
  border-left: 2px solid rgba(255, 106, 31, 0.6);
  border-radius: 0 10px 3px 0;
}
.synopsis-body {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 7px 14px;
  align-items: start;
}
.synopsis-paragraph {
  color: #b6a49a;
  font-size: 12.5px;
  font-weight: 300;
  line-height: 1.7;
  padding-left: 9px;
  border-left: 1px solid rgba(255, 150, 90, 0.22);
}
.details-block {
  padding-top: 4px;
  border-top: 1px solid var(--line-soft);
}
.detail-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 5px 12px;
  align-items: start;
}
.detail-item {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 4px 0;
  border-bottom: 1px dashed rgba(255, 150, 90, 0.14);
  min-width: 0;
}
.detail-item dt {
  flex: 0 0 auto;
  color: var(--text-dim);
  font-size: 11.5px;
  letter-spacing: 0.06em;
}
.detail-item dd {
  margin: 0;
  color: #e6d6c9;
  font-size: 12.5px;
  font-weight: 500;
  min-width: 0;
  word-break: break-word;
}
.timeline-section {
  position: relative;
  padding: 18px 18px 22px;
  border-bottom: 1px solid var(--line-soft);
  background: linear-gradient(180deg, rgba(24, 9, 10, 0.55), rgba(8, 4, 5, 0));
}
.timeline-track {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 6px 0 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 120, 60, 0.5) transparent;
}
.timeline-track::-webkit-scrollbar {
  height: 6px;
}
.timeline-track::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, #ff6a1f, #35e0d0);
  border-radius: 4px;
}
.timeline-rail {
  position: absolute;
  left: 0;
  right: 0;
  top: 34px;
  height: 2px;
  min-width: 100%;
  background: linear-gradient(90deg, rgba(255, 106, 31, 0.9), rgba(255, 170, 71, 0.5) 42%, rgba(53, 224, 208, 0.75) 100%);
  box-shadow: 0 0 12px rgba(255, 106, 31, 0.5);
}
.timeline-nodes {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: max-content;
  padding: 0 2px;
}
.timeline-node {
  position: relative;
  flex: 0 0 auto;
  width: 158px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 6px 9px 9px;
  background: linear-gradient(165deg, rgba(38, 14, 14, 0.82), rgba(11, 5, 7, 0.82));
  border: 1px solid var(--line-soft);
  border-radius: 3px 15px 4px 17px / 15px 3px 17px 4px;
  transition: border-color 0.18s ease, transform 0.18s ease;
}
.timeline-node:hover {
  border-color: rgba(255, 150, 80, 0.6);
  transform: translateY(-2px);
}
.node-timecode {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #6ff0e2;
  text-shadow: 0 0 10px rgba(53, 224, 208, 0.5);
}
.node-label {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.58;
  color: #d3c0b4;
}
.node-flame {
  align-self: center;
  width: 11px;
  height: 16px;
  margin-top: 4px;
  background: radial-gradient(ellipse at 50% 78%, #ffe9b8, #ff7a1f 42%, #b3200a 78%, transparent 90%);
  clip-path: polygon(50% 0%, 72% 34%, 88% 62%, 74% 100%, 26% 100%, 12% 62%, 28% 34%);
  filter: drop-shadow(0 0 8px rgba(255, 106, 31, 0.85));
  animation: flame-flicker 1.6s ease-in-out infinite alternate;
}
@keyframes flame-flicker {
  from {
    transform: scaleY(0.92) translateY(1px);
    opacity: 0.82;
  }
  to {
    transform: scaleY(1.08) translateY(-1px);
    opacity: 1;
  }
}
.episodes-section {
  padding: 18px 18px 22px;
  border-bottom: 1px solid var(--line-soft);
}
.episode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-items: start;
}
.episode-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 9px 11px 10px;
  background: linear-gradient(160deg, rgba(36, 13, 13, 0.82), rgba(10, 5, 7, 0.86));
  border: 1px solid var(--line-soft);
  border-radius: 3px 16px 4px 18px / 16px 3px 18px 4px;
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
  overflow: hidden;
}
.episode-card::after {
  content: "";
  position: absolute;
  right: -22px;
  top: -22px;
  width: 58px;
  height: 58px;
  background: radial-gradient(circle, rgba(255, 106, 31, 0.24), transparent 68%);
  pointer-events: none;
}
.episode-card:hover {
  border-color: rgba(255, 150, 80, 0.62);
  transform: translateY(-2px);
}
.episode-number {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #ffb066;
  text-shadow: 0 0 10px rgba(255, 106, 31, 0.45);
}
.episode-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #f4e3d5;
  line-height: 1.35;
}
.episode-summary {
  font-size: 12px;
  font-weight: 300;
  line-height: 1.62;
  color: #a8968c;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.episode-duration {
  margin-top: 2px;
  font-size: 11px;
  color: #7fd8cf;
  letter-spacing: 0.08em;
}
.comments-section {
  padding: 18px 18px 22px;
  border-bottom: 1px solid var(--line-soft);
}
.comment-stack {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
  align-items: start;
}
.comment-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 9px 11px 10px 14px;
  background: linear-gradient(150deg, rgba(30, 12, 13, 0.9), rgba(10, 6, 8, 0.88));
  border: 1px solid var(--line-soft);
  border-left: 3px solid rgba(255, 106, 31, 0.62);
  border-radius: 2px 14px 3px 16px / 14px 2px 16px 3px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.42);
  transition: border-color 0.18s ease, transform 0.18s ease;
}
.comment-card:nth-child(even) {
  border-left-color: rgba(53, 224, 208, 0.62);
}
.comment-card:hover {
  transform: translateY(-2px);
}
.comment-nickname {
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #ffc98a;
}
.comment-card:nth-child(even) .comment-nickname {
  color: #8ff0e6;
}
.comment-text {
  font-size: 12.5px;
  font-weight: 300;
  line-height: 1.66;
  color: #c2b0a5;
}
.recommend-region {
  padding: 16px 18px 20px;
  border-bottom: 1px solid var(--line-soft);
}
.recommend-region:last-of-type {
  border-bottom: 0;
}
.region-heading {
  font-size: 15px;
  padding-left: 14px;
  margin-bottom: 10px;
}
.region-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  bottom: 3px;
  width: 5px;
  transform: skewX(-14deg);
  background: linear-gradient(180deg, #ffd27a, #ff5a12 55%, #8e1c08);
  box-shadow: 0 0 12px rgba(255, 106, 31, 0.7);
}
.region-alchemy .region-heading::before {
  background: linear-gradient(180deg, #c8fff8, #35e0d0 55%, #0d6d68);
  box-shadow: 0 0 12px rgba(53, 224, 208, 0.7);
}
.region-zhongzhou .region-heading::before {
  background: linear-gradient(180deg, #e0ccff, #a06bff 55%, #4a1f9e);
  box-shadow: 0 0 12px rgba(160, 107, 255, 0.7);
}
.region-master .region-heading::before {
  background: linear-gradient(180deg, #fff0c2, #ffb347 55%, #b06400);
  box-shadow: 0 0 12px rgba(255, 179, 71, 0.7);
}
.recommend-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 8px;
  align-items: start;
}
a.recommend-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 7px;
  color: #dcc9bc;
  text-decoration: none;
  background: linear-gradient(160deg, rgba(34, 13, 13, 0.85), rgba(9, 5, 7, 0.88));
  border: 1px solid var(--line-soft);
  border-radius: 3px 15px 4px 17px / 15px 3px 17px 4px;
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.2s ease;
  min-width: 0;
}
a.recommend-item:hover {
  color: #fff2e2;
  border-color: rgba(255, 150, 80, 0.62);
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.55), 0 0 16px rgba(255, 106, 31, 0.22);
}
[data-runtime="recommendation"] img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 2px 11px 3px 13px / 11px 2px 13px 3px;
  background: linear-gradient(160deg, #2a0d0a, #0d0507);
}
.recommend-name {
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.4;
  color: #f0dccb;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.recommend-blurb {
  font-size: 11.5px;
  font-weight: 300;
  line-height: 1.55;
  color: #9d8b81;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.site-footer {
  padding: 16px 18px 22px;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(18, 7, 8, 0.7), rgba(6, 3, 4, 0.95));
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}
.footer-disclaimer {
  max-width: 78ch;
  font-size: 11.5px;
  font-weight: 300;
  line-height: 1.7;
  color: #7f7069;
}
.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
a[data-contract="footer-home"] {
  color: #ffb066;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  border-bottom: 1px solid rgba(255, 106, 31, 0.35);
  padding-bottom: 1px;
}
a[data-contract="footer-home"]:hover {
  color: #ffd6a8;
  border-bottom-color: rgba(255, 214, 168, 0.8);
}
a[data-contract="footer-sitemap"] {
  color: #8ff0e6;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  border-bottom: 1px solid rgba(53, 224, 208, 0.35);
  padding-bottom: 1px;
}
a[data-contract="footer-sitemap"]:hover {
  color: #d3fffa;
  border-bottom-color: rgba(211, 255, 250, 0.8);
}
.friend-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}
.friend-links-label {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #6f625c;
}
a.runtime-friend-link {
  color: #a08f86;
  text-decoration: none;
  font-size: 11.5px;
  font-weight: 300;
  white-space: nowrap;
  padding: 2px 8px;
  border: 1px solid rgba(255, 150, 90, 0.14);
  border-radius: 2px 9px 3px 10px / 9px 2px 10px 3px;
  background: rgba(30, 12, 13, 0.5);
  transition: color 0.15s ease, border-color 0.15s ease;
}
a.runtime-friend-link:hover {
  color: #ffc98a;
  border-color: rgba(255, 150, 90, 0.42);
}
@media (max-width: 900px) {.hero-inner {
    grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
    gap: 14px 18px;
  }
.poster-frame {
    max-width: 210px;
  }
.synopsis-body {
    grid-template-columns: 1fr;
  }}
@media (max-width: 720px) {.hero-section {
    padding: 16px 14px 22px;
  }
.hero-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
.poster-column {
    justify-content: center;
  }
.poster-frame {
    max-width: 220px;
  }
.hero-silhouette {
    height: 48%;
    min-height: 180px;
  }
.silhouette-xiao {
    left: 4%;
    width: 30%;
  }
.silhouette-yao {
    right: 5%;
    width: 26%;
  }
.movie-tagline {
    max-width: none;
  }
.timeline-section, .episodes-section, .comments-section, .recommend-region {
    padding-left: 14px;
    padding-right: 14px;
  }
.episode-grid {
    grid-template-columns: minmax(0, 1fr);
  }
.comment-stack {
    grid-template-columns: minmax(0, 1fr);
  }
.recommend-grid {
    grid-template-columns: repeat(auto-fill, minmax(136px, 1fr));
  }
.site-footer {
    padding: 14px 14px 20px;
  }}
@media (max-width: 480px) {body {
    font-size: 13.5px;
  }
.site-header {
    padding: 7px 12px;
  }
a[data-contract="site-name"] {
    font-size: 15px;
    letter-spacing: 0.1em;
  }
.hero-section {
    padding: 14px 12px 20px;
  }
.hero-actions {
    gap: 6px;
  }
.action-btn {
    flex: 1 1 auto;
    padding: 7px 12px;
    text-align: center;
  }
.player-shell {
    padding: 6px;
  }
.ctrl-btn {
    padding: 4px 8px;
    font-size: 11px;
  }
.ctrl-volume {
    flex: 1 1 70px;
  }
.timeline-section, .episodes-section, .comments-section, .recommend-region {
    padding-left: 12px;
    padding-right: 12px;
  }
.timeline-node {
    width: 146px;
  }
.recommend-grid {
    grid-template-columns: repeat(auto-fill, minmax(124px, 1fr));
    gap: 7px;
  }
.cast-card {
    width: 68px;
  }
.cast-avatar {
    width: 44px;
    height: 44px;
  }
.site-footer {
    padding: 12px 12px 18px;
  }}

footer{text-align:center!important}
footer *{justify-content:center!important}
footer :is(div,nav,ul,ol,p,section,address){margin-left:auto!important;margin-right:auto!important}
