*, *::before, *::after {margin:0;padding:0;box-sizing:border-box}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%}
body {background:#0d0d0d;color:#e6d5b8;font-family:"PingFang SC","Microsoft YaHei","Heiti SC",sans-serif;line-height:1.45;font-weight:400;min-width:320px;overflow-x:hidden}
img, video {display:block;max-width:100%}
a {color:#e6d5b8}
button {font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul {list-style:none}
dl, dd, dt {margin:0}
header {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.75rem 1rem;background:#1a1a1a;border-bottom:3px solid #d4a017;position:sticky;top:0;z-index:50;flex-wrap:wrap}
header>a[data-contract="site-name"], a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#f0e6d2;text-decoration:none;font-weight:900;letter-spacing:0.05em}
a[data-contract="site-name"]:hover, a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#ffb400;text-decoration:underline;text-underline-offset:4px}
nav[data-contract="categories"] {display:flex;gap:0.4rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.runtime-category {color:#e6d5b8;text-decoration:none;background:#2a2a2a;border:1px solid #3d3d3d;padding:0.25rem 0.65rem;font-size:0.8rem;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:0.04em;transition:background 0.15s,color 0.15s,border-color 0.15s}
.runtime-category:hover, .runtime-category:focus {background:#d4a017;color:#111;border-color:#d4a017;text-decoration:none}
main {display:block;max-width:1200px;margin:0 auto;padding:0 0 1rem}
section[data-fragment="movie-overview"] {display:grid;grid-template-columns:minmax(0,1fr);gap:0.6rem;padding:0.8rem 0.8rem 0.4rem;background:#141414;border:1px solid #2b2b2b;border-top:4px solid #d4a017;margin:0.5rem 0.8rem 0;box-shadow:0 4px 12px rgba(0,0,0,0.6)}
.poster-shell {width:100%;max-width:420px;margin:0 auto;border:2px solid #3a3a3a;box-shadow:0 0 0 1px #d4a017 inset,8px 8px 0 rgba(212,160,23,0.25);background:#000}
.poster-shell img {width:100%;aspect-ratio:2/3;object-fit:cover}
.movie-title {font-size:clamp(1.3rem,4vw,2rem);font-weight:900;color:#f5e7c8;text-shadow:2px 2px 0 #000,4px 4px 0 rgba(212,160,23,0.3);line-height:1.15;margin-top:0.4rem;letter-spacing:0.02em;text-align:center}
.movie-tagline {font-size:clamp(0.85rem,2.5vw,1.1rem);color:#d4a017;font-weight:700;margin-top:0.2rem;letter-spacing:0.06em;border-left:4px solid #d4a017;border-right:4px solid #d4a017;padding:0.3rem 0.5rem;background:rgba(212,160,23,0.08);text-align:center}
.episode-status-panel {background:#0f0f0f;border:1px solid #333;padding:0.7rem;display:grid;gap:0.5rem;grid-template-columns:auto auto auto auto;align-items:baseline;justify-content:start;position:relative}
.episode-current-label {font-size:0.75rem;color:#d4a017;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;background:#1f1f1f;padding:0.15rem 0.4rem;border-left:3px solid #d4a017}
.episode-current-number {font-size:1.4rem;font-weight:900;color:#f5e7c8;line-height:1}
.episode-separator {font-size:1.2rem;color:#555;font-weight:700}
.episode-total-number {font-size:0.9rem;color:#999;font-weight:700;align-self:end;padding-bottom:0.2rem}
.episode-status-panel video {grid-column:1/-1;width:100%;aspect-ratio:16/9;background:#000;border:2px solid #2a2a2a;box-shadow:0 0 0 1px #d4a017 inset}
.player-controls {grid-column:1/-1;display:flex;flex-wrap:wrap;gap:0.35rem;padding:0.3rem 0;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;background:#111}
.player-controls button {background:#222;border:1px solid #3d3d3d;color:#d9c9a8;font-size:0.75rem;font-weight:700;padding:0.3rem 0.6rem;transition:background 0.15s,color 0.15s;white-space:nowrap}
.player-controls button:hover {background:#d4a017;color:#111;border-color:#d4a017}
.video.is-muted {box-shadow:0 0 0 3px #8b0000 inset}
.video.volume-highlight {box-shadow:0 0 0 3px #00c8ff inset}
.video.speed-fast {outline:3px dashed #d4a017;outline-offset:-3px}
.video.progress-indicator {outline:3px solid #ff6600;outline-offset:-3px}
.video.theater-mode {position:fixed;inset:auto;width:90vw;max-width:1400px;z-index:100;box-shadow:0 0 40px rgba(0,0,0,0.8);border:3px solid #d4a017}
.video.lights-dim {filter:brightness(0.7) contrast(1.1)}
.player-controls .play {font-weight:900;color:#d4a017}
.player-controls .mute.is-muted {background:#8b0000;color:#fff}
.player-controls .progress-indicator {background:#ff6600;color:#111}
.player-controls .speed-fast {background:#d4a017;color:#111}
.player-controls .fullscreen {background:#333}
.player-controls .theater-mode {background:#d4a017;color:#111}
.player-controls .lights-dim {background:#444;color:#ffcc00}
.player-controls .volume-highlight {background:#00c8ff;color:#111}
.player-controls .pip {background:#2a4a6a}
.cast-panel {border:1px solid #2b2b2b;padding:0.5rem;background:#111}
.cast-heading {font-size:1.1rem;font-weight:900;color:#d4a017;margin-bottom:0.4rem;text-transform:uppercase;letter-spacing:0.08em;border-bottom:2px solid #d4a017;padding-bottom:0.2rem}
.cast-list {display:flex;flex-wrap:wrap;gap:0.4rem;justify-content:flex-start}
.cast-card {background:#1f1f1f;border:1px solid #3a3a3a;border-left:4px solid #d4a017;padding:0.4rem 0.7rem;transition:background 0.15s,transform 0.1s;flex:0 1 auto}
.cast-card:hover {background:#2a2a2a;transform:translateX(2px)}
.cast-name {font-weight:800;font-size:0.95rem;color:#e8dcc8;white-space:nowrap}
.synopsis-panel {border:1px solid #2b2b2b;padding:0.5rem;background:#111}
.section-title {font-size:1.2rem;font-weight:900;color:#d4a017;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.4rem;border-bottom:3px solid #d4a017;padding-bottom:0.2rem;position:relative}
.section-title::after {content:"";position:absolute;left:0;bottom:-3px;width:35%;height:3px;background:#ffb400}
.synopsis-paragraph {font-size:0.9rem;line-height:1.7;color:#d4c7ae;margin-bottom:0.7rem;text-align:justify;writing-mode:horizontal-tb;border-left:2px solid #333;padding-left:0.5rem;text-indent:1.2em}
.synopsis-paragraph:last-child {margin-bottom:0}
.details-panel {border:1px solid #2b2b2b;padding:0.5rem;background:#111}
.details-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0.3rem}
.detail-row {background:#1a1a1a;border:1px solid #2e2e2e;padding:0.3rem 0.5rem;display:flex;justify-content:space-between;gap:0.5rem;align-items:baseline}
.detail-row dt {font-size:0.75rem;color:#999;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;flex-shrink:0}
.detail-row dd {font-size:0.85rem;color:#f0e6d2;font-weight:800;text-align:right;word-break:break-word}
.timeline-section {margin:0.8rem;padding:0.5rem;background:#111;border:1px solid #2b2b2b;border-top:3px solid #d4a017}
.timeline-scroll {display:flex;gap:0.6rem;overflow-x:auto;padding:0.5rem 0 0.8rem;scrollbar-width:thin;scrollbar-color:#d4a017 #1a1a1a;align-items:stretch}
.timeline-scroll::-webkit-scrollbar {height:6px}
.timeline-scroll::-webkit-scrollbar-track {background:#1a1a1a}
.timeline-scroll::-webkit-scrollbar-thumb {background:#d4a017;border-radius:0}
.timeline-item {flex:0 0 auto;width:210px;background:#1a1a1a;border:1px solid #333;border-top:3px solid #d4a017;padding:0.5rem;display:flex;flex-direction:column;gap:0.3rem;min-height:90px;justify-content:flex-start}
.timeline-item::before {content:"▲";color:#d4a017;font-size:0.7rem;display:block;margin-bottom:-0.1rem}
.timecode {font-size:0.75rem;color:#d4a017;font-weight:900;font-family:monospace;letter-spacing:0.03em}
.timeline-label {font-size:0.8rem;color:#cfc4ae;line-height:1.4}
.episodes-section {margin:0.8rem;padding:0.5rem;background:#111;border:1px solid #2b2b2b;border-top:3px solid #d4a017}
.episode-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0.5rem}
.episode-card {background:#1a1a1a;border:1px solid #333;border-left:5px solid #d4a017;padding:0.5rem;display:flex;flex-direction:column;gap:0.25rem;min-height:130px;transition:background 0.15s,border-color 0.15s}
.episode-card:hover {background:#222;border-left-color:#ffb400}
.episode-number {font-size:1.4rem;font-weight:900;color:#d4a017;line-height:1;margin-bottom:0.1rem}
.episode-title {font-size:1rem;font-weight:900;color:#f5e7c8;letter-spacing:0.04em}
.episode-summary {font-size:0.78rem;color:#b8ae99;line-height:1.45;flex:1}
.episode-duration {font-size:0.7rem;color:#888;font-weight:700;border-top:1px solid #2a2a2a;padding-top:0.2rem;margin-top:auto}
.comments-section {margin:0.8rem;padding:0.5rem;background:#111;border:1px solid #2b2b2b;border-top:3px solid #d4a017}
.comments-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0.5rem}
.comment-bubble {background:#1a1a1a;border:1px solid #333;border-radius:0;padding:0.5rem;position:relative;display:flex;flex-direction:column;gap:0.3rem;border-left:4px solid #d4a017}
.comment-bubble::before {content:"";position:absolute;top:-8px;left:0;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:8px solid #d4a017;opacity:0.6}
.comment-nickname {font-size:0.8rem;font-weight:900;color:#d4a017;letter-spacing:0.03em}
.comment-text {font-size:0.85rem;color:#d4c7ae;line-height:1.5}
section[data-fragment="recommendations"] {margin:0.8rem;padding:0.5rem;background:#111;border:1px solid #2b2b2b;border-top:3px solid #d4a017}
.recommendation-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:0.6rem}
a[data-runtime="recommendation"] {display:flex;flex-direction:column;background:#1a1a1a;border:1px solid #333;border-bottom:3px solid #d4a017;padding:0.4rem;text-decoration:none;color:#e6d5b8;transition:background 0.15s,border-color 0.15s,transform 0.1s;min-width:0}
a[data-runtime="recommendation"] img {width:100%;aspect-ratio:2/3;object-fit:cover;background:#000;border:1px solid #2a2a2a;margin-bottom:0.35rem}
a[data-runtime="recommendation"] span[data-runtime="name"] {font-size:0.85rem;font-weight:900;color:#f0e6d2;line-height:1.3;white-space:normal;word-break:break-all}
a[data-runtime="recommendation"] span[data-runtime="blurb"] {font-size:0.72rem;color:#aaa;line-height:1.4;margin-top:0.15rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
a[data-runtime="recommendation"]:hover {background:#222;border-color:#ffb400;color:#fff;transform:translateY(-2px)}
a[data-runtime="recommendation"]:hover span[data-runtime="name"] {color:#d4a017}
footer {background:#1a1a1a;border-top:3px solid #d4a017;padding:0.8rem;display:flex;flex-wrap:wrap;gap:0.5rem 1rem;align-items:center;justify-content:space-between;font-size:0.8rem;color:#aaa}
footer>div[data-contract="disclaimer"] {flex-basis:100%;color:#999;font-size:0.7rem;line-height:1.5;border-left:3px solid #d4a017;padding-left:0.4rem}
nav[data-contract="friend-links"] {display:flex;flex-wrap:wrap;gap:0.3rem;align-items:center;margin-left:auto}
.friend-links-label {font-size:0.7rem;color:#d4a017;font-weight:900;text-transform:uppercase;letter-spacing:0.06em;border:1px solid #d4a017;padding:0.1rem 0.35rem}
.runtime-friend-link {color:#c0b49a;text-decoration:none;font-size:0.75rem;padding:0.2rem 0.4rem;background:#222;border:1px solid #2e2e2e;white-space:nowrap}
.runtime-friend-link:hover {color:#d4a017;text-decoration:underline;border-color:#d4a017;background:#1a1a1a}
footer>a[data-contract="footer-home"], footer>a[data-contract="footer-sitemap"] {font-size:0.8rem;padding:0.2rem 0.5rem;background:#222;border:1px solid #333}
footer>a[data-contract="footer-home"]:hover, footer>a[data-contract="footer-sitemap"]:hover {background:#d4a017;color:#111;border-color:#d4a017}
section[data-fragment="movie-overview"] .section-title {font-size:1rem;margin-top:0.3rem}
.poster-shell, .movie-title, .movie-tagline, .episode-status-panel, .cast-panel, .synopsis-panel, .details-panel {max-width:100%}
@media (min-width:640px){section[data-fragment="movie-overview"] {grid-template-columns:minmax(0,1fr);padding:1rem}
.poster-shell {max-width:360px;margin:0 0 0.5rem}
.movie-title, .movie-tagline {grid-column:1/-1;text-align:left}
.movie-tagline {border-left-width:6px;border-right:none;padding-left:0.6rem}
.episode-status-panel {grid-template-columns:auto auto auto auto minmax(0,1fr);align-items:start}
.episode-status-panel video {grid-column:5/-1;grid-row:1/2;max-width:480px;min-width:280px;width:100%}
.episode-current-label, .episode-current-number, .episode-separator, .episode-total-number {grid-column:1/5}
.episode-current-label {grid-row:1}
.episode-current-number {grid-row:2}
.episode-separator {grid-row:2;grid-column:3/4}
.episode-total-number {grid-row:2;grid-column:4/5}
.player-controls {grid-column:5/-1;grid-row:2;border-top:none;border-bottom:none;align-content:start;padding:0.2rem 0}
.cast-panel, .synopsis-panel, .details-panel {margin-top:0.3rem}}
@media (min-width:768px){section[data-fragment="movie-overview"] {grid-template-columns:minmax(0,1fr)}
.poster-shell {order:1;grid-column:1/2;grid-row:1/6;max-width:300px;margin-right:1rem}
.movie-title {order:2;grid-column:2/3;grid-row:1;text-align:left;margin-top:0}
.movie-tagline {order:3;grid-column:2/3;grid-row:2}
.episode-status-panel {order:4;grid-column:2/3;grid-row:3;grid-template-columns:auto auto auto auto;min-width:0}
.episode-status-panel video {grid-column:1/-1;grid-row:auto;max-width:none;width:100%}
.player-controls {grid-column:1/-1;grid-row:auto}
.cast-panel {order:5;grid-column:2/3;grid-row:4}
.synopsis-panel {order:6;grid-column:2/3;grid-row:5}
.details-panel {order:7;grid-column:2/3;grid-row:6}
.cast-list {flex-direction:row;flex-wrap:wrap}
.cast-card {flex:1 1 auto;min-width:80px}
.timeline-scroll {gap:0.8rem}
.timeline-item {width:220px}
.episode-grid {grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.comments-grid {grid-template-columns:repeat(2,1fr)}
.recommendation-row {grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}
@media (min-width:1024px){main {padding:0 1rem 1rem}
section[data-fragment="movie-overview"] {grid-template-columns:minmax(0,1fr);gap:0.8rem}
.poster-shell {max-width:300px;margin-right:1.5rem}
.episode-status-panel {grid-template-columns:auto auto auto auto minmax(0,1fr);align-items:start}
.episode-status-panel video {grid-column:5/-1;grid-row:1/3;max-width:520px;min-width:360px}
.player-controls {grid-column:5/-1;grid-row:3;grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}
.cast-list {flex-direction:column;flex-wrap:nowrap;gap:0.3rem}
.cast-card {flex:1 1 auto;min-width:0}
.details-grid {grid-template-columns:repeat(2,1fr)}
.timeline-item {width:240px}
.episode-grid {grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.comments-grid {grid-template-columns:repeat(2,1fr)}
.recommendation-row {grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.synopsis-paragraph {column-count:2;column-gap:1.5rem;text-indent:0;border-left:none;padding-left:0}
.synopsis-paragraph:first-of-type {border-left:2px solid #d4a017;padding-left:0.5rem}}
@media (max-width:480px){header {padding:0.5rem;flex-direction:column;align-items:flex-start;gap:0.3rem}
nav[data-contract="categories"] {justify-content:flex-start;max-width:100%;overflow-x:auto}
.runtime-category {font-size:0.7rem;padding:0.2rem 0.5rem}
.movie-title {font-size:1.1rem}
.movie-tagline {font-size:0.8rem}
.episode-status-panel {grid-template-columns:1fr 1fr auto auto;gap:0.3rem;padding:0.4rem}
.episode-current-number {font-size:1.1rem}
.episode-total-number {font-size:0.75rem}
.player-controls {display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:0.25rem}
.player-controls button {font-size:0.65rem;padding:0.25rem 0.4rem}
.cast-list {flex-direction:row;flex-wrap:wrap}
.cast-card {flex:1 1 40%}
.episode-grid {grid-template-columns:1fr}
.comments-grid {grid-template-columns:1fr}
.recommendation-row {grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.timeline-scroll {gap:0.4rem}
.timeline-item {width:190px}
.details-grid {grid-template-columns:1fr}
.cast-panel, .synopsis-panel, .details-panel {padding:0.4rem}
.synopsis-paragraph {font-size:0.85rem;line-height:1.6}
footer {flex-direction:column;align-items:flex-start;gap:0.5rem}
nav[data-contract="friend-links"] {margin-left:0}}
@media (max-width:639px){.poster-shell {max-width:280px}
.episode-status-panel video {min-width:0}
.cast-panel, .synopsis-panel, .details-panel {width:100%}}
@media (max-width:359px){.movie-title {font-size:1rem}
.episode-grid {grid-template-columns:1fr}
.recommendation-row {grid-template-columns:1fr}
.cast-card {flex:1 1 100%}
.timeline-item {width:100%}
.timeline-scroll {flex-direction:column;overflow-x:visible}}

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}
