* {box-sizing:border-box;margin:0;padding:0}
:root {
  --ink:#1c2a2b;
  --ink-soft:#2c3d3e;
  --cyan-dark:#16312f;
  --cyan:#1f4a45;
  --cyan-mid:#2f625a;
  --ochre:#8a5a2b;
  --ochre-soft:#a9773d;
  --cinnabar:#b52d1e;
  --cinnabar-deep:#8d1f12;
  --paper:#e8e0cd;
  --paper-dim:#d6cbb2;
  --paper-line:#c2b596;
  --text:#20201c;
  --text-dim:#5a5647;
  --shadow:0 2px 6px rgba(20,25,22,.28);
  --radius:10px;
  --radius-sm:6px;
  --gap:10px;
}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%}
body {
  font-family:"Kaiti SC","KaiTi","STKaiti","Songti SC","SimSun",serif;
  background:
    radial-gradient(circle at 12% 8%,rgba(31,74,69,.16),transparent 42%),
    radial-gradient(circle at 88% 30%,rgba(138,90,43,.14),transparent 46%),
    linear-gradient(160deg,#dcd3bd 0%,#cfc5ac 45%,#c8bda2 100%);
  color:var(--text);
  line-height:1.5;
  font-size:15px;
  padding-bottom:0;
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:
    repeating-linear-gradient(0deg,rgba(60,50,30,.035) 0 1px,transparent 1px 4px),
    repeating-linear-gradient(90deg,rgba(60,50,30,.03) 0 1px,transparent 1px 5px);
  mix-blend-mode:multiply;
}
img {max-width:100%;display:block}
a {color:inherit;text-decoration:none}
ul, ol, dl {list-style:none}
button, input, select {font:inherit;color:inherit}
h1, h2, h3 {font-family:"Songti SC","STSong","SimSun","Songti TC",serif;font-weight:700;line-height:1.25}
.site-header {
  position:relative;
  z-index:4;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--gap);
  padding:8px 14px;
  background:linear-gradient(180deg,var(--cyan-dark),var(--cyan));
  border-bottom:2px solid var(--cinnabar-deep);
  box-shadow:0 2px 8px rgba(10,20,18,.4);
}
.brand-bar {display:flex;align-items:center;gap:8px;flex:0 0 auto}
a[data-contract="site-name"].site-name {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:22px;
  letter-spacing:.12em;
  color:var(--paper);
  text-decoration:none;
  text-shadow:0 1px 0 rgba(0,0,0,.5);
  padding:2px 10px 3px;
  border:1px solid rgba(232,224,205,.35);
  border-radius:var(--radius-sm);
  background:rgba(181,45,30,.28);
}
a[data-contract="site-name"].site-name:hover {
  color:#fff;
  background:rgba(181,45,30,.55);
  text-decoration:none;
}
.category-bar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  flex:1 1 auto;
  min-width:0;
}
a.runtime-category {
  white-space:nowrap;
  font-size:13px;
  color:var(--paper-dim);
  text-decoration:none;
  padding:3px 9px;
  border-radius:999px;
  border:1px solid rgba(214,203,178,.35);
  background:rgba(20,45,42,.5);
}
a.runtime-category:hover {
  color:#fff;
  background:var(--cinnabar);
  border-color:var(--cinnabar);
  text-decoration:none;
}
.page-main {
  position:relative;
  z-index:1;
  max-width:1280px;
  margin:0 auto;
  padding:12px 14px 0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.hero-stage {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.hero-figures {
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 32%,rgba(232,224,205,.28),transparent 60%),
    linear-gradient(180deg,#1d3b39 0%,#22423e 48%,#2b3a34 100%);
  padding:16px 14px 8px;
  box-shadow:var(--shadow),inset 0 0 0 1px rgba(232,224,205,.14);
}
.hero-ensemble {
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:end;
  gap:6px;
  min-height:0;
}
.hero-river-mist {
  position:absolute;
  left:-6%;
  right:-6%;
  bottom:0;
  height:52%;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 30% 100%,rgba(214,222,214,.35),transparent 62%),
    radial-gradient(ellipse at 72% 100%,rgba(190,205,200,.3),transparent 58%),
    linear-gradient(0deg,rgba(214,222,214,.22),transparent 70%);
  mix-blend-mode:screen;
}
.hero-gate-arch {
  position:absolute;
  right:6%;
  top:-6%;
  width:46%;
  height:52%;
  pointer-events:none;
  opacity:.22;
  border:2px solid rgba(232,224,205,.55);
  border-bottom:none;
  border-radius:140px 140px 0 0;
  box-shadow:0 0 0 6px rgba(232,224,205,.08);
}
.hero-boat-tilt {
  position:absolute;
  left:-4%;
  right:-4%;
  bottom:-2px;
  height:26%;
  pointer-events:none;
  transform:rotate(-2.4deg);
  background:linear-gradient(180deg,rgba(58,42,24,.55),rgba(30,24,16,.85));
  border-top:2px solid rgba(169,119,61,.7);
  border-radius:50% 50% 0 0/26% 26% 0 0;
}
.hero-portrait {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  margin:0;
  z-index:2;
}
.hero-portrait img {
  width:100%;
  aspect-ratio:9 / 16;
  object-fit:cover;
  border-radius:8px 8px 4px 4px;
  border:2px solid rgba(232,224,205,.4);
  box-shadow:0 4px 10px rgba(0,0,0,.45);
  filter:sepia(.22) contrast(1.06) saturate(.9);
}
.hero-portrait-caption {
  font-size:11px;
  line-height:1.3;
  text-align:center;
  color:var(--paper-dim);
  background:rgba(20,40,38,.72);
  border:1px solid rgba(232,224,205,.22);
  border-radius:999px;
  padding:1px 7px;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hero-portrait-scholar {z-index:4;transform:translateY(-6px)}
.hero-portrait-rake {z-index:3;transform:translateY(4px) rotate(-1.6deg)}
.hero-portrait-poet {z-index:3;transform:translateY(-2px) rotate(1.4deg)}
.hero-portrait-fortune {z-index:4;transform:translateY(6px)}
.hero-portrait-rake::before, .hero-portrait-poet::before, .hero-portrait-fortune::before {
  content:"";
  display:block;
  width:100%;
  aspect-ratio:9 / 16;
  border-radius:8px 8px 4px 4px;
  border:2px solid rgba(232,224,205,.32);
  background:
    radial-gradient(circle at 50% 30%,rgba(232,224,205,.3),transparent 55%),
    linear-gradient(160deg,#2b4b46,#1b332f);
  box-shadow:0 4px 10px rgba(0,0,0,.4);
}
.hero-portrait-rake::before {background:radial-gradient(circle at 50% 32%,rgba(181,45,30,.32),transparent 58%),linear-gradient(160deg,#33504a,#1d3430)}
.hero-portrait-poet::before {background:radial-gradient(circle at 50% 32%,rgba(138,90,43,.35),transparent 58%),linear-gradient(160deg,#3a4f47,#20352f)}
.hero-portrait-fortune::before {background:radial-gradient(circle at 50% 32%,rgba(214,203,178,.3),transparent 58%),linear-gradient(160deg,#2b403c,#172b28)}
.hero-meta {
  position:relative;
  background:linear-gradient(180deg,rgba(238,231,214,.96),rgba(224,214,192,.96));
  border:1px solid var(--paper-line);
  border-radius:var(--radius);
  padding:12px 14px;
  box-shadow:var(--shadow);
}
.hero-meta::after {
  content:"";
  position:absolute;
  right:14px;
  top:12px;
  width:44px;
  height:44px;
  border-radius:6px;
  background:var(--cinnabar);
  opacity:.9;
  box-shadow:inset 0 0 0 2px rgba(232,224,205,.5);
  transform:rotate(-6deg);
  pointer-events:none;
}
.movie-title {
  font-size:26px;
  letter-spacing:.04em;
  color:var(--cyan-dark);
  max-width:calc(100% - 56px);
  text-shadow:0 1px 0 rgba(255,255,255,.5);
}
.movie-tagline {
  margin-top:6px;
  font-size:14px;
  color:var(--ochre);
  font-weight:700;
  letter-spacing:.02em;
}
.movie-seo {
  margin-top:6px;
  font-size:13px;
  line-height:1.6;
  color:var(--text-dim);
}
.hero-seal-row {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.seal-chip {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:12px;
  padding:2px 10px;
  border-radius:4px;
  background:rgba(31,74,69,.12);
  border:1px solid rgba(31,74,69,.45);
  color:var(--cyan-dark);
}
.seal-chip-red {
  background:var(--cinnabar);
  border-color:var(--cinnabar-deep);
  color:#fdf6e6;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
}
.movie-lower {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
.player-shell {
  grid-column:1 / -1;
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  background:#0f1d1c;
  border:2px solid var(--ink-soft);
  box-shadow:var(--shadow);
}
.player-shell video {
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  background:#000;
  object-fit:contain;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  background:linear-gradient(180deg,rgba(22,49,47,.96),rgba(15,32,30,.98));
  border-top:1px solid rgba(232,224,205,.16);
}
.ctrl {
  font-size:12px;
  padding:3px 9px;
  border-radius:999px;
  border:1px solid rgba(232,224,205,.28);
  background:rgba(232,224,205,.1);
  color:var(--paper-dim);
  cursor:pointer;
}
.ctrl:hover {background:rgba(232,224,205,.22);color:#fff}
.ctrl-progress {flex:1 1 140px;min-width:90px;accent-color:var(--cinnabar);height:4px}
.ctrl-volume {flex:0 1 90px;min-width:56px;accent-color:var(--ochre-soft);height:4px}
.ctrl-speed {padding:2px 4px;border-radius:var(--radius-sm)}
.ctrl-speed option {color:#111}
.ctrl.is-active {
  background:var(--cinnabar);
  border-color:var(--cinnabar-deep);
  color:#fdf6e6;
}
.player-shell.is-theater {
  grid-column:1 / -1;
  box-shadow:0 0 0 3px var(--cinnabar),0 6px 20px rgba(0,0,0,.55);
}
.player-shell.is-lights-off {
  background:#000;
  border-color:#000;
}
.player-shell.is-lights-off .player-controls {
  background:rgba(0,0,0,.85);
}
.player-shell.fullscreen {position:fixed;inset:0;z-index:60;border-radius:0}
.player-shell.fullscreen video {height:100%;object-fit:contain}
.cast-block {
  grid-column:1 / -1;
  background:linear-gradient(180deg,rgba(238,231,214,.94),rgba(223,213,190,.94));
  border:1px solid var(--paper-line);
  border-radius:var(--radius);
  padding:10px 12px;
  box-shadow:var(--shadow);
}
.block-heading {
  font-size:16px;
  color:var(--cyan-dark);
  letter-spacing:.06em;
  padding-left:10px;
  border-left:4px solid var(--cinnabar);
  margin-bottom:8px;
}
.cast-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:8px;
  align-items:start;
}
.cast-card {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:8px;
  align-items:center;
  padding:5px 7px;
  background:rgba(255,252,244,.7);
  border:1px solid var(--paper-line);
  border-radius:var(--radius-sm);
}
.cast-avatar {
  grid-row:1 / span 2;
  width:38px;
  height:38px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 34%,rgba(232,224,205,.85),transparent 58%),
    linear-gradient(160deg,var(--cyan-mid),var(--cyan-dark));
  border:2px solid var(--ochre-soft);
  box-shadow:inset 0 0 8px rgba(0,0,0,.35);
}
.cast-name {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:14px;
  color:var(--ink);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cast-nickname {
  font-size:11px;
  color:var(--cinnabar-deep);
  background:rgba(181,45,30,.1);
  border-radius:3px;
  padding:0 4px;
  justify-self:start;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.synopsis-block {
  grid-column:1 / -1;
  background:linear-gradient(180deg,rgba(238,231,214,.94),rgba(223,213,190,.94));
  border:1px solid var(--paper-line);
  border-radius:var(--radius);
  padding:10px 12px;
  box-shadow:var(--shadow);
}
.synopsis-paragraphs {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:8px 16px;
}
.synopsis-para {
  font-size:13px;
  line-height:1.72;
  color:var(--text-dim);
  text-indent:2em;
}
.synopsis-para:first-child {color:var(--ink-soft)}
.episode-status-block, .details-block {
  background:linear-gradient(180deg,rgba(238,231,214,.94),rgba(223,213,190,.94));
  border:1px solid var(--paper-line);
  border-radius:var(--radius);
  padding:10px 12px;
  box-shadow:var(--shadow);
}
.episode-status-block {grid-column:span 4}
.details-block {grid-column:span 8}
.status-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;align-items:start}
.status-item {
  background:rgba(255,252,244,.72);
  border:1px solid var(--paper-line);
  border-left:3px solid var(--ochre-soft);
  border-radius:var(--radius-sm);
  padding:5px 8px;
}
.status-key {font-size:11px;color:var(--text-dim);letter-spacing:.04em}
.status-value {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:17px;
  color:var(--cinnabar-deep);
  margin-top:1px;
}
.details-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:6px;
  align-items:start;
}
.detail-item {
  display:flex;
  gap:6px;
  align-items:baseline;
  padding:3px 6px;
  border-bottom:1px dashed var(--paper-line);
  min-width:0;
}
.detail-key {
  flex:0 0 auto;
  font-size:11px;
  color:var(--paper-dim);
  background:var(--cyan);
  border-radius:3px;
  padding:1px 5px;
  white-space:nowrap;
}
.detail-value {
  flex:1 1 auto;
  min-width:0;
  font-size:12.5px;
  color:var(--ink-soft);
  overflow-wrap:anywhere;
}
.timeline-section {
  background:linear-gradient(180deg,rgba(31,74,69,.94),rgba(22,49,47,.94));
  border:1px solid rgba(232,224,205,.2);
  border-radius:var(--radius);
  padding:12px 14px 16px;
  box-shadow:var(--shadow);
}
.timeline-section .section-heading {
  color:var(--paper);
  border-left-color:var(--cinnabar);
}
.timeline-track {
  position:relative;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:10px 8px;
  padding-top:14px;
  align-items:start;
}
.timeline-track::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:24px;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(214,203,178,.55) 6%,rgba(214,203,178,.55) 94%,transparent);
}
.timeline-node {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  padding:22px 8px 6px;
  background:rgba(232,224,205,.07);
  border:1px solid rgba(232,224,205,.18);
  border-radius:var(--radius-sm);
  transition:background .18s ease,transform .18s ease;
}
.timeline-node::before {
  content:"";
  position:absolute;
  top:14px;
  left:12px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,rgba(20,40,38,.9) 34%,transparent 36%),
    radial-gradient(circle at 50% 50%,var(--ochre-soft),var(--ochre) 70%);
  box-shadow:0 0 0 2px rgba(232,224,205,.5);
}
.timeline-node-coin::before {
  background:
    radial-gradient(circle at 50% 50%,rgba(20,40,38,.95) 30%,transparent 32%),
    radial-gradient(circle at 50% 50%,#d9a94a,#9c6d20 72%);
}
.timeline-node-brush::before {
  border-radius:2px 60% 60% 60%;
  transform:rotate(38deg);
  background:linear-gradient(160deg,#e3d9bf,#8d6b3a 70%,#3a2a16);
  box-shadow:0 0 0 2px rgba(232,224,205,.4);
}
.timeline-node:hover, .timeline-node.is-ink-hover {
  background:rgba(232,224,205,.17);
  transform:translateY(-2px);
}
.timeline-node:hover::after, .timeline-node.is-ink-hover::after {
  content:"";
  position:absolute;
  top:8px;
  left:6px;
  width:56px;
  height:56px;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(20,20,16,.55) 0%,rgba(20,20,16,.28) 45%,transparent 72%);
  filter:blur(1.5px);
  animation:inkSpread .55s ease-out both;
  z-index:-1;
}
@keyframes inkSpread{
  from{transform:scale(.3);opacity:0}
  to{transform:scale(1);opacity:1}
}
.timeline-timecode {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:12px;
  color:#f1c96b;
  letter-spacing:.05em;
}
.timeline-label {
  font-size:12.5px;
  color:var(--paper-dim);
  line-height:1.4;
}
.episodes-section {
  background:linear-gradient(180deg,rgba(238,231,214,.94),rgba(223,213,190,.94));
  border:1px solid var(--paper-line);
  border-radius:var(--radius);
  padding:12px 14px;
  box-shadow:var(--shadow);
}
.section-heading {
  font-size:18px;
  color:var(--cyan-dark);
  letter-spacing:.08em;
  padding-left:10px;
  border-left:4px solid var(--cinnabar);
  margin-bottom:10px;
}
.episode-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:8px;
  align-items:start;
}
.episode-card {
  position:relative;
  overflow:hidden;
  cursor:pointer;
  padding:8px 10px 10px;
  background:
    linear-gradient(180deg,rgba(255,252,244,.9),rgba(238,229,209,.9));
  border:1px solid var(--paper-line);
  border-radius:8px 8px 12px 12px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
  min-height:96px;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.episode-card::after {
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:26px;
  height:26px;
  background:linear-gradient(225deg,transparent 48%,var(--paper-line) 50%,rgba(255,252,244,.85) 58%);
}
.episode-card:hover {
  transform:translateY(-2px);
  border-color:var(--ochre-soft);
  box-shadow:0 4px 10px rgba(40,40,30,.2);
}
.episode-title {
  font-size:13.5px;
  color:var(--cyan-dark);
  line-height:1.35;
  padding-right:24px;
}
.episode-meta {
  font-size:11px;
  color:var(--paper-dim);
  background:var(--cyan-mid);
  display:inline-block;
  border-radius:3px;
  padding:0 6px;
  margin-top:3px;
}
.episode-summary {
  margin-top:6px;
  font-size:12px;
  line-height:1.6;
  color:var(--text-dim);
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition:max-height .3s ease,opacity .3s ease;
}
.episode-silhouette {
  position:absolute;
  left:8px;
  bottom:6px;
  width:52px;
  height:26px;
  opacity:.4;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 20% 100%,var(--cyan-dark) 40%,transparent 42%),
    radial-gradient(ellipse at 55% 100%,var(--cyan-mid) 34%,transparent 36%),
    linear-gradient(0deg,rgba(31,74,69,.5),transparent 70%);
  border-radius:50% 50% 0 0;
}
.episode-card.is-flipped {
  background:linear-gradient(180deg,rgba(31,74,69,.96),rgba(22,49,47,.96));
  border-color:var(--cinnabar);
  transform:rotateX(2deg);
}
.episode-card.is-flipped .episode-title {color:var(--paper)}
.episode-card.is-flipped .episode-meta {background:var(--cinnabar);color:#fdf6e6}
.episode-card.is-flipped .episode-summary {
  max-height:220px;
  opacity:1;
  color:var(--paper-dim);
}
.episode-card.is-flipped .episode-silhouette {opacity:.18}
.comments-section {
  background:linear-gradient(180deg,rgba(238,231,214,.94),rgba(223,213,190,.94));
  border:1px solid var(--paper-line);
  border-radius:var(--radius);
  padding:12px 14px;
  box-shadow:var(--shadow);
}
.comment-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:8px;
  align-items:start;
}
.comment-item {
  position:relative;
  padding:7px 10px;
  background:rgba(255,252,244,.78);
  border:1px solid var(--paper-line);
  border-radius:var(--radius-sm);
  box-shadow:inset 3px 0 0 var(--ochre-soft);
}
.comment-item-offset-a {transform:translateY(0) rotate(-.5deg)}
.comment-item-offset-b {transform:translateY(8px) rotate(.6deg)}
.comment-nickname {
  display:block;
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:12.5px;
  color:var(--cinnabar-deep);
  margin-bottom:2px;
}
.comment-text {
  font-size:12.5px;
  line-height:1.65;
  color:var(--ink-soft);
}
.recommend-strip {
  background:linear-gradient(180deg,rgba(31,74,69,.94),rgba(22,49,47,.94));
  border:1px solid rgba(232,224,205,.2);
  border-radius:var(--radius);
  padding:10px 12px 12px;
  box-shadow:var(--shadow);
}
.recommend-strip-2 {background:linear-gradient(180deg,rgba(44,61,62,.95),rgba(26,40,40,.95))}
.recommend-strip-3 {background:linear-gradient(180deg,rgba(58,42,24,.92),rgba(34,26,16,.94))}
.recommend-heading {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:15px;
  color:var(--paper);
  letter-spacing:.06em;
  padding-left:10px;
  border-left:4px solid var(--cinnabar);
  margin-bottom:9px;
}
.recommend-row {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:8px;
  align-items:start;
}
a.recommend-card {
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:6px;
  background:rgba(232,224,205,.08);
  border:1px solid rgba(232,224,205,.2);
  border-radius:var(--radius-sm);
  color:var(--paper-dim);
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
a.recommend-card:hover {
  background:rgba(232,224,205,.18);
  border-color:var(--cinnabar);
  transform:translateY(-2px);
  text-decoration:none;
}
[data-runtime="recommendation"] img {
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:cover;
  border-radius:4px;
  border:1px solid rgba(232,224,205,.25);
  filter:sepia(.18) contrast(1.05);
}
.recommend-name {
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:12.5px;
  color:#f3ead4;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.recommend-blurb {
  font-size:11px;
  line-height:1.5;
  color:rgba(232,224,205,.72);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.site-footer {
  position:relative;
  z-index:2;
  margin-top:14px;
  padding:12px 16px 16px;
  background:linear-gradient(180deg,var(--cyan),var(--cyan-dark));
  border-top:3px double var(--cinnabar-deep);
  color:var(--paper-dim);
}
.footer-disclaimer {
  font-size:11.5px;
  line-height:1.6;
  color:rgba(232,224,205,.7);
  max-width:960px;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}
a[data-contract="footer-home"].footer-link, a[data-contract="footer-sitemap"].footer-link {
  font-size:12.5px;
  color:var(--paper);
  text-decoration:none;
  border-bottom:1px dashed rgba(232,224,205,.45);
  padding-bottom:1px;
}
a[data-contract="footer-home"].footer-link:hover, a[data-contract="footer-sitemap"].footer-link:hover {
  color:#fff;
  border-bottom-color:var(--cinnabar);
  text-decoration:none;
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-top:10px;
}
.friend-links-label {
  font-size:11.5px;
  color:var(--ochre-soft);
  letter-spacing:.08em;
  border-right:1px solid rgba(232,224,205,.25);
  padding-right:8px;
}
a.runtime-friend-link {
  font-size:11.5px;
  color:rgba(232,224,205,.78);
  text-decoration:none;
  white-space:nowrap;
  padding:1px 6px;
  border-radius:3px;
  background:rgba(232,224,205,.08);
}
a.runtime-friend-link:hover {
  color:#fff;
  background:rgba(181,45,30,.5);
  text-decoration:none;
}
@media (max-width:900px){.episode-status-block {grid-column:1 / -1}
.details-block {grid-column:1 / -1}
.hero-ensemble {grid-template-columns:repeat(4,minmax(0,1fr))}
.movie-title {font-size:22px}}
@media (max-width:720px){body {font-size:14px}
.hero-ensemble {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hero-portrait-scholar, .hero-portrait-rake, .hero-portrait-poet, .hero-portrait-fortune {transform:none}
.hero-portrait-rake::before, .hero-portrait-poet::before, .hero-portrait-fortune::before {aspect-ratio:9 / 16}
.movie-title {font-size:20px}
.synopsis-paragraphs {grid-template-columns:1fr}
.comment-item-offset-a, .comment-item-offset-b {transform:none}
.episode-grid {grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.timeline-track {grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.recommend-row {grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
@media (max-width:480px){.page-main {padding:10px 10px 0}
.hero-figures {padding:12px 10px 6px}
.hero-ensemble {grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-portrait-caption {font-size:10px;padding:1px 5px}
.movie-title {font-size:18px;max-width:100%}
.hero-meta::after {display:none}
.cast-list {grid-template-columns:1fr}
.episode-grid {grid-template-columns:1fr}
.comment-list {grid-template-columns:1fr}
.recommend-row {grid-template-columns:repeat(2,minmax(0,1fr))}
.ctrl {font-size:11px;padding:3px 7px}
.ctrl-progress {flex:1 1 100px}
.footer-nav {gap:8px}}

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}
