* {margin:0;padding:0;box-sizing:border-box}
html {-webkit-text-size-adjust:100%}
body {
  background:#2a2f31;
  color:#d8d3c8;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:13px;
  line-height:1.5;
  letter-spacing:.02em;
}
img, video {display:block;max-width:100%}
ul, ol {list-style:none}
a {color:inherit;text-decoration:none}
button, input {font:inherit;color:inherit}
.site-header {
  background:#22282a;
  border-bottom:1px solid #3a4143;
  position:sticky;
  top:0;
  z-index:40;
}
.header-inner {
  max-width:1180px;
  margin:0 auto;
  padding:8px 12px;
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
a[data-contract="site-name"] {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-weight:700;
  font-size:16px;
  color:#e8e2d4;
  letter-spacing:.14em;
  text-decoration:none;
  border-left:3px solid #8c4a3f;
  padding-left:8px;
}
a[data-contract="site-name"]:hover {color:#c9a15a}
.categories-container {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
a.runtime-category {
  color:#9aa4a3;
  text-decoration:none;
  white-space:nowrap;
  font-size:12px;
  padding:2px 9px;
  border:1px solid #3f4749;
  border-radius:2px;
  background:#272d2f;
  transition:color .2s,border-color .2s,background .2s;
}
a.runtime-category:hover {
  color:#d8c9a8;
  border-color:#7d6a4a;
  background:#2f3537;
}
.page-main {
  max-width:1180px;
  margin:0 auto;
  padding:0 12px;
}
.hero-corridor {
  display:grid;
  grid-template-columns:minmax(0,0.46fr) minmax(0,1fr);
  gap:14px;
  padding:14px 0 10px;
  position:relative;
}
.hero-corridor::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,#20262a 0%,#2a3134 42%,#272c2e 100%);
  z-index:-1;
}
.hero-media {
  position:relative;
  align-self:start;
}
.hero-poster {
  width:100%;
  max-width:200px;
  aspect-ratio:9 / 16;
  object-fit:cover;
  border-radius:2px;
  box-shadow:0 4px 18px rgba(0,0,0,.55);
  filter:saturate(.72) contrast(1.02) brightness(.96);
}
.hero-caption {
  position:absolute;
  left:12px;
  bottom:14px;
  z-index:3;
  max-width:min(60%,320px);
  padding:8px 10px 9px;
  background:linear-gradient(90deg,rgba(20,24,26,.82),rgba(20,24,26,.28));
  border-left:2px solid #8c4a3f;
}
.hero-title {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-weight:700;
  font-size:clamp(20px,2.6vw,30px);
  letter-spacing:.1em;
  color:#ece5d6;
  line-height:1.2;
  text-shadow:0 2px 10px rgba(0,0,0,.6);
}
.hero-tagline {
  margin-top:5px;
  font-size:12px;
  color:#b3aca0;
  letter-spacing:.06em;
}
.hero-info-column {
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.hero-player-wrap {
  width:100%;
  background:#161a1c;
  border:1px solid #3a4143;
  border-radius:2px;
  overflow:hidden;
}
.player-video {
  width:100%;
  aspect-ratio:16 / 9;
  background:#0f1213;
  display:block;
}
.player-control-bar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  padding:6px 7px;
  background:#22282a;
  border:1px solid #3a4143;
  border-top:none;
  border-radius:0 0 2px 2px;
}
.ctrl {
  background:#2c3335;
  border:1px solid #464e50;
  color:#c7c1b4;
  border-radius:2px;
  padding:3px 9px;
  font-size:12px;
  line-height:1.4;
  cursor:pointer;
  transition:background .18s,color .18s,border-color .18s;
}
.ctrl:hover {background:#39423f;color:#e6dfd0;border-color:#6b6250}
.ctrl-progress {
  flex:1 1 120px;
  min-width:90px;
  height:4px;
  -webkit-appearance:none;
  appearance:none;
  background:#3c4345;
  border:none;
  border-radius:2px;
  cursor:pointer;
}
.ctrl-progress::-webkit-slider-thumb, .ctrl-volume::-webkit-slider-thumb {
  -webkit-appearance:none;
  width:11px;height:11px;border-radius:50%;
  background:#a5503f;
  border:1px solid #d8d3c8;
  cursor:pointer;
}
.ctrl-progress::-moz-range-thumb, .ctrl-volume::-moz-range-thumb {
  width:11px;height:11px;border-radius:50%;
  background:#a5503f;border:1px solid #d8d3c8;cursor:pointer;
}
.ctrl-volume {
  flex:0 1 70px;
  min-width:54px;
  height:4px;
  -webkit-appearance:none;
  appearance:none;
  background:#3c4345;
  border:none;
  border-radius:2px;
  cursor:pointer;
}
.ctrl.is-active, .ctrl.is-playing {
  background:#4a3a2c;
  border-color:#9a7a4a;
  color:#e6cf9e;
}
.ctrl.is-muted {
  background:#3a2c2c;
  border-color:#8c4a3f;
  color:#d9a595;
}
.episode-status {
  border:1px solid #3a4143;
  border-left:3px solid #8c4a3f;
  background:#262c2e;
  padding:7px 10px;
}
.status-line {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:14px;
  color:#e0d8c6;
  letter-spacing:.06em;
}
.status-note {
  font-size:12px;
  color:#8f9694;
  margin-top:3px;
}
.synopsis {
  background:#262c2e;
  border:1px solid #3a4143;
  padding:9px 11px 10px;
}
.synopsis-heading, .details-heading, .cast-heading, .timeline-heading, .episodes-heading, .comments-heading, .recommend-heading {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-weight:700;
  letter-spacing:.12em;
  color:#ddd4c1;
}
.synopsis-heading {
  font-size:14px;
  padding-bottom:5px;
  margin-bottom:6px;
  border-bottom:1px solid #3f4749;
}
.synopsis-heading::before, .details-heading::before, .cast-heading::before, .timeline-heading::before, .episodes-heading::before, .comments-heading::before {
  content:"";
  display:inline-block;
  width:7px;height:7px;
  margin-right:6px;
  background:#8c4a3f;
  border-radius:50% 40% 55% 45%;
  vertical-align:middle;
}
.synopsis-paragraph {
  font-size:12.5px;
  color:#b5b0a4;
  line-height:1.62;
  margin-bottom:5px;
}
.synopsis-paragraph:last-child {margin-bottom:0}
.details {
  background:#262c2e;
  border:1px solid #3a4143;
  padding:9px 11px 10px;
}
.details-heading {
  font-size:14px;
  padding-bottom:5px;
  margin-bottom:6px;
  border-bottom:1px solid #3f4749;
}
.detail-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:3px 12px;
}
.detail-row {
  display:flex;
  align-items:baseline;
  gap:7px;
  font-size:12px;
  padding:2px 0;
  border-bottom:1px dotted #3a4143;
}
.detail-key {
  color:#8f9694;
  flex:0 0 auto;
  letter-spacing:.08em;
}
.detail-value {
  color:#d3ccbc;
  margin-left:auto;
  text-align:right;
}
.cast {
  background:#262c2e;
  border:1px solid #3a4143;
  padding:9px 11px 10px;
}
.cast-heading {
  font-size:14px;
  padding-bottom:5px;
  margin-bottom:7px;
  border-bottom:1px solid #3f4749;
}
.cast-strip {
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding-bottom:4px;
  scrollbar-width:thin;
}
.cast-strip::-webkit-scrollbar {height:5px}
.cast-strip::-webkit-scrollbar-thumb {background:#464e50;border-radius:3px}
.cast-member {
  flex:0 0 auto;
  width:64px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.cast-avatar {
  width:52px;height:52px;
  border-radius:50%;
  background:
    radial-gradient(circle at 34% 30%,#9a5a4a 0%,#6d4038 46%,#3c3230 100%);
  border:2px solid #4a5254;
  box-shadow:0 2px 8px rgba(0,0,0,.45);
}
.cast-member:nth-child(2n) .cast-avatar {
  background:radial-gradient(circle at 34% 30%,#a8873f 0%,#7a6330 46%,#3c3730 100%);
}
.cast-name {
  margin-top:5px;
  font-size:11.5px;
  color:#d3ccbc;
  letter-spacing:.04em;
  line-height:1.25;
}
.cast-role {
  font-size:10.5px;
  color:#878e8c;
  line-height:1.25;
}
.timeline {
  margin-top:8px;
  padding:9px 11px 11px;
  background:#252b2d;
  border:1px solid #3a4143;
}
.timeline-heading {
  font-size:14px;
  padding-bottom:5px;
  margin-bottom:8px;
  border-bottom:1px solid #3f4749;
}
.timeline-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:2px 16px;
}
.timeline-item {
  position:relative;
  display:grid;
  grid-template-columns:16px auto 1fr;
  align-items:baseline;
  column-gap:7px;
  padding:6px 0 6px 0;
  border-left:1px solid #3f4749;
  padding-left:0;
}
.timeline-node {
  width:9px;height:9px;
  margin-left:3px;
  border-radius:50% 45% 55% 48%;
  background:#5f6a68;
  box-shadow:0 0 0 2px #252b2d,0 0 0 3px #3a4143;
  align-self:center;
}
.timeline-timecode {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:12px;
  color:#9aa4a3;
  letter-spacing:.06em;
  white-space:nowrap;
}
.timeline-label {
  font-size:12px;
  color:#b5b0a4;
  line-height:1.45;
}
.timeline-item-current .timeline-node {
  background:#a5503f;
  box-shadow:0 0 0 3px #252b2d,0 0 0 4px #7d5a3a;
}
.timeline-item-current .timeline-timecode {color:#d8b483}
.timeline-item-current .timeline-label {color:#e0d8c6}
.episodes {
  margin-top:8px;
  padding:9px 11px 11px;
  background:#252b2d;
  border:1px solid #3a4143;
}
.episodes-heading {
  font-size:14px;
  padding-bottom:5px;
  margin-bottom:8px;
  border-bottom:1px solid #3f4749;
}
.episode-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 26px;
}
.episode-card {
  position:relative;
  background:#2b3133;
  border:1px solid #3a4143;
  border-radius:2px;
  padding:8px 10px 9px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.episode-card-left {grid-column:1;border-left:3px solid #4a5254}
.episode-card-right {grid-column:2;border-right:3px solid #4a5254}
.episode-number {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:11.5px;
  color:#8f9694;
  letter-spacing:.14em;
}
.episode-title {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-weight:700;
  font-size:14px;
  color:#ddd4c1;
  letter-spacing:.06em;
}
.episode-summary {
  font-size:12px;
  color:#a9a49a;
  line-height:1.5;
}
.episode-duration {
  font-size:11px;
  color:#7f8785;
  letter-spacing:.08em;
  margin-top:2px;
}
.episode-card-current {
  background:#332e2a;
  border-color:#7d5a3a;
  border-left:3px solid #a5503f;
}
.episode-card-current .episode-number {color:#d8b483}
.episode-card-current .episode-title {color:#e9d9b6}
.episode-card-current .episode-summary {color:#c3b8a4}
.episode-card-current .episode-duration {color:#a89372}
.comments {
  margin-top:8px;
  padding:9px 11px 11px;
  background:#252b2d;
  border:1px solid #3a4143;
}
.comments-heading {
  font-size:14px;
  padding-bottom:5px;
  margin-bottom:8px;
  border-bottom:1px solid #3f4749;
}
.comment-stack {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(215px,1fr));
  gap:0;
}
.comment-card {
  position:relative;
  background:#2b3133;
  border:1px solid #3a4143;
  border-radius:2px;
  padding:8px 10px 10px;
  margin:0 8px 8px 0;
  box-shadow:2px 2px 0 rgba(0,0,0,.35);
  display:flex;
  flex-direction:column;
  gap:4px;
}
.comment-card::after {
  content:"";
  position:absolute;
  right:-4px;bottom:-4px;
  width:100%;height:100%;
  border:1px solid #333a3c;
  border-radius:2px;
  background:#282e30;
  z-index:-1;
}
.comment-card:nth-child(3n/**/+2) {background:#2c3234}
.comment-card:nth-child(3n/**/+0) {background:#2a3032}
.comment-nickname {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:12px;
  color:#c9a15a;
  letter-spacing:.08em;
}
.comment-nickname::before {
  content:"“";
  color:#8c4a3f;
  margin-right:1px;
}
.comment-text {
  font-size:12px;
  color:#b0aba0;
  line-height:1.55;
}
.recommend-region {
  margin-top:8px;
  padding:9px 11px 11px;
  background:#252b2d;
  border:1px solid #3a4143;
}
.recommend-heading {
  font-size:14px;
  padding-bottom:5px;
  margin-bottom:8px;
  border-bottom:1px solid #3f4749;
}
.recommend-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:8px;
}
a.recommend-item {
  display:flex;
  flex-direction:column;
  gap:4px;
  background:#2b3133;
  border:1px solid #3a4143;
  border-radius:2px;
  padding:6px 6px 7px;
  color:inherit;
  text-decoration:none;
  transition:border-color .2s,background .2s,transform .2s;
}
a.recommend-item:hover {
  border-color:#7d6a4a;
  background:#31383a;
  transform:translateY(-2px);
}
a[data-runtime="recommendation"] img {
  width:100%;
  aspect-ratio:16 / 10;
  height:auto;
  object-fit:cover;
  border-radius:1px;
  background:#1c2122;
  filter:saturate(.8) contrast(1.03);
}
.recommend-name {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:12.5px;
  color:#ddd4c1;
  letter-spacing:.04em;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.recommend-blurb {
  font-size:11px;
  color:#8f9694;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.site-footer {
  margin-top:10px;
  background:#22282a;
  border-top:1px solid #3a4143;
  padding:12px;
}
.footer-nav {
  max-width:1180px;
  margin:0 auto 8px;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:12px;
  color:#b3aca0;
  text-decoration:none;
  letter-spacing:.1em;
  border-bottom:1px solid transparent;
  transition:color .2s,border-color .2s;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color:#c9a15a;
  border-bottom-color:#7d6a4a;
}
.friend-links {
  max-width:1180px;
  margin:0 auto 9px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 10px;
}
.friend-links-label {
  font-size:11.5px;
  color:#7f8785;
  letter-spacing:.14em;
  border-left:2px solid #8c4a3f;
  padding-left:6px;
  margin-right:2px;
}
a.runtime-friend-link {
  font-size:11.5px;
  color:#8f9694;
  text-decoration:none;
  white-space:nowrap;
  padding:1px 7px;
  border:1px solid #363d3f;
  border-radius:2px;
  transition:color .2s,border-color .2s;
}
a.runtime-friend-link:hover {
  color:#d8c9a8;
  border-color:#6b6250;
}
.footer-disclaimer {
  max-width:1180px;
  margin:0 auto;
  font-size:11px;
  color:#6f7674;
  line-height:1.6;
  letter-spacing:.02em;
  padding-top:8px;
  border-top:1px solid #31383a;
}
body.lights-off {background:#121516}
body.lights-off .page-main {filter:brightness(.82)}
body.theater-mode .hero-corridor {grid-template-columns:minmax(0,1fr)}
body.theater-mode .hero-media {display:none}
body.theater-mode .hero-caption {display:none}
@media (max-width:860px){.hero-corridor {grid-template-columns:minmax(0,1fr)}
.hero-media {max-width:170px}
.hero-caption {position:static;margin-top:8px;max-width:none;background:#22282a;border-left:3px solid #8c4a3f}
.episode-grid {grid-template-columns:minmax(0,1fr);gap:7px}
.episode-card-left, .episode-card-right {grid-column:1}
.episode-card-right {border-right:none;border-left:3px solid #4a5254}}
@media (max-width:560px){body {font-size:12.5px}
.page-main {padding:0 8px}
.header-inner {padding:7px 8px;gap:10px}
a[data-contract="site-name"] {font-size:15px}
.hero-poster {max-width:150px}
.hero-title {font-size:20px}
.hero-caption {padding:7px 8px}
.detail-list {grid-template-columns:minmax(0,1fr)}
.timeline-list {grid-template-columns:minmax(0,1fr)}
.comment-stack {grid-template-columns:minmax(0,1fr)}
.recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.cast-member {width:58px}
.cast-avatar {width:46px;height:46px}
.ctrl {padding:3px 7px;font-size:11.5px}}
@media (max-width:380px){.recommend-grid {grid-template-columns:minmax(0,1fr)}
.hero-caption {max-width:none}}

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}
