*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth}
body {font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;background:#1e2433;color:#f2d9c4;line-height:1.6;min-height:100vh;overflow-x:hidden}
img, video {display:block;max-width:100%}
ul {list-style:none}
a {color:inherit;text-decoration:none}
button, input, select {font:inherit;color:inherit;background:none;border:none}
button {cursor:pointer}
.site-header {position:sticky;top:0;z-index:100;background:rgba(30,36,51,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(242,141,151,.25)}
.header-inner {max-width:1440px;margin:0 auto;padding:.7rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.site-logo {font-size:1.15rem;font-weight:800;letter-spacing:.02em;color:#f7c9c6;position:relative;padding:.3rem .7rem;border-radius:2rem;background:linear-gradient(120deg,rgba(242,141,151,.2),rgba(255,220,130,.1));box-shadow:0 0 18px rgba(242,141,151,.25);transition:color .2s,box-shadow .2s}
.site-logo:hover {color:#ff9a9e;box-shadow:0 0 28px rgba(242,141,151,.45)}
a[data-contract="site-name"] {color:#f7c9c6;text-decoration:none}
.categories-nav {display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.2rem 0}
.runtime-category {display:inline-block;white-space:nowrap;font-size:.82rem;font-weight:600;color:#b8c4d0;padding:.35rem .85rem;border-radius:2rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:color .2s,background .2s,border-color .2s;text-decoration:none}
.runtime-category:hover {color:#f7c9c6;background:rgba(242,141,151,.12);border-color:rgba(242,141,151,.4)}
.main-content {max-width:1440px;margin:0 auto;padding:1rem 1.2rem 2rem}
.movie-overview {display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:1.2rem;background:linear-gradient(135deg,rgba(40,48,64,.95),rgba(28,34,48,.98));border-radius:1.5rem;padding:1.4rem;border:1px solid rgba(242,141,151,.2);box-shadow:0 8px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.04);position:relative;overflow:visible}
.movie-overview::before {content:"";position:absolute;top:-40px;right:10%;width:min(60vw,480px);height:min(60vw,480px);background:radial-gradient(circle,rgba(242,141,151,.35),transparent 70%);filter:blur(30px);pointer-events:none;z-index:0}
.poster-wrapper {grid-row:span 2;position:relative;z-index:1;align-self:start}
.main-poster {width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:1rem;box-shadow:0 12px 40px rgba(0,0,0,.55),0 0 30px rgba(242,141,151,.15);border:2px solid rgba(242,141,151,.3)}
.overview-content {grid-column:2;position:relative;z-index:1;display:flex;flex-direction:column;gap:.9rem;min-width:0}
.movie-title {font-size:1.55rem;font-weight:800;color:#fff;letter-spacing:.03em;line-height:1.3;background:linear-gradient(120deg,#ffd1cf,#f7c9c6 40%,#ffe3a3);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 24px rgba(242,141,151,.3)}
.movie-tagline {font-size:.95rem;color:#c0cbd8;font-weight:400;font-style:italic;border-left:3px solid #f28d97;padding-left:.7rem;margin:.2rem 0}
.cast-section, .synopsis-section, .episode-status, .details-section {background:transparent;border:none;box-shadow:none}
.section-label {font-size:.8rem;font-weight:700;color:#f28d97;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.45rem;position:relative;display:inline-block}
.section-label::after {content:"";position:absolute;left:0;bottom:-3px;width:100%;height:2px;background:linear-gradient(90deg,#f28d97,transparent);border-radius:2px}
.cast-list {display:flex;flex-wrap:wrap;gap:.45rem}
.cast-item {background:rgba(242,141,151,.1);border:1px solid rgba(242,141,151,.25);border-radius:2rem;padding:.25rem .85rem;font-size:.85rem;transition:background .2s}
.cast-item:hover {background:rgba(242,141,151,.22)}
.cast-item .actor-name {font-weight:600;color:#f7c9c6}
.synopsis-content {display:flex;flex-direction:column;gap:.55rem}
.synopsis-para {font-size:.88rem;color:#c8d2de;line-height:1.7;text-align:justify}
.episode-status {display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:rgba(242,141,151,.06);border-radius:1rem;padding:.6rem 1rem;border:1px dashed rgba(242,141,151,.3)}
.status-badge {display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.status-label {font-size:.8rem;color:#aab6c4}
.status-value {font-size:.95rem;font-weight:700;color:#f7c9c6}
.status-meta {display:flex;gap:.8rem;flex-wrap:wrap;font-size:.8rem;color:#aab6c4}
.status-duration, .status-rating {background:rgba(255,255,255,.05);padding:.15rem .5rem;border-radius:.4rem}
.details-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem .8rem;background:rgba(255,255,255,.02);border-radius:.8rem;padding:.7rem .9rem}
.detail-item {display:flex;flex-direction:column;gap:.1rem;font-size:.78rem}
.detail-label {color:#8e9aab;letter-spacing:.05em}
.detail-value {color:#dce4ee;font-weight:500}
.player-wrapper {grid-column:2;grid-row:auto;position:relative;z-index:1;width:100%;max-width:none;min-width:0;margin-top:.2rem;background:#141920;border-radius:1rem;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06)}
.player-wrapper video {width:100%;display:block;background:#000}
.player-controls {display:flex;align-items:center;gap:.4rem;padding:.5rem .6rem;background:rgba(15,20,30,.95);border-top:1px solid rgba(255,255,255,.06);flex-wrap:wrap}
.player-btn {font-size:.72rem;padding:.3rem .6rem;background:rgba(255,255,255,.06);border-radius:.4rem;transition:background .2s,color .2s;color:#c8d2de}
.player-btn:hover {background:rgba(242,141,151,.25);color:#fff}
.player-btn.is-muted {background:rgba(242,141,151,.4);color:#fff}
.player-progress {flex:1;min-width:120px;accent-color:#f28d97;height:4px;background:rgba(255,255,255,.1);border-radius:4px}
.player-speed {font-size:.72rem;padding:.3rem .4rem;background:rgba(255,255,255,.06);border-radius:.4rem;color:#c8d2de}
.timeline-section, .episodes-section, .actors-section, .comments-section, .recommendation-section {padding:1.2rem .2rem .4rem}
.section-title {font-size:1.2rem;font-weight:800;color:#fff;margin-bottom:.8rem;position:relative;display:inline-block;letter-spacing:.04em}
.section-title::before {content:"";position:absolute;left:-.6rem;top:50%;transform:translateY(-50%);width:4px;height:1.3em;background:linear-gradient(180deg,#f28d97,#ffd1cf);border-radius:4px;box-shadow:0 0 14px rgba(242,141,151,.6)}
.timeline-container {display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;position:relative;padding:1.5rem 0 .6rem}
.timeline-container::before {content:"";position:absolute;top:1.1rem;left:2%;right:2%;height:3px;background:linear-gradient(90deg,rgba(242,141,151,.2),rgba(242,141,151,.7),rgba(255,220,130,.5),rgba(242,141,151,.2));border-radius:3px}
.timeline-item {display:flex;flex-direction:column;gap:.25rem;background:rgba(255,255,255,.03);border-radius:.8rem;padding:.7rem .6rem;border:1px solid rgba(255,255,255,.05);position:relative;transition:transform .2s,border-color .2s}
.timeline-item::before {content:"";position:absolute;top:-.7rem;left:50%;transform:translateX(-50%);width:10px;height:10px;background:#f28d97;border-radius:50%;box-shadow:0 0 12px rgba(242,141,151,.7);border:2px solid #1e2433}
.timeline-item:hover {transform:translateY(-3px);border-color:rgba(242,141,151,.4)}
.timecode {font-size:.7rem;font-weight:700;color:#f28d97;letter-spacing:.05em}
.timeline-label {font-size:.78rem;color:#c8d2de;line-height:1.4}
.episodes-list {display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}
.episode-card {background:rgba(255,255,255,.03);border-radius:.8rem;padding:.7rem .8rem;border:1px solid rgba(255,255,255,.05);transition:background .2s,border-color .2s;cursor:pointer}
.episode-card:hover {background:rgba(242,141,151,.08);border-color:rgba(242,141,151,.3)}
.episode-header {display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.episode-number {display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:linear-gradient(135deg,#f28d97,#ffb4a2);border-radius:50%;font-size:.75rem;font-weight:800;color:#2a1f2a;flex-shrink:0}
.episode-title {font-size:.88rem;font-weight:700;color:#e8edf3;flex:1}
.episode-duration {font-size:.68rem;color:#8e9aab;background:rgba(255,255,255,.05);padding:.1rem .35rem;border-radius:.3rem}
.episode-summary {font-size:.78rem;color:#aab6c4;line-height:1.5;margin-top:.4rem;padding-top:.4rem;border-top:1px dashed rgba(255,255,255,.08)}
.actors-section {overflow:hidden}
.actors-scroll {display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;overflow-x:auto;scrollbar-width:thin;padding-bottom:.4rem}
.actor-card {background:rgba(255,255,255,.03);border-radius:1rem;padding:.8rem;text-align:center;border:1px solid rgba(255,255,255,.05);transition:background .2s,transform .2s;display:flex;flex-direction:column;gap:.3rem}
.actor-card:hover {background:rgba(242,141,151,.08);transform:translateY(-4px)}
.actor-portrait {aspect-ratio:3/4;background:linear-gradient(145deg,rgba(242,141,151,.3),rgba(255,220,130,.15));border-radius:.7rem;margin-bottom:.4rem;position:relative;overflow:hidden}
.actor-portrait::after {content:"✦";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2rem;color:rgba(242,141,151,.5)}
.actor-name {font-size:.95rem;font-weight:700;color:#f7c9c6}
.actor-role {font-size:.72rem;color:#8e9aab;margin-bottom:.15rem}
.actor-desc {font-size:.74rem;color:#aab6c4;line-height:1.45}
.comments-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.comment-bubble {background:rgba(255,255,255,.04);border-radius:1rem 1rem 1rem .3rem;padding:.7rem .9rem;border:1px solid rgba(255,255,255,.06);position:relative}
.comment-bubble::before {content:"";position:absolute;left:-6px;bottom:12px;width:12px;height:12px;background:rgba(255,255,255,.04);border-left:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);transform:rotate(45deg)}
.comment-header {margin-bottom:.3rem}
.comment-nickname {font-size:.8rem;font-weight:700;color:#f28d97}
.comment-text {font-size:.82rem;color:#c8d2de;line-height:1.55}
.recommendation-section {margin-bottom:.4rem}
.recommendation-row {display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;align-items:start}
.recommendation-section[data-recommendation-region="2"] .recommendation-row, .recommendation-section[data-recommendation-region="3"] .recommendation-row {grid-template-columns:repeat(3,1fr)}
.recommendation-card {display:flex;flex-direction:column;gap:.3rem;background:rgba(255,255,255,.03);border-radius:.9rem;padding:.5rem;border:1px solid rgba(255,255,255,.05);transition:background .2s,transform .2s,box-shadow .2s;color:inherit;text-decoration:none}
.recommendation-card:hover {background:rgba(242,141,151,.08);transform:translateY(-3px);box-shadow:0 6px 24px rgba(242,141,151,.15)}
[data-runtime="recommendation"] img {width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:.5rem;background:#141920}
.recommendation-name {font-size:.85rem;font-weight:700;color:#e8edf3;line-height:1.3}
.recommendation-blurb {font-size:.72rem;color:#8e9aab;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.site-footer {margin-top:2rem;background:#171c28;border-top:1px solid rgba(242,141,151,.15);padding:1.2rem 1.2rem .8rem}
.footer-inner {max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:.8rem}
.footer-disclaimer {font-size:.75rem;color:#7a8698;line-height:1.5;text-align:center}
.footer-links {display:flex;justify-content:center;gap:1.2rem}
.footer-link {font-size:.82rem;color:#aab6c4;transition:color .2s;text-decoration:none}
.footer-link:hover {color:#f28d97}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {color:#aab6c4;text-decoration:none}
.friend-links {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem .8rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.04)}
.friend-links-label {font-size:.75rem;color:#8e9aab;font-weight:600;margin-right:.2rem}
.runtime-friend-link {font-size:.72rem;color:#7a8698;transition:color .2s;text-decoration:none}
.runtime-friend-link:hover {color:#f28d97}
.main-poster {width:100%;min-height:0}
.poster-wrapper {min-width:0}
.movie-overview .poster-wrapper {grid-row:1/3}
.movie-overview .overview-content {min-width:0}
.movie-overview .player-wrapper {grid-column:2}
.lights-off .main-content, .lights-off .site-footer {filter:brightness(.6) saturate(.9);transition:filter .3s}
.lights-off .site-header {background:rgba(15,18,28,.95)}
.theater-mode {background:#000;border-radius:0}
@media(max-width:1100px){.movie-overview {grid-template-columns:minmax(0,260px) minmax(0,1fr)}
.details-grid {grid-template-columns:repeat(3,1fr)}
.timeline-container {grid-template-columns:repeat(3,1fr);gap:.6rem;padding-top:1.5rem}
.timeline-container::before {top:1.1rem}
.episodes-list {grid-template-columns:repeat(2,1fr)}
.actors-scroll {grid-template-columns:repeat(3,1fr)}
.recommendation-row, .recommendation-section[data-recommendation-region="2"] .recommendation-row, .recommendation-section[data-recommendation-region="3"] .recommendation-row {grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.movie-overview {grid-template-columns:1fr;padding:1rem}
.poster-wrapper {grid-row:auto;grid-column:1;width:100%;max-width:280px;margin:0 auto}
.main-poster {width:100%}
.overview-content {grid-column:1}
.player-wrapper {grid-column:1}
.movie-title {font-size:1.25rem}
.details-grid {grid-template-columns:repeat(2,1fr)}
.timeline-container {grid-template-columns:1fr;gap:.5rem;padding-top:0}
.timeline-container::before {display:none}
.timeline-item::before {top:50%;left:-.4rem;transform:translateY(-50%)}
.episodes-list {grid-template-columns:1fr}
.actors-scroll {grid-template-columns:repeat(2,1fr)}
.comments-grid {grid-template-columns:1fr}
.recommendation-row, .recommendation-section[data-recommendation-region="2"] .recommendation-row, .recommendation-section[data-recommendation-region="3"] .recommendation-row {grid-template-columns:1fr}
.header-inner {justify-content:center;text-align:center}
.categories-nav {justify-content:center}
.player-controls {gap:.25rem}
.player-btn {font-size:.65rem;padding:.25rem .45rem}}
@media(max-width:480px){.main-content {padding:.5rem .7rem}
.movie-overview {padding:.7rem}
.poster-wrapper {max-width:220px}
.details-grid {grid-template-columns:1fr 1fr}
.actors-scroll {grid-template-columns:1fr}
.episode-header {flex-wrap:wrap}
.player-controls {display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem}
.player-progress {grid-column:1/-1;min-width:0}
.player-speed {grid-column:span 1}
.footer-links, .friend-links {flex-direction:column;align-items:center;gap:.5rem}}

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}
