* {margin:0;padding:0;box-sizing:border-box}
html {-webkit-text-size-adjust:100%}
body {
  background:#14171c;
  color:#c9cdd4;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Heiti SC",sans-serif;
  font-size:14px;
  line-height:1.55;
  letter-spacing:.01em;
}
img, video {display:block;max-width:100%}
ul, ol {list-style:none}
a {color:inherit;text-decoration:none}
button, input {font:inherit;color:inherit}
h1, h2, h3 {font-weight:800;letter-spacing:.02em;line-height:1.2}
.site-header {
  position:sticky;
  top:0;
  z-index:40;
  background:linear-gradient(180deg,#181c22 0%,#15181d 100%);
  border-bottom:1px solid #262b33;
}
.header-bar {
  display:flex;
  align-items:center;
  gap:14px;
  padding:8px 16px;
  max-width:1440px;
  margin:0 auto;
}
a[data-contract="site-name"] {
  color:#ff8a2b;
  text-decoration:none;
  font-size:17px;
  font-weight:800;
  letter-spacing:.06em;
  white-space:nowrap;
  text-shadow:0 0 12px rgba(255,138,43,.35);
}
.site-brand {
  padding:2px 0;
  border-left:3px solid #ff8a2b;
  padding-left:8px;
}
.categories-nav {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-left:auto;
  justify-content:flex-end;
}
a.runtime-category {
  display:inline-block;
  white-space:nowrap;
  font-size:12.5px;
  padding:3px 10px;
  border:1px solid #333a44;
  border-radius:2px;
  color:#a9b1bc;
  text-decoration:none;
  background:#1b1f26;
  transition:color .15s,border-color .15s,background .15s;
}
a.runtime-category:hover {
  color:#ffb066;
  border-color:#ff8a2b;
  background:#221a13;
}
.page-main {
  max-width:1440px;
  margin:0 auto;
  padding:14px 16px 22px;
}
.hero-arena {
  display:grid;
  grid-template-columns:minmax(0,300px) minmax(0,1fr);
  gap:16px;
  align-items:start;
  position:relative;
  padding:16px;
  margin-bottom:14px;
  background:
    radial-gradient(120% 80% at 82% 6%,rgba(255,150,50,.20) 0%,rgba(255,150,50,0) 45%),
    linear-gradient(160deg,#1d2229 0%,#171b21 52%,#101318 100%);
  border:1px solid #262c35;
  border-radius:3px;
  overflow:hidden;
}
.hero-arena::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(115deg,rgba(255,255,255,.035) 0 2px,transparent 2px 100%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 46px),
    repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 52px);
  mix-blend-mode:screen;
}
.hero-silhouette {
  position:relative;
  align-self:start;
}
.poster-frame {
  position:relative;
  border:1px solid #383f49;
  border-radius:2px;
  background:#0d0f13;
  box-shadow:0 0 0 1px rgba(255,138,43,.14),0 18px 40px -20px #000;
  overflow:hidden;
}
.poster-frame img {
  width:100%;
  height:auto;
  object-fit:cover;
  filter:saturate(.86) contrast(1.08) brightness(.92);
}
.poster-frame::after {
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:38%;
  background:linear-gradient(180deg,rgba(13,15,19,0) 0%,rgba(13,15,19,.72) 100%);
  pointer-events:none;
}
.hero-text {
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}
.movie-title {
  font-size:29px;
  color:#f3f5f8;
  letter-spacing:.04em;
  text-shadow:0 2px 0 #0c0e11,0 0 26px rgba(255,138,43,.28);
}
.movie-tagline {
  font-size:13px;
  color:#ffb066;
  border-left:3px solid #ff8a2b;
  padding-left:9px;
  letter-spacing:.04em;
}
.hero-player {
  display:flex;
  flex-direction:column;
  gap:0;
  min-width:0;
  width:100%;
  border:1px solid #2e353f;
  background:#0b0d10;
  border-radius:3px;
  overflow:hidden;
  transition:box-shadow .2s,filter .2s;
}
.hero-player video {
  background:#000;
  display:block;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:7px 9px;
  background:linear-gradient(180deg,#191d23 0%,#121519 100%);
  border-top:1px solid #262c35;
}
.ctrl-btn {
  cursor:pointer;
  padding:3px 9px;
  font-size:12px;
  letter-spacing:.03em;
  color:#b9c0ca;
  background:#1d2229;
  border:1px solid #333a44;
  border-radius:2px;
  transition:background .15s,color .15s,border-color .15s;
}
.ctrl-btn:hover {color:#ffb066;border-color:#ff8a2b;background:#241b13}
.ctrl-progress {
  flex:1 1 140px;
  min-width:110px;
  height:5px;
  appearance:none;
  background:#2a313b;
  border-radius:3px;
  cursor:pointer;
  accent-color:#ff8a2b;
}
.ctrl-progress::-webkit-slider-thumb {
  appearance:none;
  width:11px;height:11px;
  border-radius:50%;
  background:#ff8a2b;
  box-shadow:0 0 8px rgba(255,138,43,.7);
}
.ctrl-progress::-moz-range-thumb {
  width:11px;height:11px;border:0;border-radius:50%;
  background:#ff8a2b;
}
.ctrl-volume {
  flex:0 0 74px;
  width:74px;
  height:5px;
  appearance:none;
  background:#2a313b;
  border-radius:3px;
  cursor:pointer;
  accent-color:#ff8a2b;
}
.ctrl-volume::-webkit-slider-thumb {
  appearance:none;
  width:10px;height:10px;border-radius:50%;
  background:#8f9aa8;
}
.ctrl-volume::-moz-range-thumb {
  width:10px;height:10px;border:0;border-radius:50%;
  background:#8f9aa8;
}
.ctrl-progress.is-scrubbing {background:#3b2a1a}
.ctrl-volume.is-active {background:#3b2a1a}
.ctrl-btn.is-active {color:#ffb066;border-color:#ff8a2b;background:#241b13}
.ctrl-btn.is-playing {color:#14171c;background:#ff8a2b;border-color:#ff8a2b}
.ctrl-btn.is-muted {color:#ff8a2b;border-color:#ff8a2b}
.hero-player.theater-mode {
  box-shadow:0 0 0 2px rgba(255,138,43,.4),0 24px 60px -24px #000;
}
.hero-player.lights-out {
  filter:brightness(.72) contrast(1.12);
}
.hero-player.lights-out video {
  box-shadow:inset 0 0 60px rgba(0,0,0,.9);
}
.hero-meta-strip {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:8px;
  background:#171b21;
  border:1px solid #262c35;
  border-radius:3px;
}
.chip {
  font-size:12px;
  padding:2px 9px;
  border:1px solid #333a44;
  border-radius:2px;
  color:#aeb6c1;
  background:#1c2128;
  white-space:nowrap;
}
.chip-current {
  color:#14171c;
  background:#ff8a2b;
  border-color:#ff8a2b;
  font-weight:700;
}
.chip-rating {
  color:#ffb066;
  border-color:#4a3a26;
  background:#221a12;
  font-weight:700;
}
.chip-episodes, .chip-year, .chip-region {color:#9aa3af}
.section-heading {
  font-size:14px;
  color:#eef1f5;
  letter-spacing:.09em;
  padding-left:9px;
  border-left:3px solid #ff8a2b;
  margin-bottom:8px;
  position:relative;
}
.section-heading::after {
  content:"";
  display:block;
  height:1px;
  margin-top:5px;
  background:linear-gradient(90deg,#39414c 0%,rgba(57,65,76,0) 100%);
}
.cast-block {
  margin-top:2px;
  padding:10px;
  background:#171b21;
  border:1px solid #262c35;
  border-radius:3px;
}
.cast-strip {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(86px,1fr));
  gap:8px;
}
.cast-card {
  position:relative;
  padding:16px 8px 12px;
  text-align:center;
  background:linear-gradient(155deg,#232930 0%,#191d23 70%);
  border:1px solid #313842;
  border-radius:2px;
  overflow:hidden;
  transition:transform .18s,border-color .18s;
}
.cast-card::before {
  content:"";
  position:absolute;
  inset:-40% -60% 40% 30%;
  background:linear-gradient(120deg,rgba(255,138,43,.20) 0%,rgba(255,138,43,0) 60%);
  transform:rotate(-14deg);
  pointer-events:none;
}
.cast-card::after {
  content:"";
  position:absolute;
  left:8%;right:8%;bottom:6px;
  height:2px;
  background:repeating-linear-gradient(90deg,rgba(255,138,43,.5) 0 6px,transparent 6px 12px);
  opacity:.5;
}
.cast-card:hover {transform:translateY(-2px);border-color:#ff8a2b}
.cast-name {
  position:relative;
  font-size:13px;
  font-weight:700;
  color:#e7eaee;
  letter-spacing:.05em;
}
.synopsis-block {
  margin-top:2px;
  padding:10px;
  background:#171b21;
  border:1px solid #262c35;
  border-radius:3px;
}
.synopsis-para {
  font-size:13px;
  color:#a9b1bc;
  line-height:1.72;
  text-indent:2em;
}
.synopsis-para+.synopsis-para {margin-top:6px}
.details-block {
  margin-top:2px;
  padding:10px;
  background:#171b21;
  border:1px solid #262c35;
  border-radius:3px;
}
.details-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:0 14px;
}
.detail-row {
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:4px 0;
  border-bottom:1px dashed #262c35;
  min-width:0;
}
.detail-key {
  flex:0 0 68px;
  font-size:12px;
  color:#7f8896;
  letter-spacing:.06em;
}
.detail-value {
  font-size:12.5px;
  color:#d3d8df;
  min-width:0;
  word-break:break-word;
}
.timeline-section {
  margin-bottom:14px;
  padding:12px 0 12px 14px;
  background:linear-gradient(180deg,#181c22 0%,#14171c 100%);
  border:1px solid #262c35;
  border-radius:3px;
}
.timeline-section .section-heading {margin-left:0}
.timeline-track {
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:10px 14px 14px 0;
  scrollbar-width:thin;
  scrollbar-color:#ff8a2b #1b1f26;
}
.timeline-track::-webkit-scrollbar {height:7px}
.timeline-track::-webkit-scrollbar-track {background:#1b1f26}
.timeline-track::-webkit-scrollbar-thumb {background:#ff8a2b;border-radius:4px}
.timeline-node {
  flex:0 0 auto;
  position:relative;
  min-width:172px;
  max-width:230px;
  padding:10px 12px 12px;
  background:linear-gradient(170deg,#20252c 0%,#171b21 100%);
  border:1px solid #2e353f;
  border-radius:2px;
  transition:border-color .18s,transform .18s;
}
.timeline-node::after {
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:3px;
  background:linear-gradient(90deg,#ff8a2b 0%,rgba(255,138,43,.05) 80%);
}
.timeline-node:nth-child(2n) {margin-top:16px}
.timeline-node:nth-child(3n) {margin-top:6px}
.timeline-node:hover {border-color:#ff8a2b;transform:translateY(-2px)}
.timeline-timecode {
  display:block;
  font-size:11.5px;
  font-weight:800;
  color:#ff8a2b;
  letter-spacing:.12em;
  margin-bottom:4px;
}
.timeline-label {
  display:block;
  font-size:12.5px;
  color:#b4bcc7;
  line-height:1.6;
}
.episodes-section {
  margin-bottom:14px;
  padding:12px;
  background:#161a20;
  border:1px solid #262c35;
  border-radius:3px;
}
.episodes-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
.episode-card {
  position:relative;
  padding:9px 11px 10px;
  background:linear-gradient(165deg,#1e232a 0%,#181c22 100%);
  border:1px solid #2b323b;
  border-left:3px solid #39414c;
  border-radius:2px;
  transition:border-color .18s,background .18s,transform .18s;
}
.episode-card:hover {
  border-color:#4a525e;
  border-left-color:#ff8a2b;
  transform:translateX(2px);
}
.episode-card-active {
  border-color:#ff8a2b;
  border-left-color:#ff8a2b;
  background:linear-gradient(165deg,#2a1f14 0%,#1d1811 100%);
  box-shadow:0 0 0 1px rgba(255,138,43,.30),0 10px 26px -18px #ff8a2b;
}
.episode-card-active .episode-number, .episode-card-active .episode-title {color:#ff8a2b}
.episode-number {
  display:inline-block;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.1em;
  color:#8b94a1;
  margin-bottom:3px;
}
.episode-title {
  font-size:14px;
  color:#eef1f5;
  margin-bottom:4px;
  letter-spacing:.03em;
}
.episode-summary {
  font-size:12.5px;
  color:#9aa3af;
  line-height:1.65;
  margin-bottom:6px;
}
.episode-duration {
  display:inline-block;
  font-size:11.5px;
  color:#7f8896;
  border-top:1px solid #2b323b;
  padding-top:4px;
  letter-spacing:.05em;
}
.episode-card-active .episode-duration {color:#c8955f;border-top-color:#4a3a26}
.comments-section {
  margin-bottom:14px;
  padding:12px;
  background:#161a20;
  border:1px solid #262c35;
  border-radius:3px;
}
.comment-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:10px;
  align-items:start;
}
.comment-note {
  position:relative;
  padding:10px 12px 11px;
  background:linear-gradient(170deg,#232830 0%,#1a1e24 100%);
  border:1px solid #313842;
  border-radius:2px;
  box-shadow:0 8px 18px -14px #000;
  transition:transform .18s,border-color .18s;
}
.comment-note:nth-child(2n) {transform:rotate(-.5deg)}
.comment-note:nth-child(3n) {transform:rotate(.6deg)}
.comment-note::before {
  content:"";
  position:absolute;
  top:-1px;left:14px;
  width:22px;height:3px;
  background:#ff8a2b;
  opacity:.75;
}
.comment-note:hover {border-color:#ff8a2b;transform:rotate(0) translateY(-2px)}
.comment-nickname {
  display:block;
  font-size:12px;
  font-weight:800;
  color:#ffb066;
  letter-spacing:.05em;
  margin-bottom:5px;
}
.comment-text {
  font-size:12.5px;
  color:#a9b1bc;
  line-height:1.7;
}
.rec-region {
  margin-bottom:14px;
  padding:12px;
  background:#161a20;
  border:1px solid #262c35;
  border-radius:3px;
}
.rec-region-1 {background:linear-gradient(180deg,#1a1e25 0%,#161a20 100%)}
.rec-region-2 {background:linear-gradient(180deg,#181d24 0%,#161a20 100%)}
.rec-region-3 {background:linear-gradient(180deg,#1a1c23 0%,#161a20 100%)}
.rec-region-4 {background:linear-gradient(180deg,#191d22 0%,#161a20 100%)}
.rec-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
a.rec-card {
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:6px;
  background:#1b2027;
  border:1px solid #2b323b;
  border-radius:2px;
  color:#c9cdd4;
  text-decoration:none;
  transition:border-color .18s,transform .18s,background .18s;
}
a.rec-card:hover {
  border-color:#ff8a2b;
  background:#221a13;
  transform:translateY(-2px);
}
[data-runtime="recommendation"] img {
  width:100%;
  aspect-ratio:3 / 4;
  height:auto;
  object-fit:cover;
  border-radius:1px;
  filter:saturate(.9) contrast(1.06) brightness(.92);
  transition:filter .18s;
}
a.rec-card:hover img {filter:saturate(1.05) contrast(1.1) brightness(1)}
[data-runtime="name"] {
  font-size:12.5px;
  font-weight:700;
  color:#e7eaee;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
[data-runtime="blurb"] {
  font-size:11.5px;
  color:#8b94a1;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.site-footer {
  max-width:1440px;
  margin:0 auto;
  padding:14px 16px 26px;
  border-top:1px solid #262c35;
  background:linear-gradient(180deg,#14171c 0%,#101318 100%);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-disclaimer {
  font-size:11.5px;
  color:#767f8c;
  line-height:1.7;
  max-width:900px;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}
a[data-contract="footer-home"] {
  color:#ff8a2b;
  text-decoration:none;
  font-size:12.5px;
  letter-spacing:.06em;
  border-bottom:1px solid rgba(255,138,43,.35);
  padding-bottom:1px;
}
a[data-contract="footer-home"]:hover {color:#ffb066;border-bottom-color:#ffb066}
a[data-contract="footer-sitemap"] {
  color:#9aa3af;
  text-decoration:none;
  font-size:12.5px;
  letter-spacing:.06em;
  border-bottom:1px solid rgba(154,163,175,.3);
  padding-bottom:1px;
}
a[data-contract="footer-sitemap"]:hover {color:#c9cdd4;border-bottom-color:#c9cdd4}
.footer-friends {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  padding-top:8px;
  border-top:1px dashed #262c35;
}
.friends-label {
  font-size:11.5px;
  color:#6d7683;
  letter-spacing:.1em;
}
a.runtime-friend-link {
  color:#8f98a5;
  text-decoration:none;
  font-size:11.5px;
  white-space:nowrap;
  padding:1px 6px;
  border:1px solid #262c35;
  border-radius:2px;
  transition:color .15s,border-color .15s;
}
a.runtime-friend-link:hover {color:#ffb066;border-color:#ff8a2b}
@media (max-width:1080px){.rec-grid {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.hero-arena {grid-template-columns:minmax(0,230px) minmax(0,1fr)}
.movie-title {font-size:24px}
.episodes-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.page-main {padding:10px 10px 18px}
.hero-arena {
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    padding:12px;
  }
.hero-silhouette {max-width:250px;margin:0 auto}
.movie-title {font-size:22px}
.comments-section, .episodes-section, .rec-region {padding:10px}
.episodes-grid {grid-template-columns:minmax(0,1fr)}
.rec-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.comment-list {grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.cast-strip {grid-template-columns:repeat(auto-fit,minmax(78px,1fr))}
.ctrl-volume {flex:0 0 60px;width:60px}}
@media (max-width:480px){body {font-size:13px}
.header-bar {padding:7px 10px;gap:8px}
a[data-contract="site-name"] {font-size:15px}
.hero-arena {padding:10px}
.movie-title {font-size:19px}
.movie-tagline {font-size:12px}
.rec-grid {grid-template-columns:minmax(0,1fr)}
.cast-strip {grid-template-columns:repeat(3,minmax(0,1fr))}
.player-controls {gap:5px;padding:6px}
.ctrl-btn {padding:3px 7px;font-size:11.5px}
.ctrl-progress {flex:1 1 100%;min-width:0}
.detail-key {flex:0 0 58px}
.timeline-node {min-width:150px}
.comments-section, .episodes-section, .rec-region, .cast-block, .synopsis-block, .details-block {padding:9px}}
@media (max-width:360px){.cast-strip {grid-template-columns:repeat(2,minmax(0,1fr))}
.movie-title {font-size:17.5px}}

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}
