:root {
  --green-900:#07130f;
  --green-800:#0b1d17;
  --green-700:#10291f;
  --green-600:#16362a;
  --green-500:#1e4636;
  --green-400:#2f6b52;
  --green-300:#5c9b7d;
  --green-200:#a9cbb9;
  --orange-500:#ff7a2f;
  --orange-400:#ff9b57;
  --orange-300:#ffbf8c;
  --ink:#e8f1ec;
  --ink-dim:#9db4a8;
  --ink-faint:#6d8378;
  --rule:rgba(169,203,185,.16);
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --tight:.35rem;
  --pad:.7rem;
}
*, *::before, *::after {box-sizing:border-box;}
html {-webkit-text-size-adjust:100%;}
body {
  margin:0;
  background:
    radial-gradient(120% 80% at 88% 0%,rgba(255,122,47,.10),transparent 55%),
    radial-gradient(120% 90% at 4% 8%,rgba(92,155,125,.14),transparent 60%),
    var(--green-900);
  color:var(--ink);
  font-family:var(--sans);
  font-size:14px;
  line-height:1.45;
  letter-spacing:.01em;
}
img, video {display:block;max-width:100%;}
img {height:auto;}
ul, ol, dl, dd, figure, h1, h2, h3, p {margin:0;padding:0;}
ul, ol {list-style:none;}
button, input, select {font:inherit;color:inherit;}
a {color:inherit;text-decoration:none;}
.site-header {
  position:sticky;
  top:0;
  z-index:20;
  background:linear-gradient(180deg,rgba(7,19,15,.96),rgba(7,19,15,.86));
  border-bottom:1px solid var(--rule);
  backdrop-filter:blur(6px);
}
.header-inner {
  display:flex;
  align-items:center;
  gap:calc(var(--pad) * 1.4);
  flex-wrap:wrap;
  padding:.55rem clamp(.7rem,3vw,1.6rem);
  max-width:1400px;
  margin:0 auto;
}
a[data-contract="site-name"] {
  font-size:1rem;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--orange-400);
  text-decoration:none;
  white-space:nowrap;
  border-left:3px solid var(--orange-500);
  padding-left:.45rem;
}
a[data-contract="site-name"]:hover {color:var(--orange-300);}
.category-nav {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.3rem;
  min-width:0;
}
a.runtime-category {
  display:inline-block;
  white-space:nowrap;
  padding:.22rem .6rem;
  border:1px solid var(--rule);
  border-radius:2px;
  background:rgba(30,70,54,.35);
  color:var(--green-200);
  font-size:.78rem;
  letter-spacing:.04em;
  text-decoration:none;
}
a.runtime-category:hover {
  color:var(--orange-400);
  border-color:rgba(255,122,47,.5);
  background:rgba(255,122,47,.08);
}
.page-main {
  max-width:1400px;
  margin:0 auto;
  padding:clamp(.7rem,2vw,1.4rem) clamp(.7rem,3vw,1.6rem) 2rem;
  display:flex;
  flex-direction:column;
  gap:clamp(1rem,2.4vw,1.6rem);
}
.section-heading {
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.22em;
  color:var(--green-200);
  text-transform:uppercase;
  padding-bottom:.3rem;
  margin-bottom:.6rem;
  border-bottom:1px solid var(--rule);
  position:relative;
}
.section-heading::after {
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:2.4rem;
  height:1px;
  background:var(--orange-500);
}
.movie-overview {
  background:
    linear-gradient(90deg,rgba(47,107,82,.18),rgba(7,19,15,0) 42%),
    linear-gradient(270deg,rgba(255,122,47,.10),rgba(7,19,15,0) 46%),
    var(--green-800);
  border:1px solid var(--rule);
  border-radius:3px;
  padding:clamp(.7rem,1.8vw,1.2rem);
}
.overview-grid {
  display:grid;
  grid-template-columns:minmax(0,15rem) minmax(0,1fr);
  gap:clamp(.8rem,2.2vw,1.6rem);
  align-items:start;
  position:relative;
}
.overview-grid::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:calc(15rem + clamp(.8rem,2.2vw,1.6rem) / 2);
  width:1px;
  background:linear-gradient(180deg,transparent,var(--green-300) 12%,var(--orange-400) 88%,transparent);
  opacity:.55;
  pointer-events:none;
}
.poster-column {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:.35rem;
  align-self:start;
}
.poster-column img[data-contract="main-poster"] {
  width:100%;
  height:auto;
  aspect-ratio:9 / 16;
  object-fit:cover;
  border-radius:2px;
  border:1px solid var(--rule);
  filter:saturate(.85) contrast(1.05);
  box-shadow:0 0 0 1px rgba(7,19,15,.6),0 14px 30px -18px rgba(0,0,0,.9);
}
.poster-caption {
  font-family:var(--mono);
  font-size:.66rem;
  letter-spacing:.14em;
  color:var(--ink-faint);
  text-align:center;
}
.overview-info {
  display:flex;
  flex-direction:column;
  gap:.9rem;
  min-width:0;
}
.title-block {
  display:flex;
  flex-direction:column;
  gap:.3rem;
  padding-bottom:.6rem;
  border-bottom:1px dashed var(--rule);
}
.movie-title {
  font-size:clamp(1.35rem,3.4vw,2.05rem);
  font-weight:800;
  letter-spacing:.03em;
  line-height:1.1;
  color:var(--ink);
  text-shadow:0 0 24px rgba(92,155,125,.25);
}
.movie-tagline {
  font-size:.9rem;
  color:var(--orange-400);
  letter-spacing:.08em;
  font-weight:600;
}
.movie-seo {
  font-size:.8rem;
  line-height:1.5;
  color:var(--ink-dim);
  max-width:62ch;
}
.player-shell {
  position:relative;
  border:1px solid var(--rule);
  border-radius:3px;
  background:var(--green-900);
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(47,107,82,.25);
}
.player-shell video {
  display:block;
  background:#000;
}
.player-shell.is-theater {
  border-color:rgba(255,122,47,.55);
  box-shadow:0 0 0 1px rgba(255,122,47,.25),0 0 40px -12px rgba(255,122,47,.4);
}
.player-shell.is-lights-off::after {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(3,8,6,.72);
  pointer-events:none;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.3rem;
  padding:.45rem .5rem;
  background:linear-gradient(180deg,rgba(16,41,31,.9),rgba(7,19,15,.95));
  border-top:1px solid var(--rule);
  position:relative;
  z-index:1;
}
.player-controls button, .player-controls select {
  padding:.24rem .5rem;
  font-size:.72rem;
  letter-spacing:.04em;
  color:var(--green-200);
  background:rgba(30,70,54,.5);
  border:1px solid var(--rule);
  border-radius:2px;
  cursor:pointer;
  white-space:nowrap;
}
.player-controls button:hover, .player-controls select:hover {
  color:var(--orange-400);
  border-color:rgba(255,122,47,.45);
}
.player-controls button.is-active {
  color:var(--green-900);
  background:var(--orange-500);
  border-color:var(--orange-500);
  font-weight:700;
}
.player-controls input[type="range"] {
  flex:1 1 5rem;
  min-width:4rem;
  height:1.1rem;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  cursor:pointer;
}
.player-controls input[type="range"]::-webkit-slider-runnable-track {
  height:3px;
  background:var(--green-500);
  border-radius:2px;
}
.player-controls input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance:none;
  width:11px;
  height:11px;
  margin-top:-4px;
  border-radius:50%;
  background:var(--orange-500);
  border:none;
}
.player-controls input[type="range"]::-moz-range-track {
  height:3px;
  background:var(--green-500);
  border-radius:2px;
}
.player-controls input[type="range"]::-moz-range-thumb {
  width:11px;
  height:11px;
  border:none;
  border-radius:50%;
  background:var(--orange-500);
}
.player-controls input[type="range"][data-player-action="volume"] {flex:0 1 4.5rem;}
.cast-section {}
.cast-list {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem .9rem;
  align-items:flex-start;
}
.cast-member {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.22rem;
  width:3.9rem;
  flex:0 0 auto;
}
.cast-avatar {
  width:3.1rem;
  height:3.1rem;
  border-radius:50%;
  display:block;
  background:
    radial-gradient(circle at 32% 28%,rgba(255,155,87,.55),transparent 58%),
    linear-gradient(140deg,var(--green-500),var(--green-800) 70%);
  border:1px solid rgba(169,203,185,.3);
  box-shadow:0 0 0 2px rgba(7,19,15,.7),inset 0 0 12px rgba(7,19,15,.6);
}
.cast-name {
  font-size:.7rem;
  line-height:1.2;
  color:var(--ink-dim);
  text-align:center;
  letter-spacing:.02em;
}
.synopsis-body {
  display:flex;
  flex-direction:column;
  gap:.45rem;
  columns:2;
  column-gap:1.4rem;
  column-rule:1px solid var(--rule);
}
.synopsis-paragraph {
  font-size:.8rem;
  line-height:1.55;
  color:var(--ink-dim);
  text-align:justify;
  break-inside:avoid;
}
.synopsis-paragraph:first-child::first-letter {
  color:var(--orange-400);
  font-weight:800;
}
.status-row {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  align-items:flex-start;
}
.status-chip {
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.04em;
  padding:.26rem .55rem;
  border:1px solid var(--rule);
  border-radius:2px;
  background:rgba(22,54,42,.5);
  color:var(--green-200);
  white-space:nowrap;
}
.status-current {
  color:var(--green-900);
  background:var(--orange-500);
  border-color:var(--orange-500);
  font-weight:700;
}
.status-total {color:var(--ink-dim);}
.status-score {
  color:var(--orange-400);
  border-color:rgba(255,122,47,.4);
}
.details-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));
  gap:.35rem .9rem;
}
.detail-item {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.5rem;
  padding:.22rem 0;
  border-bottom:1px dotted rgba(169,203,185,.14);
}
.detail-key {
  font-size:.72rem;
  color:var(--ink-faint);
  letter-spacing:.06em;
  white-space:nowrap;
}
.detail-value {
  font-size:.76rem;
  color:var(--ink);
  text-align:right;
}
.timeline-section {
  border-top:1px solid var(--rule);
  padding-top:.9rem;
}
.timeline-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));
  gap:.1rem .2rem;
  position:relative;
}
.timeline-node {
  display:grid;
  grid-template-columns:1.1rem minmax(0,auto) minmax(0,1fr);
  align-items:baseline;
  gap:.5rem;
  padding:.38rem .5rem .38rem .2rem;
  border-left:1px solid rgba(169,203,185,.22);
  position:relative;
}
.timeline-node::before {
  content:"";
  position:absolute;
  left:-3px;
  top:.78rem;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--green-300);
  box-shadow:0 0 0 2px var(--green-900);
}
.timeline-node:last-child::before {background:var(--orange-500);}
.timeline-wave {
  width:1.1rem;
  height:.75rem;
  align-self:center;
  background:
    linear-gradient(90deg,
      var(--orange-400) 0 2px,transparent 2px 4px,
      var(--green-300) 4px 5px,transparent 5px 7px,
      var(--orange-400) 7px 9px,transparent 9px 11px,
      var(--green-300) 11px 12px,transparent 12px 14px,
      var(--orange-400) 14px 16px,transparent 16px);
  background-size:16px 100%;
  background-repeat:repeat-x;
  opacity:.85;
}
.timeline-timecode {
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.02em;
  color:var(--orange-400);
  white-space:nowrap;
}
.timeline-label {
  font-size:.75rem;
  line-height:1.4;
  color:var(--ink-dim);
  min-width:0;
}
.episodes-section {
  border-top:1px solid var(--rule);
  padding-top:.9rem;
}
.episode-scroller {
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:.5rem;
  scrollbar-color:var(--green-400) transparent;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.episode-scroller::-webkit-scrollbar {height:6px;}
.episode-scroller::-webkit-scrollbar-track {background:rgba(22,54,42,.4);}
.episode-scroller::-webkit-scrollbar-thumb {background:var(--green-400);border-radius:3px;}
.episode-strip {
  display:flex;
  gap:.5rem;
  align-items:stretch;
  padding:.15rem .15rem .3rem;
  width:max-content;
}
.episode-card {
  flex:0 0 auto;
  width:12.5rem;
  display:flex;
  flex-direction:column;
  gap:.25rem;
  padding:.5rem .6rem .55rem;
  background:linear-gradient(180deg,rgba(22,54,42,.55),rgba(11,29,23,.7));
  border:1px solid var(--rule);
  border-radius:2px;
  position:relative;
}
.episode-number {
  font-family:var(--mono);
  font-size:1.15rem;
  font-weight:700;
  line-height:1;
  color:var(--green-300);
  letter-spacing:.04em;
}
.episode-title {
  font-size:.82rem;
  font-weight:700;
  color:var(--ink);
  letter-spacing:.03em;
  line-height:1.25;
}
.episode-summary {
  font-size:.72rem;
  line-height:1.45;
  color:var(--ink-dim);
  flex:0 0 auto;
}
.episode-duration {
  font-family:var(--mono);
  font-size:.66rem;
  color:var(--ink-faint);
  letter-spacing:.06em;
  margin-top:auto;
  padding-top:.2rem;
  border-top:1px dotted rgba(169,203,185,.16);
}
.episode-card-current {
  border-color:var(--orange-500);
  background:linear-gradient(180deg,rgba(255,122,47,.14),rgba(11,29,23,.8));
  box-shadow:0 0 0 1px rgba(255,122,47,.25),0 0 26px -12px rgba(255,122,47,.6);
}
.episode-card-current .episode-number {color:var(--orange-500);}
.episode-card-current .episode-title {color:var(--orange-300);}
.comments-section {
  border-top:1px solid var(--rule);
  padding-top:.9rem;
}
.comment-columns {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.6rem 1rem;
  align-items:start;
}
.comment-column {
  display:flex;
  flex-direction:column;
  gap:.45rem;
  min-width:0;
}
.comment-column-short {}
.comment-column-long {
  padding-left:.9rem;
  border-left:1px solid var(--rule);
}
.comment-card {
  padding:.45rem .6rem;
  background:rgba(16,41,31,.55);
  border:1px solid var(--rule);
  border-left:2px solid var(--green-400);
  border-radius:2px;
}
.comment-column-long .comment-card {
  border-left-color:var(--orange-500);
  background:rgba(255,122,47,.06);
}
.comment-text {
  font-size:.76rem;
  line-height:1.5;
  color:var(--ink-dim);
}
.comment-author {
  margin-top:.28rem;
  font-family:var(--mono);
  font-size:.66rem;
  letter-spacing:.06em;
  color:var(--green-300);
}
.comment-column-long .comment-author {color:var(--orange-400);}
.recommend-region {
  border-top:1px solid var(--rule);
  padding-top:.9rem;
}
.recommend-region .section-heading {
  margin-bottom:.15rem;
  border-bottom:none;
  padding-bottom:0;
}
.recommend-region .section-heading::after {display:none;}
.recommend-count {
  font-family:var(--mono);
  font-size:.66rem;
  letter-spacing:.12em;
  color:var(--ink-faint);
  margin-bottom:.55rem;
}
.recommend-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));
  gap:.55rem;
  align-items:start;
}
a.recommend-card {
  display:flex;
  flex-direction:column;
  gap:.25rem;
  padding:.4rem;
  background:rgba(16,41,31,.5);
  border:1px solid var(--rule);
  border-radius:2px;
  color:var(--ink-dim);
  text-decoration:none;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
a.recommend-card img {
  width:100%;
  aspect-ratio:16 / 10;
  height:auto;
  object-fit:cover;
  border-radius:2px;
  background:var(--green-700);
  filter:saturate(.9);
}
a.recommend-card [data-runtime="name"] {
  font-size:.76rem;
  font-weight:700;
  color:var(--ink);
  line-height:1.25;
}
a.recommend-card [data-runtime="blurb"] {
  font-size:.68rem;
  line-height:1.4;
  color:var(--ink-faint);
}
a.recommend-card:hover {
  border-color:rgba(255,122,47,.5);
  background:rgba(255,122,47,.08);
  transform:translateY(-1px);
}
a.recommend-card:hover [data-runtime="name"] {color:var(--orange-400);}
a.recommend-card:hover img {filter:saturate(1.1) brightness(1.05);}
.site-footer {
  border-top:1px solid var(--rule);
  background:linear-gradient(180deg,rgba(11,29,23,.7),rgba(7,19,15,.95));
  margin-top:.5rem;
}
.footer-inner {
  max-width:1400px;
  margin:0 auto;
  padding:1rem clamp(.7rem,3vw,1.6rem) 1.6rem;
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
.footer-disclaimer {
  font-size:.7rem;
  line-height:1.5;
  color:var(--ink-faint);
  max-width:80ch;
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.3rem .55rem;
}
.friend-links-label {
  font-family:var(--mono);
  font-size:.66rem;
  letter-spacing:.14em;
  color:var(--green-300);
  padding-right:.4rem;
  border-right:1px solid var(--rule);
}
a.runtime-friend-link {
  font-size:.7rem;
  color:var(--ink-dim);
  text-decoration:none;
  padding:.12rem .38rem;
  border:1px solid transparent;
  border-radius:2px;
  white-space:nowrap;
}
a.runtime-friend-link:hover {
  color:var(--orange-400);
  border-color:rgba(255,122,47,.4);
  background:rgba(255,122,47,.07);
}
.footer-links {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem 1rem;
  padding-top:.5rem;
  border-top:1px dashed var(--rule);
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:.72rem;
  letter-spacing:.06em;
  color:var(--green-200);
  text-decoration:none;
  border-bottom:1px solid rgba(169,203,185,.35);
  padding-bottom:1px;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color:var(--orange-400);
  border-bottom-color:var(--orange-500);
}
.player-shell.theater {outline:1px solid var(--orange-500);}
.player-shell.light {background:#000;}
.player-shell.fullscreen {background:#000;}
button.play.is-active, button.mute.is-active, button.pip.is-active, button.theater.is-active, button.light.is-active {color:var(--green-900);background:var(--orange-500);border-color:var(--orange-500);}
input.input, input.change, input.click, input.timeupdate, input.progress, input.volume {accent-color:var(--orange-500);}
@media (max-width:980px){.overview-grid {grid-template-columns:minmax(0,12rem) minmax(0,1fr);}
.overview-grid::before {left:calc(12rem + clamp(.8rem,2.2vw,1.6rem) / 2);}
.synopsis-body {columns:1;}
.comment-column-long {padding-left:0;border-left:none;}}
@media (max-width:760px){.overview-grid {grid-template-columns:minmax(0,1fr);}
.overview-grid::before {display:none;}
.poster-column {
    max-width:14rem;
    margin:0 auto;
  }
.comment-columns {grid-template-columns:minmax(0,1fr);gap:.5rem;}
.comment-column-long {padding-left:0;border-left:none;padding-top:.5rem;border-top:1px solid var(--rule);}
.episode-card {width:11rem;}
.details-list {grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));}
.timeline-list {grid-template-columns:minmax(0,1fr);}}
@media (max-width:420px){body {font-size:13px;}
.cast-member {width:3.4rem;}
.cast-avatar {width:2.6rem;height:2.6rem;}
.recommend-grid {grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));}
.episode-card {width:10rem;}
.player-controls input[type="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}
