:root{--ink:#161714;--paper:#f3f0e9;--accent:#d9572b;--line:rgba(22,23,20,.2);--muted:#77746c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}[hidden]{display:none!important}
.site-header{position:absolute;top:0;left:0;z-index:20;display:flex;width:100%;align-items:center;justify-content:space-between;padding:30px 4vw;color:#fff}.brand{display:flex;align-items:baseline;gap:14px}.brand-cn{font-family:"Songti SC","STSong",serif;font-size:30px;font-weight:700;letter-spacing:.16em}.brand-en,.eyebrow,.section-index,.admin-kicker{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.16em}.site-header nav{display:flex;gap:36px;font-size:13px}.site-header nav a{position:relative;padding:6px 0}.site-header nav a:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:currentColor;content:"";transform:scaleX(0);transform-origin:right;transition:transform .3s}.site-header nav a:hover:after{transform:scaleX(1);transform-origin:left}.menu-button{display:none}
.hero{position:relative;min-height:100svh;overflow:hidden;color:#fff;background:#333}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:hero-reveal 1.4s cubic-bezier(.2,.7,.2,1) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(15,18,13,.7),rgba(15,18,13,.13) 58%,rgba(15,18,13,.28))}.hero-content{position:absolute;left:8.5vw;top:49%;transform:translateY(-50%)}.eyebrow{margin:0 0 24px;opacity:.75}.hero h1{margin:0;font-family:"Songti SC","STSong",serif;font-size:clamp(48px,7vw,108px);font-weight:500;line-height:1.16;letter-spacing:.04em}.hero-meta{position:absolute;right:4vw;bottom:40px;display:flex;flex-direction:column;gap:5px;align-items:flex-end;font-size:11px;letter-spacing:.08em}.scroll-cue{position:absolute;left:4vw;bottom:35px;display:flex;gap:14px;align-items:center;font:9px ui-monospace,monospace;letter-spacing:.14em}.scroll-cue i{position:relative;display:block;width:52px;height:1px;overflow:hidden;background:rgba(255,255,255,.45)}.scroll-cue i:after{position:absolute;inset:0;background:#fff;content:"";animation:scroll-line 2s ease-in-out infinite}
.manifesto{display:grid;grid-template-columns:1fr 3fr;gap:4vw;padding:130px 8.5vw 150px}.section-index{margin:10px 0 0;color:#6d6b63;text-transform:uppercase}.manifesto-lead{max-width:900px;margin:0;font-family:"Songti SC","STSong",serif;font-size:clamp(30px,4.2vw,64px);line-height:1.48;letter-spacing:.025em}.stats{display:flex;gap:55px;margin-top:70px;color:#6d6b63;font-size:12px}.stats span{display:flex;align-items:baseline;gap:10px}.stats strong{color:var(--ink);font-size:24px;font-weight:400}
.archive{padding:0 4vw 150px}.archive-heading{display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line);padding-top:35px}.archive h2{margin:20px 0 0;font-family:"Songti SC","STSong",serif;font-size:clamp(54px,7vw,100px);font-weight:500;letter-spacing:.04em}.view-switch{display:flex;gap:5px;padding-bottom:14px}.view-switch button{border:1px solid var(--line);border-radius:999px;padding:11px 22px;color:#595951;background:transparent;cursor:pointer}.view-switch button.active,.view-switch button:hover{border-color:var(--ink);color:var(--paper);background:var(--ink)}.filters{display:flex;gap:28px;margin:45px 0 65px;padding-bottom:16px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filters button{position:relative;flex:0 0 auto;border:0;padding:0 0 7px;color:#8b887e;background:none;cursor:pointer;font-size:13px}.filters button.active{color:var(--ink)}.filters button.active:after{position:absolute;right:0;bottom:-17px;left:0;height:2px;background:var(--accent);content:""}.example-note{margin:-43px 0 45px;color:#827f75;font-size:11px;letter-spacing:.04em}
.photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:2.2vw;row-gap:7vw;align-items:start}.photo-card{grid-column:span 5;display:block;border:0;padding:0;text-align:left;background:transparent;cursor:zoom-in}.photo-card:nth-child(4n+2),.photo-card:nth-child(4n+3){grid-column:7/span 6}.photo-card:nth-child(3n){margin-top:5vw}.photo-card[hidden]{display:none}.photo-frame{position:relative;display:block;overflow:hidden;background:#d8d4ca}.photo-card.portrait .photo-frame{aspect-ratio:4/5}.photo-card.landscape .photo-frame{aspect-ratio:3/2}.photo-card.wide{grid-column:2/span 10}.photo-card.wide .photo-frame{aspect-ratio:16/9}.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.25,1),filter .4s}.photo-card:hover img{transform:scale(1.025);filter:brightness(.9)}.photo-number{position:absolute;top:15px;right:16px;color:#fff;font:10px ui-monospace,monospace;opacity:0}.photo-card:hover .photo-number{opacity:1}.photo-caption{display:flex;justify-content:space-between;gap:15px;padding-top:14px}.photo-caption>span{display:flex;flex-direction:column;gap:5px}.photo-caption strong{font-size:14px;font-weight:500;letter-spacing:.04em}.photo-caption small,.photo-caption time{color:var(--muted);font-size:10px;letter-spacing:.08em}
.about{display:grid;grid-template-columns:1.2fr 1fr;min-height:780px;color:#eae8e0;background:#1a1b18}.about-image{min-height:620px;background:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08)),url("https://images.unsplash.com/photo-1454496522488-7a8e488e8606?auto=format&fit=crop&w=1600&q=86") center/cover}.about-copy{display:flex;flex-direction:column;justify-content:center;padding:90px 9vw 90px 7vw}.about .section-index{color:#92938d}.about h2{margin:42px 0 50px;font-family:"Songti SC","STSong",serif;font-size:clamp(36px,4.2vw,64px);font-weight:500;line-height:1.45}.about-copy>p:not(.section-index){max-width:500px;margin:0;color:#adada7;font-size:15px;line-height:2}.about-copy a{align-self:flex-start;margin-top:62px;border-bottom:1px solid #777;padding-bottom:8px;font-size:13px}.about-copy a span{margin-left:20px;color:var(--accent)}
footer{position:relative;display:grid;grid-template-columns:2fr 1fr;gap:50px;padding:90px 4vw 40px;min-height:360px;background:#dad5ca}footer>div:first-child p{max-width:330px;margin:30px 0 0;color:#66655e;font-family:"Songti SC",serif;font-size:17px;line-height:1.8}.footer-links{display:flex;flex-direction:column;gap:15px;align-items:flex-start;font-size:12px}.copyright{position:absolute;bottom:30px;left:4vw;margin:0;font:9px ui-monospace,monospace;letter-spacing:.13em}
.lightbox{position:fixed;z-index:100;inset:0;display:grid;grid-template-rows:1fr auto;place-items:center;padding:55px 5vw 26px;color:#fff;background:rgba(10,10,9,.97);animation:fade-in .25s both}.lightbox>img{width:100%;height:calc(100vh - 130px);object-fit:contain}.lightbox-close{position:absolute;top:20px;right:28px;border:0;color:#fff;background:none;cursor:pointer;font-size:12px}.lightbox-caption{display:grid;width:100%;grid-template-columns:1fr auto 1fr;align-items:end;padding-top:15px;color:#aaa;font-size:10px}.lightbox-caption>span:first-child{display:flex;gap:14px;align-items:baseline}.lightbox-caption strong{color:#fff;font-size:13px}.lightbox-tools{display:flex;gap:18px;align-items:center;justify-self:end}.lightbox-tools button{border:0;border-bottom:1px solid rgba(255,255,255,.5);padding:0 0 4px;color:#fff;background:none;cursor:pointer;font-size:10px}.lightbox-share-panel{position:absolute;right:4vw;bottom:78px;width:min(390px,calc(100vw - 32px));padding:14px;color:var(--ink);background:var(--paper);box-shadow:0 22px 70px rgba(0,0,0,.45)}.share-preview-card{display:grid;grid-template-columns:120px 1fr;min-height:92px;overflow:hidden;background:#dfdbd1}.share-preview-card img{width:120px;height:100%;min-height:92px;object-fit:cover}.share-preview-card>div{display:flex;flex-direction:column;justify-content:center;padding:14px 16px}.share-preview-card span{color:var(--muted);font:8px ui-monospace,monospace;letter-spacing:.13em}.share-preview-card strong{margin-top:7px;font-family:"Songti SC",serif;font-size:19px;font-weight:500}.share-preview-card small{margin-top:4px;color:var(--muted);font-size:9px}.share-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.share-buttons button{flex:1 1 90px;border:1px solid var(--line);padding:10px 12px;color:var(--ink);background:transparent;cursor:pointer;font-size:11px}.share-buttons button:hover{border-color:var(--ink);color:var(--paper);background:var(--ink)}.share-buttons .wechat{border-color:#4d9f45;color:#337e2d}.share-buttons .qq{border-color:#348ac7;color:#2374ad}.share-notice{margin:10px 0 0;color:var(--muted);font-size:10px}
.photo-share-page{min-height:100vh;padding:0 4vw 6vw}.photo-share-header{display:flex;align-items:center;justify-content:space-between;min-height:100px;border-bottom:1px solid var(--line);font-size:11px}.share-brand{display:flex;gap:14px;align-items:baseline}.share-brand span{font-family:"Songti SC",serif;font-size:29px;font-weight:700;letter-spacing:.15em}.share-brand small{font:9px ui-monospace,monospace;letter-spacing:.13em}.shared-photo-card{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:5vw;padding-top:5vw}.shared-photo-frame{display:grid;place-items:center;min-height:65vh;background:#d9d5cb}.shared-photo-frame img{width:100%;max-height:78vh;object-fit:contain}.shared-photo-copy{align-self:center}.shared-photo-copy .section-index{margin:0 0 28px}.shared-photo-copy h1{margin:0;font-family:"Songti SC",serif;font-size:clamp(48px,5vw,82px);font-weight:500;line-height:1.15}.shared-photo-copy>p:not(.section-index){margin:25px 0 38px;color:#69675f;font-size:14px;line-height:1.9}.shared-photo-copy dl{display:grid;margin:0;border-top:1px solid var(--line)}.shared-photo-copy dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;font-size:11px}.shared-photo-copy dt{color:#858279}.shared-photo-copy dd{margin:0}.page-share{margin-top:30px}.missing{display:grid;place-content:center;text-align:center}.missing h1{font:500 42px "Songti SC",serif}.missing a{text-decoration:underline}
.admin-shell,.admin-login{min-height:100vh;background:#ece8df}.admin-login{display:grid;place-items:center;padding:30px 20px}.admin-login>section{width:min(460px,100%);border-top:1px solid var(--ink);padding-top:24px}.admin-brand{display:flex;gap:14px;align-items:baseline;font:10px ui-monospace,monospace;letter-spacing:.13em}.admin-brand span{font:700 30px "Songti SC",serif;letter-spacing:.14em}.admin-kicker{margin:80px 0 18px;color:var(--accent)}.admin-login h1,.admin-intro h1{margin:0;font:500 clamp(48px,7vw,92px) "Songti SC",serif}.admin-login>section>p:not(.admin-kicker):not(.admin-message){color:#6f6d65;line-height:1.8}.admin-login form{display:grid;gap:12px;margin-top:45px}.admin-login label,.admin-fields label,.admin-edit-grid label{display:grid;gap:8px;color:#68665f;font-size:11px}.admin-login input,.admin-fields input,.admin-fields textarea,.admin-fields select,.admin-edit-grid input,.admin-edit-grid textarea,.admin-edit-grid select{width:100%;border:1px solid rgba(22,23,20,.22);border-radius:0;padding:13px;color:var(--ink);background:rgba(255,255,255,.46);outline:none}.admin-login input:focus,.admin-fields input:focus,.admin-fields textarea:focus,.admin-edit-grid input:focus,.admin-edit-grid textarea:focus{border-color:var(--ink)}.admin-login form button,.admin-primary{border:0;padding:15px;color:#fff;background:var(--ink);cursor:pointer}.admin-back{display:inline-block;margin-top:34px;color:#706d64;font-size:11px}.admin-message,.admin-global-message{border-left:3px solid #3a7e4b;padding:12px 15px;background:rgba(255,255,255,.5);font-size:12px}.admin-message.error,.admin-global-message.error{border-color:#b64637;color:#8b2f24}.admin-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:25px 4vw}.admin-header>div{display:flex;gap:22px;align-items:center;font-size:11px}.admin-header form{margin:0}.admin-header button{border:0;padding:0;background:none;cursor:pointer}.admin-intro{padding:70px 6vw 90px}.admin-intro .admin-kicker{margin:0 0 20px}.admin-intro>p:last-child{color:#6d6a62}.admin-global-message{margin:0 6vw 25px}.admin-panel{margin:0 4vw 55px;border-top:1px solid var(--ink);padding:30px 2vw 50px}.admin-panel-title{display:grid;grid-template-columns:60px 1fr;margin-bottom:36px}.admin-panel-title>span{font:11px ui-monospace,monospace;color:var(--accent)}.admin-panel-title h2{margin:0;font:500 35px "Songti SC",serif}.admin-panel-title p{margin:8px 0 0;color:#78756c;font-size:11px}.admin-upload-form{display:grid;grid-template-columns:minmax(250px,.75fr) 2fr;gap:35px}.admin-file-drop{display:grid;place-content:center;min-height:280px;border:1px dashed #8c887d;text-align:center;cursor:pointer;background:rgba(255,255,255,.25)}.admin-file-drop input{position:absolute;width:1px;height:1px;opacity:0}.admin-file-drop strong{font:500 24px "Songti SC",serif}.admin-file-drop span{margin-top:10px;color:#7d796f;font-size:10px}.admin-fields,.admin-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-full{grid-column:1/-1}.admin-primary{align-self:end}.admin-photo-list{display:grid;gap:20px}.admin-photo-row{display:grid;grid-template-columns:220px 1fr;gap:28px;border-top:1px solid var(--line);padding-top:24px}.admin-photo-row.is-homepage{border-top-color:var(--accent)}.admin-photo-preview{position:relative}.admin-photo-preview img{width:220px;height:180px;object-fit:cover;background:#d7d2c8}.admin-photo-preview span{position:absolute;left:10px;bottom:10px;padding:7px 9px;color:#fff;background:var(--accent);font-size:9px;letter-spacing:.08em}.admin-row-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.admin-row-actions button{border:1px solid var(--ink);padding:10px 16px;background:transparent;cursor:pointer;font-size:11px}.admin-row-actions .homepage{border-color:var(--accent);color:var(--accent)}.admin-row-actions button:disabled{border-color:#aaa69d;color:#918d84;cursor:default}.admin-row-actions .danger{border-color:#a94a3e;color:#92392f}
@keyframes hero-reveal{from{transform:scale(1.06);filter:brightness(.4)}to{transform:scale(1);filter:brightness(1)}}@keyframes scroll-line{from{transform:translateX(-100%)}50%,to{transform:translateX(100%)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(max-width:800px){.site-header{padding:22px 20px}.brand-en{display:none}.menu-button{position:relative;z-index:2;display:grid;gap:6px;border:0;padding:10px 0 10px 10px;background:none}.menu-button span{width:23px;height:1px;background:#fff}.site-header nav{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;gap:28px;padding-left:15vw;color:var(--paper);background:#1a1b18;font:36px "Songti SC",serif;transform:translateY(-100%);transition:transform .45s}.site-header nav.nav-open{transform:translateY(0)}.hero-content{left:24px;right:20px;top:48%}.hero h1{font-size:clamp(43px,13vw,68px)}.hero-meta{right:20px;bottom:24px}.scroll-cue{left:20px;bottom:24px}.scroll-cue span{display:none}.manifesto{grid-template-columns:1fr;gap:45px;padding:90px 20px 110px}.manifesto-lead{font-size:30px}.stats{gap:18px;justify-content:space-between;margin-top:50px}.stats span{flex-direction:column}.archive{padding:0 20px 100px}.archive-heading{align-items:center}.archive h2{font-size:56px}.view-switch{flex-direction:column;padding:0}.view-switch button{padding:8px 15px}.filters{margin:35px 0 45px}.example-note{margin:-25px 0 35px}.photo-grid{display:block}.photo-card,.photo-card:nth-child(n),.photo-card.wide{width:100%;margin:0 0 55px}.photo-card.wide .photo-frame{aspect-ratio:4/3}.about{grid-template-columns:1fr;min-height:0}.about-image{min-height:70vh}.about-copy{padding:80px 25px 100px}.about h2{font-size:39px}footer{grid-template-columns:1fr;padding:70px 24px 90px}.lightbox{padding:50px 16px 20px}.lightbox>img{height:calc(100vh - 145px)}.lightbox-caption{grid-template-columns:1fr auto}.lightbox-caption>span:first-child{flex-direction:column;gap:4px}.lightbox-help{display:none}.lightbox-share-panel{right:16px;bottom:72px}.photo-share-page{padding:0 20px 70px}.photo-share-header{min-height:76px}.share-brand small{display:none}.shared-photo-card{grid-template-columns:1fr;gap:42px;padding-top:24px}.shared-photo-frame{min-height:0}.shared-photo-frame img{max-height:65vh}.shared-photo-copy h1{font-size:52px}.admin-header{padding:20px}.admin-header .admin-brand{font-size:0}.admin-intro{padding:55px 20px 65px}.admin-panel{margin:0 12px 45px;padding:25px 8px 40px}.admin-panel-title{grid-template-columns:42px 1fr}.admin-upload-form{grid-template-columns:1fr}.admin-fields,.admin-edit-grid{grid-template-columns:1fr}.admin-photo-row{grid-template-columns:1fr}.admin-photo-preview img{width:100%;height:auto;max-height:420px}.admin-global-message{margin:0 20px 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.admin-image-source{display:grid;gap:14px;align-content:start}.admin-source-or{display:flex;align-items:center;gap:12px;color:#8a867d;font-size:10px}.admin-source-or:before,.admin-source-or:after{height:1px;flex:1;background:var(--line);content:""}.admin-url-source{display:grid;gap:8px;color:#68665f;font-size:11px}.admin-url-source input{width:100%;border:1px solid rgba(22,23,20,.22);padding:13px;color:var(--ink);background:rgba(255,255,255,.46);outline:none}.admin-url-source input:focus{border-color:var(--ink)}.admin-url-source small{color:#87837a;font-size:9px;line-height:1.6}
.admin-storage-mode{display:grid;gap:9px;border:1px solid var(--line);padding:13px}.admin-storage-mode legend{padding:0 7px;color:#77746c;font-size:10px}.admin-storage-mode label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.admin-storage-mode input{margin-top:3px;accent-color:var(--accent)}.admin-storage-mode span{display:grid;gap:2px}.admin-storage-mode strong{font-size:11px;font-weight:500}.admin-storage-mode small{color:#89857c;font-size:9px}
.analytics-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:42px;background:var(--line)}.analytics-summary>div{display:grid;gap:7px;padding:25px;background:#ece8df}.analytics-summary strong{font:500 42px "Songti SC",serif}.analytics-summary span{color:#77746c;font:10px ui-monospace,monospace;letter-spacing:.1em}.analytics-grid{display:grid;gap:45px}.analytics-grid h3{margin:0 0 15px;font:500 22px "Songti SC",serif}.analytics-help{margin:-7px 0 15px;color:#7c786f;font-size:10px}.analytics-table-wrap{overflow-x:auto;border-top:1px solid var(--ink)}.analytics-table-wrap table{width:100%;border-collapse:collapse;font-size:11px}.analytics-table-wrap th,.analytics-table-wrap td{border-bottom:1px solid var(--line);padding:13px 10px;text-align:left;vertical-align:top;white-space:nowrap}.analytics-table-wrap th{color:#77746c;font-size:9px;font-weight:500;letter-spacing:.08em}.analytics-table-wrap td:first-child{white-space:normal}.analytics-table-wrap td small{display:block;margin-top:4px;color:#807c73;font-size:9px}.analytics-privacy{margin:28px 0 0;color:#716e66;font-size:10px;line-height:1.8}.analytics-privacy a{text-decoration:underline}.privacy-body{background:#ece8df}.privacy-page{min-height:100vh;padding:0 4vw 10vw}.privacy-page article{max-width:760px;margin:0 auto;padding-top:9vw}.privacy-page h1{margin:18px 0 45px;font:500 clamp(52px,7vw,90px) "Songti SC",serif}.privacy-page h2{margin:48px 0 14px;font:500 26px "Songti SC",serif}.privacy-page article>p:not(.section-index){color:#605e57;font-size:14px;line-height:2}.privacy-updated{margin-top:55px!important;color:#8a867d!important;font-size:10px!important}
@media(max-width:800px){.analytics-summary{grid-template-columns:1fr}.analytics-summary>div{grid-template-columns:70px 1fr;align-items:center}.analytics-summary strong{font-size:34px}.privacy-page{padding:0 20px 90px}.privacy-page article{padding-top:70px}}
.admin-password-form{max-width:820px}.admin-password-form small{color:#858178;font-size:9px;line-height:1.6}.admin-password-form .admin-primary{min-height:45px}.admin-password-note{max-width:820px;margin:18px 0 0;color:#77736a;font-size:10px;line-height:1.8}
.admin-year-list{display:grid;gap:18px}.admin-year-group{border-top:1px solid var(--line);background:rgba(255,255,255,.18)}.admin-year-group[open]{border-top-color:var(--ink)}.admin-year-group summary{display:grid;grid-template-columns:110px 1fr auto auto;align-items:center;min-height:76px;padding:0 20px;cursor:pointer;list-style:none}.admin-year-group summary::-webkit-details-marker{display:none}.admin-year-group summary span{font:500 32px "Songti SC",serif}.admin-year-group summary small{color:#77736b;font-size:10px}.admin-year-group summary i{color:#88847b;font:normal 9px ui-monospace,monospace;letter-spacing:.08em}.admin-year-group summary:after{grid-column:4;grid-row:1;width:10px;margin-left:18px;color:var(--accent);content:"＋"}.admin-year-group[open] summary:after{content:"－"}.admin-year-group[open] summary{border-bottom:1px solid var(--line)}.admin-year-group .admin-photo-list{padding:5px 20px 28px}
@media(max-width:800px){.admin-year-group summary{grid-template-columns:78px 1fr auto;min-height:66px;padding:0 12px}.admin-year-group summary span{font-size:26px}.admin-year-group summary i{display:none}.admin-year-group summary:after{margin-left:8px}.admin-year-group .admin-photo-list{padding:0 12px 22px}}
