* {margin:0;padding:0;box-sizing:border-box}
:root {
  --peach:#f7c6b0;
  --peach-deep:#e89a86;
  --peach-soft:#fbe3d8;
  --wood:#8a5a3b;
  --wood-dark:#6b4229;
  --wood-light:#c49a7a;
  --storm:#2d3b4e;
  --storm-deep:#1d2735;
  --storm-soft:#465a72;
  --cream:#fdf6ef;
  --paper:#fffaf5;
  --ink:#3a2b22;
  --ink-soft:#6d5a4d;
  --line:rgba(138,90,59,.22);
  --radius:14px;
  --radius-sm:9px;
  --radius-lg:22px;
}
html {-webkit-text-size-adjust:100%}
body {
  font-family:"Songti SC","Noto Serif CJK SC",Georgia,"PingFang SC","Hiragino Sans GB",serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.5;
  letter-spacing:.01em;
  font-size:15px;
  min-height:100vh;
  overflow-x:hidden;
}
img {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
button, input, select {font:inherit;color:inherit}
h1, h2, h3 {font-weight:600;letter-spacing:.02em}
h2, h3 {line-height:1.3}
ul, ol {list-style:none}
dl, dd, dt {margin:0}
.site-header {
  position:sticky;
  top:0;
  z-index:50;
  background:linear-gradient(180deg,var(--peach-soft),rgba(251,227,216,.85));
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner {
  max-width:1180px;
  margin:0 auto;
  padding:8px 18px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
a[data-contract="site-name"].site-brand {
  font-size:20px;
  font-weight:700;
  color:var(--wood-dark);
  letter-spacing:.08em;
  border-radius:var(--radius-sm);
  padding:2px 4px;
}
a[data-contract="site-name"].site-brand:hover {
  color:var(--peach-deep);
}
.category-nav {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  margin-left:auto;
}
a.runtime-category {
  display:inline-block;
  white-space:nowrap;
  font-size:13px;
  color:var(--wood-dark);
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:999px;
  padding:3px 12px;
  text-decoration:none;
  transition:background .18s ease,color .18s ease;
}
a.runtime-category:hover {
  background:var(--peach);
  color:#5a3320;
  border-color:var(--peach-deep);
}
.page-main {
  max-width:1180px;
  margin:0 auto;
  padding:16px 18px 40px;
  display:flex;
  flex-direction:column;
  gap:22px;
}
.hero-section {
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--paper);
  border:1px solid var(--line);
  box-shadow:0 10px 26px -18px rgba(58,43,34,.5);
}
.hero-backdrop {
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:0;
  background:
    radial-gradient(120% 90% at 15% 5%,rgba(247,198,176,.9),transparent 60%),
    radial-gradient(100% 80% at 95% 100%,rgba(45,59,78,.55),transparent 65%),
    linear-gradient(160deg,#e9b79f 0%,#d9a488 45%,#8a5a3b 100%);
  padding:20px 20px 16px;
}
.hero-media {
  flex:0 0 auto;
  width:190px;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 14px 30px -14px rgba(29,39,53,.7);
  border:3px solid rgba(255,250,245,.55);
}
.hero-poster {
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  border-radius:calc(var(--radius) - 4px);
}
.hero-caption {
  flex:1 1 260px;
  min-width:0;
  padding:0 4px 4px 18px;
  color:var(--paper);
  text-shadow:0 2px 8px rgba(29,39,53,.6);
  text-align:right;
}
.hero-title {
  font-size:clamp(24px,4.6vw,40px);
  letter-spacing:.06em;
  font-weight:700;
  color:#fff8f2;
}
.hero-tagline {
  margin-top:6px;
  font-size:clamp(13px,1.7vw,16px);
  font-style:italic;
  letter-spacing:.09em;
  color:#ffe6d8;
  border-top:1px solid rgba(255,250,245,.4);
  padding-top:6px;
  display:inline-block;
}
.overview-body {
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:18px;
  background:linear-gradient(180deg,var(--paper),var(--cream));
}
.player-shell {
  position:relative;
  width:100%;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--storm-deep);
  border:1px solid var(--line);
  transition:box-shadow .25s ease,background .25s ease;
}
.main-player {
  display:block;
  width:100%;
  height:auto;
  background:#000;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  background:linear-gradient(180deg,rgba(45,59,78,.92),rgba(29,39,53,.96));
}
.ctrl-btn {
  cursor:pointer;
  border:1px solid rgba(247,198,176,.35);
  background:rgba(247,198,176,.12);
  color:var(--peach-soft);
  font-size:12px;
  letter-spacing:.04em;
  border-radius:999px;
  padding:4px 11px;
  transition:background .16s ease,color .16s ease,border-color .16s ease;
  white-space:nowrap;
}
.ctrl-btn:hover {
  background:var(--peach);
  color:var(--storm-deep);
  border-color:var(--peach);
}
.ctrl-progress {
  flex:1 1 140px;
  min-width:80px;
  height:6px;
  border-radius:999px;
  appearance:none;
  background:rgba(247,198,176,.28);
  cursor:pointer;
}
.ctrl-progress::-webkit-slider-thumb {
  appearance:none;
  width:14px;height:14px;
  border-radius:50%;
  background:var(--peach);
  border:2px solid var(--storm-deep);
}
.ctrl-progress::-moz-range-thumb {
  width:12px;height:12px;border:none;
  border-radius:50%;
  background:var(--peach);
}
.ctrl-volume {
  flex:0 0 78px;
  height:6px;
  border-radius:999px;
  appearance:none;
  background:rgba(247,198,176,.28);
  cursor:pointer;
}
.ctrl-volume::-webkit-slider-thumb {
  appearance:none;
  width:12px;height:12px;border-radius:50%;
  background:var(--peach-soft);
}
.ctrl-volume::-moz-range-thumb {
  width:11px;height:11px;border:none;border-radius:50%;
  background:var(--peach-soft);
}
.ctrl-speed {
  border-radius:999px;
  background:rgba(247,198,176,.12);
  color:var(--peach-soft);
  border:1px solid rgba(247,198,176,.35);
  font-size:12px;
  padding:4px 8px;
  cursor:pointer;
}
.ctrl-speed option {color:var(--storm-deep)}
.player-shell.theater-mode {
  box-shadow:0 0 0 3px var(--peach-deep),0 22px 44px -20px rgba(29,39,53,.8);
}
.player-shell.lights-off {
  background:#05080d;
}
.player-shell.lights-off .player-controls {
  background:#05080d;
  border-top:1px solid rgba(247,198,176,.2);
}
.ctrl-btn.play {background:var(--peach);color:var(--storm-deep)}
.ctrl-btn.mute {opacity:.9}
.ctrl-btn.pip {opacity:.9}
.ctrl-btn.fullscreen {opacity:.9}
.ctrl-btn.theater {opacity:.9}
.ctrl-btn.light {opacity:.9}
.ctrl-btn.click {transform:translateY(1px)}
.ctrl-btn.change {background:var(--peach-deep);color:#fff}
.section-heading {
  font-size:16px;
  color:var(--wood-dark);
  letter-spacing:.12em;
  padding-left:12px;
  position:relative;
  margin-bottom:10px;
}
.section-heading::before {
  content:"";
  position:absolute;
  left:0;top:50%;
  transform:translateY(-50%);
  width:5px;height:15px;
  border-radius:3px;
  background:linear-gradient(180deg,var(--peach),var(--peach-deep));
}
.cast-section {width:100%}
.cast-row {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(88px,1fr));
  gap:8px;
}
.cast-card {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:8px 4px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  align-self:start;
  transition:transform .16s ease,border-color .16s ease;
}
.cast-card:hover {
  transform:translateY(-3px);
  border-color:var(--peach-deep);
}
.cast-avatar {
  width:52px;height:52px;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%,var(--peach-soft),var(--peach) 60%,var(--peach-deep));
  border:2px solid var(--paper);
  box-shadow:0 4px 10px -6px rgba(58,43,34,.7);
}
.cast-name {
  font-size:12.5px;
  color:var(--ink-soft);
  letter-spacing:.05em;
  text-align:center;
}
.synopsis-section {
  background:var(--peach-soft);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px 16px;
}
.synopsis-lead {
  font-size:14.5px;
  color:#5a3320;
  font-weight:600;
  letter-spacing:.02em;
  padding-bottom:8px;
  border-bottom:1px dashed var(--line);
}
.synopsis-body {
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:8px 20px;
}
.synopsis-para {
  font-size:13px;
  line-height:1.62;
  color:var(--ink-soft);
  letter-spacing:.01em;
}
.episode-status-section {
  background:linear-gradient(120deg,var(--storm) 0%,var(--storm-soft) 100%);
  border-radius:var(--radius);
  padding:12px 16px;
  color:var(--peach-soft);
}
.status-heading {
  color:#ffe6d8;
  margin-bottom:6px;
}
.status-heading::before {
  background:linear-gradient(180deg,var(--peach),#fff);
}
.status-line {
  font-size:14px;
  letter-spacing:.08em;
  color:#ffd9c6;
}
.details-section {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px 16px;
}
.details-table {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:2px 22px;
}
.detail-row {
  display:flex;
  gap:8px;
  align-items:baseline;
  padding:4px 0;
  border-bottom:1px dotted var(--line);
  font-size:12px;
}
.detail-key {
  flex:0 0 72px;
  color:var(--wood);
  letter-spacing:.08em;
}
.detail-value {
  color:var(--ink);
  letter-spacing:.02em;
}
.timeline-section {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
}
.timeline-list {
  position:relative;
  padding-left:22px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.timeline-list::before {
  content:"";
  position:absolute;
  left:7px;top:4px;bottom:4px;
  width:2px;
  border-radius:2px;
  background:linear-gradient(180deg,var(--peach),var(--wood-light) 60%,var(--storm-soft));
}
.timeline-item {
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 12px;
  padding:6px 10px;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
}
.timeline-node {
  position:absolute;
  left:-22px;
  top:12px;
  width:12px;height:12px;
  border-radius:50% 50% 50% 4px;
  transform:rotate(45deg);
  background:radial-gradient(circle at 35% 30%,#fff,var(--peach) 55%,var(--peach-deep));
  border:1.5px solid var(--wood-light);
  box-shadow:0 0 0 3px var(--paper);
}
.timeline-timecode {
  flex:0 0 56px;
  font-size:12px;
  font-weight:700;
  color:var(--wood-dark);
  letter-spacing:.06em;
}
.timeline-label {
  flex:1 1 200px;
  font-size:13px;
  color:var(--ink-soft);
  line-height:1.5;
}
.episodes-section {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
}
.episode-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.episode-card {
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:9px 11px;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  align-self:start;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.episode-card:hover {
  transform:translateY(-2px);
  border-color:var(--peach-deep);
  box-shadow:0 8px 16px -12px rgba(58,43,34,.7);
}
.episode-title {
  font-size:13px;
  color:var(--wood-dark);
  display:flex;
  flex-wrap:wrap;
  gap:0 6px;
  align-items:baseline;
  letter-spacing:.03em;
}
.episode-number {
  font-size:11px;
  color:var(--peach-deep);
  background:var(--peach-soft);
  border-radius:6px;
  padding:1px 5px;
  letter-spacing:.05em;
}
.episode-duration {
  font-size:11px;
  color:var(--wood-light);
  letter-spacing:.06em;
}
.episode-summary {
  font-size:12px;
  line-height:1.55;
  color:var(--ink-soft);
  letter-spacing:.01em;
}
.episode-card-cold {
  background:linear-gradient(160deg,#e6ecf3,#cfd9e5);
  border-color:rgba(45,59,78,.35);
}
.episode-card-cold .episode-title {color:var(--storm-deep)}
.episode-card-cold .episode-number {
  background:rgba(45,59,78,.16);
  color:var(--storm);
}
.episode-card-cold .episode-duration {color:var(--storm-soft)}
.episode-card-cold .episode-summary {color:#3c4b5e}
.comments-section {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
}
.comment-stack {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:0;
}
.comment-card {
  background:linear-gradient(180deg,#fffdfa,var(--peach-soft));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:12px 14px;
  margin:0 0 -10px;
  box-shadow:0 10px 20px -16px rgba(58,43,34,.7);
  position:relative;
  z-index:1;
  align-self:start;
}
.comment-card:nth-child(2) {z-index:2}
.comment-card:nth-child(3) {z-index:3}
.comment-card:nth-child(4) {z-index:4}
.comment-card:nth-child(5) {z-index:5}
.comment-card:nth-child(6) {z-index:6}
.comment-text {
  font-size:13px;
  line-height:1.6;
  color:var(--ink);
  letter-spacing:.01em;
}
.comment-nickname {
  margin-top:8px;
  font-size:11.5px;
  color:var(--wood);
  letter-spacing:.1em;
  text-align:right;
}
.comment-nickname::before {content:"— "}
.recommend-region {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
}
.recommend-row {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
a.recommend-card {
  display:flex;
  flex-direction:column;
  gap:5px;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:8px;
  color:var(--ink);
  text-decoration:none;
  align-self:start;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
a.recommend-card:hover {
  transform:translateY(-3px);
  border-color:var(--peach-deep);
  box-shadow:0 10px 20px -14px rgba(58,43,34,.75);
}
[data-runtime="recommendation"] img {
  width:100%;
  height:auto;
  aspect-ratio:16 / 10;
  object-fit:cover;
  border-radius:calc(var(--radius-sm) - 3px);
  background:var(--peach-soft);
}
.recommend-name {
  font-size:13px;
  font-weight:600;
  color:var(--wood-dark);
  letter-spacing:.04em;
}
.recommend-blurb {
  font-size:11.5px;
  line-height:1.5;
  color:var(--ink-soft);
  letter-spacing:.01em;
}
.recommend-region-1 {border-top:3px solid var(--peach)}
.recommend-region-2 {border-top:3px solid var(--wood-light)}
.recommend-region-3 {border-top:3px solid var(--storm-soft)}
.site-footer {
  background:linear-gradient(180deg,var(--wood-dark),var(--storm-deep));
  color:var(--peach-soft);
  margin-top:8px;
}
.footer-inner {
  max-width:1180px;
  margin:0 auto;
  padding:18px 18px 24px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
a.footer-link {
  font-size:13px;
  color:#ffd9c6;
  text-decoration:none;
  letter-spacing:.08em;
  border-bottom:1px solid transparent;
  padding-bottom:1px;
}
a.footer-link:hover {
  color:var(--peach);
  border-bottom-color:var(--peach);
}
.footer-disclaimer {
  font-size:11.5px;
  line-height:1.6;
  color:rgba(255,217,198,.72);
  letter-spacing:.02em;
  max-width:760px;
}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  padding-top:8px;
  border-top:1px solid rgba(247,198,176,.22);
}
.friend-links-label {
  font-size:11.5px;
  color:rgba(255,217,198,.6);
  letter-spacing:.12em;
}
a.runtime-friend-link {
  font-size:11.5px;
  color:rgba(255,217,198,.85);
  text-decoration:none;
  letter-spacing:.03em;
  border-radius:999px;
  padding:1px 8px;
  background:rgba(247,198,176,.08);
}
a.runtime-friend-link:hover {
  color:var(--storm-deep);
  background:var(--peach);
}
.progress {accent-color:var(--peach-deep)}
.volume {accent-color:var(--peach-deep)}
.speed {accent-color:var(--peach-deep)}
.play {accent-color:var(--peach-deep)}
.mute {accent-color:var(--peach-deep)}
.pip {accent-color:var(--peach-deep)}
.fullscreen {accent-color:var(--peach-deep)}
.theater {accent-color:var(--peach-deep)}
.light {accent-color:var(--peach-deep)}
.player {display:block}
.timeupdate {transition:width .1s linear}
.input {cursor:pointer}
.click {opacity:.85}
.change {background:var(--peach-deep)}
.theater-mode .main-player {box-shadow:inset 0 0 0 1px rgba(247,198,176,.4)}
.lights-off .ctrl-btn {border-color:rgba(247,198,176,.5)}
@media (max-width:900px){.episode-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-media {width:160px}}
@media (max-width:760px){.page-main {padding:12px 12px 32px;gap:18px}
.episode-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.synopsis-body {grid-template-columns:1fr}
.details-table {grid-template-columns:1fr}
.hero-caption {text-align:left;padding:12px 2px 2px}
.hero-backdrop {padding:14px}
.hero-media {width:132px}
.comment-stack {grid-template-columns:1fr}
.comment-card {margin-bottom:-6px}
.cast-row {grid-template-columns:repeat(auto-fit,minmax(76px,1fr))}
.ctrl-volume {flex:0 0 60px}}
@media (max-width:520px){.episode-grid {grid-template-columns:1fr}
.recommend-row {grid-template-columns:1fr}
.header-inner {padding:8px 12px}
.hero-media {width:110px}
.ctrl-btn {font-size:11px;padding:3px 9px}
.ctrl-progress {flex:1 1 100%}
.ctrl-volume {flex:1 1 100%}
.cast-avatar {width:44px;height:44px}}
@media (min-width:1024px){.recommend-region-1 .recommend-row {grid-template-columns:repeat(4,minmax(0,1fr))}
.recommend-region-2 .recommend-row {grid-template-columns:repeat(3,minmax(0,1fr))}
.recommend-region-3 .recommend-row {grid-template-columns:repeat(3,minmax(0,1fr))}
.comment-stack {grid-template-columns:repeat(3,minmax(0,1fr))}
.comment-card {margin:0 -6px -10px 0}}
@media (min-width:1180px){.player-controls {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}
