* {box-sizing:border-box;margin:0;padding:0}
:root {
  --ink:#1b1f22;
  --ink-soft:#5b656b;
  --grid:#2a3136;
  --warm:#e8dcc8;
  --warm-deep:#cbb894;
  --shadow-blue:#20282d;
  --shadow-soft:#39444b;
  --door-orange:#ff7a1a;
  --door-orange-dim:#c25a12;
  --surface:#f1ece2;
  --surface-2:#e3dccf;
  --line:#c9c0b0;
}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%}
body {
  background:#151a1e;
  color:var(--ink);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Heiti SC",system-ui,sans-serif;
  font-size:13px;
  line-height:1.5;
  font-stretch:condensed;
  letter-spacing:.01em;
  overflow-x:hidden;
}
img {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
ul, ol {list-style:none}
button, input {font:inherit;color:inherit}
h1, h2, h3 {font-weight:800;letter-spacing:-.02em;line-height:1.2}
figure {margin:0}
.site-header {
  position:sticky;
  top:0;
  z-index:40;
  background:linear-gradient(180deg,#11161a 0%,#161d22 100%);
  border-bottom:1px solid #000;
  box-shadow:0 1px 0 rgba(255,122,26,.14);
}
.header-inner {
  max-width:1180px;
  margin:0 auto;
  padding:8px 14px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.brand {
  font-size:17px;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--warm);
  text-transform:uppercase;
  padding-left:11px;
  border-left:3px solid var(--door-orange);
  white-space:nowrap;
}
a[data-contract="site-name"] {
  color:var(--warm);
  text-decoration:none;
}
a[data-contract="site-name"]:hover {color:#fff;text-decoration:underline;text-underline-offset:3px}
.category-rail {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  flex:1 1 auto;
  min-width:0;
}
a.runtime-category {
  color:#a9b4ba;
  text-decoration:none;
  font-size:12px;
  white-space:nowrap;
  padding:3px 9px;
  border:1px solid #303a41;
  border-radius:2px;
  background:#1b2227;
  transition:color .15s,border-color .15s,background .15s;
}
a.runtime-category:hover {
  color:#fff;
  background:#262f36;
  border-color:var(--door-orange);
  text-decoration:none;
}
.page-main {
  display:block;
  max-width:1180px;
  margin:0 auto;
  padding:0 0 4px;
}
.hero-corridor {
  position:relative;
  background:
    radial-gradient(120% 70% at 50% 118%,rgba(255,178,84,.30) 0%,rgba(255,150,40,.09) 30%,rgba(20,26,31,0) 62%),
    linear-gradient(180deg,#1a2229 0%,#151d23 45%,#101619 100%);
  border-bottom:1px solid #000;
  padding:16px 14px 20px;
  overflow:hidden;
}
.hero-corridor::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(180deg,rgba(255,255,255,.028) 0 1px,rgba(0,0,0,0) 1px 26px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,rgba(0,0,0,0) 1px 40px);
  opacity:.9;
}
.hero-caption {
  position:relative;
  z-index:2;
  margin:0 0 12px;
  padding-left:12px;
  border-left:2px solid var(--door-orange);
}
.hero-floor {
  font-size:11px;
  letter-spacing:.24em;
  color:#8d9aa1;
  text-transform:uppercase;
}
.hero-line {
  font-size:15px;
  font-weight:700;
  color:var(--warm);
  letter-spacing:.02em;
  margin-top:3px;
  text-shadow:0 1px 0 #000;
}
.hero-player-shell {
  position:relative;
  z-index:2;
  width:100%;
  background:#080b0d;
  border:1px solid #2c363d;
  border-radius:3px;
  overflow:hidden;
  box-shadow:0 14px 32px rgba(0,0,0,.62),0 0 0 1px rgba(255,122,26,.10) inset;
  transition:box-shadow .25s,background .25s;
}
.hero-player-shell.is-theater {
  background:#04060700;
  box-shadow:0 0 46px rgba(255,150,40,.30),0 0 0 1px rgba(255,122,26,.5) inset;
}
.hero-player-shell.is-theater .player-video {max-height:78vh;object-fit:contain;background:#000}
.hero-player-shell.is-playing {border-color:#3c4a53}
.hero-player-shell.is-paused .player-video {filter:saturate(.82) brightness(.9)}
.hero-player-shell.is-fullscreen {
  border:0;
  border-radius:0;
}
.hero-player-shell.is-fullscreen .player-video {height:100%;object-fit:contain}
.hero-player-shell.is-lights-on {
  background:#2b2216;
  box-shadow:0 0 34px rgba(255,178,84,.44),0 0 0 1px rgba(255,150,40,.55) inset;
}
.player-video {
  display:block;
  background:#000;
  vertical-align:top;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 6px;
  padding:7px 8px;
  background:linear-gradient(180deg,#1d252b,#141a1f);
  border-top:1px solid #2b343b;
}
.ctrl-btn {
  flex:0 0 auto;
  padding:3px 9px;
  font-size:11px;
  letter-spacing:.06em;
  color:#cfd8dd;
  background:#232c33;
  border:1px solid #37434b;
  border-radius:2px;
  cursor:pointer;
  white-space:nowrap;
  transition:background .14s,color .14s,border-color .14s;
}
.ctrl-btn:hover {background:#2e3941;color:#fff;border-color:#4d5b64}
.ctrl-btn.is-active {
  background:var(--door-orange);
  border-color:#ffa15a;
  color:#1a1007;
  font-weight:700;
}
.ctrl-progress {
  flex:1 1 130px;
  min-width:90px;
  height:3px;
  -webkit-appearance:none;
  appearance:none;
  background:#3a444b;
  border-radius:2px;
  cursor:pointer;
}
.ctrl-progress::-webkit-slider-thumb {
  -webkit-appearance:none;
  width:11px;height:11px;border-radius:50%;
  background:var(--door-orange);
  border:0;
  box-shadow:0 0 0 2px #141a1f;
}
.ctrl-progress::-moz-range-thumb {width:11px;height:11px;border:0;border-radius:50%;background:var(--door-orange)}
.ctrl-volume {
  flex:0 1 74px;
  min-width:54px;
  height:3px;
  -webkit-appearance:none;
  appearance:none;
  background:#3a444b;
  border-radius:2px;
  cursor:pointer;
}
.ctrl-volume::-webkit-slider-thumb {
  -webkit-appearance:none;
  width:9px;height:9px;border-radius:50%;
  background:#9fb0b9;border:0;
}
.ctrl-volume::-moz-range-thumb {width:9px;height:9px;border:0;border-radius:50%;background:#9fb0b9}
.movie-overview {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.15fr);
  grid-template-areas:
    "poster head"
    "poster cast"
    "poster synopsis"
    "poster status"
    "poster details";
  gap:0 16px;
  align-items:start;
  background:
    linear-gradient(180deg,#f2ede3 0%,#eae3d6 100%);
  border-bottom:1px solid #bdb4a4;
  padding:14px;
  position:relative;
}
.movie-overview::after {
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--door-orange) 0 62px,#cfc6b6 62px 100%);
  opacity:.7;
}
.overview-poster {
  grid-area:poster;
  width:100%;
  align-self:start;
  background:#2a2420;
  border:1px solid #a89c88;
  box-shadow:0 6px 16px rgba(30,26,20,.28);
  overflow:hidden;
  line-height:0;
}
.overview-poster-img {
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}
.overview-head {grid-area:head;padding-top:1px}
.movie-title {
  font-size:27px;
  letter-spacing:-.03em;
  color:#171c1f;
  text-shadow:0 1px 0 #fff;
  transform:scaleX(.97);
  transform-origin:left center;
}
.movie-tagline {
  margin-top:4px;
  font-size:12px;
  color:#6a6155;
  letter-spacing:.04em;
  border-left:2px solid var(--door-orange);
  padding-left:8px;
}
.cast-block {grid-area:cast;margin-top:12px}
.block-title {
  font-size:12.5px;
  letter-spacing:.22em;
  color:#3b4348;
  text-transform:uppercase;
  padding-bottom:4px;
  margin-bottom:8px;
  border-bottom:1px solid var(--line);
  position:relative;
}
.block-title::before {
  content:"";
  position:absolute;
  left:0;bottom:-1px;
  width:34px;height:2px;
  background:var(--door-orange);
}
.cast-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px 8px;
}
.cast-card {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding-top:9px;
}
.doorplate {
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  color:#1b1006;
  background:var(--door-orange);
  border:1px solid #a54c0c;
  border-radius:2px;
  padding:0 5px;
  line-height:15px;
  box-shadow:0 1px 3px rgba(60,30,0,.4);
  white-space:nowrap;
}
.cast-avatar {
  position:relative;
  width:58px;height:58px;
  border-radius:50%;
  overflow:hidden;
  border:2px solid #b9ad98;
  background:#cfc6b6;
  box-shadow:0 3px 8px rgba(30,26,20,.22);
  flex:0 0 auto;
}
.cast-photo {
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
.cast-name {
  font-size:11px;
  color:#3f474c;
  letter-spacing:.05em;
  text-align:center;
  line-height:1.25;
}
.synopsis-block {grid-area:synopsis;margin-top:12px}
.synopsis-para {
  font-size:12px;
  line-height:1.62;
  color:#3c4247;
  text-align:justify;
}
.synopsis-para+.synopsis-para {margin-top:5px}
.episode-status {grid-area:status;margin-top:12px}
.status-line {
  font-size:12.5px;
  font-weight:700;
  color:#20272b;
  background:#e0d8c8;
  border-left:3px solid var(--door-orange);
  padding:5px 9px;
}
.status-meta {
  display:flex;
  flex-wrap:wrap;
  gap:0 18px;
  margin-top:6px;
  padding-left:2px;
}
.status-item {
  font-size:11.5px;
  color:#5d5549;
  letter-spacing:.04em;
  position:relative;
  padding-left:10px;
}
.status-item::before {
  content:"";
  position:absolute;
  left:0;top:50%;
  width:4px;height:4px;
  margin-top:-2px;
  background:var(--door-orange);
  border-radius:50%;
}
.details-block {grid-area:details;margin-top:12px}
.detail-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 14px;
}
.detail-row {
  display:flex;
  align-items:baseline;
  gap:7px;
  padding:3px 0;
  border-bottom:1px dashed #d3cabb;
  min-width:0;
}
.detail-key {
  flex:0 0 auto;
  font-size:11px;
  color:#7b7263;
  letter-spacing:.08em;
  min-width:56px;
}
.detail-value {
  flex:1 1 auto;
  min-width:0;
  font-size:11.5px;
  font-weight:600;
  color:#262c30;
  text-align:right;
  word-break:break-word;
}
.timeline-section {
  background:linear-gradient(180deg,#1c242a 0%,#161d22 100%);
  color:#d7dcdd;
  padding:14px;
  border-bottom:1px solid #000;
}
.timeline-section .block-title {
  color:#c9d2d6;
  border-bottom-color:#39444b;
}
.timeline-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 22px;
  margin-top:4px;
}
.timeline-item {
  display:grid;
  grid-template-columns:auto minmax(10px,1fr) minmax(0,4.4fr);
  align-items:center;
  gap:9px;
  padding:7px 0;
  border-bottom:1px solid #262f36;
  min-width:0;
}
.timeline-code {
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--door-orange);
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.timeline-rail {
  position:relative;
  height:100%;
  min-height:20px;
  align-self:stretch;
}
.timeline-rail::before {
  content:"";
  position:absolute;
  left:0;right:0;top:50%;
  height:1px;
  background:linear-gradient(90deg,#4c5a63 0%,#6f8089 42%,#8ba0a9 100%);
}
.timeline-rail::after {
  content:"";
  position:absolute;
  left:0;top:50%;
  width:7px;height:7px;
  margin-top:-3.5px;
  border:1px solid #7f929b;
  border-radius:50%;
  background:#141a1f;
}
.timeline-label {
  font-size:12px;
  color:#c3ccd0;
  line-height:1.45;
  min-width:0;
}
.episodes-section {
  background:#efe9dd;
  padding:14px 0 16px;
  border-bottom:1px solid #c6bcab;
}
.episodes-section .block-title {margin:0 14px 8px}
.episode-track {
  display:flex;
  gap:2px;
  overflow-x:auto;
  padding:2px 14px 10px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#b3a894 #e2dacd;
}
.episode-track::-webkit-scrollbar {height:7px}
.episode-track::-webkit-scrollbar-track {background:#e2dacd}
.episode-track::-webkit-scrollbar-thumb {background:#b3a894;border-radius:0}
.episode-card {
  flex:0 0 auto;
  width:216px;
  scroll-snap-align:start;
  position:relative;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:9px 10px 30px;
  background:#faf6ee;
  border:1px solid #cdc3b1;
  border-top:3px solid #b6a98f;
  box-shadow:0 2px 6px rgba(40,34,24,.10);
}
.episode-card:hover {
  border-top-color:var(--door-orange);
  background:#fffdf8;
}
.episode-num {
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.14em;
  color:#8a7f6b;
}
.episode-title {
  font-size:13.5px;
  color:#1c2225;
  letter-spacing:-.01em;
}
.episode-summary {
  font-size:11.5px;
  line-height:1.58;
  color:#4d5257;
  text-align:justify;
  flex:1 1 auto;
}
.episode-duration {
  position:absolute;
  right:9px;
  bottom:9px;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.06em;
  color:#1b1006;
  background:var(--door-orange);
  padding:1px 6px;
  border-radius:2px;
  font-variant-numeric:tabular-nums;
}
.comments-section {
  background:
    linear-gradient(180deg,#e9e2d5 0%,#e2dacb 100%);
  padding:14px;
  border-bottom:1px solid #c6bcab;
}
.comment-stack {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  align-items:start;
}
.comment-step {
  position:relative;
  background:#fbf8f1;
  border:1px solid #cfc5b3;
  border-left:3px solid #b9ac93;
  padding:8px 10px 9px 12px;
  box-shadow:0 2px 5px rgba(40,34,24,.10);
  margin-left:0;
  min-width:0;
}
.comment-step:nth-child(3n/**/+2) {margin-left:9px}
.comment-step:nth-child(3n) {margin-left:18px}
.comment-step:nth-child(2n) {border-left-color:var(--door-orange-dim)}
.comment-text {
  font-size:12px;
  line-height:1.6;
  color:#333a3e;
  text-align:justify;
}
.comment-nickname {
  display:block;
  margin-top:5px;
  font-size:10.5px;
  letter-spacing:.08em;
  color:#8a7f6b;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.comment-nickname::before {content:"—— "}
.recommend-region {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:0 14px;
  padding:14px;
  background:#f3eee4;
  border-bottom:1px solid #d2c8b7;
  align-items:start;
}
.region-2 {background:#ece6da}
.region-3 {background:#f3eee4}
.region-title {
  writing-mode:vertical-rl;
  text-orientation:upright;
  font-size:12px;
  letter-spacing:.3em;
  color:#4a5257;
  padding:2px 3px;
  border-left:2px solid var(--door-orange);
  align-self:start;
  max-height:100%;
  white-space:nowrap;
}
.region-entries {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  align-items:start;
  min-width:0;
}
a.rec-item {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:
    "pic name"
    "pic blurb";
  gap:2px 8px;
  align-items:start;
  padding:6px;
  background:#fffdf8;
  border:1px solid #cfc5b3;
  color:inherit;
  text-decoration:none;
  min-width:0;
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
a.rec-item:hover {
  border-color:var(--door-orange);
  box-shadow:0 4px 12px rgba(60,40,10,.16);
  transform:translateY(-1px);
  text-decoration:none;
}
[data-runtime="recommendation"] img {
  grid-area:pic;
  width:62px;
  max-width:100%;
  height:88px;
  object-fit:cover;
  display:block;
  background:#d8cfbf;
  border:1px solid #c0b5a1;
  flex:0 0 auto;
}
.rec-name {
  grid-area:name;
  font-size:12px;
  font-weight:700;
  color:#1e2427;
  line-height:1.35;
  min-width:0;
  overflow-wrap:anywhere;
}
.rec-blurb {
  grid-area:blurb;
  font-size:11px;
  line-height:1.5;
  color:#61686c;
  min-width:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.site-footer {
  background:linear-gradient(180deg,#141a1f,#0e1316);
  color:#8e9aa1;
  padding:16px 14px 22px;
  border-top:2px solid #1f282e;
  box-shadow:0 -1px 0 rgba(255,122,26,.18) inset;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  margin-bottom:10px;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:12px;
  color:#c6d0d5;
  text-decoration:none;
  white-space:nowrap;
  padding:2px 8px;
  border:1px solid #2b353c;
  background:#1a2126;
  border-radius:2px;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color:#fff;
  border-color:var(--door-orange);
  text-decoration:underline;
  text-underline-offset:3px;
}
.footer-disclaimer {
  max-width:760px;
  font-size:11px;
  line-height:1.65;
  color:#6f7a80;
  text-align:justify;
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:5px 10px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #222b31;
}
.friend-label {
  font-size:11px;
  letter-spacing:.2em;
  color:var(--door-orange);
  font-weight:700;
  white-space:nowrap;
}
a.runtime-friend-link {
  font-size:11px;
  color:#95a1a7;
  text-decoration:none;
  white-space:nowrap;
  border-bottom:1px dotted #3a454c;
}
a.runtime-friend-link:hover {
  color:#e8dcc8;
  text-decoration:underline;
  border-bottom-color:var(--door-orange);
}
@media (max-width:900px){.movie-overview {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "head"
      "poster"
      "cast"
      "synopsis"
      "status"
      "details";
  }
.overview-poster {
    max-width:230px;
    margin:12px 0 0;
  }
.comment-stack {grid-template-columns:repeat(2,minmax(0,1fr))}
.comment-step:nth-child(3n/**/+2), .comment-step:nth-child(3n) {margin-left:0}
.comment-step:nth-child(2n) {margin-left:9px}
.region-entries {grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-list {grid-template-columns:minmax(0,1fr)}}
@media (max-width:620px){body {font-size:12.5px}
.header-inner {padding:7px 10px;gap:9px}
.brand {font-size:15px}
.movie-overview {padding:12px 10px}
.movie-title {font-size:21px}
.cast-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px}
.cast-avatar {width:50px;height:50px}
.detail-list {grid-template-columns:minmax(0,1fr)}
.detail-row {padding:2px 0}
.timeline-section {padding:12px 10px}
.timeline-item {grid-template-columns:auto minmax(8px,1fr) minmax(0,3.4fr);gap:7px}
.episode-card {width:186px}
.comments-section {padding:12px 10px}
.comment-stack {grid-template-columns:minmax(0,1fr);gap:7px}
.comment-step:nth-child(2n) {margin-left:0}
.comment-step:nth-child(even) {margin-left:10px}
.recommend-region {
    grid-template-columns:minmax(0,1fr);
    gap:8px 0;
    padding:12px 10px;
  }
.region-title {
    writing-mode:horizontal-tb;
    text-orientation:mixed;
    border-left:0;
    border-bottom:1px solid var(--line);
    padding:0 0 4px;
    letter-spacing:.2em;
  }
.region-entries {grid-template-columns:minmax(0,1fr)}
[data-runtime="recommendation"] img {width:56px;height:80px}
.ctrl-progress {flex:1 1 100%;order:2}
.ctrl-volume {flex:0 1 64px}}

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}
