/* 片单索引 · 冷白纸面 + 梅子色，排版型 */
:root{
  --bg:#f7f6f9;
  --bg2:#ffffff;
  --ink:#191420;
  --ink2:#625a6e;
  --hair:#ddd8e4;
  --plum:#7a2048;
  --plum-l:#ab4a74;
  --moss:#3c6150;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --num:"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;max-width:100%;overflow-x:hidden}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8}
.col{width:100%;max-width:1020px;margin:0 auto;padding:0 20px}

/* 顶部 */
.hd{padding:40px 0 0;border-bottom:3px double var(--ink)}
.eyebrow{margin:0;font-size:11.5px;letter-spacing:.3em;color:var(--plum);text-transform:uppercase;font-family:var(--num)}
h1{
  margin:12px 0 10px;font-size:clamp(26px,7.2vw,52px);line-height:1.22;font-weight:800;letter-spacing:-.01em;
}
h1 .b{display:block}
h1 .s{display:block;font-size:clamp(13px,3.2vw,18px);font-weight:400;color:var(--ink2);margin-top:9px;letter-spacing:0}
.hd .meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 16px;padding:0;list-style:none;font-size:12.5px;color:var(--ink2);font-family:var(--num)}
.hd .meta li{white-space:nowrap}

.statement{
  margin:26px 0 0;padding:16px 18px;background:var(--bg2);border:1px solid var(--hair);
  border-top:4px solid var(--plum);font-size:14.5px;color:#443b50
}
.statement em{font-style:normal;color:var(--plum);font-weight:700}

nav.anchors{margin:26px 0 38px}
nav.anchors ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
@media(min-width:720px){nav.anchors ol{grid-template-columns:repeat(4,1fr)}}
nav.anchors a{display:block;background:var(--bg2);padding:11px 13px;text-decoration:none;color:var(--ink);font-size:13.5px}
nav.anchors a span{display:block;font-family:var(--num);font-size:10.5px;color:var(--plum);letter-spacing:.14em}
nav.anchors a:hover{background:#fbf5f8}

section{margin:0 0 54px}
h2{font-size:clamp(19px,4.8vw,28px);margin:0 0 8px;font-weight:800;letter-spacing:-.01em}
h2::after{content:"";display:block;width:54px;height:3px;background:var(--plum);margin-top:8px}
h3{font-size:16.5px;margin:26px 0 8px;color:var(--plum)}
.sub{color:var(--ink2);font-size:14.5px;margin:12px 0 22px}
p{margin:0 0 14px}

/* 筛选栏 */
.filters{display:grid;grid-template-columns:1fr;gap:14px;background:var(--bg2);border:1px solid var(--hair);padding:16px;margin:0 0 20px}
@media(min-width:640px){.filters{grid-template-columns:1fr 1fr 1fr}}
label{display:block;font-family:var(--num);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin:0 0 5px}
select{width:100%;padding:9px 10px;font-size:15px;border:1px solid var(--hair);background:#fff;color:var(--ink);border-radius:0;font-family:inherit}
select:focus{outline:2px solid var(--plum-l);outline-offset:0}
.filters .act{display:flex;align-items:flex-end;gap:10px;grid-column:1/-1}
button{
  font-family:inherit;font-size:14px;padding:9px 16px;border:1px solid var(--ink);background:var(--ink);
  color:#fff;cursor:pointer;border-radius:0
}
button.alt{background:#fff;color:var(--ink)}
button:hover{background:var(--plum);border-color:var(--plum);color:#fff}

#f-count{font-family:var(--num);font-size:13px;letter-spacing:.08em;color:var(--plum);margin:0 0 4px;text-transform:uppercase}

/* 片目 */
.films{margin:0;padding:0;list-style:none;border-top:1px solid var(--hair)}
.film{display:grid;grid-template-columns:62px 1fr;gap:0 16px;padding:18px 0;border-bottom:1px solid var(--hair);align-items:start}
@media(min-width:760px){.film{grid-template-columns:86px 1fr 128px}}
.film .yr{font-family:var(--num);font-size:clamp(19px,5vw,26px);font-weight:700;color:var(--plum);line-height:1.1;padding-top:2px}
.film .bd h4{margin:0 0 2px;font-size:17.5px;font-weight:700}
.film .bd .dir{margin:0 0 7px;font-size:13.5px;color:var(--ink2)}
.film .bd p.d{margin:0;font-size:14.5px;color:#3d3547}
.film .tags{margin:9px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.film .tags li{font-size:11.5px;padding:2px 8px;border:1px solid var(--hair);color:var(--ink2);background:var(--bg2)}
.film .rg{font-family:var(--num);font-size:11.5px;letter-spacing:.1em;color:var(--moss);text-transform:uppercase;padding-top:6px}
@media(max-width:759px){.film .rg{grid-column:2;padding-top:9px}}
.empty{padding:28px 0;color:var(--ink2);font-size:15px}

/* 纯文本片单 */
.plainout{margin:24px 0 0}
.plainout pre{
  margin:0;background:var(--ink);color:#efe8f3;padding:16px;font-size:13px;line-height:1.85;
  overflow-x:auto;white-space:pre;font-family:ui-monospace,Menlo,Consolas,monospace
}

/* 评述 */
.essay p{font-size:15.5px}
.essay blockquote{margin:18px 0;padding:2px 0 2px 18px;border-left:3px solid var(--plum-l);color:var(--ink2);font-size:15px}

.sourcelist{list-style:none;margin:0;padding:0}
.sourcelist li{padding:11px 0;border-bottom:1px solid var(--hair);font-size:14.5px}
.sourcelist li:last-child{border-bottom:0}
.sourcelist b{color:var(--plum)}

footer{border-top:3px double var(--ink);padding:22px 0 50px;font-size:13.5px;color:var(--ink2)}
footer p{margin:0 0 8px}

.nf{padding:64px 0 96px}
.nf .n{font-family:var(--num);font-size:clamp(60px,20vw,140px);font-weight:800;color:#e7e1ee;line-height:1;margin:0}
.nf a.home{display:inline-block;margin-top:18px;padding:10px 18px;background:var(--plum);color:#fff;text-decoration:none;font-size:15px}

/* 防溢出兜底：长串与网格子项 */
body{overflow-wrap:break-word}
h1,h2,h3,h4,p,li,td,th,dd,dt,span,pre,code{overflow-wrap:break-word}
[class]>*{min-width:0}
