*, *::before, *::after {box-sizing:border-box}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%}
body, h1, h2, h3, p, ul, ol, li, dl, dt, dd, figure {margin:0;padding:0}
ul, ol {list-style:none}
img, video {display:block;max-width:100%}
a {color:inherit}
button {font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:root {
--ink:#0b1017;
--asphalt:#111a26;
--asphalt-2:#16222f;
--asphalt-3:#1d2c3b;
--wet:#243a4d;
--neon:#8e1f2c;
--neon-2:#b32636;
--blood:#c8202f;
--blood-deep:#7c1420;
--paper:#d8d2c4;
--paper-dim:#a49c8b;
--tape:#7e6a52;
--tape-dark:#4c3f2e;
--line:rgba(216,210,196,.14);
--mono:"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
--sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
--serif:"Songti SC","SimSun",Georgia,serif;
}
body {
background:
radial-gradient(120% 70% at 12% 8%,rgba(142,31,44,.20),transparent 60%),
radial-gradient(90% 60% at 92% 30%,rgba(36,58,77,.55),transparent 65%),
linear-gradient(180deg,#0b1017 0%,#0e1620 45%,#0a0f16 100%);
background-attachment:fixed;
color:var(--paper);
font-family:var(--sans);
font-size:14px;
line-height:1.55;
letter-spacing:.02em;
min-height:100vh;
overflow-x:hidden;
}
body::before {
content:"";
position:fixed;
inset:0;
pointer-events:none;
z-index:0;
background:
repeating-linear-gradient(180deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px),
repeating-linear-gradient(93deg,rgba(0,0,0,.16) 0 2px,transparent 2px 9px);
mix-blend-mode:overlay;
opacity:.7;
}
body.lights-off {background:linear-gradient(180deg,#05080c,#04070a)}
body.lights-off .player-shell {box-shadow:0 0 0 1px var(--neon),0 0 60px rgba(200,32,47,.35)}
body.theater-mode .player-shell {position:relative;z-index:9}
.site-header {
position:sticky;
top:0;
z-index:40;
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding:7px 14px;
background:linear-gradient(180deg,rgba(11,16,23,.96),rgba(11,16,23,.82));
border-bottom:1px solid var(--line);
backdrop-filter:blur(6px);
}
.site-brand {
font-family:var(--serif);
font-size:16px;
font-weight:700;
letter-spacing:.16em;
text-decoration:none;
color:var(--paper);
border-left:3px solid var(--neon);
padding-left:8px;
}
a[data-contract="site-name"] {color:var(--paper);text-decoration:none}
a[data-contract="site-name"]:hover {color:var(--blood)}
.category-bar {
display:flex;
flex-wrap:wrap;
gap:6px;
justify-content:flex-end;
min-width:0;
}
a.runtime-category {
display:inline-block;
white-space:nowrap;
font-family:var(--mono);
font-size:11px;
letter-spacing:.08em;
padding:2px 8px;
color:var(--paper-dim);
text-decoration:none;
border:1px solid var(--line);
background:rgba(36,58,77,.28);
}
a.runtime-category:hover {color:var(--paper);border-color:var(--neon);background:rgba(142,31,44,.25)}
.page-main {
position:relative;
z-index:1;
display:grid;
grid-template-columns:minmax(0,1fr);
gap:10px;
padding:10px 12px 26px;
max-width:1320px;
margin:0 auto;
}
.section-heading {
font-family:var(--mono);
font-size:12px;
font-weight:600;
letter-spacing:.34em;
text-transform:uppercase;
color:var(--paper-dim);
padding-bottom:3px;
border-bottom:1px solid var(--line);
position:relative;
}
.section-heading::before {
content:"";
position:absolute;
left:0;
bottom:-1px;
width:38px;
height:2px;
background:var(--neon);
}
.hero-reel {
position:relative;
display:grid;
grid-template-columns:minmax(0,2fr) minmax(0,1fr);
grid-template-areas:
"tape sky"
"tape identity"
"player player";
gap:8px 14px;
padding:10px 12px 12px;
background:
linear-gradient(160deg,rgba(22,34,47,.9),rgba(11,16,23,.92)),
repeating-linear-gradient(115deg,rgba(255,255,255,.02) 0 3px,transparent 3px 8px);
border:1px solid var(--line);
border-radius:2px;
overflow:hidden;
}
.hero-reel::after {
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:2px;
background:linear-gradient(90deg,transparent,var(--neon),transparent);
opacity:.7;
}
.hero-tape-visual {
grid-area:tape;
position:relative;
align-self:start;
justify-self:start;
width:100%;
max-width:420px;
padding:9px;
background:linear-gradient(150deg,#231b13,#100c08);
border:1px solid rgba(126,106,82,.5);
box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),0 14px 34px rgba(0,0,0,.6);
}
.hero-tape-visual::before, .hero-tape-visual::after {
content:"";
position:absolute;
left:22%;
right:22%;
height:7px;
background:
repeating-linear-gradient(90deg,rgba(0,0,0,.7) 0 2px,rgba(126,106,82,.55) 2px 4px);
opacity:.85;
}
.hero-tape-visual::before {top:2px}
.hero-tape-visual::after {bottom:2px}
.hero-tape-visual img {
width:100%;
aspect-ratio:9 / 16;
object-fit:cover;
filter:saturate(.72) contrast(1.08) brightness(.86) hue-rotate(-6deg);
border:1px solid rgba(0,0,0,.7);
}
.hero-skyline {
grid-area:sky;
position:relative;
align-self:start;
min-height:110px;
border:1px solid var(--line);
background:
linear-gradient(180deg,rgba(142,31,44,.22),rgba(11,16,23,.1) 55%,rgba(11,16,23,.9)),
repeating-linear-gradient(180deg,rgba(200,32,47,.10) 0 2px,transparent 2px 6px);
overflow:hidden;
}
.hero-skyline::before {
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:74%;
background:
linear-gradient(90deg,
transparent 0 4%,
#0d141d 4% 17%,
transparent 17% 20%,
#0f1822 20% 36%,
transparent 36% 39%,
#0b1219 39% 58%,
transparent 58% 61%,
#101a24 61% 78%,
transparent 78% 82%,
#0d141d 82% 100%);
clip-path:polygon(0 100%,0 62%,6% 62%,6% 34%,17% 34%,17% 74%,24% 74%,24% 20%,36% 20%,36% 58%,44% 58%,44% 8%,58% 8%,58% 66%,66% 66%,66% 40%,78% 40%,78% 80%,86% 80%,86% 52%,100% 52%,100% 100%);
}
.hero-skyline::after {
content:"";
position:absolute;
top:8%;
right:14%;
width:2px;
height:64%;
background:linear-gradient(180deg,transparent,var(--blood),transparent);
opacity:.55;
}
.hero-neon-mark {
position:relative;
display:inline-block;
margin:8px 0 0 10px;
font-family:var(--mono);
font-size:11px;
letter-spacing:.28em;
color:#ff8a95;
padding:2px 7px;
border:1px solid rgba(200,32,47,.55);
background:rgba(142,31,44,.22);
text-shadow:0 0 8px rgba(200,32,47,.85);
}
.hero-identity {
grid-area:identity;
align-self:start;
display:flex;
flex-direction:column;
gap:5px;
padding-top:2px;
border-top:1px solid var(--line);
}
.movie-title {
font-family:var(--serif);
font-size:clamp(21px,3.2vw,38px);
line-height:1.1;
letter-spacing:.06em;
color:#efe7d6;
text-shadow:0 0 18px rgba(142,31,44,.6);
}
.movie-tagline {
font-family:var(--serif);
font-size:13px;
line-height:1.5;
color:var(--paper-dim);
border-left:2px solid var(--neon);
padding-left:8px;
}
.player-shell {
grid-area:player;
position:relative;
width:100%;
margin:6px 0 0;
border:1px solid rgba(126,106,82,.45);
background:#05080c;
box-shadow:0 16px 40px rgba(0,0,0,.7);
}
.player-video {
display:block;
width:100%;
aspect-ratio:16 / 9;
background:#000;
}
.player-controls {
display:flex;
flex-wrap:wrap;
gap:4px;
padding:6px;
background:linear-gradient(180deg,rgba(22,34,47,.95),rgba(11,16,23,.95));
border-top:1px solid var(--line);
}
.ctl {
font-family:var(--mono);
font-size:10.5px;
letter-spacing:.06em;
padding:3px 7px;
color:var(--paper-dim);
border:1px solid var(--line);
background:rgba(36,58,77,.3);
transition:color .15s,border-color .15s,background .15s;
}
.ctl:hover {color:var(--paper);border-color:var(--tape)}
.ctl.is-active, .ctl.play.is-active, .ctl.light.is-active, .ctl.theater.is-active, .ctl.mute.is-active {
color:#ffd9dd;
border-color:var(--blood);
background:rgba(200,32,47,.3);
}
.ctl-progress {color:var(--paper)}
.ctl-speed {min-width:42px;text-align:center}
.cast-grid {
display:grid;
grid-template-columns:minmax(0,1fr);
gap:6px;
padding:8px 10px 10px;
background:rgba(22,34,47,.42);
border:1px solid var(--line);
}
.cast-list {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(96px,1fr));
gap:6px;
align-items:start;
}
.cast-card {
display:flex;
flex-direction:column;
gap:3px;
border:1px solid var(--line);
background:linear-gradient(180deg,#1a2531,#0d141d);
}
.cast-card::before {
content:"";
display:block;
aspect-ratio:1 / 1;
background:
linear-gradient(160deg,rgba(216,210,196,.22),rgba(11,16,23,.9) 62%),
repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 5px);
filter:grayscale(1) contrast(1.2);
border-bottom:1px solid var(--line);
}
.cast-name {
font-family:var(--mono);
font-size:11.5px;
letter-spacing:.16em;
padding:4px 6px 6px;
color:var(--paper);
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.synopsis-block, .episode-status, .detail-list {
padding:8px 10px 10px;
background:rgba(22,34,47,.34);
border:1px solid var(--line);
}
.synopsis-block {
display:grid;
grid-template-columns:minmax(0,1fr);
gap:6px;
}
.synopsis-para {
font-family:var(--serif);
font-size:13px;
line-height:1.72;
color:#c9c2b2;
text-indent:2em;
}
.synopsis-para+.synopsis-para {border-top:1px dashed var(--line);padding-top:6px}
.status-line {
display:flex;
flex-wrap:wrap;
align-items:baseline;
gap:10px;
font-family:var(--mono);
}
.status-current {
font-size:16px;
letter-spacing:.12em;
color:#ff8a95;
border-bottom:2px solid var(--blood);
padding-bottom:2px;
text-shadow:0 0 10px rgba(200,32,47,.7);
}
.status-total {
font-size:11.5px;
letter-spacing:.2em;
color:var(--paper-dim);
}
.detail-list {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
gap:0 16px;
align-content:start;
}
.detail-list>.section-heading {grid-column:1 / -1;margin-bottom:6px}
.detail-row {
display:flex;
align-items:baseline;
gap:8px;
padding:3px 0;
border-bottom:1px dotted rgba(216,210,196,.16);
}
.detail-key {
flex:0 0 68px;
font-family:var(--mono);
font-size:11px;
letter-spacing:.1em;
color:var(--tape);
}
.detail-value {
flex:1 1 auto;
font-size:12.5px;
color:#d2cbba;
}
.timeline-section {
padding:8px 10px 12px;
background:rgba(22,34,47,.34);
border:1px solid var(--line);
}
.timeline-list {
position:relative;
display:grid;
grid-template-columns:minmax(0,1fr);
gap:9px;
margin-top:10px;
padding-left:26px;
}
.timeline-list::before {
content:"";
position:absolute;
left:8px;
top:0;
bottom:0;
width:7px;
background:
repeating-linear-gradient(180deg,rgba(126,106,82,.75) 0 6px,rgba(76,63,46,.5) 6px 9px),
linear-gradient(180deg,rgba(216,210,196,.18),rgba(200,32,47,.85));
box-shadow:0 0 12px rgba(200,32,47,.25);
}
.timeline-node {
position:relative;
display:grid;
grid-template-columns:minmax(0,1fr);
gap:1px;
padding:5px 8px 6px;
background:linear-gradient(180deg,rgba(29,44,59,.7),rgba(11,16,23,.7));
border:1px solid var(--line);
border-left:2px solid rgba(200,32,47,.35);
}
.timeline-node:nth-child(1) {border-left-color:rgba(200,32,47,.2)}
.timeline-node:nth-child(2) {border-left-color:rgba(200,32,47,.3)}
.timeline-node:nth-child(3) {border-left-color:rgba(200,32,47,.42)}
.timeline-node:nth-child(4) {border-left-color:rgba(200,32,47,.54)}
.timeline-node:nth-child(5) {border-left-color:rgba(200,32,47,.68)}
.timeline-node:nth-child(6) {border-left-color:rgba(200,32,47,.82)}
.timeline-node:nth-child(7) {border-left-color:var(--blood);background:linear-gradient(180deg,rgba(60,20,26,.6),rgba(11,16,23,.8))}
.timeline-reel {
position:absolute;
left:-24px;
top:8px;
width:13px;
height:13px;
border-radius:50%;
background:radial-gradient(circle,#0b1017 0 26%,var(--tape) 27% 58%,#0b1017 59% 100%);
border:1px solid rgba(200,32,47,.5);
box-shadow:0 0 8px rgba(0,0,0,.8);
}
.timeline-reel::after {
content:"";
position:absolute;
inset:4px;
border-radius:50%;
background:var(--blood);
opacity:.35;
}
.timeline-time {
font-family:var(--mono);
font-size:11px;
letter-spacing:.1em;
color:#e2a1a9;
}
.timeline-label {
font-family:var(--serif);
font-size:12.5px;
line-height:1.6;
color:#c5bdae;
}
.episodes-section {
padding:8px 10px 12px;
background:rgba(22,34,47,.34);
border:1px solid var(--line);
}
.episode-cards {
display:grid;
grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
gap:7px;
margin-top:9px;
align-items:start;
}
.episode-card {
position:relative;
display:grid;
grid-template-columns:auto minmax(0,1fr);
grid-template-areas:
"num title"
"sum sum";
gap:3px 7px;
align-content:start;
padding:7px 8px 8px 10px;
background:
linear-gradient(180deg,rgba(216,210,196,.07),rgba(11,16,23,.75)),
repeating-linear-gradient(180deg,rgba(216,210,196,.05) 0 1px,transparent 1px 6px);
border:1px solid var(--line);
border-top:2px solid rgba(200,32,47,.28);
}
.episode-card::after {
content:"";
position:absolute;
right:5px;
bottom:5px;
width:14px;
height:14px;
border-right:1px solid rgba(216,210,196,.2);
border-bottom:1px solid rgba(216,210,196,.2);
}
.episode-number {
grid-area:num;
font-family:var(--mono);
font-size:15px;
line-height:1;
color:var(--blood);
letter-spacing:.04em;
padding-top:1px;
}
.episode-title {
grid-area:title;
font-family:var(--serif);
font-size:13.5px;
letter-spacing:.05em;
color:#e6ded0;
align-self:center;
}
.episode-summary {
grid-area:sum;
font-size:11.5px;
line-height:1.55;
color:#a9a293;
}
.comments-section {
padding:8px 10px 12px;
background:rgba(22,34,47,.34);
border:1px solid var(--line);
}
.comment-notes {
display:grid;
grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
gap:8px;
margin-top:10px;
align-items:start;
}
.comment-note {
position:relative;
padding:7px 8px 8px;
background:linear-gradient(175deg,#2a2418,#1a1710);
border:1px solid rgba(126,106,82,.45);
box-shadow:2px 3px 0 rgba(0,0,0,.45);
transform:rotate(-.5deg);
}
.comment-note:nth-child(2n) {transform:rotate(.6deg);background:linear-gradient(175deg,#26221a,#15130e)}
.comment-note:nth-child(3n) {transform:rotate(-.9deg)}
.comment-note::before {
content:"";
position:absolute;
top:-4px;
left:50%;
transform:translateX(-50%) rotate(-2deg);
width:34px;
height:8px;
background:rgba(142,31,44,.42);
border:1px solid rgba(200,32,47,.3);
}
.comment-nickname {
display:block;
font-family:var(--mono);
font-size:10.5px;
letter-spacing:.1em;
color:#e0a7ad;
margin-bottom:2px;
}
.comment-text {
font-size:11.5px;
line-height:1.6;
color:#bdb5a5;
}
.rec-region {
padding:8px 10px 10px;
background:rgba(22,34,47,.34);
border:1px solid var(--line);
display:grid;
grid-template-columns:minmax(0,1fr);
gap:6px;
}
.rec-title {
font-family:var(--mono);
font-size:12px;
font-weight:600;
letter-spacing:.22em;
color:var(--paper-dim);
writing-mode:vertical-rl;
text-orientation:upright;
justify-self:start;
padding:5px 0;
border-left:2px solid var(--neon);
}
.rec-column {
display:grid;
grid-template-columns:minmax(0,1fr);
gap:5px;
align-content:start;
}
a.rec-item {
display:grid;
grid-template-columns:auto minmax(0,1fr);
grid-template-areas:
"img name"
"img blurb";
gap:1px 8px;
align-items:start;
padding:5px;
color:#cdc6b6;
text-decoration:none;
border:1px solid var(--line);
background:rgba(11,16,23,.55);
transition:border-color .15s,background .15s;
}
a.rec-item:hover, a.rec-item:focus-visible {
border-color:var(--blood);
background:rgba(60,20,26,.4);
color:#f0e8da;
}
.rec-item img {
grid-area:img;
width:52px;
height:74px;
object-fit:cover;
filter:saturate(.7) brightness(.88);
border:1px solid rgba(0,0,0,.6);
}
.rec-item [data-runtime="name"] {
grid-area:name;
font-family:var(--serif);
font-size:12.5px;
letter-spacing:.04em;
color:#e5ddcd;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.rec-item [data-runtime="blurb"] {
grid-area:blurb;
font-size:11px;
line-height:1.5;
color:#9d9686;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}
.site-footer {
position:relative;
z-index:1;
display:grid;
grid-template-columns:minmax(0,1fr);
gap:8px;
padding:12px 14px 22px;
border-top:1px solid var(--line);
background:linear-gradient(180deg,rgba(11,16,23,.6),rgba(5,8,12,.95));
color:#8f897b;
}
.footer-disclaimer {
font-size:11px;
line-height:1.65;
max-width:70ch;
color:#8a8476;
}
.footer-nav {
display:flex;
flex-wrap:wrap;
gap:14px;
}
.footer-nav a {
font-family:var(--mono);
font-size:11.5px;
letter-spacing:.1em;
padding-bottom:1px;
border-bottom:1px solid transparent;
}
a[data-contract="footer-home"] {color:#d8d2c4;text-decoration:none}
a[data-contract="footer-home"]:hover {color:var(--blood);border-bottom-color:var(--blood)}
a[data-contract="footer-sitemap"] {color:#9aa3ad;text-decoration:none}
a[data-contract="footer-sitemap"]:hover {color:#d8d2c4;border-bottom-color:var(--tape)}
.friend-links {
display:flex;
flex-wrap:wrap;
align-items:center;
gap:6px 10px;
padding-top:8px;
border-top:1px dashed var(--line);
}
.friend-links-label {
font-family:var(--mono);
font-size:10.5px;
letter-spacing:.2em;
color:var(--tape);
white-space:nowrap;
}
a.runtime-friend-link {
font-size:11px;
color:#7f8a95;
text-decoration:none;
white-space:nowrap;
border-bottom:1px dotted rgba(127,138,149,.4);
}
a.runtime-friend-link:hover {color:#e2a1a9;border-bottom-color:var(--blood)}
@media (min-width:600px){.page-main {gap:11px;padding:12px 16px 30px}
.detail-row {border-bottom-style:solid;border-bottom-color:rgba(216,210,196,.09)}}
@media (min-width:860px){.hero-reel {
grid-template-columns:minmax(0,2.1fr) minmax(0,.95fr);
grid-template-areas:
"tape sky"
"tape identity"
"player player";
gap:10px 16px;
padding:12px 14px 14px;
}
.hero-tape-visual {max-width:460px}
.cast-list {grid-template-columns:repeat(6,minmax(0,1fr))}
.detail-list {grid-template-columns:repeat(3,minmax(0,1fr))}
.episode-cards {grid-template-columns:repeat(3,minmax(0,1fr))}
.comment-notes {grid-template-columns:repeat(3,minmax(0,1fr))}
.rec-region {grid-template-columns:auto minmax(0,1fr);gap:10px}
.rec-column {grid-template-columns:repeat(2,minmax(0,1fr))}
.rec-item img {width:60px;height:86px}}
@media (min-width:1100px){.hero-reel {
grid-template-columns:minmax(0,2.35fr) minmax(0,.9fr);
grid-template-areas:
"tape sky"
"tape identity"
"player player";
}
.episode-cards {grid-template-columns:repeat(4,minmax(0,1fr))}
.comment-notes {grid-template-columns:repeat(3,minmax(0,1fr))}
.rec-column {grid-template-columns:repeat(3,minmax(0,1fr))}
.rec-item img {width:100%;height:96px}}
@media (max-width:859px){.hero-reel {
grid-template-columns:minmax(0,1fr);
grid-template-areas:
"tape"
"sky"
"identity"
"player";
}
.hero-tape-visual {max-width:340px}
.hero-skyline {min-height:92px}
.cast-list {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.site-header {flex-wrap:wrap;gap:6px;padding:6px 10px}
.site-brand {font-size:14px;letter-spacing:.1em}
a.runtime-category {font-size:10px;padding:2px 6px}
.page-main {gap:9px;padding:9px 9px 22px}
.hero-tape-visual {max-width:100%;padding:7px}
.hero-neon-mark {font-size:10px;letter-spacing:.2em}
.cast-list {grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-list {grid-template-columns:minmax(0,1fr)}
.detail-key {flex-basis:60px}
.episode-cards {grid-template-columns:minmax(0,1fr)}
.comment-notes {grid-template-columns:minmax(0,1fr)}
.comment-note {transform:none}
.rec-title {writing-mode:horizontal-tb;text-orientation:mixed;border-left:0;border-bottom:2px solid var(--neon);justify-self:stretch;padding:0 0 4px}
.rec-column {grid-template-columns:minmax(0,1fr)}
.rec-item img {width:56px;height:80px}}
@media (max-width:400px){.ctl {font-size:10px;padding:3px 5px}
.ctl-speed {min-width:36px}
.hero-tape-visual::before, .hero-tape-visual::after {left:14%;right:14%}}

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}
