*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {font-family:"Songti SC","STSong","SimSun",serif;background:#0a1226;color:#e8e6f0;line-height:1.5;min-height:100vh;overflow-x:hidden}
img, video {display:block;max-width:100%;height:auto}
a {color:inherit;text-decoration:none}
ul {list-style:none}
button {font:inherit;cursor:pointer;background:none;border:none;color:inherit}
input[type="range"] {width:100%}
.site-header {position:sticky;top:0;z-index:100;background:rgba(10,18,38,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(200,210,240,.12)}
.header-inner {max-width:1440px;margin:0 auto;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.site-name-link {font-size:1.35rem;font-weight:600;letter-spacing:.15em;color:#f0d9a8;text-shadow:0 0 18px rgba(240,217,168,.3);white-space:nowrap}
.site-name-link:hover {color:#fff}
.categories-nav {display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.runtime-category {display:inline-block;padding:.3rem .8rem;border:1px solid rgba(200,210,240,.2);border-radius:2rem;font-size:.85rem;color:#c8d2f0;white-space:nowrap;transition:all .25s}
.runtime-category:hover {background:rgba(200,210,240,.1);border-color:#f0d9a8;color:#f0d9a8}
.main-content {max-width:1440px;margin:0 auto;padding:0 1.25rem 3rem}
.hero-visual {position:relative;height:78vh;max-height:720px;min-height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0 -1.25rem;background:radial-gradient(ellipse at 50% 40%,#16224a 0%,#0a1226 70%)}
.hero-silhouette-wrapper {position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.hero-silhouette-inner {position:relative;width:100%;height:100%;max-width:900px}
.hero-moon-shadow {position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44vmin;height:44vmin;border-radius:50%;background:radial-gradient(circle at 38% 35%,#e6d9b8 0%,#c9b98a 45%,#7a6e4e 70%,#3a3550 100%);box-shadow:0 0 80px rgba(230,217,184,.35),0 0 160px rgba(230,217,184,.15);position:relative}
.hero-moon-shadow::after {content:"";position:absolute;top:8%;left:18%;width:72%;height:72%;border-radius:50%;background:rgba(10,18,38,.45);box-shadow:inset -20px -10px 60px rgba(10,18,38,.6);mix-blend-mode:multiply}
.hero-moon-shadow::before {content:"";position:absolute;inset:-4%;border-radius:50%;border:1px solid rgba(230,217,184,.2)}
.hero-petal-scatter {position:absolute;inset:0;pointer-events:none}
.petal {position:absolute;width:8px;height:16px;border-radius:100% 0 100% 0;background:linear-gradient(135deg,#f0e0c0,#b8a88e);opacity:.6;animation:petalFall linear infinite}
.petal-1 {left:12%;top:-5%;animation-duration:12s;animation-delay:0s;transform:rotate(30deg)}
.petal-2 {left:28%;top:-8%;animation-duration:15s;animation-delay:2s;transform:rotate(-20deg);width:6px;height:12px}
.petal-3 {left:45%;top:-4%;animation-duration:18s;animation-delay:4s;transform:rotate(60deg);width:10px;height:18px}
.petal-4 {left:63%;top:-10%;animation-duration:14s;animation-delay:1s;transform:rotate(-45deg)}
.petal-5 {left:78%;top:-6%;animation-duration:16s;animation-delay:3s;transform:rotate(15deg);width:7px;height:14px}
.petal-6 {left:88%;top:-9%;animation-duration:13s;animation-delay:5s;transform:rotate(-70deg)}
.petal-7 {left:6%;top:-12%;animation-duration:19s;animation-delay:6s;transform:rotate(80deg);width:9px;height:15px}
.petal-8 {left:55%;top:-15%;animation-duration:17s;animation-delay:7s;transform:rotate(-15deg);width:5px;height:11px}
@keyframes petalFall{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.5}100%{transform:translateY(85vh) rotate(360deg);opacity:0}}
.movie-overview-section {margin-top:2rem}
.movie-overview-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;background:rgba(16,26,52,.6);border:1px solid rgba(200,210,240,.1);border-radius:1rem;padding:1.5rem}
.movie-media-column {min-width:0}
.poster-player-wrapper {display:flex;flex-direction:column;gap:1rem}
.poster-wrapper {width:100%;max-width:340px;margin:0 auto}
.main-poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:.75rem;box-shadow:0 8px 40px rgba(0,0,0,.5);border:1px solid rgba(200,210,240,.15)}
.player-wrapper {width:100%;min-width:480px;max-width:100%;background:#03060f;border-radius:.75rem;overflow:hidden;border:1px solid rgba(200,210,240,.15);position:relative}
.player-wrapper video {width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}
.player-wrapper.theater-mode video {object-fit:contain}
.player-controls-bar {display:flex;gap:.35rem;align-items:center;padding:.5rem .75rem;background:rgba(10,18,38,.9);flex-wrap:wrap}
.player-control-btn {font-size:.75rem;padding:.3rem .6rem;border-radius:.35rem;background:rgba(200,210,240,.08);transition:background .2s}
.player-control-btn:hover {background:rgba(200,210,240,.2)}
.player-control-btn.active {background:rgba(240,217,168,.25);color:#f0d9a8}
.player-progress {flex:1;min-width:100px;height:4px;accent-color:#f0d9a8;background:rgba(200,210,240,.2);border-radius:2px;cursor:pointer}
.movie-info-column {min-width:0;display:flex;flex-direction:column;gap:1.25rem}
.movie-title-block {padding-bottom:1rem;border-bottom:1px solid rgba(200,210,240,.15)}
.movie-title {font-size:1.6rem;font-weight:600;letter-spacing:.08em;color:#f0d9a8;line-height:1.3;text-shadow:0 0 20px rgba(240,217,168,.2)}
.movie-tagline {margin-top:.5rem;font-size:.95rem;color:#aab4d8;font-style:italic;letter-spacing:.1em}
.cast-panel .section-subheading, .synopsis-panel .section-subheading, .details-panel .section-subheading {font-size:1rem;font-weight:600;color:#c8d2f0;letter-spacing:.2em;margin-bottom:.75rem;border-left:3px solid #f0d9a8;padding-left:.65rem}
.actor-list {display:flex;flex-wrap:wrap;gap:.5rem}
.actor-item {background:rgba(200,210,240,.07);border:1px solid rgba(200,210,240,.15);border-radius:2rem;padding:.3rem 1rem;font-size:.85rem;transition:all .25s}
.actor-item:hover {background:rgba(240,217,168,.12);border-color:#f0d9a8}
.actor-name {color:#e8e6f0}
.synopsis-panel {display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem}
.synopsis-panel .section-subheading {grid-column:1/-1}
.synopsis-paragraph {font-size:.9rem;line-height:1.7;color:#c8d2f0}
.synopsis-paragraph::first-letter {color:#f0d9a8;font-weight:bold}
.episode-status-panel {background:rgba(200,210,240,.05);border-radius:.75rem;padding:1rem;border:1px solid rgba(200,210,240,.1)}
.episode-status-row {display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}
.episode-status-label {font-size:.8rem;color:#aab4d8}
.episode-status-value {font-size:1.2rem;font-weight:600;color:#f0d9a8;letter-spacing:.05em}
.episode-status-separator {color:#5a668a;margin:0 .25rem}
.episode-progress-bar {height:6px;background:rgba(200,210,240,.15);border-radius:3px;overflow:hidden}
.episode-progress-fill {display:block;height:100%;width:25%;background:linear-gradient(90deg,#f0d9a8,#d4b878);border-radius:3px;box-shadow:0 0 12px rgba(240,217,168,.5)}
.details-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem}
.detail-item {display:flex;gap:.5rem;padding:.4rem 0;border-bottom:1px dotted rgba(200,210,240,.1)}
.detail-item dt {color:#aab4d8;font-size:.8rem;letter-spacing:.05em;min-width:4em}
.detail-item dd {color:#e8e6f0;font-size:.9rem;font-weight:500}
.detail-item:last-child dd {color:#f0d9a8;font-weight:700}
.timeline-section {margin-top:2.5rem}
.timeline-container {position:relative;max-width:720px;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:1.5rem}
.timeline-container::before {content:"";position:absolute;left:2.2rem;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,#5a668a 10%,#5a668a 90%,transparent)}
.timeline-node {position:relative;display:flex;align-items:center;gap:1.5rem;padding-left:4.4rem}
.timeline-node::before {content:"";position:absolute;left:2.05rem;width:14px;height:14px;border-radius:50%;background:#0a1226;border:2px solid #f0d9a8;box-shadow:0 0 12px rgba(240,217,168,.4);transform:translateX(-50%)}
.timeline-time {font-size:.85rem;font-weight:600;color:#f0d9a8;letter-spacing:.1em;min-width:3.5em;text-align:right}
.timeline-label {font-size:.95rem;color:#c8d2f0;line-height:1.4;background:rgba(200,210,240,.05);border-radius:.5rem;padding:.5rem 1rem;border:1px solid rgba(200,210,240,.1)}
.episodes-section {margin-top:2.5rem}
.episodes-container {background:rgba(16,26,52,.4);border-radius:1rem;padding:1.5rem;border:1px solid rgba(200,210,240,.1)}
.section-heading {font-size:1.3rem;font-weight:600;color:#f0d9a8;letter-spacing:.15em;margin-bottom:1.25rem;position:relative;padding-bottom:.5rem}
.section-heading::after {content:"";position:absolute;bottom:0;left:0;width:60px;height:2px;background:linear-gradient(90deg,#f0d9a8,transparent)}
.episode-cards-scroll {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.episode-card {background:linear-gradient(160deg,rgba(20,32,64,.8),rgba(12,20,44,.9));border-radius:.75rem;padding:1rem;border:1px solid rgba(200,210,240,.12);transition:transform .3s,border-color .3s;position:relative;overflow:hidden}
.episode-card::before {content:"";position:absolute;top:-30%;right:-30%;width:80%;height:80%;border-radius:50%;background:radial-gradient(circle,rgba(240,217,168,.08),transparent 70%)}
.episode-card:hover {transform:translateY(-4px);border-color:#f0d9a8}
.episode-number {font-size:2rem;font-weight:700;color:rgba(240,217,168,.3);line-height:1;margin-bottom:.5rem;font-family:"Georgia",serif}
.episode-title {font-size:1.1rem;font-weight:600;color:#e8e6f0;margin-bottom:.5rem;letter-spacing:.05em}
.episode-summary {font-size:.8rem;color:#aab4d8;line-height:1.5;margin-bottom:.75rem;min-height:4em}
.episode-duration {font-size:.75rem;color:#5a668a;letter-spacing:.1em;border-top:1px solid rgba(200,210,240,.1);padding-top:.5rem}
.cast-grid-section {margin-top:2.5rem}
.cast-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem;max-width:900px;margin:0 auto}
.cast-grid-item {display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}
.cast-avatar-hex {width:100%;max-width:120px;aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#1a2a52,#0e1834);border:2px solid rgba(240,217,168,.4);box-shadow:0 0 20px rgba(240,217,168,.15),inset 0 0 30px rgba(0,0,0,.4);position:relative;transition:box-shadow .3s;display:flex;align-items:center;justify-content:center}
.cast-avatar-hex::before {content:"";width:60%;height:60%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c8d2f0,#5a668a 70%);opacity:.4}
.cast-avatar-hex::after {content:"";position:absolute;inset:6px;border-radius:50%;border:1px dashed rgba(240,217,168,.3)}
.cast-grid-item:hover .cast-avatar-hex {box-shadow:0 0 30px rgba(240,217,168,.3),inset 0 0 40px rgba(0,0,0,.4)}
.cast-character-name {font-size:.95rem;font-weight:600;color:#e8e6f0;letter-spacing:.05em}
.cast-role-label {font-size:.75rem;color:#aab4d8;letter-spacing:.15em}
.comments-section {margin-top:2.5rem;max-width:720px}
.comments-bubble-stack {display:grid;grid-template-columns:1fr 1fr;gap:1rem;position:relative}
.comment-bubble {background:rgba(200,210,240,.07);border:1px solid rgba(200,210,240,.15);border-radius:1rem 1rem 1rem .25rem;padding:1rem;position:relative;transition:background .3s}
.comment-bubble:nth-child(2) {border-radius:1rem 1rem .25rem 1rem;transform:translateY(.75rem)}
.comment-bubble::before {content:"";position:absolute;bottom:-8px;left:16px;width:16px;height:16px;background:rgba(200,210,240,.07);border-right:1px solid rgba(200,210,240,.15);border-bottom:1px solid rgba(200,210,240,.15);transform:rotate(45deg)}
.comment-bubble:nth-child(2)::before {left:auto;right:16px}
.comment-bubble:hover {background:rgba(240,217,168,.08)}
.comment-nickname {display:block;font-size:.85rem;font-weight:600;color:#f0d9a8;margin-bottom:.35rem;letter-spacing:.1em}
.comment-text {font-size:.85rem;color:#c8d2f0;line-height:1.6}
.recommendation-region {margin-top:2.5rem}
.recommendation-heading {font-size:1.1rem;font-weight:600;color:#c8d2f0;letter-spacing:.15em;margin-bottom:1rem;position:relative;padding-left:1rem}
.recommendation-heading::before {content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:18px;background:#f0d9a8;border-radius:2px}
.recommendation-scroll {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.recommendation-region[data-recommendation-region="2"] .recommendation-scroll, .recommendation-region[data-recommendation-region="3"] .recommendation-scroll {grid-template-columns:repeat(3,minmax(0,1fr))}
.recommendation-item {display:flex;flex-direction:column;gap:.5rem;background:rgba(16,26,52,.5);border:1px solid rgba(200,210,240,.1);border-radius:.75rem;padding:.75rem;transition:transform .3s,border-color .3s,box-shadow .3s}
.recommendation-item:hover {transform:translateY(-4px);border-color:rgba(240,217,168,.5);box-shadow:0 8px 30px rgba(0,0,0,.4)}
.recommendation-poster {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:.5rem;background:#1a2a52}
.recommendation-name {font-size:.9rem;font-weight:600;color:#e8e6f0;letter-spacing:.05em;line-height:1.3}
.recommendation-blurb {font-size:.75rem;color:#aab4d8;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.site-footer {margin-top:3rem;border-top:1px solid rgba(200,210,240,.15);background:rgba(8,14,32,.9)}
.footer-inner {max-width:1440px;margin:0 auto;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:1.25rem}
.footer-disclaimer {font-size:.75rem;color:#5a668a;line-height:1.6;max-width:800px}
.footer-nav {display:flex;gap:1.5rem}
.footer-link {font-size:.85rem;color:#aab4d8;transition:color .2s}
.footer-link:hover {color:#f0d9a8}
.friend-links-nav {display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}
.friend-links-label {font-size:.8rem;color:#5a668a;letter-spacing:.1em}
.runtime-friend-link {font-size:.8rem;color:#aab4d8;text-decoration:underline;text-decoration-color:rgba(200,210,240,.2);text-underline-offset:3px;transition:color .2s}
.runtime-friend-link:hover {color:#f0d9a8;text-decoration-color:#f0d9a8}
.lights-off .main-content {opacity:.7;filter:brightness(.6);transition:opacity .4s,filter .4s}
.lights-off .site-header {background:rgba(5,10,20,.9)}
.lights-off .player-wrapper {box-shadow:0 0 60px rgba(240,217,168,.2)}
.lights-off .hero-visual {background:#050a14}
@media (max-width:1100px){.movie-overview-layout {grid-template-columns:minmax(0,1fr);gap:1.5rem}
.poster-player-wrapper {flex-direction:row;align-items:flex-start}
.poster-wrapper {max-width:280px;flex-shrink:0}
.player-wrapper {min-width:0;max-width:100%}
.cast-grid {grid-template-columns:repeat(3,1fr);max-width:600px}
.cast-grid-item:nth-child(n/**/+4) {margin-top:.5rem}
.recommendation-scroll, .recommendation-region[data-recommendation-region="2"] .recommendation-scroll, .recommendation-region[data-recommendation-region="3"] .recommendation-scroll {grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.header-inner {flex-direction:column;align-items:flex-start;gap:.5rem}
.categories-nav {justify-content:flex-start}
.movie-overview-layout {padding:1rem}
.poster-player-wrapper {flex-direction:column}
.poster-wrapper {max-width:240px}
.player-wrapper {min-width:0}
.synopsis-panel {grid-template-columns:1fr}
.details-grid {grid-template-columns:1fr}
.episode-cards-scroll {grid-template-columns:1fr;gap:.75rem}
.episode-summary {min-height:0}
.timeline-container::before {left:1.1rem}
.timeline-node {padding-left:2.8rem}
.timeline-node::before {left:.95rem}
.timeline-time {min-width:0;font-size:.75rem}
.cast-grid {grid-template-columns:repeat(2,1fr);max-width:400px}
.comments-bubble-stack {grid-template-columns:1fr}
.comment-bubble:nth-child(2) {transform:none}
.recommendation-scroll, .recommendation-region[data-recommendation-region="2"] .recommendation-scroll, .recommendation-region[data-recommendation-region="3"] .recommendation-scroll {grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.main-content {padding:0 .75rem 2rem}
.hero-visual {height:60vh;min-height:360px;margin:0 -.75rem}
.hero-moon-shadow {width:60vmin;height:60vmin}
.movie-title {font-size:1.2rem}
.movie-tagline {font-size:.85rem}
.poster-player-wrapper {gap:.75rem}
.poster-wrapper {max-width:200px}
.player-controls-bar {gap:.25rem;padding:.4rem}
.player-control-btn {font-size:.65rem;padding:.2rem .4rem}
.player-progress {min-width:80px}
.episode-status-row {gap:.25rem}
.episode-status-value {font-size:1rem}
.timeline-container {gap:1rem;padding:1.5rem .5rem}
.timeline-node {gap:1rem;padding-left:2.2rem}
.timeline-node::before {left:.75rem;width:12px;height:12px}
.timeline-label {font-size:.85rem;padding:.4rem .75rem}
.episodes-container {padding:1rem}
.section-heading {font-size:1.1rem}
.cast-grid {grid-template-columns:repeat(2,1fr);gap:.75rem}
.cast-avatar-hex {max-width:100px}
.recommendation-scroll, .recommendation-region[data-recommendation-region="2"] .recommendation-scroll, .recommendation-region[data-recommendation-region="3"] .recommendation-scroll {grid-template-columns:1fr 1fr;gap:.5rem}
.recommendation-item {padding:.5rem}
.recommendation-name {font-size:.8rem}
.recommendation-blurb {font-size:.7rem}
.footer-nav {flex-wrap:wrap;gap:.75rem}
.friend-links-nav {gap:.35rem .75rem}
.timeline-time {font-size:.7rem}}
@media (prefers-reduced-motion:reduce){*, *::before, *::after {animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !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}
