*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {font-size:16px;scroll-behavior:smooth}
body {font-family:"Hiragino Mincho ProN","Yu Mincho","MS PMincho",serif;background:#faf5eb;color:#3e2a1e;line-height:1.6;min-height:100vh}
img, video {display:block;max-width:100%;height:auto}
button {font:inherit;cursor:pointer;background:none;border:none;color:inherit}
ul {list-style:none}
a {color:#3e2a1e;text-decoration:none;transition:color .2s}
a:hover {color:#b33a2b}
header {background:#fffaf0;border-bottom:2px solid #e5c9a8;padding:0 2rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(62,42,30,.06)}
a[data-contract="site-name"] {font-family:"Songti SC","SimSun",serif;font-weight:700;font-size:1.5rem;padding:1rem 0;color:#2a1a10;letter-spacing:.1em;background:linear-gradient(135deg,#8c5a2b,#c98a3d,#e0b063);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
a[data-contract="site-name"]:hover {color:#b33a2b;-webkit-text-fill-color:#b33a2b}
.category-bar {display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;padding:.75rem 0;flex:1;min-width:0}
.runtime-category {font-family:"Songti SC","SimSun",serif;font-size:.875rem;color:#5a3a24;background:#f5e6d0;border:1px solid #e5c9a8;border-radius:2rem;padding:.3rem 1rem;white-space:nowrap;display:inline-block}
.runtime-category:hover {background:#b33a2b;color:#fff;border-color:#b33a2b}
.runtime-category:focus-visible {outline:2px solid #b33a2b;outline-offset:2px}
.category-bar .runtime-category {flex:0 1 auto}
main {max-width:1280px;margin:0 auto;padding:1.5rem 2rem 3rem}
.hero-visual {display:flex;gap:2rem;background:#fffdf7;border-radius:1.5rem;box-shadow:0 8px 24px rgba(62,42,30,.12);padding:2rem;border:1px solid #f0dcc0;position:relative;overflow:hidden}
.hero-visual::before {content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#b33a2b,#e0b063,#b33a2b)}
.hero-media-column {flex:0 1 38%;display:flex;flex-direction:column;gap:1.25rem;min-width:0}
.poster-wrapper {border-radius:1rem;overflow:hidden;box-shadow:0 4px 16px rgba(62,42,30,.2);border:1px solid #e5c9a8;background:#f0dcc0;position:relative;aspect-ratio:2/3;flex-shrink:0}
.main-poster-img {width:100%;height:100%;object-fit:cover;transition:transform .4s}
.poster-wrapper:hover .main-poster-img {transform:scale(1.03)}
.player-wrapper {width:100%;min-width:0;border-radius:1rem;overflow:hidden;box-shadow:0 4px 16px rgba(62,42,30,.15);background:#1a100a;border:1px solid #e5c9a8}
.player-wrapper video {display:block;width:100%;aspect-ratio:16/9;background:#000}
.player-controls {display:flex;flex-wrap:wrap;gap:.25rem;padding:.4rem;background:#f0dcc0}
.player-controls button {font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:.75rem;padding:.3rem .6rem;background:#fff8ed;border:1px solid #d9b98a;border-radius:1.5rem;color:#3e2a1e}
.player-controls button:hover {background:#b33a2b;color:#fff;border-color:#b33a2b}
.player.playing {outline:2px solid #e0b063}
.player.muted-state {opacity:.85}
.player.theater-mode {position:fixed;inset:0;z-index:200;background:#000;padding:0}
.player.theater-mode video {width:100%;height:100%;object-fit:contain}
.player.lights-off {filter:brightness(.6)}
.player.fullscreen-active {outline:3px solid #e0b063}
.player.pip-active {outline:2px solid #b33a2b}
.movie-info-column {flex:1 1 58%;min-width:0;display:flex;flex-direction:column;gap:1.25rem}
.movie-title {font-family:"Songti SC","SimSun",serif;font-size:2rem;font-weight:900;line-height:1.3;color:#2a1a10;background:linear-gradient(135deg,#8c5a2b,#c98a3d,#e0b063);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:.25rem;border-bottom:2px solid #e5c9a8}
.tagline {font-size:1.1rem;color:#8c5a2b;font-style:italic;letter-spacing:.05em}
.cast-block {display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}
.cast-label {font-family:"Songti SC","SimSun",serif;font-weight:700;font-size:.9rem;color:#b33a2b;background:#fde8d8;border-radius:2rem;padding:.2rem .9rem;border:1px solid #e5c9a8}
.cast-list {display:flex;gap:.5rem;flex-wrap:wrap}
.cast-list li {font-size:.9rem;background:#faf0e2;border-radius:2rem;padding:.2rem .8rem;border:1px solid #e5c9a8;color:#3e2a1e}
.synopsis-block {background:#fdf6ec;border-left:4px solid #e0b063;padding:1rem 1.25rem;border-radius:.5rem}
.section-heading {font-family:"Songti SC","SimSun",serif;font-size:1.25rem;font-weight:700;color:#3e2a1e;display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;position:relative}
.section-heading::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,#e0b063,transparent)}
.synopsis-block p {font-size:.9rem;margin-bottom:.5rem;text-align:justify}
.synopsis-block p:last-child {margin-bottom:0}
.episode-status {display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.9rem}
.total-episodes, .current-episode {background:#f5e6d0;border-radius:2rem;padding:.2rem 1rem;border:1px solid #e5c9a8;font-weight:600;color:#5a3a24}
.total-episodes::before {content:"📺";margin-right:.4rem}
.current-episode::before {content:"▶";margin-right:.4rem;color:#b33a2b}
.details-block {background:#fdf6ec;border-radius:.75rem;border:1px solid #e5c9a8;padding:1rem}
.detail-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem}
.detail-item {display:flex;gap:.5rem;font-size:.85rem;align-items:baseline;border-bottom:1px solid #f0dcc0;padding-bottom:.35rem}
.detail-item dt {color:#8c5a2b;font-weight:600;white-space:nowrap;flex-shrink:0}
.detail-item dt::after {content:"：";color:#b33a2b}
.detail-item dd {color:#3e2a1e;font-weight:600}
.timeline-section {padding:2.5rem 0 1.5rem}
.timeline-horizontal {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;position:relative;padding:1.5rem 0 .5rem;margin-top:.5rem}
.timeline-horizontal::before {content:"";position:absolute;top:1.9rem;left:2%;right:2%;height:2px;background:linear-gradient(90deg,#e0b063,#b33a2b,#e0b063)}
.timeline-item {background:#fffdf7;border:1px solid #e5c9a8;border-radius:1rem;padding:1rem;text-align:center;position:relative;z-index:1;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px rgba(62,42,30,.08)}
.timeline-item::before {content:"";position:absolute;top:-.85rem;left:50%;transform:translateX(-50%);width:1rem;height:1rem;background:#b33a2b;border-radius:50%;border:3px solid #fdf6ec;box-shadow:0 0 0 2px #e0b063}
.timeline-item:hover {transform:translateY(-4px);box-shadow:0 6px 16px rgba(62,42,30,.15)}
.timeline-item:hover::before {background:#e0b063}
.timecode {display:block;font-family:"Songti SC","SimSun",serif;font-weight:700;font-size:.9rem;color:#b33a2b;margin-bottom:.35rem}
.timeline-label {font-size:.8rem;color:#5a3a24;line-height:1.4}
.episodes-section {padding:1rem 0 2rem}
.episode-accordion {display:flex;flex-direction:column;gap:.6rem}
.episode-item {background:#fffdf7;border:1px solid #e5c9a8;border-radius:1rem;padding:0;transition:box-shadow .2s;box-shadow:0 2px 6px rgba(62,42,30,.06)}
.episode-item:hover {box-shadow:0 4px 14px rgba(62,42,30,.12)}
.episode-title-row {display:flex;align-items:center;gap:1rem;padding:.9rem 1.25rem;cursor:default;position:relative}
.episode-title-row::after {content:"▾";margin-left:auto;color:#b33a2b;font-size:1.1rem;transition:transform .3s}
.episode-item:nth-child(1) .episode-title-row::after {content:"▴"}
.episode-number {font-family:"Songti SC","SimSun",serif;font-weight:900;font-size:1.2rem;color:#b33a2b;background:#fde8d8;border-radius:.5rem;width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center;border:1px solid #e0b063}
.episode-name {font-family:"Songti SC","SimSun",serif;font-weight:700;font-size:1rem;color:#3e2a1e;flex:1}
.episode-duration {font-size:.8rem;color:#8c5a2b;background:#f5e6d0;border-radius:2rem;padding:.15rem .7rem;white-space:nowrap}
.episode-summary {display:block;padding:.6rem 1.25rem 1rem;border-top:1px solid #f0dcc0;font-size:.85rem;color:#5a3a24;background:#fdf6ec;border-radius:0 0 1rem 1rem;line-height:1.6}
.episode-summary::before {content:"剧情概要 · ";font-weight:600;color:#8c5a2b}
.episode-item:nth-child(n/**/+2) .episode-summary {display:none}
.comments-section {padding:1rem 0 2rem}
.comments-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.comment-block {background:#fffdf7;border:1px solid #e5c9a8;border-radius:1rem;padding:1rem 1.25rem;position:relative;box-shadow:0 2px 6px rgba(62,42,30,.06);transition:transform .2s}
.comment-block:hover {transform:translateY(-2px)}
.star-mark {display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:linear-gradient(135deg,#e0b063,#f9d79c);border-radius:50%;color:#fff;font-size:1rem;position:absolute;top:-.6rem;left:1rem;box-shadow:0 2px 6px rgba(62,42,30,.2);text-shadow:0 1px 2px rgba(0,0,0,.2)}
.comment-author {display:block;font-weight:700;font-family:"Songti SC","SimSun",serif;color:#3e2a1e;margin-bottom:.4rem;padding-left:2.6rem}
.comment-block p {font-size:.85rem;color:#5a3a24;line-height:1.6;text-align:justify}
.recommendation-panel {padding:1rem 0 2rem}
.recommendation-panel .section-heading {font-size:1.1rem}
.rec-list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.recommendation-panel:first-of-type .rec-list, .recommendation-panel:nth-of-type(2) .rec-list {grid-template-columns:repeat(4,minmax(0,1fr))}
.recommendation-panel:last-of-type .rec-list {grid-template-columns:repeat(3,minmax(0,1fr))}
a[data-runtime="recommendation"] {display:flex;flex-direction:column;background:#fffdf7;border:1px solid #e5c9a8;border-radius:1rem;overflow:hidden;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 6px rgba(62,42,30,.06);text-decoration:none;color:inherit;height:100%}
a[data-runtime="recommendation"]:hover {transform:translateY(-3px);box-shadow:0 6px 18px rgba(62,42,30,.15);border-color:#e0b063}
a[data-runtime="recommendation"] img {width:100%;aspect-ratio:2/3;object-fit:cover;background:#f0dcc0}
a[data-runtime="recommendation"] [data-runtime="name"] {font-family:"Songti SC","SimSun",serif;font-weight:700;font-size:.9rem;padding:.5rem .75rem .1rem;color:#3e2a1e}
a[data-runtime="recommendation"] [data-runtime="blurb"] {font-size:.75rem;padding:0 .75rem .75rem;color:#8c5a2b;line-height:1.4;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
a[data-runtime="recommendation"]:hover [data-runtime="name"] {color:#b33a2b}
footer {background:#2a1a10;color:#f5e6d0;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;border-top:4px solid #e0b063}
.footer-disclaimer {font-size:.8rem;color:#d9b98a;max-width:800px;line-height:1.6}
.friend-links {display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.friend-label {font-family:"Songti SC","SimSun",serif;font-weight:700;font-size:.85rem;color:#e0b063;background:#3e2a1e;border:1px solid #5a3a24;border-radius:2rem;padding:.2rem .9rem;align-self:center}
a.runtime-friend-link {font-size:.8rem;color:#d9b98a;background:#3e2a1e;border:1px solid #5a3a24;border-radius:2rem;padding:.2rem .8rem;text-decoration:none}
a.runtime-friend-link:hover {color:#fff;border-color:#b33a2b;background:#b33a2b}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#e0b063;font-size:.85rem;text-decoration:none;border-bottom:1px dotted #e0b063;padding-bottom:.1rem}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#fff;border-bottom-color:#fff}
@media screen and (max-width:960px){.hero-visual {flex-direction:column;gap:1.5rem}
.hero-media-column {flex:1 1 auto;width:100%;max-width:640px;margin:0 auto}
.movie-info-column {flex:1 1 auto}
.timeline-horizontal {grid-template-columns:repeat(2,1fr);gap:1.5rem .75rem}
.timeline-horizontal::before {display:none}
.timeline-item::before {top:-.65rem}
.detail-list {grid-template-columns:1fr}
.rec-list, .recommendation-panel:first-of-type .rec-list, .recommendation-panel:nth-of-type(2) .rec-list, .recommendation-panel:last-of-type .rec-list {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media screen and (max-width:640px){body {font-size:14px}
header {padding:0 1rem}
main {padding:1rem 1rem 2rem}
.hero-visual {padding:1.25rem}
.movie-title {font-size:1.5rem}
.cast-list li {font-size:.8rem}
.timeline-horizontal {grid-template-columns:1fr;gap:1rem}
.comments-grid {grid-template-columns:1fr}
.rec-list, .recommendation-panel:first-of-type .rec-list, .recommendation-panel:nth-of-type(2) .rec-list, .recommendation-panel:last-of-type .rec-list {grid-template-columns:repeat(2,minmax(0,1fr))}
.episode-title-row {flex-wrap:wrap;gap:.5rem}
.episode-name {flex-basis:100%;order:2}
.episode-duration {order:3;margin-left:auto}
.episode-number {order:1}
.episode-title-row::after {display:none}
.player-controls {justify-content:center}}
@media screen and (max-width:400px){.rec-list, .recommendation-panel:first-of-type .rec-list, .recommendation-panel:nth-of-type(2) .rec-list, .recommendation-panel:last-of-type .rec-list {grid-template-columns:1fr}
.episode-status {flex-direction:column;gap:.5rem}
.category-bar {gap:.3rem;padding:.5rem 0}
.runtime-category {padding:.2rem .7rem;font-size:.8rem}}

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}
