:root{--bg:#0a0a0b;--ink:#f3f0ea;--dim:#9a948a;--display:"Clash Display","Helvetica Neue",sans-serif;--serif:"Instrument Serif",Georgia,serif;--cjk:"Noto Serif SC",serif;--apx:16px;--apy:16px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--ink)}body{font-family:var(--display);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;touch-action:none}a{color:inherit;text-decoration:none}#bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--bg)}.bg-img{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:grayscale(1);will-change:opacity,transform,clip-path}#bgA{opacity:.5}#bgB{opacity:0}body.v-cat #bgA,body.v-content #bgA{opacity:.28}body.v-gallery #bg,body.v-series #bg{opacity:0}#gl{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:none}body.v-gallery #gl,body.v-series #gl{display:block}.mask{position:fixed;background:var(--bg);z-index:10;pointer-events:none}.m-t{left:0;right:0;top:0;height:var(--apy)}.m-b{left:0;right:0;bottom:0;height:var(--apy)}.m-l{top:0;bottom:0;left:0;width:var(--apx)}.m-r{top:0;bottom:0;right:0;width:var(--apx)}.aperture{position:fixed;left:var(--apx);right:var(--apx);top:var(--apy);bottom:var(--apy);border:1.5px solid var(--ink);pointer-events:none;z-index:20}.aperture .tk{position:absolute;width:13px;height:13px;border:0 solid var(--ink)}.tl{top:-1.5px;left:-1.5px;border-top-width:1.5px;border-left-width:1.5px;transform:translate(-6px,-6px)}.tr{top:-1.5px;right:-1.5px;border-top-width:1.5px;border-right-width:1.5px;transform:translate(6px,-6px)}.bl{bottom:-1.5px;left:-1.5px;border-bottom-width:1.5px;border-left-width:1.5px;transform:translate(-6px,6px)}.br{bottom:-1.5px;right:-1.5px;border-bottom-width:1.5px;border-right-width:1.5px;transform:translate(6px,6px)}.nav{position:fixed;left:0;right:0;top:0;z-index:30;display:flex;align-items:flex-start;justify-content:space-between;padding:1.6rem}.nav .brand{font-family:var(--display);font-weight:600;font-size:1.15rem;letter-spacing:.14em;color:var(--ink)}.nav .menu-r .loc{font-family:var(--cjk);font-size:.82rem;letter-spacing:.14em;color:var(--dim)}.back{position:fixed;left:1.6rem;top:3.9rem;z-index:31;background:none;border:0;color:var(--ink);cursor:pointer;font-family:var(--display);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:.5rem;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .4s,transform .4s}.back #backlabel{position:static;transform:none}.back.show{opacity:1;transform:none;pointer-events:auto}.back .arr{font-size:1rem}.view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s}.view.show{opacity:1;pointer-events:auto}body.tr .nav,body.tr .back,body.tr .view,body.tr #titlecard,body.tr .caption,body.tr .counter,body.tr .strip,body.tr .hint{opacity:0!important;pointer-events:none!important;transition:opacity .3s ease}.intro-blk{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.intro-mark{font-family:var(--display);font-weight:600;font-size:clamp(3.4rem,13vw,9rem);letter-spacing:.06em;line-height:1;color:#fff;mix-blend-mode:difference}.intro-tag{font-family:var(--serif);font-style:italic;font-size:clamp(1rem,2.2vw,1.5rem);color:#fff;margin-top:1.1rem;mix-blend-mode:difference;max-width:24ch}.intro-sub{font-family:var(--cjk);font-size:.9rem;letter-spacing:.4em;color:#fff;margin-top:1rem;mix-blend-mode:difference}.intro-scroll{position:absolute;bottom:2.4rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:#fff;mix-blend-mode:difference}.intro-scroll .ar{font-size:.9rem;animation:bob 1.8s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.menu{display:flex;flex-direction:column;align-items:center;gap:.1rem}.menu a{font-family:var(--display);font-weight:500;font-size:clamp(1.8rem,4.6vw,3.4rem);letter-spacing:-.01em;line-height:1.18;color:var(--dim);cursor:pointer;transition:color .3s,letter-spacing .3s;position:relative}.menu a .zh{font-family:var(--cjk);font-weight:300;font-size:.42em;color:var(--dim);margin-left:.7em;letter-spacing:.1em;vertical-align:middle}.menu a:hover{color:var(--ink);letter-spacing:.01em}.menu a .no{position:absolute;left:-2.4rem;top:50%;transform:translateY(-50%);font-size:.3em;letter-spacing:.2em;color:var(--dim)}.menu-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:2.2rem}.menu-head .mh-en{font-family:var(--display);font-weight:600;font-size:clamp(1.3rem,3vw,2rem)}.menu-head .mh-zh{font-family:var(--cjk);font-size:1.1rem;color:var(--dim)}.content-in{max-width:720px;width:100%;padding:0 2rem;text-align:center}.content-in .c-zh{font-family:var(--cjk);font-size:1rem;letter-spacing:.18em;color:var(--dim)}.content-in h1{font-family:var(--display);font-weight:600;font-size:clamp(2.4rem,7vw,5rem);letter-spacing:-.02em;margin:.6rem 0 1.4rem;line-height:1}.content-in p{font-family:var(--serif);font-size:clamp(1.1rem,2.4vw,1.6rem);line-height:1.5;color:#e7e2d8;margin:0 auto 1.4rem;max-width:30ch}.content-in .links{display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap;margin-top:1.8rem}.content-in .links a{font-family:var(--display);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid transparent;padding-bottom:3px;cursor:pointer}.content-in .links a:hover{color:var(--ink);border-color:var(--dim)}#titlecard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;pointer-events:none}#titlecard .tc-cat{font-family:var(--cjk);font-size:.95rem;letter-spacing:.24em;color:var(--dim)}#titlecard .tc-title{font-family:var(--display);font-weight:600;font-size:clamp(2.6rem,8vw,6rem);letter-spacing:-.02em;margin:.8rem 0;line-height:1}#titlecard .tc-desc{font-family:var(--serif);font-size:clamp(1rem,2.2vw,1.4rem);color:#cfcabf;max-width:40ch}#titlecard .tc-cue{position:absolute;bottom:2.6rem;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--dim)}.caption{position:fixed;z-index:30;pointer-events:none;display:flex;flex-direction:column;gap:.45rem;opacity:0}body.m-gallery .caption{left:0;right:0;top:auto;bottom:calc(100% - var(--apy) + .6rem);align-items:center;text-align:center}body.m-gallery .caption .t{color:var(--ink)}body.m-gallery .caption .meta{color:var(--dim);justify-content:center}body.m-series .caption{left:calc(var(--apx) + 1.3rem);right:auto;bottom:calc(var(--apy) + 1rem);top:auto;align-items:flex-start;mix-blend-mode:difference}body.m-series .caption .t,body.m-series .caption .meta{color:#fff}.caption .t{font-family:var(--display);font-weight:500;font-size:clamp(1.3rem,2.5vw,2rem);letter-spacing:-.01em;line-height:1;white-space:nowrap}.caption .meta{display:flex;gap:.9rem;align-items:baseline;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}.caption .meta .p{font-family:var(--cjk);text-transform:none;letter-spacing:.08em}.counter{position:fixed;right:1.9rem;bottom:1.5rem;z-index:30;font-family:var(--display);font-size:.78rem;letter-spacing:.18em;color:var(--dim);display:flex;gap:.5rem;align-items:baseline;opacity:0}.counter .idx{color:var(--ink);font-size:1.05rem}.strip{position:fixed;left:50%;bottom:1.1rem;transform:translate(-50%);z-index:30;display:flex;gap:7px;align-items:center;opacity:0;pointer-events:none}.strip.show{opacity:1;pointer-events:auto}.strip .thumb{width:30px;height:20px;border:0;padding:0;background-size:cover;background-position:center;cursor:pointer;filter:grayscale(1);opacity:.4;transition:.3s;border-radius:1px}.strip .thumb:hover{opacity:.8}.strip .thumb.on{opacity:1;width:46px}.hint{position:fixed;left:1.9rem;bottom:1.5rem;z-index:30;display:flex;gap:.6rem;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);opacity:0}.hint .dot{opacity:.5}@media (max-width:700px){.nav .menu-r{display:none}.caption .t{font-size:1.1rem}.strip{display:none}.menu a{font-size:1.6rem}}
