*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 "Noto Sans CJK SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--accent)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
img{display:block;max-width:100%}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{line-height:1.45;text-wrap:pretty}
h1{font-size:clamp(1.85rem,3.2vw,3rem);font-weight:700}
h2{font-size:1.45rem}
h3{font-size:1.05rem}
.wrap{width:min(1140px,calc(100% - 3rem));margin-inline:auto}
.skip{position:fixed;top:-5rem;left:1rem;background:var(--card);padding:.6rem 1rem;z-index:20}
.skip:focus{top:1rem}
.mast{border-bottom:1px solid var(--rule);background:var(--card)}
.mast>.wrap{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{font-size:1.75rem;font-weight:800;letter-spacing:.02em;text-decoration:none}
.mast nav{display:flex;flex-wrap:wrap;gap:1.8rem}
.mast nav a{font-size:.9rem;text-decoration:none}
.mast nav a[aria-current=page]{border-bottom:2px solid var(--accent);color:var(--accent)}
.opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:3rem;padding:2.7rem 0 2rem}
.opening-copy,.featured,.copy{min-width:0}
.kicker,.section-number{font-size:.75rem;letter-spacing:.09em;color:var(--accent);font-weight:650;margin-bottom:.8rem}
.opening h1{font-family:"Noto Serif CJK SC","Songti SC",SimSun,serif;font-size:clamp(1.9rem,3.4vw,3.15rem);margin-bottom:1.3rem}
.opening h1>span{display:block;font-family:"Microsoft YaHei",sans-serif;font-size:.44em;font-weight:600;letter-spacing:.09em;color:var(--accent);margin-bottom:.8rem}
.deck{max-width:37rem;font-size:1.02rem;line-height:1.95;color:var(--muted)}
.opening-note{color:var(--muted);font-size:.81rem;margin:1.2rem 0 0;max-width:34rem}
.primary-link{display:inline-block;padding:.65rem 1rem;border:1px solid var(--accent);color:var(--accent);background:var(--wash);font-size:.88rem;text-decoration:none}
.primary-link span{margin-left:1rem}
.featured{border:1px solid var(--rule);background:var(--card);padding:1rem}
.featured>.kicker{font-size:.7rem;margin-bottom:.7rem}
.featured .card-link{display:block;text-decoration:none}
.feature-media{margin:0}
.feature-media img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--wash)}
.feature-media figcaption{font-size:.73rem;line-height:1.7;color:var(--muted);margin:.65rem 0 .85rem}
.featured h2{font-size:1.12rem;line-height:1.6;margin-bottom:.65rem}
.featured>.summary{font-size:.84rem;line-height:1.75;color:var(--muted);margin-bottom:0}
.start-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:2.8rem}
.start-links a{min-height:4.1rem;padding:.75rem 1rem;border:1px solid var(--rule);background:var(--wash);text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.start-links strong{font-size:.93rem}
.start-links span{font-size:.72rem;white-space:nowrap;color:var(--muted)}
.band{margin-block:2.5rem 3rem}
.index-section{border-top:1px solid var(--rule);padding-top:1.6rem}
.section-top{display:flex;align-items:end;justify-content:space-between;gap:1.5rem}
.section-top h2{font-size:1.42rem;max-width:48rem;margin-bottom:.6rem}
.section-top>a{flex-shrink:0;font-size:.81rem;margin-bottom:.7rem}
.section-number{font-size:.68rem;margin-bottom:.35rem}
.section-lead{font-size:.88rem;color:var(--muted);max-width:56rem;margin-bottom:1.4rem}
.entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.entry{min-width:0;border:1px solid var(--rule);background:var(--card);padding-bottom:.95rem}
.card-link{display:block;text-decoration:none}
.thumb{display:block;background:var(--wash);overflow:hidden}
.thumb img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.entry.portrait .thumb img{object-fit:contain}
.copy{padding:.9rem 1rem 0}
.meta{font-size:.72rem;color:var(--accent);line-height:1.6;margin-bottom:.4rem}
.entry h2,.entry h3{font-size:1.04rem;line-height:1.6;margin-bottom:0}
.entry .summary{font-size:.82rem;line-height:1.8;color:var(--muted);margin:.75rem 1rem 0}
.index-section .entries{grid-template-columns:repeat(2,minmax(0,1fr))}
.index-section .card-link{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:start}
.index-section .thumb img{aspect-ratio:4/3}
.index-section .copy{padding:.7rem .9rem 0}
.editor-note{margin-block:3rem;padding:1.6rem 2rem;background:var(--wash);border-left:3px solid var(--accent)}
.editor-note h2{font-size:1.25rem}
.editor-note p:not(.kicker){font-size:.92rem;line-height:1.9;max-width:55rem}
.editor-note>a{font-size:.83rem}
.faq{border-top:1px solid var(--rule);padding-top:1.8rem;max-width:60rem}
.faq h2{font-size:1.38rem}
.faq details{padding:1rem 0;border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;font-weight:600;font-size:.95rem}
.faq details p{font-size:.88rem;line-height:1.85;color:var(--muted);max-width:51rem;margin:1rem 0 .25rem}
.footer{margin-top:4rem;background:var(--wash);border-top:1px solid var(--rule);padding-block:2rem}
.footer-links{display:flex;flex-wrap:wrap;gap:.65rem 1.3rem;margin-bottom:1.2rem}
.footer-links a{font-size:.82rem}
.footer p{font-size:.76rem;color:var(--muted);margin-bottom:.35rem}
.page-head{max-width:57rem;padding-block:2.5rem 1.5rem}
.page-head h1{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:1rem}
.page-head>.lead{color:var(--muted);font-size:1rem}
.crumb{font-size:.79rem;color:var(--muted);line-height:1.85;margin-bottom:1.3rem;overflow-wrap:anywhere}
.crumb a{text-decoration:none}
.article-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:1rem 2.7rem;padding-block:2.3rem 1.6rem;border-bottom:1px solid var(--rule)}
.article-intro>.crumb{grid-column:1/-1;margin-bottom:.2rem}
.article-heading{min-width:0}
.article-heading h1{font-size:clamp(1.8rem,3vw,2.55rem);margin-bottom:1.2rem}
.article-heading .lead{font-size:1.02rem;line-height:1.9;color:var(--muted)}
.reading-note{font-size:.8rem;padding:.7rem .85rem;background:var(--wash);border-left:2px solid var(--accent);color:var(--muted)}
.article-media{margin:0;background:var(--wash);padding:.6rem;min-width:0}
.article-media img{width:100%;height:auto;max-height:510px;object-fit:contain}
.article-media figcaption{font-size:.75rem;line-height:1.75;color:var(--muted);margin:.7rem .2rem .2rem}
.reading{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:3rem;align-items:start;margin-top:2rem;max-width:68rem}
.toc{border-block:1px solid var(--rule);padding:1rem 0;font-size:.81rem}
.toc p{font-size:.75rem;color:var(--accent);margin-bottom:.5rem}
.toc ol{padding-left:1.3rem;margin:0}
.toc li+li{margin-top:.5rem}
.toc a{text-decoration:none}
.prose{max-width:46rem;min-width:0}
.prose section{margin-bottom:2.3rem}
.prose h2{font-size:1.35rem;line-height:1.6;margin-bottom:1rem}
.prose p{line-height:1.95;margin-bottom:1.15rem;overflow-wrap:anywhere}
.reading>.prose:only-child{grid-column:1/-1;max-width:47rem;margin-inline:auto}
.sources{margin-top:2.8rem;padding-top:1.4rem;border-top:1px solid var(--rule)}
.sources h2{font-size:1rem}
.sources ul{padding-left:1.3rem;font-size:.8rem;color:var(--muted)}
.sources li{margin-bottom:.55rem;overflow-wrap:anywhere}
.related{border-top:1px solid var(--rule);padding-top:1.8rem}
.related .entries{grid-template-columns:repeat(2,minmax(0,1fr));max-width:56rem}
.support-prose{max-width:50rem}
.map-group{margin-block:1.4rem 2rem}
.map-group h2{font-size:1.2rem}
.map-group ul{padding-left:1.35rem}
.map-group li{font-size:.92rem;margin-bottom:.65rem}


.work-facts{display:grid;gap:.4rem;margin:1.2rem 0 0;font-size:.8rem;color:var(--muted)}.work-facts>div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.6rem}.work-facts dt{font-weight:650}.work-facts dd{margin:0;overflow-wrap:anywhere}
.prose .article-steps,.prose .article-bullets{padding-left:1.45rem;line-height:1.95;margin:1rem 0 1.6rem}.article-steps li,.article-bullets li{padding-left:.25rem;margin-bottom:.65rem}.article-steps li::marker{color:var(--accent);font-weight:650}
.visual-smallbox .mast{background:#183a32;color:#f5fbef;border-bottom:4px solid #b6d87f}.visual-smallbox .mast a:hover,.visual-smallbox .mast nav a[aria-current=page]{color:#d7efb7}.visual-smallbox .mast nav a[aria-current=page]{border-color:#d7efb7}.visual-smallbox .brand{letter-spacing:.04em}.visual-smallbox .opening{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2.7rem}.visual-smallbox .opening h1{font-family:inherit}.visual-smallbox .opening-copy{border-top:4px solid var(--accent);padding-top:1.5rem}.visual-smallbox .featured{border:0;padding:1rem;background:#e2ebe2;box-shadow:.35rem .35rem 0 #bdcfbf}.visual-smallbox .feature-media img{aspect-ratio:auto;object-fit:contain;max-height:380px}.visual-smallbox .start-links a{border:0;border-bottom:3px solid var(--accent);border-radius:.4rem .4rem 0 0}.visual-smallbox .index-section .card-link{display:block}.visual-smallbox .index-section .entries{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-smallbox .thumb img{aspect-ratio:16/10;object-fit:contain}.visual-smallbox .entry{border-radius:.5rem;overflow:hidden;border-color:#cad8c8}.visual-smallbox .section-top h2{border-left:4px solid var(--accent);padding-left:.75rem}.visual-smallbox .article-media{background:#e2ebe2}.visual-smallbox .toc{padding:1rem;background:#e2ebe2}.visual-smallbox .footer{border-top:4px solid #183a32}
.visual-filmtheory .mast{border-top:5px solid var(--ink);border-bottom:1px solid var(--ink)}.visual-filmtheory .brand{font-family:"Noto Serif CJK SC",SimSun,serif;font-weight:700;letter-spacing:.15em}.visual-filmtheory .opening{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3rem;padding-top:2.6rem}.visual-filmtheory .opening h1{font-weight:600}.visual-filmtheory .featured{padding:1.2rem;background:#292b34;color:#fff7ed;border:0}.visual-filmtheory .featured .kicker,.visual-filmtheory .featured .summary,.visual-filmtheory .featured figcaption,.visual-filmtheory .featured .work-facts{color:#e5d8cc}.visual-filmtheory .featured a:hover{color:#ffc4a4}.visual-filmtheory .feature-media img{aspect-ratio:auto;object-fit:contain;max-height:380px}.visual-filmtheory .start-links a{background:transparent;border:0;border-top:2px solid var(--accent)}.visual-filmtheory .index-section .entries{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-filmtheory .index-section .card-link{display:block}.visual-filmtheory .entry{border:0;background:transparent;border-bottom:1px solid var(--rule)}.visual-filmtheory .thumb img{object-fit:contain;aspect-ratio:16/10;background:#eee4d8}.visual-filmtheory .entry.portrait .thumb img{aspect-ratio:3/4;object-fit:contain}.visual-filmtheory .section-top{border-bottom:2px solid var(--accent);margin-bottom:1rem}.visual-filmtheory .section-top h2{font-family:"Noto Serif CJK SC",SimSun,serif;font-weight:600}.visual-filmtheory .article-media{padding:0;background:transparent}.visual-filmtheory .prose h2{font-family:"Noto Serif CJK SC",SimSun,serif}.visual-filmtheory .editor-note{border-left:1px solid var(--accent);background:transparent}.visual-filmtheory .footer{border-top:3px double var(--ink)}
@media(max-width:900px){.mast>.wrap{gap:1rem}.mast nav{gap:1rem}.opening,.visual-smallbox .opening,.visual-filmtheory .opening{gap:1.8rem}.opening h1{font-size:2.05rem}.start-links{grid-template-columns:repeat(2,minmax(0,1fr))}.entries{gap:1rem}.article-intro{gap:1rem 1.8rem}.reading{grid-template-columns:11rem minmax(0,1fr);gap:1.8rem}}
@media(max-width:650px){.wrap{width:calc(100% - 2rem)}.mast>.wrap{display:block;min-height:0;padding-block:.95rem .8rem}.brand{font-size:1.5rem}.mast nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;margin-top:.7rem}.mast nav a{font-size:.76rem;line-height:1.85}.opening,.visual-smallbox .opening,.visual-filmtheory .opening{display:block;padding-block:1.7rem 1.4rem}.opening h1{font-size:1.8rem}.opening h1>span{font-size:.54em}.deck{font-size:.94rem}.opening-note{font-size:.78rem}.featured{margin-top:1.5rem}.featured h2{font-size:1.08rem}.featured>.summary{font-size:.83rem}.feature-media figcaption{font-size:.73rem}.start-links{gap:.55rem;margin-bottom:2rem}.start-links a{padding:.75rem .65rem;min-height:3.5rem}.start-links strong{font-size:.86rem}.start-links span{font-size:.7rem}.band{margin-block:1.8rem 2.5rem}.section-top{align-items:center;gap:.7rem}.section-top h2{font-size:1.2rem}.section-top>a{font-size:.72rem;max-width:5.7rem;margin-bottom:0}.section-lead{font-size:.85rem}.entries,.index-section .entries,.related .entries,.visual-smallbox .index-section .entries,.visual-filmtheory .index-section .entries{grid-template-columns:minmax(0,1fr)}.index-section .copy{padding:.9rem 1rem 0}.index-section .entry h3{font-size:1.06rem}.index-section .entry .summary{font-size:.85rem}.editor-note{padding:1.2rem;margin-block:2rem}.editor-note h2{font-size:1.2rem}.editor-note p:not(.kicker){font-size:.88rem}.faq h2{font-size:1.25rem}.faq summary{font-size:.92rem}.faq details p{font-size:.87rem}.footer{margin-top:2.6rem}.footer-links{gap:.65rem 1rem}.page-head{padding-top:1.7rem}.article-intro{display:block;padding-top:1.7rem}.article-heading h1{font-size:1.74rem}.article-heading .lead{font-size:.97rem}.article-media{margin-top:1.5rem}.reading{display:block;margin-top:1.5rem}.toc{margin-bottom:1.8rem;max-width:100%}.prose{width:100%;max-width:100%}.prose h2{font-size:1.24rem}.prose p{font-size:1rem}.article-media img{max-height:440px}.related h2{font-size:1.25rem}.visual-smallbox .opening-copy{padding-top:1rem}.visual-smallbox .featured{margin-right:.3rem}.visual-filmtheory .featured{padding:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.visual-smallbox{--wash:#e2ebe2;--rule:#bdcfbf;--muted:#53695e;--card:#ffffff}
.visual-filmtheory{--wash:#eee4d8;--rule:#d6c7ba;--muted:#6c605a;--card:#fffdf9}