:root {--bg:#0d1319;--bg-2:#111a22;--bg-3:#16212b;--line:#233240;--line-soft:#1b2833;--ink:#c8d5de;--ink-dim:#7f92a0;--ink-faint:#5a6c7a;--accent:#3fe0d0;--amber:#e8a94b;--indigo:#2a3d55;--silver:#cfe0ea;--radius:2px;--pad:14px;--gap:10px;--font:"Helvetica Neue",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
*, *::before, *::after {box-sizing:border-box}
html {-webkit-text-size-adjust:100%}
body {margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:13px;line-height:1.42;font-stretch:condensed;letter-spacing:.01em}
h1, h2, h3, p, dl, dd, dt, ul, ol, li {margin:0;padding:0}
ul, ol {list-style:none}
img, video {display:block;max-width:100%}
a {color:var(--ink);text-decoration:none}
button, input {font:inherit;color:inherit}
.page-shell {width:100%;max-width:1180px;margin:0 auto;padding:0 14px}
.page-main {display:flex;flex-direction:column}
.site-header {border-bottom:1px solid var(--line);background:linear-gradient(180deg,#0a1015,#0d1319)}
.header-inner {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 0}
.site-brand {font-size:15px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--silver);white-space:nowrap}
a[data-contract="site-name"] {color:var(--silver);text-decoration:none;transition:color .18s}
a[data-contract="site-name"]:hover {color:var(--accent)}
.categories-bar {display:flex;flex-wrap:wrap;gap:6px;align-items:center}
a.runtime-category {display:inline-block;white-space:nowrap;font-size:11.5px;letter-spacing:.14em;padding:3px 9px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-dim);background:var(--bg-2);text-decoration:none;transition:color .18s,border-color .18s,background .18s}
a.runtime-category:hover {color:var(--accent);border-color:#2f5a5c;background:var(--bg-3)}
.hero-panel {position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap);padding:16px 0 14px;border-bottom:1px solid var(--line)}
.hero-visual {position:relative;min-width:0}
.hero-backdrop {position:relative;overflow:hidden;background:radial-gradient(120% 90% at 22% 12%,#1a2b38 0%,#0c1218 62%,#080c10 100%);border:1px solid var(--line-soft);border-radius:var(--radius);min-height:0}
.moon-arc-field {position:absolute;inset:0;pointer-events:none;overflow:hidden}
.moon-arc {position:absolute;left:50%;top:64%;width:190%;aspect-ratio:1 / 1;border:1px solid transparent;border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg);border-top-color:rgba(207,224,234,.16);border-right-color:rgba(42,61,85,.42);opacity:.85}
.moon-arc:nth-child(1) {width:44%;border-top-color:rgba(207,224,234,.26)}
.moon-arc:nth-child(2) {width:52%}
.moon-arc:nth-child(3) {width:60%}
.moon-arc:nth-child(4) {width:68%}
.moon-arc:nth-child(5) {width:76%}
.moon-arc:nth-child(6) {width:84%}
.moon-arc:nth-child(7) {width:92%;border-top-color:rgba(120,160,200,.2)}
.moon-arc:nth-child(8) {width:100%}
.moon-arc:nth-child(9) {width:110%;border-top-color:rgba(80,120,170,.18)}
.moon-arc:nth-child(10) {width:120%}
.moon-arc:nth-child(11) {width:130%;border-top-color:rgba(60,95,145,.15)}
.moon-arc:nth-child(12) {width:140%;border-top-color:rgba(42,61,85,.5)}
.poster-frame {position:relative;width:min(60%,240px);margin:0;padding:0;z-index:1}
.poster-frame img {display:block;width:100%;height:auto;aspect-ratio:9 / 16;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);filter:saturate(.82) contrast(1.04)}
.hero-lead {display:flex;flex-direction:column;gap:9px;min-width:0}
.hero-kicker {font-size:10.5px;letter-spacing:.3em;color:var(--accent);text-transform:uppercase}
.hero-title {font-size:24px;font-weight:800;letter-spacing:.24em;color:#e6f0f6;line-height:1.16}
.hero-tagline {font-size:12px;letter-spacing:.16em;color:var(--ink-dim);padding-bottom:8px;border-bottom:1px solid var(--line-soft)}
.actor-chip-list {display:flex;flex-wrap:wrap;gap:5px}
.actor-chip {display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius);font-size:11px;line-height:1.3}
.chip-moon {width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:linear-gradient(90deg,var(--silver) 0 50%,#26374a 50% 100%);box-shadow:0 0 4px rgba(207,224,234,.35)}
.chip-name {color:var(--ink);letter-spacing:.06em}
.chip-role {color:var(--ink-faint);font-size:10px;letter-spacing:.06em}
.player-shell {position:relative;width:100%;min-width:0;background:#070b0f;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.player-shell video {display:block;width:100%;aspect-ratio:16 / 9;background:#000;object-fit:cover}
.player-shell.player-shell-theater {box-shadow:0 0 0 1px #2f5a5c,0 10px 34px rgba(0,0,0,.6)}
.player-shell.player-shell-lights-off {filter:brightness(.72) contrast(1.05)}
.player-controls {display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 8px;background:var(--bg-2);border-top:1px solid var(--line-soft)}
.player-btn {appearance:none;cursor:pointer;font-size:11px;letter-spacing:.08em;padding:3px 9px;background:var(--bg-3);color:var(--ink-dim);border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;transition:color .16s,border-color .16s,background .16s}
.player-btn:hover {color:var(--silver);border-color:#35526a;background:#1a2733}
.player-btn.play, .player-btn.playing {color:var(--accent);border-color:#2f5a5c}
.player-btn.player-btn-muted {color:var(--amber);border-color:#5a4423}
.player-btn.fullscreen, .player-btn.pip, .player-btn.theater, .player-btn.light {color:var(--ink-faint)}
.player-range {appearance:none;height:3px;flex:1 1 90px;min-width:70px;background:linear-gradient(90deg,#2b4453,#1a2630);border-radius:2px;cursor:pointer;outline:none}
.player-range::-webkit-slider-thumb {appearance:none;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 5px rgba(63,224,208,.6)}
.player-range::-moz-range-thumb {width:9px;height:9px;border:0;border-radius:50%;background:var(--accent)}
.player-range.progress {background:linear-gradient(90deg,var(--accent) 0 var(--fill,0%),#1a2630 var(--fill,0%) 100%)}
.overview-body {display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.block-heading {font-size:12px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--silver);padding:0 0 6px;margin-bottom:9px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.block-heading::before {content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:linear-gradient(90deg,var(--silver) 50%,#24384c 50%);box-shadow:0 0 5px rgba(207,224,234,.3)}
.synopsis-block, .episode-status-block, .details-block, .cast-block {padding:11px 0;border-bottom:1px solid var(--line-soft);min-width:0}
.synopsis-columns {columns:2;column-gap:20px;column-rule:1px solid var(--line-soft)}
.synopsis-para {margin:0 0 .45em;font-size:12.5px;line-height:1.5;color:var(--ink);break-inside:avoid}
.synopsis-seo {margin-top:8px;padding-top:7px;border-top:1px dashed var(--line-soft);font-size:11px;line-height:1.45;color:var(--ink-faint)}
.status-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.status-cell {display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:7px 9px;background:var(--bg-2)}
.status-value {font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--silver);line-height:1.1}
.status-value-accent {color:var(--accent);text-shadow:0 0 8px rgba(63,224,208,.4)}
.status-label {font-size:10px;letter-spacing:.16em;color:var(--ink-faint);text-transform:uppercase}
.details-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.detail-row {display:flex;align-items:baseline;gap:8px;padding:5px 9px;background:var(--bg-2);min-width:0}
.detail-key {flex:0 0 52px;font-size:10.5px;letter-spacing:.12em;color:var(--ink-faint)}
.detail-value {flex:1 1 auto;min-width:0;font-size:12px;color:var(--ink);letter-spacing:.02em}
.cast-block .block-heading {margin-bottom:8px}
.cast-rail {display:flex;gap:8px;overflow-x:auto;padding-bottom:7px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.cast-rail::-webkit-scrollbar {height:5px}
.cast-rail::-webkit-scrollbar-track {background:var(--bg-3)}
.cast-rail::-webkit-scrollbar-thumb {background:#2c4258;border-radius:3px}
.cast-card {position:relative;flex:0 0 168px;width:168px;scroll-snap-align:start;padding:9px 10px 10px;background:linear-gradient(180deg,var(--bg-2),#0f1821);border:1px solid var(--line-soft);border-radius:var(--radius)}
.cast-moon {display:block;width:11px;height:11px;margin-bottom:6px;border-radius:50%;background:linear-gradient(90deg,var(--silver) 0 50%,#24384c 50% 100%);box-shadow:0 0 6px rgba(207,224,234,.3)}
.cast-name {font-size:12.5px;font-weight:700;letter-spacing:.14em;color:var(--silver);margin-bottom:4px}
.cast-note {font-size:11px;line-height:1.42;color:var(--ink-dim)}
.timeline-section {padding:13px 0;border-bottom:1px solid var(--line);min-width:0}
.timeline-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.timeline-item {display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:7px;padding:7px 9px;background:var(--bg-2);min-width:0}
.timeline-moon {font-size:11px;line-height:1;color:var(--silver);opacity:.7}
.timeline-timecode {font-size:10px;letter-spacing:.14em;color:var(--ink-faint);white-space:nowrap}
.timeline-label {font-size:12px;line-height:1.4;color:var(--ink-dim);min-width:0}
.timeline-item-current {background:linear-gradient(90deg,rgba(63,224,208,.1),var(--bg-2) 70%);box-shadow:inset 2px 0 0 var(--accent)}
.timeline-item-current .timeline-moon {color:var(--accent);opacity:1;text-shadow:0 0 7px rgba(63,224,208,.65)}
.timeline-item-current .timeline-timecode {color:var(--accent)}
.timeline-item-current .timeline-label {color:var(--silver)}
.episodes-section {padding:13px 0;border-bottom:1px solid var(--line);min-width:0}
.episode-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.episode-card {position:relative;padding:8px 10px 9px;background:var(--bg-2);cursor:pointer;min-width:0;transition:background .18s}
.episode-card:hover {background:var(--bg-3)}
.episode-title {display:flex;align-items:baseline;gap:6px;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--silver);line-height:1.3}
.episode-number {flex:0 0 auto;font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--ink-faint);padding:1px 5px;border:1px solid var(--line);border-radius:var(--radius)}
.episode-summary {margin-top:5px;font-size:11px;line-height:1.42;color:var(--ink-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.episode-duration {max-height:0;overflow:hidden;margin:0;font-size:10px;letter-spacing:.14em;color:var(--accent);opacity:0;transition:max-height .22s ease,opacity .22s ease,margin .22s ease}
.episode-card-expanded {background:var(--bg-3);box-shadow:inset 2px 0 0 var(--accent)}
.episode-card-expanded .episode-summary {-webkit-line-clamp:unset;overflow:visible}
.episode-card-expanded .episode-duration {max-height:24px;opacity:1;margin-top:5px}
.episode-card-current {background:linear-gradient(180deg,rgba(63,224,208,.09),var(--bg-2) 72%)}
.episode-card-current .episode-number {color:var(--accent);border-color:#2f5a5c}
.episode-card-current .episode-title {color:#e6f0f6}
.comments-section {padding:13px 0;border-bottom:1px solid var(--line);min-width:0}
.comment-masonry {columns:2;column-gap:10px}
.comment-card {position:relative;break-inside:avoid;margin:0 0 10px;padding:9px 10px 10px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius)}
.comment-card:nth-child(even) {background:linear-gradient(180deg,#111b24,#0e161e)}
.comment-moon {position:absolute;top:9px;right:10px;width:9px;height:9px;border-radius:50%;background:linear-gradient(90deg,var(--silver) 0 50%,#24384c 50% 100%);opacity:.5}
.comment-nickname {font-size:11.5px;font-weight:700;letter-spacing:.1em;color:var(--silver);margin-bottom:4px;padding-right:16px}
.comment-text {font-size:11.5px;line-height:1.45;color:var(--ink-dim)}
.rec-region {padding:12px 0;border-bottom:1px solid var(--line-soft);min-width:0}
.rec-region:last-of-type {border-bottom:0}
.rec-row {display:grid;gap:8px;align-items:start}
.rec-row-4 {grid-template-columns:repeat(4,minmax(0,1fr))}
.rec-row-3 {grid-template-columns:repeat(3,minmax(0,1fr))}
.rec-card {display:flex;flex-direction:column;gap:5px;padding:6px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius);min-width:0;transition:border-color .18s,background .18s,transform .18s}
a.rec-card {color:var(--ink);text-decoration:none}
a.rec-card:hover {border-color:#2f5a5c;background:var(--bg-3);transform:translateY(-1px)}
[data-runtime="recommendation"] img {display:block;width:100%;aspect-ratio:16 / 9;height:auto;object-fit:cover;border-radius:var(--radius);background:#0a1117;filter:saturate(.85)}
.rec-name {font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--silver);line-height:1.34;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rec-blurb {font-size:10.5px;line-height:1.4;color:var(--ink-faint);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rec-region-1 .rec-card {background:linear-gradient(180deg,#121c25,#0e161e)}
.rec-region-2 .rec-card {background:linear-gradient(180deg,#0f1821,#0d141b)}
.rec-region-3 .rec-card {background:linear-gradient(180deg,#111a23,#0e161e)}
.site-footer {border-top:1px solid var(--line);background:linear-gradient(180deg,#0b1116,#090e12);margin-top:4px}
.footer-inner {display:flex;flex-direction:column;gap:8px;padding:12px 0 16px}
.footer-nav {display:flex;flex-wrap:wrap;gap:14px}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {font-size:11px;letter-spacing:.16em;color:var(--ink-dim);text-decoration:none;border-bottom:1px solid transparent;transition:color .18s,border-color .18s}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:var(--accent);border-bottom-color:#2f5a5c}
.friend-links {display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.friend-links-label {font-size:10px;letter-spacing:.2em;color:var(--ink-faint);text-transform:uppercase}
a.runtime-friend-link {font-size:11px;color:var(--ink-faint);text-decoration:none;transition:color .18s}
a.runtime-friend-link:hover {color:var(--silver);text-decoration:underline}
.footer-disclaimer {font-size:10.5px;line-height:1.5;color:#465663;max-width:70ch}
@media (min-width:760px){.page-shell {padding:0 20px}
.hero-panel {grid-template-columns:minmax(0,300px) minmax(0,1fr);grid-template-areas:"visual lead" "body body";gap:14px 18px;padding:20px 0 16px}
.hero-visual {grid-area:visual}
.hero-lead {grid-area:lead}
.overview-body {grid-area:body;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0 20px;align-items:start}
.synopsis-block {grid-column:1;grid-row:1 / span 3}
.episode-status-block {grid-column:2;grid-row:1}
.details-block {grid-column:2;grid-row:2}
.cast-block {grid-column:2;grid-row:3}
.hero-title {font-size:30px}
.poster-frame {width:min(78%,260px)}
.details-list {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.page-shell {padding:0 24px}
.hero-panel {grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:16px 22px}
.hero-title {font-size:35px;letter-spacing:.26em}
.overview-body {grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0 24px}
.cast-card {flex:0 0 190px;width:190px}
.comment-masonry {columns:2}}
@media (max-width:759px){.synopsis-columns {columns:1;column-rule:0}
.details-list {grid-template-columns:1fr}
.timeline-list {grid-template-columns:1fr}
.episode-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.rec-row-4, .rec-row-3 {grid-template-columns:repeat(2,minmax(0,1fr))}
.comment-masonry {columns:1}
.status-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:479px){body {font-size:12.5px}
.page-shell {padding:0 11px}
.hero-title {font-size:21px;letter-spacing:.18em}
.poster-frame {width:min(66%,200px)}
.episode-grid {grid-template-columns:1fr}
.rec-row-4, .rec-row-3 {grid-template-columns:1fr}
.player-controls {gap:5px;padding:6px}
.player-btn {font-size:10.5px;padding:3px 7px}
.player-range {flex:1 1 100%}
.cast-card {flex:0 0 150px;width:150px}
.footer-disclaimer {max-width: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}
