* {margin:0;padding:0;box-sizing:border-box}
:root {
--deep:#071018;
--deep-2:#0b1826;
--asphalt:#1b2733;
--asphalt-2:#243342;
--steel:#33475b;
--mist:#7d93a6;
--cold-white:#e4edf3;
--evidence:#f2f7fa;
--amber:#e8b04b;
--amber-soft:#f0c472;
--amber-glow:rgba(232,176,75,.55);
--line:rgba(125,147,166,.22);
}
html {-webkit-text-size-adjust:100%}
body {
background:
radial-gradient(120% 90% at 78% -10%,rgba(51,71,91,.35),transparent 60%),
linear-gradient(180deg,#050c13 0%,#08131e 40%,#060d15 100%);
background-color:var(--deep);
color:var(--cold-white);
font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
font-size:13px;
line-height:1.55;
letter-spacing:.01em;
min-height:100vh;
overflow-x:hidden;
}
img, video {display:block;max-width:100%}
ul, ol {list-style:none}
a {color:inherit;text-decoration:none}
button, input, select {font:inherit;color:inherit}
h1, h2 {font-weight:700;line-height:1.15}
.site-header {
position:sticky;top:0;z-index:60;
background:linear-gradient(180deg,rgba(5,12,19,.94),rgba(5,12,19,.78));
backdrop-filter:blur(10px);
border-bottom:1px solid var(--line);
}
.header-inner {
display:flex;align-items:center;gap:16px;
padding:9px 18px;
max-width:1440px;margin:0 auto;
}
a[data-contract="site-name"] {
font-size:17px;font-weight:800;letter-spacing:.22em;
color:var(--evidence);
text-decoration:none;
text-transform:uppercase;
border-left:3px solid var(--amber);
padding-left:9px;
white-space:nowrap;
}
.categories-shell {
display:flex;flex-wrap:wrap;align-items:center;gap:6px;
flex:1 1 auto;min-width:0;
}
a.runtime-category {
display:inline-block;
font-size:11.5px;letter-spacing:.08em;
color:var(--mist);
text-decoration:none;
white-space:nowrap;
padding:3px 9px;
border:1px solid var(--line);
border-radius:2px;
background:rgba(27,39,51,.5);
transition:color .2s,border-color .2s,background .2s;
}
a.runtime-category:hover {
color:var(--amber-soft);
border-color:rgba(232,176,75,.5);
background:rgba(232,176,75,.08);
}
.page-main {
max-width:1440px;margin:0 auto;
padding:0 18px 46px;
display:flex;flex-direction:column;
gap:26px;
}
.hero-shell {
position:relative;
display:grid;
grid-template-columns:minmax(0,1.05fr) minmax(0,1.55fr);
grid-template-areas:
"poster info"
"poster player"
"poster status"
"poster cast"
"poster synopsis"
"poster details";
gap:16px 24px;
align-items:start;
padding:22px 0 6px;
border-bottom:1px solid var(--line);
}
.hero-shell.theater-mode {
grid-template-columns:minmax(0,1fr);
grid-template-areas:
"player"
"poster"
"info"
"status"
"cast"
"synopsis"
"details";
}
.hero-shell.theater-mode .hero-poster-wrap {max-width:340px}
.hero-shell.theater-mode .player-shell {grid-area:player}
.hero-poster-wrap {
grid-area:poster;
position:relative;
width:100%;
max-width:420px;
align-self:start;
overflow:hidden;
border:1px solid rgba(125,147,166,.18);
background:var(--deep-2);
}
.hero-poster {
width:100%;height:auto;
object-fit:cover;
aspect-ratio:9 / 16;
filter:saturate(.82) contrast(1.06) brightness(.92);
}
.hero-poster-scrim {
position:absolute;inset:0;
pointer-events:none;
background:
linear-gradient(90deg,transparent 46%,rgba(5,12,19,.62) 62%,rgba(5,12,19,.94) 100%),
linear-gradient(180deg,rgba(5,12,19,.5) 0%,transparent 26%,transparent 62%,rgba(5,12,19,.88) 100%),
repeating-linear-gradient(84deg,rgba(228,237,243,.055) 0 1px,transparent 1px 13px);
}
.hero-info {
grid-area:info;
max-width:760px;
display:flex;flex-direction:column;gap:9px;
padding-top:4px;
}
.hero-title {
font-size:clamp(30px,4.4vw,52px);
letter-spacing:.06em;
color:var(--evidence);
text-shadow:0 2px 22px rgba(0,0,0,.7);
}
.hero-tagline {
font-size:13.5px;letter-spacing:.06em;
color:var(--amber-soft);
border-left:2px solid var(--amber);
padding-left:10px;
}
.hero-seo {
font-size:12.5px;line-height:1.72;
color:#a9bccb;
max-width:66ch;
}
.player-shell {
grid-area:player;
width:100%;
max-width:920px;
display:flex;flex-direction:column;
border:1px solid rgba(125,147,166,.2);
background:#03080d;
box-shadow:0 16px 40px rgba(0,0,0,.55);
}
.main-player {
width:100%;height:auto;
aspect-ratio:16 / 9;
background:#000;
object-fit:contain;
}
.player-controls {
display:flex;flex-wrap:wrap;align-items:center;gap:7px;
padding:8px 9px;
background:linear-gradient(180deg,rgba(27,39,51,.86),rgba(11,24,38,.94));
border-top:1px solid var(--line);
}
.player-btn {
font-size:11.5px;letter-spacing:.05em;
padding:4px 10px;
border:1px solid rgba(125,147,166,.3);
border-radius:2px;
background:rgba(7,16,24,.7);
color:var(--cold-white);
cursor:pointer;
white-space:nowrap;
transition:background .18s,color .18s,border-color .18s;
}
.player-btn:hover {background:rgba(232,176,75,.14);border-color:rgba(232,176,75,.5);color:var(--amber-soft)}
.player-btn.is-playing {background:rgba(232,176,75,.22);border-color:var(--amber);color:var(--amber-soft)}
.player-btn.is-active, .player-btn.mute.is-muted, .player-btn.is-muted {background:rgba(232,176,75,.2);border-color:var(--amber);color:var(--amber-soft)}
.player-progress {
flex:1 1 160px;min-width:90px;height:3px;
-webkit-appearance:none;appearance:none;
background:linear-gradient(90deg,var(--amber) 0%,var(--amber) var(--p,0%),rgba(125,147,166,.3) 0%);
border-radius:2px;cursor:pointer;
}
.player-progress::-webkit-slider-thumb {
-webkit-appearance:none;width:10px;height:10px;border-radius:50%;
background:var(--amber);box-shadow:0 0 8px var(--amber-glow);
}
.player-progress::-moz-range-thumb {width:10px;height:10px;border:0;border-radius:50%;background:var(--amber)}
.player-volume {
flex:0 1 84px;min-width:56px;height:3px;
-webkit-appearance:none;appearance:none;
background:rgba(125,147,166,.3);border-radius:2px;cursor:pointer;
}
.player-volume::-webkit-slider-thumb {
-webkit-appearance:none;width:9px;height:9px;border-radius:50%;background:var(--mist);
}
.player-volume::-moz-range-thumb {width:9px;height:9px;border:0;border-radius:50%;background:var(--mist)}
.player-speed {
font-size:11.5px;padding:3px 6px;
background:rgba(7,16,24,.8);
border:1px solid rgba(125,147,166,.3);
border-radius:2px;
color:var(--cold-white);
cursor:pointer;
}
.episode-status {
grid-area:status;
display:flex;flex-wrap:wrap;align-items:center;gap:12px;
padding:7px 0 0;
border-top:1px solid var(--line);
}
.status-current {
font-size:12.5px;letter-spacing:.08em;
color:var(--amber-soft);
font-weight:700;
}
.status-total {
font-size:12px;letter-spacing:.08em;
color:var(--mist);
}
.cast-panel {grid-area:cast;margin-top:4px}
.section-heading {
font-size:14px;letter-spacing:.26em;
color:var(--evidence);
padding-left:10px;
border-left:3px solid var(--amber);
margin-bottom:10px;
}
.cast-list {
display:grid;
grid-template-columns:repeat(6,minmax(0,1fr));
gap:9px;
align-items:start;
}
.cast-card {
display:flex;flex-direction:column;gap:5px;
align-items:flex-start;
}
.cast-face {
display:block;width:100%;
aspect-ratio:3 / 4;
background:
linear-gradient(160deg,rgba(51,71,91,.9),rgba(11,24,38,.95)),
radial-gradient(70% 50% at 50% 34%,rgba(228,237,243,.16),transparent 70%);
border:1px solid rgba(125,147,166,.2);
filter:contrast(1.1);
position:relative;
overflow:hidden;
}
.cast-face::after {
content:"";position:absolute;inset:0;
background:linear-gradient(90deg,rgba(5,12,19,.85) 0 46%,transparent 62%);
}
.cast-name {
font-size:11.5px;letter-spacing:.06em;
color:#a9bccb;
white-space:nowrap;
}
.synopsis-panel {grid-area:synopsis}
.synopsis-body {
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:8px 20px;
}
.synopsis-para {
font-size:12.5px;line-height:1.78;
color:#9db0bf;
text-align:justify;
}
.synopsis-para::first-letter {color:var(--amber-soft)}
.details-panel {grid-area:details;margin-top:6px}
.details-list {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:0 18px;
border-top:1px solid var(--line);
padding-top:8px;
}
.details-row {
display:flex;align-items:baseline;gap:9px;
padding:4px 0;
border-bottom:1px dashed rgba(125,147,166,.16);
}
.details-key {
font-size:11.5px;letter-spacing:.1em;
color:var(--mist);
flex:0 0 auto;
min-width:52px;
}
.details-value {
font-size:12px;
color:var(--cold-white);
flex:1 1 auto;
}
.timeline-section {
border-top:1px solid var(--line);
padding-top:16px;
}
.timeline-track {
display:grid;
grid-auto-flow:column;
grid-auto-columns:minmax(190px,1fr);
gap:12px;
overflow-x:auto;
padding:16px 2px 12px;
scrollbar-width:thin;
scrollbar-color:var(--steel) transparent;
position:relative;
}
.timeline-track::-webkit-scrollbar {height:5px}
.timeline-track::-webkit-scrollbar-thumb {background:var(--steel);border-radius:3px}
.timeline-track::before {
content:"";position:absolute;left:0;right:0;top:22px;height:1px;
background:linear-gradient(90deg,transparent,var(--line) 6%,var(--line) 94%,transparent);
}
.timeline-cell {
position:relative;
display:flex;flex-direction:column;gap:7px;
padding:0 4px;
align-items:flex-start;
}
.timeline-node {
display:block;width:13px;height:13px;
margin-bottom:2px;
background:var(--steel);
border:1px solid rgba(228,237,243,.28);
border-radius:50% 50% 50% 50% / 62% 62% 38% 38%;
position:relative;z-index:1;
}
.timeline-timecode {
font-size:11px;letter-spacing:.06em;
color:var(--mist);
white-space:nowrap;
}
.timeline-label {
font-size:12px;line-height:1.6;
color:#9db0bf;
}
.timeline-cell.is-active .timeline-node {
background:var(--amber);
border-color:var(--amber-soft);
box-shadow:0 0 0 4px rgba(232,176,75,.16),0 0 14px var(--amber-glow);
}
.timeline-cell.is-active .timeline-timecode {color:var(--amber-soft);font-weight:700}
.timeline-cell.is-active .timeline-label {color:var(--cold-white)}
.episodes-section {border-top:1px solid var(--line);padding-top:16px}
.episode-grid {
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:2px 20px;
}
.episode-row {
display:grid;
grid-template-columns:minmax(0,auto) minmax(0,1fr);
gap:12px;
align-items:start;
padding:9px 0;
border-bottom:1px solid rgba(125,147,166,.14);
}
.episode-left {
display:flex;flex-direction:column;gap:2px;
min-width:96px;
}
.episode-number {
font-size:12.5px;letter-spacing:.1em;
font-weight:700;
color:var(--cold-white);
white-space:nowrap;
}
.episode-title {
font-size:11.5px;letter-spacing:.04em;
color:var(--mist);
white-space:nowrap;
}
.episode-right {
display:flex;flex-direction:column;gap:3px;
min-width:0;
}
.episode-summary {
font-size:12px;line-height:1.62;
color:#93a6b5;
}
.episode-duration {
font-size:10.5px;letter-spacing:.06em;
color:var(--steel);
}
.episode-row.is-updated .episode-number {color:var(--amber-soft)}
.episode-row.is-updated .episode-summary {color:#a9bccb}
.episode-row.is-current {
background:linear-gradient(90deg,rgba(232,176,75,.12),transparent 72%);
box-shadow:inset 2px 0 0 var(--amber);
padding-left:8px;
}
.episode-row.is-current .episode-title {color:var(--amber-soft)}
.episode-row.is-locked .episode-number, .episode-row.is-locked .episode-title, .episode-row.is-locked .episode-summary, .episode-row.is-locked .episode-duration {
color:#4c6173;
}
.episode-row.is-locked .episode-summary {color:#42566a}
.comments-section {border-top:1px solid var(--line);padding-top:16px}
.comment-waterfall {
columns:3;
column-gap:12px;
}
.comment-card {
break-inside:avoid;
display:block;
margin-bottom:12px;
padding:11px 12px;
background:rgba(27,39,51,.42);
backdrop-filter:blur(7px);
border:1px solid rgba(125,147,166,.16);
border-top-color:rgba(228,237,243,.1);
box-shadow:0 8px 22px rgba(0,0,0,.35);
}
.comment-head {
display:flex;align-items:center;gap:7px;
margin-bottom:5px;
padding-bottom:5px;
border-bottom:1px solid rgba(125,147,166,.14);
}
.comment-nickname {
font-size:11.5px;letter-spacing:.06em;
color:var(--amber-soft);
}
.comment-text {
font-size:12px;line-height:1.62;
color:#a3b6c4;
}
.recommend-region {
border-top:1px solid var(--line);
padding-top:14px;
}
.recommend-heading {
font-size:13px;letter-spacing:.2em;
font-weight:700;
color:var(--evidence);
margin-bottom:10px;
border-left:2px solid var(--steel);
padding:2px 0 2px 8px;
}
.recommend-grid {
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:10px;
align-items:start;
}
a.recommend-card {
display:flex;flex-direction:column;gap:5px;
color:var(--cold-white);
text-decoration:none;
background:rgba(11,24,38,.55);
border:1px solid rgba(125,147,166,.16);
padding:7px;
transition:border-color .2s,transform .2s,background .2s;
}
a.recommend-card:hover {
border-color:rgba(232,176,75,.5);
background:rgba(27,39,51,.75);
transform:translateY(-2px);
}
[data-runtime="recommendation"] img {
display:block;width:100%;height:auto;
aspect-ratio:2 / 3;
object-fit:cover;
background:var(--deep-2);
filter:saturate(.86) brightness(.94);
}
a.recommend-card [data-runtime="name"] {
font-size:11.5px;letter-spacing:.04em;
color:var(--cold-white);
white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
a.recommend-card [data-runtime="blurb"] {
font-size:10.5px;line-height:1.5;
color:var(--mist);
display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
overflow:hidden;
}
.site-footer {
margin-top:20px;
border-top:1px solid var(--line);
background:linear-gradient(180deg,rgba(5,12,19,.6),rgba(3,8,13,.95));
}
.footer-nav, .footer-disclaimer, .friend-links {
max-width:1440px;margin:0 auto;
padding:0 18px;
}
.footer-nav {
display:flex;flex-wrap:wrap;gap:16px;
padding-top:14px;padding-bottom:8px;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
font-size:12px;letter-spacing:.1em;
color:var(--mist);
text-decoration:none;
border-bottom:1px solid transparent;
transition:color .18s,border-color .18s;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
color:var(--amber-soft);
border-bottom-color:rgba(232,176,75,.5);
}
.footer-disclaimer {
font-size:11px;line-height:1.7;
color:#5f7486;
padding-bottom:10px;
}
.friend-links {
display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
padding-bottom:20px;
}
.friend-links-label {
font-size:11px;letter-spacing:.14em;
color:var(--steel);
}
a.runtime-friend-link {
font-size:11px;letter-spacing:.04em;
color:#7d93a6;
text-decoration:none;
white-space:nowrap;
border-bottom:1px dotted rgba(125,147,166,.35);
transition:color .18s,border-color .18s;
}
a.runtime-friend-link:hover {
color:var(--amber-soft);
border-bottom-color:rgba(232,176,75,.6);
}
body.lights-off .site-header, body.lights-off .site-footer {opacity:.32;filter:brightness(.6)}
body.lights-off .page-main {filter:brightness(.55) saturate(.85)}
body.lights-off .player-shell {filter:none;box-shadow:0 0 60px rgba(232,176,75,.18)}
@media (max-width:1100px){.hero-shell {
grid-template-columns:minmax(0,0.9fr) minmax(0,1.4fr);
gap:14px 18px;
}
.synopsis-body {grid-template-columns:minmax(0,1fr)}
.details-list {grid-template-columns:repeat(2,minmax(0,1fr))}
.comment-waterfall {columns:2}
.recommend-grid {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.page-main {padding:0 14px 34px;gap:22px}
.hero-shell {
grid-template-columns:minmax(0,1fr);
grid-template-areas:
"poster"
"info"
"player"
"status"
"cast"
"synopsis"
"details";
gap:14px;
}
.hero-poster-wrap {max-width:300px}
.hero-seo {max-width:100%}
.player-shell {max-width:100%}
.cast-list {grid-template-columns:repeat(3,minmax(0,1fr))}
.episode-grid {grid-template-columns:minmax(0,1fr)}
.details-list {grid-template-columns:minmax(0,1fr)}
.comment-waterfall {columns:1}
.recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.timeline-track {grid-auto-columns:minmax(176px,1fr)}}
@media (max-width:520px){.header-inner {padding:8px 12px;gap:10px}
a[data-contract="site-name"] {font-size:14px;letter-spacing:.14em}
.page-main {padding:0 12px 28px;gap:18px}
.hero-title {font-size:26px}
.hero-tagline {font-size:12px}
.hero-seo {font-size:12px}
.cast-list {grid-template-columns:repeat(2,minmax(0,1fr))}
.player-controls {gap:6px;padding:7px}
.player-btn {font-size:11px;padding:4px 8px}
.player-progress {flex:1 1 100%}
.player-volume {flex:0 1 70px}
.recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.details-row {flex-wrap:wrap;gap:4px}
.footer-nav {padding-top:12px}
.friend-links {padding-bottom:16px}}

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}
