:root {
  --ink:#12080a;
  --charcoal:#1b1012;
  --charcoal-2:#241417;
  --vermilion:#9e1f26;
  --vermilion-hot:#c62b30;
  --vermilion-deep:#6d1218;
  --white:#f3ece2;
  --white-dim:#cfc4b6;
  --brass:#c9a35a;
  --brass-dim:#8f7434;
  --paper:#e8dcc8;
  --line:rgba(201,163,90,.28);
  --gap:14px;
  --pad:14px;
  --serif:"Songti SC","SimSun","Noto Serif CJK SC",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Heiti SC",sans-serif;
}
*, *::before, *::after {box-sizing:border-box}
html, body {margin:0;padding:0}
html {-webkit-text-size-adjust:100%}
body {
  background:
    radial-gradient(120% 90% at 15% 0%,rgba(158,31,38,.32),transparent 58%),
    linear-gradient(180deg,#0d0607 0%,#140a0c 40%,#0b0506 100%);
  background-color:var(--ink);
  color:var(--white-dim);
  font-family:var(--sans);
  font-size:14px;
  font-weight:300;
  line-height:1.5;
  letter-spacing:.01em;
  overflow-x:hidden;
}
img {max-width:100%;display:block;border:0}
a {color:inherit;text-decoration:none}
ul, ol, dl, dd, p, h1, h2 {margin:0;padding:0}
li {list-style:none}
button, input {font:inherit;color:inherit}
h1, h2 {font-family:var(--serif);font-weight:800;color:var(--white);line-height:1.22}
.section-heading {
  font-family:var(--serif);
  font-weight:800;
  font-size:15px;
  letter-spacing:.14em;
  color:var(--white);
  padding-left:9px;
  border-left:3px solid var(--vermilion-hot);
  margin-bottom:9px;
}
.site-header {
  position:sticky;
  top:0;
  z-index:60;
  background:linear-gradient(180deg,rgba(13,6,7,.96),rgba(13,6,7,.82));
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(4px);
}
.header-inner {
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  max-width:1180px;
  margin:0 auto;
  padding:8px 12px;
}
a[data-contract="site-name"] {
  font-family:var(--serif);
  font-weight:800;
  font-size:17px;
  letter-spacing:.18em;
  color:var(--white);
  text-decoration:none;
  text-shadow:0 0 12px rgba(198,43,48,.5);
}
a[data-contract="site-name"]:hover {color:var(--vermilion-hot)}
.category-bar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  flex:1 1 auto;
  min-width:0;
}
a.runtime-category {
  display:inline-block;
  white-space:nowrap;
  font-size:12px;
  letter-spacing:.1em;
  color:var(--brass);
  text-decoration:none;
  border:1px solid var(--line);
  padding:2px 9px;
  background:rgba(109,18,24,.28);
}
a.runtime-category:hover {
  color:var(--white);
  border-color:var(--vermilion-hot);
  background:var(--vermilion-deep);
}
.page-main {
  max-width:1180px;
  margin:0 auto;
  padding:0 12px 26px;
  display:block;
}
.hero-stage {
  position:relative;
  margin:12px 0 18px;
}
.hero-figure {
  position:relative;
  overflow:hidden;
  background:#080405;
  border:1px solid var(--line);
  min-height:0;
}
.hero-portrait {
  width:100%;
  height:clamp(220px,44vw,430px);
  object-fit:cover;
  object-position:50% 22%;
  filter:contrast(1.12) saturate(1.05) brightness(.86);
}
.hero-figure::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,4,5,.92) 0%,rgba(8,4,5,.55) 34%,rgba(8,4,5,0) 62%),
    linear-gradient(0deg,rgba(8,4,5,.9) 0%,rgba(8,4,5,0) 45%),
    radial-gradient(70% 60% at 62% 34%,rgba(198,43,48,.22),transparent 70%);
}
.hero-banner {
  position:absolute;
  left:16px;
  bottom:16px;
  right:auto;
  max-width:min(72%,420px);
  z-index:2;
  padding:8px 12px;
  background:linear-gradient(90deg,rgba(109,18,24,.86),rgba(109,18,24,.28));
  border-left:3px solid var(--vermilion-hot);
}
.hero-slogan {
  font-family:var(--serif);
  font-weight:800;
  font-size:clamp(14px,2.1vw,21px);
  letter-spacing:.16em;
  color:var(--white);
  line-height:1.35;
  text-shadow:0 1px 10px rgba(0,0,0,.85);
}
.movie-overview {
  display:grid;
  grid-template-columns:minmax(150px,208px) minmax(0,1fr);
  gap:clamp(12px,2.2vw,22px);
  align-items:start;
  background:linear-gradient(160deg,rgba(36,20,23,.94),rgba(14,7,9,.94));
  border:1px solid var(--line);
  border-top:2px solid var(--vermilion-deep);
  padding:var(--pad);
  margin-bottom:20px;
}
.overview-poster-col {
  min-width:0;
  align-self:start;
}
.overview-poster {
  width:100%;
  height:auto;
  object-fit:cover;
  border:1px solid rgba(201,163,90,.4);
  box-shadow:0 8px 24px rgba(0,0,0,.7);
  filter:contrast(1.08) brightness(.94);
}
.overview-info-col {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.movie-title {
  font-size:clamp(20px,3.2vw,30px);
  letter-spacing:.06em;
  color:var(--white);
  text-shadow:0 0 18px rgba(198,43,48,.45);
}
.movie-tagline {
  font-family:var(--serif);
  font-size:13px;
  letter-spacing:.1em;
  color:var(--brass);
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.cast-roster {min-width:0}
.cast-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(72px,1fr));
  gap:8px;
  align-items:start;
}
.cast-card {
  position:relative;
  min-height:64px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:6px 4px 5px;
  background:linear-gradient(180deg,rgba(158,31,38,.32),rgba(13,6,7,.9));
  border:1px solid var(--line);
  overflow:hidden;
}
.cast-card::before {
  content:"";
  position:absolute;
  left:50%;
  top:6px;
  width:14px;
  height:14px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle at 40% 35%,rgba(243,236,226,.85),rgba(201,163,90,.2));
  opacity:.5;
}
.cast-name {
  position:relative;
  z-index:1;
  font-family:var(--serif);
  font-weight:800;
  font-size:12px;
  letter-spacing:.08em;
  color:var(--white);
  text-align:center;
  line-height:1.25;
}
.synopsis-block {min-width:0}
.synopsis-para {
  font-size:13px;
  line-height:1.72;
  color:var(--white-dim);
  margin-bottom:7px;
  text-align:justify;
}
.synopsis-para:last-child {margin-bottom:0}
.synopsis-para:first-of-type::first-letter {
  font-family:var(--serif);
  font-weight:800;
  font-size:20px;
  color:var(--vermilion-hot);
}
.episode-status {
  border-top:1px solid var(--line);
  padding-top:11px;
  min-width:0;
}
.status-line {
  font-size:12px;
  letter-spacing:.06em;
  color:var(--brass);
  margin-bottom:8px;
}
.player-shell {
  width:100%;
  min-width:0;
  position:relative;
  background:#080405;
  border:1px solid var(--line);
}
.player-video {
  display:block;
  width:100%;
  height:auto;
  background:#000;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:7px 8px;
  background:linear-gradient(180deg,rgba(36,20,23,.95),rgba(13,6,7,.95));
  border-top:1px solid var(--line);
}
.ctrl-btn {
  font-size:11px;
  letter-spacing:.04em;
  padding:3px 8px;
  color:var(--white-dim);
  background:rgba(109,18,24,.4);
  border:1px solid var(--line);
  cursor:pointer;
  white-space:nowrap;
  line-height:1.5;
}
.ctrl-btn:hover {
  color:var(--white);
  background:var(--vermilion-deep);
  border-color:var(--vermilion-hot);
}
.ctrl-btn.is-active {
  color:var(--white);
  background:var(--vermilion);
  border-color:var(--vermilion-hot);
}
.ctrl-progress {
  flex:1 1 120px;
  min-width:80px;
  height:4px;
  -webkit-appearance:none;
  appearance:none;
  background:linear-gradient(90deg,var(--vermilion),rgba(201,163,90,.35));
  border-radius:2px;
  cursor:pointer;
}
.ctrl-volume {
  flex:0 1 74px;
  min-width:56px;
  height:4px;
  -webkit-appearance:none;
  appearance:none;
  background:linear-gradient(90deg,var(--brass-dim),rgba(201,163,90,.2));
  border-radius:2px;
  cursor:pointer;
}
.ctrl-progress::-webkit-slider-thumb, .ctrl-volume::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--white);
  border:2px solid var(--vermilion-hot);
}
.ctrl-progress::-moz-range-thumb, .ctrl-volume::-moz-range-thumb {
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--white);
  border:2px solid var(--vermilion-hot);
}
.player-shell.is-playing {border-color:var(--vermilion-hot)}
.player-shell.is-muted .ctrl-volume {opacity:.35}
.details-block {
  border-top:1px solid var(--line);
  padding-top:11px;
}
.details-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(148px,1fr));
  gap:0 14px;
  align-items:start;
}
.detail-row {
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:3px 0;
  border-bottom:1px dotted rgba(201,163,90,.16);
}
.detail-key {
  flex:0 0 auto;
  font-size:12px;
  letter-spacing:.08em;
  color:var(--brass-dim);
}
.detail-value {
  font-size:12px;
  color:var(--white-dim);
}
.timeline-fold {
  margin-bottom:20px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(36,20,23,.55),rgba(13,6,7,.75));
  padding:var(--pad);
}
.timeline-track {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:8px;
  align-items:start;
}
.timeline-card {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:9px 10px 13px;
  background:linear-gradient(160deg,rgba(232,220,200,.1),rgba(13,6,7,.85));
  border:1px solid var(--line);
  border-left:3px solid var(--vermilion-deep);
  overflow:hidden;
}
.timeline-card::after {
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:14px;
  height:14px;
  background:linear-gradient(315deg,rgba(201,163,90,.45) 0 50%,rgba(13,6,7,0) 50%);
  border-top:1px solid rgba(201,163,90,.3);
  border-left:1px solid rgba(201,163,90,.3);
}
.timeline-time {
  font-family:var(--serif);
  font-weight:800;
  font-size:12px;
  letter-spacing:.1em;
  color:var(--vermilion-hot);
}
.timeline-label {
  font-size:12px;
  line-height:1.45;
  color:var(--white-dim);
}
.episodes-panel {
  margin-bottom:20px;
}
.episode-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:8px 18px;
  align-items:start;
}
.episode-item {
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:9px;
  row-gap:1px;
  padding:7px 0;
  border-bottom:1px solid rgba(201,163,90,.16);
  align-items:baseline;
}
.episode-item.is-active {
  background:linear-gradient(90deg,rgba(158,31,38,.28),transparent 78%);
  border-bottom-color:var(--vermilion-hot);
}
.episode-number {
  grid-row:1 / span 2;
  align-self:start;
  justify-self:start;
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid var(--vermilion-hot);
  color:var(--vermilion-hot);
  font-family:var(--serif);
  font-weight:800;
  font-size:11px;
  line-height:1;
}
.episode-item.is-active .episode-number {
  background:var(--vermilion);
  color:var(--white);
  border-color:var(--vermilion-hot);
}
.episode-title {
  grid-column:2;
  font-family:var(--serif);
  font-weight:800;
  font-size:13px;
  letter-spacing:.04em;
  color:var(--white);
}
.episode-summary {
  grid-column:2;
  font-size:12px;
  line-height:1.5;
  color:var(--white-dim);
}
.episode-duration {
  grid-column:3;
  grid-row:1;
  font-size:11px;
  letter-spacing:.04em;
  color:var(--brass-dim);
  white-space:nowrap;
}
.comments-panel {
  margin-bottom:20px;
  padding:var(--pad);
  background:
    radial-gradient(90% 120% at 0% 0%,rgba(158,31,38,.35),transparent 60%),
    linear-gradient(180deg,rgba(109,18,24,.42),rgba(13,6,7,.9));
  border:1px solid rgba(158,31,38,.45);
}
.comments-stack {
  position:relative;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:10px;
  align-items:start;
}
.comment-card {
  padding:9px 11px 8px;
  border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(36,20,23,.92),rgba(13,6,7,.92));
}
.comment-card-primary {
  position:relative;
  z-index:2;
  border-left:3px solid var(--vermilion-hot);
  box-shadow:0 10px 26px rgba(0,0,0,.7);
  background:linear-gradient(160deg,rgba(109,18,24,.75),rgba(13,6,7,.95));
}
.comment-card-secondary {
  position:relative;
  z-index:1;
  margin-top:-6px;
}
.comment-text {
  font-size:12.5px;
  line-height:1.6;
  color:var(--white-dim);
  margin-bottom:5px;
}
.comment-card-primary .comment-text {
  color:var(--white);
  font-size:13px;
}
.comment-author {
  font-family:var(--serif);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--brass);
}
.comment-author::before {content:"—— "}
.recommend-region {
  margin-bottom:18px;
}
.recommend-title {
  font-family:var(--serif);
  font-weight:800;
  font-size:14px;
  letter-spacing:.14em;
  color:var(--white);
  margin-bottom:8px;
  padding-left:9px;
  border-left:3px solid var(--vermilion-hot);
}
.recommend-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  align-items:start;
}
a.recommend-item {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:6px;
  background:linear-gradient(180deg,rgba(36,20,23,.85),rgba(11,5,6,.95));
  border:1px solid rgba(201,163,90,.2);
  color:var(--white-dim);
  text-decoration:none;
  transition:border-color .18s ease,transform .18s ease;
}
a.recommend-item:hover {
  border-color:var(--vermilion-hot);
  transform:translateY(-2px);
}
a[data-runtime="recommendation"] img {
  width:100%;
  aspect-ratio:16 / 10;
  height:auto;
  object-fit:cover;
  object-position:50% 30%;
  filter:contrast(1.08) brightness(.85) saturate(1.05);
  border:1px solid rgba(201,163,90,.16);
}
a[data-runtime="recommendation"]:hover img {
  filter:contrast(1.12) brightness(.98) saturate(1.1);
}
.recommend-name {
  font-family:var(--serif);
  font-weight:800;
  font-size:12.5px;
  letter-spacing:.04em;
  color:var(--white);
  line-height:1.3;
}
.recommend-blurb {
  font-size:11.5px;
  line-height:1.45;
  color:var(--white-dim);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.recommend-dot {
  position:absolute;
  right:7px;
  top:7px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--vermilion-hot);
  box-shadow:0 0 8px rgba(198,43,48,.9);
}
.site-footer {
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(13,6,7,.6),rgba(6,3,4,.98));
  padding:14px 12px 22px;
  max-width:1180px;
  margin:0 auto;
}
.footer-disclaimer {
  font-size:11.5px;
  line-height:1.6;
  color:rgba(207,196,182,.62);
  margin-bottom:9px;
}
.footer-nav-row {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  padding-bottom:9px;
  margin-bottom:9px;
  border-bottom:1px dotted rgba(201,163,90,.2);
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-family:var(--serif);
  font-weight:800;
  font-size:12.5px;
  letter-spacing:.12em;
  color:var(--brass);
  text-decoration:none;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color:var(--white);
  text-decoration:underline;
  text-decoration-color:var(--vermilion-hot);
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 12px;
}
.friend-links-label {
  font-family:var(--serif);
  font-weight:800;
  font-size:11.5px;
  letter-spacing:.14em;
  color:var(--white-dim);
}
a.runtime-friend-link {
  font-size:11.5px;
  color:rgba(207,196,182,.6);
  text-decoration:none;
  white-space:nowrap;
}
a.runtime-friend-link:hover {
  color:var(--vermilion-hot);
  text-decoration:underline;
}
body.lights-off {background:#000}
body.lights-off .page-main {opacity:.86}
body.theater-mode .movie-overview {
  border-color:var(--vermilion-hot);
  box-shadow:0 0 0 1px rgba(198,43,48,.4),0 12px 40px rgba(0,0,0,.8);
}
body.theater-mode .player-shell {
  border-color:var(--vermilion-hot);
  box-shadow:0 0 26px rgba(198,43,48,.35);
}
.player-shell.is-playing .ctrl-progress {
  background:linear-gradient(90deg,var(--vermilion-hot),rgba(201,163,90,.4));
}
.ctrl-btn.is-active.play, .ctrl-btn.is-active.pause, .ctrl-btn.is-active.mute, .ctrl-btn.is-active.volume, .ctrl-btn.is-active.progress, .ctrl-btn.is-active.speed, .ctrl-btn.is-active.pip, .ctrl-btn.is-active.fullscreen, .ctrl-btn.is-active.theater, .ctrl-btn.is-active.light, .ctrl-btn.is-active.click, .ctrl-btn.is-active.input, .ctrl-btn.is-active.player, .ctrl-btn.is-active.timeupdate, .ctrl-btn.is-active.x {
  color:var(--white);
  background:var(--vermilion);
  border-color:var(--vermilion-hot);
}
@media (max-width:900px){.recommend-grid {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.movie-overview {
    grid-template-columns:minmax(0,1fr);
  }
.overview-poster-col {
    max-width:190px;
  }
.episode-list {grid-template-columns:minmax(0,1fr)}
.recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.comments-stack {grid-template-columns:minmax(0,1fr)}
.comment-card-secondary {margin-top:0}
.hero-portrait {height:clamp(200px,58vw,320px)}
.hero-banner {max-width:82%}}
@media (max-width:480px){.header-inner {padding:7px 9px;gap:9px}
.page-main {padding:0 9px 20px}
.movie-overview {padding:11px}
.timeline-track {grid-template-columns:repeat(2,minmax(0,1fr))}
.recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.details-list {grid-template-columns:minmax(0,1fr)}
.cast-list {grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-banner {left:10px;bottom:10px;max-width:88%}
.site-footer {padding:12px 9px 20px}}

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}
