
:root{--paper:#f8f7f2;--ink:#262d2b;--muted:#6b746f;--line:#d8ddd6;--accent:#276b66;--soft:#edf2ed;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--accent)}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.skip{position:fixed;top:-70px;background:white;padding:12px;z-index:5}.skip:focus{top:10px}.top,.bottom{max-width:1130px;margin:auto;padding:25px 30px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.top{border-bottom:1px solid var(--line)}.top a,.bottom a{text-decoration:none}.hero{max-width:990px;margin:auto;padding:56px 30px 35px}.eyebrow{color:var(--accent);font-size:11px;letter-spacing:.15em;margin:0 0 23px}h1{font-family:"Songti SC",STSong,serif;font-size:clamp(31px,3.7vw,46px);font-weight:600;line-height:1.42;letter-spacing:-.03em;margin:0 0 25px;text-wrap:balance}h1>span{display:block}h1 .title-group{display:inline-block;white-space:nowrap}.dek{font-size:18px;line-height:1.85;color:#58635d;max-width:730px;margin:0}.meta{display:flex;gap:20px;font-size:12px;color:var(--muted);margin-top:27px;flex-wrap:wrap}.contents{position:sticky;top:var(--site-header-height,64px);z-index:2;border-block:1px solid var(--line);background:var(--paper)}.contents nav{max-width:990px;margin:auto;display:flex;gap:30px;overflow:auto;padding:0 30px;scrollbar-width:none}.contents a{padding:15px 0;white-space:nowrap;font-size:12px;text-decoration:none}.contents a span{color:var(--muted);font-size:10px;margin-right:7px}.prose{max-width:790px;margin:auto;padding:33px 30px 50px;font-size:18px;line-height:1.97;overflow-wrap:anywhere}.prose p{margin:0 0 22px}.opening p:first-child{font-size:20px;line-height:1.9}.section{margin-top:48px;padding-top:25px;border-top:1px solid var(--line);scroll-margin-top:67px}.section h2{font-size:25px;line-height:1.5;letter-spacing:-.02em;margin:0 0 24px}.section h2 span{display:block;color:var(--accent);font-size:11px;font-weight:500;letter-spacing:.12em;margin-bottom:11px}strong{font-weight:600}.ref{font-size:10px;line-height:0;padding-left:4px}.ref a{color:var(--accent);text-decoration:none}.figure{margin:33px -65px}.figure .caption{color:var(--muted);font-size:12px;line-height:1.8;margin:12px 4px 0}.figure-bar{display:flex;justify-content:space-between;gap:20px;color:var(--accent);font-size:11px;line-height:1.7;padding:0 4px 12px}.figure-button{display:block;width:100%;border:0;background:none;padding:0}.figure-button img{display:block;width:100%;height:auto}.film{margin:32px -65px 38px}.film .film-row{margin-bottom:12px}.film-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);line-height:1.8;margin-bottom:6px}.film img{border-radius:2px}.note{border-left:2px solid var(--accent);margin:29px 0;padding:3px 0 3px 20px;font-size:15px;line-height:1.9;color:#596860}.table-wrap{margin:29px 0 30px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:14px;line-height:1.8}caption{text-align:left;font-size:12px;color:var(--accent);margin:0 0 14px}th,td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th{font-size:12px;color:var(--muted);font-weight:500;border-top:1px solid var(--line)}th:first-child,td:first-child{text-align:left}tbody tr:last-child{color:var(--accent);font-weight:600;background:var(--soft)}.shot-workbench{margin:30px 0}.shot-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);overflow:auto}.shot-tabs button{white-space:nowrap;flex-shrink:0;background:none;border:0;border-bottom:2px solid transparent;padding:11px 0;font-size:13px;color:var(--muted)}.shot-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.shot-panel{padding-top:23px}.shot-panel h3{font-size:20px;font-weight:500;margin:0 0 19px}.shot-panel dl{margin:0;display:grid;grid-template-columns:85px 1fr;gap:13px 18px;font-size:15px;line-height:1.9}.shot-panel dt{color:var(--accent);font-size:12px;padding-top:2px}.shot-panel dd{margin:0}.conclusion{border-top:2px solid var(--accent)}.sources{border-top:1px solid var(--line);margin-top:55px;padding-top:27px;color:var(--muted);font-size:12px;line-height:1.85}.sources h2{font-size:16px;color:var(--ink)}.sources ol{padding-left:21px}.sources li{padding-left:5px;margin:0 0 18px;scroll-margin-top:70px}.sources small{display:block;font-size:11px;margin-top:5px}.sources a{color:var(--accent)}.bottom{border-top:1px solid var(--line);padding-bottom:40px}dialog{border:1px solid var(--line);padding:17px;background:var(--paper);width:min(1150px,94vw);max-height:93vh;color:var(--ink)}dialog::backdrop{background:rgba(20,29,25,.68)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;margin-bottom:16px}.dialog-head p{margin:0}.dialog-head button{font-size:13px;border:1px solid var(--line);background:white;padding:8px 15px;white-space:nowrap}.large-stage{overflow:auto;max-height:78vh}.large-stage img{display:block;min-width:740px;width:100%;height:auto}.zoom-hint{font-size:11px;color:var(--muted);margin:12px 0 0}
@media(max-width:970px){.figure,.film{margin-left:-20px;margin-right:-20px}}@media(max-width:760px){.figure,.film{margin-left:0;margin-right:0}.hero{padding-top:37px}}@media(max-width:600px){.top,.bottom{padding:21px 22px;font-size:11px}.top span{display:none}.hero{padding:32px 22px 29px}h1{font-size:31px;line-height:1.5;margin-bottom:20px}.eyebrow{font-size:10px;margin-bottom:18px}.dek{font-size:17px;line-height:1.85}.meta{font-size:11px;gap:12px;margin-top:22px}.contents nav{padding:0 22px;gap:23px}.contents a{font-size:11px;padding:13px 0}.prose{padding:27px 22px 35px;font-size:17px;line-height:1.98}.opening p:first-child{font-size:18px}.section{margin-top:37px;padding-top:24px}.section h2{font-size:23px;line-height:1.6}.section h2 span{font-size:10px}.film{margin:26px -5px 32px}.film-label{font-size:10px}.figure{margin:28px -7px}.figure .caption{font-size:11px;padding:0 4px}.figure-bar{font-size:10px}.note{font-size:14px;padding-left:15px}table{font-size:12px}th{font-size:10px}th,td{padding:12px 7px}caption{font-size:11px}.shot-tabs{gap:19px}.shot-tabs button{font-size:12px}.shot-panel dl{grid-template-columns:56px 1fr;gap:13px;font-size:14px}.shot-panel h3{font-size:18px}.shot-panel dt{font-size:11px}.sources{font-size:11px}.sources small{font-size:10px}dialog{padding:10px;width:calc(100vw - 12px)}.dialog-head{font-size:11px;align-items:flex-start}.dialog-head button{font-size:11px;padding:7px 11px}.bottom span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.top,.contents,.bottom,.skip,.shot-tabs,dialog{display:none!important}.shot-panel[hidden]{display:block!important}.hero{padding-top:0}.prose{max-width:none;font-size:12pt}.figure,.film{break-inside:avoid;margin-inline:0}.figure-bar{display:none}.section{break-before:auto}.table-wrap{overflow:visible}}

:root[data-theme="dark"] .dek{color:var(--site-ink,#ededed)}
:root[data-theme="dark"] .note{color:var(--site-ink,#ededed)}
