:root {
  --ink:#0d1a20;
  --ink-2:#12242c;
  --dai:#1d3a44;
  --dai-soft:#2b5361;
  --gold:#c9a25a;
  --gold-soft:#e0c48a;
  --gold-dim:#8a6f3a;
  --paper:#e8e2d6;
  --paper-2:#cfc7b8;
  --muted:#8b9aa0;
  --line:rgba(201,162,90,.28);
  --line-strong:rgba(201,162,90,.55);
  --serif:"Songti SC","Song","Noto Serif CJK SC","Source Han Serif SC",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
}
*, *::before, *::after {box-sizing:border-box;}
html, body {margin:0;padding:0;}
body {
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(201,162,90,.10), transparent 60%),
    linear-gradient(180deg,#0b161c 0%, #0d1a20 40%, #0a141a 100%);
  color:var(--paper);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  letter-spacing:.01em;
}
img, video {display:block;max-width:100%;}
img {height:auto;}
a {
  color:var(--gold-soft);
  text-decoration:none;
  transition:color .18s ease, opacity .18s ease;
}
a:hover {color:#f0dcae;}
h1, h2, h3 {
  font-family:var(--serif);
  margin:0;
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.3;
}
p {margin:0;}
ul, ol, dl, dd, figure {margin:0;padding:0;list-style:none;}
button, input, select {
  font-family:inherit;
  font-size:inherit;
  color:inherit;
}
.site-header {
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(10,20,26,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner {
  max-width:1180px;
  margin:0 auto;
  padding:9px 16px;
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
a[data-contract="site-name"] {
  font-family:var(--serif);
  font-size:19px;
  letter-spacing:.14em;
  color:var(--gold-soft);
  text-decoration:none;
  padding-right:16px;
  border-right:1px solid var(--line);
  white-space:nowrap;
}
a[data-contract="site-name"]:hover {color:#f4e2b4;}
.category-bar {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  min-width:0;
}
a.runtime-category {
  display:inline-block;
  font-size:12.5px;
  letter-spacing:.08em;
  color:var(--paper-2);
  text-decoration:none;
  padding:3px 9px;
  border:1px solid var(--line);
  background:rgba(201,162,90,.04);
  white-space:nowrap;
  transition:border-color .18s ease, color .18s ease, background .18s ease;
}
a.runtime-category:hover {
  color:var(--gold-soft);
  border-color:var(--line-strong);
  background:rgba(201,162,90,.10);
  text-decoration:none;
}
.page-main {
  max-width:1180px;
  margin:0 auto;
  padding:18px 16px 0;
  display:block;
}
.hero-dossier {
  display:block;
}
.hero-stage {
  display:grid;
  grid-template-columns:minmax(0,300px) minmax(0,1fr);
  gap:22px;
  align-items:start;
  padding:16px;
  background:linear-gradient(160deg, rgba(29,58,68,.55) 0%, rgba(13,26,32,.75) 55%, rgba(13,26,32,.95) 100%);
  border:1px solid var(--line);
  border-top:2px solid var(--line-strong);
}
.hero-silhouette {
  position:relative;
  min-width:0;
}
.poster-frame {
  position:relative;
  border:1px solid var(--line);
  overflow:hidden;
  background:#08131a;
}
.poster-frame::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(13,26,32,.10) 0%, rgba(13,26,32,0) 40%, rgba(13,26,32,.55) 100%);
  pointer-events:none;
}
.poster-frame img {
  width:100%;
  height:auto;
  aspect-ratio:9 / 16;
  object-fit:cover;
  filter:saturate(.9) contrast(1.05);
}
.hero-objects {
  position:absolute;
  right:-14px;
  bottom:14px;
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:flex-end;
  width:max-content;
  max-width:78%;
}
.object-letter, .object-pin {
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:8px;
  padding:5px 9px;
  background:rgba(9,18,24,.94);
  border:1px solid var(--line-strong);
  max-width:100%;
}
.object-letter {transform:rotate(-2.2deg);}
.object-pin {transform:rotate(1.6deg);}
.object-mark {
  font-family:var(--serif);
  font-size:13px;
  letter-spacing:.18em;
  color:var(--gold);
  border:1px solid var(--line-strong);
  padding:1px 6px;
  white-space:nowrap;
}
.object-caption {
  font-size:11px;
  line-height:1.4;
  color:var(--muted);
  letter-spacing:.02em;
}
.hero-ledger {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.movie-title {
  font-size:clamp(24px,3.4vw,38px);
  letter-spacing:.08em;
  color:#f3e6c8;
  text-shadow:0 2px 18px rgba(201,162,90,.18);
  border-bottom:1px solid var(--line);
  padding-bottom:8px;
}
.movie-tagline {
  font-family:var(--serif);
  font-size:14px;
  letter-spacing:.06em;
  color:var(--gold-soft);
  padding-left:10px;
  border-left:2px solid var(--gold);
}
.movie-intro {
  font-size:13.5px;
  line-height:1.85;
  color:#b9c5c9;
  max-width:60ch;
}
.hero-player {
  position:relative;
  width:100%;
  margin-top:2px;
  border:1px solid var(--line);
  background:#050d12;
  overflow:hidden;
  transition:box-shadow .25s ease, border-color .25s ease;
}
.hero-player video {
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  background:#050d12;
  object-fit:contain;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 8px;
  padding:8px 9px;
  background:rgba(8,18,24,.96);
  border-top:1px solid var(--line);
}
.control-chip {
  appearance:none;
  cursor:pointer;
  font-size:12px;
  letter-spacing:.04em;
  padding:4px 9px;
  color:var(--paper-2);
  background:rgba(201,162,90,.05);
  border:1px solid var(--line);
  border-radius:2px;
  white-space:nowrap;
  transition:color .16s ease, border-color .16s ease, background .16s ease;
}
.control-chip:hover {
  color:var(--gold-soft);
  border-color:var(--line-strong);
  background:rgba(201,162,90,.14);
}
.control-chip:active {
  background:rgba(201,162,90,.24);
}
.control-slider, .control-select {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11.5px;
  color:var(--muted);
  letter-spacing:.05em;
}
.control-label {
  white-space:nowrap;
}
.control-slider input[type="range"] {
  appearance:none;
  width:88px;
  height:2px;
  background:var(--line-strong);
  cursor:pointer;
  border-radius:2px;
  outline:none;
}
.control-slider input[type="range"]::-webkit-slider-thumb {
  appearance:none;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--gold);
  border:none;
  cursor:pointer;
}
.control-slider input[type="range"]::-moz-range-thumb {
  width:10px;
  height:10px;
  border:none;
  border-radius:50%;
  background:var(--gold);
  cursor:pointer;
}
.control-select select {
  appearance:none;
  background:rgba(201,162,90,.05);
  border:1px solid var(--line);
  color:var(--paper-2);
  font-size:11.5px;
  padding:3px 6px;
  border-radius:2px;
  cursor:pointer;
}
.control-select select:focus {outline:1px solid var(--line-strong);}
.hero-player.is-theater {
  border-color:var(--gold-dim);
  box-shadow:0 0 0 1px rgba(201,162,90,.25), 0 18px 44px rgba(0,0,0,.55);
}
.hero-player.is-lights-off {
  background:#000;
}
.hero-player.is-lights-off video {
  filter:brightness(.82) contrast(1.06);
}
.hero-player.is-lights-off .player-controls {
  background:rgba(0,0,0,.94);
  border-top-color:rgba(201,162,90,.35);
}
.play .control-chip[data-player-action="play"], .mute .control-chip[data-player-action="mute"], .pip .control-chip[data-player-action="pip"], .fullscreen .control-chip[data-player-action="fullscreen"], .theater .control-chip[data-player-action="theater"], .light .control-chip[data-player-action="light"] {
  color:#0d1a20;
  background:var(--gold);
  border-color:var(--gold);
}
.progress input[type="range"], .volume input[type="range"] {
  background:var(--gold-dim);
}
.speed .control-select select {
  border-color:var(--line-strong);
  color:var(--gold-soft);
}
.click .control-chip, .input .control-chip {
  border-color:var(--line-strong);
}
.change .control-chip {
  border-color:var(--line-strong);
  color:var(--gold-soft);
}
.function .control-chip {
  letter-spacing:.06em;
}
.timeupdate .control-slider input[type="range"] {
  background:var(--gold-dim);
}
.cast-strip {
  margin-top:14px;
  border:1px solid var(--line);
  border-left:2px solid var(--line-strong);
  background:rgba(13,26,32,.6);
  padding:12px 14px 14px;
}
.cast-heading, .synopsis-heading, .status-heading, .details-heading, .timeline-heading, .episodes-heading, .comments-heading, .recommend-heading {
  font-size:15px;
  letter-spacing:.22em;
  color:var(--gold);
  padding-bottom:7px;
  margin-bottom:10px;
  border-bottom:1px solid var(--line);
  position:relative;
}
.cast-heading::before, .synopsis-heading::before, .status-heading::before, .details-heading::before, .timeline-heading::before, .episodes-heading::before, .comments-heading::before, .recommend-heading::before {
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:40px;
  height:2px;
  background:var(--gold);
}
.cast-list {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
.cast-card {
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-start;
  min-width:0;
}
.cast-figure {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  width:100%;
}
.cast-avatar {
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 50% 34%, rgba(201,162,90,.42) 0 16%, transparent 17%),
    radial-gradient(circle at 50% 88%, rgba(201,162,90,.28) 0 34%, transparent 35%),
    linear-gradient(160deg,#1d3a44 0%, #0d1a20 100%);
  position:relative;
  overflow:hidden;
}
.cast-avatar::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(9,18,24,.75) 100%);
}
.cast-name {
  font-family:var(--serif);
  font-size:13.5px;
  letter-spacing:.1em;
  color:#eadfca;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.cast-note {
  font-size:11px;
  line-height:1.55;
  color:var(--muted);
  border-top:1px solid rgba(201,162,90,.16);
  padding-top:5px;
  width:100%;
}
.synopsis-block {
  margin-top:14px;
  border:1px solid var(--line);
  border-left:2px solid var(--line-strong);
  background:rgba(13,26,32,.6);
  padding:12px 14px 14px;
}
.synopsis-body {
  columns:2;
  column-gap:22px;
  column-rule:1px solid rgba(201,162,90,.18);
}
.synopsis-para {
  font-size:13.5px;
  line-height:1.9;
  color:#c3cdd1;
  margin-bottom:10px;
  break-inside:avoid;
  text-align:justify;
}
.synopsis-para:last-child {margin-bottom:0;}
.synopsis-para::first-letter {
  font-family:var(--serif);
  font-size:1.6em;
  color:var(--gold-soft);
  padding-right:2px;
}
.episode-status {
  margin-top:14px;
  border:1px solid var(--line);
  border-left:2px solid var(--line-strong);
  background:rgba(13,26,32,.6);
  padding:12px 14px 14px;
}
.status-line {
  font-family:var(--serif);
  font-size:14px;
  letter-spacing:.06em;
  color:var(--gold-soft);
  margin-bottom:10px;
}
.status-chips {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.status-chip {
  font-size:11.5px;
  letter-spacing:.05em;
  color:var(--paper-2);
  padding:3px 9px;
  border:1px solid var(--line);
  background:rgba(201,162,90,.04);
  white-space:nowrap;
}
.details-block {
  margin-top:14px;
  border:1px solid var(--line);
  border-left:2px solid var(--line-strong);
  background:rgba(13,26,32,.6);
  padding:12px 14px 14px;
}
.detail-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 22px;
}
.detail-row {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:baseline;
  padding:5px 0;
  border-bottom:1px dotted rgba(201,162,90,.20);
}
.detail-key {
  font-size:11.5px;
  letter-spacing:.14em;
  color:var(--gold-dim);
  white-space:nowrap;
}
.detail-value {
  font-size:13px;
  color:#d5dde0;
  min-width:0;
}
.timeline-block {
  margin-top:16px;
  border:1px solid var(--line);
  border-top:2px solid var(--line-strong);
  background:rgba(13,26,32,.55);
  padding:12px 14px 14px;
}
.timeline-list {
  position:relative;
  display:grid;
  gap:0;
  padding-left:14px;
}
.timeline-list::before {
  content:"";
  position:absolute;
  left:2px;
  top:6px;
  bottom:6px;
  width:1px;
  background:linear-gradient(180deg, var(--gold-dim), rgba(201,162,90,.12));
}
.timeline-node {
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:baseline;
  padding:7px 0 7px 14px;
  border-bottom:1px solid rgba(201,162,90,.12);
  text-align:left;
}
.timeline-node:last-child {border-bottom:none;}
.timeline-node::before {
  content:"";
  position:absolute;
  left:-16px;
  top:15px;
  width:7px;
  height:7px;
  background:var(--gold);
  transform:rotate(45deg);
  box-shadow:0 0 0 3px rgba(13,26,32,.95), 0 0 10px rgba(201,162,90,.45);
}
.node-timecode {
  font-family:var(--serif);
  font-size:12.5px;
  letter-spacing:.1em;
  color:var(--gold);
  white-space:nowrap;
  min-width:44px;
}
.node-label {
  font-size:13px;
  color:#c8d2d6;
}
.episodes-block {
  margin-top:16px;
  border:1px solid var(--line);
  border-top:2px solid var(--line-strong);
  background:rgba(13,26,32,.55);
  padding:12px 14px 14px;
}
.episode-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.episode-card {
  min-width:0;
  border:1px solid rgba(201,162,90,.16);
  background:rgba(9,18,24,.55);
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}
.episode-card:hover {
  border-color:var(--line-strong);
  background:rgba(29,58,68,.40);
  transform:translateX(2px);
}
.episode-inner {
  padding:10px 12px;
  display:grid;
  gap:4px;
}
.episode-title {
  font-size:13.5px;
  font-weight:700;
  letter-spacing:.05em;
  color:#f0e4c6;
}
.episode-summary {
  font-size:12px;
  line-height:1.65;
  color:var(--muted);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.episode-meta {
  font-size:11px;
  letter-spacing:.1em;
  color:var(--gold-dim);
  border-top:1px solid rgba(201,162,90,.14);
  padding-top:4px;
}
.comments-block {
  margin-top:16px;
  border:1px solid var(--line);
  border-top:2px solid var(--line-strong);
  background:rgba(13,26,32,.55);
  padding:12px 14px 14px;
}
.comment-stream {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  align-items:start;
}
.comment-card {
  min-width:0;
  padding:8px 11px;
  border-left:2px solid var(--line-strong);
  background:rgba(9,18,24,.5);
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.comment-card:nth-child(odd) {transform:translateX(-4px);}
.comment-card:nth-child(even) {transform:translateX(4px);}
.comment-card:hover {
  background:rgba(29,58,68,.42);
  border-left-color:var(--gold);
}
.comment-text {
  font-size:12.5px;
  line-height:1.75;
  color:#c8d2d6;
  margin-bottom:6px;
}
.comment-nickname {
  font-family:var(--serif);
  font-size:11.5px;
  letter-spacing:.08em;
  color:var(--gold);
  text-align:right;
}
.comment-nickname::before {content:"— ";}
.comment-nickname::after {content:" —";}
.recommend-region {
  margin-top:16px;
  border:1px solid var(--line);
  border-top:2px solid var(--line-strong);
  background:rgba(13,26,32,.55);
  padding:12px 14px 14px;
}
.recommend-region:last-of-type {
  margin-bottom:20px;
}
.recommend-list {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
.region-two .recommend-list {grid-template-columns:repeat(3,minmax(0,1fr));}
.region-three .recommend-list {grid-template-columns:repeat(4,minmax(0,1fr));}
.recommend-item {
  min-width:0;
  display:block;
  height:auto;
}
a.recommend-link {
  display:flex;
  flex-direction:column;
  gap:5px;
  height:100%;
  padding:8px;
  border:1px solid rgba(201,162,90,.16);
  background:rgba(9,18,24,.6);
  color:var(--paper-2);
  text-decoration:none;
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}
a.recommend-link:hover {
  border-color:var(--line-strong);
  background:rgba(29,58,68,.42);
  transform:translateY(-2px);
  text-decoration:none;
  color:var(--paper);
}
[data-runtime="recommendation"] img, .recommend-pic {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 10;
  object-fit:cover;
  background:#08131a;
  border:1px solid rgba(201,162,90,.12);
  filter:saturate(.92) contrast(1.04);
}
.recommend-name {
  font-family:var(--serif);
  font-size:13px;
  font-weight:600;
  letter-spacing:.05em;
  color:#eadfca;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.recommend-blurb {
  font-size:11.5px;
  line-height:1.6;
  color:var(--muted);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.site-footer {
  margin-top:0;
  border-top:1px solid var(--line);
  background:rgba(8,16,22,.92);
}
.footer-inner {
  max-width:1180px;
  margin:0 auto;
  padding:18px 16px 26px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(201,162,90,.16);
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-family:var(--serif);
  font-size:13px;
  letter-spacing:.12em;
  color:var(--gold-soft);
  text-decoration:none;
  border-bottom:1px solid transparent;
  padding-bottom:1px;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color:#f4e2b4;
  border-bottom-color:var(--line-strong);
  text-decoration:none;
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 10px;
}
.friend-links-label {
  font-size:11.5px;
  letter-spacing:.16em;
  color:var(--gold-dim);
  padding-right:8px;
  border-right:1px solid var(--line);
  white-space:nowrap;
}
a.runtime-friend-link {
  font-size:11.5px;
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px solid rgba(201,162,90,.18);
  transition:color .16s ease, border-color .16s ease;
}
a.runtime-friend-link:hover {
  color:var(--gold-soft);
  border-bottom-color:var(--line-strong);
  text-decoration:none;
}
.footer-disclaimer {
  font-size:11px;
  line-height:1.7;
  color:#6f8087;
  letter-spacing:.02em;
  max-width:88ch;
  border-top:1px solid rgba(201,162,90,.12);
  padding-top:10px;
}
@media (max-width:1024px){.hero-stage {
    grid-template-columns:minmax(0,240px) minmax(0,1fr);
    gap:18px;
  }
.cast-list {grid-template-columns:repeat(4,minmax(0,1fr));}
.detail-list {grid-template-columns:repeat(2,minmax(0,1fr));}
.recommend-list, .region-three .recommend-list {grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:820px){.hero-stage {
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
.hero-silhouette {
    max-width:260px;
  }
.hero-objects {
    right:-10px;
    bottom:10px;
  }
.synopsis-body {columns:1;}
.cast-list {grid-template-columns:repeat(3,minmax(0,1fr));}
.comment-stream {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){body {font-size:14px;}
.header-inner {padding:8px 12px;gap:10px;}
a[data-contract="site-name"] {font-size:17px;}
.page-main {padding:14px 12px 0;}
.hero-stage {padding:12px;}
.movie-title {font-size:22px;}
.movie-tagline {font-size:13px;}
.movie-intro {font-size:13px;}
.player-controls {gap:6px;}
.control-chip {font-size:11.5px;padding:4px 8px;}
.control-slider input[type="range"] {width:70px;}
.cast-list {grid-template-columns:repeat(2,minmax(0,1fr));}
.detail-list {grid-template-columns:minmax(0,1fr);}
.episode-grid {grid-template-columns:minmax(0,1fr);}
.comment-stream {grid-template-columns:minmax(0,1fr);}
.comment-card:nth-child(odd), .comment-card:nth-child(even) {transform:none;}
.recommend-list, .region-two .recommend-list, .region-three .recommend-list {grid-template-columns:repeat(2,minmax(0,1fr));}
.timeline-node {gap:10px;padding-left:12px;}
.footer-inner {padding:16px 12px 22px;}}
@media (max-width:380px){.cast-list {grid-template-columns:minmax(0,1fr);}
.recommend-list, .region-two .recommend-list, .region-three .recommend-list {grid-template-columns: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}
