*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {font-size:16px;-webkit-text-size-adjust:100%}
body {line-height:1.6;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:#f5efe8;color:#3e2f24;min-height:100vh;display:flex;flex-direction:column}
img, video {display:block;max-width:100%;height:auto}
ul {list-style:none}
a {color:inherit;text-decoration:none}
button {font:inherit;background:none;border:none;cursor:pointer;color:inherit}
dl, dd, dt {margin:0}
h1, h2, h3 {font-weight:600;line-height:1.3;letter-spacing:-0.01em}
header {display:flex;align-items:center;gap:1.5rem;padding:0.9rem 1.5rem;background:#faf6f1;border-bottom:1px solid #e5d8cc;position:sticky;top:0;z-index:100}
a[data-contract="site-name"] {font-size:1.15rem;font-weight:700;color:#4a3527;letter-spacing:0.02em;transition:color 0.2s;white-space:nowrap}
a[data-contract="site-name"]:hover {color:#8a6f5c}
nav[data-contract="categories"] {display:flex;flex-wrap:wrap;gap:0.4rem 0.8rem;align-items:center;overflow-x:auto;flex:1;min-width:0}
a.runtime-category {font-size:0.85rem;color:#7a6a5c;padding:0.25rem 0.6rem;border-radius:1.5rem;transition:background 0.2s,color 0.2s;white-space:nowrap;border:1px solid transparent}
a.runtime-category:hover {background:#efe6dd;color:#4a3527}
main {flex:1}
.movie-overview-shell {background:#faf6f1;border-bottom:1px solid #e5d8cc;display:grid;grid-template-columns:minmax(220px, 300px) minmax(0, 1fr);gap:0;position:relative;box-shadow:0 2px 12px rgba(80,55,35,0.06)}
.poster-media-wrapper {grid-row:1 / span 3;padding:1.5rem 0 1.5rem 1.5rem;align-self:start}
.main-poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:0.5rem;box-shadow:0 4px 20px rgba(80,55,35,0.18)}
.overview-content {padding:1.5rem 1.5rem 1rem 1.5rem;min-width:0}
.player-wrapper {grid-column:1 / -1;padding:0 1.5rem 1.5rem 1.5rem;min-width:0}
.player-wrapper video {display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000;border-radius:0.5rem;box-shadow:0 4px 16px rgba(0,0,0,0.1)}
.player-controls {display:flex;flex-wrap:wrap;gap:0.3rem;margin-top:0.6rem}
.player-controls button {font-size:0.75rem;padding:0.3rem 0.7rem;background:#efe6dd;border-radius:1rem;color:#4a3527;transition:background 0.2s}
.player-controls button:hover {background:#e0d3c6}
.movie-title {font-size:1.8rem;font-weight:700;color:#2e2118;margin-bottom:0.4rem;font-family:"Songti SC","Noto Serif SC",Georgia,serif;letter-spacing:0.02em}
.tagline {font-size:0.95rem;color:#7a6a5c;margin-bottom:1rem;font-style:italic;letter-spacing:0.01em}
.cast-panel {margin-bottom:1.2rem}
.cast-panel .panel-heading {font-size:0.9rem;font-weight:600;color:#5a4737;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.4rem;border-bottom:1px solid #ece2d8;padding-bottom:0.3rem}
.actor-list {display:flex;flex-wrap:wrap;gap:0.5rem 1rem}
.actor-item {font-size:0.9rem;color:#5a4737}
.actor-item::before {content:"· ";color:#c0a88e}
.actor-item:first-child::before {content:""}
.actor-name {font-weight:500}
.synopsis-panel {margin-bottom:1.2rem}
.synopsis-panel .panel-heading {font-size:0.9rem;font-weight:600;color:#5a4737;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.6rem;border-bottom:1px solid #ece2d8;padding-bottom:0.3rem}
.synopsis-card-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:0.8rem}
.synopsis-card {background:#f2ebe3;border-radius:0.5rem;padding:0.8rem 0.9rem;border-left:3px solid #d4bca5}
.synopsis-card p {font-size:0.85rem;color:#5a4737;line-height:1.65;letter-spacing:0.01em}
.episode-status-panel {display:flex;gap:0.8rem;align-items:center;margin-bottom:1.2rem;flex-wrap:wrap}
.episode-count {background:#4a3527;color:#faf6f1;font-size:0.8rem;padding:0.25rem 0.8rem;border-radius:1rem;font-weight:500}
.current-episode {font-size:0.8rem;color:#8a6f5c;padding:0.25rem 0.8rem;border:1px solid #d4bca5;border-radius:1rem}
.details-panel {margin-bottom:0.6rem}
.details-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0.3rem 1rem}
.detail-item {display:flex;gap:0.4rem;font-size:0.8rem;border-top:1px solid #ece2d8;padding-top:0.3rem}
.detail-item dt {color:#a08a76;white-space:nowrap}
.detail-item dd {color:#5a4737;font-weight:500}
.timeline-panel {background:#3a2b20;color:#f0e6dc;padding:2rem 1.5rem;border-bottom:1px solid #2a1e16;position:relative;overflow:hidden}
.timeline-heading {color:#f0e6dc;border-bottom-color:rgba(240,230,220,0.2)}
.timeline-curve {display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;position:relative;padding-top:1.5rem}
.timeline-curve::before {content:"";position:absolute;top:0.5rem;left:0;right:0;height:3px;background:linear-gradient(90deg,#d4bca5,#8a6f5c,#d4bca5);border-radius:1.5px;transform:scaleX(0.98)}
.timeline-node {position:relative;padding-top:1.2rem;display:flex;flex-direction:column;gap:0.4rem}
.timeline-node::before {content:"";position:absolute;top:-0.45rem;left:0;width:0.9rem;height:1.2rem;background:#d4bca5;border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;transform:rotate(45deg);box-shadow:0 2px 6px rgba(0,0,0,0.3)}
.timecode {font-size:0.7rem;color:#c0a88e;font-variant-numeric:tabular-nums;letter-spacing:0.02em}
.timeline-label {font-size:0.8rem;color:#e8dcd0;line-height:1.5}
.episodes-panel {background:#faf6f1;padding:2rem 1.5rem;border-bottom:1px solid #e5d8cc}
.episodes-panel .panel-heading {font-size:1.1rem;font-weight:600;color:#3e2f24;margin-bottom:1rem;border-bottom:1px solid #e5d8cc;padding-bottom:0.4rem;letter-spacing:0.03em}
.episode-card-scroll {display:grid;grid-template-columns:repeat(6,1fr);gap:0.8rem;overflow-x:auto;padding-bottom:0.5rem}
.episode-card {background:#f2ebe3;border-radius:0.6rem;padding:1rem;display:flex;flex-direction:column;gap:0.5rem;min-width:160px;transition:transform 0.2s,box-shadow 0.2s;border:1px solid #ece2d8}
.episode-card:hover {transform:translateY(-3px);box-shadow:0 6px 16px rgba(80,55,35,0.12)}
.episode-number {font-size:0.75rem;font-weight:700;color:#a08a76;background:#fff;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #d4bca5}
.episode-title {font-size:1rem;font-weight:600;color:#3e2f24;font-family:"Songti SC",serif}
.episode-summary {font-size:0.8rem;color:#6b5745;line-height:1.5;flex:1}
.episode-duration {font-size:0.75rem;color:#a08a76;border-top:1px solid #e0d3c6;padding-top:0.4rem}
.cast-intro-panel {background:#faf6f1;padding:2rem 1.5rem;border-bottom:1px solid #e5d8cc}
.cast-intro-panel .panel-heading {font-size:1.1rem;font-weight:600;color:#3e2f24;margin-bottom:1.2rem;border-bottom:1px solid #e5d8cc;padding-bottom:0.4rem;letter-spacing:0.03em}
.cast-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;align-items:start}
.cast-member {display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.6rem}
.avatar-placeholder {width:7rem;height:7rem;border-radius:50%;background:linear-gradient(135deg,#e0d3c6,#d4bca5);border:3px solid #fff;box-shadow:0 4px 12px rgba(80,55,35,0.15);position:relative;overflow:hidden}
.avatar-placeholder::after {content:"";position:absolute;bottom:0;left:0;right:0;height:45%;background:rgba(212,188,165,0.5);border-radius:50% 50% 0 0}
.cast-name {font-size:1rem;font-weight:600;color:#3e2f24;font-family:"Songti SC",serif}
.cast-bio {font-size:0.8rem;color:#6b5745;line-height:1.5;max-width:14rem}
.comments-panel {background:#3a2b20;color:#f0e6dc;padding:2rem 1.5rem;border-bottom:1px solid #2a1e16}
.comments-panel .panel-heading {color:#f0e6dc;border-bottom-color:rgba(240,230,220,0.2);font-size:1.1rem;font-weight:600;margin-bottom:1.2rem;padding-bottom:0.4rem;letter-spacing:0.03em}
.comments-masonry {columns:3;column-gap:1rem}
.comment-card {break-inside:avoid;background:rgba(240,230,220,0.08);border-radius:0.5rem;padding:0.9rem 1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:0.4rem;border-left:2px solid #d4bca5}
.comment-nickname {font-size:0.75rem;color:#d4bca5;font-weight:600;letter-spacing:0.02em}
.comment-text {font-size:0.8rem;color:#e8dcd0;line-height:1.7;letter-spacing:0.01em}
.recommendation-region {background:#faf6f1;padding:2rem 1.5rem;border-bottom:1px solid #e5d8cc}
.recommendation-title {font-size:1.1rem;font-weight:600;color:#3e2f24;margin-bottom:1.2rem;border-bottom:1px solid #e5d8cc;padding-bottom:0.4rem;letter-spacing:0.03em}
.recommendation-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;align-items:start}
.recommendation-grid .recommendation-item:last-child:nth-child(3) {grid-column:span 1}
.recommendation-region[data-recommendation-region="2"] .recommendation-grid {grid-template-columns:repeat(3,1fr)}
.recommendation-region[data-recommendation-region="3"] .recommendation-grid {grid-template-columns:repeat(3,1fr)}
a.recommendation-item {display:flex;flex-direction:column;gap:0.4rem;padding:0.8rem;background:#f2ebe3;border-radius:0.6rem;border:1px solid #ece2d8;transition:transform 0.2s,box-shadow 0.2s;color:#3e2f24;min-width:0}
a.recommendation-item:hover {transform:translateY(-3px);box-shadow:0 6px 16px rgba(80,55,35,0.12)}
a.recommendation-item img {width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:0.4rem}
a.recommendation-item span[data-runtime="name"] {font-size:0.9rem;font-weight:600;color:#3e2f24;line-height:1.3}
a.recommendation-item span[data-runtime="blurb"] {font-size:0.78rem;color:#6b5745;line-height:1.5}
footer {background:#faf6f1;padding:2rem 1.5rem 1.5rem;border-top:1px solid #e5d8cc;color:#6b5745;font-size:0.8rem;display:flex;flex-direction:column;gap:1rem}
footer p[data-contract="disclaimer"] {line-height:1.6;max-width:70ch;color:#8a7a6c}
.friend-links {display:flex;flex-wrap:wrap;gap:0.4rem 0.8rem;align-items:center}
.friend-links-label {font-weight:600;color:#5a4737;font-size:0.85rem}
a.runtime-friend-link {color:#7a6a5c;font-size:0.8rem;padding:0.2rem 0.5rem;border:1px solid #e0d3c6;border-radius:1rem;transition:background 0.2s,color 0.2s;white-space:nowrap}
a.runtime-friend-link:hover {background:#efe6dd;color:#4a3527}
.footer-links {display:flex;gap:1rem;border-top:1px solid #e5d8cc;padding-top:1rem}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#5a4737;font-size:0.85rem;font-weight:500;transition:color 0.2s}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#8a6f5c;text-decoration:underline}
video.theater-mode {position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;background:#000}
video.lights-dim {filter:brightness(0.6)}
@media (max-width: 1200px){.timeline-curve {grid-template-columns:repeat(3,1fr);gap:1.5rem 1rem}
.episode-card-scroll {grid-template-columns:repeat(3,1fr)}
.cast-grid {grid-template-columns:repeat(2,1fr)}
.comments-masonry {columns:2}
.recommendation-grid {grid-template-columns:repeat(3,1fr)}
.recommendation-region[data-recommendation-region="1"] .recommendation-grid {grid-template-columns:repeat(2,1fr)}}
@media (max-width: 900px){.movie-overview-shell {grid-template-columns:1fr}
.poster-media-wrapper {grid-row:auto;padding:1rem 1.5rem 0;max-width:300px}
.overview-content {padding:1rem 1.5rem}
.player-wrapper {grid-column:1;padding:0 1.5rem 1.5rem}
.synopsis-card-grid {grid-template-columns:1fr}
.timeline-curve {grid-template-columns:repeat(2,1fr)}
.episode-card-scroll {grid-template-columns:repeat(2,1fr)}
.cast-grid {grid-template-columns:repeat(2,1fr)}
.comments-masonry {columns:1}
.recommendation-grid, .recommendation-region[data-recommendation-region="1"] .recommendation-grid, .recommendation-region[data-recommendation-region="2"] .recommendation-grid, .recommendation-region[data-recommendation-region="3"] .recommendation-grid {grid-template-columns:repeat(2,1fr)}}
@media (max-width: 600px){header {flex-direction:column;gap:0.5rem;padding:0.7rem 1rem}
nav[data-contract="categories"] {width:100%;justify-content:flex-start}
.movie-title {font-size:1.3rem}
.tagline {font-size:0.85rem}
.synopsis-card-grid {grid-template-columns:1fr}
.timeline-curve {grid-template-columns:1fr;gap:1.2rem 0}
.episode-card-scroll {grid-template-columns:1fr;overflow-x:visible}
.cast-grid {grid-template-columns:1fr;gap:1.2rem}
.comments-masonry {columns:1}
.recommendation-grid, .recommendation-region[data-recommendation-region="1"] .recommendation-grid, .recommendation-region[data-recommendation-region="2"] .recommendation-grid, .recommendation-region[data-recommendation-region="3"] .recommendation-grid {grid-template-columns:1fr}
.details-list {grid-template-columns:1fr 1fr}
.player-wrapper {padding:0 1rem 1rem}
.movie-overview-shell .poster-media-wrapper, .overview-content, .player-wrapper {padding-left:1rem;padding-right:1rem}
.timeline-panel, .episodes-panel, .cast-intro-panel, .comments-panel, .recommendation-region {padding-left:1rem;padding-right:1rem}
footer {padding-left:1rem;padding-right:1rem}}

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}
