*{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}
/* Each journal keeps one visual system across its homepage, columns and reading pages. */
.layout-contactsheet .mast{border-top:4px solid var(--accent)}
.layout-contactsheet .brand{font-family:"Noto Serif CJK SC",SimSun,serif}
.layout-contactsheet .opening{border-bottom:3px double var(--rule);margin-bottom:1.5rem}
.layout-contactsheet .featured{box-shadow:.35rem .35rem 0 var(--wash)}
.layout-contactsheet .index-section .section-number{border-left:2px solid var(--accent);padding-left:.7rem}
.layout-contactsheet .article-heading h1{font-family:"Noto Serif CJK SC",SimSun,serif}
.layout-footlights .opening{background:#553d29;color:#fff1e4;padding:2rem;margin-top:2rem;margin-bottom:1.2rem;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.layout-footlights .opening .kicker,.layout-footlights .opening h1>span{color:#f2d19e}
.layout-footlights .opening .deck,.layout-footlights .opening-note{color:#f3e6d3}
.layout-footlights .opening .primary-link{background:#efcf9a;color:#44311e;border-color:#efcf9a}
.layout-footlights .featured{background:#65482e;border-color:#8b6a49}
.layout-footlights .featured .card-link:hover,.layout-footlights .featured .card-link:focus-visible{color:#ffdfb4}
.layout-footlights .featured .kicker,.layout-footlights .featured .summary,.layout-footlights .feature-media figcaption{color:#f1ddc1}
.layout-footlights .start-links a{border-radius:.6rem}
.layout-footlights .section-top h2{font-family:"Noto Serif CJK SC",SimSun,serif}
.layout-footlights .article-media{padding:.75rem;border-radius:.4rem}
.layout-studio .mast{background:#dcece2}
.layout-studio .opening{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.layout-studio .featured{border-radius:1.6rem 1.6rem 1.6rem .2rem;background:#fffef7}
.layout-studio .featured .feature-media img{border-radius:.8rem}
.layout-studio .start-links a{border-radius:.75rem .75rem .75rem .15rem}
.layout-studio .entry{border-radius:.8rem .8rem .8rem .15rem;overflow:hidden}
.layout-studio .section-top h2{border-left:3px solid var(--accent);padding-left:.7rem}
.layout-studio .editor-note{border-radius:.3rem 1.1rem 1.1rem .3rem}
.layout-editdesk .mast{border-bottom:3px solid #525fa0}
.layout-editdesk .opening{display:block;position:relative;padding-block:2.4rem}
.layout-editdesk .opening-copy{max-width:49rem}
.layout-editdesk .opening h1{font-family:"Microsoft YaHei",sans-serif;font-size:2.65rem}
.layout-editdesk .opening h1 br{display:none}
.layout-editdesk .opening .deck{max-width:49rem}
.layout-editdesk .opening .featured{margin-top:1.7rem;display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1rem 1.8rem;padding:1.2rem}
.layout-editdesk .featured>.kicker{grid-column:1;align-self:start;margin-top:.2rem}
.layout-editdesk .featured>.card-link{grid-column:2;display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.2rem;align-items:center}
.layout-editdesk .feature-media figcaption{display:none}
.layout-editdesk .featured .summary{grid-column:2;margin:0}
.layout-editdesk .start-links{border-block:1px solid var(--rule);gap:0}
.layout-editdesk .start-links a{border-block:0;border-left:0}
.layout-editdesk .start-links a:last-child{border-right:0}
.layout-editdesk .section-number{font-variant-numeric:tabular-nums}
.layout-cinema .mast{background:#312a27;border-top:3px solid #efa98d}
.layout-cinema .brand{color:#efa98d}
.layout-cinema .opening{padding:2rem;margin-top:2rem;border:1px solid #6b5650;background:linear-gradient(115deg,#382e29,#252323);margin-bottom:1.5rem}
.layout-cinema .opening h1{font-family:"Microsoft YaHei",sans-serif}
.layout-cinema .featured{border-color:#6b5650;box-shadow:.35rem .35rem 0 #191616}
.layout-cinema .start-links a{border-left:3px solid #c58a75}
.layout-cinema .section-number{display:inline-block;border:1px solid #8c6f5d;padding:.16rem .5rem}
.layout-cinema .prose{color:#f1ece8}
@media(max-width:900px){.mast nav{gap:1.1rem}.opening{gap:2rem}.opening h1{font-size:2.1rem}.start-links{grid-template-columns:repeat(2,minmax(0,1fr))}.index-section .card-link{grid-template-columns:110px minmax(0,1fr)}.index-section .copy{padding:.55rem .75rem 0}.entries{gap:1rem}.article-intro{gap:1rem 1.8rem}.reading{grid-template-columns:11rem minmax(0,1fr);gap:1.8rem}.layout-editdesk .opening .featured{grid-template-columns:7rem minmax(0,1fr)}.layout-editdesk .featured>.card-link{grid-template-columns:160px minmax(0,1fr)}.layout-editdesk .featured .summary{margin:0}}
@media(max-width:650px){.wrap{width:calc(100% - 2rem)}.mast>.wrap{display:block;min-height:0;padding-block:.95rem .8rem}.brand{font-size:1.48rem}.mast nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;margin-top:.65rem}.mast nav a{font-size:.76rem;line-height:1.85}.opening{display:block;padding-block:1.7rem 1.4rem}.opening h1{font-size:1.82rem}.opening h1>span{font-size:.52em}.deck{font-size:.94rem}.opening-note{font-size:.77rem}.featured{margin-top:1.6rem}.featured h2{font-size:1.08rem}.featured .summary{font-size:.82rem}.feature-media figcaption{font-size:.72rem}.start-links{gap:.55rem;margin-bottom:2rem}.start-links a{padding:.75rem .65rem;min-height:3.5rem}.start-links strong{font-size:.85rem}.start-links span{font-size:.68rem}.band{margin-block:1.8rem 2.5rem}.section-top{align-items:center;gap:.7rem}.section-top h2{font-size:1.18rem}.section-top>a{font-size:.7rem;max-width:5.7rem;margin-bottom:0}.section-number{font-size:.66rem}.section-lead{font-size:.84rem}.entries,.index-section .entries,.related .entries{grid-template-columns:minmax(0,1fr)}.index-section .card-link{grid-template-columns:112px minmax(0,1fr)}.index-section .entry h3{font-size:1rem}.index-section .entry .summary{font-size:.82rem}.editor-note{padding:1.2rem;margin-block:2rem}.editor-note h2{font-size:1.18rem}.editor-note p:not(.kicker){font-size:.87rem}.faq h2{font-size:1.25rem}.faq summary{font-size:.9rem}.faq details p{font-size:.85rem}.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.72rem}.article-heading .lead{font-size:.96rem}.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.23rem}.prose p{font-size:.98rem}.article-media img{max-height:440px}.related h2{font-size:1.25rem}.layout-footlights .opening,.layout-cinema .opening{display:block;padding:1.2rem;margin-top:1.3rem}.layout-studio .opening{display:block}.layout-editdesk .opening{padding-block:1.7rem}.layout-editdesk .opening h1{font-size:1.82rem}.layout-editdesk .opening h1 br{display:initial}.layout-editdesk .opening .featured{display:block;margin-top:1.5rem;padding:1rem}.layout-editdesk .featured>.card-link{display:block}.layout-editdesk .featured .summary{margin:.7rem 0 0}.layout-editdesk .feature-media figcaption{display:block}.layout-editdesk .start-links a{border:1px solid var(--rule)}.layout-editdesk .start-links a:last-child{border-right:1px solid var(--rule)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Contact sheets give photographs room; creator cards keep practical steps close. */
.layout-contactsheet .opening{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}
.layout-contactsheet .featured{box-shadow:none;border:0;padding:0;background:transparent}
.layout-contactsheet .opening h1{font-family:Georgia,"Noto Serif CJK SC",SimSun,serif}
.layout-contactsheet .entries{grid-template-columns:repeat(3,minmax(0,1fr))}
.layout-contactsheet .index-section .card-link{display:block}
.layout-contactsheet .index-section .thumb{width:100%;aspect-ratio:4/3}
.layout-contactsheet .index-section .thumb img{aspect-ratio:4/3}
.layout-contactsheet .index-section .copy{padding:.9rem .9rem 0}
.layout-contactsheet .start-links a{border:0;border-top:2px solid var(--accent);background:transparent}
.layout-studio .opening h1,.layout-studio .brand{font-family:"Microsoft YaHei",sans-serif}
.layout-studio .featured,.layout-studio .entry{border-radius:.4rem}
.layout-studio .section-number{font-variant-numeric:tabular-nums}
.layout-studio .featured .feature-media img{border-radius:.2rem}
.layout-footlights .brand{font-family:"Noto Serif CJK SC",SimSun,serif}
.layout-footlights .index-section{border-top:3px double var(--rule)}
.layout-editdesk .opening{padding-top:3rem}
.layout-editdesk .opening h1{max-width:40rem}
.layout-cinema .entry.portrait .thumb img{object-fit:contain;background:#1c1918}
.layout-cinema .feature-media img{object-fit:contain;max-height:410px;background:#1c1918}
@media(max-width:900px){.layout-contactsheet .entries{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.layout-contactsheet .opening{display:block}.layout-contactsheet .entries{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.layout-contactsheet .index-section .copy{padding:.6rem .65rem 0}.layout-contactsheet .index-section .entry h3{font-size:.88rem}.layout-contactsheet .entry>.summary{font-size:.76rem;padding:.3rem .65rem .65rem}.layout-contactsheet .index-section .entry .summary{font-size:.76rem}.layout-footlights .opening h1{font-size:1.82rem}.layout-studio .brand{font-size:1.3rem}.layout-editdesk .opening{padding-top:1.7rem}}

.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:4.5rem minmax(0,1fr);gap:.6rem}.work-facts dt{font-weight:650}.work-facts dd{margin:0;overflow-wrap:anywhere}

.layout-cinema .index-section .card-link{grid-template-columns:105px minmax(0,1fr)}.layout-cinema .entry.portrait .thumb img{aspect-ratio:2/3;background:#1c1918}.layout-cinema .feature-media img{aspect-ratio:4/3}.layout-cinema .index-section .copy{padding:.85rem .9rem 0}
@media(max-width:650px){.layout-cinema .index-section .card-link{grid-template-columns:100px minmax(0,1fr)}.layout-cinema .index-section .entry h3{font-size:.98rem}}

.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-douyin91{--wash:#dcece2;--rule:#cac8c1;--muted:#62696b;--card:#fffdf8}
.visual-kuaibo{--wash:#38312d;--rule:#675a54;--muted:#c9bdb6;--card:#332e2b}
.visual-photodaily{--wash:#e9e8e0;--rule:#cac8c1;--muted:#62696b;--card:#fffdf8}
.visual-stage51{--wash:#f0e1c5;--rule:#cac8c1;--muted:#62696b;--card:#fffdf8}
.visual-showdaily{--wash:#e4e7f2;--rule:#cac8c1;--muted:#62696b;--card:#fffdf8}