*, * {margin:0;padding:0;box-sizing:border-box}
html {scroll-behavior:smooth}
body {font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;background:#f2efe9;color:#3a3a36;line-height:1.6;font-size:15px}
a {color:inherit;text-decoration:none}
img, video {display:block;max-width:100%}
button {font:inherit;cursor:pointer;border:none;background:none;color:inherit}
h1, h2, h3 {font-weight:600;line-height:1.3}
h1 {font-family:Georgia,"Times New Roman","Songti SC",SimSun,serif}
h2, h3 {font-family:"FangSong","STFangsong","Songti SC",SimSun,serif}
header {display:flex;align-items:center;gap:2rem;padding:0.75rem 2rem;background:#3e3428;border-bottom:2px solid #b89a6a;position:sticky;top:0;z-index:100}
.site-brand {font-family:Georgia,"Songti SC",serif;font-size:1.5rem;font-weight:700;color:#f0e6d2;letter-spacing:0.08em;white-space:nowrap;text-decoration:none}
.site-brand:hover {color:#e8c98a}
.category-bar {display:flex;gap:0.25rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.category-bar::-webkit-scrollbar {display:none}
a.runtime-category {display:inline-block;padding:0.3rem 0.9rem;font-size:0.9rem;color:#d9cbb2;border:1px solid transparent;border-radius:2rem;white-space:nowrap;text-decoration:none;transition:all 0.2s}
a.runtime-category:hover {color:#fff;background:#5a4e3d;border-color:#b89a6a}
main {max-width:1440px;margin:0 auto;padding:0 1.5rem}
.movie-hero {display:grid;grid-template-columns:300px minmax(0,1fr) minmax(480px,1fr);gap:2rem;padding:2.5rem 0 2rem;align-items:start}
.poster-wrapper {width:100%;aspect-ratio:2/3;background:#e8e4dc;border-radius:4px;overflow:hidden;box-shadow:0 8px 24px rgba(62,52,40,0.25);position:relative}
.main-poster-img {width:100%;height:100%;object-fit:cover}
.poster-wrapper::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,245,220,0.15) 0%,transparent 30%,rgba(30,40,60,0.1) 100%)}
.info-panel {background:transparent;display:flex;flex-direction:column;gap:1rem;padding-right:1rem}
.movie-title {font-size:1.8rem;color:#2e2b26;letter-spacing:0.04em;border-left:4px solid #b89a6a;padding-left:0.8rem}
.tagline {font-family:"FangSong",serif;font-size:1rem;color:#8a7660;font-style:italic;letter-spacing:0.1em}
.cast-list, .synopsis-block, .episode-status {margin-top:0.25rem}
.block-label {font-size:0.85rem;color:#7d6b55;letter-spacing:0.2em;margin-bottom:0.4rem;border-bottom:1px solid #d8cfc0;padding-bottom:0.25rem;display:inline-block}
.actor-chips {display:flex;flex-wrap:wrap;gap:0.5rem}
.actor-chip {background:#e8e0d2;border:1px solid #c9b896;color:#5a4e3d;padding:0.25rem 1rem;border-radius:2rem;font-size:0.9rem;transition:background 0.2s}
.actor-chip:hover {background:#d9cbb2}
.synopsis-line {font-size:0.9rem;color:#4a453d;margin-bottom:0.6rem;text-align:justify}
.synopsis-line:last-child {margin-bottom:0}
.episode-status {background:rgba(232,224,210,0.4);border-left:3px solid #b89a6a;padding:0.75rem 1rem;border-radius:0 4px 4px 0}
.current-flag {font-size:1rem;font-weight:600;color:#3e3428;display:block;margin-bottom:0.35rem}
.ep-number {font-size:1.3rem;color:#a67c3d;font-weight:700}
.progress-meta {display:flex;justify-content:space-between;font-size:0.8rem;color:#7d6b55;margin-bottom:0.5rem}
.total, .current {font-size:0.8rem;color:#7d6b55}
.episode-strip {display:flex;gap:0.35rem;flex-wrap:wrap}
a.ep-dot {display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:#e8e0d2;color:#5a4e3d;font-size:0.8rem;font-weight:600;border:1px solid #c9b896;text-decoration:none;transition:all 0.2s}
a.ep-dot:hover {background:#b89a6a;color:#fff;border-color:#b89a6a}
a.ep-dot.active {background:#3e3428;color:#f0e6d2;border-color:#3e3428;box-shadow:0 2px 6px rgba(62,52,40,0.4)}
.detail-grid {display:grid;grid-template-columns:1fr 1fr;gap:0.4rem 1.5rem;margin-top:0.4rem;background:#f7f4ee;border:1px solid #e0d9cc;border-radius:4px;padding:0.75rem 1rem}
.detail-item {display:flex;justify-content:space-between;align-items:baseline;font-size:0.85rem;border-bottom:1px dashed #d8cfc0;padding-bottom:0.25rem}
.detail-item:last-child {border-bottom:none}
.detail-label {color:#8a7660;font-size:0.8rem}
.detail-value {color:#3a3a36;font-weight:500}
.rating {color:#a67c3d}
.score {font-size:1.1rem;font-weight:700;color:#a67c3d}
.player-shell {background:#2a2a28;border-radius:8px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,0.35);min-width:0;width:100%}
.player-shell video {display:block;background:#000}
.player-controls {display:flex;flex-wrap:wrap;gap:0.25rem;padding:0.5rem;background:#3a3a36;border-top:1px solid #555}
.ctrl-btn {font-size:0.75rem;color:#d9d2c8;background:#4a4a46;padding:0.3rem 0.7rem;border-radius:3px;transition:background 0.2s}
.ctrl-btn:hover {background:#6a6a62;color:#fff}
.timeline-section {padding:2rem 0 2.5rem;border-top:1px solid #d8cfc0;margin-top:0.5rem}
.section-title {font-size:1.4rem;color:#3e3428;margin-bottom:1rem;letter-spacing:0.15em;position:relative;padding-left:1rem}
.section-title::before {content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:1.4rem;background:#b89a6a}
.timeline-scroll {display:flex;gap:0;overflow-x:auto;padding:1rem 0;scroll-snap-type:x mandatory;position:relative}
.timeline-scroll::before {content:"";position:absolute;top:1.1rem;left:0;right:0;height:2px;background:#d8cfc0}
.timeline-item {flex:0 0 240px;scroll-snap-align:start;padding:0 1.5rem 0 0;position:relative;display:flex;flex-direction:column;gap:0.4rem;min-width:200px}
.timeline-item::before {content:"";width:12px;height:12px;background:#b89a6a;border:3px solid #f2efe9;border-radius:50%;position:relative;z-index:1;margin-top:0.4rem;box-shadow:0 0 0 2px #b89a6a}
.timecode {font-size:0.9rem;font-weight:700;color:#3e3428;font-family:"FangSong",serif;background:#f2efe9;display:inline-block;padding-right:0.5rem}
.timeline-label {font-size:0.85rem;color:#5a5a52;line-height:1.5;background:#f2efe9;padding:0.3rem;border-radius:3px}
.episode-list-section {padding:1.5rem 0 2.5rem;border-top:1px solid #d8cfc0}
.episode-column {display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0.75rem}
.episode-item {display:flex;gap:0.75rem;align-items:flex-start;background:#f7f4ee;border:1px solid #e0d9cc;border-radius:4px;padding:0.75rem;transition:border-color 0.2s}
.episode-item:hover {border-color:#b89a6a}
.ep-badge {flex:0 0 auto;width:2.2rem;height:2.2rem;background:#3e3428;color:#f0e6d2;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.9rem;font-family:Georgia,serif}
.ep-content {display:flex;flex-direction:column;gap:0.2rem}
.ep-title {font-size:1rem;color:#3e3428;font-family:"FangSong",serif}
.ep-summary {font-size:0.82rem;color:#5a5a52;line-height:1.5}
.ep-duration {font-size:0.75rem;color:#8a7660;align-self:flex-end}
.comments-section {padding:2rem 0;border-top:1px solid #d8cfc0}
.comment-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.comment-bubble {background:#eef0f2;border:1px solid #c8d0d8;border-radius:12px;padding:1rem;position:relative;box-shadow:0 2px 6px rgba(0,0,0,0.05)}
.comment-bubble::before {content:"";position:absolute;top:0.8rem;left:-6px;width:10px;height:10px;background:#eef0f2;border-left:1px solid #c8d0d8;border-bottom:1px solid #c8d0d8;transform:rotate(45deg)}
.comment-nick {display:block;font-size:0.85rem;font-weight:600;color:#4a5a6a;margin-bottom:0.4rem;font-style:italic}
.comment-text {font-size:0.88rem;color:#3a3a36;line-height:1.6}
.recommendation-shell {padding:1.5rem 0 2rem;border-top:1px solid #d8cfc0}
.rec-title {font-size:1.2rem;color:#3e3428;margin-bottom:0.75rem;letter-spacing:0.1em;font-family:"FangSong",serif}
.rec-scroll {display:flex;gap:1rem;overflow-x:auto;padding-bottom:0.75rem;scroll-snap-type:x mandatory}
a.rec-card {flex:0 0 auto;width:180px;background:#fff;border:1px solid #e0d9cc;border-radius:6px;padding:0.5rem;display:flex;flex-direction:column;gap:0.35rem;text-decoration:none;transition:box-shadow 0.2s,transform 0.2s;scroll-snap-align:start}
a.rec-card:hover {box-shadow:0 4px 16px rgba(62,52,40,0.2);transform:translateY(-2px)}
a.rec-card img {width:100%;height:100px;object-fit:cover;border-radius:3px;background:#e8e0d2}
a.rec-card span[data-runtime="name"] {font-size:0.9rem;font-weight:600;color:#3e3428;font-family:"FangSong",serif}
a.rec-card span[data-runtime="blurb"] {font-size:0.75rem;color:#7d6b55;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rec-progress {display:flex;gap:0.4rem;justify-content:center;margin-top:0.5rem}
.progress-dot {width:8px;height:8px;border-radius:50%;background:#c9b896;transition:background 0.2s}
.progress-dot.active {background:#3e3428}
footer {background:#3e3428;color:#cbbda6;padding:2rem 1.5rem 2.5rem;margin-top:2rem;border-top:4px solid #b89a6a}
.disclaimer {font-size:0.8rem;color:#9a8b74;max-width:900px;line-height:1.6;margin-bottom:1rem;font-style:italic}
.footer-links {display:flex;gap:1.5rem;margin-bottom:1rem}
a.footer-link {font-size:0.9rem;color:#d9cbb2;text-decoration:none;transition:color 0.2s}
a.footer-link:hover {color:#f0e6d2}
.friend-links {display:flex;flex-wrap:wrap;gap:0.4rem 1.2rem;align-items:center;border-top:1px solid #5a4e3d;padding-top:1rem}
.friend-label {font-size:0.85rem;color:#9a8b74;margin-right:0.5rem}
a.runtime-friend-link {font-size:0.8rem;color:#b8a88e;text-decoration:none;transition:color 0.2s}
a.runtime-friend-link:hover {color:#f0e6d2;text-decoration:underline}
.player-shell.theater-mode {width:100%;max-width:1200px;margin:0 auto;position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:200;box-shadow:0 -8px 32px rgba(0,0,0,0.5);border-radius:8px 8px 0 0}
body.lights-dim {background:#1e1e1c;color:#c8c0b0}
body.lights-dim .movie-hero, body.lights-dim .timeline-section, body.lights-dim .episode-list-section, body.lights-dim .comments-section, body.lights-dim .recommendation-shell {background:#1e1e1c;color:#c8c0b0}
body.lights-dim .movie-title, body.lights-dim .section-title, body.lights-dim .rec-title {color:#e0d8c8}
body.lights-dim .poster-wrapper, body.lights-dim .info-panel {filter:brightness(0.7)}
body.lights-dim .player-shell {box-shadow:0 0 60px rgba(184,154,106,0.2)}
.player-shell .ctrl-btn:focus {outline:2px solid #b89a6a;outline-offset:2px}
@media (max-width:1200px){.movie-hero {grid-template-columns:260px minmax(0,1fr);gap:1.5rem}
.player-shell {grid-column:1/-1;max-width:900px;justify-self:center}}
@media (max-width:900px){.movie-hero {grid-template-columns:220px minmax(0,1fr);gap:1rem}
.movie-title {font-size:1.4rem}
.poster-wrapper {max-width:220px}
.episode-column {grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}
@media (max-width:640px){body {font-size:14px}
header {padding:0.5rem 1rem;gap:1rem;flex-wrap:wrap}
.site-brand {font-size:1.2rem}
.category-bar {width:100%}
main {padding:0 0.75rem}
.movie-hero {grid-template-columns:1fr;gap:1rem;padding:1.5rem 0}
.poster-wrapper {width:100%;max-width:260px;aspect-ratio:2/3;margin:0 auto}
.info-panel {padding-right:0}
.movie-title {font-size:1.2rem}
.detail-grid {grid-template-columns:1fr 1fr}
.player-shell {width:100%;min-width:0}
.player-controls {gap:0.15rem}
.ctrl-btn {padding:0.25rem 0.5rem;font-size:0.7rem}
.timeline-item {flex:0 0 200px;min-width:180px}
.episode-column {grid-template-columns:1fr}
.comment-grid {grid-template-columns:1fr}
.rec-scroll {gap:0.5rem}
a.rec-card {width:150px}
a.rec-card img {height:85px}
footer {padding:1.5rem 1rem}
.friend-links {gap:0.3rem 0.8rem}}
.player-shell {min-width:0}
@media (min-width:641px){.player-shell {min-width:480px}}
@media (max-width:640px){.player-shell {min-width:0}
.player-shell video {width:100%!important}}
.cast-list, .synopsis-block, .episode-status, .detail-grid {width:100%}
.info-panel {min-height:0}
.episode-item {border:1px solid #e0d9cc;border-radius:4px}
.episode-item:hover {border-color:#b89a6a}
a.runtime-category {display:inline-block}
.category-bar > a.runtime-category:first-child {margin-left:0}
[data-runtime="recommendation"] img {width:100%;height:100px;object-fit:cover;display:block}
.movie-hero {padding-bottom:1.5rem}
.timeline-section {padding:1.5rem 0 2rem}
.episode-list-section {padding:1.5rem 0 2rem}
.comments-section {padding:1.5rem 0 2rem}
.recommendation-shell {padding:1.5rem 0 2rem}
.info-panel .cast-list, .info-panel .synopsis-block, .info-panel .episode-status, .info-panel .detail-grid {background:transparent}
.detail-grid {background:#f7f4ee}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#d9cbb2}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#f0e6d2}
a[data-contract="site-name"] {color:#f0e6d2}
a[data-contract="site-name"]:hover {color:#e8c98a}
a.ep-dot.active {background:#3e3428;color:#f0e6d2;border-color:#3e3428}
.player-shell .ctrl-btn:active {background:#b89a6a;color:#3e3428}
@media (max-width:480px){.timeline-scroll {padding:0.75rem 0}
.timeline-item {flex:0 0 170px;min-width:160px;padding-right:0.75rem}
.ep-badge {width:1.8rem;height:1.8rem;font-size:0.8rem}
.rec-card {width:140px}
.rec-card img {height:80px}
.comment-bubble {padding:0.75rem}
.detail-grid {grid-template-columns:1fr}
.movie-title {font-size:1.1rem}
.tagline {font-size:0.9rem}
.player-controls {justify-content:center}
.ctrl-btn {flex:1 1 auto;text-align:center;font-size:0.68rem;padding:0.25rem 0.3rem}}
@media print{header, footer, .player-shell {display:none}
body {background:#fff}
.movie-hero {grid-template-columns:1fr}
.poster-wrapper {max-width:200px}}

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}
