*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
:root {color-scheme:dark;--bg:#050208;--bg-2:#0e0814;--bg-3:#160b1e;--ink:#e8d9f0;--ink-dim:#9d8ba8;--line:#2b1c36;--neon:#ff2e88;--neon-soft:#ff5ca8;--neon-glow:0 0 8px rgba(255,46,136,.5),0 0 18px rgba(255,46,136,.2);--purple:#7a4dff;--blue:#1e2a5a;--radius:2px}
html {font-size:14px}
body {font-family:"HarmonyOS Sans SC","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;letter-spacing:.02em;overflow-x:hidden}
main {max-width:1400px;margin:0 auto;padding:0 16px 40px}
a {color:inherit;text-decoration:none}
img {display:block;max-width:100%}
button {font:inherit;color:inherit;background:none;border:none;cursor:pointer}
input[type=range] {accent-color:var(--neon)}
h1, h2 {font-weight:700;letter-spacing:.04em}
h2.block-heading {font-size:1rem;text-transform:uppercase;color:var(--neon);display:flex;align-items:center;gap:8px;white-space:nowrap}
h2.block-heading::before {content:"";width:4px;height:1.2em;background:var(--neon);box-shadow:var(--neon-glow)}
h2.block-heading::after {content:"";flex:1;height:1px;background:var(--line)}
header {position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;padding:12px 24px;background:rgba(5,2,8,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-brand {font-weight:800;font-size:1.15rem;letter-spacing:.12em;color:var(--neon);text-shadow:var(--neon-glow);white-space:nowrap}
.site-brand:hover {color:#fff}
nav[data-contract=categories] {display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
nav[data-contract=categories]::-webkit-scrollbar {display:none}
.runtime-category {display:inline-block;padding:4px 12px;color:var(--ink-dim);font-size:.875rem;white-space:nowrap;border-left:2px solid transparent;transition:all .2s}
.runtime-category:hover {color:var(--neon);border-left-color:var(--neon);text-shadow:var(--neon-glow)}
.hero-cinema {position:relative;display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.4fr);gap:0;margin:0 -16px 0;padding:0 16px 0;background:radial-gradient(ellipse at 20% 0%,rgba(30,42,90,.35) 0%,transparent 55%),radial-gradient(ellipse at 80% 100%,rgba(255,46,136,.12) 0%,transparent 55%),linear-gradient(180deg,var(--bg-2) 0%,var(--bg) 100%);border-bottom:1px solid var(--line)}
.poster-veil {position:relative;padding:24px 0 0;align-self:start;z-index:1}
.poster-img {width:100%;max-width:400px;aspect-ratio:2/3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);filter:saturate(1.1) contrast(1.1);position:relative;z-index:1}
.neon-duplicate {position:absolute;top:0;left:0;width:100%;height:calc(100% - 4px);max-width:400px;aspect-ratio:2/3;background:linear-gradient(135deg,transparent 40%,rgba(255,46,136,.4) 100%);border-radius:var(--radius);transform:translate(8px,10px) skew(-2deg);filter:blur(1px);z-index:0;pointer-events:none;mix-blend-mode:screen}
.poster-veil::after {content:"";position:absolute;top:24px;left:0;right:0;bottom:0;max-width:400px;background:radial-gradient(ellipse at center,transparent 50%,rgba(5,2,8,.6) 100%);pointer-events:none;z-index:2}
.movie-info-panel {position:relative;z-index:3;padding:24px 0 24px 32px;display:flex;flex-direction:column;gap:18px;background:linear-gradient(90deg,rgba(5,2,8,.85) 0%,transparent 100%)}
.movie-title {font-size:1.6rem;font-weight:800;line-height:1.2;color:#fff;text-shadow:0 0 12px rgba(255,46,136,.4),0 2px 4px rgba(0,0,0,.6);letter-spacing:.06em}
.tagline {color:var(--neon-soft);font-size:.9rem;letter-spacing:.1em;border-left:2px solid var(--neon);padding-left:12px;text-shadow:var(--neon-glow)}
.synopsis-block {display:flex;flex-direction:column;gap:8px}
.synopsis-para {font-size:.875rem;color:var(--ink-dim);line-height:1.7;text-align:justify;max-width:65ch}
.cast-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:start}
.cast-member {display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.cast-avatar {width:100%;max-width:80px;aspect-ratio:1/1;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--neon));position:relative;overflow:hidden;border:2px solid var(--line);box-shadow:0 0 0 2px rgba(255,46,136,.15)}
.cast-avatar::after {content:"";position:absolute;top:-20%;left:-20%;width:100%;height:100%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.3),transparent 60%)}
.cast-name {font-size:.8rem;color:var(--ink);letter-spacing:.08em}
.episode-status-block {display:flex;flex-direction:column;gap:10px}
.status-meta {display:flex;gap:16px;font-size:.85rem;color:var(--ink-dim)}
.total-episodes, .current-episode {display:inline-flex;align-items:center;gap:6px}
.total-episodes::before, .current-episode::before {content:"";width:6px;height:6px;background:var(--neon);border-radius:50%;box-shadow:var(--neon-glow)}
.episode-card-row {display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.episode-card {background:rgba(14,8,20,.7);border:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:6px;position:relative;border-radius:var(--radius);transition:border-color .2s}
.episode-card:hover {border-color:var(--neon)}
.episode-number {font-size:1.4rem;font-weight:800;color:transparent;-webkit-text-stroke:1px var(--neon);text-shadow:none;line-height:1}
.episode-title {font-size:.95rem;font-weight:600;color:#fff}
.episode-summary {font-size:.75rem;color:var(--ink-dim);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.episode-duration {font-size:.7rem;color:var(--neon-soft);letter-spacing:.05em;margin-top:auto}
.movie-details {display:flex;flex-direction:column;gap:10px}
.detail-list {display:grid;grid-template-columns:repeat(2,1fr);gap:4px 24px}
.detail-item {display:flex;gap:8px;font-size:.8rem;padding:4px 0;border-bottom:1px dashed rgba(43,28,54,.4)}
.detail-item dt {color:var(--ink-dim);white-space:nowrap}
.detail-item dd {color:var(--ink);font-weight:500;margin-left:auto;text-align:right}
.player-shell {grid-column:1 / -1;margin-top:0;padding:16px 0 24px;background:linear-gradient(180deg,transparent,rgba(5,2,8,.9) 30%);position:relative}
.player-shell video {display:block;width:100%;background:#000;border:1px solid var(--line);border-radius:var(--radius)}
.player-ui-controls {display:flex;align-items:center;gap:8px;padding:10px 12px;background:rgba(14,8,20,.95);border:1px solid var(--line);border-top:none;border-radius:0 0 var(--radius) var(--radius);flex-wrap:wrap}
.player-ui-controls button {padding:4px 10px;font-size:.75rem;color:var(--ink-dim);border:1px solid var(--line);border-radius:2px;transition:all .2s;white-space:nowrap}
.player-ui-controls button:hover {color:var(--neon);border-color:var(--neon);box-shadow:var(--neon-glow)}
.player-ui-controls input[type=range] {flex:1;min-width:120px;height:4px}
.episodes-section {padding:28px 0 8px;border-bottom:1px solid var(--line)}
.episodes-section .block-heading {margin-bottom:14px}
.episode-list {display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.episode-item {display:flex;flex-direction:column;gap:4px;padding:12px;background:rgba(14,8,20,.5);border-left:2px solid var(--line);transition:border-color .2s,background .2s}
.episode-item:hover {border-left-color:var(--neon);background:rgba(14,8,20,.8)}
.episode-num {font-size:.75rem;color:var(--neon);font-weight:600;letter-spacing:.1em}
.episode-name {font-size:1rem;font-weight:600;color:#fff}
.episode-desc {font-size:.8rem;color:var(--ink-dim);line-height:1.5}
.episode-len {font-size:.7rem;color:var(--purple);letter-spacing:.05em}
.timeline-vertical {padding:24px 0;border-bottom:1px solid var(--line);position:relative}
.timeline-vertical .block-heading {margin-bottom:16px}
.timeline-vertical {display:flex;flex-direction:column;gap:0}
.timeline-vertical .block-heading {order:-1}
.timeline-entry {display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:baseline;position:relative;padding:10px 0}
.timeline-entry:not(:last-child)::after {content:"";position:absolute;left:98px;top:calc(50% + 10px);width:1px;height:calc(100% - 4px);background:linear-gradient(180deg,var(--neon),transparent)}
.timecode {font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:var(--neon-soft);letter-spacing:.05em;text-align:right;position:relative;padding-right:16px}
.timecode::before {content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--neon);border-radius:50%;box-shadow:var(--neon-glow)}
.event-label {font-size:.9rem;color:var(--ink);line-height:1.4;padding-left:8px;border-left:1px solid var(--line)}
.comments-bubble-grid {padding:24px 0;border-bottom:1px solid var(--line)}
.comments-bubble-grid .block-heading {margin-bottom:14px}
.comments-bubble-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.comments-bubble-grid .block-heading {grid-column:1/-1}
.comment-column {display:flex;flex-direction:column;gap:12px}
.comment-bubble {position:relative;background:rgba(14,8,20,.8);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.comment-bubble::before {content:"";position:absolute;top:12px;left:-8px;width:14px;height:14px;background:rgba(14,8,20,.8);border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}
.comment-nickname {font-size:.8rem;color:var(--neon);font-weight:600;letter-spacing:.05em}
.comment-text {font-size:.85rem;color:var(--ink-dim);line-height:1.5;margin:0}
.recommend-row {padding:24px 0;border-bottom:1px solid var(--line)}
.recommend-row .block-heading {margin-bottom:14px}
.rec-card-list {display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rec-card {display:flex;flex-direction:column;gap:6px;background:rgba(14,8,20,.6);border:1px solid var(--line);padding:8px;border-radius:var(--radius);transition:border-color .2s,transform .2s;height:100%;align-self:start}
.rec-card:hover {border-color:var(--neon);transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,46,136,.15)}
.rec-card img {width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:2px;background:var(--bg-2)}
.rec-card span[data-runtime=name] {font-size:.85rem;font-weight:600;color:#fff;line-height:1.3}
.rec-card span[data-runtime=blurb] {font-size:.75rem;color:var(--ink-dim);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
footer {max-width:1400px;margin:0 auto;padding:24px 16px 40px;display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--line)}
.disclaimer {font-size:.75rem;color:var(--ink-dim);line-height:1.6;text-align:center}
.footer-links {display:flex;gap:16px;justify-content:center}
.footer-links a {font-size:.85rem;color:var(--ink-dim);transition:color .2s}
.footer-links a:hover {color:var(--neon)}
.friend-links {display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:center;align-items:center;font-size:.75rem;color:var(--ink-dim)}
.friend-label {color:var(--purple);white-space:nowrap}
.runtime-friend-link {color:var(--ink-dim);transition:color .2s;white-space:nowrap}
.runtime-friend-link:hover {color:var(--neon);text-decoration:underline}
.lights-off {filter:brightness(.7)}
.lights-off .hero-cinema {filter:brightness(.9)}
.theater-mode {position:fixed;inset:0;z-index:100;background:#000;padding:0;object-fit:contain;border-radius:0}
.theater-mode + .player-ui-controls {position:fixed;bottom:0;left:0;right:0;z-index:101}
.player.play .player-ui-controls button[data-player-action=play] {color:var(--neon)}
.player.mute .player-ui-controls button[data-player-action=mute] {color:var(--neon)}
.player.pip .player-ui-controls button[data-player-action=pip] {color:var(--neon)}
.player.fullscreen .player-ui-controls button[data-player-action=fullscreen] {color:var(--neon)}
.player.theater .player-ui-controls button[data-player-action=theater] {color:var(--neon)}
.player.light .player-ui-controls button[data-player-action=light] {color:var(--neon)}
.player.progress .player-ui-controls input {accent-color:var(--neon)}
.player.timeupdate .player-ui-controls input {accent-color:var(--neon)}
.player.volume .player-ui-controls button[data-player-action=volume] {color:var(--neon)}
.player.speed .player-ui-controls button[data-player-action=speed] {color:var(--neon)}
.player.click .player-ui-controls {background:rgba(255,46,136,.1)}
.player.input .player-ui-controls input {box-shadow:var(--neon-glow)}
@media (max-width:1100px){.hero-cinema {grid-template-columns:minmax(240px,1fr) minmax(300px,1.2fr)}
.episode-card-row {grid-template-columns:repeat(3,1fr)}
.rec-card-list {grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.hero-cinema {grid-template-columns:1fr}
.poster-veil {max-width:300px;margin:0 auto;padding-bottom:0}
.poster-img, .neon-duplicate {max-width:300px;margin:0 auto}
.movie-info-panel {padding:20px 0 0}
.cast-grid {grid-template-columns:repeat(4,1fr)}
.episode-card-row {grid-template-columns:repeat(3,1fr)}
.episode-list {grid-template-columns:repeat(2,1fr)}
.timeline-entry {grid-template-columns:90px 1fr}
.timeline-entry:not(:last-child)::after {left:78px}
.comments-bubble-grid {grid-template-columns:1fr}
.rec-card-list {grid-template-columns:repeat(3,1fr)}
.detail-list {grid-template-columns:1fr 1fr}}
@media (max-width:700px){header {flex-direction:column;align-items:flex-start;gap:8px;padding:10px 16px}
nav[data-contract=categories] {width:100%}
.hero-cinema {margin:0 -16px;padding:0 16px}
.poster-veil {max-width:220px}
.poster-img, .neon-duplicate {max-width:220px}
.cast-grid {grid-template-columns:repeat(2,1fr);gap:16px}
.episode-card-row {grid-template-columns:1fr}
.episode-list {grid-template-columns:1fr}
.timeline-entry {grid-template-columns:70px 1fr;gap:8px}
.timeline-entry:not(:last-child)::after {left:62px}
.timecode {padding-right:8px;font-size:.7rem}
.rec-card-list {grid-template-columns:repeat(2,1fr)}
.detail-list {grid-template-columns:1fr}
.player-ui-controls {flex-wrap:wrap}
.player-ui-controls input[type=range] {flex-basis:100%;order:9}
.movie-title {font-size:1.3rem}
.synopsis-para {font-size:.8rem}}
@media (max-width:480px){main {padding:0 10px 32px}
.hero-cinema {margin:0 -10px;padding:0 10px}
.poster-veil {max-width:180px}
.poster-img, .neon-duplicate {max-width:180px}
.rec-card-list {grid-template-columns:1fr}
.episode-card-row {grid-template-columns:1fr}
.episode-list {grid-template-columns:1fr}
.timeline-entry {grid-template-columns:60px 1fr}
.timeline-entry:not(:last-child)::after {left:52px}
.timecode {font-size:.65rem;padding-right:4px}
.timecode::before {width:6px;height:6px}
.cast-grid {grid-template-columns:repeat(2,1fr)}
.comments-bubble-grid {grid-template-columns:1fr}
.detail-list {grid-template-columns:1fr}
.player-ui-controls button {font-size:.7rem;padding:4px 6px}
.footer-links {flex-direction:column;align-items:center;gap:8px}
.friend-links {flex-direction:column;gap:4px}}

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}
