*, *::before, *::after {box-sizing:border-box;}
html {-webkit-text-size-adjust:100%;}
body, h1, h2, h3, p, dl, dd, dt, ol, ul, li {margin:0;padding:0;}
ol, ul {list-style:none;}
img, video {display:block;max-width:100%;}
a {color:inherit;text-decoration:none;}
button {font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
:root {
  --ink:#0b0705;
  --ink-2:#140d09;
  --ink-3:#1d1410;
  --brown:#241610;
  --brown-2:#33201a;
  --brown-3:#4a2e22;
  --orange:#d97a2b;
  --orange-2:#f0a154;
  --orange-dim:#8a4d1c;
  --amber:#e8b878;
  --paper:#e9dcc9;
  --paper-dim:#b8a289;
  --muted:#8d7a67;
  --line:rgba(217,122,43,.24);
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"SFMono-Regular","Roboto Mono","DejaVu Sans Mono",Menlo,Consolas,monospace;
  --shell:min(1180px,100% - 2.4rem);
}
body {
  font-family:var(--sans);
  font-size:14px;
  line-height:1.55;
  color:var(--paper);
  background:
    radial-gradient(120% 60% at 82% 0%,rgba(217,122,43,.16),transparent 62%),
    radial-gradient(90% 50% at 8% 100%,rgba(217,122,43,.10),transparent 60%),
    linear-gradient(180deg,#0b0705 0%,#140d09 44%,#0e0806 100%);
  background-attachment:fixed;
  letter-spacing:.01em;
}
.page-shell {
  width:var(--shell);
  margin-inline:auto;
  padding-bottom:0;
}
.site-header {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.4rem .9rem;
  padding:.7rem 0 .6rem;
  border-bottom:1px solid var(--line);
  position:relative;
}
.site-header::after {
  content:"";
  position:absolute;
  left:0;bottom:-1px;
  width:58px;height:2px;
  background:linear-gradient(90deg,var(--orange),transparent);
}
a[data-contract="site-name"] {
  font-size:17px;
  font-weight:800;
  letter-spacing:.32em;
  color:var(--amber);
  text-decoration:none;
  text-transform:uppercase;
  text-shadow:0 0 18px rgba(217,122,43,.35);
}
a[data-contract="site-name"]:hover {color:var(--orange-2);}
.category-bar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.3rem .45rem;
}
a.runtime-category {
  display:inline-block;
  white-space:nowrap;
  font-size:12px;
  padding:.22rem .55rem;
  color:var(--paper-dim);
  text-decoration:none;
  border:1px solid var(--line);
  border-radius:2px;
  background:rgba(217,122,43,.05);
  transition:color .16s,background .16s,border-color .16s;
}
a.runtime-category:hover, a.runtime-category:focus-visible {
  color:#150d08;
  background:var(--orange);
  border-color:var(--orange);
}
.movie-main {display:block;}
.hero-panel {
  padding:1rem 0 .2rem;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  grid-template-areas:
    "visual meta"
    "visual meta";
  align-items:start;
  gap:1rem 1.4rem;
  position:relative;
}
.hero-visual {
  grid-area:visual;
  position:relative;
  align-self:start;
  isolation:isolate;
}
.poster-media {
  position:relative;
  z-index:1;
  width:100%;
}
.hero-poster {
  width:100%;
  height:auto;
  aspect-ratio:9 / 16;
  object-fit:cover;
  border-radius:2px;
  filter:saturate(.86) contrast(1.06) brightness(.86);
  box-shadow:0 18px 48px rgba(0,0,0,.72),0 0 0 1px rgba(217,122,43,.14);
}
.hero-hand-overlay {
  position:absolute;
  right:-6%;
  bottom:-4%;
  width:78%;
  height:56%;
  z-index:3;
  pointer-events:none;
  border-radius:46% 30% 40% 30%/60% 50% 40% 50%;
  background:
    radial-gradient(60% 70% at 68% 34%,rgba(232,184,120,.30),transparent 70%),
    radial-gradient(90% 90% at 30% 80%,rgba(0,0,0,.92),rgba(0,0,0,.55) 62%,transparent 78%),
    linear-gradient(200deg,rgba(74,46,34,.9),rgba(11,7,5,.96));
  mix-blend-mode:multiply;
  transform:rotate(-9deg);
  filter:blur(.3px);
}
.hero-doorlight {
  position:absolute;
  inset:-8% -14% -10% -10%;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(
      118deg,
      transparent 38%,
      rgba(240,161,84,.30) 44%,
      rgba(240,161,84,.08) 50%,
      transparent 56%
    );
  mix-blend-mode:screen;
}
.hero-doorlight::after {
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(120% 80% at 88% 10%,rgba(0,0,0,.85),transparent 58%),
    radial-gradient(100% 70% at 6% 96%,rgba(0,0,0,.8),transparent 60%);
  mix-blend-mode:multiply;
}
.hero-meta {
  grid-area:meta;
  display:flex;
  flex-direction:column;
  gap:.55rem;
  align-self:start;
  min-width:0;
}
.movie-title {
  font-size:clamp(26px,3.4vw,40px);
  line-height:1.05;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--paper);
  text-shadow:0 0 26px rgba(217,122,43,.28);
}
.movie-tagline {
  font-size:12.5px;
  letter-spacing:.34em;
  color:var(--orange-2);
  padding-left:.1rem;
  border-left:2px solid var(--orange);
  padding-left:.55rem;
}
.movie-seo {
  font-size:12.5px;
  line-height:1.7;
  color:var(--paper-dim);
  max-width:62ch;
  text-align:justify;
}
.player-shell {
  width:100%;
  margin-top:.35rem;
  border:1px solid var(--line);
  border-radius:3px;
  background:linear-gradient(180deg,#100a07,#0a0605);
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.6);
}
.player-shell video {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  background:#000;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  gap:.28rem;
  padding:.45rem .5rem;
  border-top:1px solid var(--line);
  background:rgba(217,122,43,.04);
}
.player-btn {
  font-size:11.5px;
  line-height:1;
  padding:.34rem .5rem;
  color:var(--paper-dim);
  border:1px solid rgba(217,122,43,.22);
  border-radius:2px;
  background:rgba(255,255,255,.015);
  transition:color .15s,background .15s,border-color .15s;
}
.player-btn:hover, .player-btn:focus-visible {
  color:#170e08;
  background:var(--orange);
  border-color:var(--orange);
}
.player-btn.is-playing {color:#170e08;background:var(--orange-2);border-color:var(--orange-2);}
.player-btn.is-muted {color:var(--muted);border-style:dashed;}
.player-btn.is-active {color:#170e08;background:var(--amber);border-color:var(--amber);}
.player-shell.is-theater {
  width:100%;
  box-shadow:0 0 0 1px var(--orange),0 26px 60px rgba(0,0,0,.8);
}
body.is-dim {filter:brightness(.72) saturate(.9);}
.cast-strip {
  margin-top:.55rem;
  border-top:1px solid var(--line);
  padding-top:.5rem;
}
.cast-strip-title {
  font-size:11px;
  letter-spacing:.34em;
  color:var(--orange-2);
  font-weight:700;
  margin-bottom:.35rem;
}
.cast-strip-list {
  display:flex;
  flex-wrap:wrap;
  gap:.3rem .4rem;
}
.cast-chip {
  font-size:11.5px;
  padding:.22rem .5rem;
  color:var(--paper);
  background:rgba(217,122,43,.1);
  border:1px solid rgba(217,122,43,.2);
  border-left:2px solid var(--orange);
  border-radius:1px;
  white-space:nowrap;
}
.synopsis-block {
  margin-top:.55rem;
  padding-top:.5rem;
  border-top:1px solid var(--line);
}
.synopsis-title, .detail-title, .timeline-title, .episodes-title, .comments-title {
  font-size:12px;
  letter-spacing:.3em;
  color:var(--orange-2);
  font-weight:700;
  text-transform:uppercase;
}
.synopsis-title {margin-bottom:.35rem;}
.synopsis-para {
  font-size:12.5px;
  line-height:1.72;
  color:var(--paper-dim);
  text-align:justify;
  margin-bottom:.32rem;
}
.synopsis-para:last-child {margin-bottom:0;}
.episode-status {
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .45rem;
  margin-top:.55rem;
  padding-top:.5rem;
  border-top:1px solid var(--line);
}
.status-item {
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.06em;
  padding:.2rem .5rem;
  color:var(--amber);
  background:rgba(217,122,43,.08);
  border:1px dashed rgba(217,122,43,.34);
  border-radius:2px;
  white-space:nowrap;
}
.detail-grid {
  margin-top:.6rem;
  padding-top:.55rem;
  border-top:1px solid var(--line);
}
.detail-title {margin-bottom:.4rem;}
.detail-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:.2rem .9rem;
}
.detail-row {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.6rem;
  padding:.2rem 0;
  border-bottom:1px dotted rgba(217,122,43,.16);
}
.detail-key {
  font-size:11.5px;
  color:var(--muted);
  letter-spacing:.14em;
  flex:0 0 auto;
}
.detail-val {
  font-family:var(--mono);
  font-size:11.5px;
  color:var(--paper);
  text-align:right;
  letter-spacing:.01em;
}
.timeline-section {
  position:relative;
  margin-top:1.5rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
}
.timeline-title {margin-bottom:.9rem;}
.timeline-thread {
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem .9rem;
  padding-left:1.1rem;
}
.timeline-thread::before {
  content:"";
  position:absolute;
  left:.32rem;
  top:.3rem;
  bottom:.3rem;
  width:1px;
  background:linear-gradient(180deg,transparent,var(--orange-dim) 8%,var(--orange) 50%,var(--orange-dim) 92%,transparent);
  opacity:.7;
}
.timeline-item {
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:.5rem;
  align-items:start;
  padding:.35rem .45rem .35rem .2rem;
  border-left:2px solid rgba(217,122,43,.24);
  background:linear-gradient(90deg,rgba(217,122,43,.06),transparent 70%);
}
.timeline-item::before {
  content:"";
  position:absolute;
  left:-1.13rem;
  top:.62rem;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 0 3px rgba(217,122,43,.14);
}
.timeline-episode {
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:.05em;
  color:#170e08;
  background:var(--orange);
  padding:.14rem .38rem;
  white-space:nowrap;
  border-radius:1px;
  align-self:start;
}
.timeline-desc {
  font-size:12px;
  line-height:1.62;
  color:var(--paper-dim);
  text-align:justify;
}
.episodes-section {
  margin-top:1.5rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
}
.episodes-title {margin-bottom:.6rem;}
.episode-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.4rem;
}
.episode-card {
  position:relative;
  padding:.5rem .55rem .45rem;
  border:1px solid rgba(217,122,43,.16);
  border-radius:2px;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.22));
  overflow:hidden;
  transition:border-color .18s,background .18s,transform .18s;
}
.episode-card::after {
  content:"";
  position:absolute;
  left:0;top:0;
  width:2px;height:100%;
  background:linear-gradient(180deg,var(--orange),transparent);
  opacity:0;
  transition:opacity .18s;
}
.episode-num {
  display:block;
  font-family:var(--mono);
  font-size:16px;
  font-weight:700;
  line-height:1;
  color:rgba(217,122,43,.5);
  margin-bottom:.3rem;
}
.episode-name {
  font-size:12.5px;
  font-weight:700;
  line-height:1.35;
  color:var(--paper);
  margin-bottom:.25rem;
}
.episode-summary {
  font-size:11.5px;
  line-height:1.6;
  color:var(--paper-dim);
  text-align:justify;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition:max-height .26s ease,opacity .2s ease,margin .26s;
  margin-bottom:0;
}
.episode-duration {
  display:inline-block;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.05em;
  color:var(--muted);
  margin-top:.3rem;
}
.episode-card:hover, .episode-card:focus-within {
  border-color:rgba(217,122,43,.5);
  background:linear-gradient(180deg,rgba(217,122,43,.1),rgba(0,0,0,.3));
  transform:translateY(-1px);
}
.episode-card:hover::after, .episode-card:focus-within::after {opacity:1;}
.episode-card:hover .episode-summary, .episode-card:focus-within .episode-summary {
  max-height:12em;
  opacity:1;
  margin-bottom:.1rem;
}
.comments-section {
  margin-top:1.5rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
}
.comments-title {margin-bottom:.6rem;}
.comment-stack {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.4rem;
  align-items:start;
}
.comment-card {
  padding:.5rem .6rem .5rem;
  background:linear-gradient(180deg,#0e0906,#150e0a);
  border:1px solid rgba(217,122,43,.14);
  border-left:2px solid var(--brown-3);
  border-radius:2px;
}
.comment-nickname {
  display:block;
  font-size:11px;
  letter-spacing:.16em;
  color:var(--amber);
  margin-bottom:.25rem;
}
.comment-nickname::before {
  content:"▪ ";
  color:var(--orange);
}
.comment-text {
  font-size:11.5px;
  line-height:1.68;
  color:#cdbca6;
  text-align:justify;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.recommend-region {
  margin-top:1.4rem;
  padding-top:.9rem;
  border-top:1px solid var(--line);
}
.recommend-title {
  font-size:11px;
  letter-spacing:.3em;
  color:var(--orange-2);
  font-weight:700;
  margin-bottom:.5rem;
}
.recommend-grid {
  display:grid;
  gap:.4rem;
  align-items:start;
}
.recommend-grid-one {
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.recommend-grid-two {
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.recommend-grid-three {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.recommend-item {
  display:block;
  padding:.32rem;
  border:1px solid rgba(217,122,43,.14);
  border-radius:2px;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.24));
  transition:border-color .16s,background .16s,transform .16s;
}
.recommend-item img, .recommend-grid-one .recommend-item img, .recommend-grid-two .recommend-item img, .recommend-grid-three .recommend-item img {
  width:100%;
  aspect-ratio:3 / 4;
  height:auto;
  object-fit:cover;
  border-radius:1px;
  filter:saturate(.85) brightness(.9);
}
.recommend-name {
  display:block;
  font-size:11.5px;
  font-weight:700;
  color:var(--paper);
  margin-top:.3rem;
  line-height:1.35;
}
.recommend-blurb {
  display:block;
  font-size:10.5px;
  line-height:1.55;
  color:var(--muted);
  margin-top:.15rem;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.recommend-item:hover {
  border-color:rgba(217,122,43,.48);
  background:linear-gradient(180deg,rgba(217,122,43,.1),rgba(0,0,0,.3));
  transform:translateY(-1px);
}
.recommend-item:hover .recommend-name {color:var(--orange-2);}
.oil-pour-frame {
  margin-top:2.2rem;
  padding:2.4rem 0 2.6rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.9rem;
  border-top:1px solid var(--line);
  position:relative;
  overflow:hidden;
}
.oil-pour-visual {
  width:min(340px,70%);
  height:150px;
  border-radius:50% 50% 44% 44%/72% 72% 30% 30%;
  background:
    radial-gradient(60% 70% at 50% 12%,rgba(240,161,84,.55),transparent 66%),
    radial-gradient(80% 90% at 50% 60%,rgba(217,122,43,.32),transparent 72%),
    linear-gradient(180deg,rgba(74,46,34,.6),rgba(11,7,5,.05));
  filter:blur(1px);
  box-shadow:0 0 60px rgba(217,122,43,.24);
}
.oil-pour-caption {
  font-size:12px;
  letter-spacing:.4em;
  color:var(--amber);
  text-shadow:0 0 20px rgba(217,122,43,.4);
}
.site-footer {
  margin-top:1.4rem;
  padding:1rem 0 1.6rem;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
.footer-disclaimer {
  font-size:11px;
  line-height:1.7;
  color:var(--muted);
  max-width:78ch;
  text-align:justify;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem .8rem;
  align-items:center;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:12px;
  letter-spacing:.2em;
  padding:.2rem .1rem;
  border-bottom:1px solid transparent;
  transition:color .15s,border-color .15s;
}
a[data-contract="footer-home"] {color:var(--orange-2);}
a[data-contract="footer-home"]:hover {color:var(--paper);border-color:var(--orange);}
a[data-contract="footer-sitemap"] {color:var(--paper-dim);}
a[data-contract="footer-sitemap"]:hover {color:var(--orange-2);border-color:var(--orange);}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.3rem .55rem;
  padding-top:.5rem;
  border-top:1px dotted rgba(217,122,43,.18);
}
.friend-links-label {
  font-size:10.5px;
  letter-spacing:.32em;
  color:var(--brown-3);
  color:var(--muted);
  padding-right:.3rem;
  border-right:1px solid var(--line);
}
a.runtime-friend-link {
  font-size:11px;
  color:#9a8571;
  white-space:nowrap;
  transition:color .15s;
}
a.runtime-friend-link:hover {color:var(--orange-2);}
@media (max-width:1000px){.hero-panel {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "visual"
      "meta";
    gap:.9rem;
  }
.hero-visual {max-width:460px;}
.recommend-grid-two {grid-template-columns:repeat(3,minmax(0,1fr));}
.comment-stack {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){:root {--shell:calc(100% - 1.6rem);}
body {font-size:13.5px;}
.episode-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.recommend-grid-one, .recommend-grid-two, .recommend-grid-three {grid-template-columns:repeat(2,minmax(0,1fr));}
.timeline-thread {grid-template-columns:minmax(0,1fr);}
.movie-title {font-size:26px;}
.movie-seo {max-width:none;}
.hero-visual {max-width:none;}}
@media (max-width:520px){.comment-stack {grid-template-columns:minmax(0,1fr);}
.episode-grid {grid-template-columns:minmax(0,1fr);}
.recommend-grid-one, .recommend-grid-two, .recommend-grid-three {grid-template-columns:repeat(2,minmax(0,1fr));}
.detail-list {grid-template-columns:minmax(0,1fr);}
.movie-tagline {letter-spacing:.2em;}
.oil-pour-visual {width:78%;height:110px;}
.oil-pour-caption {letter-spacing:.26em;font-size:11.5px;}
.site-header {gap:.35rem .5rem;}}

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}
