* {margin:0;padding:0;box-sizing:border-box}
:root {
  --ink:#0d1a14;
  --ink-2:#12241b;
  --ink-3:#182e22;
  --moss:#1d3327;
  --moss-line:#2c4636;
  --blood:#6d1f26;
  --blood-lit:#a8333d;
  --bone:#e6e2d6;
  --bone-dim:#b3ae9e;
  --dry:#a8836a;
  --accent:#c94f5c;
}
html {-webkit-text-size-adjust:100%}
body {
  background:var(--ink);
  color:var(--bone);
  font-family:"Songti SC","STSong","SimSun","Noto Serif CJK SC",serif;
  font-size:14px;
  line-height:1.6;
  letter-spacing:.02em;
  font-weight:400;
}
img, video {max-width:100%;display:block}
a {color:inherit;text-decoration:none}
ul, ol {list-style:none}
button, input, select {font-family:inherit;font-size:inherit;color:inherit;background:none;border:none}
button {cursor:pointer}
h2, h3 {font-weight:400;line-height:1.35}
.site-header {
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(13,26,20,.94);
  border-bottom:1px solid var(--moss-line);
  backdrop-filter:blur(6px);
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:9px 18px;
  max-width:1280px;
  margin:0 auto;
}
a[data-contract="site-name"] {
  font-size:17px;
  letter-spacing:.34em;
  color:var(--bone);
  text-decoration:none;
  font-weight:400;
  white-space:nowrap;
  text-shadow:0 0 18px rgba(201,79,92,.25);
}
a[data-contract="site-name"]:hover {color:var(--accent)}
.categories-nav {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 2px;
  justify-content:flex-end;
}
a.runtime-category {
  display:inline-block;
  padding:3px 9px;
  font-size:12px;
  letter-spacing:.18em;
  color:var(--bone-dim);
  text-decoration:none;
  white-space:nowrap;
  border-left:1px solid var(--moss-line);
  transition:color .18s,background .18s;
}
a.runtime-category:first-child {border-left:none}
a.runtime-category:hover {
  color:var(--bone);
  background:var(--blood);
}
.page-main {
  max-width:1280px;
  margin:0 auto;
  padding:0 18px;
}
.section-heading {
  font-size:15px;
  letter-spacing:.3em;
  color:var(--bone);
  padding:0 0 8px 0;
  position:relative;
}
.section-heading::before {
  content:"";
  position:absolute;
  left:-18px;
  top:6px;
  width:3px;
  height:14px;
  background:var(--blood-lit);
}
section[data-fragment] {padding:18px 0;border-top:1px solid var(--moss-line)}
main>.timeline-section:first-child {border-top:none}
.timeline-track-wrap {
  overflow-x:auto;
  overflow-y:hidden;
  margin:0 -18px;
  padding:0 18px 6px;
  scrollbar-width:thin;
}
.timeline-track-wrap::-webkit-scrollbar {height:5px}
.timeline-track-wrap::-webkit-scrollbar-thumb {background:var(--moss-line)}
.timeline-track {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(150px,1fr);
  gap:1px;
  background:var(--moss-line);
  border:1px solid var(--moss-line);
  min-width:100%;
  width:max-content;
}
.timeline-node {
  position:relative;
  background:var(--ink-2);
  padding:11px 12px 13px;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:100%;
}
.timeline-node::after {
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:var(--moss-line);
}
.timeline-icon {
  font-size:12px;
  color:var(--dry);
  letter-spacing:0;
  line-height:1;
}
.timeline-timecode {
  font-family:"Heiti SC","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:11px;
  letter-spacing:.2em;
  color:var(--accent);
}
.timeline-label {
  font-size:12.5px;
  color:var(--bone-dim);
  line-height:1.55;
}
.timeline-node:hover {background:var(--ink-3)}
.timeline-node:hover .timeline-label {color:var(--bone)}
.episodes-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:var(--moss-line);
  border:1px solid var(--moss-line);
}
.episode-card {
  background:var(--ink-2);
  padding:9px 10px 10px;
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  transition:background .18s;
}
.episode-number {
  font-family:"Heiti SC","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:10.5px;
  letter-spacing:.18em;
  color:var(--dry);
}
.episode-title {
  font-size:13.5px;
  letter-spacing:.12em;
  color:var(--bone);
}
.episode-summary {
  font-size:11.5px;
  line-height:1.55;
  color:var(--bone-dim);
  flex:1;
}
.episode-duration {
  font-family:"Heiti SC","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:10px;
  letter-spacing:.16em;
  color:var(--moss-line);
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition:max-height .25s ease,opacity .2s ease,color .2s;
}
.episode-card:hover {background:var(--ink-3)}
.episode-card:hover .episode-duration {
  max-height:24px;
  opacity:1;
  color:var(--dry);
}
.episode-card-active {
  background:var(--blood);
  box-shadow:inset 0 0 0 1px var(--blood-lit);
}
.episode-card-active .episode-number {color:#f0cfc4}
.episode-card-active .episode-title {color:#fff}
.episode-card-active .episode-summary {color:#eccfc9}
.episode-card-active .episode-duration {color:#f2d6cf}
.episode-card-active:hover {background:#7d252d}
.movie-overview {
  display:grid;
  grid-template-columns:minmax(0,190px) minmax(0,1fr);
  gap:22px;
  padding:22px 0 30px;
  border-top:1px solid var(--moss-line);
  align-items:start;
}
.overview-poster-col {min-width:0}
.overview-poster-wrap {
  position:relative;
  border:1px solid var(--moss-line);
  background:var(--ink-2);
}
.overview-poster {
  width:100%;
  height:auto;
  aspect-ratio:9/16;
  object-fit:cover;
  display:block;
}
.overview-poster-wrap::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(13,26,20,0) 55%,rgba(13,26,20,.55));
  pointer-events:none;
}
.overview-info-col {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.overview-title-block {
  border-bottom:1px solid var(--moss-line);
  padding-bottom:9px;
}
.overview-title {
  font-size:26px;
  letter-spacing:.22em;
  color:var(--bone);
  font-weight:400;
}
.overview-tagline {
  margin-top:5px;
  font-size:12.5px;
  letter-spacing:.14em;
  color:var(--dry);
}
.overview-player-wrap {
  position:relative;
  width:100%;
  background:#000;
  border:1px solid var(--moss-line);
}
.overview-player {
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#000;
  display:block;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:7px 8px;
  background:var(--ink-2);
  border-top:1px solid var(--moss-line);
}
.player-btn {
  font-family:"Heiti SC","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:11px;
  letter-spacing:.1em;
  color:var(--bone-dim);
  padding:4px 9px;
  border:1px solid var(--moss-line);
  background:var(--ink);
  white-space:nowrap;
  transition:color .18s,border-color .18s,background .18s;
}
.player-btn:hover {
  color:var(--bone);
  border-color:var(--blood-lit);
  background:var(--blood);
}
.player-progress {
  flex:1 1 160px;
  min-width:90px;
  height:3px;
  background:var(--moss-line);
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
}
.player-progress::-webkit-slider-thumb {
  -webkit-appearance:none;
  width:9px;height:9px;
  border-radius:50%;
  background:var(--accent);
}
.player-progress::-moz-range-thumb {
  width:9px;height:9px;border:none;border-radius:50%;
  background:var(--accent);
}
.player-volume {
  flex:0 0 66px;
  height:3px;
  background:var(--moss-line);
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
}
.player-volume::-webkit-slider-thumb {
  -webkit-appearance:none;
  width:9px;height:9px;border-radius:50%;
  background:var(--dry);
}
.player-volume::-moz-range-thumb {
  width:9px;height:9px;border:none;border-radius:50%;
  background:var(--dry);
}
.player-speed {
  font-family:"Heiti SC","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:11px;
  color:var(--bone-dim);
  background:var(--ink);
  border:1px solid var(--moss-line);
  padding:4px 5px;
  cursor:pointer;
}
.player-speed:hover {color:var(--bone);border-color:var(--blood-lit)}
.overview-player-wrap.lights-off::before {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
  pointer-events:none;
  z-index:2;
}
.overview-player-wrap.theater-mode {
  border-color:var(--blood-lit);
  box-shadow:0 0 0 1px var(--blood),0 0 26px rgba(168,51,61,.35);
}
.episode-status {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:7px 0;
  border-top:1px solid var(--moss-line);
  border-bottom:1px solid var(--moss-line);
  font-family:"Heiti SC","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:11.5px;
  letter-spacing:.14em;
}
.status-label {color:var(--bone-dim)}
.status-value {color:var(--accent)}
.status-sep {color:var(--moss-line)}
.status-total {color:var(--bone-dim)}
.status-badge {
  margin-left:auto;
  padding:2px 9px;
  font-size:10.5px;
  letter-spacing:.2em;
  color:#f4d9d2;
  background:var(--blood);
  border:1px solid var(--blood-lit);
}
.cast-section {border-top:1px solid var(--moss-line);padding-top:12px}
.cast-heading {
  font-size:13px;
  letter-spacing:.3em;
  color:var(--bone);
  margin-bottom:8px;
}
.cast-list {
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
.cast-card {
  flex:1 1 158px;
  min-width:0;
  display:flex;
  align-items:stretch;
  gap:8px;
  padding:7px 8px;
  background:var(--ink-2);
  border:1px solid var(--moss-line);
  transition:border-color .18s,background .18s;
}
.cast-card:hover {border-color:var(--blood-lit);background:var(--ink-3)}
.cast-portrait {
  flex:0 0 40px;
  width:40px;
  height:54px;
  align-self:flex-start;
  background:
    linear-gradient(160deg,rgba(168,131,106,.55),rgba(29,51,39,.9)),
    var(--moss);
  border:1px solid var(--moss-line);
  position:relative;
}
.cast-portrait::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(200deg,rgba(201,79,92,.22),transparent 65%);
}
.cast-vertical-info {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  min-width:0;
}
.cast-name {
  font-size:13px;
  letter-spacing:.16em;
  color:var(--bone);
}
.cast-role {
  font-size:10.5px;
  line-height:1.45;
  color:var(--dry);
  letter-spacing:.06em;
}
.synopsis-section {border-top:1px solid var(--moss-line);padding-top:12px}
.synopsis-heading {
  font-size:13px;
  letter-spacing:.3em;
  color:var(--bone);
  margin-bottom:7px;
}
.synopsis-body {
  display:grid;
  gap:7px;
}
.synopsis-paragraph {
  font-size:12.5px;
  line-height:1.72;
  color:var(--bone-dim);
  text-indent:2em;
}
.details-section {border-top:1px solid var(--moss-line);padding-top:12px}
.details-heading {
  font-size:13px;
  letter-spacing:.3em;
  color:var(--bone);
  margin-bottom:8px;
}
.details-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--moss-line);
  border:1px solid var(--moss-line);
}
.details-row {
  display:flex;
  align-items:baseline;
  gap:8px;
  background:var(--ink-2);
  padding:6px 9px;
  min-width:0;
}
.details-key {
  flex:0 0 auto;
  font-family:"Heiti SC","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:11px;
  letter-spacing:.14em;
  color:var(--dry);
}
.details-value {
  font-size:12px;
  color:var(--bone);
  letter-spacing:.04em;
  min-width:0;
  word-break:break-word;
}
.comments-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--moss-line);
  border:1px solid var(--moss-line);
}
.comment-card {
  background:var(--ink-2);
  padding:9px 11px;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.comment-nickname {
  font-family:"Heiti SC","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:11px;
  letter-spacing:.16em;
  color:var(--accent);
}
.comment-text {
  font-size:12px;
  line-height:1.6;
  color:var(--bone-dim);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.recommendations-section {
  border-top:1px solid var(--moss-line);
  padding:16px 0;
}
.recommendations-heading {
  font-size:13.5px;
  letter-spacing:.26em;
  color:var(--bone);
  text-align:left;
  padding-left:14px;
  position:relative;
  margin-bottom:9px;
}
.recommendations-heading::before {
  content:"❀";
  position:absolute;
  left:0;
  top:0;
  color:var(--dry);
  font-size:11px;
}
section[data-recommendation-region="1"] .recommendations-heading::after {
  content:" ❀";
  color:var(--moss-line);
  font-size:11px;
}
section[data-recommendation-region="2"] .recommendations-heading::after {
  content:" ❀ ❀";
  color:var(--moss-line);
  font-size:11px;
}
section[data-recommendation-region="3"] .recommendations-heading::after {
  content:" ❀ ❀ ❀";
  color:var(--moss-line);
  font-size:11px;
}
section[data-recommendation-region="1"] {border-top:none;padding-top:26px}
section[data-recommendation-region="2"] {border-top:none}
section[data-recommendation-region="3"] {border-top:none}
.recommendation-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:1px;
  background:var(--moss-line);
  border:1px solid var(--moss-line);
}
a.recommendation-item {
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:9px;
  row-gap:2px;
  align-items:start;
  background:var(--ink-2);
  padding:8px;
  color:var(--bone);
  text-decoration:none;
  transition:background .18s;
}
a.recommendation-item:hover {background:var(--ink-3)}
[data-runtime="recommendation"] img {
  width:100%;
  aspect-ratio:16/10;
  height:auto;
  object-fit:cover;
  display:block;
  grid-row:1 / span 2;
  border:1px solid var(--moss-line);
  background:var(--moss);
}
.recommendation-name {
  font-size:12.5px;
  letter-spacing:.08em;
  color:var(--bone);
  line-height:1.4;
  align-self:end;
}
.recommendation-blurb {
  font-size:11px;
  line-height:1.5;
  color:var(--bone-dim);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
a.recommendation-item:hover .recommendation-name {color:var(--accent)}
.site-footer {
  margin-top:26px;
  border-top:1px solid var(--moss-line);
  background:var(--ink-2);
}
.footer-inner {
  max-width:1280px;
  margin:0 auto;
  padding:16px 18px 22px;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-family:"Heiti SC","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:11.5px;
  letter-spacing:.2em;
  color:var(--bone-dim);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .18s,border-color .18s;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color:var(--accent);
  border-bottom-color:var(--accent);
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 10px;
  padding-top:7px;
  border-top:1px solid var(--moss-line);
}
.friend-links-label {
  font-family:"Heiti SC","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:10.5px;
  letter-spacing:.2em;
  color:var(--dry);
}
a.runtime-friend-link {
  font-size:11px;
  color:var(--bone-dim);
  text-decoration:none;
  letter-spacing:.05em;
  transition:color .18s;
}
a.runtime-friend-link:hover {color:var(--accent);text-decoration:underline}
.footer-disclaimer {
  font-size:10.5px;
  line-height:1.7;
  color:var(--moss-line);
  letter-spacing:.04em;
  max-width:760px;
}
@media (max-width:1024px){.episodes-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.movie-overview {grid-template-columns:minmax(0,170px) minmax(0,1fr);gap:18px}}
@media (max-width:820px){.episodes-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.movie-overview {grid-template-columns:minmax(0,1fr)}
.overview-poster-col {display:flex;justify-content:center}
.overview-poster-wrap {width:min(220px,60%)}
.details-list {grid-template-columns:minmax(0,1fr)}
.recommendation-list {grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}}
@media (max-width:620px){body {font-size:13.5px}
.header-inner {padding:8px 12px;gap:8px}
a[data-contract="site-name"] {font-size:15px;letter-spacing:.22em}
a.runtime-category {padding:3px 7px;font-size:11px}
.page-main {padding:0 12px}
.section-heading::before {left:-12px}
.timeline-track-wrap {margin:0 -12px;padding:0 12px 6px}
.timeline-track {grid-auto-columns:minmax(140px,1fr)}
.episodes-grid {grid-template-columns:minmax(0,1fr)}
.episode-duration {max-height:24px;opacity:1;color:var(--dry)}
.comments-grid {grid-template-columns:minmax(0,1fr)}
.recommendation-list {grid-template-columns:minmax(0,1fr)}
.overview-title {font-size:21px;letter-spacing:.16em}
.footer-inner {padding:14px 12px 20px}
.player-controls {gap:5px;padding:6px}
.player-progress {flex:1 1 100%}}
@media (max-width:400px){.cast-card {flex:1 1 100%}
a.recommendation-item {grid-template-columns:56px minmax(0,1fr)}}

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}
