:root {
  --ink:#0c1014;
  --ink-2:#111820;
  --steel:#1b2530;
  --steel-2:#243240;
  --cold:#8fa6b8;
  --cold-dim:#5f7486;
  --rust:#8a4a2b;
  --rust-2:#b25f34;
  --moss:#2f4a3c;
  --gold:#c9a24a;
  --paper:#d8d2c4;
  --paper-dim:#9c968a;
  --line:rgba(143,166,184,.18);
  --gap:16px;
  --serif:"Songti SC","STSong","SimSun","Noto Serif SC",Georgia,serif;
  --narrow:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
  --mono:"Courier New",Courier,monospace;
}
*, *::before, *::after {box-sizing:border-box;}
html {
  -webkit-text-size-adjust:100%;
  background:var(--ink);
}
body {
  margin:0;
  padding:0;
  background:
    linear-gradient(180deg,#0c1014 0%,#0e141b 30%,#101820 60%,#12100d 100%);
  color:var(--cold);
  font-family:var(--narrow);
  font-size:14px;
  line-height:1.55;
  letter-spacing:.02em;
  min-height:100vh;
  overflow-x:hidden;
}
img, video {display:block;max-width:100%;}
ul, ol, dl, dd, dt, blockquote, p {margin:0;padding:0;list-style:none;}
h1, h2, h3 {margin:0;font-weight:600;}
a {color:inherit;text-decoration:none;}
button, input {font:inherit;color:inherit;}
.site-header {
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(12,16,20,.92);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(6px);
}
.header-inner {
  max-width:1220px;
  margin:0 auto;
  padding:10px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gap);
  flex-wrap:wrap;
}
a[data-contract="site-name"].site-brand {
  font-family:var(--serif);
  font-size:19px;
  letter-spacing:.22em;
  color:var(--paper);
  text-decoration:none;
  text-shadow:0 0 8px rgba(201,162,74,.25);
  border-left:3px solid var(--rust);
  padding-left:10px;
}
.category-nav {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  justify-content:flex-end;
}
a.runtime-category {
  white-space:nowrap;
  display:inline-block;
  padding:4px 11px;
  font-size:12.5px;
  letter-spacing:.1em;
  color:var(--cold);
  text-decoration:none;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(36,50,64,.55),rgba(17,24,32,.55));
  border-radius:2px;
  transition:color .18s,border-color .18s,background .18s;
}
a.runtime-category:hover {
  color:var(--gold);
  border-color:rgba(201,162,74,.5);
  background:linear-gradient(180deg,rgba(47,74,60,.5),rgba(17,24,32,.6));
}
.page-main {
  max-width:1220px;
  margin:0 auto;
  padding:var(--gap) 16px 40px;
  display:flex;
  flex-direction:column;
  gap:var(--gap);
}
.section-heading {
  font-family:var(--serif);
  font-size:16px;
  letter-spacing:.18em;
  color:var(--paper);
  padding-left:11px;
  border-left:3px solid var(--rust);
  margin-bottom:10px;
  line-height:1.2;
}
.movie-overview {
  position:relative;
  background:
    linear-gradient(180deg,rgba(27,37,48,.92),rgba(14,20,27,.96)),
    repeating-linear-gradient(90deg,rgba(143,166,184,.05) 0 1px,transparent 1px 7px);
  border:1px solid var(--line);
  padding:var(--gap);
  display:flex;
  flex-direction:column;
  gap:var(--gap);
  overflow:hidden;
}
.movie-overview::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(120% 90% at 100% 0%,rgba(138,74,43,.18),transparent 55%),
    radial-gradient(90% 70% at 0% 100%,rgba(47,74,60,.16),transparent 60%);
}
.overview-head {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,220px) minmax(0,1fr);
  gap:var(--gap);
  align-items:start;
}
.poster-wrapper {
  position:relative;
  align-self:start;
  border:1px solid var(--line);
  padding:5px;
  background:linear-gradient(180deg,#141c24,#0c1116);
  box-shadow:0 0 0 1px rgba(0,0,0,.5),0 10px 22px rgba(0,0,0,.55);
}
.poster-wrapper::before {
  content:"";
  position:absolute;
  left:-1px;top:-1px;bottom:-1px;
  width:3px;
  background:linear-gradient(180deg,var(--rust),var(--moss));
}
.poster-wrapper img {
  width:100%;
  height:auto;
  object-fit:cover;
  filter:saturate(.72) contrast(1.06) brightness(.94);
}
.overview-primary {
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.overview-title {
  font-family:var(--serif);
  font-size:clamp(24px,4.4vw,40px);
  letter-spacing:.16em;
  color:var(--paper);
  line-height:1.1;
  text-shadow:0 0 18px rgba(201,162,74,.18);
}
.overview-tagline {
  font-size:13.5px;
  letter-spacing:.14em;
  color:var(--gold);
  border-left:2px solid rgba(201,162,74,.45);
  padding-left:9px;
}
.overview-seo {
  font-size:13px;
  color:var(--cold-dim);
  max-width:62ch;
}
.episode-status {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  margin-top:2px;
}
.status-current {
  font-size:12.5px;
  letter-spacing:.08em;
  color:var(--paper);
  background:linear-gradient(180deg,rgba(47,74,60,.85),rgba(24,38,31,.9));
  border:1px solid rgba(47,74,60,.9);
  padding:3px 9px;
  border-radius:2px;
}
.status-total {
  font-size:12.5px;
  letter-spacing:.08em;
  color:var(--rust-2);
  border:1px dashed rgba(178,95,52,.55);
  padding:3px 9px;
  border-radius:2px;
}
.player-wrapper {
  position:relative;
  width:100%;
  margin-top:4px;
  border:1px solid var(--line);
  background:#05080b;
  overflow:hidden;
}
.player-wrapper video {
  display:block;
  width:100%;
  background:#05080b;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:7px 8px;
  background:linear-gradient(180deg,rgba(20,28,36,.95),rgba(10,14,19,.95));
  border-top:1px solid var(--line);
}
.player-button {
  cursor:pointer;
  font-size:12px;
  letter-spacing:.06em;
  padding:3px 9px;
  color:var(--cold);
  background:linear-gradient(180deg,rgba(36,50,64,.7),rgba(17,24,32,.7));
  border:1px solid var(--line);
  border-radius:2px;
  transition:color .16s,border-color .16s;
  white-space:nowrap;
}
.player-button:hover {
  color:var(--gold);
  border-color:rgba(201,162,74,.5);
}
.player-slider {
  -webkit-appearance:none;
  appearance:none;
  height:4px;
  background:linear-gradient(90deg,var(--rust),var(--steel-2));
  border-radius:2px;
  cursor:pointer;
  flex:1 1 120px;
  min-width:80px;
  max-width:100%;
}
.player-slider::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--gold);
  border:1px solid #0a0d10;
}
.player-slider::-moz-range-thumb {
  width:11px;
  height:11px;
  border:none;
  border-radius:50%;
  background:var(--gold);
}
.synopsis-block {
  position:relative;
  z-index:1;
  border-top:1px solid var(--line);
  padding-top:11px;
}
.synopsis-paragraph {
  font-size:13.5px;
  color:var(--cold);
  max-width:78ch;
  margin-bottom:8px;
}
.synopsis-paragraph:last-child {margin-bottom:0;}
.cast-block {
  position:relative;
  z-index:1;
  border-top:1px solid var(--line);
  padding-top:11px;
}
.cast-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(118px,1fr));
  gap:8px;
  align-items:start;
}
.cast-card {
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:7px;
  background:linear-gradient(180deg,rgba(27,37,48,.7),rgba(14,20,27,.7));
  border:1px solid var(--line);
  align-self:start;
  transition:border-color .18s;
}
.cast-card:hover {
  border-color:rgba(201,162,74,.4);
}
.cast-avatar-wrapper {
  width:100%;
  overflow:hidden;
  border:1px solid rgba(143,166,184,.14);
  background:#0a0e13;
}
.cast-avatar {
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  filter:grayscale(.55) saturate(.7) contrast(1.05) brightness(.92);
  transition:filter .25s;
}
.cast-card:hover .cast-avatar {
  filter:grayscale(.15) saturate(.9) contrast(1.06) brightness(1);
}
.cast-meta {
  display:flex;
  flex-direction:column;
  gap:1px;
  min-width:0;
}
.cast-name {
  font-family:var(--serif);
  font-size:13.5px;
  letter-spacing:.1em;
  color:var(--paper);
}
.cast-role {
  font-size:11.5px;
  letter-spacing:.06em;
  color:var(--cold-dim);
}
.details-block {
  position:relative;
  z-index:1;
  border-top:1px solid var(--line);
  padding-top:11px;
}
.details-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.detail-item {
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:6px 9px;
  background:linear-gradient(180deg,rgba(20,28,36,.85),rgba(12,17,22,.85));
  min-width:0;
}
.detail-key {
  font-size:11.5px;
  letter-spacing:.12em;
  color:var(--cold-dim);
  white-space:nowrap;
  flex:0 0 auto;
}
.detail-value {
  font-size:13px;
  color:var(--cold);
  min-width:0;
  overflow-wrap:break-word;
}
.detail-value-score {
  font-family:var(--serif);
  font-size:16px;
  color:var(--gold);
  letter-spacing:.06em;
  text-shadow:0 0 10px rgba(201,162,74,.3);
}
.timeline-section {
  background:linear-gradient(90deg,rgba(17,24,32,.6),rgba(12,16,20,.25));
  border:1px solid var(--line);
  border-left:3px solid var(--moss);
  padding:var(--gap);
}
.timeline-list {
  position:relative;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:10px 14px;
}
.timeline-node {
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:"marker timecode" "marker label";
  column-gap:10px;
  row-gap:1px;
  padding:7px 9px 7px 6px;
  background:linear-gradient(180deg,rgba(27,37,48,.6),rgba(13,18,24,.6));
  border:1px solid var(--line);
  align-items:start;
}
.timeline-marker {
  grid-area:marker;
  align-self:stretch;
  width:12px;
  position:relative;
}
.timeline-marker::before {
  content:"";
  position:absolute;
  left:3px;
  top:0;
  bottom:0;
  width:1px;
  background:linear-gradient(180deg,transparent,var(--cold-dim),transparent);
}
.timeline-marker::after {
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:7px;
  height:9px;
  background:linear-gradient(180deg,var(--gold),var(--rust));
  border-radius:1px;
  box-shadow:0 1px 0 rgba(0,0,0,.6),0 0 8px rgba(201,162,74,.35);
}
.timeline-timecode {
  grid-area:timecode;
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.1em;
  color:var(--rust-2);
}
.timeline-label {
  grid-area:label;
  font-size:13px;
  color:var(--cold);
}
.episodes-section {
  background:linear-gradient(180deg,rgba(20,28,36,.55),rgba(12,16,20,.4));
  border:1px solid var(--line);
  border-top:3px solid var(--rust);
  padding:var(--gap);
}
.episodes-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(255px,1fr));
  gap:var(--gap);
  align-items:start;
}
.episode-card {
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-areas:
    "num title duration"
    "num summary summary";
  column-gap:9px;
  row-gap:4px;
  padding:9px 10px;
  background:linear-gradient(180deg,rgba(27,37,48,.72),rgba(13,18,24,.72));
  border:1px solid var(--line);
  border-left:2px solid rgba(138,74,43,.7);
  align-self:start;
  transition:border-color .18s,background .18s;
}
.episode-card:hover {
  border-color:rgba(201,162,74,.42);
  border-left-color:var(--gold);
  background:linear-gradient(180deg,rgba(36,50,64,.75),rgba(16,22,29,.75));
}
.episode-number {
  grid-area:num;
  writing-mode:horizontal-tb;
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:.06em;
  color:var(--gold);
  padding-top:1px;
  white-space:nowrap;
}
.episode-title {
  grid-area:title;
  font-family:var(--serif);
  font-size:14.5px;
  letter-spacing:.12em;
  color:var(--paper);
  min-width:0;
}
.episode-duration {
  grid-area:duration;
  font-family:var(--mono);
  font-size:11px;
  color:var(--cold-dim);
  white-space:nowrap;
  align-self:start;
}
.episode-summary {
  grid-area:summary;
  font-size:12.5px;
  color:var(--cold-dim);
  min-width:0;
}
.comments-section {
  border-top:1px solid var(--line);
  padding-top:var(--gap);
}
.comments-columns {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--gap);
  align-items:start;
}
.comments-column {
  display:flex;
  flex-direction:column;
  gap:var(--gap);
}
.comment-telegram {
  position:relative;
  padding:11px 12px 9px;
  background:
    repeating-linear-gradient(180deg,rgba(216,210,196,.035) 0 2px,transparent 2px 6px),
    linear-gradient(180deg,rgba(28,38,48,.85),rgba(15,20,26,.9));
  border:1px solid var(--line);
  border-top:2px solid rgba(143,166,184,.3);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);
}
.comment-telegram::before {
  content:"电文";
  position:absolute;
  top:6px;
  right:9px;
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.24em;
  color:rgba(201,162,74,.5);
}
.comment-text {
  font-size:13px;
  color:var(--cold);
  padding-right:34px;
}
.comment-author {
  display:block;
  margin-top:7px;
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.1em;
  color:var(--rust-2);
  text-align:right;
  font-style:normal;
}
.recommendation-region {
  border:1px solid var(--line);
  padding:var(--gap);
  background:linear-gradient(180deg,rgba(17,24,32,.5),rgba(12,16,20,.3));
}
.recommendation-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:10px;
  align-items:start;
}
a.recommendation-card {
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:7px;
  color:var(--cold);
  text-decoration:none;
  background:linear-gradient(180deg,rgba(27,37,48,.7),rgba(13,18,24,.7));
  border:1px solid var(--line);
  align-self:start;
  transition:border-color .18s,transform .18s,background .18s;
}
a.recommendation-card:hover {
  border-color:rgba(201,162,74,.5);
  background:linear-gradient(180deg,rgba(36,50,64,.8),rgba(16,22,29,.8));
  transform:translateY(-2px);
}
[data-runtime="recommendation"] img {
  width:100%;
  height:auto;
  aspect-ratio:16 / 10;
  object-fit:cover;
  border:1px solid rgba(143,166,184,.14);
  filter:saturate(.75) contrast(1.05) brightness(.92);
  transition:filter .22s;
}
a.recommendation-card:hover img {
  filter:saturate(.95) contrast(1.08) brightness(1);
}
.recommendation-name {
  font-family:var(--serif);
  font-size:13.5px;
  letter-spacing:.08em;
  color:var(--paper);
}
.recommendation-blurb {
  font-size:12px;
  color:var(--cold-dim);
}
.recommendation-region:last-of-type .section-heading {
  border-left-color:var(--gold);
}
.site-footer {
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(12,16,20,.6),#080b0e);
  padding:20px 16px 26px;
}
.footer-disclaimer {
  max-width:1220px;
  margin:0 auto 14px;
  font-size:12px;
  color:var(--cold-dim);
}
.footer-nav-row {
  max-width:1220px;
  margin:0 auto 14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
a.footer-link {
  font-size:12.5px;
  letter-spacing:.12em;
  color:var(--cold);
  text-decoration:none;
  padding:4px 12px;
  border:1px solid var(--line);
  border-radius:2px;
  transition:color .16s,border-color .16s;
}
a.footer-link:hover {
  color:var(--gold);
  border-color:rgba(201,162,74,.5);
}
.footer-friend-links {
  max-width:1220px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.friend-links-label {
  font-family:var(--serif);
  font-size:12.5px;
  letter-spacing:.2em;
  color:var(--paper-dim);
}
a.runtime-friend-link {
  font-size:12px;
  color:var(--cold-dim);
  text-decoration:none;
  white-space:nowrap;
  border-bottom:1px dotted rgba(143,166,184,.4);
  transition:color .16s,border-color .16s;
}
a.runtime-friend-link:hover {
  color:var(--gold);
  border-bottom-color:rgba(201,162,74,.7);
}
.player .play, .player .pause, .player .mute, .player .volume, .player .progress, .player .speed, .player .pip, .player .fullscreen, .player .theater, .player .light, .player .input, .player .click, .player .timeupdate {
  outline:none;
}
.player-button.play, .player-button.pause {
  color:var(--gold);
  border-color:rgba(201,162,74,.5);
}
.player-button.mute, .player-button.light {
  color:var(--cold-dim);
}
.player-button.theater, .player-button.fullscreen {
  color:var(--moss);
  border-color:rgba(47,74,60,.8);
}
.player-button.speed, .player-button.pip {
  letter-spacing:.08em;
}
.movie-overview.is-theater .player-wrapper {
  border-color:rgba(201,162,74,.4);
  box-shadow:0 0 0 1px rgba(201,162,74,.18),0 12px 30px rgba(0,0,0,.6);
}
.movie-overview.is-lights-off {
  background:linear-gradient(180deg,rgba(6,9,12,.98),rgba(4,6,8,.99));
}
.movie-overview.is-lights-off .player-wrapper video {
  filter:brightness(1.14) contrast(1.06);
}
@media (max-width:900px){.overview-head {
    grid-template-columns:minmax(0,180px) minmax(0,1fr);
  }}
@media (max-width:720px){.page-main {padding:12px 12px 32px;gap:14px;}
.header-inner {padding:9px 12px;}
.overview-head {
    grid-template-columns:minmax(0,1fr);
  }
.poster-wrapper {
    max-width:220px;
  }
.comments-columns {
    grid-template-columns:minmax(0,1fr);
  }
.episodes-grid {
    grid-template-columns:minmax(0,1fr);
  }
.cast-list {
    grid-template-columns:repeat(auto-fill,minmax(104px,1fr));
  }
.details-list {
    grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  }
.timeline-list {
    grid-template-columns:minmax(0,1fr);
  }
.recommendation-grid {
    grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  }}
@media (max-width:460px){.overview-title {letter-spacing:.1em;}
.cast-list {grid-template-columns:repeat(2,minmax(0,1fr));}
.details-list {grid-template-columns:minmax(0,1fr);}
.recommendation-grid {grid-template-columns:minmax(0,1fr);}
.player-controls {gap:5px;}
.player-button {padding:3px 7px;font-size:11.5px;}
.episode-card {
    grid-template-columns:auto 1fr;
    grid-template-areas:
      "num title"
      "num summary"
      "num duration";
  }
.episode-duration {grid-area:duration;justify-self:start;}}

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}
