*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {font-family:"PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;background:#1a0a0d;color:#e8d5d0;line-height:1.5;font-size:15px;letter-spacing:.02em}
img, video {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
button {font:inherit;cursor:pointer;border:none;background:none;color:inherit}
dl, dd {margin:0}
header {display:flex;align-items:center;gap:1.2rem;padding:.6rem 1.2rem;background:#1a0a0d;border-bottom:1px solid #3a1a1f;position:sticky;top:0;z-index:50;flex-wrap:wrap}
header a[data-contract="site-name"] {font-size:1.3rem;font-weight:800;color:#00ff88;text-shadow:0 0 8px rgba(0,255,136,.3);letter-spacing:.05em;white-space:nowrap}
header a[data-contract="site-name"]:hover {color:#7affc4}
.categories-bar {display:flex;flex-wrap:wrap;gap:.3rem;flex:1;justify-content:flex-end;align-items:center}
.categories-bar .runtime-category {color:#c9a0a8;font-size:.8rem;padding:.2rem .5rem;border:1px solid #4a2a2f;border-radius:2rem;background:rgba(58,26,31,.4);transition:all .2s;white-space:nowrap}
.categories-bar .runtime-category:hover {color:#00ff88;border-color:#00ff88;background:rgba(0,255,136,.1)}
main {max-width:1400px;margin:0 auto;padding:0 1rem 2rem}
.movie-overview {display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding:1rem;margin:1rem 0;background:linear-gradient(145deg,#2a0f14,#1a0a0d 60%,#1d0f1f);border:1px solid #3a1a1f;border-radius:12px;position:relative;overflow:hidden}
.movie-overview::before {content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,0,80,.08),transparent 50%),radial-gradient(circle at 20% 80%,rgba(0,80,255,.06),transparent 50%);pointer-events:none}
.poster-player-wrap {display:grid;grid-template-columns:220px minmax(0,1fr);gap:1rem;align-items:start;position:relative;z-index:1}
.poster-column {width:220px}
.main-poster-img {width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:8px;border:1px solid #5a2a30;box-shadow:0 4px 20px rgba(0,0,0,.5);background:#2a0f14}
.player-wrapper {position:relative;min-width:0;background:#0d0507;border-radius:8px;overflow:hidden;border:1px solid #3a1a1f}
.player-video {width:100%;display:block;background:#000}
.custom-player-controls {display:flex;gap:.4rem;padding:.4rem .6rem;background:rgba(10,5,7,.9);flex-wrap:wrap;align-items:center;border-top:1px solid #3a1a1f}
.custom-player-controls button {font-size:.75rem;color:#c9a0a8;padding:.2rem .5rem;border:1px solid #4a2a2f;border-radius:.25rem;background:#2a0f14;transition:all .2s}
.custom-player-controls button:hover {color:#00ff88;border-color:#00ff88}
.title-tagline-block {padding:.8rem 0 0;position:relative;z-index:1}
.movie-title {font-size:1.8rem;font-weight:800;color:#ff2a55;text-shadow:0 0 12px rgba(255,42,85,.3);line-height:1.2;margin-bottom:.3rem;letter-spacing:.03em}
.movie-tagline {font-size:1rem;color:#00ff88;font-style:italic;opacity:.9;letter-spacing:.08em}
.synopsis-fragment, .cast-fragment, .episode-status-fragment, .details-fragment {padding:.8rem 0;border-top:1px solid #3a1a1f;margin-top:.6rem;position:relative;z-index:1}
.synopsis-fragment h2, .cast-fragment h2, .details-fragment h2 {font-size:1.1rem;color:#ff2a55;margin-bottom:.6rem;font-weight:700;display:flex;align-items:center;gap:.5rem}
.synopsis-fragment h2::before, .cast-fragment h2::before, .details-fragment h2::before {content:"";width:4px;height:1.2em;background:#00ff88;display:inline-block}
.synopsis-para {color:#d8c4c0;margin-bottom:.6rem;text-align:left;font-size:.95rem;line-height:1.7;text-indent:0;max-width:80ch}
.synopsis-para:last-child {margin-bottom:0}
.cast-scroll-wrap {display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem}
.cast-card {background:rgba(42,15,20,.6);border:1px solid #4a2a2f;border-radius:8px;padding:.6rem;text-align:center;transition:all .2s}
.cast-card:hover {border-color:#00ff88;transform:translateY(-2px)}
.cast-photo {aspect-ratio:3/4;background:linear-gradient(135deg,#3a2a2e,#2a1a1e);border-radius:4px;margin-bottom:.4rem;filter:grayscale(100%);opacity:.7}
.cast-name {font-size:.9rem;color:#e8d5d0;font-weight:500}
.episode-status-fragment {display:flex;gap:1rem;align-items:center}
.episode-current {background:#ff2a55;color:#fff;padding:.25rem .8rem;border-radius:2rem;font-size:.85rem;font-weight:600}
.episode-total {background:#2a0f14;border:1px solid #4a2a2f;color:#c9a0a8;padding:.25rem .8rem;border-radius:2rem;font-size:.85rem}
.details-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.4rem .8rem}
.details-grid>div {display:flex;gap:.4rem;padding:.3rem 0;border-bottom:1px solid rgba(58,26,31,.5)}
.details-grid dt {color:#00ff88;font-size:.85rem;white-space:nowrap}
.details-grid dd {color:#e8d5d0;font-size:.85rem}
.timeline-fragment {padding:1.5rem 1rem;margin:1rem 0;background:linear-gradient(180deg,#1a0a0d,#0d1a1a);border:1px solid #3a1a1f;border-radius:12px}
.timeline-fragment h2 {font-size:1.2rem;color:#ff2a55;margin-bottom:1rem;text-align:center;font-weight:700}
.timeline-list {position:relative;padding-left:2rem;max-width:800px;margin:0 auto}
.timeline-list::before {content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#ff2a55,#00ff88)}
.timeline-item {position:relative;padding-bottom:1rem;display:flex;gap:.8rem;align-items:flex-start}
.timeline-item:last-child {padding-bottom:0}
.time-marker {position:absolute;left:-2rem;top:.2rem;width:18px;height:18px;border-radius:50%;background:#1a0a0d;border:3px solid #00ff88;box-shadow:0 0 8px rgba(0,255,136,.5);z-index:1}
.time-content {color:#d8c4c0;font-size:.9rem;line-height:1.6;padding-left:.5rem}
.timecode {color:#ff2a55;font-weight:700;font-size:.95rem}
.episodes-fragment {padding:1.5rem 1rem;margin:1rem 0;background:linear-gradient(145deg,#1d0f1f,#1a0a0d);border:1px solid #3a1a1f;border-radius:12px}
.episodes-fragment h2 {font-size:1.2rem;color:#ff2a55;margin-bottom:1rem;font-weight:700}
.episode-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem}
.episode-card {background:rgba(42,15,20,.5);border:1px solid #4a2a2f;border-radius:8px;padding:.7rem;display:flex;flex-direction:column;gap:.3rem;transition:all .2s;cursor:pointer}
.episode-card:hover {border-color:#00ff88;background:rgba(0,255,136,.05)}
.episode-num {font-size:1.5rem;font-weight:800;color:#ff2a55;opacity:.8;line-height:1}
.episode-title {font-size:.95rem;color:#e8d5d0;font-weight:600}
.episode-duration {font-size:.75rem;color:#00ff88}
.episode-summary {font-size:.8rem;color:#c9a0a8;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.comments-fragment {padding:1.5rem 1rem;margin:1rem 0;background:linear-gradient(145deg,#0d1a1a,#1a0a0d);border:1px solid #3a1a1f;border-radius:12px}
.comments-fragment h2 {font-size:1.2rem;color:#ff2a55;margin-bottom:1rem;font-weight:700}
.comment-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.comment-card {background:rgba(42,15,20,.4);border:1px solid #4a2a2f;border-radius:12px;padding:.8rem 1rem;position:relative}
.comment-card::before {content:"";position:absolute;top:-8px;left:1rem;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:8px solid #4a2a2f}
.comment-nick {display:block;color:#00ff88;font-size:.9rem;font-weight:600;margin-bottom:.4rem}
.comment-text {color:#d8c4c0;font-size:.85rem;line-height:1.5}
.recommendation-region {padding:1.5rem 1rem;margin:1rem 0;background:linear-gradient(145deg,#1a0a0d,#1d0f1f);border:1px solid #3a1a1f;border-radius:12px}
.recommendation-region h2 {font-size:1.1rem;color:#ff2a55;margin-bottom:1rem;font-weight:700}
.recommendation-list {display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.rec-item {display:flex;flex-direction:column;gap:.4rem;background:rgba(42,15,20,.5);border:1px solid #4a2a2f;border-radius:8px;padding:.6rem;transition:all .2s}
.rec-item:hover {border-color:#00ff88;transform:translateY(-2px)}
.rec-item img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:4px;background:#2a0f14}
.rec-item span[data-runtime="name"] {color:#e8d5d0;font-size:.9rem;font-weight:600}
.rec-item span[data-runtime="blurb"] {color:#c9a0a8;font-size:.75rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
footer {background:#1a0a0d;border-top:1px solid #3a1a1f;padding:1rem 1.2rem;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:center;font-size:.85rem;color:#c9a0a8}
.disclaimer {flex-basis:100%;text-align:center;color:#8a6a70;font-size:.75rem;line-height:1.5}
.footer-link {color:#00ff88;padding:.2rem .6rem;border:1px solid #3a1a1f;border-radius:.25rem;transition:all .2s}
.footer-link:hover {background:rgba(0,255,136,.1);border-color:#00ff88}
.friend-links {display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:center;flex-basis:100%}
.friend-links-label {color:#8a6a70;font-size:.8rem}
.runtime-friend-link {color:#c9a0a8;font-size:.8rem;padding:.1rem .4rem;border-bottom:1px solid #3a1a1f;transition:all .2s}
.runtime-friend-link:hover {color:#00ff88;border-color:#00ff88}
.player-wrapper.theater-mode {max-width:1200px;margin:0 auto}
body.lights-off {background:#0a0507}
body.lights-off .movie-overview, body.lights-off .timeline-fragment, body.lights-off .episodes-fragment, body.lights-off .comments-fragment, body.lights-off .recommendation-region {background:#0d0507;border-color:#1a0a0d}
body.lights-off .custom-player-controls {background:#000}
@media(max-width:1024px){.poster-player-wrap {grid-template-columns:180px minmax(0,1fr)}
.poster-column {width:180px}
.recommendation-list {grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){header {flex-direction:column;align-items:flex-start;gap:.4rem}
.categories-bar {justify-content:flex-start;width:100%}
.poster-player-wrap {grid-template-columns:1fr}
.poster-column {width:100%;max-width:280px;margin:0 auto}
.main-poster-img {aspect-ratio:2/3}
.player-wrapper {min-width:0}
.movie-title {font-size:1.4rem}
.comment-grid {grid-template-columns:1fr}
.recommendation-list {grid-template-columns:repeat(2,1fr)}
.timeline-list {padding-left:1.5rem}
.time-marker {left:-1.5rem;width:14px;height:14px}
.details-grid {grid-template-columns:repeat(2,1fr)}
.cast-scroll-wrap {grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
.episode-grid {grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
@media(max-width:480px){main {padding:0 .4rem 1rem}
.movie-overview {padding:.6rem}
.poster-player-wrap {grid-template-columns:1fr;gap:.6rem}
.poster-column {max-width:200px}
.recommendation-list {grid-template-columns:1fr}
.episode-grid {grid-template-columns:1fr}
.details-grid {grid-template-columns:1fr}
.cast-scroll-wrap {grid-template-columns:repeat(2,1fr)}
.timeline-list {padding-left:1.2rem}
.time-marker {left:-1.2rem;width:12px;height:12px}
.movie-title {font-size:1.1rem}
.movie-tagline {font-size:.85rem}
.custom-player-controls {flex-wrap:wrap}
.custom-player-controls button {font-size:.7rem;padding:.15rem .35rem}
.comment-grid {grid-template-columns:1fr}
.friend-links {flex-direction:column;align-items:center}
.footer-link {font-size:.8rem}
.runtime-friend-link {font-size:.75rem}}
.play, .progress, .volume, .mute, .speed, .pip, .fullscreen, .theater, .light {color:#c9a0a8}
.player-wrapper.theater-mode .player-video {max-height:80vh}
.player-wrapper.theater-mode .custom-player-controls {position:sticky;bottom:0}
.player-wrapper {min-width:100%}
.poster-player-wrap {grid-template-columns:minmax(0,220px) minmax(0,1fr)}
@media(max-width:600px){.poster-player-wrap {grid-template-columns:1fr}
.player-wrapper {min-width:100%}}
a[data-contract="site-name"] {color:#00ff88;text-decoration:none}
a.runtime-category {color:#c9a0a8;text-decoration:none}
a.rec-item {color:inherit;text-decoration:none}
a[data-contract="footer-home"] {color:#00ff88;text-decoration:none}
a[data-contract="footer-sitemap"] {color:#00ff88;text-decoration:none}
a.runtime-friend-link {color:#c9a0a8;text-decoration:none}
.movie-overview>* {min-width:0}
.poster-player-wrap>* {min-width:0}
.recommendation-list>* {min-width:0}
.episode-grid>* {min-width:0}
.comment-grid>* {min-width:0}
.timeline-item {min-width:0}
.cast-scroll-wrap>* {min-width:0}
.details-grid>* {min-width:0}

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}
