@font-face{font-family:ArchiveMono;src:url('/runtime/ibm-plex-mono-latin-400-normal.Dm_PoFIZ.woff2') format('woff2');font-display:swap}
:root{--paper:#eae8e2;--ink:#242521;--muted:#72736b;--line:#c7c7bc;--serif:'Songti SC','Noto Serif CJK SC','SimSun',serif;--mono:ArchiveMono,monospace}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink)}body{font-family:Arial,'Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.7' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.25;cursor:default}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible,input:focus-visible{outline:2px solid #5e633e;outline-offset:6px}img{max-width:100%;display:block}sup{font-family:var(--mono);font-size:10px;font-weight:400}h1,h2,p,dl,dd,ol{margin:0}ol{padding:0;list-style:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.CaseSkip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:15px}.CaseSkip:focus{top:10px}.Eyebrow{font:10px/1.5 var(--mono);letter-spacing:.12em}.TextButton{font-size:12px;padding:10px 0}.TextButton:hover{text-decoration:underline;text-underline-offset:5px}.Counter{font:12px var(--mono);white-space:nowrap}.Counter b{font-weight:400}.Counter i{font-style:normal;color:#92938a;padding:0 16px}
.CaseHeader{height:88px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:30}.CaseBrand{font-size:26px;font-weight:700;letter-spacing:-1.5px;line-height:1}.CaseBrand span{display:block;font:8px/1 var(--mono);letter-spacing:.25em;margin-top:8px}.CaseHeader nav{display:flex;gap:34px;align-items:center;font-size:12px}.CaseHeader nav a{position:relative;padding:12px 0}.CaseHeader nav a[aria-current=page]::after{content:'';position:absolute;width:3px;height:3px;bottom:0;left:50%;background:currentColor}.CaseContact{margin-left:35px}
.Archive{height:calc(100svh - 88px);min-height:620px;position:relative;overflow:hidden}.ArchiveInfo{position:absolute;left:38px;top:30px;width:246px;z-index:12;pointer-events:none}.ArchiveInfo .Eyebrow{color:var(--muted)}.ArchiveInfo h2{font:27px/1.4 var(--serif);letter-spacing:-.04em;margin:16px 0 24px;text-wrap:balance}.ArchiveInfo dl{font-size:11px}.ArchiveInfo dl div{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line)}.ArchiveInfo dt{color:var(--muted)}.ArchiveIndex{position:absolute;right:38px;top:24px;z-index:15}.ArchiveIndex sup{padding:0 10px}.Bookshelf{position:absolute;inset:0 0 135px;perspective:1700px;touch-action:pan-y;cursor:grab;outline:none!important;isolation:isolate}.Bookshelf.is-dragging{cursor:grabbing}.Bookshelf:focus-visible::after{content:'';position:absolute;inset:30px 27%;border:1px dashed var(--muted);pointer-events:none}.ProjectBook{--book-width:clamp(290px,30vw,450px);position:absolute;width:var(--book-width);aspect-ratio: .76;left:52%;top:46%;transform-style:preserve-3d;transform:translate(-50%,-50%) translateX(calc(var(--offset)*var(--book-width)*1.17 + var(--drag,0px))) translateZ(var(--depth)) rotateY(var(--angle)) rotateZ(var(--tilt));z-index:var(--order);transition:transform .85s cubic-bezier(.2,.75,.15,1),opacity .5s,visibility .5s;user-select:none;-webkit-user-drag:none;outline-offset:18px}.ProjectBook[data-far=true]{visibility:hidden;opacity:0;pointer-events:none}.ProjectBook[data-active=true]{cursor:pointer}.ProjectBook picture,.ProjectBook img{pointer-events:none;-webkit-user-drag:none}.BookCover{position:absolute;inset:0;display:flex;flex-direction:column;transform:translateZ(13px);background:#272d26;color:#e4e5d8;box-shadow:1px 0 1px #070a06,5px 15px 35px #26281824,inset 2px 0 3px #a5ac9b40;overflow:hidden}.BookCover::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#050b0a60,transparent 3%,#ffffff0c 5%,transparent 9%,transparent 96%,#ffffff12)}.BookCoverTop{padding:23px 25px 20px;display:flex;justify-content:space-between;font:10px/1.4 var(--mono);letter-spacing:.05em}.BookPhoto{margin:0 19px;flex:1;min-height:0;position:relative;overflow:hidden}.BookPhoto picture,.BookPhoto img{width:100%;height:100%;object-fit:cover}.BookCoverBottom{padding:24px 25px 27px;display:block}.BookCoverBottom strong{display:block;font:21px/1.4 var(--serif);margin-bottom:14px}.BookCoverBottom>span{display:block;font-size:9px;letter-spacing:.1em}.BookCoverBottom i{float:right;font-size:20px;font-style:normal;line-height:10px}.BookSpine{position:absolute;inset:0 auto 0 0;width:26px;transform:rotateY(-90deg) translateX(-13px);transform-origin:left;background:linear-gradient(90deg,#11170f,#31372d 80%,#11170f);color:#c7cbbb;display:flex;align-items:center;justify-content:center}.BookSpine span{writing-mode:vertical-rl;transform:rotate(180deg);font:10px var(--mono);letter-spacing:.2em}.BookPages{position:absolute;inset:3px -2px 3px 5px;background:repeating-linear-gradient(0deg,#b7b8ac 0 1px,#dedfd2 1px 3px);transform:translateZ(-9px);box-shadow:20px 32px 30px #33352630}.Bookshelf.is-opening .ProjectBook[data-active=true]{transform:translate(-50%,-50%) translateZ(150px) rotateY(0) rotateZ(0);opacity:0;transition:transform .35s,opacity .35s}.ArchiveFoot{position:absolute;bottom:43px;left:38px;right:38px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;z-index:15;pointer-events:none}.ArchiveFoot a,.ArchiveFoot button{pointer-events:auto}.ArchiveIdentity h1{font:32px/1.2 var(--serif);letter-spacing:-.03em}.ArchiveIdentity h1 span{display:block;font-size:21px;margin-top:8px}.ArchiveIdentity p{font-size:9px;letter-spacing:.08em;margin-top:20px;color:var(--muted)}.ArchiveBrowse{text-align:center;padding-bottom:3px}.OpenProject{font-size:13px;display:inline-flex;align-items:center;gap:65px;border-bottom:1px solid #787b70;padding:12px 0}.OpenProject span{font-size:20px}.BrowseHint{color:var(--muted);font-size:10px;margin-top:16px}.ArchiveControls{display:flex;align-items:center;justify-content:flex-end;gap:17px;padding-bottom:28px}.ArchiveControls button{width:38px;height:38px;font-size:23px}.ArchiveControls button:hover{background:#d7d9cc}.ArchiveProgress{position:absolute;bottom:0;left:38px;right:38px;height:2px;background:#d9dbd1}.ArchiveProgress span{display:block;height:100%;background:#373e2b;width:7.69%;transition:transform .7s cubic-bezier(.2,.75,.15,1)}
dialog{color:var(--ink);background:var(--paper);border:0;margin:auto;padding:30px;max-width:100vw;max-height:100svh;box-shadow:0 20px 100px #151b1533}dialog::backdrop{background:#1b211a55;backdrop-filter:blur(8px)}dialog header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}dialog[open]{animation:dialog-in .25s ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.IndexDialog{width:800px}.IndexDialog h2{font:36px var(--serif);margin-bottom:32px}.IndexDialog li a{display:grid;grid-template-columns:30px 1fr 90px 15px;gap:18px;align-items:center;padding:17px 4px;border-top:1px solid var(--line);font-size:12px}.IndexDialog li a:hover{background:#dadccd}.IndexDialog li a>span:first-child{color:var(--muted);font:10px var(--mono)}.IndexDialog li strong{font-weight:400}.IndexDialog li small{text-align:right;color:var(--muted)}.NoScriptProjects{position:relative;z-index:40;padding:20px;display:grid;background:var(--paper);gap:15px}
.Project{min-height:calc(100svh - 88px);padding:0 38px 22px;display:flex;flex-direction:column}.ProjectHeading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:24px;min-height:94px;padding:12px 0 25px}.ProjectBack{font-size:11px}.ProjectHeading>div:nth-child(2){text-align:center}.ProjectHeading .Eyebrow{color:var(--muted);font-size:9px;margin-bottom:9px}.ProjectHeading h1{font:25px/1.35 var(--serif);font-weight:400}.PhotoTabs{display:flex;justify-content:flex-end;gap:24px}.PhotoTabs button{font-size:12px;padding:7px 0;color:var(--muted)}.PhotoTabs [aria-pressed=true]{color:var(--ink);border-bottom:1px solid}.PhotoTabs sup{margin-left:6px;font-size:9px}.PhotoStage{height:calc(100svh - 286px);min-height:330px;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:20px;align-items:center;outline:none!important;touch-action:pan-y}.PhotoFrame{height:100%;min-height:0;display:flex;justify-content:center;align-items:center;position:relative}.PhotoFrame picture{display:block;width:100%;height:100%}.PhotoFrame img{width:100%;height:100%;object-fit:contain;transition:opacity .18s}.PhotoFrame.is-loading img{opacity:.45}.PhotoFrame.is-error::after{content:'图片未能加载，请重试或切换下一张';position:absolute;inset:auto 20px 50%;text-align:center;background:var(--paper);padding:15px}.PhotoArrow{font-size:28px;height:52px;width:46px}.PhotoArrow:hover{background:#dcddd2}.PhotoZoom{position:absolute;bottom:15px;right:18px;color:white;mix-blend-mode:difference;font-size:10px;pointer-events:none}.PhotoToolbar{display:grid;grid-template-columns:1fr 2fr 1fr;gap:20px;align-items:center;margin-top:25px;min-height:48px;font-size:11px}.PhotoToolbar>.TextButton{text-align:left}.PhotoPagination{display:flex;gap:28px;align-items:center;justify-content:center}.PhotoRange{width:180px}.PhotoRange input{width:100%;height:18px;accent-color:#545c3f;cursor:pointer}.NextProject{justify-self:end;font-size:11px}.ThumbnailDialog{width:1000px}.ThumbnailDialog header{position:sticky;top:-30px;z-index:1;background:var(--paper);padding:20px 0}.ThumbnailDialog h2{font-size:15px;font-weight:400}.ThumbnailGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.ThumbnailGrid button{padding:0;text-align:left}.ThumbnailGrid picture{display:block;aspect-ratio:1.3;background:#d9dacf}.ThumbnailGrid img{width:100%;height:100%;object-fit:cover}.ThumbnailGrid button span{font:10px var(--mono);display:block;padding:8px 0}.ThumbnailMore{display:block;margin:25px auto 0;border-bottom:1px solid;padding:10px}.PhotoViewer{width:100vw;height:100svh;max-width:none;max-height:none;background:#10110f;color:#e7e9e0;padding:24px 32px}.PhotoViewer header{font-size:12px;height:30px;margin-bottom:20px}.ViewerStage{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:20px;height:calc(100svh - 144px);align-items:center;touch-action:pan-y}.ViewerStage button{font-size:26px;height:50px}.ViewerStage picture{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto}.ViewerStage img{width:100%;height:100%;object-fit:contain}.PhotoViewer>.Counter{text-align:center;margin-top:20px;color:#a6ad9d}.CaseFilm{max-width:1000px;margin:80px auto 20px;width:100%}.CaseFilm h2{font-size:20px;margin-bottom:20px}.CaseFilm video{width:100%}
@media(min-width:701px){.ProjectBook[data-side=previous]{opacity:0;visibility:hidden;pointer-events:none}}
@media(min-width:1600px){.ProjectBook{--book-width:clamp(400px,31vw,530px)}}
@media(max-width:1000px){.ArchiveInfo{width:195px}.ArchiveInfo h2{font-size:23px}.ProjectBook{--book-width:clamp(290px,37vw,400px);left:56%;top:49%}.ArchiveIdentity h1{font-size:26px}.ArchiveIdentity h1 span{font-size:18px}.CaseHeader{padding:0 25px}.ArchiveInfo{left:25px}.ArchiveIndex{right:25px}.ArchiveFoot{left:25px;right:25px}.Project{padding-inline:25px}.PhotoStage{grid-template-columns:30px minmax(0,1fr) 30px;gap:10px}.PhotoArrow{width:30px}.ProjectHeading h1{font-size:22px}.PhotoTabs{gap:15px}}
@media(max-width:700px){.CaseHeader{height:74px;padding:0 20px}.CaseBrand{font-size:23px}.CaseBrand span{font-size:7px}.CaseHeader nav{gap:23px;font-size:11px}.CaseContact{display:none}.Archive{height:calc(100svh - 74px);min-height:650px}.ArchiveInfo{left:20px;top:16px;width:235px}.ArchiveInfo .Eyebrow{font-size:8px}.ArchiveInfo h2{font-size:21px;margin:10px 0 14px}.ArchiveInfo dl{display:flex;gap:12px;font-size:10px}.ArchiveInfo dl div{padding:0;border:0;gap:6px}.ArchiveInfo dl dt{display:none}.ArchiveInfo dl div+div{border-left:1px solid var(--line);padding-left:12px}.ArchiveIndex{top:11px;right:20px;font-size:10px}.ArchiveIndex sup{padding:0 3px}.Bookshelf{inset:100px 0 155px;perspective:1000px}.ProjectBook{--book-width:clamp(220px,62vw,295px);left:49%;top:49%;transform:translate(-50%,-50%) translateX(calc(var(--offset)*var(--book-width)*1.23 + var(--drag,0px))) translateZ(var(--depth)) rotateY(var(--angle)) rotateZ(var(--tilt))}.BookCoverTop{font-size:7px;padding:15px 16px}.BookPhoto{margin:0 12px}.BookCoverBottom{padding:16px}.BookCoverBottom strong{font-size:15px;margin-bottom:10px}.BookCoverBottom>span{font-size:7px}.BookSpine{width:20px}.ArchiveFoot{bottom:30px;left:20px;right:20px;grid-template-columns:1fr 1fr;row-gap:22px}.ArchiveIdentity h1{font-size:23px}.ArchiveIdentity h1 span{font-size:16px;margin-top:4px}.ArchiveIdentity p{font-size:7px;letter-spacing:0;margin-top:12px}.ArchiveBrowse{grid-column:1/-1;grid-row:1;display:flex;flex-direction:column;align-items:center}.OpenProject{font-size:11px;gap:70px;padding:8px 0}.BrowseHint{font-size:9px;margin-top:10px}.ArchiveControls{padding-bottom:14px;gap:5px}.ArchiveControls button{width:30px;height:30px;font-size:20px}.Counter{font-size:10px}.Counter i{padding:0 10px}.ArchiveProgress{left:20px;right:20px}.IndexDialog{padding:20px;width:calc(100vw - 20px);max-height:90svh}.IndexDialog h2{font-size:28px;margin-bottom:24px}.IndexDialog li a{grid-template-columns:20px 1fr 14px;gap:10px;padding:17px 0;font-size:12px}.IndexDialog li small{display:none}.IndexDialog header .Eyebrow{font-size:8px}.Project{padding:0 16px 18px;min-height:calc(100svh - 74px)}.ProjectHeading{grid-template-columns:1fr 1fr;gap:18px;padding:10px 4px 22px;min-height:128px}.ProjectBack{font-size:10px;grid-column:1}.ProjectHeading>div:nth-child(2){grid-row:2;grid-column:1/-1;text-align:left}.ProjectHeading h1{font-size:22px}.ProjectHeading .Eyebrow{font-size:8px;margin-bottom:7px}.PhotoTabs{grid-row:1;grid-column:2;gap:20px}.PhotoTabs button{font-size:10px;padding:2px 0}.PhotoTabs sup{font-size:8px;margin-left:3px}.PhotoStage{height:calc(100svh - 300px);min-height:270px;display:block;position:relative}.PhotoFrame{width:100%;height:100%}.PhotoArrow{position:absolute;z-index:2;bottom:-55px;font-size:24px;width:40px;height:40px}.PhotoArrow--prev{left:calc(50% - 76px)}.PhotoArrow--next{right:calc(50% - 76px)}.PhotoZoom{font-size:9px;bottom:10px;right:8px}.PhotoToolbar{grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:18px;min-height:40px}.PhotoToolbar>.TextButton,.NextProject{font-size:10px}.PhotoPagination{gap:0}.PhotoRange{display:none}.PhotoToolbar .Counter{font-size:9px}.ThumbnailDialog{width:100vw;max-height:94svh;padding:20px}.ThumbnailDialog h2{font-size:12px}.ThumbnailGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ThumbnailDialog header{top:-20px;padding:10px 0;margin-bottom:20px}.PhotoViewer{padding:20px 12px}.PhotoViewer header{font-size:11px;margin-bottom:15px;padding:0 6px}.ViewerStage{grid-template-columns:1fr;height:calc(100svh - 135px);position:relative;gap:0}.ViewerStage button{position:absolute;bottom:-48px;z-index:2;font-size:22px}.ViewerStage button:first-child{left:24%}.ViewerStage button:last-child{right:24%}.PhotoViewer>.Counter{margin-top:23px}.CaseFilm{margin-top:70px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
