* {margin:0;padding:0;box-sizing:border-box}
html {scroll-behavior:smooth}
body {background:#0d1321;color:#e8e6e3;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.55;font-size:15px}
img, video {display:block;max-width:100%;height:auto}
a {color:inherit;text-decoration:none}
button {background:none;border:none;color:inherit;cursor:pointer;font:inherit}
header {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:14px 4vw;background:rgba(10,14,28,.96);border-bottom:1px solid #1e2a3a;position:sticky;top:0;z-index:20}
a[data-contract="site-name"] {font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;font-weight:700;color:#f0a860;letter-spacing:.06em;text-decoration:none}
a[data-contract="site-name"]:hover {color:#ffc98a}
nav[data-contract="categories"] {display:flex;flex-wrap:wrap;gap:6px}
.nav[data-contract="categories"] .runtime-category {display:inline-block}
.runtime-category {display:inline-block;padding:5px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(240,168,96,.3);color:#d8c4a8;font-size:.82rem;white-space:nowrap;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.runtime-category:hover {background:rgba(240,168,96,.18);border-color:#f0a860;color:#ffd9a8}
main {max-width:1280px;margin:0 auto;padding:0 4vw 60px}
.overview-shell {display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:28px 36px;padding:40px 0 24px;position:relative}
.poster-media-wrap {grid-row:span 3;position:relative;width:100%;max-width:300px;justify-self:center}
.main-poster-img {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.6);background:#1a2233}
.play-button-overlay {position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;display:flex;align-items:center;justify-content:center}
.teardrop-play {display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50% 50% 55% 45% / 60% 55% 45% 40%;background:rgba(240,168,96,.9);color:#0d1321;font-size:1.4rem;padding-left:4px;box-shadow:0 0 22px rgba(240,168,96,.7),0 4px 12px rgba(0,0,0,.4);transform:rotate(-45deg);animation:teardropPulse 2.4s ease-in-out infinite}
.teardrop-play::after {content:"";position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:18px solid rgba(240,168,96,.9)}
@keyframes teardropPulse{0%,100%{transform:rotate(-45deg) scale(1)}50%{transform:rotate(-45deg) scale(1.08)}}
.play-button-overlay:hover .teardrop-play {background:#ffb877}
.title-tagline-group {align-self:end;padding-top:8px}
.movie-title {font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;color:#f5e6d0;letter-spacing:.04em;margin-bottom:6px}
.tagline {font-size:.95rem;color:#f0a860;font-style:italic;letter-spacing:.08em;border-left:3px solid #f0a860;padding-left:12px}
.info-cluster {display:flex;flex-direction:column;gap:22px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:22px 24px}
.info-cluster .block-label {font-size:1rem;margin-bottom:8px}
.block-label {font-family:Georgia,"Times New Roman",serif;font-size:1.1rem;font-weight:600;color:#f0a860;letter-spacing:.1em;margin-bottom:10px;position:relative;padding-left:12px}
.block-label::before {content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:3px;background:#f0a860;border-radius:2px}
.cast-scroll {min-width:0}
.cast-row {display:flex;flex-wrap:wrap;gap:8px 10px}
.cast-item {background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:6px 14px;transition:background .2s,border-color .2s}
.cast-item:hover {background:rgba(240,168,96,.12);border-color:rgba(240,168,96,.4)}
.actor-name {font-size:.9rem;color:#d8d4cc;white-space:nowrap}
.synopsis-block .para {font-size:.92rem;color:#c5c2bb;margin-bottom:8px;line-height:1.7}
.synopsis-block .para:last-child {margin-bottom:0}
.episode-status-panel {display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;background:rgba(255,255,255,.04);border-left:3px solid #f0a860;padding:8px 12px;border-radius:0 6px 6px 0;font-size:.88rem}
.status-label {color:#e8e6e3}
.total-episodes, .current-episode {color:#f0a860;font-weight:700}
.status-dot {width:8px;height:8px;border-radius:50%;background:#4caf50;box-shadow:0 0 6px #4caf50}
.status-text {color:#b8e0b8;font-size:.85rem}
.details-grid {min-width:0}
.detail-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px 16px}
.detail-row {display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed rgba(255,255,255,.08);padding-bottom:4px;font-size:.85rem}
.detail-row dt {color:#8a8f9a;white-space:nowrap;flex-shrink:0}
.detail-row dd {color:#e0dcd4;text-align:right;font-weight:500}
.rating-value {color:#f0a860;font-weight:700;font-size:1rem}
.player-wrapper {width:100%;margin:8px 0 36px}
.player-shell {width:100%;background:#0a0e1a;border-radius:10px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.06)}
.player-shell video {display:block}
.player-controls {display:flex;align-items:center;gap:4px;padding:10px 14px;background:#121826;flex-wrap:wrap}
.player-controls button {background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:5px 10px;font-size:.8rem;color:#c5c2bb;transition:background .2s}
.player-controls button:hover {background:rgba(240,168,96,.2);color:#f0a860}
.progress-area {flex:1 1 auto;min-width:80px;background:rgba(255,255,255,.04);border-radius:4px;padding:5px 10px;font-size:.8rem;color:#8a8f9a;text-align:center;cursor:pointer}
.player-wrapper.theater-mode .player-shell {max-width:none;border-radius:0}
.player-wrapper.theater-mode video {aspect-ratio:16/9;width:100%}
body.light-off {background:#05070d}
body.light-off .player-wrapper {filter:brightness(.85)}
.timeline-section {margin:56px 0 44px;background:rgba(255,255,255,.02);border-radius:10px;padding:28px 24px;border:1px solid rgba(255,255,255,.05)}
.timeline-track {display:flex;gap:16px;overflow-x:auto;padding:8px 0 12px;scrollbar-width:thin;scrollbar-color:#f0a860 rgba(255,255,255,.05)}
.timeline-track::-webkit-scrollbar {height:6px}
.timeline-track::-webkit-scrollbar-track {background:rgba(255,255,255,.05);border-radius:3px}
.timeline-track::-webkit-scrollbar-thumb {background:#f0a860;border-radius:3px}
.timeline-item {flex:0 0 auto;min-width:200px;max-width:260px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;border-top:3px solid #f0a860;transition:transform .2s,background .2s}
.timeline-item:hover {transform:translateY(-3px);background:rgba(240,168,96,.08)}
.timecode {font-family:Georgia,serif;font-size:1.05rem;font-weight:700;color:#f0a860}
.tl-label {font-size:.85rem;color:#c5c2bb;line-height:1.5}
.episodes-grid-section {margin:44px 0}
.episode-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.episode-card {background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}
.episode-card::before {content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f0a860,transparent)}
.episode-card:hover {transform:translateY(-4px);border-color:rgba(240,168,96,.4);box-shadow:0 8px 20px rgba(0,0,0,.3)}
.ep-number {display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(240,168,96,.15);border:1px solid rgba(240,168,96,.4);color:#f0a860;font-family:Georgia,serif;font-weight:700;font-size:1rem;margin-bottom:4px}
.ep-title {font-family:Georgia,serif;font-size:1.1rem;color:#f5e6d0;letter-spacing:.04em}
.ep-summary {font-size:.85rem;color:#aab;line-height:1.6;flex:1}
.ep-duration {font-size:.78rem;color:#8a8f9a;letter-spacing:.06em;border-top:1px solid rgba(255,255,255,.06);padding-top:6px}
.comments-masonry {margin:44px 0}
.comment-columns {display:grid;grid-template-columns:repeat(2,1fr);gap:14px;align-items:start}
.comment-card {background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;break-inside:avoid;transition:border-color .2s,background .2s}
.comment-card:hover {border-color:rgba(240,168,96,.3);background:rgba(255,255,255,.05)}
.comment-nick {font-size:.82rem;color:#f0a860;font-weight:600;letter-spacing:.03em}
.comment-text {font-size:.88rem;color:#d8d4cc;line-height:1.6}
.recommendation-region {margin:44px 0}
.recommendation-roots {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.rec-card {display:flex;flex-direction:column;gap:8px;padding:0;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:10px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;color:#e0dcd4;text-decoration:none}
.rec-card:hover {transform:translateY(-4px);border-color:rgba(240,168,96,.4);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.rec-card img {width:100%;aspect-ratio:16/9;object-fit:cover;background:#1a2233}
.rec-card[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.rec-card span[data-runtime="name"] {font-size:.95rem;font-weight:600;color:#f5e6d0;padding:0 12px;line-height:1.4}
.rec-card span[data-runtime="blurb"] {font-size:.82rem;color:#aab;padding:0 12px 14px;line-height:1.5;flex:1}
footer {margin-top:60px;border-top:1px solid rgba(255,255,255,.07);background:#0a0e1a;padding:28px 4vw 20px}
nav[data-contract="friend-links"] {display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:18px}
.friend-label {font-size:.82rem;color:#8a8f9a;letter-spacing:.05em;white-space:nowrap}
.runtime-friend-link {font-size:.82rem;color:#8a9dc0;text-decoration:none;transition:color .2s;white-space:nowrap}
.runtime-friend-link:hover {color:#f0a860}
.disclaimer {font-size:.75rem;color:#667;line-height:1.8;margin-bottom:16px;max-width:900px}
.footer-links {display:flex;gap:18px;font-size:.82rem}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#8a9dc0;text-decoration:none;transition:color .2s}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {color:#f0a860}
@media (max-width:900px){.overview-shell {grid-template-columns:1fr;gap:20px}
.poster-media-wrap {grid-row:auto;max-width:260px;margin:0 auto}
.title-tagline-group {text-align:center}
.tagline {border-left:none;padding-left:0}
.detail-list {grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.player-wrapper {min-width:0}
.player-shell {min-width:0}
.comment-columns {grid-template-columns:1fr}
.episode-grid {grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.recommendation-roots {grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}
@media (max-width:600px){body {font-size:14px}
header {flex-direction:column;align-items:flex-start;gap:10px}
nav[data-contract="categories"] {width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
.runtime-category {flex:0 0 auto}
.overview-shell {padding-top:24px}
.poster-media-wrap {max-width:220px}
.info-cluster {padding:18px 16px}
.detail-list {grid-template-columns:1fr 1fr}
.timeline-section {padding:20px 16px}
.timeline-item {min-width:170px}
.episode-grid {grid-template-columns:1fr}
.comment-columns {grid-template-columns:1fr}
.recommendation-roots {grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.rec-card span[data-runtime="name"] {font-size:.85rem;padding:0 10px}
.rec-card span[data-runtime="blurb"] {font-size:.78rem;padding:0 10px 10px}
.player-controls {gap:2px;padding:8px 8px}
.player-controls button {padding:4px 8px;font-size:.75rem}
.player-wrapper {min-width:0}
.player-shell {min-width:0}
footer {padding:20px 4vw 16px}}
@media (max-width:400px){.detail-list {grid-template-columns:1fr}
.recommendation-roots {grid-template-columns:1fr 1fr;gap:10px}
.rec-card span[data-runtime="blurb"] {display:none}
.rec-card img {aspect-ratio:4/3}}

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}
