*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%}
body {
  background:#1b211f;
  color:#c9cfcb;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC","Noto Sans CJK SC",sans-serif;
  font-size:14px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img, video {display:block;max-width:100%}
ul, ol {list-style:none}
a {color:#8fa39a;text-decoration:none}
button, input, select {font:inherit;color:inherit}
button {background:none;border:0;cursor:pointer}
h1, h2, h3 {font-weight:800;line-height:1.25;letter-spacing:.01em}
h1 {font-size:1.6rem}
h2 {font-size:1.05rem}
h3 {font-size:.95rem}
p {font-family:"Songti SC","STSong","SimSun","Noto Serif CJK SC",serif;font-weight:400}
.site-header {
  display:flex;
  align-items:center;
  gap:1.25rem;
  flex-wrap:wrap;
  padding:.6rem 1.5rem;
  background:#161b19;
  border-bottom:1px solid #2b342f;
  position:sticky;
  top:0;
  z-index:20;
}
.brand-slot {display:flex;align-items:center}
a[data-contract="site-name"] {
  color:#e2e7e3;
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:.14em;
  text-decoration:none;
  padding-left:.65rem;
  border-left:3px solid #7c2d24;
}
a[data-contract="site-name"]:hover {color:#fff}
.category-bar {
  display:flex;
  flex-wrap:wrap;
  gap:.15rem .35rem;
  align-items:center;
  margin-left:auto;
}
a.runtime-category {
  display:inline-block;
  color:#93a79c;
  text-decoration:none;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.06em;
  white-space:nowrap;
  padding:.2rem .55rem;
  border:1px solid #2f3a34;
  border-radius:2px;
  transition:color .15s,border-color .15s,background .15s;
}
a.runtime-category:hover {color:#e6ebe7;border-color:#4d5b53;background:#222a26}
.page-main {
  max-width:1180px;
  margin:0 auto;
  padding:1.1rem 1.5rem 2rem;
}
.section-heading {
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.14em;
  color:#e8ece9;
  padding-bottom:.4rem;
  margin-bottom:.85rem;
  border-bottom:1px solid #313b35;
  position:relative;
}
.section-heading::before {
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:34px;
  height:1px;
  background:#7c2d24;
}
.overview-block {
  display:grid;
  grid-template-columns:minmax(0,0.85fr) minmax(0,1.6fr);
  grid-template-areas:
    "poster titles"
    "player player"
    "synopsis synopsis"
    "status cast"
    "details cast";
  gap:.9rem 1.4rem;
  padding:1.1rem 1.2rem 1.3rem;
  background:#202724;
  border:1px solid #2c352f;
  border-top:2px solid #7c2d24;
}
.overview-poster-wrap {
  grid-area:poster;
  align-self:start;
  width:100%;
  max-width:240px;
}
.overview-poster {
  width:100%;
  height:auto;
  aspect-ratio:9 / 16;
  object-fit:cover;
  border:1px solid #333d37;
  filter:saturate(.82) contrast(1.04);
}
.overview-titles {
  grid-area:titles;
  align-self:start;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  padding-top:.15rem;
}
.overview-title {
  font-size:1.75rem;
  font-weight:800;
  color:#f0f3f1;
  letter-spacing:.03em;
}
.overview-tagline {
  font-size:.86rem;
  color:#b8c4bd;
  letter-spacing:.08em;
  padding-left:.7rem;
  border-left:2px solid #7c2d24;
}
.overview-seo {
  font-size:.83rem;
  color:#8e9a93;
  line-height:1.75;
  text-align:justify;
}
.overview-player-wrap {
  grid-area:player;
  width:100%;
  position:relative;
  background:#0e1211;
  border:1px solid #2c352f;
  padding:.4rem;
}
.player-video {
  width:100%;
  aspect-ratio:16 / 9;
  background:#000;
  display:block;
  object-fit:contain;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem .5rem;
  padding:.5rem .2rem .15rem;
}
.player-btn {
  font-size:.72rem;
  letter-spacing:.05em;
  color:#b6c2bb;
  background:#242c28;
  border:1px solid #333e38;
  border-radius:2px;
  padding:.22rem .6rem;
  transition:background .15s,color .15s,border-color .15s;
}
.player-btn:hover {background:#2e3833;color:#eef2ef;border-color:#4a564f}
.player-btn.is-playing {color:#1b211f;background:#a8b8ae;border-color:#a8b8ae}
.player-btn.is-muted {color:#e0b3ac;border-color:#7c2d24}
.player-btn.is-active {color:#f0f3f1;border-color:#7c2d24;background:#33211e}
.player-progress {
  flex:1 1 160px;
  min-width:0;
  height:4px;
  -webkit-appearance:none;
  appearance:none;
  background:#333e38;
  border-radius:2px;
  cursor:pointer;
}
.player-progress::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  width:11px;height:11px;border-radius:50%;
  background:#a33b2e;border:0;
}
.player-progress::-moz-range-thumb {width:11px;height:11px;border:0;border-radius:50%;background:#a33b2e}
.player-volume {
  flex:0 1 90px;
  min-width:60px;
  height:4px;
  -webkit-appearance:none;
  appearance:none;
  background:#333e38;
  border-radius:2px;
  cursor:pointer;
}
.player-volume::-webkit-slider-thumb {
  -webkit-appearance:none;appearance:none;
  width:10px;height:10px;border-radius:50%;background:#8fa39a;border:0;
}
.player-volume::-moz-range-thumb {width:10px;height:10px;border:0;border-radius:50%;background:#8fa39a}
.player-speed {
  font-size:.72rem;
  background:#242c28;
  color:#b6c2bb;
  border:1px solid #333e38;
  border-radius:2px;
  padding:.2rem .3rem;
}
.overview-player-wrap.is-light {box-shadow:0 0 0 1px #7c2d24 inset}
.overview-player-wrap.is-light .player-video {filter:brightness(1.06)}
.overview-player-wrap.is-theater {background:#050807}
.synopsis-block {grid-area:synopsis;border-top:1px solid #2b342f;padding-top:.85rem}
.synopsis-paragraph {
  font-size:.82rem;
  color:#9ba79f;
  line-height:1.85;
  text-align:justify;
  margin-bottom:.55rem;
}
.synopsis-paragraph:last-child {margin-bottom:0}
.episode-status-block {
  grid-area:status;
  align-self:start;
  border-top:1px solid #2b342f;
  padding-top:.85rem;
}
.episode-status-text {
  font-size:.83rem;
  color:#c2ccc6;
  letter-spacing:.04em;
  padding:.35rem .6rem;
  background:#1b2220;
  border-left:2px solid #7c2d24;
}
.cast-block {
  grid-area:cast;
  align-self:start;
  border-top:1px solid #2b342f;
  padding-top:.85rem;
}
.cast-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:.35rem .7rem;
}
.cast-item {
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.28rem .4rem;
  border:1px solid #2b342f;
  background:#1d2421;
}
.cast-avatar-placeholder {
  flex:0 0 auto;
  width:34px;
  height:34px;
  background:
    linear-gradient(135deg,#3a453f 0%,#2a332e 100%);
  border:1px solid #3c4741;
  position:relative;
}
.cast-avatar-placeholder::after {
  content:"";
  position:absolute;
  inset:auto 8px 6px 8px;
  height:1px;
  background:#7c2d24;
  opacity:.7;
}
.cast-name {
  display:block;
  font-size:.8rem;
  font-weight:700;
  color:#e2e8e4;
  line-height:1.3;
}
.cast-role {
  display:block;
  font-size:.7rem;
  color:#7f8b84;
  line-height:1.3;
}
.cast-item > .cast-name + .cast-role {margin-left:-.05rem}
.details-block {
  grid-area:details;
  align-self:start;
  border-top:1px solid #2b342f;
  padding-top:.85rem;
}
.details-list {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);
  gap:.1rem .6rem;
  font-size:.78rem;
}
.details-key {
  color:#7f8b84;
  letter-spacing:.06em;
  white-space:nowrap;
  padding:.22rem 0;
  border-bottom:1px solid #262f2a;
}
.details-value {
  color:#c6d0ca;
  padding:.22rem 0;
  border-bottom:1px solid #262f2a;
}
.timeline-block {
  margin-top:1.5rem;
  padding-top:.2rem;
}
.timeline-list {
  position:relative;
  padding-left:1.15rem;
}
.timeline-list::before {
  content:"";
  position:absolute;
  left:4px;
  top:.35rem;
  bottom:.35rem;
  width:1px;
  background:#39443e;
}
.timeline-item {
  position:relative;
  display:grid;
  grid-template-columns:5.2rem minmax(0,1fr);
  align-items:baseline;
  gap:.2rem .9rem;
  padding:.32rem 0 .32rem .35rem;
  border-bottom:1px solid #262f2a;
}
.timeline-item:last-child {border-bottom:0}
.timeline-dot {
  position:absolute;
  left:-1.15rem;
  top:.72rem;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#7c2d24;
  box-shadow:0 0 0 3px #1b211f;
}
.timeline-timecode {
  font-size:.76rem;
  font-weight:700;
  color:#c8d2cc;
  letter-spacing:.08em;
  white-space:nowrap;
}
.timeline-label {
  font-family:"Songti SC","STSong","SimSun","Noto Serif CJK SC",serif;
  font-size:.8rem;
  color:#98a49d;
  line-height:1.65;
}
.timeline-item:nth-child(even) .timeline-timecode {text-align:right}
.timeline-item:nth-child(even) {grid-template-columns:5.2rem minmax(0,1fr)}
.episodes-block {margin-top:1.5rem}
.episode-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;
}
.episode-card {
  display:flex;
  flex-direction:column;
  gap:.3rem;
  padding:.6rem .7rem .55rem;
  background:#202724;
  border:1px solid #2c352f;
  border-left:2px solid #3a453f;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.episode-card:hover {
  transform:translateY(-3px);
  background:#242d29;
  border-left-color:#7c2d24;
}
.episode-title {
  font-size:.85rem;
  font-weight:800;
  color:#e6ebe7;
  letter-spacing:.02em;
}
.episode-summary {
  font-size:.76rem;
  color:#8e9a93;
  line-height:1.7;
  flex:1 1 auto;
}
.episode-duration {
  align-self:flex-start;
  font-size:.68rem;
  letter-spacing:.06em;
  color:#9fb0a7;
  border-top:1px solid #2f3a34;
  padding-top:.28rem;
  width:100%;
}
.comments-block {margin-top:1.5rem}
.comments-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.5rem .55rem;
  align-items:start;
}
.comment-card {
  display:flex;
  flex-direction:column;
  gap:.35rem;
  padding:.6rem .75rem .55rem;
  background:#1e2523;
  border:1px solid #2b342f;
  border-top:2px solid #333e38;
}
.comments-grid .comment-card:nth-child(even) {margin-top:1.1rem;border-top-color:#7c2d24}
.comment-text {
  font-size:.79rem;
  color:#a7b3ac;
  line-height:1.8;
  text-align:justify;
}
.comment-nickname {
  font-size:.68rem;
  letter-spacing:.08em;
  color:#7f8b84;
  padding-top:.3rem;
  border-top:1px dashed #2f3a34;
  align-self:flex-start;
}
.comment-nickname::before {content:"— "}
.recommendations-block {margin-top:1.5rem}
.recommendation-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.5rem;
  align-items:start;
}
a.recommendation-item {
  display:flex;
  flex-direction:column;
  gap:.3rem;
  padding:.5rem .55rem .55rem;
  background:#1d2421;
  border:1px solid #2b342f;
  color:#c6d0ca;
  text-decoration:none;
  transition:background .18s,border-color .18s,transform .18s;
}
a.recommendation-item:hover {
  background:#232c28;
  border-color:#3f4c45;
  transform:translateY(-2px);
}
[data-runtime="recommendation"] img {
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:cover;
  border:1px solid #333d37;
  filter:saturate(.8) contrast(1.05);
}
.recommendation-name {
  font-size:.82rem;
  font-weight:700;
  color:#e4eae6;
  letter-spacing:.02em;
  line-height:1.4;
}
.recommendation-blurb {
  font-family:"Songti SC","STSong","SimSun","Noto Serif CJK SC",serif;
  font-size:.74rem;
  color:#8b978f;
  line-height:1.65;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.site-footer {
  margin-top:1.6rem;
  padding:1.1rem 1.5rem 1.6rem;
  background:#161b19;
  border-top:1px solid #2b342f;
}
.footer-disclaimer {
  max-width:1180px;
  margin:0 auto .8rem;
  font-size:.72rem;
  color:#6f7b74;
  line-height:1.8;
  text-align:justify;
}
.footer-nav {
  max-width:1180px;
  margin:0 auto .7rem;
  display:flex;
  gap:1.1rem;
  flex-wrap:wrap;
  padding-bottom:.7rem;
  border-bottom:1px solid #262f2a;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  color:#aebbb3;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .15s,border-color .15s;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#f0f3f1;border-bottom-color:#7c2d24}
.friend-links {
  max-width:1180px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.3rem .75rem;
}
.friend-links-label {
  font-size:.72rem;
  letter-spacing:.14em;
  color:#6f7b74;
  padding-right:.6rem;
  border-right:1px solid #2f3a34;
}
a.runtime-friend-link {
  font-size:.73rem;
  color:#7f8b84;
  text-decoration:none;
  white-space:nowrap;
  transition:color .15s;
}
a.runtime-friend-link:hover {color:#c6d0ca;text-decoration:underline}
.player-video.is-playing {outline:1px solid #7c2d24}
.change, .click, .fullscreen, .input, .mute, .pip, .play, .player, .progress, .speed, .theater, .timeupdate, .volume {}
@media (max-width:1024px){.overview-block {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "titles"
      "poster"
      "player"
      "synopsis"
      "status"
      "cast"
      "details";
  }
.overview-poster-wrap {max-width:200px}
.episode-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.recommendation-list {grid-template-columns:repeat(2,minmax(0,1fr))}
.details-list {grid-template-columns:auto minmax(0,1fr)}}
@media (max-width:680px){.site-header {padding:.55rem 1rem;gap:.6rem}
.category-bar {margin-left:0}
.page-main {padding:.9rem 1rem 1.6rem}
.overview-block {padding:.9rem .8rem 1rem;gap:.8rem}
.overview-title {font-size:1.35rem}
.overview-tagline {font-size:.8rem}
.cast-list {grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-item, .timeline-item:nth-child(even) {grid-template-columns:minmax(0,1fr);gap:.05rem}
.timeline-item:nth-child(even) .timeline-timecode {text-align:left}
.episode-grid {grid-template-columns:minmax(0,1fr)}
.comments-grid {grid-template-columns:minmax(0,1fr);gap:.5rem}
.comments-grid .comment-card:nth-child(even) {margin-top:0}
.recommendation-list {grid-template-columns:minmax(0,1fr)}
.player-controls {gap:.3rem}
.player-progress {flex:1 1 100%}
.site-footer {padding:1rem 1rem 1.4rem}}
@media (max-width:420px){.cast-list {grid-template-columns:minmax(0,1fr)}
.overview-poster-wrap {max-width:170px}}

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}
