*, *::before, *::after {box-sizing:border-box;margin:0;padding:0}
:root {
--tan:#3b231a;
--tan-deep:#241410;
--tan-mid:#4a2c1e;
--paper:#e8d8b0;
--paper-dim:#d6c193;
--paper-faint:#c9b184;
--ink:#1c110c;
--red:#8f1f1f;
--red-deep:#6b1414;
--lamp:#e39a3c;
--lamp-soft:#c97e28;
--line:rgba(232,216,176,.18);
--line-strong:rgba(232,216,176,.32);
--serif:"FangSong","STFangsong","Songti SC","SimSun",serif;
--narrow:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
--mono:"Courier New","Consolas","SFMono-Regular",monospace;
}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%}
body {
background:var(--tan-deep);
background-image:
radial-gradient(120% 80% at 82% 0%,rgba(227,154,60,.10),transparent 55%),
radial-gradient(90% 60% at 8% 12%,rgba(143,31,31,.14),transparent 60%),
linear-gradient(180deg,#2b1813 0%,#1d110c 60%,#160c08 100%);
color:var(--paper);
font-family:var(--narrow);
font-size:14px;
line-height:1.55;
letter-spacing:.02em;
font-variant-numeric:tabular-nums;
overflow-x:hidden;
}
img {display:block;max-width:100%}
ul, ol {list-style:none}
a {color:var(--paper);text-decoration:none}
button {font:inherit;color:inherit;background:none;border:none;cursor:pointer}
h1, h2, h3 {font-weight:600;line-height:1.25}
video {display:block;background:#000}
.site-header {
position:sticky;top:0;z-index:40;
background:linear-gradient(180deg,rgba(28,17,12,.96),rgba(28,17,12,.82));
border-bottom:1px solid var(--line-strong);
backdrop-filter:blur(6px);
}
.header-inner {
max-width:1280px;margin:0 auto;
display:flex;align-items:center;justify-content:space-between;
gap:12px;padding:8px 16px;
}
.site-brand {
font-family:var(--serif);
font-size:18px;letter-spacing:.16em;
color:var(--paper);
text-decoration:none;
text-shadow:0 1px 0 rgba(0,0,0,.6),0 0 14px rgba(227,154,60,.22);
border-left:3px solid var(--red);
padding-left:9px;
white-space:nowrap;
}
.site-brand:hover {color:var(--lamp)}
.category-bar {
display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;
min-width:0;
}
.runtime-category {
display:inline-block;
font-size:12px;letter-spacing:.14em;
white-space:nowrap;
color:var(--paper-dim);
text-decoration:none;
padding:3px 10px;
border:1px solid var(--line-strong);
border-radius:2px;
background:rgba(232,216,176,.05);
transition:background .15s,color .15s,border-color .15s;
}
.runtime-category:hover, .runtime-category:focus-visible {
color:var(--ink);background:var(--lamp);border-color:var(--lamp);
text-decoration:none;
}
.page-main {
max-width:1280px;margin:0 auto;
padding:10px 16px 26px;
display:flex;flex-direction:column;gap:14px;
}
.hero-panel {
position:relative;
display:grid;
grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
grid-template-areas:
"portrait copy"
"portrait player"
"meta meta";
gap:12px 18px;
padding:16px;
background:
linear-gradient(140deg,rgba(74,44,30,.92),rgba(36,20,16,.96) 65%);
border:1px solid var(--line-strong);
border-radius:3px;
box-shadow:inset 0 0 0 1px rgba(0,0,0,.5),0 12px 30px -18px #000;
}
.hero-panel::before {
content:"";position:absolute;inset:0;pointer-events:none;
background:repeating-linear-gradient(90deg,rgba(232,216,176,.05) 0 1px,transparent 1px 26px);
opacity:.5;border-radius:3px;
}
.hero-portrait {
grid-area:portrait;
position:relative;
align-self:start;
justify-self:start;
width:min(100%,250px);
}
.portrait-media {
position:relative;overflow:hidden;border-radius:2px;
border:1px solid var(--line-strong);
box-shadow:0 10px 26px -16px #000;
}
.poster-img {
width:100%;
aspect-ratio:9 / 16;
height:auto;
object-fit:cover;
display:block;
filter:saturate(.86) contrast(1.04) sepia(.12);
}
.portrait-ledger-veil {
position:absolute;inset:0;
display:flex;flex-direction:column;align-items:flex-end;justify-content:space-around;
padding:10px 6px;
pointer-events:none;
}
.veil-num {
font-family:var(--mono);
font-size:13px;
color:rgba(227,154,60,.42);
text-shadow:0 0 10px rgba(0,0,0,.8);
letter-spacing:.1em;
}
.hero-copy {
grid-area:copy;
align-self:center;
padding:4px 0 0 2px;
}
.movie-title {
font-family:var(--serif);
font-size:clamp(26px,4.4vw,46px);
line-height:1.08;
letter-spacing:.1em;
color:var(--paper);
text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 26px rgba(227,154,60,.2);
}
.movie-title::after {
content:"";display:block;width:74px;height:2px;margin-top:10px;
background:linear-gradient(90deg,var(--red),transparent);
}
.movie-tagline {
margin-top:10px;
font-family:var(--serif);
font-size:clamp(13px,1.5vw,16px);
letter-spacing:.18em;
color:var(--paper-faint);
max-width:26em;
}
.player-shell {
grid-area:player;
position:relative;
align-self:start;
width:100%;
min-width:0;
padding:8px;
background:linear-gradient(180deg,#120a07,#241410);
border:1px solid var(--line-strong);
border-radius:3px;
}
.player-shell video {
width:100%;
aspect-ratio:16 / 9;
display:block;
background:#000;
border-radius:2px;
border:1px solid rgba(0,0,0,.6);
}
.player-controls {
display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;
}
.pc-btn {
font-size:12px;letter-spacing:.1em;
padding:3px 9px;
color:var(--paper-dim);
background:rgba(232,216,176,.06);
border:1px solid var(--line);
border-radius:2px;
transition:background .15s,color .15s,border-color .15s;
}
.pc-btn:hover {background:var(--red);color:var(--paper);border-color:var(--red)}
.pc-btn.is-active {background:var(--lamp);color:var(--ink);border-color:var(--lamp)}
.pc-btn.is-playing {background:var(--red-deep);color:var(--paper);border-color:var(--red)}
.pc-btn.is-muted {background:rgba(143,31,31,.55);color:var(--paper);border-color:var(--red)}
.player-shell.theater-mode {
position:fixed;inset:0;z-index:80;
padding:14px;margin:0;border-radius:0;
display:flex;flex-direction:column;justify-content:center;
background:rgba(10,6,4,.98);
}
.player-shell.theater-mode video {max-height:76vh;object-fit:contain}
.player-shell.lights-out {background:#000;border-color:#000}
.player-shell.lights-out .player-controls {opacity:.75}
.overview-meta {
grid-area:meta;
margin-top:6px;padding-top:14px;
border-top:1px solid var(--line);
display:grid;
grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
grid-template-areas:
"status synopsis"
"cast synopsis"
"details synopsis";
gap:10px 20px;
align-items:start;
}
.episode-status {
grid-area:status;
display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;
}
.status-current {
font-family:var(--serif);font-size:15px;letter-spacing:.1em;
color:var(--lamp);
border-bottom:1px solid rgba(227,154,60,.4);
padding-bottom:1px;
}
.status-total {
font-family:var(--mono);font-size:12px;letter-spacing:.08em;
color:var(--paper-faint);
}
.cast-strip {grid-area:cast}
.cast-heading {
font-family:var(--serif);font-size:13px;letter-spacing:.22em;
color:var(--paper-faint);margin-bottom:7px;
}
.cast-list {display:flex;flex-wrap:wrap;gap:7px}
.cast-item {
display:flex;align-items:center;gap:5px;
padding:3px 8px 3px 4px;
background:rgba(232,216,176,.05);
border:1px solid var(--line);
border-radius:2px;
}
.cast-avatar {
width:20px;height:20px;flex:0 0 auto;border-radius:50%;
background:
radial-gradient(circle at 34% 30%,rgba(227,154,60,.85),transparent 60%),
linear-gradient(150deg,var(--tan-mid),var(--red-deep));
border:1px solid var(--line-strong);
}
.cast-name {
font-family:var(--serif);
font-size:13px;letter-spacing:.16em;
color:var(--paper-dim);
writing-mode:vertical-rl;
text-orientation:upright;
line-height:1.05;
}
.synopsis-block {
grid-area:synopsis;
padding-left:16px;
border-left:1px solid var(--line);
}
.synopsis-heading, .detail-heading {
font-family:var(--serif);font-size:13px;letter-spacing:.22em;
color:var(--paper-faint);margin-bottom:7px;
}
.synopsis-para {
font-size:13px;line-height:1.72;
color:var(--paper-dim);
text-align:justify;
margin-bottom:8px;
}
.synopsis-para:last-child {margin-bottom:0}
.synopsis-para::first-letter {color:var(--lamp)}
.detail-ledger {grid-area:details}
.detail-list {display:flex;flex-direction:column;gap:0}
.detail-row {
display:flex;gap:8px;align-items:baseline;
padding:3px 0;
border-bottom:1px dashed rgba(232,216,176,.14);
}
.detail-row:last-child {border-bottom:none}
.detail-key {
flex:0 0 auto;min-width:5.4em;
font-family:var(--serif);font-size:12px;letter-spacing:.14em;
color:var(--paper-faint);
}
.detail-val {
font-family:var(--mono);font-size:12px;letter-spacing:.04em;
color:var(--paper);
}
.section-heading {
font-family:var(--serif);
font-size:17px;letter-spacing:.2em;
color:var(--paper);
display:flex;align-items:center;gap:10px;
margin-bottom:10px;
}
.section-heading::before {
content:"";width:6px;height:18px;flex:0 0 auto;
background:linear-gradient(180deg,var(--red),var(--red-deep));
}
.section-heading::after {
content:"";flex:1 1 auto;height:1px;
background:linear-gradient(90deg,var(--line-strong),transparent);
}
.timeline-section {position:relative}
.timeline-filmstrip {
position:relative;
overflow-x:auto;overflow-y:hidden;
padding:12px 12px 16px;
background:linear-gradient(180deg,#1b100b,#2c1a13);
border:1px solid var(--line-strong);
border-radius:3px;
scrollbar-width:thin;
scrollbar-color:var(--red) rgba(0,0,0,.4);
}
.timeline-filmstrip::-webkit-scrollbar {height:8px}
.timeline-filmstrip::-webkit-scrollbar-track {background:rgba(0,0,0,.45)}
.timeline-filmstrip::-webkit-scrollbar-thumb {background:var(--red-deep);border-radius:0}
.timeline-track {
display:flex;gap:0;align-items:stretch;
width:max-content;
position:relative;
}
.timeline-track::before, .timeline-track::after {
content:"";position:absolute;left:0;right:0;height:7px;
background-image:repeating-linear-gradient(90deg,rgba(232,216,176,.32) 0 5px,transparent 5px 14px);
opacity:.6;
}
.timeline-track::before {top:-6px}
.timeline-track::after {bottom:-6px}
.timeline-node {
position:relative;
display:flex;flex-direction:column;gap:7px;
width:172px;flex:0 0 auto;
padding:9px 11px;
background:linear-gradient(180deg,rgba(232,216,176,.09),rgba(232,216,176,.02));
border-left:1px solid var(--line-strong);
border-right:1px solid var(--line);
}
.timeline-node:first-child {border-left:none}
.timeline-node:last-child {border-right:none}
.timeline-tag {
align-self:flex-start;
font-family:var(--mono);font-size:12px;letter-spacing:.1em;
color:var(--paper);
background:linear-gradient(180deg,var(--red),var(--red-deep));
padding:2px 7px;
border-radius:1px;
box-shadow:0 1px 0 rgba(0,0,0,.5);
}
.timeline-tag::before {content:"▸ ";color:var(--lamp)}
.timeline-label {
font-size:12.5px;line-height:1.5;
color:var(--paper-dim);
}
.episode-grid {
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:8px;
}
.episode-card {
display:flex;flex-direction:column;gap:3px;
padding:9px 11px;
background:linear-gradient(180deg,rgba(232,216,176,.06),rgba(232,216,176,.015));
border:1px solid var(--line);
border-left:3px solid rgba(143,31,31,.75);
border-radius:2px;
transition:background .15s,border-color .15s;
}
.episode-card:hover {background:rgba(227,154,60,.1);border-left-color:var(--lamp)}
.ep-number {
font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;
color:var(--lamp-soft);
}
.ep-title {
font-family:var(--serif);font-size:14.5px;letter-spacing:.08em;
color:var(--paper);
}
.ep-summary {
font-size:12px;line-height:1.5;
color:var(--paper-faint);
}
.ep-duration {
font-family:var(--mono);font-size:11px;letter-spacing:.08em;
color:rgba(232,216,176,.5);
margin-top:1px;
}
.ep-duration::before {content:"⏱ ";color:var(--red)}
.comment-columns {
column-count:2;
column-gap:10px;
column-rule:1px solid var(--line);
}
.comment-card {
break-inside:avoid;
margin:0 0 9px;
padding:9px 11px;
background:linear-gradient(180deg,rgba(36,20,16,.9),rgba(28,17,12,.7));
border:1px solid var(--line);
border-top:2px solid rgba(227,154,60,.4);
border-radius:2px;
}
.comment-card:nth-child(even) {margin-top:16px}
.comment-card:nth-child(3n) {border-top-color:rgba(143,31,31,.7)}
.comment-nickname {
display:block;
font-family:"Kaiti SC","STKaiti","KaiTi",var(--serif);
font-size:13.5px;letter-spacing:.1em;
color:var(--lamp);
margin-bottom:4px;
}
.comment-text {
font-size:12.5px;line-height:1.65;
color:var(--paper-dim);
text-align:justify;
}
.rec-region {position:relative}
.rec-heading {
font-family:var(--serif);
font-size:15px;letter-spacing:.18em;
color:var(--paper);
margin-bottom:9px;
display:flex;align-items:center;gap:9px;
}
.rec-heading::before {content:"账";font-family:var(--mono);font-size:12px;color:var(--red);border:1px solid rgba(143,31,31,.6);padding:0 3px}
.rec-heading::after {content:"";flex:1 1 auto;height:1px;background:linear-gradient(90deg,var(--line-strong),transparent)}
.rec-card {
display:block;
position:relative;
overflow:hidden;
border:1px solid var(--line);
border-radius:2px;
background:linear-gradient(180deg,rgba(36,20,16,.92),rgba(22,13,9,.9));
transition:border-color .15s,transform .15s;
}
.rec-card:hover {border-color:var(--lamp);transform:translateY(-2px)}
.rec-card img {
width:100%;
display:block;
object-fit:cover;
filter:saturate(.88) contrast(1.05) brightness(.92) sepia(.1);
transition:filter .2s;
}
.rec-card:hover img {filter:saturate(1) contrast(1.06) brightness(1)}
.rec-card span[data-runtime="name"] {
display:block;
font-family:var(--serif);
font-size:13px;letter-spacing:.08em;
color:var(--paper);
padding:6px 8px 1px;
}
.rec-card span[data-runtime="blurb"] {
display:block;
font-size:11.5px;line-height:1.5;
color:var(--paper-faint);
padding:2px 8px 8px;
}
.rec-grid-1 {
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:8px;
align-items:start;
}
.rec-grid-1 .rec-card img {aspect-ratio:16 / 10}
.rec-grid-1 .rec-card span[data-runtime="blurb"] {display:none}
.rec-grid-2 {
display:grid;
grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);
gap:8px;
align-items:start;
}
.rec-grid-2 .rec-card img {aspect-ratio:3 / 4}
.rec-grid-2 .rec-card:first-child img {aspect-ratio:16 / 11}
.rec-grid-2 .rec-card:first-child {grid-row:span 1}
.rec-grid-3 {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:8px;
align-items:start;
}
.rec-grid-3 .rec-card img {aspect-ratio:4 / 3}
.rec-grid-3 .rec-card:nth-child(2) {margin-top:18px}
.rec-grid-3 .rec-card:nth-child(4) {margin-top:18px}
.rec-grid-3 .rec-card:nth-child(5) {grid-column:span 1}
.rec-grid-3 .rec-card span[data-runtime="blurb"] {display:none}
.rec-grid-4 {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:8px;
align-items:start;
}
.rec-grid-4 .rec-card {display:grid;grid-template-columns:86px minmax(0,1fr);grid-template-rows:auto auto;align-content:start}
.rec-grid-4 .rec-card img {grid-row:1 / span 2;height:100%;min-height:76px;aspect-ratio:1 / 1}
.rec-grid-4 .rec-card span[data-runtime="name"] {padding:7px 8px 0}
.rec-grid-4 .rec-card span[data-runtime="blurb"] {padding:2px 8px 7px}
.site-footer {
margin-top:8px;
border-top:1px solid var(--line-strong);
background:linear-gradient(180deg,rgba(24,14,10,.9),rgba(12,7,5,.98));
}
.footer-inner {
max-width:1280px;margin:0 auto;
padding:14px 16px 20px;
display:flex;flex-direction:column;gap:9px;
}
.footer-nav {display:flex;flex-wrap:wrap;gap:14px}
.footer-link {
font-family:var(--serif);font-size:13px;letter-spacing:.14em;
color:var(--paper-dim);
text-decoration:none;
border-bottom:1px solid rgba(232,216,176,.22);
padding-bottom:1px;
transition:color .15s,border-color .15s;
}
a[data-contract="footer-home"]:hover {color:var(--lamp);border-color:var(--lamp)}
a[data-contract="footer-sitemap"]:hover {color:var(--red);border-color:var(--red)}
.friend-links {
display:flex;flex-wrap:wrap;align-items:center;gap:8px;
padding-top:8px;border-top:1px dashed rgba(232,216,176,.14);
}
.friend-label {
font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;
color:var(--paper-faint);
}
.runtime-friend-link {
font-size:12px;letter-spacing:.06em;
color:var(--paper-dim);
text-decoration:none;
padding:2px 7px;
border:1px solid var(--line);
border-radius:2px;
background:rgba(232,216,176,.04);
white-space:nowrap;
transition:color .15s,background .15s,border-color .15s;
}
.runtime-friend-link:hover {color:var(--ink);background:var(--lamp);border-color:var(--lamp)}
.footer-disclaimer {
font-size:11.5px;line-height:1.65;
color:rgba(232,216,176,.42);
max-width:62em;
}
@media (max-width:1024px){.hero-panel {
grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);
grid-template-areas:
"portrait copy"
"portrait player"
"meta meta";
}
.overview-meta {
grid-template-columns:minmax(0,1fr) minmax(0,1fr);
grid-template-areas:
"status details"
"cast cast"
"synopsis synopsis";
}
.synopsis-block {padding-left:0;border-left:none;border-top:1px solid var(--line);padding-top:9px}
.rec-grid-1 {grid-template-columns:repeat(2,minmax(0,1fr))}
.rec-grid-2 {grid-template-columns:repeat(3,minmax(0,1fr))}
.rec-grid-2 .rec-card:first-child img {aspect-ratio:3 / 4}
.rec-grid-3 {grid-template-columns:repeat(2,minmax(0,1fr))}
.rec-grid-4 {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.page-main {padding:8px 10px 20px;gap:11px}
.header-inner {padding:7px 11px}
.site-brand {font-size:16px}
.hero-panel {
grid-template-columns:minmax(0,1fr);
grid-template-areas:
"portrait"
"copy"
"player"
"meta";
gap:11px;padding:12px;
}
.hero-portrait {width:min(72%,210px)}
.hero-copy {padding-top:0}
.player-shell {padding:6px}
.overview-meta {
grid-template-columns:minmax(0,1fr);
grid-template-areas:
"status"
"details"
"cast"
"synopsis";
gap:11px;
}
.episode-grid {grid-template-columns:minmax(0,1fr)}
.comment-columns {column-count:1;column-rule:none}
.comment-card:nth-child(even) {margin-top:0}
.rec-grid-1, .rec-grid-2, .rec-grid-3, .rec-grid-4 {grid-template-columns:repeat(2,minmax(0,1fr))}
.rec-grid-2 .rec-card:first-child {grid-column:span 2}
.rec-grid-2 .rec-card:first-child img {aspect-ratio:16 / 9}
.rec-grid-3 .rec-card:nth-child(2), .rec-grid-3 .rec-card:nth-child(4) {margin-top:0}
.rec-grid-4 .rec-card {grid-template-columns:72px minmax(0,1fr)}
.footer-inner {padding:12px 11px 18px}}
@media (max-width:460px){.rec-grid-1, .rec-grid-2, .rec-grid-3, .rec-grid-4 {grid-template-columns:minmax(0,1fr)}
.rec-grid-2 .rec-card:first-child {grid-column:span 1}
.cast-name {writing-mode:horizontal-tb;text-orientation:mixed}
.movie-title {letter-spacing:.06em}
.timeline-node {width:150px}}

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}
