* {box-sizing:border-box;margin:0;padding:0}
:root {
--ash:#2b2c2a;
--ash-2:#3a3b38;
--ash-3:#1d1e1c;
--rust:#8a3a2a;
--rust-2:#a94a33;
--rust-deep:#5f261b;
--cold:#4a7377;
--cold-2:#2f5054;
--paper:#d9d0bd;
--paper-dim:#b8ae98;
--gold:#c9a24a;
--ink:#141513;
--line:rgba(217,208,189,.22);
--line-strong:rgba(217,208,189,.4);
--font-hei:"Heiti SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
--font-song:"FangSong","STFangsong","Songti SC",serif;
--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}
html {-webkit-text-size-adjust:100%}
body {
background:
radial-gradient(circle at 12% 8%,rgba(74,115,119,.13),transparent 46%),
radial-gradient(circle at 88% 92%,rgba(138,58,42,.14),transparent 52%),
linear-gradient(180deg,var(--ash-3),var(--ash) 40%,#232422 100%);
background-attachment:fixed;
color:var(--paper);
font-family:var(--font-hei);
font-size:14px;
line-height:1.5;
letter-spacing:.02em;
min-height:100vh;
overflow-x:hidden;
}
img {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
button, input {font:inherit;color:inherit}
ol, ul {list-style:none}
h1, h2, h3 {font-weight:700;line-height:1.2}
body.lights-out {background:#080807}
body.lights-out .page-main {filter:brightness(.62) contrast(1.05)}
body.lights-out .player-wrap {filter:brightness(1.5)}
.site-header {
position:sticky;top:0;z-index:40;
background:linear-gradient(180deg,rgba(20,21,19,.97),rgba(20,21,19,.86));
border-bottom:1px solid var(--line);
backdrop-filter:blur(6px);
}
.header-bar {
display:flex;align-items:baseline;gap:12px;
padding:7px 14px 6px;
border-bottom:1px dashed var(--line);
}
a[data-contract="site-name"] {
font-family:var(--font-song);
font-size:19px;
letter-spacing:.16em;
color:var(--paper);
text-decoration:none;
text-shadow:0 0 12px rgba(201,162,74,.28);
}
a[data-contract="site-name"]:hover {color:var(--gold)}
.header-rule {
font-family:var(--font-song);
font-size:11px;
letter-spacing:.34em;
color:var(--cold);
border-left:1px solid var(--line-strong);
padding-left:10px;
}
.category-rail {
display:flex;flex-wrap:wrap;gap:2px 6px;
padding:6px 14px 7px;
}
a.runtime-category {
display:inline-block;
white-space:nowrap;
font-size:12px;
letter-spacing:.12em;
color:var(--paper-dim);
text-decoration:none;
padding:2px 9px;
border:1px solid var(--line);
background:rgba(74,115,119,.1);
}
a.runtime-category:hover {
color:var(--ink);
background:var(--cold);
border-color:var(--cold);
text-decoration:none;
}
.page-main {
display:flex;
flex-direction:column;
gap:10px;
padding:10px 12px 26px;
max-width:1680px;
margin:0 auto;
}
.overview-shell {
display:grid;
grid-template-columns:1fr;
gap:10px;
padding:12px;
background:
linear-gradient(180deg,rgba(58,59,56,.72),rgba(29,30,28,.86)),
repeating-linear-gradient(90deg,transparent 0 38px,rgba(217,208,189,.05) 38px 39px);
border:1px solid var(--line-strong);
box-shadow:inset 0 0 0 1px rgba(20,21,19,.7),0 10px 26px rgba(0,0,0,.5);
}
.overview-primary {
display:grid;
grid-template-columns:minmax(0,2fr) minmax(0,3fr);
gap:14px;
align-items:start;
}
.poster-column {min-width:0}
.poster-frame {
position:relative;
border:1px solid var(--line-strong);
background:var(--ink);
padding:4px;
box-shadow:0 0 0 1px rgba(20,21,19,.9),0 8px 20px rgba(0,0,0,.55);
}
.poster-frame::before, .poster-frame::after {
content:"";position:absolute;width:9px;height:9px;border:1px solid var(--gold);opacity:.75;
}
.poster-frame::before {top:-4px;left:-4px;border-right:0;border-bottom:0}
.poster-frame::after {bottom:-4px;right:-4px;border-left:0;border-top:0}
.poster-image {
width:100%;
height:auto;
aspect-ratio:9 / 16;
object-fit:cover;
filter:saturate(.72) contrast(1.06);
}
.poster-stamp {
display:block;
margin-top:4px;
font-family:var(--font-mono);
font-size:10px;
letter-spacing:.18em;
color:var(--gold);
text-align:right;
border-top:1px dashed var(--line);
padding-top:3px;
}
.overview-copy {min-width:0;display:flex;flex-direction:column;gap:8px}
.movie-title {
font-family:var(--font-song);
font-size:clamp(26px,4.6vw,54px);
letter-spacing:.1em;
color:var(--paper);
text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 22px rgba(201,162,74,.18);
}
.movie-tagline {
font-family:var(--font-song);
font-size:14px;
letter-spacing:.14em;
color:var(--gold);
border-left:3px solid var(--rust);
padding-left:9px;
}
.movie-seo {
font-family:var(--font-song);
font-size:13px;
line-height:1.72;
color:#c9c0aa;
text-align:justify;
}
.ridge-marks {
position:relative;
height:96px;
margin:2px 0;
border:1px solid var(--line);
background:
linear-gradient(180deg,rgba(74,115,119,.14),rgba(20,21,19,.5));
overflow:hidden;
}
.ridge {
position:absolute;left:-2%;width:104%;display:block;
background:var(--ash-2);
clip-path:polygon(0 100%,0 62%,9% 44%,18% 58%,27% 34%,37% 52%,47% 30%,57% 50%,68% 32%,79% 54%,89% 40%,100% 60%,100% 100%);
}
.ridge-one {height:100%;background:#4a4b47;opacity:.5}
.ridge-two {height:78%;bottom:0;background:#3a3b38;opacity:.85}
.ridge-three {height:56%;bottom:0;background:#262724}
.signal-line {
position:absolute;
right:16%;
top:26%;
font-family:var(--font-mono);
font-size:10px;
letter-spacing:.2em;
color:var(--gold);
border-top:1px dashed var(--gold);
padding-top:3px;
white-space:nowrap;
}
.signal-line::after {
content:"";position:absolute;right:0;top:-3px;width:1px;height:34px;
background:repeating-linear-gradient(180deg,var(--gold) 0 3px,transparent 3px 6px);
}
.player-wrap {
position:relative;
width:100%;
display:flex;
flex-direction:column;
gap:0;
border:1px solid var(--line-strong);
background:var(--ink);
box-shadow:0 8px 22px rgba(0,0,0,.55);
}
.player-wrap.is-theater {
box-shadow:0 0 0 1px var(--gold),0 14px 40px rgba(0,0,0,.7);
}
.player-wrap.is-fullscreen {width:100%;height:100%}
.main-player {
display:block;
width:100%;
aspect-ratio:16 / 9;
background:#000;
}
.player-wrap.is-fullscreen .main-player {height:100%;aspect-ratio:auto}
.player-controls {
display:flex;flex-wrap:wrap;align-items:center;gap:5px;
padding:6px 7px;
background:linear-gradient(180deg,rgba(58,59,56,.9),rgba(20,21,19,.95));
border-top:1px solid var(--line);
}
.ctl {
font-size:11px;
letter-spacing:.08em;
padding:3px 8px;
background:rgba(217,208,189,.06);
border:1px solid var(--line);
color:var(--paper-dim);
cursor:pointer;
white-space:nowrap;
}
.ctl:hover {border-color:var(--cold);color:var(--paper);background:rgba(74,115,119,.22)}
.ctl.is-active {background:var(--rust);border-color:var(--rust-2);color:var(--paper)}
.ctl-play {background:var(--rust-deep);border-color:var(--rust);color:var(--paper);font-family:var(--font-song);letter-spacing:.14em}
.ctl-progress {flex:1 1 120px;min-width:90px;height:6px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,var(--cold-2),var(--ash-3));border:1px solid var(--line);cursor:pointer}
.ctl-progress::-webkit-slider-thumb {-webkit-appearance:none;width:10px;height:14px;background:var(--gold);border:1px solid var(--ink);cursor:pointer}
.ctl-progress::-moz-range-thumb {width:10px;height:14px;background:var(--gold);border:1px solid var(--ink);border-radius:0;cursor:pointer}
.ctl-volume {flex:0 1 76px;min-width:56px;height:6px;-webkit-appearance:none;appearance:none;background:var(--ash-3);border:1px solid var(--line);cursor:pointer}
.ctl-volume::-webkit-slider-thumb {-webkit-appearance:none;width:8px;height:13px;background:var(--cold);border:1px solid var(--ink);cursor:pointer}
.ctl-volume::-moz-range-thumb {width:8px;height:13px;background:var(--cold);border:1px solid var(--ink);border-radius:0;cursor:pointer}
.is-muted .ctl-volume {opacity:.5}
.episode-status {
padding:9px 12px;
background:linear-gradient(180deg,rgba(58,59,56,.6),rgba(29,30,28,.72));
border:1px solid var(--line);
border-left:3px solid var(--cold);
}
.status-heading {
font-family:var(--font-song);
font-size:13px;
letter-spacing:.3em;
color:var(--cold);
margin-bottom:6px;
}
.status-list {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
gap:6px 12px;
}
.status-row {
display:flex;align-items:baseline;gap:8px;
border-bottom:1px dotted var(--line);
padding-bottom:3px;
}
.status-key {
font-size:11px;
letter-spacing:.16em;
color:var(--paper-dim);
white-space:nowrap;
}
.status-value {
font-family:var(--font-mono);
font-size:13px;
color:var(--paper);
}
.status-total, .status-current {
font-size:19px;
color:var(--gold);
letter-spacing:.06em;
}
.status-current {color:var(--rust-2)}
.section-heading {
display:flex;align-items:center;gap:8px;
font-family:var(--font-song);
font-size:14px;
letter-spacing:.3em;
color:var(--paper);
padding:5px 0 5px 9px;
border-left:3px solid var(--rust);
border-bottom:1px solid var(--line);
margin-bottom:8px;
}
.section-heading::after {
content:"";flex:1;height:1px;
background:repeating-linear-gradient(90deg,var(--line-strong) 0 6px,transparent 6px 10px);
}
.cast-section {padding:0 2px}
.cast-list {
display:grid;
grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
gap:7px;
}
.cast-card {
position:relative;
display:flex;flex-direction:column;gap:3px;
padding:8px 9px 34px;
min-height:92px;
background:linear-gradient(180deg,rgba(58,59,56,.75),rgba(29,30,28,.85));
border:1px solid var(--line);
overflow:hidden;
}
.cast-card::after {
content:"道具";
position:absolute;right:-14px;bottom:16px;
font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;
color:rgba(217,208,189,.14);
transform:rotate(-90deg);
}
.cast-name {
font-family:var(--font-song);
font-size:16px;
letter-spacing:.12em;
color:var(--paper);
}
.cast-prop {
font-size:11px;
letter-spacing:.06em;
color:var(--cold);
}
.cast-card::before {
content:"";position:absolute;left:0;bottom:0;width:100%;height:26px;
background:
repeating-linear-gradient(90deg,rgba(74,115,119,.3) 0 3px,transparent 3px 7px),
linear-gradient(180deg,rgba(138,58,42,.28),rgba(20,21,19,.7));
border-top:1px dashed var(--line-strong);
}
.synopsis-section {padding:0 2px}
.synopsis-list {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
gap:6px 14px;
counter-reset:syn;
}
.synopsis-item {
position:relative;
counter-increment:syn;
font-family:var(--font-song);
font-size:12.5px;
line-height:1.68;
color:#c4bba5;
text-align:justify;
padding:6px 8px 6px 30px;
border:1px solid rgba(217,208,189,.1);
background:rgba(20,21,19,.35);
}
.synopsis-item::before {
content:counter(syn,decimal-leading-zero);
position:absolute;left:7px;top:6px;
font-family:var(--font-mono);
font-size:11px;
color:var(--gold);
letter-spacing:.04em;
}
.details-section {padding:0 2px}
.details-list {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
gap:0 16px;
}
.detail-row {
display:flex;align-items:baseline;gap:8px;
padding:3px 0;
border-bottom:1px dotted rgba(217,208,189,.16);
}
.detail-key {
flex:0 0 auto;
font-size:11px;
letter-spacing:.16em;
color:var(--cold);
white-space:nowrap;
}
.detail-value {
font-family:var(--font-song);
font-size:12.5px;
color:var(--paper-dim);
}
.timeline-section {
margin-top:6px;
padding:2px 2px 22px;
border-bottom:1px dashed var(--line);
margin-bottom:8px;
}
.timeline-track {
display:flex;
gap:5px;
align-items:stretch;
overflow-x:auto;
padding-bottom:4px;
}
.timeline-slice {
flex:1 1 0;
min-width:74px;
display:flex;flex-direction:column;align-items:center;
gap:8px;
padding:9px 4px;
background:linear-gradient(180deg,rgba(58,59,56,.7),rgba(29,30,28,.85));
border:1px solid var(--line);
border-top:3px solid var(--cold-2);
}
.timeline-timecode {
font-family:var(--font-mono);
font-size:11px;
letter-spacing:.08em;
color:var(--cold);
white-space:nowrap;
}
.timeline-label {
writing-mode:vertical-rl;
text-orientation:upright;
font-family:var(--font-song);
font-size:12.5px;
letter-spacing:.24em;
line-height:1.5;
color:#c7bfa9;
max-height:230px;
}
.timeline-slice:last-child {border-top-color:var(--rust)}
.timeline-slice:nth-child(5) {
background:linear-gradient(180deg,var(--rust),var(--rust-deep));
border-color:var(--rust-2);
border-top-color:var(--gold);
}
.timeline-slice:nth-child(5) .timeline-timecode {color:#f0dcae}
.timeline-slice:nth-child(5) .timeline-label {color:#f5ecd8}
.episodes-section {padding:0 2px}
.episode-grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:6px;
}
.episode-cell {
position:relative;
display:flex;flex-direction:column;gap:3px;
padding:9px 9px 8px 12px;
background:linear-gradient(180deg,rgba(58,59,56,.68),rgba(29,30,28,.86));
border:1px solid var(--line);
border-left:2px solid var(--cold-2);
}
.episode-cell-current {
background:linear-gradient(180deg,rgba(138,58,42,.5),rgba(95,38,27,.6));
border-color:var(--rust);
border-left-color:var(--gold);
box-shadow:inset 0 0 0 1px rgba(201,162,74,.25);
}
.episode-code {
position:absolute;top:0;left:0;
font-family:var(--font-mono);
font-size:9px;
letter-spacing:.1em;
color:var(--ink);
background:var(--gold);
padding:0 4px;
}
.episode-number {
align-self:flex-end;
font-family:var(--font-mono);
font-size:10px;
letter-spacing:.1em;
color:var(--cold);
}
.episode-cell-current .episode-number {color:#f0dcae}
.episode-title {
font-family:var(--font-song);
font-size:15px;
letter-spacing:.14em;
color:var(--paper);
}
.episode-summary {
font-size:11.5px;
line-height:1.62;
color:#bdb49e;
text-align:justify;
}
.episode-cell-current .episode-summary {color:#e2d6bb}
.episode-duration {
font-family:var(--font-mono);
font-size:10px;
letter-spacing:.08em;
color:var(--paper-dim);
border-top:1px dotted var(--line);
padding-top:3px;
margin-top:auto;
}
.comments-section {padding:0 2px}
.comments-columns {
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
align-items:start;
}
.comments-col {
display:flex;flex-direction:column;gap:7px;
}
.comments-col-left {margin-top:0}
.comments-col-right {margin-top:22px}
.comment-card {
position:relative;
padding:8px 10px;
background:linear-gradient(180deg,rgba(58,59,56,.66),rgba(29,30,28,.84));
border:1px solid var(--line);
border-top:2px solid var(--cold);
}
.comments-col-right .comment-card {border-top-color:var(--rust)}
.comment-nick {
display:inline-block;
font-family:var(--font-song);
font-size:12px;
letter-spacing:.12em;
color:var(--gold);
margin-bottom:3px;
}
.comment-text {
font-size:12.5px;
line-height:1.66;
color:#c3baa4;
text-align:justify;
}
.recommend-region {
padding:0 2px;
border-top:1px solid var(--line);
padding-top:6px;
}
.recommend-heading {
font-family:var(--font-song);
font-size:13px;
letter-spacing:.26em;
color:var(--paper);
text-align:left;
padding:4px 0 5px;
}
.recommend-row {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));
gap:0;
border-top:1px dotted var(--line);
}
a.recommend-item {
display:flex;flex-direction:column;gap:4px;
padding:7px 10px;
border-bottom:1px solid rgba(217,208,189,.14);
border-right:1px solid rgba(217,208,189,.14);
color:var(--paper);
text-decoration:none;
min-width:0;
}
a.recommend-item:last-child {border-right:0}
a.recommend-item:hover {
background:rgba(74,115,119,.14);
text-decoration:none;
}
[data-runtime="recommendation"] img {
width:100%;
aspect-ratio:16 / 9;
height:auto;
object-fit:cover;
border:1px solid var(--line);
filter:saturate(.7) contrast(1.05);
}
.recommend-name {
font-family:var(--font-song);
font-size:12.5px;
letter-spacing:.08em;
color:var(--paper);
}
.recommend-blurb {
font-size:11px;
line-height:1.55;
color:#a89f8b;
}
.site-footer {
border-top:1px solid var(--line-strong);
background:linear-gradient(180deg,rgba(20,21,19,.9),rgba(8,8,7,.98));
padding:12px 14px 20px;
display:flex;flex-direction:column;gap:8px;
}
.footer-links {display:flex;flex-wrap:wrap;gap:8px}
a.footer-link {
font-size:12px;
letter-spacing:.14em;
color:var(--cold);
text-decoration:none;
border-bottom:1px solid transparent;
padding-bottom:1px;
}
a.footer-link:hover {color:var(--gold);border-bottom-color:var(--gold);text-decoration:none}
.footer-disclaimer {
font-size:11px;
line-height:1.7;
color:#7d7666;
max-width:900px;
}
.friend-links {
display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;
border-top:1px dashed var(--line);
padding-top:8px;
}
.friend-label {
font-family:var(--font-song);
font-size:11px;
letter-spacing:.2em;
color:var(--rust-2);
}
a.runtime-friend-link {
font-size:11px;
letter-spacing:.06em;
color:var(--paper-dim);
text-decoration:none;
white-space:nowrap;
}
a.runtime-friend-link:hover {color:var(--gold);text-decoration:underline}
@media (max-width:1000px){.overview-primary {grid-template-columns:minmax(0,1fr)}
.poster-column {max-width:340px}
.episode-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.page-main {padding:8px 8px 20px;gap:8px}
.overview-shell {padding:9px}
.movie-title {font-size:30px}
.comments-columns {grid-template-columns:1fr;gap:8px}
.comments-col-right {margin-top:0}
.timeline-label {max-height:180px;font-size:11.5px}
.timeline-slice {min-width:62px}
.recommend-row {grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}}
@media (max-width:520px){.episode-grid {grid-template-columns:1fr}
.cast-list {grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.status-list {grid-template-columns:1fr}
.poster-column {max-width:260px}
.header-bar {flex-wrap:wrap;gap:6px}
.recommend-row {grid-template-columns:1fr}
a.recommend-item {border-right:0}
.ctl {font-size:10px;padding:3px 6px}}

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}
