*, *::before, *::after {margin:0;padding:0;box-sizing:border-box}
html {scroll-behavior:smooth}
body {background:#0b1026;color:#d8c9a3;font-family:"Songti SC","SimSun","Noto Serif SC",serif;font-weight:300;line-height:1.6;overflow-x:hidden}
img, video {max-width:100%;display:block}
ul, dl {list-style:none}
a {color:inherit;text-decoration:none;transition:color .3s ease}
button {background:none;border:none;color:inherit;cursor:pointer;font-family:inherit}
header[data-contract="header"] {display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:linear-gradient(180deg,rgba(11,16,38,.98),rgba(11,16,38,.92));border-bottom:1px solid rgba(212,175,55,.35);position:sticky;top:0;z-index:100;backdrop-filter:blur(4px)}
.site-brand {font-family:"KaiTi","STKaiti",serif;font-size:1.4rem;font-weight:700;letter-spacing:4px;color:#d4af37;text-shadow:0 0 12px rgba(212,175,55,.4);white-space:nowrap}
.site-brand:hover {color:#e8c96a}
[data-contract="categories"] {display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.runtime-category {display:inline-block;padding:4px 14px;font-size:.85rem;font-family:"KaiTi","STKaiti",serif;color:#c9b37e;border:1px solid transparent;border-radius:2px;white-space:nowrap;transition:all .25s}
.runtime-category:hover {color:#d4af37;border-color:rgba(212,175,55,.5);background:rgba(212,175,55,.08)}
.hero-shell {position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden;background:#070b1d}
.hero-shell::before {content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 70% 40%,rgba(212,175,55,.08) 0%,transparent 50%),
  radial-gradient(circle at 20% 80%,rgba(178,34,34,.06) 0%,transparent 40%),
  repeating-conic-gradient(from 0deg at 50% 55%,rgba(212,175,55,.03) 0deg 5deg,transparent 5deg 15deg);
  pointer-events:none}
.hero-media {position:relative;width:100%;height:100%}
.hero-backdrop {width:100%;height:100%;min-height:72vh;object-fit:cover;object-position:center 30%;opacity:.55;filter:grayscale(.2) contrast(1.1)}
.hero-media::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,11,29,.5) 0%,rgba(7,11,29,.7) 60%,#0b1026 100%)}
.hero-caption {position:absolute;bottom:0;left:0;right:0;padding:32px clamp(16px,5vw,64px);z-index:2;text-align:left}
.hero-title {font-family:"KaiTi","STKaiti",serif;font-size:clamp(1.4rem,3.5vw,2.2rem);font-weight:700;letter-spacing:6px;color:#e8c96a;text-shadow:0 2px 20px rgba(0,0,0,.8);margin-bottom:8px}
.hero-tagline {font-size:clamp(.9rem,1.5vw,1.1rem);letter-spacing:8px;color:#c9b37e;text-shadow:0 1px 8px rgba(0,0,0,.9)}
.movie-panel {background:linear-gradient(180deg,#0f1530 0%,#141b3a 50%,#0f1530 100%);padding:clamp(12px,3vw,28px);position:relative}
.movie-panel::before {content:"";position:absolute;top:0;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.6),transparent)}
.poster-player-wrap {display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:clamp(12px,3vw,24px);margin-bottom:20px}
.poster-col {display:flex;align-items:flex-start}
.poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;border:1px solid rgba(212,175,55,.4);box-shadow:0 4px 24px rgba(0,0,0,.5)}
.player-col {min-width:0;display:flex;flex-direction:column;justify-content:flex-start}
.player-video {background:#000;border:1px solid rgba(212,175,55,.3)}
.player-controls {display:flex;gap:4px;padding:8px 6px;background:rgba(7,11,29,.9);border:1px solid rgba(212,175,55,.25);border-top:none;flex-wrap:wrap}
.player-controls button {width:36px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.9rem;border-radius:2px;transition:background .2s;color:#c9b37e}
.player-controls button:hover {background:rgba(212,175,55,.15);color:#e8c96a}
.player-col.theater-mode .player-video {position:fixed;inset:0;width:100vw;height:100vh;z-index:9999;object-fit:contain;background:#000}
.player-col.lights-off .player-video {filter:brightness(.6) contrast(1.2)}
.title-group {text-align:center;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid rgba(212,175,55,.3)}
.movie-title {font-family:"KaiTi","STKaiti",serif;font-size:clamp(1.5rem,4vw,2.4rem);font-weight:700;letter-spacing:4px;color:#e8c96a}
.movie-tagline {font-size:.95rem;letter-spacing:6px;color:#8a7a5a;margin-top:4px}
.cast-block {margin-bottom:24px}
.block-heading {font-family:"KaiTi","STKaiti",serif;font-size:1.1rem;color:#d4af37;letter-spacing:3px;margin-bottom:12px;padding-left:12px;border-left:3px solid #b22222}
.cast-list {display:flex;flex-wrap:wrap;gap:clamp(8px,2vw,20px);justify-content:center}
.cast-item {display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;min-width:70px}
.cast-avatar {width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#1a2340,#0b1026);border:2px solid #d4af37;position:relative;overflow:hidden}
.cast-avatar::before {content:"";position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(212,175,55,.25),rgba(178,34,34,.15));box-shadow:inset 0 0 8px rgba(0,0,0,.6)}
.cast-name {font-size:.85rem;color:#c9b37e;letter-spacing:1px}
.synopsis-block {margin-bottom:24px;padding:16px;background:rgba(255,255,255,.02);border-left:1px solid rgba(212,175,55,.2)}
.synopsis-para {font-size:.95rem;line-height:1.8;color:#b8a87e;margin-bottom:10px;text-indent:2em}
.synopsis-para:last-child {margin-bottom:0}
.episode-status-block {display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.episode-current {font-family:"KaiTi","STKaiti",serif;font-size:1.2rem;color:#b22222;font-weight:700;letter-spacing:2px;padding:4px 16px;border:1px solid rgba(178,34,34,.4);background:rgba(178,34,34,.08)}
.episode-total {font-size:.9rem;color:#8a7a5a;letter-spacing:2px}
.details-block {margin-bottom:8px}
.details-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 16px}
.detail-item {display:flex;gap:6px;padding:6px 10px;background:rgba(255,255,255,.02);border-bottom:1px solid rgba(212,175,55,.12)}
.detail-item dt {color:#8a7a5a;font-size:.82rem;letter-spacing:1px;white-space:nowrap}
.detail-item dd {color:#c9b37e;font-size:.88rem;font-weight:400}
.section-title {font-family:"KaiTi","STKaiti",serif;font-size:1.3rem;color:#d4af37;letter-spacing:5px;text-align:center;margin:0 0 20px;position:relative;padding-bottom:10px}
.section-title::after {content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:1px;background:linear-gradient(90deg,transparent,#d4af37,transparent)}
.timeline-block {padding:clamp(16px,4vw,40px);background:linear-gradient(180deg,#0b1026,#0f1530)}
.timeline-list {position:relative;max-width:720px;margin:0 auto;padding-left:0}
.timeline-list::before {content:"";position:absolute;left:20px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,#d4af37 10%,#d4af37 90%,transparent)}
.timeline-item {position:relative;padding:12px 0 12px 56px;display:flex;flex-direction:column;gap:4px}
.timeline-item::before {content:"";position:absolute;left:14px;top:20px;width:14px;height:14px;border-radius:50%;background:#0b1026;border:2px solid #d4af37;box-shadow:0 0 8px rgba(212,175,55,.5)}
.timeline-item:nth-child(odd)::before {background:#b22222;border-color:#b22222}
.timecode {font-family:"KaiTi","STKaiti",serif;font-size:.9rem;color:#d4af37;letter-spacing:1px}
.timeline-label {font-size:.92rem;color:#b8a87e;line-height:1.5}
.episodes-block {padding:clamp(16px,4vw,40px);background:#0f1530}
.episode-scroll {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}
.episode-card {background:linear-gradient(145deg,rgba(20,27,58,.9),rgba(11,16,38,.9));border:1px solid rgba(212,175,55,.25);padding:16px;display:flex;flex-direction:column;gap:8px;transition:all .3s;position:relative}
.episode-card:hover {transform:translateY(-3px);border-color:rgba(212,175,55,.6);box-shadow:0 6px 20px rgba(0,0,0,.4)}
.episode-number {font-family:"KaiTi","STKaiti",serif;font-size:1.6rem;font-weight:700;color:#d4af37;line-height:1}
.episode-title {font-family:"KaiTi","STKaiti",serif;font-size:1.05rem;color:#e8c96a;letter-spacing:2px}
.episode-summary {font-size:.82rem;color:#8a7a5a;line-height:1.5;flex-grow:1}
.episode-duration {font-size:.78rem;color:#b22222;letter-spacing:1px;align-self:flex-end}
.episode-more {text-align:center;color:#8a7a5a;font-size:.85rem;margin-top:16px;letter-spacing:2px}
.comments-block {padding:clamp(16px,4vw,40px);background:#0b1026}
.comments-masonry {display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;align-items:start}
.comment-card {background:rgba(20,27,58,.6);border:1px solid rgba(212,175,55,.15);padding:14px 16px;display:flex;flex-direction:column;gap:8px;transition:border-color .3s}
.comment-card:hover {border-color:rgba(212,175,55,.4)}
.comment-nick {font-family:"KaiTi","STKaiti",serif;font-size:.95rem;color:#d4af37;letter-spacing:1px}
.comment-text {font-size:.85rem;color:#b8a87e;line-height:1.6}
.recommendation-region {padding:clamp(16px,4vw,32px);border-top:1px solid rgba(212,175,55,.2)}
.recommendation-region:nth-of-type(even) {background:#0f1530}
.rec-title {font-family:"KaiTi","STKaiti",serif;font-size:1.15rem;color:#d4af37;letter-spacing:3px;margin-bottom:16px;text-align:center}
.rec-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.rec-item {display:flex;flex-direction:column;gap:6px;padding:10px;background:rgba(20,27,58,.5);border:1px solid rgba(212,175,55,.15);transition:all .3s;text-align:center}
.rec-item:hover {transform:scale(1.02);border-color:rgba(212,175,55,.5);box-shadow:0 4px 16px rgba(0,0,0,.4)}
.rec-item img {width:100%;aspect-ratio:2/3;object-fit:cover;background:#1a2340}
.rec-item span[data-runtime="name"] {font-family:"KaiTi","STKaiti",serif;font-size:.95rem;color:#e8c96a;letter-spacing:1px;line-height:1.3}
.rec-item span[data-runtime="blurb"] {font-size:.78rem;color:#8a7a5a;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
[data-recommendation-region="2"] .rec-grid {grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
[data-recommendation-region="3"] .rec-grid {grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
footer {padding:clamp(16px,4vw,32px);background:#070b1d;border-top:1px solid rgba(212,175,55,.3)}
.footer-disclaimer {font-size:.78rem;color:#6b5f45;line-height:1.6;text-align:center;margin-bottom:16px;max-width:800px;margin-left:auto;margin-right:auto}
.footer-nav {display:flex;justify-content:center;gap:24px;margin-bottom:16px}
.footer-nav a {font-size:.9rem;color:#c9b37e;letter-spacing:2px}
.footer-nav a:hover {color:#d4af37}
.friend-links {display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;align-items:center;font-size:.82rem}
.friend-label {color:#8a7a5a;white-space:nowrap}
.runtime-friend-link {color:#6b5f45;transition:color .3s}
.runtime-friend-link:hover {color:#d4af37}
a[data-contract="site-name"] {color:#d4af37;text-decoration:none}
a[data-contract="site-name"]:hover {color:#e8c96a;text-decoration:underline}
a.runtime-category {color:#c9b37e;text-decoration:none}
a.runtime-category:hover {color:#e8c96a;text-decoration:underline}
a.rec-item {color:#c9b37e;text-decoration:none}
a.rec-item:hover {color:#e8c96a;text-decoration:none}
a[data-contract="footer-home"] {color:#c9b37e;text-decoration:none}
a[data-contract="footer-home"]:hover {color:#e8c96a;text-decoration:underline}
a[data-contract="footer-sitemap"] {color:#c9b37e;text-decoration:none}
a[data-contract="footer-sitemap"]:hover {color:#e8c96a;text-decoration:underline}
a.runtime-friend-link {color:#6b5f45;text-decoration:none}
a.runtime-friend-link:hover {color:#d4af37;text-decoration:underline}
@media(max-width:900px){.poster-player-wrap {grid-template-columns:minmax(110px,160px) minmax(0,1fr)}
.cast-avatar {width:48px;height:48px}
.rec-grid {grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
@media(max-width:640px){header[data-contract="header"] {flex-direction:column;gap:8px;padding:10px 12px}
[data-contract="categories"] {justify-content:center;gap:2px}
.runtime-category {padding:3px 10px;font-size:.75rem}
.poster-player-wrap {grid-template-columns:1fr;gap:12px}
.poster-col {justify-content:center}
.poster-img {width:60%;margin:0 auto}
.player-col {min-height:auto}
.hero-shell, .hero-backdrop {min-height:60vh}
.hero-caption {padding:20px 16px}
.hero-title {font-size:1.2rem;letter-spacing:3px}
.timeline-list::before {left:14px}
.timeline-item {padding:10px 0 10px 42px}
.timeline-item::before {left:8px;width:12px;height:12px}
.episode-scroll {grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.comments-masonry {grid-template-columns:1fr}
.details-grid {grid-template-columns:repeat(2,1fr)}
.rec-grid {grid-template-columns:repeat(2,1fr)}
.cast-list {gap:10px}
.cast-item {min-width:56px}
.footer-nav {gap:16px;flex-wrap:wrap}}
@media(max-width:420px){.rec-grid {grid-template-columns:1fr 1fr;gap:8px}
.rec-item {padding:6px}
.episode-scroll {grid-template-columns:1fr}
.details-grid {grid-template-columns:1fr}
.poster-img {width:80%}}
main>*+* {position:relative}
main>*+*::after {content:"";position:absolute;top:0;left:2%;right:2%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.4),transparent)}
.cast-list {align-items:flex-start}
.comments-masonry {align-items:start}
.rec-grid {align-items:start}
.details-grid {align-items:start}
.poster-img {max-height:420px;width:auto;max-width:100%}
[data-runtime="recommendation"] img {width:100%;aspect-ratio:2/3;object-fit:cover}
.player-col {min-width:0}
.poster-player-wrap {grid-template-columns:minmax(140px,200px) minmax(0,1fr)}
.hero-shell, .episode-scroll, .comments-masonry, .rec-grid {overflow:visible}
@media(max-width:640px){.episode-scroll {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}
