:root{
  --bk:#0a0a0c;
  --bk2:#121216;
  --bk3:#17171d;
  --line:#2a2a33;
  --tx:#e8e4dc;
  --tx2:#9b958a;
  --gold:#d8a24a;
  --red:#a8453f;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --disp:"Songti SC","Noto Serif CJK SC",Georgia,serif;
  --num:"SFMono-Regular",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bk);
  color:var(--tx);
  font-family:var(--sans);
  line-height:1.8;
  -webkit-text-size-adjust:100%;
  overflow-wrap:anywhere;
}
.box{max-width:1020px;margin:0 auto;padding:0 18px}

.bar{background:#07070a;border-bottom:1px solid var(--line)}
.bar-in{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:56px;padding-top:8px;padding-bottom:8px}
.sig{display:inline-flex;align-items:center;gap:9px;color:var(--gold);text-decoration:none;font-family:var(--disp);letter-spacing:.14em;font-size:.96rem}
.sig svg{width:38px;height:28px}
.bar nav{display:flex;gap:16px;flex-wrap:wrap;margin-left:auto}
.bar nav a{color:var(--tx2);text-decoration:none;font-size:.86rem}
.bar nav a:hover,.bar nav a:focus-visible{color:var(--gold)}

.lead{padding:44px 0 30px;border-bottom:1px solid var(--line);background:radial-gradient(120% 90% at 10% 0%,#1a1419 0%,#0a0a0c 62%)}
h1{margin:0 0 16px;display:flex;flex-direction:column;gap:7px;line-height:1.18}
h1 .kw{font-family:var(--disp);font-size:clamp(1.9rem,9vw,3.6rem);font-weight:700;color:#fff;letter-spacing:.02em}
h1 .sub{font-size:clamp(.85rem,2.8vw,1.05rem);font-weight:400;color:var(--gold);letter-spacing:.3em}
.deck{margin:0 0 20px;max-width:58ch;color:var(--tx2)}
.plain{border:1px solid var(--line);border-left:3px solid var(--red);padding:13px 16px;background:#101014}
.plain p{margin:0 0 6px;font-size:.88rem;color:var(--tx2)}
.plain p:last-child{margin-bottom:0}
.plain strong{color:var(--gold);font-weight:600}

.part{padding:36px 0;border-bottom:1px solid var(--line)}
.part.dim{background:#0d0d11}
h2{margin:0 0 9px;font-family:var(--disp);font-size:clamp(1.2rem,4.4vw,1.75rem);color:#fff}
.say{margin:0 0 20px;font-size:.89rem;color:var(--tx2);max-width:64ch}

.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:var(--bk2);border:1px solid var(--line);padding:14px;border-radius:4px}
.fcell{display:flex;flex-direction:column;gap:4px;min-width:150px}
.fcell.grow{flex:1 1 200px}
.fcell label{font-size:.76rem;color:var(--tx2);letter-spacing:.08em}
select,input[type=search]{
  width:100%;font:inherit;font-size:.92rem;padding:8px 10px;
  background:#08080b;color:var(--tx);border:1px solid var(--line);border-radius:3px;
}
select:focus,input:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.reset{
  font:inherit;font-size:.86rem;cursor:pointer;color:var(--tx2);
  background:transparent;border:1px solid var(--line);border-radius:3px;padding:8px 16px;
}
.reset:hover{color:var(--gold);border-color:var(--gold)}

.tally{margin:16px 0 14px;font-size:.84rem;color:var(--gold)}

.rail{list-style:none;margin:0;padding:0 0 0 2px;position:relative}
.rail::before{content:"";position:absolute;left:54px;top:4px;bottom:4px;width:1px;background:var(--line)}
@media(max-width:560px){.rail::before{display:none}}
.item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:0 20px;padding:0 0 18px;position:relative}
@media(max-width:560px){.item{grid-template-columns:1fr;gap:2px}}
.yr{font-family:var(--num);font-size:.92rem;color:var(--gold);padding-top:2px}
.item .body{position:relative}
.item .body::before{content:"";position:absolute;left:-23px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--red)}
@media(max-width:560px){.item .body::before{display:none}}
.ti{margin:0;font-family:var(--disp);font-size:1.06rem;color:#fff}
.en{margin:0;font-size:.78rem;color:#6f6a62;font-family:var(--num)}
.tags{margin:5px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.tg{font-size:.73rem;padding:1px 8px;border-radius:3px;border:1px solid var(--line);color:var(--tx2)}
.tg-actor{color:var(--gold);border-color:#54421f}
.tg-director{color:#e39c96;border-color:#54282a}
.tg-other{color:#9fb0c4;border-color:#2c3946}
.tg-role{color:var(--tx)}
.tg-src{color:#6f6a62}
.nt{margin:6px 0 0;font-size:.83rem;color:var(--tx2)}
.nohit{color:var(--tx2);font-size:.9rem;border:1px dashed var(--line);padding:14px;border-radius:4px}

.awards{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media(min-width:720px){.awards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.awards li{border:1px solid var(--line);border-radius:4px;padding:12px 14px;background:var(--bk3)}
.awards li.won{border-left:3px solid var(--gold)}
.awards li.nom{border-left:3px solid #3c3c46}
.ah{margin:0 0 4px;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.ay{font-family:var(--num);font-size:.85rem;color:var(--gold)}
.at{font-size:.95rem;color:#fff}
.aw-flag{font-size:.72rem;border:1px solid var(--line);border-radius:3px;padding:0 7px;color:var(--tx2)}
.won .aw-flag{color:var(--gold);border-color:#54421f}
.af{margin:0;font-size:.83rem;color:var(--tx2)}

.facts{display:grid;gap:12px}
@media(min-width:760px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fact{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;border-bottom:1px dashed var(--line);padding-bottom:11px}
.fy{font-family:var(--num);font-size:.85rem;color:var(--gold);white-space:nowrap;padding-top:3px}
.fact p{margin:0;font-size:.87rem;color:var(--tx2)}

.essay p{margin:0 0 14px;max-width:62ch;color:var(--tx);font-size:.94rem}
.essay p:last-child{margin-bottom:0}

.origin{display:grid;gap:15px}
@media(min-width:720px){.origin{grid-template-columns:repeat(2,minmax(0,1fr))}}
.origin h3{margin:0 0 5px;font-size:.97rem;color:var(--gold);font-family:var(--disp)}
.origin p{margin:0;font-size:.86rem;color:var(--tx2)}

.end{padding:24px 0 36px;background:#07070a}
.end p{margin:0 0 5px;font-size:.84rem;color:var(--tx2)}
.end .tiny{font-size:.79rem;color:#5f5a53}
