:root {
  --ink:#0d1117;
  --ink-2:#1a2029;
  --slate:#3c4757;
  --mist:#8b98a9;
  --fog:#c3ccd8;
  --paper:#eef1f5;
  --paper-2:#e2e7ee;
  --warm:#e8792a;
  --warm-2:#ff9d4d;
  --ember:#c2451a;
  --cold:#2f4a63;
  --line:rgba(13,17,23,.16);
  --shadow:0 10px 30px rgba(13,17,23,.28);
  --shadow-soft:0 4px 14px rgba(13,17,23,.16);
  --serif:Georgia,"Songti SC","Noto Serif SC","Source Han Serif SC",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
*, *::before, *::after {box-sizing:border-box;}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body {
  margin:0;
  font-family:var(--sans);
  font-size:13px;
  line-height:1.5;
  color:var(--ink);
  background:
    linear-gradient(180deg,#dfe4ec 0%,#cdd6e2 32%,#d8d3cd 68%,#e6d9cb 100%);
  background-attachment:fixed;
  letter-spacing:.01em;
}
img, video {display:block;max-width:100%;}
h1, h2, h3, p, dl, dd, dt, ol, ul {margin:0;padding:0;}
ol, ul {list-style:none;}
a {color:inherit;text-decoration:none;}
button, input {font:inherit;color:inherit;}
button {cursor:pointer;}
.site-header {
  position:sticky;
  top:0;
  z-index:60;
  background:linear-gradient(90deg,rgba(13,17,23,.96),rgba(47,74,99,.94) 60%,rgba(194,69,26,.55));
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(255,157,77,.35);
}
.header-inner {
  max-width:1180px;
  margin:0 auto;
  padding:8px 14px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
a[data-contract="site-name"] {
  font-family:var(--serif);
  font-size:16px;
  font-weight:700;
  letter-spacing:.14em;
  color:#f6e9dc;
  text-decoration:none;
  padding:2px 0;
  border-bottom:1px solid transparent;
  transition:color .2s,border-color .2s;
}
a[data-contract="site-name"]:hover {
  color:var(--warm-2);
  border-bottom-color:var(--warm-2);
}
.categories-bar {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  margin-left:auto;
}
a.runtime-category {
  display:inline-block;
  white-space:nowrap;
  font-size:11.5px;
  letter-spacing:.08em;
  color:#dbe3ee;
  text-decoration:none;
  padding:3px 9px;
  border:1px solid rgba(255,157,77,.4);
  border-radius:2px;
  background:rgba(255,255,255,.05);
  transition:background .18s,color .18s,border-color .18s;
}
a.runtime-category:hover {
  color:#1a1005;
  background:var(--warm-2);
  border-color:var(--warm-2);
}
.page-main {
  max-width:1180px;
  margin:0 auto;
  padding:14px 14px 0;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.hero-stage {
  display:grid;
  grid-template-columns:minmax(0,300px) minmax(0,1fr);
  gap:18px;
  align-items:start;
  position:relative;
}
.hero-portrait {
  position:relative;
  align-self:start;
}
.poster-frame {
  position:relative;
  border:1px solid rgba(13,17,23,.35);
  padding:6px 6px 0;
  background:linear-gradient(160deg,#f4efe9,#d9dfe8);
  box-shadow:var(--shadow);
}
.poster-frame::after {
  content:"";
  position:absolute;
  inset:6px 6px 0 6px;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}
.poster-frame img {
  width:100%;
  height:auto;
  object-fit:cover;
  display:block;
  filter:saturate(.92) contrast(1.05);
}
.poster-badge {
  display:block;
  margin:6px 0;
  padding:3px 6px;
  text-align:center;
  font-size:10.5px;
  letter-spacing:.28em;
  color:#f2e5d6;
  background:linear-gradient(90deg,var(--cold),var(--ember));
}
.floating-diary {
  position:absolute;
  right:-26px;
  bottom:38px;
  width:172px;
  padding:10px 12px;
  background:
    repeating-linear-gradient(180deg,rgba(47,74,99,.08) 0 1px,transparent 1px 18px),
    linear-gradient(150deg,#fbf6ef,#e8ecf2);
  border:1px solid rgba(13,17,23,.25);
  border-left:4px solid var(--warm);
  box-shadow:var(--shadow);
  transform:rotate(-3.2deg);
  z-index:5;
}
.diary-line {
  font-family:var(--serif);
  font-size:11.5px;
  line-height:1.7;
  letter-spacing:.12em;
  color:var(--cold);
}
.diary-line + .diary-line {
  color:var(--ember);
  letter-spacing:.3em;
  border-top:1px dashed rgba(194,69,26,.45);
  padding-top:4px;
  margin-top:4px;
}
.hero-copy {
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.movie-title {
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(26px,4.4vw,44px);
  line-height:1.05;
  letter-spacing:.06em;
  color:#131a22;
  text-shadow:0 1px 0 rgba(255,255,255,.6);
}
.movie-tagline {
  font-family:var(--serif);
  font-size:clamp(13px,1.7vw,17px);
  letter-spacing:.22em;
  color:#fdf6ee;
  background:linear-gradient(90deg,rgba(13,17,23,.92),rgba(194,69,26,.85) 55%,rgba(232,121,42,.6));
  padding:7px 12px;
  margin-top:-4px;
  align-self:flex-start;
  max-width:100%;
}
.movie-seo {
  font-size:11.5px;
  letter-spacing:.14em;
  color:var(--slate);
  border-left:2px solid var(--warm);
  padding-left:8px;
}
.player-shell {
  position:relative;
  width:100%;
  margin-top:2px;
  background:#0b0f14;
  border:1px solid rgba(13,17,23,.6);
  box-shadow:var(--shadow);
}
.player-shell video {
  display:block;
  width:100%;
  background:#000;
}
.player-controls {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  padding:6px 8px;
  background:linear-gradient(180deg,rgba(20,26,34,.96),rgba(11,15,20,.98));
  border-top:1px solid rgba(255,157,77,.3);
}
.ctl {
  font-size:11px;
  letter-spacing:.06em;
  color:#dce4ee;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.18);
  border-radius:2px;
  padding:3px 8px;
  transition:background .16s,color .16s,border-color .16s;
}
.ctl:hover {
  background:var(--warm);
  color:#1a0d04;
  border-color:var(--warm-2);
}
.ctl-progress {
  flex:1 1 140px;
  min-width:90px;
  height:14px;
  padding:0;
  background:transparent;
  accent-color:var(--warm);
  -webkit-appearance:none;
  appearance:none;
}
.ctl-progress::-webkit-slider-runnable-track {
  height:3px;
  background:linear-gradient(90deg,var(--warm),var(--cold));
  border-radius:2px;
}
.ctl-progress::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  width:10px;height:10px;
  margin-top:-3.5px;
  border-radius:50%;
  background:var(--warm-2);
  border:1px solid #1a1005;
}
.ctl-progress::-moz-range-track {
  height:3px;
  background:linear-gradient(90deg,var(--warm),var(--cold));
  border-radius:2px;
}
.ctl-progress::-moz-range-thumb {
  width:10px;height:10px;border:1px solid #1a1005;border-radius:50%;background:var(--warm-2);
}
.ctl-volume {
  flex:0 1 74px;
  min-width:56px;
  height:14px;
  padding:0;
  background:transparent;
  accent-color:var(--mist);
  -webkit-appearance:none;
  appearance:none;
}
.ctl-volume::-webkit-slider-runnable-track {height:3px;background:rgba(255,255,255,.35);border-radius:2px;}
.ctl-volume::-webkit-slider-thumb {-webkit-appearance:none;appearance:none;width:9px;height:9px;margin-top:-3px;border-radius:50%;background:var(--fog);}
.ctl-volume::-moz-range-track {height:3px;background:rgba(255,255,255,.35);border-radius:2px;}
.ctl-volume::-moz-range-thumb {width:9px;height:9px;border:0;border-radius:50%;background:var(--fog);}
.player-shell.is-playing .ctl-play {background:var(--cold);color:#f4f8ff;border-color:var(--cold);}
.player-shell.is-theater {
  position:fixed;
  inset:0;
  z-index:90;
  margin:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#05080c;
  border:0;
}
.player-shell.is-theater video {
  max-height:78vh;
  object-fit:contain;
}
.player-shell.is-light-off::after {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(3,5,9,.72);
  pointer-events:none;
  z-index:1;
}
.player-shell.is-light-off .player-controls {position:relative;z-index:2;}
.synopsis-block {
  background:linear-gradient(165deg,rgba(255,255,255,.72),rgba(226,231,238,.5));
  border:1px solid var(--line);
  border-left:3px solid var(--cold);
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.block-title {
  font-family:var(--serif);
  font-weight:400;
  font-size:15px;
  letter-spacing:.16em;
  color:var(--ink-2);
  padding-left:9px;
  position:relative;
}
.block-title::before {
  content:"";
  position:absolute;
  left:0;top:.32em;
  width:3px;height:.85em;
  background:linear-gradient(180deg,var(--warm),var(--cold));
}
.synopsis-para {
  font-size:12.5px;
  line-height:1.62;
  color:#2b333e;
  text-indent:2em;
}
.synopsis-para + .synopsis-para {border-top:1px dotted var(--line);padding-top:6px;}
.episode-status {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.status-chip {
  font-size:11px;
  letter-spacing:.1em;
  padding:3px 9px;
  color:#e8eef7;
  background:linear-gradient(90deg,var(--slate),var(--cold));
  border:1px solid rgba(13,17,23,.4);
}
.status-chip.status-current {
  color:#1c0e03;
  background:linear-gradient(90deg,var(--warm-2),var(--warm));
  border-color:var(--ember);
  font-weight:700;
}
.status-chip.status-score {
  color:var(--warm);
  background:rgba(255,255,255,.55);
  border-color:var(--warm);
  font-weight:700;
}
.cast-block {
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cast-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  align-items:start;
}
.cast-card {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:6px 6px 8px;
  background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(211,219,230,.45));
  border:1px solid var(--line);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.cast-avatar {
  width:100%;
  aspect-ratio:1 / 1;
  background:
    radial-gradient(circle at 50% 34%,rgba(255,255,255,.5) 0 20%,transparent 21%),
    linear-gradient(150deg,var(--cold),var(--slate) 55%,var(--ember));
  border:1px solid rgba(13,17,23,.35);
}
.cast-card:nth-child(2) .cast-avatar {background:linear-gradient(150deg,#4a5f76,#2f4a63 60%,#e8792a);}
.cast-card:nth-child(3) .cast-avatar {background:linear-gradient(150deg,#37424f,#5b6b7d 55%,#c2451a);}
.cast-card:nth-child(4) .cast-avatar {background:linear-gradient(150deg,#5a6b80,#3c4757 50%,#ff9d4d);}
.cast-card:nth-child(5) .cast-avatar {background:linear-gradient(150deg,#26303b,#4a5f76 55%,#e8792a);}
.cast-name {
  font-family:var(--serif);
  font-size:13px;
  letter-spacing:.1em;
  color:var(--ink-2);
}
.cast-role {
  font-size:10.5px;
  line-height:1.4;
  letter-spacing:.04em;
  color:#4a5563;
  border-top:1px solid var(--line);
  padding-top:3px;
}
.cast-card::after {
  content:"关系连线";
  position:absolute;
  left:6px;right:6px;bottom:100%;
  margin-bottom:4px;
  font-size:10px;
  letter-spacing:.2em;
  text-align:center;
  color:#fdf1e4;
  background:linear-gradient(90deg,var(--cold),var(--ember));
  padding:2px 0;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .2s,transform .2s;
  pointer-events:none;
}
.cast-card:hover {
  transform:translateY(-3px);
  border-color:var(--warm);
  box-shadow:var(--shadow-soft);
}
.cast-card:hover::after {opacity:1;transform:translateY(0);}
.details-block {
  display:flex;
  flex-direction:column;
  gap:8px;
}
.details-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--line);
}
.detail-row {
  display:flex;
  align-items:baseline;
  gap:6px;
  padding:5px 8px;
  border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);
}
.detail-row:nth-child(3n) {border-right:0;}
.detail-key {
  flex:0 0 4.6em;
  font-size:11px;
  letter-spacing:.08em;
  color:var(--mist);
}
.detail-value {
  font-size:12px;
  color:#232b35;
  font-weight:600;
}
.section-head {
  display:flex;
  align-items:baseline;
  gap:10px;
  padding-bottom:6px;
  margin-bottom:10px;
  border-bottom:2px solid rgba(13,17,23,.55);
  background:linear-gradient(90deg,rgba(255,255,255,.5),transparent 70%);
}
.section-count {
  margin-left:auto;
  font-size:11px;
  letter-spacing:.14em;
  color:#f4e8db;
  background:linear-gradient(90deg,var(--cold),var(--ember));
  padding:2px 8px;
  white-space:nowrap;
}
.timeline-section {
  padding-top:2px;
}
.timeline-scroll {
  overflow-x:auto;
  overflow-y:hidden;
  padding:14px 4px 18px;
  scrollbar-width:thin;
  scrollbar-color:var(--warm) rgba(13,17,23,.12);
}
.timeline-scroll::-webkit-scrollbar {height:7px;}
.timeline-scroll::-webkit-scrollbar-track {background:rgba(13,17,23,.1);}
.timeline-scroll::-webkit-scrollbar-thumb {background:linear-gradient(90deg,var(--cold),var(--warm));}
.timeline-track {
  display:flex;
  gap:14px;
  align-items:flex-start;
  min-width:max-content;
  padding:0 2px;
}
.timeline-card {
  position:relative;
  flex:0 0 auto;
  width:168px;
  height:200px;
  perspective:900px;
}
.timeline-card::before {
  content:"";
  position:absolute;
  top:50%;
  left:-14px;
  width:14px;
  height:1px;
  background:repeating-linear-gradient(90deg,var(--slate) 0 3px,transparent 3px 6px);
}
.timeline-card:first-child::before {display:none;}
.polaroid-face {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:8px;
  padding:10px 10px 14px;
  backface-visibility:hidden;
  transition:transform .5s;
  box-shadow:var(--shadow-soft);
}
.polaroid-front {
  background:linear-gradient(160deg,#fdfaf5,#e6ebf2);
  border:1px solid rgba(13,17,23,.3);
  border-bottom:22px solid #f6f3ee;
  transform:rotate(-1.4deg);
}
.polaroid-front::after {
  content:"";
  position:absolute;
  left:12px;right:12px;
  top:8px;
  height:96px;
  background:
    radial-gradient(circle at 40% 30%,rgba(255,255,255,.55),transparent 60%),
    linear-gradient(150deg,var(--cold),var(--slate) 55%,var(--ember));
  border:1px solid rgba(13,17,23,.3);
  z-index:-1;
}
.timeline-card:nth-child(even) .polaroid-front {transform:rotate(1.6deg);}
.timeline-card:nth-child(3n) .polaroid-front {transform:rotate(-2.4deg);}
.polaroid-timecode {
  font-size:10.5px;
  letter-spacing:.24em;
  color:var(--ember);
}
.polaroid-label {
  font-family:var(--serif);
  font-size:13px;
  line-height:1.45;
  letter-spacing:.06em;
  color:#1c2530;
}
.polaroid-back {
  align-items:center;
  justify-content:center;
  font-family:var(--serif);
  font-size:26px;
  letter-spacing:.1em;
  color:#fdf1e4;
  background:linear-gradient(150deg,var(--cold),var(--ember));
  border:1px solid rgba(13,17,23,.4);
  transform:rotateY(180deg);
}
.timeline-card:hover .polaroid-front {transform:rotateY(-180deg);}
.timeline-card:hover .polaroid-back {transform:rotateY(0deg);}
.episode-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  align-items:start;
}
.episode-item {
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:9px;
  align-items:start;
  padding:7px;
  background:rgba(255,255,255,.5);
  border:1px solid var(--line);
  border-left:2px solid transparent;
  transition:background .2s,border-color .2s,transform .2s;
}
.episode-item:hover {
  background:rgba(255,255,255,.82);
  border-left-color:var(--cold);
}
.episode-thumb {
  position:relative;
  aspect-ratio:16 / 10;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:4px;
  background:
    radial-gradient(circle at 70% 25%,rgba(255,157,77,.35),transparent 60%),
    linear-gradient(150deg,var(--cold),var(--slate) 60%,#202934);
  border:1px solid rgba(13,17,23,.35);
}
.thumb-index {
  font-size:10px;
  letter-spacing:.1em;
  color:#f7ece0;
  background:rgba(13,17,23,.62);
  padding:1px 5px;
}
.episode-text {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.episode-title {
  font-family:var(--serif);
  font-weight:400;
  font-size:13.5px;
  letter-spacing:.06em;
  color:var(--ink-2);
}
.episode-summary {
  font-size:11.5px;
  line-height:1.5;
  color:#4b5563;
}
.episode-meta {
  font-size:10.5px;
  letter-spacing:.12em;
  color:var(--mist);
  border-top:1px dotted var(--line);
  padding-top:2px;
}
.episode-item-current {
  grid-column:1 / -1;
  grid-template-columns:128px minmax(0,1fr);
  gap:14px;
  padding:10px 12px;
  background:linear-gradient(100deg,rgba(255,255,255,.9),rgba(255,224,199,.6));
  border:1px solid var(--warm);
  border-left:4px solid var(--ember);
  box-shadow:var(--shadow-soft);
  transform:none;
}
.episode-item-current .episode-title {
  font-size:19px;
  letter-spacing:.1em;
  color:var(--ember);
}
.episode-item-current .episode-summary {
  font-size:12.5px;
  line-height:1.58;
  color:#2c333d;
}
.episode-item-current .episode-meta {
  font-size:11px;
  color:var(--warm);
  letter-spacing:.2em;
}
.episode-item-current .episode-thumb {
  aspect-ratio:16 / 11;
  background:
    radial-gradient(circle at 68% 28%,rgba(255,157,77,.5),transparent 62%),
    linear-gradient(150deg,#3a2a20,var(--ember) 70%,var(--warm));
}
.comments-masonry {
  column-count:2;
  column-gap:10px;
}
.comment-card {
  break-inside:avoid;
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0 0 10px;
  padding:9px 11px;
  background:linear-gradient(165deg,rgba(255,255,255,.78),rgba(224,230,238,.45));
  border:1px solid var(--line);
  border-top:2px solid var(--cold);
  box-shadow:0 2px 8px rgba(13,17,23,.08);
}
.comment-text {
  font-size:12.5px;
  line-height:1.6;
  color:#252d38;
  text-indent:1.6em;
}
.comment-nickname {
  font-family:var(--serif);
  font-size:11px;
  letter-spacing:.16em;
  color:var(--warm);
  text-align:right;
  border-top:1px dotted var(--line);
  padding-top:4px;
}
.comment-nickname::before {content:"—— ";}
.comment-lead {
  padding:14px 16px;
  background:linear-gradient(150deg,rgba(255,246,238,.95),rgba(226,231,238,.7));
  border:1px solid var(--warm);
  border-top:3px solid var(--ember);
  box-shadow:var(--shadow-soft);
}
.comment-lead .comment-text {
  font-family:var(--serif);
  font-size:16px;
  line-height:1.6;
  color:#1d242e;
}
.comment-lead .comment-nickname {
  font-size:12.5px;
  letter-spacing:.24em;
  color:var(--ember);
}
.rec-section {
  padding-top:2px;
}
.rec-scroll {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(150px,1fr);
  gap:9px;
  overflow-x:auto;
  padding-bottom:8px;
  scrollbar-width:thin;
  scrollbar-color:var(--warm) rgba(13,17,23,.12);
}
.rec-scroll::-webkit-scrollbar {height:6px;}
.rec-scroll::-webkit-scrollbar-track {background:rgba(13,17,23,.1);}
.rec-scroll::-webkit-scrollbar-thumb {background:linear-gradient(90deg,var(--cold),var(--warm));}
a.rec-card {
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:6px;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(214,221,232,.45));
  border:1px solid var(--line);
  color:var(--ink-2);
  text-decoration:none;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
a.rec-card:hover {
  transform:translateY(-3px);
  border-color:var(--warm);
  box-shadow:var(--shadow-soft);
}
[data-runtime="recommendation"] img, .rec-pic {
  width:100%;
  height:auto;
  aspect-ratio:16 / 10;
  object-fit:cover;
  background:linear-gradient(150deg,var(--cold),var(--slate));
  border:1px solid rgba(13,17,23,.3);
}
.rec-name {
  font-family:var(--serif);
  font-size:12.5px;
  letter-spacing:.08em;
  color:#1c2530;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.rec-blurb {
  font-size:11px;
  line-height:1.5;
  color:#4d5765;
  border-top:1px dotted var(--line);
  padding-top:4px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.site-footer {
  margin-top:18px;
  padding:16px 14px 22px;
  background:linear-gradient(180deg,rgba(13,17,23,.94),rgba(26,32,41,.98));
  border-top:2px solid var(--warm);
  color:#c9d3e0;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-disclaimer {
  font-size:11px;
  line-height:1.7;
  letter-spacing:.04em;
  color:#9aa6b5;
  max-width:820px;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
  font-size:12px;
  letter-spacing:.14em;
  text-decoration:none;
}
a[data-contract="footer-home"] {
  color:#ffb173;
  border-bottom:1px solid rgba(255,157,77,.5);
}
a[data-contract="footer-home"]:hover {color:#fff0e2;border-bottom-color:#fff0e2;}
a[data-contract="footer-sitemap"] {
  color:#9fc0d8;
  border-bottom:1px solid rgba(159,192,216,.4);
}
a[data-contract="footer-sitemap"]:hover {color:#eaf4fb;border-bottom-color:#eaf4fb;}
.friend-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  padding-top:8px;
  border-top:1px solid rgba(255,157,77,.22);
}
.friend-links-label {
  font-size:11px;
  letter-spacing:.24em;
  color:var(--warm-2);
  padding-right:4px;
  border-right:1px solid rgba(255,157,77,.4);
}
a.runtime-friend-link {
  font-size:11px;
  letter-spacing:.06em;
  color:#93a2b3;
  text-decoration:none;
  white-space:nowrap;
  transition:color .16s;
}
a.runtime-friend-link:hover {color:var(--warm-2);text-decoration:underline;}
@media (max-width:960px){.hero-stage {grid-template-columns:minmax(0,240px) minmax(0,1fr);}
.cast-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
.details-list {grid-template-columns:repeat(2,minmax(0,1fr));}
.detail-row:nth-child(3n) {border-right:1px solid var(--line);}
.detail-row:nth-child(2n) {border-right:0;}}
@media (max-width:760px){.hero-stage {
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
.hero-portrait {max-width:300px;}
.floating-diary {right:auto;left:calc(100% - 130px);bottom:26px;width:150px;}
.episode-list {grid-template-columns:minmax(0,1fr);}
.episode-item-current {grid-template-columns:104px minmax(0,1fr);}
.comments-masonry {column-count:1;}
.rec-scroll {grid-auto-columns:minmax(160px,1fr);}}
@media (max-width:520px){body {font-size:12.5px;}
.header-inner {padding:7px 10px;gap:8px;}
.categories-bar {margin-left:0;width:100%;}
.page-main {padding:12px 10px 0;gap:14px;}
.cast-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.details-list {grid-template-columns:minmax(0,1fr);}
.detail-row {border-right:0;}
.hero-portrait {max-width:100%;}
.floating-diary {
    position:relative;
    left:auto;right:auto;bottom:auto;
    width:auto;
    margin-top:10px;
    transform:rotate(-1.6deg);
  }
.timeline-card {width:146px;height:184px;}
.episode-item, .episode-item-current {grid-template-columns:minmax(0,1fr);}
.episode-thumb {width:100%;}
.player-controls {gap:4px;padding:5px 6px;}
.ctl {font-size:10.5px;padding:3px 6px;}
.ctl-progress {flex-basis:100%;}
.comment-lead .comment-text {font-size:14.5px;}
.site-footer {padding:14px 10px 20px;}}

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}
