* {box-sizing:border-box}
html {-webkit-text-size-adjust:100%}
body {margin:0}
h1, h2, h3, p, ol, ul, dl, dd, figure {margin:0;padding:0}
ol, ul {list-style:none}
img, video {display:block;max-width:100%}
button, input, select {font:inherit;color:inherit}
a {color:inherit}
:root {
--blue:#0b1e33;
--blue-2:#123a5e;
--blue-3:#1d5b86;
--blue-glow:#5fb4e8;
--red:#3a0d14;
--red-2:#6b1220;
--red-3:#a3162b;
--red-glow:#e8546a;
--ink:#e8eef4;
--ink-dim:#8fa6bb;
--line:rgba(139,178,214,.22);
--grid:rgba(139,178,214,.06);
--panel:#0a1521;
--panel-2:#0d1b2b;
--edge:rgba(232,84,106,.35);
--font:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",-apple-system,"Segoe UI",sans-serif;
--fs-xxs:10px;
--fs-xs:11px;
--fs-sm:12px;
--fs-md:13px;
--fs-lg:15px;
--fs-xl:19px;
--fs-2xl:26px;
--fs-3xl:38px;
}
body {
background:var(--blue);
background-image:
linear-gradient(160deg,rgba(11,30,51,.96) 0%,rgba(18,58,94,.72) 38%,rgba(58,13,20,.86) 66%,rgba(11,20,32,.98) 100%),
repeating-linear-gradient(0deg,var(--grid) 0 1px,transparent 1px 26px),
repeating-linear-gradient(90deg,var(--grid) 0 1px,transparent 1px 26px);
background-attachment:fixed;
color:var(--ink);
font-family:var(--font);
font-size:var(--fs-md);
line-height:1.55;
letter-spacing:.01em;
-webkit-font-smoothing:antialiased;
}
::selection {background:var(--red-3);color:#fff}
.site-header {
position:sticky;top:0;z-index:40;
background:rgba(7,15,24,.92);
border-bottom:1px solid var(--line);
backdrop-filter:blur(6px);
}
.site-header::after {
content:"";display:block;height:2px;
background:linear-gradient(90deg,var(--blue-3) 0 48%,var(--red-3) 48% 52%,var(--red-2) 52% 100%);
}
.header-inner {
display:flex;align-items:center;gap:14px;flex-wrap:wrap;
padding:8px 16px;max-width:1440px;margin:0 auto;
}
a[data-contract="site-name"] {
font-size:var(--fs-lg);font-weight:800;letter-spacing:-.02em;
text-decoration:none;color:var(--ink);
padding-left:12px;position:relative;white-space:nowrap;
}
a[data-contract="site-name"]::before {
content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
width:4px;height:16px;background:var(--red-3);
}
.category-nav {
display:flex;flex-wrap:wrap;gap:6px;align-items:center;
}
a.runtime-category {
white-space:nowrap;
font-size:var(--fs-sm);
text-decoration:none;
color:var(--blue-glow);
border:1px solid var(--line);
background:rgba(29,91,134,.16);
padding:3px 10px;
letter-spacing:.04em;
transition:background .15s,color .15s,border-color .15s;
}
a.runtime-category:hover, a.runtime-category:focus-visible {
background:var(--red-2);color:#fff;border-color:var(--red-3);
}
.page-main {
max-width:1440px;margin:0 auto;padding:10px 16px 0;
display:flex;flex-direction:column;gap:14px;
}
.section-heading {
font-size:var(--fs-lg);font-weight:800;letter-spacing:-.02em;
text-transform:none;
display:flex;align-items:center;gap:8px;
padding-bottom:5px;margin-bottom:8px;
border-bottom:1px solid var(--line);
}
.section-heading::before {
content:"";width:10px;height:10px;flex:none;
background:var(--red-3);
clip-path:polygon(0 45%,40% 45%,40% 0,60% 0,60% 45%,100% 45%,100% 55%,60% 55%,60% 100%,40% 100%,40% 55%,0 55%);
}
.section-heading::after {
content:"";flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--edge) 0 6px,transparent 6px 12px);
}
.movie-overview {
display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);
gap:10px;
background:var(--panel);
border:1px solid var(--line);
box-shadow:inset 0 0 0 1px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.3);
padding:10px;
position:relative;
}
.movie-overview::before {
content:"";position:absolute;inset:0;pointer-events:none;
background:repeating-linear-gradient(0deg,rgba(139,178,214,.045) 0 1px,transparent 1px 22px);
}
.overview-visual {
display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);
gap:10px;align-content:start;
position:relative;z-index:1;
}
.poster-column {display:flex;flex-direction:column;gap:6px;min-width:0}
.poster-frame {
border:1px solid var(--line);
background:#050b12;
position:relative;
}
.poster-frame::after {
content:"";position:absolute;inset:0;pointer-events:none;
background:linear-gradient(180deg,transparent 62%,rgba(163,22,43,.35) 100%);
}
.poster-frame img {
width:100%;height:auto;
object-fit:cover;
filter:saturate(.85) contrast(1.08) brightness(.92);
}
.split-figure {
display:flex;align-items:stretch;gap:0;
border:1px solid var(--line);
background:#050b12;
min-height:42px;
}
.face-yunshu, .face-yunqiao {
flex:1 1 0;min-width:0;
display:flex;align-items:flex-end;
padding:4px 5px;
}
.face-yunshu {
background:linear-gradient(105deg,rgba(29,91,134,.55),rgba(29,91,134,.12) 70%,transparent);
border-right:0;
}
.face-yunqiao {
background:linear-gradient(255deg,rgba(107,18,32,.55),rgba(107,18,32,.12) 70%,transparent);
justify-content:flex-end;text-align:right;
}
.face-label {
font-size:var(--fs-xxs);line-height:1.3;color:var(--ink-dim);
letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
max-width:100%;
}
.neural-thread {
flex:0 0 2px;align-self:stretch;
background:linear-gradient(180deg,transparent,var(--red-glow) 18%,var(--red-3) 50%,var(--red-glow) 82%,transparent);
box-shadow:0 0 6px rgba(232,84,106,.7);
}
.player-column {min-width:0;display:flex;flex-direction:column;gap:6px}
.player-shell {
position:relative;
border:1px solid var(--line);
background:#03080e;
display:flex;flex-direction:column;
}
.player-shell video {
display:block;width:100%;
background:#03080e;
}
.player-controls {
display:flex;flex-wrap:wrap;align-items:center;gap:4px;
padding:5px 6px;
background:linear-gradient(180deg,rgba(7,15,24,.95),rgba(11,30,51,.95));
border-top:1px solid var(--line);
}
.ctrl {
display:inline-flex;align-items:center;gap:4px;
font-size:var(--fs-xxs);letter-spacing:.05em;
color:var(--ink-dim);
background:rgba(29,91,134,.14);
border:1px solid var(--line);
padding:2px 6px;line-height:1.5;
cursor:pointer;
white-space:nowrap;
transition:background .14s,color .14s,border-color .14s;
}
.ctrl:hover, .ctrl:focus-visible {background:var(--red-2);color:#fff;border-color:var(--red-3)}
.ctrl-progress-label, .ctrl-volume-label, .ctrl-speed-label {cursor:pointer}
.ctrl-progress, .ctrl-volume {
-webkit-appearance:none;appearance:none;
width:78px;height:3px;background:rgba(139,178,214,.3);
border:0;outline:0;cursor:pointer;vertical-align:middle;
}
.ctrl-progress::-webkit-slider-thumb, .ctrl-volume::-webkit-slider-thumb {
-webkit-appearance:none;width:9px;height:9px;border-radius:0;
background:var(--red-glow);border:0;cursor:pointer;
}
.ctrl-progress::-moz-range-thumb, .ctrl-volume::-moz-range-thumb {
width:9px;height:9px;border-radius:0;background:var(--red-glow);border:0;
}
.ctrl-speed {
background:rgba(29,91,134,.14);border:1px solid var(--line);
color:var(--ink);font-size:var(--fs-xxs);padding:1px 2px;cursor:pointer;
}
.player-shell.is-theater {
box-shadow:0 0 0 2px var(--red-3),0 0 26px rgba(163,22,43,.4);
}
body.is-lights-off {background-image:none;background:#02060a}
body.is-lights-off .player-shell, .player-shell.is-lights-off {
background:#000;border-color:var(--red-3);
box-shadow:0 0 0 1px var(--red-3),0 0 30px rgba(163,22,43,.5);
}
.overview-info {
position:relative;z-index:1;
display:flex;flex-direction:column;gap:8px;
min-width:0;
}
.movie-title {
font-size:var(--fs-2xl);font-weight:900;letter-spacing:-.03em;line-height:1.15;
}
.movie-tagline {
font-size:var(--fs-md);color:var(--red-glow);
letter-spacing:.02em;
padding-left:9px;border-left:3px solid var(--red-3);
}
.movie-seo {
font-size:var(--fs-sm);line-height:1.65;color:var(--ink-dim);
max-width:78ch;
}
.cast-strip {
border-top:1px solid var(--line);
padding-top:7px;
}
.cast-heading, .synopsis-heading, .status-heading, .details-heading {
font-size:var(--fs-sm);font-weight:800;letter-spacing:.06em;
color:var(--blue-glow);
margin-bottom:5px;
}
.cast-list {
display:grid;
grid-template-columns:repeat(6,minmax(0,1fr));
gap:6px;
}
.cast-item {
display:flex;flex-direction:column;align-items:center;gap:2px;
text-align:center;min-width:0;
}
.cast-avatar {
width:38px;height:38px;flex:none;
border:1px solid var(--line);
background:
linear-gradient(135deg,rgba(29,91,134,.7),rgba(163,22,43,.5)),
repeating-linear-gradient(45deg,rgba(0,0,0,.35) 0 2px,transparent 2px 5px);
background-size:cover;
position:relative;
}
.cast-avatar::after {
content:"";position:absolute;inset:0;
border:1px solid rgba(232,84,106,.25);
}
.cast-name {
font-size:var(--fs-xs);font-weight:700;letter-spacing:-.01em;
white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;
}
.cast-role {
font-size:var(--fs-xxs);line-height:1.35;color:var(--ink-dim);
letter-spacing:.02em;
}
.synopsis-block {border-top:1px solid var(--line);padding-top:7px}
.synopsis-para {
font-size:var(--fs-sm);line-height:1.7;color:#c6d5e2;
margin-bottom:5px;max-width:88ch;
}
.synopsis-para:last-child {margin-bottom:0}
.episode-status {
border-top:1px solid var(--line);padding-top:7px;
}
.status-line {
font-size:var(--fs-sm);line-height:1.6;color:var(--ink-dim);
display:inline-block;
margin-right:14px;
}
.status-line:first-of-type {color:var(--ink);font-weight:700}
.details-block {border-top:1px solid var(--line);padding-top:7px}
.details-list {
display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
gap:0 14px;
}
.detail-row {
display:flex;gap:8px;align-items:baseline;
padding:3px 0;
border-bottom:1px solid rgba(139,178,214,.1);
min-width:0;
}
.detail-key {
flex:0 0 62px;font-size:var(--fs-xs);color:var(--ink-dim);letter-spacing:.04em;
white-space:nowrap;
}
.detail-value {
font-size:var(--fs-sm);color:var(--ink);min-width:0;
}
.timeline-section {
background:var(--panel-2);
border:1px solid var(--line);
padding:10px;
}
.timeline-track {
position:relative;
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:10px 12px;
padding-left:14px;
}
.timeline-track::before {
content:"";position:absolute;left:3px;top:6px;bottom:6px;width:1px;
background:linear-gradient(180deg,var(--red-3),var(--blue-3) 50%,var(--red-3));
}
.timeline-node {
position:relative;
display:grid;grid-template-columns:auto minmax(0,1fr);
grid-template-areas:"wave time" "wave label";
gap:1px 7px;
align-items:center;
padding:5px 7px 5px 9px;
border:1px solid var(--line);
background:rgba(5,11,18,.6);
min-width:0;
}
.timeline-node::before {
content:"";position:absolute;left:-15px;top:50%;transform:translateY(-50%);
width:7px;height:7px;background:var(--blue-glow);
}
.node-red::before {background:var(--red-glow);box-shadow:0 0 6px rgba(232,84,106,.8)}
.node-blue::before {background:var(--blue-glow);box-shadow:0 0 6px rgba(95,180,232,.8)}
.node-wave {
grid-area:wave;align-self:center;
width:22px;height:14px;flex:none;
background:
linear-gradient(90deg,transparent 0 12%,currentColor 12% 22%,transparent 22% 34%,currentColor 34% 46%,transparent 46% 58%,currentColor 58% 70%,transparent 70% 82%,currentColor 82% 92%,transparent 92%);
-webkit-mask:linear-gradient(180deg,transparent 0 30%,#000 30% 70%,transparent 70%);
mask:linear-gradient(180deg,transparent 0 30%,#000 30% 70%,transparent 70%);
}
.node-red .node-wave {color:var(--red-glow)}
.node-blue .node-wave {color:var(--blue-glow)}
.node-timecode {
grid-area:time;
font-size:var(--fs-xxs);letter-spacing:.08em;color:var(--ink-dim);
}
.node-red .node-timecode {color:var(--red-glow)}
.node-blue .node-timecode {color:var(--blue-glow)}
.node-label {
grid-area:label;
font-size:var(--fs-sm);line-height:1.45;color:#d3e0ec;
}
.episodes-section {
background:var(--panel);
border:1px solid var(--line);
padding:10px;
}
.episode-grid {
display:grid;
grid-template-columns:repeat(6,minmax(0,1fr));
gap:6px;
align-items:start;
}
.episode-cell {
display:flex;flex-direction:column;gap:2px;
padding:6px 7px;
border:1px solid var(--line);
background:rgba(5,11,18,.55);
min-width:0;
position:relative;
transition:border-color .15s,background .15s,transform .15s;
}
.episode-cell::before {
content:"";position:absolute;left:0;top:0;width:2px;height:100%;
background:linear-gradient(180deg,var(--red-3),var(--blue-3));
}
.episode-cell:hover, .episode-cell:focus-within {
border-color:var(--edge);
background:rgba(107,18,32,.28);
transform:translateY(-1px);
}
.episode-number {
font-size:var(--fs-xxs);letter-spacing:.1em;color:var(--red-glow);
}
.episode-title {
font-size:var(--fs-sm);font-weight:800;letter-spacing:-.01em;line-height:1.3;
}
.episode-summary {
font-size:var(--fs-xxs);line-height:1.55;color:var(--ink-dim);
display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
overflow:hidden;
}
.episode-duration {
font-size:var(--fs-xxs);letter-spacing:.06em;color:var(--blue-glow);
max-height:0;opacity:0;overflow:hidden;
transition:max-height .22s ease,opacity .22s ease,margin-top .22s ease;
}
.episode-cell:hover .episode-duration, .episode-cell:focus-within .episode-duration {
max-height:20px;opacity:1;
}
.comments-section {
background:var(--panel-2);
border:1px solid var(--line);
padding:10px;
}
.comment-stack {
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:8px 26px;
}
.comment-card {
display:flex;flex-direction:column;gap:5px;
padding:7px 9px;
border:1px solid var(--line);
background:rgba(5,11,18,.72);
min-width:0;
position:relative;
}
.comment-card::before {
content:"";position:absolute;top:0;left:0;width:100%;height:2px;
background:var(--blue-3);
}
.comment-text {
font-size:var(--fs-sm);line-height:1.65;color:#cddbe7;
}
.comment-meta {
display:flex;justify-content:flex-end;
}
.comment-nickname {
font-size:var(--fs-xxs);letter-spacing:.08em;color:var(--ink-dim);
}
.comment-left {
margin-right:22px;
border-left:2px solid var(--blue-3);
}
.comment-left::before {background:linear-gradient(90deg,var(--blue-3),transparent)}
.comment-left .comment-nickname {color:var(--blue-glow)}
.comment-right {
margin-left:22px;
border-right:2px solid var(--red-3);
}
.comment-right::before {background:linear-gradient(90deg,transparent,var(--red-3))}
.comment-right .comment-text {text-align:right}
.comment-right .comment-meta {justify-content:flex-start}
.comment-right .comment-nickname {color:var(--red-glow)}
.recommend-region {
background:var(--panel);
border:1px solid var(--line);
padding:10px;
}
.recommend-strip, .recommend-iconlist, .recommend-collage {
display:grid;
gap:7px;
align-items:start;
}
.recommend-strip {grid-template-columns:repeat(4,minmax(0,1fr))}
.recommend-iconlist {grid-template-columns:repeat(3,minmax(0,1fr))}
.recommend-collage {grid-template-columns:repeat(3,minmax(0,1fr))}
.recommend-cell {min-width:0}
a[data-runtime="recommendation"] {
display:flex;flex-direction:column;gap:4px;
text-decoration:none;color:var(--ink);
border:1px solid var(--line);
background:rgba(5,11,18,.6);
padding:5px;
min-width:0;
height:100%;
transition:border-color .15s,background .15s,transform .15s;
}
a[data-runtime="recommendation"]:hover, a[data-runtime="recommendation"]:focus-visible {
border-color:var(--red-3);
background:rgba(107,18,32,.3);
transform:translateY(-1px);
}
[data-runtime="recommendation"] img {
width:100%;
height:auto;
aspect-ratio:16 / 9;
object-fit:cover;
border:1px solid rgba(139,178,214,.18);
filter:saturate(.9) contrast(1.06);
}
[data-runtime="name"] {
font-size:var(--fs-sm);font-weight:700;letter-spacing:-.01em;line-height:1.35;
}
[data-runtime="blurb"] {
font-size:var(--fs-xxs);line-height:1.5;color:var(--ink-dim);
}
.recommend-iconlist a[data-runtime="recommendation"] {flex-direction:row;gap:7px;align-items:flex-start}
.recommend-iconlist [data-runtime="recommendation"] img {
flex:0 0 62px;width:62px;height:62px;aspect-ratio:1 / 1;
}
.recommend-iconlist a[data-runtime="recommendation"] {flex-wrap:wrap}
.recommend-iconlist [data-runtime="name"], .recommend-iconlist [data-runtime="blurb"] {flex:1 1 120px;min-width:0}
.recommend-collage .block-blue a[data-runtime="recommendation"] {
background:linear-gradient(180deg,rgba(29,91,134,.55),rgba(5,11,18,.75));
border-color:rgba(95,180,232,.4);
}
.recommend-collage .block-red a[data-runtime="recommendation"] {
background:linear-gradient(180deg,rgba(163,22,43,.5),rgba(5,11,18,.75));
border-color:rgba(232,84,106,.4);
}
.recommend-collage .block-blue [data-runtime="name"] {color:#bfe0f7}
.recommend-collage .block-red [data-runtime="name"] {color:#f6c6cf}
.recommend-collage .block-blue img {aspect-ratio:21 / 9}
.recommend-collage .block-red img {aspect-ratio:21 / 9}
.site-footer {
max-width:1440px;margin:14px auto 0;padding:10px 16px 18px;
border-top:1px solid var(--line);
display:flex;flex-direction:column;gap:7px;
font-size:var(--fs-xs);color:var(--ink-dim);
}
.footer-nav {display:flex;gap:14px;flex-wrap:wrap}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
text-decoration:none;color:var(--blue-glow);
font-size:var(--fs-sm);letter-spacing:.04em;
border-bottom:1px solid transparent;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {border-bottom-color:var(--red-3);color:#fff}
.footer-disclaimer {line-height:1.6;max-width:100ch}
.friend-links {
display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;
}
.friend-links-label {
font-size:var(--fs-xxs);letter-spacing:.12em;color:var(--red-glow);
padding-right:6px;border-right:1px solid var(--line);
}
a.runtime-friend-link {
font-size:var(--fs-xs);text-decoration:none;color:var(--ink-dim);
}
a.runtime-friend-link:hover {color:var(--blue-glow);text-decoration:underline}
@media (max-width:1180px){.episode-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
.recommend-strip {grid-template-columns:repeat(2,minmax(0,1fr))}
.cast-list {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:980px){.movie-overview {grid-template-columns:minmax(0,1fr)}
.overview-visual {grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.timeline-track {grid-template-columns:repeat(2,minmax(0,1fr))}
.comment-stack {grid-template-columns:minmax(0,1fr);gap:8px}
.comment-left {margin-right:16px}
.comment-right {margin-left:16px}
.recommend-iconlist {grid-template-columns:repeat(2,minmax(0,1fr))}
.recommend-collage {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.page-main {padding:8px 10px 0;gap:10px}
.header-inner {padding:7px 10px;gap:8px}
.overview-visual {grid-template-columns:minmax(0,1fr)}
.poster-column {flex-direction:row;gap:8px;align-items:flex-start}
.poster-frame {flex:0 0 42%;min-width:0}
.split-figure {flex:1 1 auto;flex-direction:column;min-height:0}
.face-yunshu, .face-yunqiao {padding:5px 6px;align-items:center}
.face-yunqiao {justify-content:flex-start;text-align:left}
.neural-thread {flex:0 0 2px;height:auto;min-height:16px;align-self:center;width:100%;
background:linear-gradient(90deg,transparent,var(--red-glow) 18%,var(--red-3) 50%,var(--red-glow) 82%,transparent)}
.face-label {white-space:normal}
.cast-list {grid-template-columns:repeat(3,minmax(0,1fr))}
.episode-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-track {grid-template-columns:minmax(0,1fr)}
.recommend-strip, .recommend-iconlist, .recommend-collage {grid-template-columns:minmax(0,1fr)}
.movie-title {font-size:var(--fs-xl)}
.details-list {grid-template-columns:minmax(0,1fr)}}
@media (max-width:460px){.cast-list {grid-template-columns:repeat(2,minmax(0,1fr))}
.episode-grid {grid-template-columns:minmax(0,1fr)}
.poster-column {flex-direction:column}
.poster-frame {flex:0 0 auto;width:100%}
.ctrl-progress, .ctrl-volume {width:56px}}
@media (prefers-reduced-motion:reduce){* {transition:none!important;animation:none!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}
