*, *::before, *::after {margin:0;padding:0;box-sizing:border-box}
html {font-size:16px;-webkit-text-size-adjust:100%}
body {background:#141414;color:#e8e0d0;font-family:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.5;overflow-x:hidden}
img {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
button {font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul {list-style:none}
h1, h2, h3 {font-weight:700;line-height:1.2;font-family:Georgia,"Times New Roman","Songti SC",serif}
video {display:block}
header {position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.2rem;background:rgba(20,20,20,.95);border-bottom:1px solid #2c2c2c;backdrop-filter:blur(6px)}
a[data-contract="site-name"] {font-family:Georgia,"Times New Roman",serif;font-size:1.4rem;font-weight:700;letter-spacing:.08em;color:#e8c77a;text-transform:uppercase}
a[data-contract="site-name"]:hover {color:#f0d89a;text-decoration:underline}
nav[data-contract="categories"] {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem .6rem}
.runtime-category {color:#c8bfae;font-size:.85rem;line-height:1;padding:.25rem .45rem;border-radius:.2rem;white-space:nowrap;transition:background .2s,color .2s}
.runtime-category:hover {background:#2a2418;color:#e8c77a;text-decoration:underline}
.hero-panel {background:linear-gradient(180deg,#1a1a1a 0%,#141414 100%);border-bottom:1px solid #2c2c2c}
.hero-media {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:1.2rem;padding:1.2rem 1.2rem .6rem;align-items:start}
.poster-shell {width:100%;max-width:360px;justify-self:center;box-shadow:0 8px 30px rgba(0,0,0,.6)}
.main-poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;border:1px solid #3a3328}
.hero-title-block {display:flex;flex-direction:column;justify-content:flex-end;gap:.4rem;padding-bottom:1rem}
.film-title {font-size:clamp(1.6rem,4vw,2.8rem);color:#e8c77a;letter-spacing:.05em;text-shadow:0 2px 15px rgba(0,0,0,.7)}
.film-tagline {font-family:Georgia,serif;font-size:clamp(.9rem,2vw,1.15rem);color:#b8a888;font-style:italic;letter-spacing:.04em}
.film-tagline::before, .film-tagline::after {content:"—";color:#e8c77a;margin:0 .4rem}
.info-grid {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;padding:.6rem 1.2rem 1.4rem;align-items:start}
.cast-block {grid-column:span 3}
.synopsis-block {grid-column:span 4}
.episode-status-block {grid-column:span 5}
.details-block {grid-column:span 4}
.block-heading {font-size:1.1rem;color:#e8c77a;border-bottom:1px solid #3a3328;padding-bottom:.3rem;margin-bottom:.6rem;letter-spacing:.06em;text-transform:uppercase}
.actor-card-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.actor-item {background:#1d1d1d;border:1px solid #2c2c2c;border-radius:.3rem;padding:.45rem .5rem;text-align:center;transition:border-color .2s,background .2s}
.actor-item:hover {border-color:#e8c77a;background:#241f18}
.actor-name {font-size:.9rem;color:#d8d0c0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.synopsis-text {display:flex;flex-direction:column;gap:.35rem}
.synopsis-para {font-size:.9rem;line-height:1.55;color:#c0b8a8;text-align:justify}
.synopsis-para:first-child::first-letter {font-size:2.2rem;font-weight:700;color:#e8c77a;font-family:Georgia,serif;float:left;margin-right:.3rem;line-height:1}
.episode-status-block {background:rgba(255,255,255,.03);border:1px solid #2c2c2c;border-radius:.4rem;padding:.8rem}
.player-wrap {width:100%;min-width:0}
.player-wrap video {aspect-ratio:16/9;width:100%;background:#000;border:1px solid #3a3328;border-radius:.3rem}
.player-controls {display:flex;flex-wrap:wrap;gap:.3rem;padding:.4rem 0 0}
.player-controls button {background:#1d1d1d;border:1px solid #3a3328;border-radius:.2rem;padding:.25rem .5rem;font-size:.75rem;color:#c8bfae;transition:background .2s,color .2s,border-color .2s}
.player-controls button:hover {background:#2a2418;border-color:#e8c77a;color:#e8c77a}
.progress-meta {display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #3a3328}
.current-episode-label, .total-episodes-label {font-size:.85rem;color:#a89a80}
.current-episode-label strong {color:#e8c77a;font-size:1.1rem;font-family:Georgia,serif}
.total-episodes-label::before {content:"·";margin:0 .4rem;color:#e8c77a}
.detail-list {display:flex;flex-direction:column;gap:.25rem}
.detail-list li {font-size:.88rem;color:#c0b8a8;padding:.2rem 0;border-bottom:1px dotted #2c2c2c;display:flex;flex-wrap:wrap}
.detail-list li:last-child {border-bottom:none}
.detail-item {color:#e8c77a;font-weight:600;min-width:4.5em;flex-shrink:0}
.timeline-section {padding:1.4rem 1.2rem 1rem;border-bottom:1px solid #2c2c2c;background:#181818}
.section-title {font-size:1.5rem;color:#e8c77a;text-align:center;margin-bottom:1rem;letter-spacing:.1em;text-transform:uppercase}
.timeline-vertical {position:relative;max-width:900px;margin:0 auto;display:flex;flex-direction:column}
.timeline-vertical::before {content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#e8c77a,#3a3328)}
.timeline-item {display:flex;align-items:center;gap:1rem;padding:.5rem 0;width:50%;position:relative}
.timeline-item:nth-child(odd) {align-self:flex-start;flex-direction:row-reverse;text-align:right;padding-right:2rem}
.timeline-item:nth-child(even) {align-self:flex-end;padding-left:2rem}
.timeline-marker {width:14px;height:14px;border-radius:50%;background:#e8c77a;border:3px solid #141414;box-shadow:0 0 8px rgba(232,199,122,.6);flex-shrink:0;position:relative;z-index:1}
.timeline-item:nth-child(odd) .timeline-marker {margin-left:auto;margin-right:-7px}
.timeline-item:nth-child(even) .timeline-marker {margin-right:auto;margin-left:-7px}
.timeline-content {display:flex;flex-direction:column;gap:.15rem}
.timeline-item:nth-child(odd) .timeline-content {align-items:flex-end}
.timeline-item:nth-child(even) .timeline-content {align-items:flex-start}
.timecode {font-family:Georgia,serif;font-size:1.1rem;font-weight:700;color:#e8c77a}
.timeline-label {font-size:.9rem;color:#c0b8a8;line-height:1.4}
.episodes-section {padding:1.4rem 1.2rem;border-bottom:1px solid #2c2c2c;background:#141414}
.episode-scroll {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
.episode-card {background:#1d1d1d;border:1px solid #2c2c2c;border-radius:.3rem;padding:.7rem;display:flex;flex-direction:column;gap:.3rem;transition:border-color .2s,transform .2s}
.episode-card:hover {border-color:#e8c77a;transform:translateY(-2px)}
.episode-number {font-family:Georgia,serif;font-size:1.5rem;font-weight:700;color:#e8c77a;line-height:1}
.episode-title {font-size:1rem;font-weight:600;color:#e0d8c8;font-family:Georgia,serif}
.episode-summary {font-size:.82rem;color:#a8a090;line-height:1.4;flex-grow:1}
.episode-duration {font-size:.75rem;color:#8a8070;border-top:1px dotted #3a3328;padding-top:.3rem;margin-top:.3rem}
.comments-section {padding:1.4rem 1.2rem;border-bottom:1px solid #2c2c2c;background:#181818}
.comment-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;max-width:1100px;margin:0 auto}
.comment-bubble {background:#1d1d1d;border:1px solid #3a3328;border-radius:1rem 1rem 1rem .3rem;padding:.8rem;position:relative;transition:border-color .2s}
.comment-bubble::before {content:"";position:absolute;bottom:-0.5rem;left:1.2rem;width:.8rem;height:.8rem;background:#1d1d1d;border-right:1px solid #3a3328;border-bottom:1px solid #3a3328;transform:rotate(45deg)}
.comment-bubble:hover {border-color:#e8c77a}
.comment-author {display:block;font-weight:600;color:#e8c77a;font-size:.88rem;margin-bottom:.3rem}
.comment-text {font-size:.85rem;color:#c0b8a8;line-height:1.5}
.recommend-row {padding:1.2rem 1.2rem .8rem;border-bottom:1px solid #2c2c2c;background:#141414}
.recommend-title {font-size:1.2rem;color:#e8c77a;margin-bottom:.6rem;letter-spacing:.06em}
.recommend-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem}
a[data-runtime="recommendation"] {display:flex;flex-direction:column;gap:.25rem;background:#1d1d1d;border:1px solid #2c2c2c;border-radius:.3rem;padding:.5rem;transition:border-color .2s,box-shadow .2s}
a[data-runtime="recommendation"]:hover {border-color:#e8c77a;box-shadow:0 4px 15px rgba(0,0,0,.5)}
a[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:.2rem;background:#000}
a[data-runtime="recommendation"] [data-runtime="name"] {font-weight:600;color:#e0d8c8;font-size:.9rem;line-height:1.3}
a[data-runtime="recommendation"] [data-runtime="blurb"] {font-size:.78rem;color:#a8a090;line-height:1.4}
footer {padding:1.2rem;background:#111;border-top:1px solid #2c2c2c;display:flex;flex-direction:column;gap:.8rem}
.footer-legal {font-size:.8rem;color:#8a8070;line-height:1.6;max-width:800px}
.footer-links {display:flex;gap:1.2rem;flex-wrap:wrap}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {font-size:.9rem;color:#c8bfae}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#e8c77a;text-decoration:underline}
.friend-links {display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem}
.friend-label {font-size:.8rem;color:#8a8070;flex-shrink:0}
.runtime-friend-link {font-size:.8rem;color:#a89a80;white-space:nowrap}
.runtime-friend-link:hover {color:#e8c77a;text-decoration:underline}
.player.theater-mode {max-width:100%}
body.lights-off {background:#000}
body.lights-off main, body.lights-off footer, body.lights-off header {opacity:.1;pointer-events:none}
.player.fullscreen {width:100%;height:100%}
.player.mute {opacity:.8}
.player.pip {position:fixed;bottom:1rem;right:1rem;width:320px;z-index:1000;box-shadow:0 8px 30px rgba(0,0,0,.8)}
.player.speed::after {content:"1.5x";position:absolute;top:0;right:0;background:#e8c77a;color:#000;font-size:.7rem;padding:.1rem .3rem;border-radius:0 0 0 .2rem}
.player.progress::before {content:"▸ 8/12";position:absolute;bottom:0;left:0;background:rgba(0,0,0,.7);color:#e8c77a;font-size:.75rem;padding:.2rem .4rem}
.player.play::after {content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;color:#e8c77a;background:rgba(0,0,0,.6);border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center}
.player.volume::after {content:"♪";position:absolute;top:.5rem;right:.5rem;font-size:1rem;color:#e8c77a}
.data-player-action:active {transform:scale(.95)}
@media (max-width:1100px){.cast-block {grid-column:span 4}
.synopsis-block {grid-column:span 8}
.episode-status-block {grid-column:span 12}
.details-block {grid-column:span 8}
.episode-scroll {grid-template-columns:repeat(3,minmax(0,1fr))}
.comment-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.hero-media {grid-template-columns:1fr;gap:.8rem}
.poster-shell {max-width:280px}
.hero-title-block {align-items:center;text-align:center}
.timeline-vertical::before {left:20px}
.timeline-item {width:100%;padding-left:3rem;padding-right:0;flex-direction:row!important;text-align:left!important}
.timeline-item:nth-child(odd) {align-self:auto}
.timeline-item:nth-child(even) {align-self:auto}
.timeline-item:nth-child(odd) .timeline-marker {margin-left:0;margin-right:0}
.timeline-item:nth-child(even) .timeline-marker {margin-left:0;margin-right:0}
.timeline-marker {position:absolute;left:20px;transform:translateX(-50%)}
.timeline-item:nth-child(odd) .timeline-content {align-items:flex-start;text-align:left}
.timeline-item:nth-child(even) .timeline-content {align-items:flex-start;text-align:left}
.episode-scroll {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){header {flex-direction:column;align-items:flex-start;gap:.3rem}
.hero-panel, .episodes-section, .comments-section, .timeline-section, .recommend-row {padding-left:.8rem;padding-right:.8rem}
.info-grid {grid-template-columns:1fr;padding-left:.8rem;padding-right:.8rem}
.cast-block, .synopsis-block, .episode-status-block, .details-block {grid-column:span 1}
.actor-card-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.episode-scroll {grid-template-columns:1fr}
.comment-grid {grid-template-columns:1fr}
.recommend-list {grid-template-columns:1fr}
.timeline-item {width:100%;padding-left:2.5rem}
.timeline-vertical::before {left:15px}
.timeline-marker {left:15px;width:12px;height:12px}
.timeline-item:nth-child(odd) .timeline-content, .timeline-item:nth-child(even) .timeline-content {align-items:flex-start;text-align:left}
.player-controls button {flex:1 1 auto}
.poster-shell {max-width:220px}}

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}
