*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {font-family:"PingFang SC","Microsoft YaHei","Heiti SC",sans-serif;background:#1a1e26;color:#c8ccd4;line-height:1.5;font-size:14px}
a {color:inherit;text-decoration:none}
a[data-contract="site-name"] {color:#e83a4a;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
a[data-contract="site-name"]:hover {color:#ff6b7a}
a.runtime-category {color:#9aa3b2;text-decoration:none;white-space:nowrap;font-size:13px;padding:.25em .5em;border-radius:2px;transition:color .2s,background .2s}
a.runtime-category:hover {color:#ff6b7a;background:rgba(232,58,74,.08)}
a[data-runtime="recommendation"] {color:#e8ecf2;text-decoration:none;display:flex;flex-direction:column;gap:.5em;font-size:13px;transition:transform .2s,box-shadow .2s}
a[data-runtime="recommendation"]:hover {transform:translateY(-3px);color:#ff6b7a}
a[data-contract="footer-home"] {color:#8a93a3;text-decoration:none;font-size:12px;padding:.3em .6em;border:1px solid #2e3542;border-radius:3px;transition:all .2s}
a[data-contract="footer-home"]:hover {color:#ff6b7a;border-color:#e83a4a}
a[data-contract="footer-sitemap"] {color:#8a93a3;text-decoration:none;font-size:12px;padding:.3em .6em;border:1px solid #2e3542;border-radius:3px;transition:all .2s}
a[data-contract="footer-sitemap"]:hover {color:#ff6b7a;border-color:#e83a4a}
a.runtime-friend-link {color:#6b7482;text-decoration:none;font-size:12px;white-space:nowrap}
a.runtime-friend-link:hover {color:#ff6b7a;text-decoration:underline}
.header-inner {background:#14171d;border-bottom:1px solid #2e3542;padding:.6em 1.2em;display:flex;align-items:center;gap:1.2em;position:sticky;top:0;z-index:100;flex-wrap:wrap}
.site-brand {font-size:1.25em;letter-spacing:.1em;flex-shrink:0}
.categories-bar {display:flex;flex-wrap:wrap;gap:.15em;flex:1;justify-content:flex-end;padding:.2em 0}
.movie-overview {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2em;padding:1.5em 1.2em;max-width:1400px;margin:0 auto;background:linear-gradient(180deg,#1e222b 0%,#252a35 100%);border-bottom:1px solid #2e3542}
.hero-media {grid-column:1 / -1;display:grid;grid-template-columns:minmax(300px,2fr) minmax(480px,3fr);gap:1.5em;align-items:start;background:#1a1e26;padding:1em;border-radius:6px;border:1px solid #2e3542}
.poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.5);filter:saturate(.85) contrast(1.05)}
.player-wrap {min-width:0;background:#0c0e12;border-radius:6px;overflow:hidden;position:relative;border:1px solid #2e3542}
.player-wrap video {display:block;background:#000}
.player-controls {display:flex;gap:.2em;padding:.4em .6em;background:#14171d;border-top:1px solid #2e3542;flex-wrap:wrap}
.player-controls button {background:#1e222b;color:#c8ccd4;border:1px solid #2e3542;border-radius:3px;padding:.3em .6em;font-size:12px;cursor:pointer;line-height:1}
.player-controls button:hover {background:#2e3542;color:#ff6b7a}
.player-wrap.theater-mode video {aspect-ratio:16/9}
.player-wrap.lights-off {background:#000}
.player-wrap.lights-off .player-controls {opacity:.4}
.title-block {grid-column:1 / -1;padding:.4em 0 .2em;border-bottom:1px solid #2e3542}
.movie-title {font-size:1.6em;font-weight:800;color:#e8ecf2;letter-spacing:.05em;text-shadow:2px 2px 0 rgba(232,58,74,.3),0 0 20px rgba(232,58,74,.2)}
.tagline {color:#ff6b7a;font-size:.95em;margin-top:.4em;font-weight:300;letter-spacing:.15em}
.synopsis {grid-column:1;font-size:.88em;color:#9aa3b2;display:flex;flex-direction:column;gap:.7em;padding:1em;background:rgba(30,34,43,.6);border-radius:4px;border-left:3px solid #e83a4a}
.synopsis p {text-align:justify}
.cast-grid {grid-column:2;padding:1em;background:rgba(30,34,43,.6);border-radius:4px}
.section-label {font-size:.8em;font-weight:700;color:#e83a4a;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.8em;border-bottom:2px solid rgba(232,58,74,.3);padding-bottom:.3em}
.actor-list {display:grid;grid-template-columns:repeat(3,1fr);gap:.5em}
.actor-item {padding:.4em .2em;border-bottom:1px dashed rgba(154,163,178,.2);font-size:.85em}
.actor-item::before {content:"●";color:#e83a4a;font-size:.6em;vertical-align:middle;margin-right:.4em}
.actor-name {color:#e8ecf2;font-weight:500}
.episode-status {grid-column:1;display:flex;gap:1em;align-items:center;padding:.6em 1em;background:#14171d;border-radius:4px;border:1px solid #2e3542;align-self:end}
.episode-current {color:#ff6b7a;font-weight:700;font-size:.9em}
.episode-total {color:#6b7482;font-size:.8em;background:#2e3542;padding:.2em .6em;border-radius:3px}
.movie-details {grid-column:2;align-self:end}
.detail-list {display:grid;grid-template-columns:repeat(4,1fr);gap:.4em .8em;font-size:.78em;background:rgba(30,34,43,.6);padding:.8em;border-radius:4px}
.detail-list div {display:flex;gap:.4em;align-items:baseline}
.detail-list dt {color:#6b7482;flex-shrink:0}
.detail-list dd {color:#c8ccd4}
.timeline-section {padding:1.5em 1.2em;max-width:1400px;margin:0 auto;background:#14171d;border-bottom:1px solid #2e3542}
.section-heading {font-size:1.2em;font-weight:800;color:#e8ecf2;letter-spacing:.1em;margin-bottom:1em;display:flex;align-items:center;gap:.6em}
.section-heading::before {content:"";display:inline-block;width:4px;height:1.2em;background:#e83a4a;box-shadow:0 0 8px rgba(232,58,74,.6)}
.timeline-scroll {overflow-x:auto;padding-bottom:.5em}
.timeline-track {display:flex;gap:1.5em;min-width:max-content;position:relative;padding:1em 0}
.timeline-track::before {content:"";position:absolute;top:50%;left:0;right:0;height:3px;background:linear-gradient(90deg,#e83a4a,#ff6b7a,#e83a4a);box-shadow:0 0 12px rgba(232,58,74,.5)}
.timeline-item {display:flex;flex-direction:column;gap:.3em;padding:0 1em;position:relative;background:#1a1e26;border:1px solid #2e3542;border-radius:4px;min-width:140px;text-align:center;transition:transform .2s}
.timeline-item::before {content:"";position:absolute;top:-.9em;left:50%;transform:translateX(-50%);width:12px;height:12px;background:#ff6b7a;border-radius:50%;box-shadow:0 0 8px rgba(255,107,122,.8)}
.timeline-item:hover {transform:translateY(-4px);border-color:#e83a4a}
.timecode {color:#e83a4a;font-weight:700;font-size:.85em;letter-spacing:.1em}
.label {color:#9aa3b2;font-size:.8em;line-height:1.3}
.episodes-section {padding:1.5em 1.2em;max-width:1400px;margin:0 auto}
.episode-list {display:grid;grid-template-columns:repeat(3,1fr);gap:.8em}
.episode-card {display:flex;gap:.8em;padding:.8em;background:#1e222b;border-left:3px solid #2e3542;border-radius:0 4px 4px 0;transition:border-color .2s,background .2s;align-items:flex-start}
.episode-card:hover {border-left-color:#e83a4a;background:#252a35}
.episode-number {font-size:1.4em;font-weight:800;color:#2e3542;line-height:1;min-width:1.2em;text-align:center;text-shadow:0 0 10px rgba(232,58,74,.3)}
.episode-card:hover .episode-number {color:#e83a4a}
.episode-info {display:flex;flex-direction:column;gap:.3em}
.episode-info h3 {font-size:1em;color:#e8ecf2;font-weight:700}
.episode-info p {font-size:.78em;color:#8a93a3;line-height:1.4}
.duration {font-size:.7em;color:#6b7482;background:#14171d;padding:.15em .5em;border-radius:2px;align-self:flex-start}
.comments-section {padding:1.5em 1.2em;max-width:1400px;margin:0 auto;background:#14171d;border-top:1px solid #2e3542;border-bottom:1px solid #2e3542}
.comment-wall {column-count:3;column-gap:1em}
.comment-card {break-inside:avoid;background:#1e222b;padding:.8em 1em;margin-bottom:1em;border-radius:4px;border:1px solid #2e3542;font-size:.82em;display:flex;flex-direction:column;gap:.4em}
.comment-card:nth-child(odd) {background:#1a1e26}
.comment-card:nth-child(even) {background:#232833}
.comment-user {color:#ff6b7a;font-weight:700;font-size:.85em}
.comment-user::before {content:"“";font-size:1.4em;color:#e83a4a;line-height:0;vertical-align:-.15em;margin-right:.2em}
.comment-card p {color:#9aa3b2;line-height:1.5}
.recommend-region {padding:1.5em 1.2em;max-width:1400px;margin:0 auto}
.rec-title {font-size:1.1em;font-weight:800;color:#e8ecf2;letter-spacing:.1em;margin-bottom:1em;display:flex;align-items:center;gap:.6em}
.rec-title::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,#e83a4a,transparent)}
.rec-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1em}
a[data-runtime="recommendation"] img {width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.4);filter:grayscale(30%) contrast(1.05)}
a[data-runtime="recommendation"]:hover img {filter:grayscale(0%) contrast(1.1);box-shadow:0 6px 20px rgba(232,58,74,.3)}
a[data-runtime="recommendation"] [data-runtime="name"] {font-weight:700;font-size:.95em;color:#e8ecf2}
a[data-runtime="recommendation"]:hover [data-runtime="name"] {color:#ff6b7a}
a[data-runtime="recommendation"] [data-runtime="blurb"] {font-size:.78em;color:#8a93a3;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.footer-contract {background:#14171d;border-top:1px solid #2e3542;padding:1.8em 1.2em;display:grid;grid-template-columns:1fr auto;gap:1.5em;align-items:start}
.footer-contract p[data-contract="disclaimer"] {font-size:.75em;color:#6b7482;max-width:60ch;line-height:1.6}
.footer-nav {display:flex;gap:.6em;justify-content:flex-end}
.friend-links {grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.3em .8em;align-items:center;padding-top:1em;border-top:1px solid #2e3542}
.friend-label {color:#e83a4a;font-size:.8em;font-weight:700;letter-spacing:.1em;margin-right:.4em;white-space:nowrap}
@media (max-width:1100px){.hero-media {grid-template-columns:1fr;min-width:0}
.player-wrap {width:100%;min-width:0}
.movie-overview {grid-template-columns:1fr}
.synopsis, .cast-grid, .episode-status, .movie-details {grid-column:1}
.episode-list {grid-template-columns:repeat(2,1fr)}
.comment-wall {column-count:2}}
@media (max-width:768px){body {font-size:13px}
.header-inner {flex-direction:column;align-items:flex-start;gap:.5em;padding:.6em}
.categories-bar {justify-content:flex-start;width:100%}
.movie-overview {padding:1em}
.hero-media {padding:.6em}
.movie-title {font-size:1.3em}
.episode-list {grid-template-columns:1fr}
.comment-wall {column-count:1}
.detail-list {grid-template-columns:repeat(2,1fr)}
.actor-list {grid-template-columns:repeat(2,1fr)}
.footer-contract {grid-template-columns:1fr}
.footer-nav {justify-content:flex-start}
.rec-row {grid-template-columns:1fr}
a[data-runtime="recommendation"] img {aspect-ratio:16/9}
.timeline-scroll {overflow-x:auto}
.timeline-track {min-width:max-content}}
@media (max-width:480px){.player-wrap {min-width:0;width:100%}
.player-controls button {padding:.2em .4em;font-size:11px}
.movie-title {font-size:1.1em}
.tagline {font-size:.85em}
.synopsis {font-size:.82em}
.episode-list {grid-template-columns:1fr}
.detail-list {grid-template-columns:1fr 1fr}
.actor-list {grid-template-columns:1fr 1fr}
.comment-wall {column-count:1}
.rec-row {grid-template-columns:1fr}
a[data-runtime="recommendation"] img {aspect-ratio:16/9}
.footer-contract {padding:1em}
.friend-links {gap:.2em .6em}
.timeline-track {gap:.8em}
.timeline-item {min-width:120px;padding:.5em}
.episode-status {flex-direction:column;align-items:flex-start;gap:.3em}
.categories-bar {gap:.1em}
a.runtime-category {font-size:12px;padding:.15em .3em}}

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}
