*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {font-family:"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;background:#0a0f1a;color:#c8d6e5;line-height:1.5;min-height:100vh}
a {color:#00d4ff;text-decoration:none;transition:color .2s ease}
a:hover {color:#7ee8ff}
img, video {max-width:100%;display:block}
button, input, select {font:inherit;color:inherit;background:transparent;border:0}
button {cursor:pointer}
h1, h2, h3 {font-weight:700;line-height:1.2}
header {display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:rgba(10,15,26,.95);border-bottom:1px solid rgba(0,212,255,.2);position:sticky;top:0;z-index:100;backdrop-filter:blur(8px)}
[data-contract="categories"] {display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;flex:1;margin-right:2rem}
.runtime-category {display:inline-block;padding:.3rem .8rem;border:1px solid rgba(0,212,255,.25);border-radius:999px;font-size:.8rem;color:#00d4ff;background:rgba(0,212,255,.05);white-space:nowrap;transition:all .2s ease}
.runtime-category:hover {background:rgba(0,212,255,.15);border-color:#00d4ff;color:#7ee8ff;text-decoration:none}
a[data-contract="site-name"] {font-size:1.2rem;font-weight:800;color:#00d4ff;letter-spacing:.1em;text-decoration:none;white-space:nowrap}
a[data-contract="site-name"]:hover {color:#7ee8ff;text-decoration:underline}
main {max-width:1400px;margin:0 auto;padding:0 1rem}
.hero-dataflow {position:relative;min-height:50vh;background:linear-gradient(180deg,#0a0f1a 0%,#0d1b2a 50%,#0a0f1a 100%);overflow:hidden;margin-bottom:-2rem}
.hero-dataflow::before {content:"";position:absolute;inset:0;background:
    radial-gradient(circle at 20% 30%,rgba(0,212,255,.08) 0,transparent 40%),
    radial-gradient(circle at 80% 70%,rgba(255,196,0,.05) 0,transparent 35%),
    linear-gradient(90deg,transparent 0,rgba(0,212,255,.03) 50%,transparent 100%);
    background-size:200% 200%,200% 200%,100% 100%;
    animation:dataflow 8s ease-in-out infinite alternate}
@keyframes dataflow{
    0%{background-position:0% 0%,0% 0%,0 0}
    100%{background-position:100% 100%,100% 100%,0 0}}
.hero-dataflow::after {content:"";position:absolute;inset:0;background-image:
    repeating-linear-gradient(90deg,rgba(0,212,255,.06) 0 1px,transparent 1px 40px),
    repeating-linear-gradient(180deg,rgba(0,212,255,.04) 0 1px,transparent 1px 40px);
    opacity:.5}
.hero-overlay {position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(10,15,26,.9) 100%)}
.movie-overview-panel {position:relative;display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr) minmax(480px,1.2fr);gap:1.2rem;align-items:start;background:rgba(13,27,42,.6);border:1px solid rgba(0,212,255,.15);border-radius:12px;padding:1.5rem;margin:0 0 2rem;z-index:10;backdrop-filter:blur(4px)}
.poster-shell {width:100%}
.poster-img {width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:8px;border:1px solid rgba(0,212,255,.2);filter:saturate(.8) brightness(.9)}
.info-group {display:flex;flex-direction:column;gap:.8rem;min-width:0}
.movie-title {font-size:1.8rem;color:#fff;letter-spacing:.05em}
.movie-tagline {font-size:1rem;color:#ffc400;letter-spacing:.15em;font-weight:600}
.seo-description {font-size:.9rem;color:#8fa3b8;line-height:1.6}
.section-title {font-size:1.1rem;color:#00d4ff;margin-bottom:.5rem;padding-bottom:.3rem;border-bottom:2px solid rgba(0,212,255,.2);letter-spacing:.05em}
.info-group .section-title {font-size:.95rem;margin-bottom:.4rem}
.cast-section {margin:.4rem 0}
.cast-scroll {display:flex;gap:.8rem;overflow-x:auto;padding:.4rem 0 .8rem;scrollbar-width:thin;scrollbar-color:rgba(0,212,255,.3) transparent}
.cast-scroll::-webkit-scrollbar {height:4px}
.cast-scroll::-webkit-scrollbar-thumb {background:rgba(0,212,255,.3);border-radius:2px}
.cast-card {flex:0 0 90px;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.4rem;border-radius:8px;transition:background .2s ease}
.cast-card:hover {background:rgba(0,212,255,.08)}
.cast-avatar {width:72px;height:72px;border-radius:50%;overflow:hidden;position:relative}
.mosaic-avatar {background:
    linear-gradient(135deg,#1a2a3a 25%,#0d1b2a 25%,#0d1b2a 50%,#1a2a3a 50%,#1a2a3a 75%,#0d1b2a 75%);
    background-size:12px 12px;
    border:2px solid rgba(0,212,255,.3);
    box-shadow:0 0 12px rgba(0,212,255,.15)}
.cast-name {font-size:.8rem;color:#c8d6e5;text-align:center}
.synopsis-block {margin:.4rem 0}
.synopsis-block p {font-size:.85rem;color:#a0b4c8;margin-bottom:.5rem;line-height:1.7}
.episode-status-bar {display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:.6rem 0;border-top:1px solid rgba(0,212,255,.15);border-bottom:1px solid rgba(0,212,255,.15)}
.status-label {background:rgba(0,212,255,.15);color:#00d4ff;padding:.2rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600}
.status-current {color:#ffc400;font-size:.85rem;font-weight:600}
.status-rating {color:#fff;font-size:.85rem;font-weight:700;margin-left:auto;background:rgba(255,196,0,.15);padding:.2rem .8rem;border-radius:999px}
.detail-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.4rem .8rem;padding:.6rem 0}
.detail-item {font-size:.8rem;color:#8fa3b8;padding:.2rem 0;border-bottom:1px dashed rgba(0,212,255,.1)}
.detail-item strong {color:#00d4ff;font-weight:600;margin-right:.3rem}
.player-wrapper {grid-column:3;grid-row:1;background:rgba(0,0,0,.4);border-radius:8px;overflow:hidden;border:1px solid rgba(0,212,255,.2);min-width:0}
.player-wrapper video {min-height:200px;background:#000}
.player-controls {display:flex;align-items:center;gap:.5rem;padding:.5rem;background:rgba(0,0,0,.6);flex-wrap:wrap}
.ctrl-btn {width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:1rem;color:#c8d6e5;background:rgba(255,255,255,.05);transition:all .2s ease}
.ctrl-btn:hover {background:rgba(0,212,255,.2);color:#00d4ff}
.progress-slider {flex:1;min-width:80px;height:4px;accent-color:#00d4ff;cursor:pointer}
.time-display {font-size:.75rem;color:#8fa3b8;white-space:nowrap;font-family:monospace}
.speed-select {background:rgba(0,0,0,.4);border:1px solid rgba(0,212,255,.2);border-radius:4px;padding:.2rem .4rem;font-size:.75rem;color:#c8d6e5;cursor:pointer}
.timeline-section {margin:0 0 2.5rem;padding:1.5rem 1rem;background:rgba(13,27,42,.4);border-radius:12px;border:1px solid rgba(0,212,255,.1)}
.timeline-track {display:flex;gap:1rem;overflow-x:auto;padding:1.5rem 0;position:relative;scrollbar-width:thin}
.timeline-track::before {content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(0,212,255,.1),rgba(0,212,255,.5),rgba(0,212,255,.1))}
.timeline-node {flex:0 0 120px;display:flex;flex-direction:column;align-items:center;gap:.3rem;position:relative;padding-top:1.2rem}
.timeline-node::before {content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:#00d4ff;box-shadow:0 0 10px rgba(0,212,255,.6),0 0 20px rgba(0,212,255,.3);z-index:2}
.timeline-node:nth-child(even)::before {background:#ffc400;box-shadow:0 0 10px rgba(255,196,0,.6),0 0 20px rgba(255,196,0,.3)}
.timecode {font-size:.85rem;font-weight:700;color:#00d4ff;background:rgba(0,212,255,.1);padding:.2rem .6rem;border-radius:4px}
.label {font-size:.75rem;color:#a0b4c8;text-align:center;line-height:1.4}
.episodes-section {margin:0 0 2.5rem;padding:1.5rem 1rem;background:rgba(13,27,42,.3);border-radius:12px;border:1px solid rgba(0,212,255,.1)}
.episode-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.episode-card {display:grid;grid-template-columns:120px 1fr;gap:.8rem;padding:.8rem;background:rgba(0,0,0,.2);border-radius:8px;border:1px solid rgba(255,255,255,.05);transition:border-color .2s ease;align-items:start}
.episode-card:hover {border-color:rgba(0,212,255,.3)}
.episode-thumb {width:120px;height:80px;border-radius:4px;overflow:hidden;position:relative}
.mosaic-thumb {background:
    linear-gradient(45deg,#1a2a3a 25%,#0d1b2a 25%,#0d1b2a 50%,#1a2a3a 50%,#1a2a3a 75%,#0d1b2a 75%);
    background-size:8px 8px;
    border:1px solid rgba(0,212,255,.15);
    position:relative}
.mosaic-thumb::after {content:"";position:absolute;inset:0;background:rgba(0,212,255,.05)}
.episode-info {display:flex;flex-direction:column;gap:.3rem;min-width:0}
.ep-number {font-size:.75rem;color:#ffc400;font-weight:700;letter-spacing:.05em}
.ep-title {font-size:1rem;color:#fff;font-weight:700}
.ep-summary {font-size:.8rem;color:#8fa3b8;line-height:1.5;flex:1}
.ep-duration {font-size:.7rem;color:#5a7088;font-family:monospace}
.comments-section {margin:0 0 2.5rem;padding:1.5rem 1rem;background:rgba(13,27,42,.3);border-radius:12px;border:1px solid rgba(0,212,255,.1)}
.comment-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem}
.comment-bubble {background:rgba(0,0,0,.25);border-radius:12px;border:1px solid rgba(0,212,255,.1);padding:1rem;position:relative;transition:border-color .2s ease}
.comment-bubble::before {content:"";position:absolute;top:-1px;left:1.5rem;width:20px;height:20px;background:rgba(0,0,0,.25);border:1px solid rgba(0,212,255,.1);border-bottom:0;border-right:0;transform:rotate(45deg);border-radius:4px 0 0 0}
.comment-bubble:hover {border-color:rgba(0,212,255,.3)}
.comment-nick {display:block;font-size:.8rem;font-weight:700;color:#00d4ff;margin-bottom:.4rem}
.comment-text {font-size:.85rem;color:#c8d6e5;line-height:1.6}
.recommend-section {margin:0 0 2.5rem;padding:1.5rem 1rem;background:rgba(13,27,42,.3);border-radius:12px;border:1px solid rgba(0,212,255,.1)}
.rec-title {font-size:1.2rem;color:#fff;margin-bottom:1rem;letter-spacing:.05em;border-bottom:2px solid rgba(0,212,255,.2);padding-bottom:.5rem}
.rec-stack {display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}
a.rec-card {display:flex;flex-direction:column;gap:.4rem;padding:.8rem;background:rgba(0,0,0,.25);border-radius:8px;border:1px solid rgba(255,255,255,.05);transition:all .2s ease;text-decoration:none;color:#c8d6e5;align-self:start}
a.rec-card:hover {border-color:rgba(0,212,255,.4);transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,212,255,.15);color:#fff;text-decoration:none}
[data-runtime="recommendation"] img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:4px;background:#1a2a3a}
[data-runtime="name"] {font-size:.9rem;font-weight:700;color:#fff;order:1}
[data-runtime="blurb"] {font-size:.75rem;color:#8fa3b8;line-height:1.5;order:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
footer {padding:2rem;background:rgba(13,27,42,.6);border-top:1px solid rgba(0,212,255,.15);display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.disclaimer {font-size:.75rem;color:#5a7088;width:100%;line-height:1.6}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {font-size:.85rem;color:#00d4ff;text-decoration:none;padding:.3rem .8rem;border:1px solid rgba(0,212,255,.2);border-radius:4px;transition:all .2s ease}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {background:rgba(0,212,255,.1);color:#7ee8ff;text-decoration:underline}
.friend-links {display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;width:100%;margin-top:.5rem}
.friend-label {font-size:.8rem;color:#8fa3b8}
a.runtime-friend-link {font-size:.8rem;color:#5a7088;text-decoration:none;padding:.2rem .6rem;border-radius:4px;transition:all .2s ease}
a.runtime-friend-link:hover {color:#00d4ff;background:rgba(0,212,255,.1);text-decoration:underline}
.player-wrapper.theater-mode {position:fixed;inset:0;z-index:999;background:#0a0f1a;border:0;border-radius:0;display:flex;flex-direction:column;justify-content:center}
.player-wrapper.theater-mode video {flex:1}
.player-wrapper.light-off::after {content:"";position:absolute;inset:0;background:rgba(0,0,0,.85);z-index:5;pointer-events:none}
.player-wrapper.light-off .player-controls {z-index:6;position:relative}
.player-wrapper .theater {position:relative}
@media (max-width:1200px){.movie-overview-panel {grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto auto}
.player-wrapper {grid-column:1/3;grid-row:2;min-width:0}
.poster-shell {grid-row:1}
.info-group {grid-row:1}}
@media (max-width:900px){.movie-overview-panel {grid-template-columns:1fr;padding:1rem}
.poster-shell {max-width:240px}
.player-wrapper {grid-column:1;grid-row:auto}
.episode-grid {grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.rec-stack {grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.comment-grid {grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
header {flex-direction:column;gap:1rem;padding:1rem}
[data-contract="categories"] {justify-content:center;margin-right:0}}
@media (max-width:600px){main {padding:0 .5rem}
.movie-overview-panel {padding:.8rem}
.movie-title {font-size:1.3rem}
.cast-scroll {gap:.5rem}
.cast-card {flex-basis:70px}
.cast-avatar {width:56px;height:56px}
.episode-card {grid-template-columns:90px 1fr;padding:.6rem}
.episode-thumb {width:90px;height:60px}
.detail-grid {grid-template-columns:1fr 1fr}
.timeline-node {flex-basis:100px}
.comment-grid {grid-template-columns:1fr}
.rec-stack {grid-template-columns:repeat(2,1fr)}
.player-controls {gap:.3rem;justify-content:center}
.progress-slider {min-width:60px}
.time-display {font-size:.65rem}
footer {padding:1.5rem 1rem;flex-direction:column;align-items:flex-start}
.friend-links {flex-direction:column;align-items:flex-start}}
@media (max-width:400px){.detail-grid {grid-template-columns:1fr}
.rec-stack {grid-template-columns:1fr}
.episode-grid {grid-template-columns:1fr}
.episode-card {grid-template-columns:80px 1fr}
.episode-thumb {width:80px;height:53px}
.status-rating {margin-left:0}
.player-controls .ctrl-btn {width:28px;height:28px;font-size:.85rem}}

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}
