:root {
  --ink:#141210;
  --ink-soft:#241f1a;
  --paper:#d9cfbf;
  --paper-deep:#c3b6a0;
  --harbor:#22384f;
  --harbor-deep:#16283a;
  --vermilion:#c0392b;
  --vermilion-dim:#8f2b21;
  --halftone:rgba(20,18,16,.16);
  --line:rgba(20,18,16,.28);
  --gap:10px;
  --gap-sm:6px;
  --radius-dot:12px;
  --radius-card:4px;
  --shadow-ink:0 2px 0 rgba(20,18,16,.24), 0 8px 20px -12px rgba(20,18,16,.5);
}
*, *::before, *::after {box-sizing:border-box;}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body {
  margin:0;
  background:
    radial-gradient(120% 80% at 12% -10%, rgba(34,56,79,.32), transparent 62%),
    radial-gradient(90% 60% at 100% 4%, rgba(192,57,43,.14), transparent 58%),
    linear-gradient(180deg,#1b1713 0%, #221c17 42%, #191410 100%);
  color:var(--ink);
  font-family:"Songti SC","STSong","Noto Serif SC",serif;
  font-size:15px;
  line-height:1.62;
  letter-spacing:.01em;
  overflow-x:hidden;
}
h1, h2, h3, p, ol, ul, dl, dd, dt {margin:0;padding:0;}
ol, ul {list-style:none;}
img {display:block;max-width:100%;height:auto;}
a {color:inherit;text-decoration:none;}
button {font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
input[type="range"] {appearance:none;-webkit-appearance:none;background:transparent;}
.page-main {
  display:flow-root;
  width:100%;
  max-width:100%;
  padding:0 clamp(10px,2.4vw,26px) clamp(20px,3vw,34px);
}
.site-header {
  position:sticky;
  top:0;
  z-index:40;
  background:linear-gradient(180deg,rgba(20,17,14,.96),rgba(20,17,14,.86));
  border-bottom:1px solid rgba(217,207,191,.18);
  backdrop-filter:blur(6px);
}
.header-inner {
  display:flex;
  align-items:center;
  gap:clamp(8px,1.6vw,20px);
  flex-wrap:wrap;
  width:100%;
  max-width:100%;
  padding:8px clamp(10px,2.4vw,26px);
}
a[data-contract="site-name"] {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-weight:800;
  font-stretch:condensed;
  font-size:clamp(15px,1.8vw,19px);
  letter-spacing:.1em;
  color:#f0e6d6;
  text-decoration:none;
  padding:2px 8px 2px 10px;
  border-left:3px solid var(--vermilion);
  background:linear-gradient(90deg,rgba(192,57,43,.22),transparent 70%);
  white-space:nowrap;
}
a[data-contract="site-name"]:hover {color:#fff;background:linear-gradient(90deg,rgba(192,57,43,.42),transparent 70%);}
.categories-bar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
  min-width:0;
  flex:1 1 auto;
}
a.runtime-category {
  display:inline-block;
  white-space:nowrap;
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:12px;
  letter-spacing:.08em;
  color:#cfc4b2;
  text-decoration:none;
  padding:3px 9px;
  border:1px solid rgba(217,207,191,.24);
  border-radius:2px;
  background:rgba(217,207,191,.05);
  transition:color .16s,border-color .16s,background .16s;
}
a.runtime-category:hover {
  color:#fff;
  border-color:var(--vermilion);
  background:rgba(192,57,43,.24);
}
.hero-section {
  position:relative;
  padding:clamp(14px,2.4vw,30px) 0 0;
}
.hero-ink-sheet {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,0.86fr) minmax(0,1.14fr);
  gap:clamp(14px,2.6vw,34px);
  align-items:start;
  padding:clamp(14px,2.2vw,28px);
  border-radius:var(--radius-card);
  background:
    radial-gradient(80% 60% at 8% 0%, rgba(20,18,16,.5), transparent 60%),
    radial-gradient(70% 50% at 100% 100%, rgba(192,57,43,.16), transparent 62%),
    linear-gradient(160deg,#ded4c3 0%, #cdbfa9 54%, #b7a78e 100%);
  box-shadow:var(--shadow-ink);
  overflow:hidden;
  transform:rotate(-.55deg);
}
.hero-ink-sheet::before {
  content:"";
  position:absolute;
  inset:-8% -6% auto auto;
  width:62%;
  height:58%;
  background:
    radial-gradient(circle at 30% 40%, rgba(20,18,16,.34), transparent 62%),
    radial-gradient(circle at 74% 66%, rgba(34,56,79,.34), transparent 60%),
    radial-gradient(circle at 52% 88%, rgba(20,18,16,.24), transparent 64%);
  filter:blur(2px);
  pointer-events:none;
  mix-blend-mode:multiply;
}
.hero-ink-sheet::after {
  content:"";
  position:absolute;
  left:-4%;
  bottom:-10%;
  width:56%;
  height:44%;
  background:
    radial-gradient(circle at 22% 78%, rgba(20,18,16,.3), transparent 60%),
    radial-gradient(circle at 62% 40%, rgba(143,43,33,.24), transparent 62%);
  filter:blur(3px);
  pointer-events:none;
  mix-blend-mode:multiply;
}
.hero-media-column {
  position:relative;
  z-index:2;
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
}
.poster-frame {
  position:relative;
  width:min(100%,320px);
  padding:7px 7px 16px;
  background:linear-gradient(180deg,#f2ece0,#ddd2bd);
  border:1px solid rgba(20,18,16,.5);
  border-radius:2px;
  box-shadow:0 10px 26px -14px rgba(20,18,16,.9), 0 1px 0 rgba(255,255,255,.5) inset;
  transform:rotate(1.1deg);
}
.main-poster {
  display:block;
  width:100%;
  aspect-ratio:9 / 16;
  object-fit:cover;
  border:1px solid rgba(20,18,16,.55);
  background:#2a241d;
  filter:contrast(1.06) saturate(.94);
}
.poster-ink-stain {
  position:absolute;
  right:-14%;
  bottom:-8%;
  width:64%;
  height:44%;
  border-radius:50% 44% 56% 40%;
  background:
    radial-gradient(circle at 34% 42%, rgba(20,18,16,.62), rgba(20,18,16,.28) 52%, transparent 74%);
  filter:blur(1.5px);
  mix-blend-mode:multiply;
  pointer-events:none;
  z-index:3;
}
.hero-copy-column {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.hero-eyebrow {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:clamp(10px,1.1vw,12px);
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--vermilion-dim);
  padding-bottom:4px;
  border-bottom:1px dashed rgba(143,43,33,.5);
  align-self:flex-start;
}
.hero-title {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-weight:900;
  font-stretch:condensed;
  font-size:clamp(24px,4.6vw,46px);
  line-height:1.04;
  letter-spacing:.02em;
  color:var(--ink);
  margin:8px 0 0;
  text-shadow:0 1px 0 rgba(255,255,255,.34);
}
.hero-title::after {
  content:"";
  display:block;
  width:clamp(58px,12vw,120px);
  height:4px;
  margin-top:8px;
  background:linear-gradient(90deg,var(--vermilion) 0%, var(--vermilion) 62%, transparent 62%);
}
.hero-tagline {
  margin-top:10px;
  font-size:clamp(13px,1.5vw,16px);
  font-weight:600;
  color:#2c2620;
  border-left:3px solid var(--harbor);
  padding-left:9px;
}
.hero-seo {
  margin-top:8px;
  font-size:clamp(12px,1.25vw,13.5px);
  line-height:1.7;
  color:#3d362d;
  max-width:64ch;
  background:rgba(20,18,16,.05);
  padding:6px 9px;
  border-radius:2px;
}
.player-shell {
  position:relative;
  margin-top:12px;
  width:100%;
  max-width:100%;
  border:1px solid rgba(20,18,16,.62);
  border-radius:3px;
  background:#0e0c0a;
  padding:4px;
  box-shadow:0 12px 26px -16px rgba(20,18,16,.95);
  transition:box-shadow .2s,background .2s;
}
.player-shell video {
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  background:#000;
  border-radius:2px;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
  padding:6px 4px 2px;
}
.ctl {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:11px;
  letter-spacing:.06em;
  color:#e6dccc;
  background:rgba(217,207,191,.1);
  border:1px solid rgba(217,207,191,.24);
  border-radius:2px;
  padding:4px 8px;
  white-space:nowrap;
  transition:background .14s,color .14s,border-color .14s;
}
.ctl:hover {background:rgba(192,57,43,.34);border-color:var(--vermilion);color:#fff;}
.ctl-play {min-width:82px;border-color:rgba(192,57,43,.7);background:rgba(192,57,43,.26);color:#fff;}
.ctl-progress {
  flex:1 1 140px;
  min-width:110px;
  height:14px;
  border-radius:2px;
  background:linear-gradient(90deg,rgba(192,57,43,.55),rgba(217,207,191,.2));
  border:1px solid rgba(217,207,191,.24);
}
.ctl-progress::-webkit-slider-thumb {
  appearance:none;-webkit-appearance:none;
  width:9px;height:16px;border-radius:1px;
  background:#f0e6d6;border:1px solid var(--ink);cursor:pointer;
}
.ctl-progress::-moz-range-thumb {
  width:9px;height:16px;border-radius:1px;
  background:#f0e6d6;border:1px solid var(--ink);cursor:pointer;
}
.ctl-volume {
  flex:0 1 84px;
  min-width:64px;
  height:14px;
  border-radius:2px;
  background:rgba(217,207,191,.18);
  border:1px solid rgba(217,207,191,.24);
}
.ctl-volume::-webkit-slider-thumb {
  appearance:none;-webkit-appearance:none;
  width:8px;height:14px;border-radius:1px;background:#cfc4b2;border:1px solid var(--ink);cursor:pointer;
}
.ctl-volume::-moz-range-thumb {
  width:8px;height:14px;border-radius:1px;background:#cfc4b2;border:1px solid var(--ink);cursor:pointer;
}
.player-shell.lights-off {background:#050403;box-shadow:0 0 0 1px rgba(192,57,43,.4),0 0 34px -6px rgba(192,57,43,.4);}
.player-shell.is-theater {
  width:100%;
  padding:4px;
  box-shadow:0 0 0 2px rgba(192,57,43,.55),0 18px 40px -22px #000;
}
.player-shell.is-theater video {aspect-ratio:16 / 9;}
.ctl.is-active {background:var(--vermilion);border-color:var(--vermilion);color:#fff;}
.ctl-mute.is-muted {background:rgba(143,43,33,.5);border-color:var(--vermilion);color:#fff;}
.ctl-play.is-playing {background:var(--vermilion);border-color:var(--vermilion);}
.ctl-progress.is-active {background:linear-gradient(90deg,rgba(192,57,43,.8),rgba(217,207,191,.24));}
.player-shell.fullscreen {border-radius:0;}
.player-shell.theater {width:100%;}
.player-shell.mute .ctl-mute {background:rgba(143,43,33,.5);}
.player-shell.play .ctl-play {background:var(--vermilion);}
.player-shell.pause .ctl-play {background:rgba(192,57,43,.26);}
.player-shell.progress .ctl-progress {background:linear-gradient(90deg,rgba(192,57,43,.8),rgba(217,207,191,.24));}
.player-shell.volume .ctl-volume {background:rgba(217,207,191,.3);}
.player-shell.speed .ctl-speed, .player-shell.pip .ctl-pip, .player-shell.light .ctl-light {background:var(--vermilion);border-color:var(--vermilion);color:#fff;}
.player-shell.standard {background:#0e0c0a;}
.player-shell .ctl.click {outline:1px solid var(--vermilion);}
.details-strip {
  position:relative;
  z-index:3;
  margin-top:clamp(10px,1.6vw,18px);
  padding:clamp(9px,1.4vw,15px) clamp(10px,1.6vw,18px);
  background:linear-gradient(180deg,#e6ddcd,#cfc2ab);
  border:1px solid var(--line);
  border-left:4px solid var(--harbor);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-ink);
}
.strip-heading {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-weight:800;
  font-size:12px;
  letter-spacing:.24em;
  color:var(--harbor-deep);
  padding-bottom:5px;
  margin-bottom:8px;
  border-bottom:1px solid rgba(20,18,16,.22);
}
.details-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));
  gap:2px clamp(10px,1.8vw,22px);
}
.detail-item {
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
  padding:3px 0;
  border-bottom:1px dotted rgba(20,18,16,.24);
}
.detail-item dt {
  flex:0 0 auto;
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:11px;
  letter-spacing:.14em;
  color:var(--harbor);
  white-space:nowrap;
}
.detail-item dt::after {content:"／";color:var(--vermilion);margin-left:2px;}
.detail-item dd {
  flex:1 1 auto;
  min-width:0;
  font-size:13px;
  color:#241f1a;
  word-break:break-word;
}
.episode-status {
  margin-top:clamp(8px,1.2vw,14px);
  padding:7px clamp(10px,1.6vw,16px);
  background:var(--harbor-deep);
  border:1px solid rgba(217,207,191,.2);
  border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(20,18,16,.4);
}
.status-line {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px clamp(10px,2vw,22px);
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:12px;
  letter-spacing:.1em;
  color:#d7ccb9;
}
.status-current {
  color:#fff;
  font-weight:700;
  padding:1px 8px;
  background:var(--vermilion);
  border-radius:2px;
}
.status-total {color:#b9c8d6;}
.status-note {
  margin-left:auto;
  color:var(--vermilion);
  border-bottom:1px dashed rgba(192,57,43,.7);
}
.synopsis-block {
  margin-top:clamp(12px,2vw,22px);
  padding:clamp(10px,1.6vw,18px);
  background:linear-gradient(180deg,rgba(217,207,191,.94),rgba(196,183,162,.94));
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-ink);
}
.block-heading {
  display:inline-block;
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-weight:900;
  font-size:clamp(15px,1.9vw,19px);
  letter-spacing:.14em;
  color:var(--ink);
  padding:0 0 4px 8px;
  border-left:5px solid var(--vermilion);
  border-bottom:1px solid rgba(20,18,16,.26);
}
.synopsis-paragraphs {
  margin-top:9px;
  columns:2;
  column-gap:clamp(14px,2.4vw,30px);
  column-rule:1px solid rgba(20,18,16,.18);
}
.synopsis-para {
  font-size:13.5px;
  line-height:1.78;
  color:#2b251f;
  text-align:justify;
  margin-bottom:8px;
  break-inside:avoid;
}
.synopsis-para:first-child::first-letter {
  font-family:"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:2.1em;
  line-height:.9;
  float:left;
  margin:4px 6px 0 0;
  color:var(--vermilion);
  font-weight:900;
}
.cast-strip {
  margin-top:clamp(10px,1.6vw,18px);
  padding:clamp(9px,1.4vw,15px) clamp(10px,1.6vw,18px);
  background:linear-gradient(180deg,#2a241d,#1c1712);
  border:1px solid rgba(217,207,191,.2);
  border-radius:var(--radius-card);
}
.cast-strip .strip-heading {
  color:#e8dcc7;
  border-bottom-color:rgba(217,207,191,.24);
}
.cast-list {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:6px clamp(8px,1.6vw,18px);
}
.cast-item {
  display:flex;
  align-items:center;
  gap:7px;
  padding:4px 10px 4px 4px;
  background:rgba(217,207,191,.07);
  border:1px solid rgba(217,207,191,.16);
  border-radius:2px;
  transition:border-color .16s,background .16s;
}
.cast-item:hover {border-color:var(--vermilion);background:rgba(192,57,43,.16);}
.cast-avatar {
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:50%;
  background:
    radial-gradient(circle at 34% 30%, #d9cfbf 0 22%, transparent 23%),
    radial-gradient(circle at 50% 50%, rgba(20,18,16,.9) 0 58%, transparent 59%),
    repeating-radial-gradient(circle at 50% 50%, rgba(34,56,79,.9) 0 1px, rgba(217,207,191,.22) 1px 3px);
  border:1px solid rgba(217,207,191,.4);
  box-shadow:inset 0 0 0 2px rgba(20,18,16,.4);
}
.cast-name {
  writing-mode:vertical-rl;
  text-orientation:upright;
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:11px;
  letter-spacing:.16em;
  color:#d7ccb9;
  line-height:1;
}
.section-heading {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-weight:900;
  font-size:clamp(15px,2.1vw,21px);
  letter-spacing:.16em;
  color:#f0e6d6;
  padding:0 0 5px 9px;
  border-left:5px solid var(--vermilion);
  border-bottom:1px solid rgba(217,207,191,.22);
  margin-bottom:clamp(8px,1.4vw,14px);
}
.timeline-section {
  margin-top:clamp(14px,2.2vw,26px);
  padding:clamp(10px,1.6vw,18px);
  background:linear-gradient(180deg,rgba(34,56,79,.5),rgba(20,17,14,.72));
  border:1px solid rgba(217,207,191,.18);
  border-radius:var(--radius-card);
}
.timeline-list {
  position:relative;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap:6px clamp(12px,2vw,26px);
  padding-left:4px;
}
.timeline-list::before {
  content:"";
  position:absolute;
  left:0;
  top:4px;
  bottom:4px;
  width:2px;
  background:linear-gradient(180deg,transparent,rgba(217,207,191,.3) 8%,rgba(217,207,191,.3) 92%,transparent);
}
.timeline-node {
  position:relative;
  display:grid;
  grid-template-columns:auto auto 1fr;
  align-items:baseline;
  gap:4px 8px;
  padding:6px 8px 6px 14px;
  background:rgba(217,207,191,.06);
  border:1px solid rgba(217,207,191,.14);
  border-radius:2px;
  transition:background .16s,border-color .16s,transform .16s;
}
.timeline-node:hover {
  background:rgba(192,57,43,.14);
  border-color:rgba(192,57,43,.6);
  transform:translateX(2px);
}
.node-inkdrop {
  grid-row:1 / span 2;
  align-self:start;
  width:11px;
  height:11px;
  margin-top:4px;
  background:radial-gradient(circle at 36% 32%, #f0e6d6 0 16%, var(--vermilion) 18% 62%, var(--vermilion-dim) 100%);
  border-radius:50% 50% 50% 50% / 62% 62% 38% 38%;
  box-shadow:0 0 0 3px rgba(192,57,43,.2);
}
.node-timecode {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.12em;
  color:var(--vermilion);
  white-space:nowrap;
}
.node-label {
  grid-column:2 / -1;
  font-size:12.5px;
  line-height:1.6;
  color:#dcd2c0;
}
.episodes-section {
  margin-top:clamp(14px,2.2vw,26px);
}
.episode-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--gap);
  align-items:start;
}
.episode-card {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:0;
  padding:10px 11px 9px;
  background:linear-gradient(180deg,#ded4c3,#c9bca6);
  border:1px solid rgba(20,18,16,.5);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-ink);
  transition:transform .16s,box-shadow .16s,border-color .16s;
}
.episode-card::before {
  content:"";
  position:absolute;
  inset:4px;
  border:1px solid rgba(20,18,16,.14);
  border-radius:2px;
  pointer-events:none;
}
.episode-card:hover {
  transform:translateY(-3px);
  border-color:var(--vermilion);
  box-shadow:0 6px 0 rgba(20,18,16,.24), 0 16px 30px -16px rgba(20,18,16,.85);
}
.card-corner {
  position:absolute;
  top:-1px;
  right:-1px;
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  color:#f0e6d6;
  background:var(--harbor);
  border:1px solid var(--ink);
  border-radius:0 var(--radius-card) 0 8px;
  padding:2px 9px;
}
.episode-card:hover .card-corner {background:var(--vermilion);}
.card-title {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-weight:800;
  font-size:13px;
  line-height:1.34;
  letter-spacing:.03em;
  color:var(--ink);
  padding-right:34px;
}
.card-summary {
  font-size:12px;
  line-height:1.66;
  color:#3a332b;
  flex:1 1 auto;
  text-align:justify;
}
.card-duration {
  align-self:flex-start;
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:10.5px;
  letter-spacing:.14em;
  color:var(--vermilion-dim);
  padding:1px 7px;
  border:1px solid rgba(143,43,33,.5);
  border-radius:var(--radius-dot);
  background:rgba(192,57,43,.1);
}
.comments-section {
  margin-top:clamp(16px,2.6vw,30px);
}
.comment-stack {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:clamp(9px,1.6vw,18px);
  align-items:start;
  padding:6px 2px 4px;
}
.comment-note {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:9px 11px 11px;
  background:linear-gradient(180deg,#e9e0cf,#d3c6ae);
  border:1px solid rgba(20,18,16,.4);
  border-radius:2px;
  box-shadow:0 8px 18px -12px rgba(20,18,16,.9);
  transform:rotate(-1.4deg);
  transition:transform .18s,box-shadow .18s;
}
.comment-note:nth-child(even) {transform:rotate(1.5deg);background:linear-gradient(180deg,#e4d9c4,#cabd A5);background:linear-gradient(180deg,#e4d9c4,#c9bca5);}
.comment-note:nth-child(3n) {transform:rotate(-.7deg);}
.comment-note:nth-child(4n) {transform:rotate(2deg);}
.comment-note:hover {
  transform:rotate(0deg) translateY(-2px);
  box-shadow:0 14px 26px -14px rgba(20,18,16,.95);
  z-index:2;
}
.comment-note::before {
  content:"";
  position:absolute;
  top:-1px;
  left:14px;
  width:34px;
  height:7px;
  background:rgba(192,57,43,.62);
  border:1px solid rgba(143,43,33,.6);
  border-radius:1px;
}
.note-nick {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--harbor-deep);
  padding-bottom:3px;
  border-bottom:1px dashed rgba(20,18,16,.3);
}
.note-text {
  font-size:12.5px;
  line-height:1.7;
  color:#2c2620;
  text-align:justify;
}
.rec-region {
  margin-top:clamp(14px,2.4vw,28px);
  padding:clamp(10px,1.6vw,18px);
  background:linear-gradient(180deg,rgba(217,207,191,.92),rgba(191,178,155,.92));
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-ink);
}
.rec-heading {
  position:relative;
  display:inline-block;
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-weight:900;
  font-size:clamp(14px,1.8vw,18px);
  letter-spacing:.14em;
  color:var(--ink);
  padding:0 6px 5px 0;
  margin-bottom:clamp(8px,1.3vw,13px);
}
.rec-heading::after {
  content:"";
  position:absolute;
  left:0;
  right:-30%;
  bottom:0;
  height:7px;
  background:
    linear-gradient(90deg,var(--vermilion) 0 62%, transparent 62%),
    repeating-linear-gradient(90deg, rgba(143,43,33,.6) 0 2px, transparent 2px 6px);
  background-size:100% 3px, 100% 2px;
  background-position:0 0, 0 5px;
  background-repeat:no-repeat;
  transform:rotate(-.8deg);
  opacity:.85;
}
.rec-grid {
  display:grid;
  gap:var(--gap);
  align-items:start;
}
.rec-grid-1 {grid-template-columns:repeat(4,minmax(0,1fr));}
.rec-grid-2 {grid-template-columns:repeat(3,minmax(0,1fr));}
.rec-grid-3 {grid-template-columns:repeat(3,minmax(0,1fr));}
a.rec-card {
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  padding:6px;
  background:linear-gradient(180deg,#f1eade,#d8cdb8);
  border:1px solid rgba(20,18,16,.42);
  border-radius:var(--radius-card);
  color:var(--ink);
  text-decoration:none;
  box-shadow:0 6px 14px -10px rgba(20,18,16,.9);
  transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;
}
a.rec-card:hover {
  transform:translateY(-3px);
  border-color:var(--vermilion);
  background:linear-gradient(180deg,#f7f1e6,#ded3bd);
  box-shadow:0 12px 24px -14px rgba(20,18,16,.95);
}
[data-runtime="recommendation"] img {
  display:block;
  width:100%;
  max-width:100%;
  aspect-ratio:16 / 10;
  height:auto;
  object-fit:cover;
  border:1px solid rgba(20,18,16,.5);
  border-radius:2px;
  background:#2a241d;
  filter:contrast(1.05) saturate(.92);
}
.rec-name {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-weight:800;
  font-size:12.5px;
  line-height:1.36;
  letter-spacing:.02em;
  color:var(--ink);
}
.rec-blurb {
  font-size:11.5px;
  line-height:1.62;
  color:#3b342c;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.rec-region-1 {border-left:4px solid var(--harbor);}
.rec-region-2 {border-left:4px solid var(--vermilion);}
.rec-region-3 {border-left:4px solid var(--ink);}
.site-footer {
  margin-top:clamp(18px,3vw,34px);
  background:linear-gradient(180deg,#14110e,#0c0a08);
  border-top:2px solid var(--vermilion);
  color:#b9ae9c;
}
.footer-inner {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:10px clamp(14px,2.4vw,32px);
  width:100%;
  max-width:100%;
  padding:clamp(12px,1.8vw,20px) clamp(10px,2.4vw,26px);
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:12px;
  letter-spacing:.14em;
  padding:3px 10px;
  border:1px solid rgba(217,207,191,.24);
  border-radius:2px;
  white-space:nowrap;
  transition:color .16s,border-color .16s,background .16s;
}
a[data-contract="footer-home"] {
  color:#f0e6d6;
  text-decoration:none;
  background:rgba(192,57,43,.24);
  border-color:rgba(192,57,43,.6);
}
a[data-contract="footer-home"]:hover {color:#fff;background:var(--vermilion);}
a[data-contract="footer-sitemap"] {
  color:#a9c0d6;
  text-decoration:underline;
  text-underline-offset:3px;
}
a[data-contract="footer-sitemap"]:hover {color:#fff;border-color:#a9c0d6;background:rgba(34,56,79,.5);}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 10px;
  flex:1 1 260px;
  min-width:0;
}
.friend-label {
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:11px;
  letter-spacing:.2em;
  color:var(--vermilion);
  padding-right:8px;
  border-right:1px solid rgba(217,207,191,.24);
  white-space:nowrap;
}
a.runtime-friend-link {
  font-size:11.5px;
  color:#9d9484;
  text-decoration:none;
  border-bottom:1px dotted rgba(157,148,132,.6);
  transition:color .14s,border-color .14s;
}
a.runtime-friend-link:hover {color:#f0e6d6;border-bottom-color:var(--vermilion);}
.footer-disclaimer {
  flex:1 1 100%;
  font-size:11px;
  line-height:1.7;
  color:#7e7668;
  padding-top:8px;
  border-top:1px solid rgba(217,207,191,.12);
}
@media (max-width:980px){.rec-grid-1 {grid-template-columns:repeat(3,minmax(0,1fr));}
.episode-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:820px){.hero-ink-sheet {
    grid-template-columns:minmax(0,1fr);
    transform:rotate(0deg);
    gap:14px;
  }
.poster-frame {width:min(100%,280px);}
.synopsis-paragraphs {columns:1;column-rule:0;}
.rec-grid-1, .rec-grid-2, .rec-grid-3 {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){body {font-size:14px;}
.episode-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.card-corner {font-size:10px;padding:2px 7px;}
.rec-grid-1, .rec-grid-2, .rec-grid-3 {grid-template-columns:repeat(2,minmax(0,1fr));}
.comment-stack {grid-template-columns:minmax(0,1fr);}
.timeline-list {grid-template-columns:minmax(0,1fr);}
.status-note {margin-left:0;}
.footer-inner {gap:10px;}}
@media (max-width:430px){.header-inner {padding:7px 10px;gap:6px;}
.categories-bar {gap:3px;}
a.runtime-category {font-size:11px;padding:3px 7px;}
.poster-frame {width:min(100%,230px);}
.episode-grid {grid-template-columns:minmax(0,1fr);}
.rec-grid-1, .rec-grid-2, .rec-grid-3 {grid-template-columns:minmax(0,1fr);}
.player-controls {gap:3px;}
.ctl {font-size:10.5px;padding:4px 6px;}
.ctl-play {min-width:70px;}
.cast-list {gap:5px 7px;}
.cast-avatar {width:29px;height:29px;}
.synopsis-para {font-size:13px;}}
@media (min-width:1400px){.page-main {padding-left:clamp(20px,3vw,40px);padding-right:clamp(20px,3vw,40px);}
.header-inner {padding-left:clamp(20px,3vw,40px);padding-right:clamp(20px,3vw,40px);}
.footer-inner {padding-left:clamp(20px,3vw,40px);padding-right:clamp(20px,3vw,40px);}
.rec-grid-1 {grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (prefers-reduced-motion:reduce){* {transition:none !important;}
.hero-ink-sheet {transform:none;}
.poster-frame {transform:none;}
.comment-note {transform:none;}}

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}
