* {box-sizing:border-box;margin:0;padding:0}
html {-webkit-text-size-adjust:100%}
body {
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Heiti SC","SimHei",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  background:#1b1d20;
  color:#c8ccce;
  font-size:13px;
  line-height:1.5;
  letter-spacing:.01em;
  overflow-x:hidden;
}
img, video {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
ul, ol {list-style:none}
h1, h2, h3 {letter-spacing:-.02em;font-weight:800;line-height:1.25}
button, input, select {font:inherit;color:inherit}
.site-header {
  position:sticky;top:0;z-index:60;
  background:rgba(20,22,24,.94);
  border-bottom:1px solid #2c2f33;
  backdrop-filter:blur(6px);
}
.header-inner {
  display:flex;align-items:center;gap:14px;
  padding:8px 16px;
  max-width:1440px;margin:0 auto;
}
.site-name {
  font-size:15px;font-weight:800;letter-spacing:-.03em;
  color:#e9eaec;
  padding-left:11px;
  position:relative;
  white-space:nowrap;
}
.site-name::before {
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:4px;height:15px;background:#8c1f24;
}
a[data-contract="site-name"] {color:#e9eaec;text-decoration:none}
a[data-contract="site-name"]:hover {color:#c8403f}
.category-bar {
  display:flex;flex-wrap:wrap;gap:6px;
  min-width:0;
}
a.runtime-category {
  display:inline-block;
  white-space:nowrap;
  font-size:11.5px;
  color:#9aa0a5;
  text-decoration:none;
  border:1px solid #33373c;
  padding:3px 10px;
  background:#202327;
  transition:color .15s,border-color .15s,background .15s;
}
a.runtime-category:hover {color:#e6e8ea;border-color:#8c1f24;background:#2a2223}
.page-main {
  max-width:1440px;
  margin:0 auto;
  padding:0 16px 22px;
}
.hero-shell {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.05fr) 216px;
  gap:12px;
  padding:16px 0 14px;
  align-items:start;
}
.hero-figure {
  position:relative;
  display:flex;flex-direction:column;gap:8px;
  min-width:0;
}
.poster-column {
  position:relative;
  display:flex;
}
.main-poster {
  width:100%;
  height:auto;
  object-fit:cover;
  border:1px solid #33373c;
  filter:saturate(.82) contrast(1.04);
}
.hero-veil {
  position:relative;
  border:1px solid #2c2f33;
  background:linear-gradient(120deg,#202327,#171a1d);
  padding:7px 9px;
  overflow:hidden;
}
.hero-veil::after {
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 80% 20%,rgba(140,31,36,.28),transparent 62%);
  pointer-events:none;
}
.silhouette-row {
  display:flex;gap:6px;flex-wrap:wrap;position:relative;z-index:1;
}
.silhouette-item {
  font-size:10.5px;
  color:#6d7378;
  letter-spacing:.06em;
  border:1px solid #34383d;
  padding:2px 7px;
  background:#212427;
  filter:blur(.35px);
  text-shadow:0 0 8px rgba(0,0,0,.5);
}
.movie-title {
  font-size:19px;
  color:#eceded;
  line-height:1.2;
}
.movie-tagline {
  font-size:11.5px;
  color:#8b9196;
  line-height:1.55;
  border-left:2px solid #8c1f24;
  padding-left:8px;
}
.player-panel {
  display:flex;flex-direction:column;
  min-width:0;
  border:1px solid #2f3338;
  background:#141618;
}
.player-video {
  display:block;
  background:#000;
}
.player-controls {
  display:flex;flex-wrap:wrap;align-items:center;gap:5px;
  padding:7px 8px;
  background:#1c1f22;
  border-top:1px solid #2c2f33;
}
.control-btn {
  background:#26292d;
  border:1px solid #383c41;
  color:#c3c7ca;
  font-size:11px;
  padding:3px 8px;
  cursor:pointer;
  letter-spacing:.02em;
  transition:background .15s,color .15s,border-color .15s;
}
.control-btn:hover {background:#8c1f24;border-color:#8c1f24;color:#f2f2f2}
.control-btn.is-playing {background:#8c1f24;border-color:#8c1f24;color:#f2f2f2}
.control-btn.is-muted, .control-btn.is-active {background:#3a1a1c;border-color:#8c1f24;color:#e0938f}
.control-range {
  -webkit-appearance:none;appearance:none;
  height:3px;background:#3a3e43;
  flex:1 1 90px;min-width:70px;
  cursor:pointer;
  border-radius:0;
}
.control-range::-webkit-slider-thumb {
  -webkit-appearance:none;appearance:none;
  width:9px;height:13px;background:#8c1f24;border:0;cursor:pointer;
}
.control-range::-moz-range-thumb {width:9px;height:13px;background:#8c1f24;border:0;border-radius:0;cursor:pointer}
.control-label {
  display:inline-flex;align-items:center;gap:4px;
  font-size:10.5px;color:#8b9196;
  white-space:nowrap;
}
.control-select {
  background:#26292d;
  border:1px solid #383c41;
  color:#c3c7ca;
  font-size:11px;
  padding:2px 4px;
  cursor:pointer;
}
.cast-rail {
  border:1px solid #2c2f33;
  background:#1e2124;
  padding:9px;
  min-width:0;
}
.rail-heading {
  font-size:12px;
  color:#e4e6e8;
  padding-bottom:6px;
  margin-bottom:7px;
  border-bottom:1px solid #8c1f24;
  letter-spacing:.04em;
}
.cast-list {display:flex;flex-direction:column;gap:7px}
.cast-item {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:8px;
  align-items:center;
}
.cast-portrait {
  grid-row:1 / span 2;
  width:34px;height:44px;
  display:block;
  background:#2a2e32;
  border:1px solid #3a3e43;
  filter:saturate(.28) brightness(.86);
}
.cast-portrait-1 {background:linear-gradient(150deg,#4a4f54,#26292d 70%)}
.cast-portrait-2 {background:linear-gradient(150deg,#5a4a4c,#26292d 70%)}
.cast-portrait-3 {background:linear-gradient(150deg,#43484d,#232629 70%)}
.cast-portrait-4 {background:linear-gradient(150deg,#565a5e,#26292d 70%)}
.cast-name {
  font-size:11.5px;color:#d8dbdd;font-weight:700;
  letter-spacing:-.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cast-role {
  font-size:10px;color:#7c8287;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.synopsis-block, .detail-block, .episode-status {
  min-width:0;
}
.block-heading {
  font-size:12.5px;
  color:#e4e6e8;
  margin-bottom:7px;
  padding-left:9px;
  position:relative;
  letter-spacing:.02em;
}
.block-heading::before {
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:12px;background:#8c1f24;
}
.synopsis-block {grid-column:1 / span 2}
.synopsis-block .seo-lead {
  border-left:1px solid #33373c;
  padding:0 0 0 9px;
  margin-bottom:8px;
}
.seo-text {
  font-size:11.5px;color:#9ba1a6;line-height:1.62;
}
.synopsis-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.synopsis-item {
  font-size:11px;
  color:#8d9398;
  line-height:1.6;
  background:#1e2124;
  border:1px solid #2b2f33;
  border-left:2px solid #3a1a1c;
  padding:7px 9px;
}
.episode-status {
  grid-column:3;
  border:1px solid #2c2f33;
  background:#1e2124;
  padding:9px;
}
.status-line {
  font-size:11px;
  color:#9ba1a6;
  padding:3px 0;
  border-bottom:1px dashed #2f3338;
}
.status-line:last-child {border-bottom:0}
.status-line:first-of-type {color:#c8403f;font-weight:700}
.detail-block {
  grid-column:1 / span 2;
}
.detail-list {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:#2b2f33;
  border:1px solid #2b2f33;
}
.detail-row {
  background:#1e2124;
  padding:6px 8px;
  display:flex;flex-direction:column;gap:1px;
  min-width:0;
}
.detail-key {
  font-size:10px;color:#71777c;letter-spacing:.05em;
}
.detail-value {
  font-size:11.5px;color:#cfd3d6;
  overflow-wrap:break-word;
}
.timeline-strip {
  border-top:1px solid #2c2f33;
  border-bottom:1px solid #2c2f33;
  background:#191c1f;
  padding:11px 0 13px;
  margin:4px 0 12px;
}
.strip-heading {
  font-size:12.5px;color:#e4e6e8;
  margin-bottom:11px;padding-left:9px;position:relative;
}
.strip-heading::before {
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:12px;background:#8c1f24;
}
.timeline-track {
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  padding-top:14px;
}
.timeline-track::before {
  content:"";
  position:absolute;left:0;right:0;top:8px;height:1px;
  background:linear-gradient(90deg,#4a1417,#8c1f24 55%,#4a1417);
}
.timeline-node {
  position:relative;
  padding:0 4px;
  opacity:.5;
  transition:opacity .2s;
  min-width:0;
}
.timeline-node:hover {opacity:.85}
.node-dot {
  position:absolute;
  top:-11px;left:4px;
  width:9px;height:9px;
  background:#8c1f24;
  border:2px solid #191c1f;
  box-shadow:0 0 0 1px #8c1f24;
}
.node-timecode {
  display:block;
  font-size:10.5px;color:#c8403f;font-weight:700;
  letter-spacing:.04em;
  margin-bottom:3px;
}
.node-label {
  display:block;
  font-size:10.5px;color:#8b9196;line-height:1.5;
}
.timeline-node-current {
  opacity:1;
}
.timeline-node-current .node-dot {
  width:12px;height:12px;
  top:-13px;
  background:#e0463f;
  box-shadow:0 0 0 2px #4a1417,0 0 12px rgba(224,70,63,.7);
}
.timeline-node-current .node-timecode {color:#e0463f}
.timeline-node-current .node-label {color:#c3c7ca}
.episode-grid-shell {margin-bottom:14px}
.grid-heading {
  font-size:12.5px;color:#e4e6e8;
  margin-bottom:8px;padding-left:9px;position:relative;
}
.grid-heading::before {
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:12px;background:#8c1f24;
}
.episode-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  align-items:start;
}
.episode-card {
  position:relative;
  background:#1e2124;
  border:1px solid #2b2f33;
  border-top:2px solid #3a1a1c;
  padding:9px 10px 10px;
  min-height:0;
  transition:background .18s,border-color .18s;
  overflow:hidden;
}
.episode-card:hover {
  background:#26292d;
  border-top-color:#8c1f24;
}
.episode-title {
  font-size:12px;color:#dfe1e3;
  margin-bottom:5px;
  letter-spacing:-.01em;
}
.episode-summary {
  font-size:10.5px;
  color:#868c91;
  line-height:1.6;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition:max-height .28s ease,opacity .22s ease,margin .28s ease;
  margin-bottom:0;
}
.episode-card:hover .episode-summary, .episode-card:focus-within .episode-summary {
  max-height:220px;
  opacity:1;
  margin-bottom:6px;
}
.episode-duration {
  display:inline-block;
  font-size:10px;
  color:#9aa0a5;
  background:#2a2e32;
  border:1px solid #383c41;
  padding:1px 6px;
  letter-spacing:.03em;
}
.recommend-region {
  border-top:1px solid #2c2f33;
  padding:11px 0 12px;
  margin-bottom:6px;
  min-width:0;
}
.region-heading {
  font-size:12.5px;color:#e4e6e8;
  margin-bottom:8px;padding-left:9px;position:relative;
}
.region-heading::before {
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:12px;background:#8c1f24;
}
.region-list {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  align-items:start;
}
.recommend-region:last-of-type .region-list {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.region-item {min-width:0}
a.recommend-root {
  display:flex;flex-direction:column;gap:5px;
  background:#1e2124;
  border:1px solid #2b2f33;
  border-left:2px solid #3a1a1c;
  padding:7px;
  color:#c3c7ca;
  text-decoration:none;
  transition:background .16s,border-color .16s;
  min-width:0;
}
a.recommend-root:hover {background:#26292d;border-left-color:#8c1f24}
[data-runtime="recommendation"] img, .recommend-pic {
  width:100%;
  aspect-ratio:16 / 10;
  height:auto;
  object-fit:cover;
  background:#26292d;
  filter:saturate(.4) brightness(.9);
  transition:filter .2s;
}
a.recommend-root:hover .recommend-pic {filter:saturate(.85) brightness(1)}
.recommend-name {
  font-size:11.5px;font-weight:700;color:#dcdfe1;
  line-height:1.35;
  overflow-wrap:break-word;
}
.recommend-blurb {
  font-size:10.5px;color:#868c91;line-height:1.55;
  overflow-wrap:break-word;
}
.comment-stack-shell {
  border-top:1px solid #2c2f33;
  padding:12px 0 16px;
  margin-top:2px;
}
.stack-heading {
  font-size:12.5px;color:#e4e6e8;
  margin-bottom:10px;padding-left:9px;position:relative;
}
.stack-heading::before {
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:12px;background:#8c1f24;
}
.comment-stack {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  align-items:start;
}
.comment-note {
  background:#232629;
  border:1px solid #33373c;
  border-top:2px solid #4a1417;
  padding:9px 10px 8px;
  box-shadow:0 3px 10px rgba(0,0,0,.42);
  transition:transform .18s,box-shadow .18s;
  min-width:0;
  overflow-wrap:break-word;
}
.comment-note:hover {
  transform:rotate(0deg) scale(1.015);
  box-shadow:0 6px 16px rgba(0,0,0,.6);
  z-index:2;position:relative;
}
.comment-note-a {transform:rotate(-1.1deg)}
.comment-note-b {transform:rotate(.9deg)}
.comment-note-c {transform:rotate(-.6deg)}
.comment-note-d {transform:rotate(1.4deg)}
.comment-note-e {transform:rotate(-1.4deg)}
.comment-note-f {transform:rotate(.7deg)}
.comment-note-g {transform:rotate(-.9deg)}
.comment-text {
  font-size:11px;
  color:#b7bcc0;
  line-height:1.6;
  margin-bottom:6px;
}
.comment-author {
  display:block;
  font-size:10px;
  color:#7c8287;
  text-align:right;
  letter-spacing:.04em;
}
.comment-author::before {content:"— ";color:#8c1f24}
.site-footer {
  border-top:1px solid #2c2f33;
  background:#141618;
  padding:12px 16px 16px;
  max-width:1440px;
  margin:0 auto;
}
.footer-disclaimer {
  font-size:10px;
  color:#6f7579;
  line-height:1.6;
  margin-bottom:9px;
  max-width:900px;
}
.footer-nav {
  display:flex;flex-wrap:wrap;gap:12px;
  margin-bottom:9px;
}
.footer-link {
  font-size:11px;
  color:#9aa0a5;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .15s,border-color .15s;
}
a[data-contract="footer-home"] {color:#b7bcc0;text-decoration:none}
a[data-contract="footer-home"]:hover {color:#c8403f;border-bottom-color:#8c1f24}
a[data-contract="footer-sitemap"] {color:#9aa0a5;text-decoration:none}
a[data-contract="footer-sitemap"]:hover {color:#c8403f;border-bottom-color:#8c1f24}
.footer-friends {
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;
}
.friends-label {
  font-size:10.5px;color:#6f7579;letter-spacing:.08em;
}
a.runtime-friend-link {
  font-size:10.5px;
  color:#868c91;
  text-decoration:none;
  border-bottom:1px dotted #383c41;
  transition:color .15s,border-color .15s;
}
a.runtime-friend-link:hover {color:#c8403f;border-bottom-color:#8c1f24}
.player-panel .play .is-playing {background:#8c1f24}
.player-panel .pause, .player-panel .mute, .player-panel .volume, .player-panel .speed, .player-panel .pip, .player-panel .fullscreen, .player-panel .progress, .player-panel .timeupdate, .player-panel .input, .player-panel .change, .player-panel .click {outline:none}
.hero-shell.lights-off .player-panel {box-shadow:0 0 0 1px #8c1f24,0 0 26px rgba(140,31,36,.35)}
.hero-shell.theater-mode .player-panel {grid-column:1 / -1}
.hero-shell.theater-mode .player-video {max-height:70vh}
@media (max-width:1180px){.hero-shell {
    grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);
  }
.synopsis-block {grid-column:1 / -1}
.episode-status {grid-column:2}
.detail-block {grid-column:1 / -1}
.detail-list {grid-template-columns:repeat(3,minmax(0,1fr))}
.episode-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.comment-stack {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.hero-shell {
    grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);
  }
.cast-rail {grid-column:2;grid-row:auto}
.episode-status {grid-column:2}
.timeline-track {grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}
.timeline-track::before {display:none}
.timeline-node {padding-left:12px}
.node-dot {top:4px;left:0}
.timeline-node-current .node-dot {top:3px;left:-1px}
.region-list, .recommend-region:last-of-type .region-list {grid-template-columns:repeat(3,minmax(0,1fr))}
.comment-stack {grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-list {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.page-main {padding:0 11px 18px}
.header-inner {padding:8px 11px;gap:10px}
.hero-shell {grid-template-columns:minmax(0,1fr);padding-top:12px}
.hero-figure, .player-panel, .cast-rail, .synopsis-block, .episode-status, .detail-block {grid-column:1 / -1}
.synopsis-list {grid-template-columns:minmax(0,1fr)}
.episode-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.region-list, .recommend-region:last-of-type .region-list {grid-template-columns:repeat(2,minmax(0,1fr))}
.comment-stack {grid-template-columns:minmax(0,1fr)}
.timeline-track {grid-template-columns:repeat(2,minmax(0,1fr))}
.movie-title {font-size:17px}
.player-controls {gap:4px}}
@media (max-width:420px){.episode-grid, .region-list, .recommend-region:last-of-type .region-list {grid-template-columns:minmax(0,1fr)}
.detail-list {grid-template-columns:minmax(0,1fr)}
.timeline-track {grid-template-columns:minmax(0,1fr);row-gap:14px}
.control-range {flex:1 1 100%}}

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}
