*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;background:#0a0e1a;color:#c8d0e0;line-height:1.5;font-size:14px;letter-spacing:.02em;min-height:100vh}
.lights-off body {background:#05070d}
.lights-off .movie-hero, .lights-off .timeline-section, .lights-off .episodes-section, .lights-off .comments-section, .lights-off .recommend-block, .lights-off footer {opacity:.35;filter:brightness(.6);transition:opacity .3s,filter .3s}
header {display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:linear-gradient(180deg,#0d1322 0%,#0a0e1a 100%);border-bottom:1px solid #1a2336;position:sticky;top:0;z-index:50;backdrop-filter:blur(8px)}
a[data-contract="site-name"] {font-size:20px;font-weight:800;color:#e8c56a;text-decoration:none;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}
a[data-contract="site-name"]:hover {color:#f0d88a}
nav[data-contract="categories"] {display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
nav[data-contract="categories"]::-webkit-scrollbar {display:none}
a.runtime-category {display:inline-block;padding:5px 14px;border:1px solid #2a3650;border-radius:20px;color:#9fb0cc;font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;transition:all .2s;background:rgba(20,28,48,.6)}
a.runtime-category:hover {border-color:#e8c56a;color:#e8c56a;background:rgba(232,197,106,.08)}
main {max-width:1440px;margin:0 auto;padding:0 20px 40px}
.movie-hero {display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;padding:36px 28px 28px;background:linear-gradient(135deg,#0e1526 0%,#111a2e 50%,#0c1322 100%);border:1px solid #1e2a42;border-radius:4px;position:relative;overflow:hidden;margin-top:20px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.movie-hero::before {content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,#e8c56a 20%,#2a5f8a 80%,transparent)}
.poster-shell {position:relative;align-self:start}
.main-poster-img {width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:2px;box-shadow:0 12px 40px rgba(0,0,0,.6);border:1px solid #2a3650;display:block}
.poster-shell::after {content:"";position:absolute;inset:auto -12px -12px auto;width:60px;height:60px;background:linear-gradient(135deg,transparent 50%,#e8c56a 50%);opacity:.4;pointer-events:none}
.overview-content {display:flex;flex-direction:column;gap:16px;min-width:0;position:relative}
.movie-title {font-size:clamp(22px,3vw,32px);font-weight:800;color:#f0f4fa;letter-spacing:.04em;line-height:1.2;padding-bottom:6px;border-bottom:1px solid #2a3650}
.tagline {font-size:14px;color:#e8c56a;font-style:italic;letter-spacing:.1em;font-weight:500;margin-top:-8px}
.detail-meta {background:rgba(15,22,40,.6);border-left:2px solid #2a5f8a;padding:12px 16px}
.meta-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:10px 20px}
.meta-item {display:flex;gap:6px;font-size:13px;align-items:baseline}
.meta-item dt {color:#6b7f9e;font-weight:500;min-width:3em}
.meta-item dd {color:#dce4f0;font-weight:600}
.synopsis-block {padding:0 4px}
.synopsis-block p {font-size:13.5px;line-height:1.7;color:#a8b6cc;margin-bottom:10px;text-align:justify}
.synopsis-block p:last-child {margin-bottom:0}
.cast-list {margin-top:4px}
.section-subtitle {font-size:16px;font-weight:700;color:#e8c56a;letter-spacing:.06em;margin-bottom:10px;display:flex;align-items:center;gap:10px}
.section-subtitle::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,#2a3650,transparent)}
.cast-row {list-style:none;display:flex;gap:14px;flex-wrap:wrap}
.cast-card {padding:8px 18px;background:rgba(20,28,48,.8);border:1px solid #2a3650;border-radius:3px;transition:all .2s;cursor:default}
.cast-card:hover {border-color:#e8c56a;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.4)}
.actor-name {font-size:14px;font-weight:600;color:#dce4f0;letter-spacing:.04em}
.episode-status {margin-top:6px;padding-top:14px;border-top:1px dashed #2a3650}
.episode-indicator {display:flex;align-items:baseline;gap:8px;margin-bottom:12px}
.current-ep {font-size:16px;font-weight:800;color:#e8c56a}
.total-ep {font-size:13px;color:#6b7f9e}
.player-wrapper {width:100%;max-width:none;min-width:480px;background:#05070d;border:1px solid #1e2a42;border-radius:4px;overflow:hidden;margin-bottom:10px}
.detail-player {display:block;background:#000}
.player-controls {display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.player-controls button {background:rgba(20,28,48,.8);border:1px solid #2a3650;color:#9fb0cc;font-size:12px;padding:5px 12px;border-radius:3px;cursor:pointer;transition:all .2s;font-family:inherit}
.player-controls button:hover {border-color:#e8c56a;color:#e8c56a;background:rgba(232,197,106,.06)}
.timeline-section {padding:32px 0 8px}
.section-title {font-size:20px;font-weight:800;color:#f0f4fa;letter-spacing:.06em;margin-bottom:16px;display:flex;align-items:center;gap:12px}
.section-title::before {content:"";width:4px;height:22px;background:#e8c56a;display:inline-block;border-radius:2px}
.section-title::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,#2a3650,transparent)}
.timeline-scroll {display:flex;gap:16px;overflow-x:auto;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:#2a5f8a #0a0e1a;align-items:stretch}
.timeline-scroll::-webkit-scrollbar {height:6px}
.timeline-scroll::-webkit-scrollbar-track {background:#0a0e1a}
.timeline-scroll::-webkit-scrollbar-thumb {background:#2a5f8a;border-radius:3px}
.timeline-item {flex:0 0 auto;width:180px;padding:16px 14px;background:linear-gradient(160deg,#111a2e 0%,#0c1322 100%);border:1px solid #1e2a42;border-radius:4px;position:relative;transition:transform .2s,border-color .2s;display:flex;flex-direction:column;gap:10px}
.timeline-item:hover {transform:translateY(-3px);border-color:#2a5f8a}
.timeline-item::before {content:"";position:absolute;top:0;left:0;width:0;height:0;border-top:18px solid #e8c56a;border-right:18px solid transparent;opacity:.5}
.timecode {font-size:11px;color:#2a5f8a;font-weight:600;letter-spacing:.04em;font-family:monospace}
.timeline-label {font-size:13px;color:#c8d0e0;line-height:1.5;flex:1}
.episodes-section {padding:24px 0 8px}
.episode-card-list {display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.episode-card {background:linear-gradient(165deg,#111a2e 0%,#0d1526 100%);border:1px solid #1e2a42;border-left:3px solid #2a5f8a;border-radius:4px;padding:18px 16px;display:flex;flex-direction:column;gap:8px;transition:all .2s}
.episode-card:hover {border-left-color:#e8c56a;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.4)}
.ep-number {font-size:12px;font-weight:700;color:#e8c56a;letter-spacing:.06em}
.ep-title {font-size:16px;font-weight:700;color:#f0f4fa;line-height:1.3}
.ep-summary {font-size:13px;color:#9fb0cc;line-height:1.6;flex:1}
.ep-duration {font-size:11px;color:#6b7f9e;align-self:flex-end;padding-top:6px;border-top:1px solid #1e2a42;width:100%;text-align:right}
.comments-section {padding:24px 0 8px}
.comment-masonry {columns:3;column-gap:16px}
.comment-card {break-inside:avoid;background:rgba(15,22,40,.7);border:1px solid #1e2a42;border-radius:4px;padding:14px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s}
.comment-card:hover {border-color:#2a5f8a}
.comment-nick {font-size:12px;font-weight:700;color:#e8c56a;letter-spacing:.04em}
.comment-text {font-size:13px;color:#c8d0e0;line-height:1.6}
.recommend-block {padding:28px 0 8px}
.recommend-block:not(:first-of-type) {border-top:1px solid #1a2336}
.recommend-title {font-size:18px;font-weight:800;color:#f0f4fa;letter-spacing:.08em;margin-bottom:16px;padding-left:14px;border-left:3px solid #e8c56a}
.recommend-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.recommend-grid a[data-runtime="recommendation"] {display:flex;flex-direction:column;background:linear-gradient(170deg,#111a2e 0%,#0b1120 100%);border:1px solid #1e2a42;border-radius:4px;overflow:hidden;text-decoration:none;transition:all .2s;height:fit-content}
.recommend-grid a[data-runtime="recommendation"]:hover {border-color:#2a5f8a;transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.5)}
.recommend-grid a[data-runtime="recommendation"] img {width:100%;height:140px;object-fit:cover;object-position:center;display:block;background:#1a2336}
.recommend-grid a[data-runtime="recommendation"] span[data-runtime="name"] {font-size:14px;font-weight:700;color:#f0f4fa;padding:10px 12px 2px;letter-spacing:.03em}
.recommend-grid a[data-runtime="recommendation"] span[data-runtime="blurb"] {font-size:12px;color:#8b9cbb;padding:0 12px 12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
footer {background:linear-gradient(0deg,#0a0e1a,#0d1322);border-top:1px solid #1a2336;padding:28px 28px 24px;margin-top:32px}
.disclaimer {font-size:12px;color:#5a6c8a;line-height:1.6;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #1a2336;text-align:center}
.footer-nav {display:flex;justify-content:center;gap:24px;margin-bottom:16px}
.footer-nav a {font-size:13px;color:#9fb0cc;text-decoration:none;transition:color .2s;padding:4px 8px}
.footer-nav a:hover {color:#e8c56a}
.friend-links {display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:center}
.friend-label {font-size:12px;color:#6b7f9e}
.runtime-friend-link {font-size:12px;color:#7d90b0;text-decoration:none;transition:color .2s;padding:2px 4px}
.runtime-friend-link:hover {color:#e8c56a}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#9fb0cc;text-decoration:none;font-weight:500;letter-spacing:.04em;transition:color .2s}
.a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#e8c56a}
@media (max-width:1200px){.meta-grid {grid-template-columns:repeat(3,1fr)}
.recommend-grid {grid-template-columns:repeat(3,1fr)}
.comment-masonry {columns:2}}
@media (max-width:992px){.movie-hero {grid-template-columns:240px minmax(0,1fr);gap:24px;padding:24px 18px}
.player-wrapper {min-width:480px}
.episode-card-list {grid-template-columns:1fr 1fr}
.recommend-grid {grid-template-columns:repeat(2,1fr)}
.meta-grid {grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){header {padding:10px 14px;flex-direction:column;align-items:flex-start;gap:8px}
nav[data-contract="categories"] {width:100%}
.movie-hero {grid-template-columns:1fr;padding:16px 14px}
.poster-shell {max-width:240px;margin:0 auto}
.overview-content {width:100%}
.player-wrapper {min-width:0;width:100%}
.meta-grid {grid-template-columns:1fr 1fr}
.episode-card-list {grid-template-columns:1fr}
.comment-masonry {columns:1}
.recommend-grid {grid-template-columns:1fr 1fr}
.timeline-scroll {gap:12px}}
@media (max-width:480px){main {padding:0 10px 24px}
.movie-hero {padding:12px 10px}
.poster-shell {max-width:180px}
.cast-row {gap:8px}
.cast-card {padding:6px 12px}
.recommend-grid {grid-template-columns:1fr}
.recommend-grid a[data-runtime="recommendation"] img {height:200px}
.player-controls {gap:5px}
.player-controls button {padding:4px 8px;font-size:11px}}
.player.theater-mode .detail-player {aspect-ratio:16/9;width:100%}
.player.fullscreen .detail-player {object-fit:contain}
.player.pip .detail-player {object-fit:contain}
.player.mute .detail-player {opacity:.9}
.player.light .detail-player {filter:brightness(1.1)}
.player.speed .detail-player {filter:saturate(1.2)}
.player.progress .detail-player {filter:contrast(1.05)}
.player.play .detail-player {filter:none}
.player.pause .detail-player {filter:grayscale(.2)}
.player.volume .detail-player {filter:brightness(1.05)}
.player.click .detail-player {transform:scale(.99)}
@media (max-width:600px){.player-wrapper {min-width:0}
.episode-status {min-width:0}
.overview-content {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}
