*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {font-size:16px;scroll-behavior:smooth}
body {font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:#fdf6ec;color:#1c2b3a;line-height:1.5}
img, video {display:block;max-width:100%}
ul {list-style:none}
a {text-decoration:none;color:inherit}
button {font:inherit;background:none;border:none;cursor:pointer;color:inherit}
progress {display:block}
header {background:#1c2b3a;position:sticky;top:0;z-index:100}
.header-shell {max-width:1400px;margin:0 auto;padding:0.75rem 1.25rem;display:flex;align-items:center;gap:2rem}
.site-brand {font-size:1.25rem;font-weight:800;color:#ff7a1a;letter-spacing:0.02em;white-space:nowrap}
.site-brand:hover {color:#ff9a4d}
.categories-nav {display:flex;flex-wrap:wrap;gap:0.5rem;flex:1;justify-content:flex-end}
.runtime-category {display:inline-block;padding:0.35rem 0.85rem;background:#2a3d52;color:#fdf6ec;border-radius:999px;font-size:0.85rem;font-weight:500;white-space:nowrap;transition:background 0.2s,color 0.2s}
.runtime-category:hover {background:#ff7a1a;color:#1c2b3a}
main {max-width:1400px;margin:0 auto;padding:1.25rem}
.movie-overview {background:#ffffff;border-radius:1.25rem;box-shadow:0 4px 20px rgba(28,43,58,0.08);overflow:hidden;margin-bottom:2rem}
.hero-layout {display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:1.5rem;padding:1.5rem}
.poster-column {min-width:0}
.poster-wrapper {border-radius:0.75rem;overflow:hidden;box-shadow:0 2px 12px rgba(28,43,58,0.15)}
.main-poster {width:100%;aspect-ratio:2/3;object-fit:cover}
.info-column {min-width:0;display:flex;flex-direction:column;gap:1.25rem}
.movie-title {font-size:1.75rem;font-weight:800;color:#1c2b3a;line-height:1.3}
.tagline {font-size:1rem;color:#ff7a1a;font-weight:600;background:#fff3e6;display:inline-block;padding:0.25rem 0.75rem;border-radius:999px;align-self:flex-start}
.module-heading {font-size:1.1rem;font-weight:700;color:#1c2b3a;border-bottom:3px solid #ff7a1a;padding-bottom:0.25rem;margin-bottom:0.75rem;display:inline-block}
.cast-module, .synopsis-module, .episode-status-module, .details-module {background:#fdf6ec;border-radius:0.75rem;padding:1rem}
.cast-card-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0.75rem}
.actor-card {background:#ffffff;border-radius:0.75rem;padding:0.75rem;text-align:center;box-shadow:0 1px 4px rgba(28,43,58,0.08)}
.actor-name {font-weight:600;font-size:0.95rem;color:#2a3d52}
.synopsis-paragraph {font-size:0.92rem;line-height:1.7;color:#3a4d5e;margin-bottom:0.75rem}
.synopsis-paragraph:last-child {margin-bottom:0}
.status-row {display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
.status-label {font-size:0.85rem;font-weight:600;color:#ff7a1a;background:#fff3e6;padding:0.2rem 0.6rem;border-radius:999px}
.status-value {font-size:1.25rem;font-weight:800;color:#1c2b3a;margin-right:1rem}
.details-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0.5rem}
.details-list li {display:flex;gap:0.5rem;align-items:baseline;background:#ffffff;padding:0.4rem 0.75rem;border-radius:0.5rem}
.detail-term {font-size:0.8rem;font-weight:600;color:#ff7a1a;white-space:nowrap}
.detail-value {font-size:0.9rem;color:#2a3d52;font-weight:500}
.player-region {background:#1c2b3a;padding:1.5rem;border-top:4px solid #ff7a1a}
.player-region video {border-radius:0.5rem;background:#000}
.player-controls {display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.75rem;align-items:center}
.ctrl-btn {background:#2a3d52;color:#fdf6ec;padding:0.4rem 0.9rem;border-radius:999px;font-size:0.8rem;font-weight:500;transition:background 0.2s}
.ctrl-btn:hover {background:#ff7a1a;color:#1c2b3a}
.ctrl-progress {flex:1;min-width:120px;height:0.5rem;border-radius:999px;background:#2a3d52;accent-color:#ff7a1a}
.player-region.theater-mode {max-width:none;background:#111}
.timeline-section, .episodes-section, .comments-section, .recommendation-region {margin-bottom:2.5rem}
.section-heading {font-size:1.5rem;font-weight:800;color:#1c2b3a;margin-bottom:1rem;display:inline-block;border-bottom:4px solid #ff7a1a;padding-bottom:0.25rem}
.timeline-scroll {display:flex;gap:1rem;overflow-x:auto;padding:0.5rem 0.5rem 1rem;scroll-snap-type:x mandatory}
.timeline-item {flex:0 0 auto;width:220px;background:#ffffff;border-radius:0.75rem;padding:1rem;box-shadow:0 2px 8px rgba(28,43,58,0.08);border-left:4px solid #ff7a1a;scroll-snap-align:start}
.timecode {display:block;font-size:1.1rem;font-weight:800;color:#ff7a1a;margin-bottom:0.5rem;font-variant-numeric:tabular-nums}
.time-label {font-size:0.85rem;color:#3a4d5e;line-height:1.5}
.episode-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.episode-row {background:#ffffff;border-radius:0.75rem;padding:1rem;display:flex;gap:0.75rem;box-shadow:0 1px 6px rgba(28,43,58,0.06)}
.episode-number {font-size:1.5rem;font-weight:800;color:#ff7a1a;line-height:1;min-width:2rem}
.episode-info {display:flex;flex-direction:column;gap:0.35rem}
.episode-title {font-size:1rem;font-weight:700;color:#1c2b3a}
.episode-summary {font-size:0.85rem;color:#3a4d5e;line-height:1.5}
.episode-duration {font-size:0.75rem;color:#ff7a1a;font-weight:600;background:#fff3e6;padding:0.15rem 0.5rem;border-radius:999px;align-self:flex-start}
.comments-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.comment-card {background:#ffffff;border-radius:0.75rem;padding:1rem;box-shadow:0 1px 6px rgba(28,43,58,0.06);border-top:4px solid #ff7a1a}
.comment-nick {display:block;font-size:0.9rem;font-weight:700;color:#2a3d52;margin-bottom:0.5rem}
.comment-text {font-size:0.85rem;color:#3a4d5e;line-height:1.6}
.recommendation-region {background:#fff3e6;border-radius:1rem;padding:1.25rem}
.reco-heading {font-size:1.25rem;font-weight:800;color:#1c2b3a;margin-bottom:1rem}
.reco-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
a[data-runtime="recommendation"] {background:#ffffff;border-radius:0.75rem;overflow:hidden;box-shadow:0 2px 8px rgba(28,43,58,0.08);display:flex;flex-direction:column;transition:transform 0.2s,box-shadow 0.2s}
a[data-runtime="recommendation"]:hover {transform:translateY(-3px);box-shadow:0 4px 16px rgba(28,43,58,0.15)}
a[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/9;object-fit:cover;background:#e8e0d6}
a[data-runtime="recommendation"] [data-runtime="name"] {font-size:0.95rem;font-weight:700;color:#1c2b3a;padding:0.5rem 0.75rem 0.25rem}
a[data-runtime="recommendation"] [data-runtime="blurb"] {font-size:0.8rem;color:#3a4d5e;padding:0 0.75rem 0.75rem;line-height:1.4}
.footer-links {display:flex;gap:1.5rem;justify-content:center;padding:1.5rem 1rem 0}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#ff7a1a;font-size:0.9rem;font-weight:600;padding:0.3rem 0.75rem;border-radius:999px;background:#fff3e6;transition:background 0.2s,color 0.2s}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {background:#ff7a1a;color:#1c2b3a}
footer {background:#1c2b3a;color:#fdf6ec;padding-bottom:2rem;margin-top:2rem}
footer nav {display:flex;flex-wrap:wrap;gap:0.5rem 1rem;justify-content:center;padding:1rem}
.friend-label {font-size:0.85rem;font-weight:600;color:#ff9a4d}
.runtime-friend-link {font-size:0.85rem;color:#c9d4de;transition:color 0.2s}
.runtime-friend-link:hover {color:#ff7a1a}
.disclaimer {text-align:center;font-size:0.75rem;color:#8fa3b5;padding:0 1rem;line-height:1.6;max-width:800px;margin:0 auto}
body.lights-out {background:#111;color:#eee}
body.lights-out .movie-overview, body.lights-out .timeline-item, body.lights-out .episode-row, body.lights-out .comment-card, body.lights-out a[data-runtime="recommendation"] {background:#1c2b3a;color:#eee;box-shadow:0 2px 8px rgba(0,0,0,0.5)}
body.lights-out .module-heading, body.lights-out .section-heading, body.lights-out .reco-heading, body.lights-out .episode-title, body.lights-out .movie-title {color:#fdf6ec}
body.lights-out .cast-module, body.lights-out .synopsis-module, body.lights-out .episode-status-module, body.lights-out .details-module {background:#2a3d52}
body.lights-out .actor-card, body.lights-out .details-list li {background:#1c2b3a}
body.lights-out .synopsis-paragraph, body.lights-out .episode-summary, body.lights-out .comment-text, body.lights-out .time-label {color:#c9d4de}
body.lights-out .recommendation-region {background:#1c2b3a}
body.lights-out a[data-runtime="recommendation"] [data-runtime="name"] {color:#fdf6ec}
body.lights-out a[data-runtime="recommendation"] [data-runtime="blurb"] {color:#c9d4de}
@media (max-width:768px){.hero-layout {grid-template-columns:1fr;padding:1rem}
.poster-column {max-width:280px;margin:0 auto}
.info-column {gap:1rem}
.movie-title {font-size:1.4rem}
.tagline {font-size:0.9rem}
.player-region {padding:1rem}
.player-controls {gap:0.35rem}
.ctrl-btn {padding:0.35rem 0.7rem;font-size:0.75rem}
.timeline-item {width:180px;padding:0.75rem}
.episode-list, .comments-grid {grid-template-columns:1fr}
.reco-grid {grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0.75rem}
.header-shell {flex-direction:column;gap:0.75rem;padding:0.75rem}
.categories-nav {justify-content:center;width:100%}
.details-list {grid-template-columns:1fr}}
@media (max-width:480px){main {padding:0.75rem}
.movie-overview {border-radius:0.75rem}
.hero-layout {padding:0.75rem}
.poster-column {max-width:220px}
.movie-title {font-size:1.15rem}
.module-heading {font-size:1rem}
.cast-card-grid {grid-template-columns:repeat(2,1fr);gap:0.5rem}
.actor-card {padding:0.5rem}
.synopsis-paragraph {font-size:0.85rem}
.status-row {gap:0.35rem}
.status-value {font-size:1rem}
.details-list li {flex-direction:column;gap:0.15rem}
.player-controls {flex-wrap:wrap}
.ctrl-progress {min-width:80px;order:10;flex-basis:100%}
.timeline-item {width:150px}
.episode-row {flex-direction:column}
.episode-number {font-size:1.2rem}
.reco-grid {grid-template-columns:1fr 1fr}
a[data-runtime="recommendation"] [data-runtime="name"] {font-size:0.85rem}
a[data-runtime="recommendation"] [data-runtime="blurb"] {font-size:0.75rem}
footer nav {gap:0.4rem 0.75rem}
.friend-label {flex-basis:100%;text-align:center}}
@media (prefers-reduced-motion:reduce){* {transition:none!important;scroll-behavior:auto}}

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}
