*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {font-size:16px;-webkit-text-size-adjust:100%}
body {font-family:"PingFang SC","Microsoft YaHei","Heiti SC",sans-serif;background:#f4efe6;color:#3E2C1E;line-height:1.6;overflow-x:hidden}
img, video {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
button {font:inherit;cursor:pointer;border:none;background:none;color:inherit}
header {background:#3E2C1E;padding:0.8rem 1.2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem 1rem;border-bottom:3px solid #D2691E}
.site-brand {font-family:"Songti SC","SimSun",serif;font-weight:700;font-size:1.4rem;color:#f4efe6;letter-spacing:0.08em;white-space:nowrap}
nav[data-contract="categories"] {display:flex;flex-wrap:wrap;gap:0.4rem 0.8rem;align-items:center}
.runtime-category {color:#f4efe6;font-size:0.85rem;padding:0.2rem 0.6rem;border:1px solid rgba(244,239,230,0.3);border-radius:2rem;white-space:nowrap;transition:background 0.2s,color 0.2s}
.runtime-category:hover {background:#D2691E;border-color:#D2691E;color:#fff}
.movie-overview-panel {background:#fffdf8;margin:1.5rem 1.2rem 0;padding:1.5rem;display:grid;grid-template-columns:220px 1fr;grid-template-rows:auto auto auto auto auto;gap:0.8rem 1.8rem;box-shadow:0 4px 12px rgba(62,44,30,0.1);border:1px solid #e0d6c8;border-radius:4px;position:relative}
.poster-shell {grid-column:1;grid-row:1 / 6;align-self:start}
.main-poster {width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:2px;box-shadow:2px 4px 10px rgba(62,44,30,0.25)}
.movie-title {grid-column:2;grid-row:1;font-family:"Songti SC","SimSun",serif;font-size:1.8rem;font-weight:700;color:#3E2C1E;letter-spacing:0.05em;line-height:1.3;align-self:end}
.tagline {grid-column:2;grid-row:2;font-size:1rem;color:#7A6A4F;border-left:4px solid #D2691E;padding-left:0.8rem;font-style:italic;align-self:start}
.cast-chip-list {grid-column:2;grid-row:3;display:flex;flex-wrap:wrap;gap:0.4rem 0.6rem;align-items:center}
.chip-heading {font-size:0.85rem;color:#7A6A4F;font-weight:600;letter-spacing:0.1em;margin-right:0.2rem}
.chip {background:#f0e9de;color:#3E2C1E;font-size:0.8rem;padding:0.2rem 0.8rem;border-radius:1.5rem;border:1px solid #d8ccbb}
.synopsis-block {grid-column:2;grid-row:4;font-size:0.9rem;color:#4a3a2a;max-width:65ch;border-top:1px dashed #cbbfa8;border-bottom:1px dashed #cbbfa8;padding:0.6rem 0}
.synopsis-block p {margin-bottom:0.5rem;text-align:justify}
.synopsis-block p:last-child {margin-bottom:0}
.episode-status-bar {grid-column:2;grid-row:5;display:flex;flex-wrap:wrap;gap:0.8rem 1.2rem;align-items:center;align-self:end}
.episode-count, .episode-current, .episode-duration {font-size:0.85rem;color:#2E4A3A;background:#e8ede6;padding:0.2rem 0.8rem;border-radius:2px;font-weight:600}
.watch-btn {background:#D2691E;color:#fff;font-size:0.9rem;font-weight:600;padding:0.4rem 1.2rem;border-radius:2px;transition:background 0.2s}
.watch-btn:hover {background:#b85c1a}
.details-grid {grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem 1rem;border-top:2px solid #3E2C1E;padding-top:1rem;margin-top:0.5rem}
.detail-item {font-size:0.85rem;color:#4a3a2a;display:flex;flex-direction:column}
.detail-label {font-size:0.75rem;color:#7A6A4F;letter-spacing:0.08em;text-transform:uppercase;font-weight:600}
.player-shell {background:#2a1f14;margin:1.5rem 1.2rem 0;padding:1rem 1rem 0.6rem;border-radius:4px;box-shadow:0 6px 16px rgba(0,0,0,0.3)}
.player-shell video {width:100%;max-width:100%;display:block;border-radius:2px}
.player-control-bar {display:flex;flex-wrap:wrap;gap:0.4rem;padding:0.6rem 0 0.2rem;justify-content:center}
.player-control-bar button {color:#cbbfa8;font-size:0.8rem;padding:0.2rem 0.6rem;border:1px solid #5a4632;border-radius:2px;background:#3a2c1e;transition:background 0.2s,color 0.2s}
.player-control-bar button:hover {background:#D2691E;border-color:#D2691E;color:#fff}
.timeline-section {margin:1.5rem 1.2rem 0;background:#fffdf8;border-left:4px solid #2E4A3A;padding:1.2rem 1.5rem 1.5rem}
.section-title {font-family:"Songti SC","SimSun",serif;font-size:1.4rem;font-weight:700;color:#3E2C1E;margin-bottom:1rem;letter-spacing:0.06em;display:flex;align-items:center;gap:0.5rem}
.section-title::after {content:"";flex:1;height:1px;background:#d8ccbb}
.timeline-vertical {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem 1.5rem;position:relative}
.timeline-node {background:#faf6ee;border:1px solid #e0d6c8;padding:0.8rem 1rem;border-radius:2px;box-shadow:2px 3px 0 rgba(62,44,30,0.08);position:relative;transition:transform 0.2s,box-shadow 0.2s}
.timeline-node::before {content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:#D2691E}
.timeline-node:hover {transform:translateY(-2px);box-shadow:2px 5px 0 rgba(62,44,30,0.12)}
.timeline-marker {font-family:"Courier New",monospace;font-size:0.8rem;font-weight:700;color:#2E4A3A;margin-bottom:0.3rem;letter-spacing:0.05em}
.timeline-label {font-size:0.85rem;color:#4a3a2a;line-height:1.5}
.episode-horizontal-scroll {margin:1.5rem 1.2rem 0;background:#fffdf8;padding:1.2rem 1.5rem 1.5rem;border-radius:4px;border:1px solid #e0d6c8}
.episode-card-deck {display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.episode-card {background:#fdfaf4;border:1px solid #d8ccbb;border-top:3px solid #D2691E;padding:1rem;border-radius:2px;transition:box-shadow 0.2s;display:flex;flex-direction:column;gap:0.4rem}
.episode-card:hover {box-shadow:0 4px 12px rgba(62,44,30,0.15)}
.ep-index {font-family:"Courier New",monospace;font-size:0.9rem;font-weight:700;color:#D2691E;letter-spacing:0.1em}
.ep-title {font-family:"Songti SC","SimSun",serif;font-size:1.1rem;color:#3E2C1E;font-weight:700}
.ep-summary {font-size:0.8rem;color:#5a4a38;line-height:1.6;flex:1}
.ep-duration {font-size:0.75rem;color:#7A6A4F;font-family:"Courier New",monospace;border-top:1px dashed #cbbfa8;padding-top:0.4rem}
.cast-bio-section {margin:1.5rem 1.2rem 0;background:#f4efe6;padding:1.2rem 1.5rem 1.5rem;border-radius:4px;border:1px solid #e0d6c8;background-image:linear-gradient(rgba(62,44,30,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(62,44,30,0.03) 1px,transparent 1px);background-size:20px 20px}
.cast-bio-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.cast-bio-card {background:rgba(255,253,248,0.9);border:1px solid #d8ccbb;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:0.3rem;border-radius:2px;transition:box-shadow 0.2s}
.cast-bio-card:hover {box-shadow:0 4px 12px rgba(62,44,30,0.12)}
.bio-avatar {width:48px;height:48px;background:#2E4A3A;color:#f4efe6;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border-radius:50%;margin-bottom:0.2rem;font-family:"Songti SC",serif}
.cast-bio-card h3 {font-family:"Songti SC","SimSun",serif;font-size:1.1rem;color:#3E2C1E}
.cast-bio-card p {font-size:0.85rem;color:#7A6A4F}
.comments-waterfall {margin:1.5rem 1.2rem 0;background:#2E4A3A;padding:1.2rem 1.5rem 1.5rem;border-radius:4px;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.comments-waterfall .section-title {color:#f4efe6}
.comments-waterfall .section-title::after {background:rgba(244,239,230,0.2)}
.comment-column {display:flex;flex-direction:column;gap:0.6rem}
.comment-bubble {background:#fdfaf4;border-radius:12px 12px 12px 2px;padding:0.8rem 1rem;font-size:0.85rem;color:#3E2C1E;line-height:1.6;border:2px solid #f4efe6;box-shadow:2px 3px 0 rgba(0,0,0,0.15);position:relative}
.comment-bubble::after {content:"";position:absolute;bottom:-8px;left:16px;width:12px;height:12px;background:#fdfaf4;border-right:2px solid #f4efe6;border-bottom:2px solid #f4efe6;transform:rotate(45deg)}
.comment-meta {font-size:0.75rem;color:#cbbfa8;padding-left:0.8rem;letter-spacing:0.08em;font-family:"Courier New",monospace}
.recommendation-row {margin:1.5rem 1.2rem 0;background:#fffdf8;border:1px solid #e0d6c8;padding:1.2rem 1.5rem 1.5rem;border-radius:4px}
.recommendation-row h3 {font-family:"Songti SC","SimSun",serif;font-size:1.2rem;color:#3E2C1E;margin-bottom:0.8rem;border-bottom:2px solid #D2691E;padding-bottom:0.4rem;display:inline-block}
.rec-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.2rem}
.rec-card {background:#fdfaf4;border:1px solid #d8ccbb;padding:0.6rem;border-radius:2px;transition:box-shadow 0.2s,transform 0.2s;display:flex;flex-direction:column;gap:0.3rem;color:inherit}
.rec-card:hover {box-shadow:0 4px 12px rgba(62,44,30,0.15);transform:translateY(-2px)}
.rec-card img {width:100%;height:160px;object-fit:cover;border-radius:2px;background:#ece5da}
.rec-card span[data-runtime="name"] {font-weight:700;font-size:0.9rem;color:#3E2C1E}
.rec-card span[data-runtime="blurb"] {font-size:0.8rem;color:#7A6A4F;line-height:1.5}
footer {background:#3E2C1E;color:#cbbfa8;margin-top:2rem;padding:1.5rem 1.2rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;border-top:3px solid #D2691E}
nav[data-contract="friend-links"] {display:flex;flex-wrap:wrap;gap:0.4rem 1rem;align-items:center;flex:1}
.friend-label {font-size:0.8rem;color:#7A6A4F;font-weight:600;letter-spacing:0.1em}
.runtime-friend-link {font-size:0.8rem;color:#cbbfa8;border-bottom:1px dotted #cbbfa8;transition:color 0.2s,border-color 0.2s;white-space:nowrap}
.runtime-friend-link:hover {color:#D2691E;border-color:#D2691E}
footer div[data-contract="disclaimer"] {font-size:0.75rem;color:#7A6A4F;flex-basis:100%;text-align:center;border-top:1px solid #5a4632;padding-top:0.8rem;margin-top:0.5rem}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {font-size:0.8rem;color:#cbbfa8;border:1px solid #5a4632;padding:0.2rem 0.8rem;border-radius:2px;transition:background 0.2s,color 0.2s}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {background:#D2691E;border-color:#D2691E;color:#fff}
.lights-dim {background:#1a1410}
.lights-dim .movie-overview-panel, .lights-dim .timeline-section, .lights-dim .episode-horizontal-scroll, .lights-dim .cast-bio-section, .lights-dim .comments-waterfall, .lights-dim .recommendation-row {box-shadow:0 0 20px rgba(0,0,0,0.5)}
.theater-mode {position:fixed;inset:0;z-index:1000;background:#000;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center}
.theater-mode video {width:100%;height:auto;max-height:100vh;object-fit:contain}
.theater-mode .player-control-bar {position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.7);padding:0.6rem 1rem;border-radius:2rem;gap:0.6rem;flex-wrap:nowrap}
.theater-mode .player-control-bar button {background:transparent;border-color:rgba(255,255,255,0.5);color:#fff}
@media (max-width:900px){.movie-overview-panel {grid-template-columns:180px 1fr}
.details-grid {grid-template-columns:repeat(2,1fr)}
.comments-waterfall {grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){header {flex-direction:column;align-items:flex-start}
.movie-overview-panel {grid-template-columns:1fr;gap:1rem}
.poster-shell {grid-column:1;grid-row:auto;max-width:280px;margin:0 auto}
.movie-title, .tagline, .cast-chip-list, .synopsis-block, .episode-status-bar {grid-column:1}
.details-grid {grid-template-columns:1fr 1fr}
.timeline-vertical {grid-template-columns:1fr}
.episode-card-deck {grid-template-columns:1fr}
.cast-bio-grid {grid-template-columns:1fr 1fr}
.comments-waterfall {grid-template-columns:1fr}
.rec-grid {grid-template-columns:1fr 1fr}
.player-shell {margin-left:0.8rem;margin-right:0.8rem}}
@media (max-width:480px){body {font-size:15px}
.movie-overview-panel {margin:1rem 0.6rem 0;padding:1rem}
.timeline-section, .episode-horizontal-scroll, .cast-bio-section, .comments-waterfall, .recommendation-row {margin-left:0.6rem;margin-right:0.6rem;padding:1rem}
.details-grid {grid-template-columns:1fr 1fr}
.cast-bio-grid {grid-template-columns:1fr}
.comments-waterfall {grid-template-columns:1fr}
.rec-grid {grid-template-columns:1fr}
.episode-status-bar {flex-direction:column;align-items:flex-start}
.player-control-bar {justify-content:flex-start}
footer {flex-direction:column;align-items:flex-start;gap:0.6rem}}

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}
