* {margin:0;padding:0;box-sizing:border-box}
:root {
  --ink:#0c0b0a;
  --ink-2:#131110;
  --ink-3:#1a1715;
  --char:#221e1b;
  --gold:#b98f3e;
  --gold-dim:#7d6023;
  --gold-soft:rgba(185,143,62,.28);
  --gold-hair:rgba(185,143,62,.16);
  --paper:#e6dcc8;
  --paper-dim:#a99d86;
  --paper-mute:#7c7263;
  --line:rgba(185,143,62,.22);
  --serif:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC",Georgia,"Times New Roman",serif;
  --pad:clamp(.5rem,1.1vw,.9rem);
  --gap:clamp(.5rem,1vw,.85rem);
}
html {-webkit-text-size-adjust:100%;background:var(--ink)}
body {
  font-family:var(--serif);
  color:var(--paper);
  background:
    radial-gradient(120% 70% at 78% -8%,rgba(185,143,62,.10),transparent 60%),
    radial-gradient(90% 55% at 8% 12%,rgba(60,45,30,.35),transparent 62%),
    linear-gradient(180deg,#100e0c 0%,#0c0b0a 45%,#0a0908 100%);
  background-attachment:fixed;
  font-size:15px;
  line-height:1.55;
  letter-spacing:.01em;
  min-height:100vh;
}
img, video {display:block;max-width:100%}
ul, ol {list-style:none}
a {color:var(--gold);text-decoration:none}
button, input, select {font-family:inherit;font-size:inherit;color:inherit}
h1, h2, h3 {font-weight:600;font-style:italic;letter-spacing:.04em;line-height:1.2}
::selection {background:var(--gold);color:var(--ink)}
.site-header {
  position:sticky;top:0;z-index:40;
  background:linear-gradient(180deg,rgba(12,11,10,.97),rgba(12,11,10,.86));
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(4px);
}
.header-inner {
  max-width:1240px;margin:0 auto;
  padding:.45rem var(--pad);
  display:flex;align-items:baseline;gap:1.1rem;flex-wrap:wrap;
}
a[data-contract="site-name"] {
  color:var(--gold);
  text-decoration:none;
  font-size:1.02rem;
  font-style:italic;
  letter-spacing:.22em;
  text-transform:uppercase;
  border-right:1px solid var(--gold-hair);
  padding-right:1.1rem;
  white-space:nowrap;
}
a[data-contract="site-name"]:hover {color:#e2bd6c;text-decoration:underline;text-underline-offset:4px}
.category-nav {
  display:flex;flex-wrap:wrap;gap:.25rem .35rem;align-items:baseline;
}
a.runtime-category {
  color:var(--paper-dim);
  text-decoration:none;
  white-space:nowrap;
  font-size:.8rem;
  letter-spacing:.12em;
  padding:.15rem .5rem;
  border:1px solid transparent;
}
a.runtime-category:hover {
  color:var(--gold);
  border-color:var(--gold-hair);
  background:rgba(185,143,62,.06);
}
.page-main {
  max-width:1240px;margin:0 auto;
  padding:0 var(--pad) 2.2rem;
}
.hero-section {
  position:relative;
  margin:0 calc(var(--pad) * -1) 0;
  padding:clamp(1.6rem,5vw,3.6rem) var(--pad) clamp(2.4rem,7vw,5.2rem);
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero-figure {
  position:absolute;inset:0;
  z-index:0;pointer-events:none;
}
.hero-manor-rain {
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(102deg,rgba(230,220,200,.055) 0 1px,transparent 1px 6px),
    repeating-linear-gradient(96deg,rgba(230,220,200,.035) 0 1px,transparent 1px 11px),
    radial-gradient(70% 80% at 72% 40%,rgba(185,143,62,.13),transparent 66%),
    linear-gradient(200deg,#171412 0%,#0d0c0b 62%,#0a0908 100%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.95),rgba(0,0,0,.55) 62%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.95),rgba(0,0,0,.55) 62%,transparent 100%);
}
.hero-silhouette {
  position:absolute;
  right:clamp(2%,6vw,12%);
  bottom:0;
  width:clamp(180px,34vw,420px);
  height:88%;
  background:
    radial-gradient(58% 42% at 50% 12%,rgba(20,17,15,.95),rgba(12,11,10,.2) 70%),
    linear-gradient(180deg,rgba(16,14,12,.9),rgba(10,9,8,.98));
  clip-path:polygon(46% 0,58% 3%,62% 12%,60% 20%,74% 30%,84% 52%,88% 100%,10% 100%,14% 54%,24% 31%,38% 21%,38% 11%,42% 3%);
  border-right:1px solid var(--gold-hair);
  box-shadow:inset -18px 0 40px rgba(185,143,62,.07);
}
.hero-role {
  position:absolute;
  right:clamp(.6rem,2vw,1.6rem);
  top:8%;
  writing-mode:vertical-rl;
  font-size:.72rem;
  letter-spacing:.34em;
  color:var(--gold);
  opacity:.85;
  text-shadow:0 0 12px rgba(0,0,0,.9);
}
.hero-caption {
  position:relative;z-index:2;
  max-width:min(620px,68%);
  padding-top:clamp(1.2rem,4vw,2.6rem);
}
.hero-tagline {
  font-size:.86rem;
  letter-spacing:.3em;
  color:var(--gold);
  border-left:2px solid var(--gold);
  padding-left:.7rem;
  margin-bottom:.9rem;
}
.hero-title {
  font-size:clamp(1.7rem,5.4vw,3.1rem);
  color:#f0e7d3;
  letter-spacing:.05em;
  text-shadow:0 2px 22px rgba(0,0,0,.85);
  margin-bottom:1rem;
}
.hero-seo {
  font-size:.86rem;
  color:var(--paper-dim);
  max-width:46ch;
  border-top:1px solid var(--gold-hair);
  padding-top:.85rem;
  text-align:justify;
}
.movie-overview {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.55fr);
  gap:clamp(.9rem,2vw,1.6rem);
  align-items:start;
  padding:clamp(1.1rem,3vw,2rem) 0;
  border-bottom:1px solid var(--line);
}
.overview-poster-shell {
  display:flex;flex-direction:column;gap:var(--gap);
  min-width:0;
}
.poster-media {
  width:100%;
  background:var(--ink-3);
  border:1px solid var(--line);
  padding:4px;
}
.poster-media img {
  width:100%;
  height:auto;
  object-fit:cover;
  filter:saturate(.82) contrast(1.04) brightness(.95);
}
.poster-player {
  min-width:0;
  border:1px solid var(--line);
  background:var(--ink-2);
  padding:4px;
}
.poster-player video {
  background:#000;
  border:1px solid var(--gold-hair);
}
.player-controls {
  display:flex;flex-wrap:wrap;align-items:center;
  gap:.3rem;
  padding:.4rem .1rem .1rem;
}
.player-btn {
  background:transparent;
  border:1px solid var(--gold-hair);
  color:var(--paper-dim);
  font-size:.7rem;
  letter-spacing:.08em;
  padding:.22rem .5rem;
  cursor:pointer;
  font-style:normal;
}
.player-btn:hover {color:var(--gold);border-color:var(--gold);background:rgba(185,143,62,.08)}
.player-btn.is-playing, .player-btn.is-active {color:var(--gold);border-color:var(--gold);background:rgba(185,143,62,.14)}
.player-btn.is-muted {color:#a8603a;border-color:#a8603a}
.player-progress {
  flex:1 1 110px;min-width:80px;height:3px;
  -webkit-appearance:none;appearance:none;
  background:linear-gradient(90deg,var(--gold) 0%,var(--gold) 0%,rgba(185,143,62,.2) 0%);
  background:rgba(185,143,62,.2);
  cursor:pointer;
}
.player-progress::-webkit-slider-thumb {appearance:none;-webkit-appearance:none;width:9px;height:9px;background:var(--gold);border-radius:0}
.player-progress::-moz-range-thumb {width:9px;height:9px;background:var(--gold);border:0;border-radius:0}
.player-volume {
  flex:0 1 74px;min-width:56px;height:3px;
  -webkit-appearance:none;appearance:none;
  background:rgba(185,143,62,.2);cursor:pointer;
}
.player-volume::-webkit-slider-thumb {appearance:none;-webkit-appearance:none;width:9px;height:9px;background:var(--gold);border-radius:0}
.player-volume::-moz-range-thumb {width:9px;height:9px;background:var(--gold);border:0;border-radius:0}
.player-speed {
  background:var(--ink-3);
  border:1px solid var(--gold-hair);
  color:var(--paper-dim);
  font-size:.7rem;
  padding:.22rem .3rem;
  cursor:pointer;
}
.player-speed:hover {color:var(--gold);border-color:var(--gold)}
.overview-info {
  min-width:0;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(26,23,21,.85),rgba(15,14,13,.7));
  padding:clamp(.8rem,1.8vw,1.25rem);
  display:flex;flex-direction:column;gap:0;
}
.overview-title {
  font-size:clamp(1.15rem,2.6vw,1.65rem);
  color:#f0e7d3;
  letter-spacing:.06em;
}
.overview-tagline {
  font-size:.78rem;
  color:var(--gold);
  letter-spacing:.2em;
  margin-top:.3rem;
  padding-bottom:.7rem;
  border-bottom:1px solid var(--gold-hair);
}
.cast-block, .synopsis-block, .episode-status, .details-block {
  padding:.75rem 0;
  border-bottom:1px solid var(--gold-hair);
}
.details-block {border-bottom:0;padding-bottom:0}
.cast-heading, .synopsis-heading, .status-heading, .details-heading {
  font-size:.74rem;
  letter-spacing:.26em;
  color:var(--gold);
  margin-bottom:.55rem;
}
.cast-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(84px,1fr));
  gap:.35rem .5rem;
}
.cast-item {
  display:flex;align-items:center;gap:.4rem;
  min-width:0;
}
.cast-avatar {
  flex:0 0 auto;
  width:22px;height:26px;
  background:
    radial-gradient(circle at 50% 32%,rgba(185,143,62,.4),transparent 58%),
    linear-gradient(180deg,#2a2522,#171412);
  border:1px solid var(--gold-hair);
}
.cast-name {
  font-size:.76rem;
  color:var(--paper-dim);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.synopsis-para {
  font-size:.82rem;
  color:var(--paper-dim);
  text-align:justify;
  margin-bottom:.5rem;
}
.synopsis-para:last-child {margin-bottom:0}
.status-line {
  display:flex;justify-content:space-between;gap:.6rem;
  font-size:.8rem;
  padding:.18rem 0;
  border-bottom:1px dotted rgba(185,143,62,.14);
}
.status-line:last-child {border-bottom:0}
.status-label {color:var(--paper-mute);letter-spacing:.14em}
.status-value {color:var(--gold);font-style:italic}
.details-list {display:flex;flex-direction:column}
.details-row {
  display:flex;gap:.7rem;align-items:baseline;
  font-size:.78rem;
  padding:.18rem 0;
  border-bottom:1px dotted rgba(185,143,62,.14);
}
.details-row:last-child {border-bottom:0}
.details-key {
  flex:0 0 5.2em;
  color:var(--paper-mute);
  letter-spacing:.12em;
}
.details-val {color:var(--paper);min-width:0}
.timeline-section {
  padding:clamp(1.2rem,3vw,2rem) 0;
  border-bottom:1px solid var(--line);
}
.timeline-heading, .episodes-heading, .cast-section-heading, .comments-heading, .recommend-title {
  font-size:.78rem;
  letter-spacing:.3em;
  color:var(--gold);
  margin-bottom:.9rem;
}
.timeline-list {
  position:relative;
  padding-left:1.55rem;
  display:flex;flex-direction:column;gap:.1rem;
}
.timeline-list::before {
  content:"";
  position:absolute;left:.42rem;top:.35rem;bottom:.35rem;
  width:1px;
  background:linear-gradient(180deg,transparent,var(--gold-dim) 8%,var(--gold-dim) 92%,transparent);
}
.timeline-item {
  position:relative;
  display:flex;align-items:baseline;gap:.9rem;
  padding:.34rem 0;
  border-bottom:1px solid rgba(185,143,62,.08);
}
.timeline-item::before {
  content:"";
  position:absolute;left:-1.33rem;top:.72rem;
  width:7px;height:7px;
  background:var(--ink);
  border:1px solid var(--gold);
  transform:rotate(45deg);
}
.timeline-time {
  flex:0 0 4.2em;
  font-size:.74rem;
  color:var(--gold);
  letter-spacing:.16em;
  font-style:italic;
}
.timeline-label {
  font-size:.82rem;
  color:var(--paper-dim);
}
.episodes-section {
  padding:clamp(1.2rem,3vw,2rem) 0;
  border-bottom:1px solid var(--line);
}
.episode-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(216px,1fr));
  gap:var(--gap);
  align-items:start;
}
.episode-card {
  position:relative;
  border:1px solid var(--line);
  border-left:2px solid var(--gold-dim);
  background:linear-gradient(180deg,rgba(26,23,21,.7),rgba(14,13,12,.55));
  padding:.6rem .7rem .55rem;
  display:flex;flex-direction:column;gap:.28rem;
  transition:border-color .25s ease,background .25s ease,transform .25s ease;
}
.episode-card:hover {
  border-color:var(--gold);
  border-left-color:var(--gold);
  background:linear-gradient(180deg,rgba(38,31,22,.85),rgba(18,16,14,.7));
  transform:translateX(2px);
}
.episode-number {
  font-size:.68rem;
  letter-spacing:.24em;
  color:var(--gold);
  font-style:italic;
}
.episode-title {
  font-size:.92rem;
  color:#e9dfc9;
  letter-spacing:.08em;
}
.episode-summary {
  font-size:.76rem;
  color:var(--paper-mute);
  text-align:justify;
  max-height:2.9em;
  overflow:hidden;
  transition:max-height .38s ease,color .3s ease;
}
.episode-card:hover .episode-summary {
  max-height:14em;
  color:var(--paper-dim);
}
.episode-duration {
  font-size:.66rem;
  letter-spacing:.2em;
  color:var(--gold-dim);
  border-top:1px solid rgba(185,143,62,.14);
  padding-top:.25rem;
  margin-top:.1rem;
  align-self:flex-start;
}
.cast-section {
  padding:clamp(1.2rem,3vw,2rem) 0;
  border-bottom:1px solid var(--line);
}
.cast-section-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:.45rem .8rem;
}
.cast-section-item {
  display:flex;align-items:center;gap:.55rem;
  border:1px solid var(--gold-hair);
  background:rgba(26,23,21,.45);
  padding:.35rem .45rem;
  min-width:0;
}
.cast-section-avatar {
  flex:0 0 auto;
  width:28px;height:34px;
  background:
    radial-gradient(circle at 50% 30%,rgba(185,143,62,.45),transparent 60%),
    linear-gradient(180deg,#2c2723,#151312);
  border:1px solid var(--gold-hair);
}
.cast-section-name {
  font-size:.8rem;
  color:var(--paper-dim);
  letter-spacing:.06em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.comments-section {
  padding:clamp(1.2rem,3vw,2rem) 0;
  border-bottom:1px solid var(--line);
}
.comments-layout {
  display:grid;
  grid-template-columns:minmax(0,.62fr) minmax(0,1.9fr);
  gap:clamp(.6rem,1.6vw,1.2rem);
  align-items:start;
}
.comments-side {
  border:1px solid var(--gold-hair);
  border-top:2px solid var(--gold-dim);
  background:linear-gradient(180deg,rgba(28,24,20,.7),rgba(14,13,12,.4));
  padding:.7rem .75rem;
}
.comments-side-note {
  font-size:.74rem;
  letter-spacing:.24em;
  color:var(--gold);
  writing-mode:vertical-rl;
  height:9.5em;
  margin:0 auto;
}
.comment-list {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:.55rem .9rem;
  align-items:start;
}
.comment-item {
  border-left:1px solid var(--gold-hair);
  padding:.15rem 0 .15rem .7rem;
}
.comment-nick {
  display:block;
  font-size:.72rem;
  letter-spacing:.16em;
  color:var(--gold);
  font-style:italic;
  margin-bottom:.22rem;
}
.comment-text {
  font-size:.8rem;
  color:var(--paper-dim);
  text-align:justify;
}
.recommend-region {
  padding:clamp(.9rem,2.2vw,1.5rem) 0;
  border-bottom:1px solid var(--line);
}
.recommend-region:last-of-type {border-bottom:0}
.recommend-band {
  display:grid;
  gap:var(--gap);
  align-items:start;
}
.recommend-band-1 {grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.recommend-band-2 {grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.recommend-band-3 {grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
a[data-runtime="recommendation"] {
  display:flex;flex-direction:column;gap:.3rem;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(26,23,21,.6),rgba(13,12,11,.45));
  padding:4px 4px .45rem;
  color:var(--paper-dim);
  text-decoration:none;
  min-width:0;
  transition:border-color .22s ease,background .22s ease;
}
a[data-runtime="recommendation"]:hover {
  border-color:var(--gold);
  background:linear-gradient(180deg,rgba(40,32,22,.8),rgba(16,14,12,.6));
  color:var(--gold);
}
[data-runtime="recommendation"] img {
  width:100%;
  aspect-ratio:16 / 10;
  height:auto;
  object-fit:cover;
  filter:saturate(.8) contrast(1.05) brightness(.92);
}
[data-runtime="recommendation"] [data-runtime="name"] {
  font-size:.78rem;
  color:#e2d8c2;
  letter-spacing:.06em;
  padding:0 .2rem;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
[data-runtime="recommendation"] [data-runtime="blurb"] {
  font-size:.68rem;
  color:var(--paper-mute);
  padding:0 .2rem;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
a[data-runtime="recommendation"]:hover [data-runtime="name"] {color:var(--gold)}
.site-footer {
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(12,11,10,.6),#080807);
  margin-top:.4rem;
}
.footer-inner {
  max-width:1240px;margin:0 auto;
  padding:clamp(.9rem,2.4vw,1.5rem) var(--pad) 2rem;
  display:flex;flex-direction:column;gap:.7rem;
}
.footer-disclaimer {
  font-size:.72rem;
  color:var(--paper-mute);
  line-height:1.6;
  max-width:78ch;
  border-left:2px solid var(--gold-dim);
  padding-left:.7rem;
}
.footer-nav {
  display:flex;flex-wrap:wrap;gap:.4rem 1rem;
  align-items:baseline;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:.76rem;
  letter-spacing:.18em;
  color:var(--paper-dim);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
  color:var(--gold);
  border-bottom-color:var(--gold);
}
.friend-links-nav {
  display:flex;flex-wrap:wrap;gap:.3rem .75rem;
  align-items:baseline;
  border-top:1px solid var(--gold-hair);
  padding-top:.6rem;
}
.friend-links-label {
  font-size:.68rem;
  letter-spacing:.24em;
  color:var(--gold-dim);
}
a.runtime-friend-link {
  font-size:.72rem;
  color:var(--paper-mute);
  text-decoration:none;
  white-space:nowrap;
}
a.runtime-friend-link:hover {
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:3px;
}
.player {position:relative}
.play, .pause, .mute, .volume, .progress, .speed, .timeupdate, .input, .change, .click {
  transition:opacity .2s ease;
}
.is-theater {
  position:relative;
  z-index:5;
}
.overview-poster-shell.is-theater {
  box-shadow:0 0 0 1px var(--gold),0 0 44px rgba(185,143,62,.22);
}
.lights-off {background:#050505}
.lights-off .page-main {filter:brightness(.92)}
.fullscreen {background:#000}
.pip {outline:1px solid var(--gold)}
.play.is-active, .pause.is-active {color:var(--gold)}
.speed.is-active, .volume.is-active {color:var(--gold)}
@media (max-width:960px){.movie-overview {grid-template-columns:minmax(0,1fr)}
.overview-poster-shell {max-width:520px}
.comments-layout {grid-template-columns:minmax(0,1fr)}
.comments-side {display:flex;align-items:center}
.comments-side-note {writing-mode:horizontal-tb;height:auto;margin:0;letter-spacing:.28em}}
@media (max-width:720px){body {font-size:14.5px}
.hero-caption {max-width:100%;padding-top:7rem}
.hero-silhouette {right:-6%;width:min(62vw,300px);opacity:.85}
.hero-title {font-size:clamp(1.5rem,7.5vw,2.2rem)}
.hero-seo {max-width:100%}
.episode-list {grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.recommend-band-1, .recommend-band-2, .recommend-band-3 {
    grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  }
.cast-section-list {grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}
@media (max-width:480px){.header-inner {gap:.6rem}
a[data-contract="site-name"] {border-right:0;padding-right:0;letter-spacing:.16em}
.hero-caption {padding-top:6rem}
.hero-silhouette {width:min(70vw,240px);opacity:.7}
.episode-list {grid-template-columns:minmax(0,1fr)}
.comment-list {grid-template-columns:minmax(0,1fr)}
.recommend-band-1, .recommend-band-2, .recommend-band-3 {
    grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  }
.cast-list {grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}
.cast-section-list {grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.timeline-item {flex-direction:column;gap:.1rem}
.timeline-time {flex:0 0 auto}
.player-controls {gap:.25rem}
.player-btn {font-size:.66rem;padding:.2rem .38rem}}
@media (prefers-reduced-motion:reduce){* {transition:none!important;animation:none!important}}

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}
