*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {background:#0d1117;color:#c9d1d9;font-family:"Segoe UI","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.5;letter-spacing:.01em;overflow-x:hidden}
img, video {display:block;max-width:100%}
ul {list-style:none}
a {color:inherit;text-decoration:none}
button {background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:0}
[data-header] {position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.25rem;background:rgba(13,17,23,.92);backdrop-filter:blur(10px);border-bottom:1px solid #1b2733}
a[data-contract="site-name"] {font-size:1.15rem;font-weight:700;letter-spacing:.14em;color:#d9a441;text-transform:uppercase;text-decoration:none}
[data-contract="categories"] {display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.runtime-category {display:inline-block;padding:.3rem .65rem;border-radius:999px;font-size:.78rem;letter-spacing:.08em;color:#9fb3c8;background:#161c26;border:1px solid #27313e;white-space:nowrap;transition:background .2s,color .2s,border-color .2s;text-decoration:none}
.runtime-category:hover {color:#d9a441;border-color:#d9a441;background:#1a212b}
.runtime-category:active, .runtime-category:focus {color:#d9a441}
main {max-width:1280px;margin:0 auto;padding:0 1rem}
.section-title {font-size:1.4rem;font-weight:300;letter-spacing:.22em;color:#e8eef4;margin:2.2rem 0 1.2rem;text-transform:uppercase;position:relative;padding-left:1.1rem}
.section-title::before {content:"";position:absolute;left:0;top:.25rem;bottom:.25rem;width:3px;background:linear-gradient(180deg,#d9a441,#5b8fa8);border-radius:2px}
.opening-screen {position:relative;min-height:82vh;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:0 0 3rem 3rem;border-bottom:1px solid #1b2733;margin-bottom:1.5rem}
.opening-media {position:absolute;inset:0;z-index:0}
.portrait-macro {position:absolute;right:-6%;top:0;bottom:0;width:58%;background:linear-gradient(105deg,#1a2430 0%,#0e141b 45%,#1c232d 100%);clip-path:ellipse(68% 54% at 62% 42%);opacity:.85;filter:contrast(1.2) brightness(.9);border-radius:50% 50% 0 0;transform:scale(1.02)}
.dust-particles {position:absolute;inset:0;overflow:hidden}
.dust {position:absolute;width:3px;height:3px;border-radius:50%;background:#d9a441;opacity:.35;filter:blur(.5px);animation:floatDust 8s infinite ease-in-out}
.dust:nth-child(1) {left:8%;top:24%;animation-delay:0s}
.dust:nth-child(2) {left:18%;top:68%;width:5px;height:5px;opacity:.28;animation-delay:1.5s}
.dust:nth-child(3) {left:32%;top:38%;animation-delay:2.2s;width:4px;height:4px}
.dust:nth-child(4) {left:70%;top:18%;width:2px;height:2px;opacity:.4;animation-delay:.8s;background:#7fb4cc}
.dust:nth-child(5) {left:82%;top:55%;width:4px;height:4px;animation-delay:3.4s;background:#7fb4cc}
.dust:nth-child(6) {left:55%;top:82%;width:3px;height:3px;animation-delay:4.6s}
@keyframes floatDust{0%,100%{transform:translate(0,0) scale(1);opacity:.25}25%{transform:translate(8px,-12px) scale(1.2);opacity:.5}60%{transform:translate(-6px,10px) scale(.9);opacity:.3}80%{transform:translate(4px,-4px) scale(1.1);opacity:.45}}
.neon-bokeh {position:absolute;inset:0;background:radial-gradient(circle at 15% 30%,rgba(217,164,65,.15) 0,transparent 35%),radial-gradient(circle at 85% 20%,rgba(91,143,168,.18) 0,transparent 40%),radial-gradient(circle at 70% 80%,rgba(217,164,65,.1) 0,transparent 30%),radial-gradient(circle at 30% 70%,rgba(127,180,204,.12) 0,transparent 45%);filter:blur(28px);animation:bokehShift 16s ease-in-out infinite alternate}
@keyframes bokehShift{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.12) translate(-2%,2%)}}
.opening-quote {position:relative;z-index:2;text-align:center;padding:2rem;max-width:70%}
.micro-tagline {font-size:clamp(1.2rem,3.2vw,2.2rem);font-weight:300;letter-spacing:.38em;color:#e8eef4;text-shadow:0 0 20px rgba(217,164,65,.4),0 2px 6px rgba(0,0,0,.8);animation:fadeIn 2s ease-out}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.movie-overview-wrapper {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem;align-items:start;background:linear-gradient(145deg,#141b23,#0e141b);border-radius:1.6rem;padding:1.6rem;border:1px solid #1e2a36;box-shadow:0 8px 40px rgba(0,0,0,.45);margin-bottom:2rem}
.overview-media-col {display:flex;flex-direction:column;gap:1rem;min-width:0}
.poster-frame {width:100%;border-radius:1rem;overflow:hidden;background:#0a0f14;border:1px solid #1e2a36;box-shadow:0 4px 24px rgba(0,0,0,.5)}
.main-poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;filter:saturate(.85) contrast(1.05);transition:transform .6s ease}
.poster-frame:hover .main-poster-img {transform:scale(1.03)}
.player-wrapper {width:100%;background:#080c11;border-radius:1rem;overflow:hidden;border:1px solid #1e2a36;position:relative;min-width:0}
.player-wrapper video {display:block;width:100%;background:#000}
.player-custom-ui {display:flex;flex-wrap:wrap;gap:.3rem;padding:.55rem .7rem;background:#10161e;border-top:1px solid #1b2733}
.player-custom-ui button {font-size:.72rem;padding:.25rem .6rem;border-radius:999px;background:#1a212b;color:#9fb3c8;border:1px solid #2a3543;transition:all .2s}
.player-custom-ui button:hover {color:#d9a441;border-color:#d9a441}
.player-wrapper.theater-mode {position:fixed;inset:0;z-index:200;border-radius:0;background:#000;display:flex;flex-direction:column;justify-content:center}
.player-wrapper.theater-mode video {max-height:calc(100vh - 3rem)}
.player-wrapper.lights-off::after {content:"";position:absolute;inset:0;background:rgba(0,0,0,.65);z-index:5;pointer-events:none}
.overview-info-col {display:flex;flex-direction:column;gap:1rem;min-width:0}
.movie-title {font-size:clamp(1.4rem,2.4vw,2rem);font-weight:200;letter-spacing:.12em;color:#f0f4f8;line-height:1.25;border-bottom:1px solid #1e2a36;padding-bottom:.6rem}
.movie-tagline {font-size:.9rem;letter-spacing:.3em;color:#d9a441;opacity:.85;font-weight:300}
.cast-module {display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.cast-label {font-size:.8rem;letter-spacing:.2em;color:#7fb4cc;border:1px solid #2a3543;border-radius:999px;padding:.2rem .7rem;background:#0e151c}
.actor-list {display:inline-flex;flex-wrap:wrap;gap:.4rem}
.actor-chip {font-size:.8rem;padding:.25rem .7rem;border-radius:999px;background:#1a212b;border:1px solid #27313e;color:#c9d1d9;letter-spacing:.06em;transition:all .2s}
.actor-chip:hover {color:#d9a441;border-color:#d9a441;background:#1e2630}
.synopsis-block {margin-top:.4rem}
.synopsis-list {display:flex;flex-direction:column;gap:.55rem}
.synopsis-item {font-size:.9rem;line-height:1.65;color:#a8b6c4;text-align:justify;padding-left:.9rem;border-left:2px solid rgba(217,164,65,.25);transition:border-color .3s}
.synopsis-item:hover {border-left-color:#d9a441}
.details-module {margin-top:.2rem}
.detail-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;background:#0e151c;border-radius:.8rem;padding:.8rem;border:1px solid #1b2733}
.detail-item {display:flex;flex-direction:column;gap:.12rem;padding:.35rem .5rem;background:rgba(255,255,255,.02);border-radius:.5rem}
.detail-item dt {font-size:.68rem;letter-spacing:.18em;color:#7fb4cc;text-transform:uppercase}
.detail-item dd {font-size:.85rem;color:#e0e8f0;font-weight:500}
.episode-status {display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;background:#10161e;border-radius:.8rem;padding:.7rem .9rem;border:1px solid #1b2733;margin-top:.2rem}
.status-label {font-size:.75rem;letter-spacing:.2em;color:#9fb3c8;text-transform:uppercase}
.episode-current {font-size:1.05rem;font-weight:700;color:#d9a441;letter-spacing:.04em}
.total-episodes {font-size:.8rem;color:#7fb4cc;background:#0e151c;padding:.15rem .6rem;border-radius:999px;border:1px solid #2a3543}
.episode-progress {flex:1;min-width:120px;height:4px;background:#1e2a36;border-radius:2px;overflow:hidden}
.progress-bar {display:block;height:100%;background:linear-gradient(90deg,#d9a441,#7fb4cc);border-radius:2px}
.timeline-section {padding:1rem 0 2rem}
.timeline-line {position:relative;margin:0 auto;max-width:860px;padding:1rem 0}
.timeline-line::before {content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,#d9a441 10%,#5b8fa8 80%,transparent);transform:translateX(-50%)}
.timeline-node {position:relative;width:calc(50% - 2rem);padding:1rem;margin-bottom:1.6rem;background:#121922;border:1px solid #1e2a36;border-radius:.9rem;transition:border-color .3s,transform .3s;cursor:pointer}
.timeline-node:hover {border-color:#d9a441;transform:translateY(-2px)}
.timeline-node:nth-child(odd) {left:0;text-align:right;margin-right:auto}
.timeline-node:nth-child(even) {left:50%;margin-left:auto}
.timeline-node::before {content:"";position:absolute;top:1.4rem;width:12px;height:12px;border-radius:50%;background:#d9a441;box-shadow:0 0 12px rgba(217,164,65,.5);border:2px solid #0d1117;z-index:2}
.timeline-node:nth-child(odd)::before {right:-2.6rem}
.timeline-node:nth-child(even)::before {left:-2.6rem}
.timecode {display:inline-block;font-size:.72rem;letter-spacing:.25em;color:#7fb4cc;background:#0e151c;padding:.2rem .7rem;border-radius:999px;margin-bottom:.4rem;border:1px solid #2a3543}
.timeline-label {font-size:.88rem;line-height:1.6;color:#c9d1d9}
.episodes-section {padding-bottom:1.5rem}
.episode-card-scroll {display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.episode-card {background:linear-gradient(145deg,#141b23,#10161e);border:1px solid #1e2a36;border-radius:1rem;padding:1.1rem;position:relative;overflow:hidden;transition:border-color .3s,transform .3s;cursor:pointer}
.episode-card::before {content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(217,164,65,.08),transparent 60%),radial-gradient(circle at 80% 70%,rgba(127,180,204,.06),transparent 50%);opacity:.7;pointer-events:none}
.episode-card:hover {border-color:#d9a441;transform:translateY(-3px)}
.episode-number {font-size:2rem;font-weight:200;color:#d9a441;line-height:1;margin-bottom:.4rem;letter-spacing:.1em;opacity:.8}
.episode-title {font-size:1.1rem;font-weight:600;color:#e8eef4;margin-bottom:.4rem;letter-spacing:.08em}
.episode-summary {font-size:.82rem;line-height:1.6;color:#9fb3c8;margin-bottom:.6rem}
.duration {font-size:.72rem;color:#7fb4cc;letter-spacing:.15em;display:inline-block;padding:.15rem .6rem;border:1px solid #2a3543;border-radius:999px}
.cast-showcase {padding-bottom:1.5rem}
.cast-columns {display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}
.cast-person {background:#121922;border:1px solid #1e2a36;border-radius:1rem;padding:1rem;text-align:center;transition:border-color .3s,transform .3s;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.cast-person:hover {border-color:#7fb4cc;transform:translateY(-3px)}
.portrait-placeholder {width:100%;aspect-ratio:3/4;border-radius:.8rem;background:linear-gradient(135deg,#1e2a36,#0e151c);position:relative;overflow:hidden;margin-bottom:.4rem}
.portrait-placeholder::after {content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(217,164,65,.25),transparent 65%),radial-gradient(circle at 70% 75%,rgba(127,180,204,.18),transparent 50%);filter:blur(3px)}
.cast-person h4 {font-size:1rem;font-weight:600;color:#e8eef4;letter-spacing:.1em}
.character-role {font-size:.78rem;color:#7fb4cc;letter-spacing:.12em}
.comments-wall {padding-bottom:1rem}
.masonry-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;align-items:start}
.comment-card {background:#121922;border:1px solid #1e2a36;border-radius:1rem;padding:1rem;position:relative;transition:border-color .3s,transform .3s;cursor:pointer}
.comment-card:hover {border-color:#d9a441;transform:translateY(-2px)}
.comment-card:nth-child(2) {transform:translateY(.7rem)}
.comment-card:nth-child(3) {transform:translateY(-.4rem)}
.comment-card:nth-child(4) {transform:translateY(.9rem)}
.comment-author {display:block;font-size:.85rem;font-weight:600;color:#d9a441;margin-bottom:.5rem;letter-spacing:.1em}
.comment-text {font-size:.85rem;line-height:1.65;color:#a8b6c4;text-align:justify}
.recommend-region {padding:1rem 0;border-top:1px solid #1b2733}
.recommendation-title {font-size:1rem;font-weight:500;letter-spacing:.2em;color:#7fb4cc;margin:1rem 0 .8rem;text-transform:uppercase;display:flex;align-items:center;gap:.6rem}
.recommendation-title::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,#2a3543,transparent)}
.rec-scroll {display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem}
.rec-card {background:#121922;border:1px solid #1e2a36;border-radius:.9rem;padding:.5rem;transition:border-color .3s,transform .3s;display:flex;flex-direction:column;gap:.3rem;text-decoration:none;color:inherit}
.rec-card:hover {border-color:#d9a441;transform:translateY(-3px)}
.rec-card img {width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:.5rem;background:#0e151c}
.rec-card span[data-runtime="name"] {font-size:.82rem;font-weight:600;color:#e8eef4;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec-card span[data-runtime="blurb"] {font-size:.72rem;color:#9fb3c8;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
a.rec-card {color:inherit;text-decoration:none}
.easter-egg {padding:2rem 0;display:flex;justify-content:center}
.egg-content {text-align:center;padding:2.5rem 2rem;background:linear-gradient(145deg,#141b23,#0e151c);border:1px solid #1e2a36;border-radius:2rem;max-width:500px;width:100%;position:relative;overflow:hidden}
.egg-content::before {content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(217,164,65,.08),transparent 65%);filter:blur(10px)}
.egg-symbol {font-size:2.6rem;color:#d9a441;opacity:.8;letter-spacing:.2em;animation:pulseGlow 3s ease-in-out infinite;position:relative}
.egg-text {font-size:.95rem;color:#7fb4cc;letter-spacing:.3em;margin-top:.6rem;position:relative;font-weight:300}
@keyframes pulseGlow{0%,100%{opacity:.5;text-shadow:0 0 10px rgba(217,164,65,.3)}50%{opacity:1;text-shadow:0 0 30px rgba(217,164,65,.7)}}
footer {padding:1.5rem 1.25rem;background:#0a0f14;border-top:1px solid #1b2733;display:flex;flex-direction:column;gap:1rem;max-width:1280px;margin:0 auto}
[data-contract="disclaimer"] {font-size:.72rem;color:#6b7a8c;line-height:1.6;max-width:800px}
.footer-nav {display:flex;gap:1.2rem;flex-wrap:wrap}
.footer-nav a, .friend-links .runtime-friend-link {font-size:.78rem;color:#7fb4cc;text-decoration:none;letter-spacing:.1em;transition:color .2s}
.footer-nav a:hover, .friend-links .runtime-friend-link:hover {color:#d9a441;text-decoration:underline;text-underline-offset:4px}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#7fb4cc;text-decoration:none;letter-spacing:.1em;transition:color .2s}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#d9a441;text-decoration:underline;text-underline-offset:4px}
.friend-links {display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}
.friend-label {font-size:.75rem;color:#6b7a8c;letter-spacing:.2em;text-transform:uppercase;margin-right:.4rem}
.runtime-friend-link {font-size:.78rem;color:#7fb4cc;text-decoration:none;letter-spacing:.06em;transition:color .2s;white-space:nowrap}
.runtime-friend-link:hover {color:#d9a441;text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.movie-overview-wrapper {grid-template-columns:1fr;padding:1.2rem}
.overview-media-col {order:1}
.overview-info-col {order:2}
.opening-screen {min-height:60vh}
.timeline-line::before {left:12px}
.timeline-node {width:calc(100% - 2.5rem);left:0!important;text-align:left!important;margin-left:auto!important;margin-right:0!important;padding-left:2rem}
.timeline-node:nth-child(odd), .timeline-node:nth-child(even) {left:0;margin-left:auto}
.timeline-node::before {left:6px!important;right:auto!important}
.cast-columns {grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
@media(max-width:600px){main {padding:0 .6rem}
.movie-overview-wrapper {padding:.8rem;border-radius:1.2rem}
.poster-frame {border-radius:.8rem}
.player-custom-ui button {font-size:.65rem;padding:.2rem .4rem}
.movie-title {font-size:1.2rem}
.section-title {font-size:1.15rem;margin:1.6rem 0 .8rem}
.episode-card-scroll {grid-template-columns:1fr}
.masonry-grid {grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.comment-card:nth-child(2), .comment-card:nth-child(3), .comment-card:nth-child(4) {transform:none}
.rec-scroll {grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.opening-screen {min-height:50vh;border-radius:0 0 2rem 2rem}
.opening-quote {max-width:90%}
.micro-tagline {letter-spacing:.2em}
.timeline-node {width:calc(100% - 2rem)}
.dust {opacity:.2}}
@media(max-width:380px){.detail-grid {grid-template-columns:1fr 1fr}
.cast-columns {grid-template-columns:1fr 1fr}
.episode-card-scroll {grid-template-columns:1fr}
.rec-scroll {grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*, *::before, *::after {animation-duration:.01ms!important;transition-duration:.01ms!important}}

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}
