* {margin:0;padding:0;box-sizing:border-box}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%}
body {
background:#0b0c0e;
background-image:
radial-gradient(120% 60% at 50% -10%,rgba(28,30,34,.9) 0%,rgba(11,12,14,.96) 55%,#08090b 100%),
radial-gradient(60% 40% at 12% 8%,rgba(60,62,68,.35) 0%,rgba(11,12,14,0) 70%),
radial-gradient(70% 50% at 88% 22%,rgba(46,48,54,.28) 0%,rgba(11,12,14,0) 72%);
color:#d7dade;
font-family:"Songti SC","STSong","SimSun","Noto Serif SC",serif;
font-size:15px;
line-height:1.5;
letter-spacing:.01em;
min-height:100vh;
overflow-x:hidden;
}
img, video {display:block;max-width:100%}
a {color:inherit;text-decoration:none}
button {font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ol, ul {list-style:none}
:root {
--ink:#0b0c0e;
--ink-2:#111317;
--ink-3:#171a1f;
--ash:#2a2e35;
--cold:#e8ebee;
--cold-dim:#aab0b8;
--cold-mute:#767d86;
--blood:#a3161f;
--blood-bright:#c8202a;
--blood-deep:#6d0f16;
--rule:rgba(180,186,194,.14);
--rule-strong:rgba(180,186,194,.26);
}
.site-header {
display:flex;
align-items:baseline;
gap:18px;
flex-wrap:wrap;
padding:12px 20px;
border-bottom:1px solid var(--rule);
background:linear-gradient(180deg,rgba(17,19,23,.94),rgba(11,12,14,.86));
position:relative;
}
.site-header::after {
content:"";
position:absolute;
left:0;right:0;bottom:-1px;height:1px;
background:linear-gradient(90deg,rgba(163,22,31,0),rgba(163,22,31,.7),rgba(163,22,31,0));
}
a[data-contract="site-name"] {
font-family:"Kaiti SC","STKaiti","KaiTi","Noto Serif SC",serif;
font-size:26px;
font-weight:700;
letter-spacing:.22em;
color:var(--cold);
text-decoration:none;
text-shadow:0 0 18px rgba(200,210,220,.18);
white-space:nowrap;
}
a[data-contract="site-name"]:hover {color:#fff;text-shadow:0 0 22px rgba(200,32,42,.5)}
.category-rail {
display:flex;
flex-wrap:wrap;
align-items:center;
gap:6px 4px;
min-width:0;
}
a.runtime-category {
font-size:13px;
line-height:1.6;
letter-spacing:.16em;
padding:2px 9px;
color:var(--cold-mute);
border:1px solid transparent;
border-radius:2px;
white-space:nowrap;
text-decoration:none;
transition:color .18s ease,border-color .18s ease,background .18s ease;
}
a.runtime-category:hover, a.runtime-category:focus-visible {
color:var(--blood-bright);
border-color:rgba(163,22,31,.5);
background:rgba(163,22,31,.08);
text-decoration:none;
}
.ink-main {
display:block;
padding:0 20px 4px;
max-width:1440px;
margin:0 auto;
}
.movie-overview {
display:grid;
grid-template-columns:minmax(0,260px) minmax(0,1fr);
gap:26px;
align-items:start;
padding:26px 0 22px;
border-bottom:1px solid var(--rule);
}
.poster-shell {
position:relative;
max-width:260px;
width:100%;
}
.poster-shell::after {
content:"";
position:absolute;
inset:-1px;
border:1px solid rgba(180,186,194,.2);
pointer-events:none;
box-shadow:0 0 40px rgba(0,0,0,.7) inset;
}
.main-poster {
width:100%;
height:auto;
aspect-ratio:9 / 16;
object-fit:cover;
filter:contrast(1.06) saturate(.82) brightness(.94);
background:var(--ink-2);
}
.overview-text {
min-width:0;
display:flex;
flex-direction:column;
gap:12px;
}
.movie-title {
font-family:"Kaiti SC","STKaiti","KaiTi","Noto Serif SC",serif;
font-size:clamp(30px,4.4vw,52px);
font-weight:700;
line-height:1.04;
letter-spacing:.14em;
color:var(--cold);
text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 30px rgba(200,32,42,.14);
}
.movie-tagline {
font-family:"Kaiti SC","STKaiti","KaiTi",serif;
font-size:15px;
letter-spacing:.34em;
color:var(--blood-bright);
padding-left:2px;
border-left:3px solid var(--blood);
padding:1px 0 1px 10px;
}
.player-shell {
position:relative;
width:100%;
min-width:0;
background:#050607;
border:1px solid var(--ash);
box-shadow:0 18px 40px rgba(0,0,0,.6);
transition:box-shadow .3s ease,border-color .3s ease;
}
.main-player {
width:100%;
aspect-ratio:16 / 9;
display:block;
background:#000;
object-fit:cover;
}
.player-shell.is-theater {
border-color:rgba(163,22,31,.55);
box-shadow:0 0 0 1px rgba(163,22,31,.35),0 24px 60px rgba(0,0,0,.8);
}
.player-shell.is-lights-off {
box-shadow:0 0 0 1px rgba(163,22,31,.5),0 0 90px rgba(0,0,0,.95);
}
.player-shell.is-lights-off::before {
content:"";
position:absolute;
inset:0;
background:rgba(4,5,6,.28);
pointer-events:none;
z-index:2;
}
.player-controls {
display:flex;
flex-wrap:wrap;
gap:4px;
padding:6px 6px;
background:linear-gradient(180deg,rgba(23,26,31,.96),rgba(11,12,14,.98));
border-top:1px solid var(--ash);
}
.ctrl {
font-family:"Songti SC","STSong","SimSun",serif;
font-size:12px;
line-height:1;
letter-spacing:.1em;
padding:6px 10px;
color:var(--cold-dim);
border:1px solid rgba(180,186,194,.16);
background:rgba(255,255,255,.02);
white-space:nowrap;
transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.ctrl:hover {
color:var(--cold);
border-color:rgba(200,32,42,.55);
background:rgba(163,22,31,.1);
}
.ctrl.is-active, .ctrl.play.is-active, .ctrl.pause.is-active {
color:#fff;
border-color:var(--blood);
background:rgba(163,22,31,.26);
box-shadow:0 0 12px rgba(163,22,31,.4);
}
.ctrl::before {
content:"";
display:inline-block;
width:5px;height:5px;
margin-right:7px;
background:currentColor;
transform:rotate(45deg) scale(.9);
opacity:.7;
vertical-align:middle;
}
.ctrl-play::before {background:var(--blood-bright);opacity:1}
.ctrl-light::before {background:var(--cold);opacity:.85}
.ctrl-theater::before {background:var(--blood);opacity:.9}
.seo-line {
font-size:13.5px;
line-height:1.72;
letter-spacing:.02em;
color:var(--cold-dim);
max-width:74ch;
border-top:1px dashed var(--rule);
padding-top:10px;
}
.seo-line::first-letter {color:var(--blood-bright)}
.section-heading {
font-family:"Kaiti SC","STKaiti","KaiTi",serif;
font-size:19px;
font-weight:700;
letter-spacing:.2em;
color:var(--cold);
position:relative;
padding-left:14px;
margin-bottom:12px;
}
.section-heading::before {
content:"";
position:absolute;
left:0;top:.18em;bottom:.18em;
width:3px;
background:linear-gradient(180deg,var(--blood-bright),var(--blood-deep));
transform:skewY(-6deg);
}
.section-heading::after {
content:"";
position:absolute;
left:14px;bottom:-5px;
width:34px;height:1px;
background:linear-gradient(90deg,rgba(163,22,31,.75),rgba(163,22,31,0));
}
.cast-section {padding:18px 0 16px;border-bottom:1px solid var(--rule)}
.cast-strip {
display:flex;
flex-wrap:wrap;
gap:8px;
}
.cast-card {
position:relative;
display:flex;
flex-direction:column;
gap:2px;
min-width:96px;
padding:9px 12px 8px;
background:linear-gradient(160deg,rgba(23,26,31,.95),rgba(13,15,18,.95));
border:1px solid var(--rule);
box-shadow:2px 3px 0 rgba(0,0,0,.5);
transform:rotate(-.5deg);
transition:transform .2s ease,border-color .2s ease;
}
.cast-card:nth-child(2n) {transform:rotate(.7deg)}
.cast-card:nth-child(3n) {transform:rotate(-1deg) translateY(1px)}
.cast-card:hover {border-color:rgba(163,22,31,.5);transform:rotate(0deg) translateY(-2px)}
.cast-role {
font-family:"Kaiti SC","STKaiti","KaiTi",serif;
font-size:15px;
letter-spacing:.1em;
color:var(--cold);
}
.cast-actor {
font-size:11.5px;
letter-spacing:.16em;
color:var(--cold-mute);
padding-top:3px;
border-top:1px solid rgba(180,186,194,.12);
}
.cast-card:hover .cast-actor {color:var(--blood-bright)}
.synopsis-section {padding:18px 0 16px;border-bottom:1px solid var(--rule)}
.synopsis-body {
columns:2;
column-gap:28px;
column-rule:1px solid var(--rule);
}
.synopsis-para {
font-size:13.5px;
line-height:1.78;
color:var(--cold-dim);
margin-bottom:9px;
text-indent:2em;
break-inside:avoid;
}
.synopsis-para::first-letter {color:var(--blood-bright);font-size:1.05em}
.episode-status, .details-section {padding:16px 0;border-bottom:1px solid var(--rule)}
.status-grid {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
gap:1px;
background:var(--rule);
border:1px solid var(--rule);
}
.status-key, .status-value {
padding:9px 12px;
background:var(--ink-2);
font-size:13px;
}
.status-key {
color:var(--cold-mute);
letter-spacing:.14em;
}
.status-value {
font-family:"Kaiti SC","STKaiti","KaiTi",serif;
font-size:22px;
color:var(--blood-bright);
text-align:right;
line-height:1.2;
}
.details-grid {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
gap:1px;
background:var(--rule);
border:1px solid var(--rule);
}
.detail-key, .detail-value {
padding:7px 11px;
background:var(--ink-2);
font-size:12.5px;
line-height:1.55;
}
.detail-key {
color:var(--cold-mute);
letter-spacing:.12em;
}
.detail-value {color:var(--cold-dim)}
.timeline-section {
padding:18px 0 16px;
border-bottom:1px solid var(--rule);
}
.timeline-scroll {
overflow-x:auto;
overflow-y:hidden;
padding:4px 2px 12px;
scrollbar-color:var(--blood-deep) transparent;
scrollbar-width:thin;
}
.timeline-scroll::-webkit-scrollbar {height:6px}
.timeline-scroll::-webkit-scrollbar-track {background:rgba(255,255,255,.03)}
.timeline-scroll::-webkit-scrollbar-thumb {background:var(--blood-deep)}
.timeline-rail {
position:relative;
display:flex;
align-items:flex-start;
gap:0;
padding:6px 0 4px;
min-width:100%;
}
.timeline-rail::before {
content:"";
position:absolute;
left:0;right:0;
top:24px;
height:2px;
background:linear-gradient(90deg,rgba(163,22,31,.15),rgba(163,22,31,.85) 12%,rgba(163,22,31,.85) 88%,rgba(163,22,31,.15));
}
.timeline-node {
position:relative;
flex:1 0 150px;
padding:0 12px 0 0;
display:flex;
flex-direction:column;
gap:5px;
align-items:flex-start;
}
.timeline-node::before {
content:"";
width:11px;height:11px;
margin:7px 0 0 0;
background:var(--ink);
border:2px solid var(--blood);
transform:rotate(45deg);
box-shadow:0 0 10px rgba(163,22,31,.5);
}
.timeline-timecode {
font-family:"Kaiti SC","STKaiti","KaiTi",serif;
font-size:12.5px;
letter-spacing:.14em;
color:var(--blood-bright);
padding:1px 6px;
border:1px solid rgba(163,22,31,.4);
}
.timeline-label {
font-size:12.5px;
line-height:1.6;
color:var(--cold-dim);
max-width:22ch;
}
.timeline-node:last-child .timeline-label {color:var(--cold)}
.episodes-section {
padding:26px 0 18px;
border-bottom:1px solid var(--rule);
}
.episode-list {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:0;
border-top:1px solid var(--rule);
}
.episode-row {
position:relative;
display:grid;
grid-template-columns:auto minmax(0,1fr) auto;
grid-template-areas:
"num title dur"
"num summary summary";
align-items:baseline;
gap:2px 10px;
padding:10px 14px 11px;
border-bottom:1px solid var(--rule);
border-right:1px solid var(--rule);
background:linear-gradient(180deg,rgba(17,19,23,.6),rgba(11,12,14,.6));
transition:background .2s ease;
}
.episode-row:hover {background:linear-gradient(180deg,rgba(163,22,31,.09),rgba(11,12,14,.7))}
.episode-number {
grid-area:num;
font-family:"Kaiti SC","STKaiti","KaiTi",serif;
font-size:12.5px;
letter-spacing:.08em;
color:var(--blood-bright);
writing-mode:vertical-rl;
text-orientation:upright;
line-height:1;
padding:1px 3px;
border-left:1px solid rgba(163,22,31,.45);
align-self:stretch;
}
.episode-title {
grid-area:title;
font-family:"Kaiti SC","STKaiti","KaiTi",serif;
font-size:15px;
font-weight:700;
letter-spacing:.1em;
color:var(--cold);
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.episode-duration {
grid-area:dur;
font-size:11.5px;
letter-spacing:.1em;
color:var(--cold-mute);
white-space:nowrap;
}
.episode-summary {
grid-area:summary;
font-size:12.5px;
line-height:1.62;
color:var(--cold-dim);
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}
.episode-row:nth-child(n/**/+9) {padding-top:8px;padding-bottom:9px}
.episode-row:nth-child(n/**/+11) {padding-top:6px;padding-bottom:7px;gap:1px 10px}
.episode-row:nth-child(n/**/+11) .episode-summary {line-height:1.5}
.comments-section {padding:18px 0 16px;border-bottom:1px solid var(--rule)}
.comment-stack {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:12px;
align-items:start;
}
.comment-note {
position:relative;
padding:10px 13px 11px;
background:linear-gradient(158deg,rgba(28,31,37,.96),rgba(15,17,21,.96));
border:1px solid var(--rule);
box-shadow:3px 4px 0 rgba(0,0,0,.45);
transform:rotate(-.6deg);
}
.comment-note:nth-child(2n) {transform:rotate(.8deg) translateY(3px)}
.comment-note:nth-child(3n) {transform:rotate(-1.1deg) translateY(-2px)}
.comment-note:nth-child(5n) {transform:rotate(.5deg) translateX(4px)}
.comment-note::before {
content:"";
position:absolute;
left:0;top:0;bottom:0;
width:2px;
background:linear-gradient(180deg,var(--blood),rgba(163,22,31,0));
}
.comment-nickname {
font-family:"Kaiti SC","STKaiti","KaiTi",serif;
font-size:13px;
font-weight:700;
letter-spacing:.14em;
color:var(--blood-bright);
margin-bottom:5px;
}
.comment-text {
font-size:12.5px;
line-height:1.66;
color:var(--cold-dim);
}
.recommend-region {padding:18px 0 16px}
.recommend-title {
font-family:"Kaiti SC","STKaiti","KaiTi",serif;
font-size:17px;
font-weight:700;
letter-spacing:.2em;
color:var(--cold);
margin-bottom:11px;
display:inline-flex;
align-items:center;
gap:9px;
}
.recommend-title::before {
content:"印";
display:inline-grid;
place-items:center;
width:20px;height:20px;
font-size:11px;
letter-spacing:0;
color:#f2e6e6;
background:var(--blood);
border-radius:2px;
box-shadow:0 0 12px rgba(163,22,31,.5);
transform:rotate(-4deg);
}
.recommend-grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:10px;
align-items:start;
}
.recommend-card {
display:flex;
flex-direction:column;
gap:5px;
padding:8px;
background:linear-gradient(170deg,rgba(23,26,31,.95),rgba(12,14,17,.95));
border:1px solid var(--rule);
color:var(--cold-dim);
text-decoration:none;
transition:border-color .2s ease,transform .2s ease,background .2s ease;
}
.recommend-card:hover {
border-color:rgba(163,22,31,.55);
transform:translateY(-2px);
background:linear-gradient(170deg,rgba(35,20,23,.96),rgba(12,14,17,.96));
}
[data-runtime="recommendation"] img {
width:100%;
aspect-ratio:16 / 9;
height:auto;
object-fit:cover;
background:var(--ink-2);
filter:saturate(.8) contrast(1.05) brightness(.92);
}
.recommend-name {
font-family:"Kaiti SC","STKaiti","KaiTi",serif;
font-size:13.5px;
letter-spacing:.08em;
color:var(--cold);
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.recommend-blurb {
font-size:11.5px;
line-height:1.55;
color:var(--cold-mute);
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}
.recommend-card:hover .recommend-blurb {color:var(--cold-dim)}
.site-footer {
margin-top:8px;
padding:16px 20px 22px;
border-top:1px solid var(--rule);
background:linear-gradient(180deg,rgba(11,12,14,.4),rgba(6,7,8,.95));
max-width:1440px;
margin-left:auto;
margin-right:auto;
}
.friend-links {
display:flex;
flex-wrap:wrap;
align-items:baseline;
gap:5px 12px;
padding-bottom:11px;
border-bottom:1px dashed var(--rule);
}
.friend-links-label {
font-family:"Kaiti SC","STKaiti","KaiTi",serif;
font-size:12.5px;
letter-spacing:.2em;
color:var(--blood-bright);
white-space:nowrap;
}
a.runtime-friend-link {
font-size:12px;
letter-spacing:.06em;
color:var(--cold-mute);
text-decoration:none;
border-bottom:1px solid transparent;
transition:color .16s ease,border-color .16s ease;
}
a.runtime-friend-link:hover {color:var(--cold);border-bottom-color:rgba(163,22,31,.7)}
.footer-nav {
display:flex;
flex-wrap:wrap;
gap:6px 16px;
padding:11px 0 9px;
}
a[data-contract="footer-home"], a[data-contract="footer-sitemap"] {
font-size:12.5px;
letter-spacing:.16em;
color:var(--cold-dim);
text-decoration:none;
border-left:2px solid var(--blood);
padding-left:8px;
transition:color .16s ease,padding-left .16s ease;
}
a[data-contract="footer-home"]:hover, a[data-contract="footer-sitemap"]:hover {
color:var(--blood-bright);
padding-left:12px;
}
.footer-disclaimer {
font-size:11.5px;
line-height:1.62;
letter-spacing:.02em;
color:var(--cold-mute);
max-width:82ch;
}
@media (max-width:1024px){.movie-overview {grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:20px}
.poster-shell {max-width:200px}
.recommend-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.synopsis-body {columns:2}}
@media (max-width:860px){.movie-overview {grid-template-columns:minmax(0,1fr);gap:16px}
.poster-shell {max-width:210px}
.synopsis-body {columns:1;column-rule:none}
.episode-list {grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.comment-stack {grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ink-main {padding:0 13px 4px}
.site-header {padding:10px 13px;gap:10px}
a[data-contract="site-name"] {font-size:21px;letter-spacing:.16em}
.section-heading {font-size:17px}
.movie-title {font-size:28px;letter-spacing:.1em}
.movie-tagline {font-size:13px;letter-spacing:.24em}
.player-controls {gap:3px;padding:5px}
.ctrl {font-size:11px;padding:5px 7px;letter-spacing:.06em}
.ctrl::before {width:4px;height:4px;margin-right:5px}
.synopsis-para {font-size:13px}
.status-grid {grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
.details-grid {grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}
.episode-list {grid-template-columns:minmax(0,1fr)}
.episode-row {border-right:0}
.comment-stack {grid-template-columns:minmax(0,1fr)}
.recommend-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.site-footer {padding:14px 13px 20px}}
@media (max-width:400px){.recommend-grid {grid-template-columns:minmax(0,1fr)}
.ctrl {font-size:10.5px;padding:4px 6px}}
.player {position:relative}
.player.play .ctrl-play, .ctrl-play.play, .ctrl-play.click {color:#fff;border-color:var(--blood);background:rgba(163,22,31,.26)}
.player.pause .ctrl-play, .ctrl-play.pause {color:var(--cold-dim);border-color:rgba(180,186,194,.16);background:rgba(255,255,255,.02)}
.ctrl.mute.is-active, .ctrl-mute.mute {color:var(--blood-bright);border-color:rgba(163,22,31,.6)}
.ctrl.volume.is-active, .ctrl-volume.volume {color:var(--cold);border-color:rgba(180,186,194,.4)}
.ctrl.progress.is-active, .ctrl-progress.progress {color:var(--cold);border-color:rgba(180,186,194,.4)}
.ctrl.speed.is-active, .ctrl-speed.speed {color:var(--cold);border-color:rgba(180,186,194,.4)}
.ctrl.pip.is-active, .ctrl-pip.pip {color:var(--cold);border-color:rgba(180,186,194,.4)}
.ctrl.fullscreen.is-active, .ctrl-fullscreen.fullscreen {color:var(--cold);border-color:rgba(180,186,194,.4)}
.ctrl.theater.is-active, .ctrl-theater.theater {color:#fff;border-color:var(--blood);background:rgba(163,22,31,.2)}
.ctrl.light.is-active, .ctrl-light.light {color:#fff;border-color:rgba(232,235,238,.5);background:rgba(232,235,238,.08)}
.player-shell.is-theater .ctrl-theater {color:#fff;border-color:var(--blood);background:rgba(163,22,31,.26)}
.player-shell.is-lights-off .ctrl-light {color:#fff;border-color:rgba(232,235,238,.5);background:rgba(232,235,238,.1)}
a:focus-visible, button:focus-visible, .ctrl:focus-visible {
outline:1px solid var(--blood-bright);
outline-offset:2px;
}

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}
