:root{color:#eeeae0;font-synthesis:none;text-rendering:optimizelegibility;--gold:#e9c979;--ink:#090b09;--muted:#adb0a7;--line:#d0d3ba29;--mono:"SFMono-Regular", Consolas, monospace;background:#090b09;font-family:Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}html{scroll-padding-bottom:90px}body{background:var(--ink)}button,a,input{font:inherit;color:inherit}button{cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{touch-action:manipulation}button:disabled{cursor:wait}.gallery-shell{background:radial-gradient(at 72% 38%,#b2bb9910,#0000 47%),radial-gradient(at 70% 76%,#bba45208,#0000 36%),#090b09;flex-direction:column;min-height:100svh;padding:0 clamp(24px,4.5vw,88px) 88px;display:flex;overflow:clip}.gallery-header{border-bottom:1px solid var(--line);align-items:center;gap:32px;min-height:80px;display:flex}.gallery-mark{letter-spacing:-1px;background:0 0;align-items:center;padding:8px 0;font-size:22px;font-weight:750;display:flex}.gallery-mark span{color:var(--gold)}.gallery-mark i{background:var(--gold);border-radius:50%;width:5px;height:5px;margin-top:12px;margin-left:6px}.gallery-intro{color:#b7bbae;letter-spacing:.1em;align-items:baseline;gap:24px;margin:0;font-size:12px;display:flex}.gallery-intro span{color:#7f887b;font:10px var(--mono);letter-spacing:.08em}.motion-toggle{color:#c2c7b9;white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:9px;min-height:44px;margin-left:auto;padding:8px 0 8px 14px;font-size:12px;display:flex}.motion-toggle i{background:var(--gold);border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px #e9c9794d}.motion-toggle span{color:var(--gold);font:10px var(--mono)}.motion-paused .motion-toggle i{box-shadow:none;background:#6d7568}.black-box{opacity:1;flex:1;grid-template-columns:minmax(270px,.82fr) minmax(0,1.55fr);align-items:center;gap:clamp(24px,4vw,70px);padding:20px 0 24px;transition:opacity .15s;display:grid}.is-transitioning .black-box{opacity:0}.exhibit-copy{z-index:2;min-width:0;max-width:440px;padding-bottom:10px;animation:.36s both reveal;position:relative}.exhibit-medium{color:#a4ad9c;font:10px var(--mono);letter-spacing:.07em;flex-wrap:wrap;align-items:center;gap:11px;margin:0 0 28px;display:flex}.exhibit-medium>span{color:var(--gold);font-size:12px}.exhibit-medium i{background:#86947e;width:14px;height:1px}.exhibit-copy h1{color:#f1eee3;letter-spacing:-.06em;overflow-wrap:normal;margin:0;font-size:clamp(44px,5.25vw,86px);font-weight:400;line-height:1.02}.title-arrow{color:var(--gold);font-weight:300}.exhibit-chinese{color:var(--gold);letter-spacing:.08em;margin:26px 0 0;font-family:Songti SC,STSong,serif;font-size:clamp(20px,1.7vw,27px);font-weight:400;line-height:1.5}.exhibit-description{color:#b7bcaf;letter-spacing:.02em;max-width:370px;margin:18px 0 22px;font-size:15px;line-height:1.95}.exhibit-tags{flex-wrap:wrap;gap:9px 16px;margin:0 0 32px;padding:0;list-style:none;display:flex}.exhibit-tags li{color:#96a18f;font-size:11px}.exhibit-tags li+li:before{content:"/";color:#626e59;margin-right:16px;display:inline}.source-link{color:#efe1b7;border-bottom:1px solid #dfc6816b;align-items:center;gap:24px;min-height:44px;font-size:13px;text-decoration:none;transition:border-color .18s,color .18s;display:inline-flex}.source-link:hover{color:#fff;border-color:var(--gold)}.source-link>span{font-size:21px}.exhibit-credit{color:#828d7c;font:10px/1.7 var(--mono);overflow-wrap:anywhere;margin:16px 0 0}[data-current=motion-body] .exhibit-credit{color:#a4af9b;font-family:inherit;font-size:11px}.exhibit-view{flex-direction:column;min-width:0;display:flex}.stage-frame{isolation:isolate;min-width:0;height:clamp(340px,100svh - 260px,730px);position:relative}[data-current=motion-body] .stage-frame{height:clamp(300px,100svh - 381px,620px)}.stage-frame:before{content:"";z-index:-1;border:1px solid #d3d4b710;border-radius:50%;width:84%;height:76%;position:absolute;top:11%;left:8%}.stage-heading{z-index:3;pointer-events:none;color:#8d9b83;font:10px var(--mono);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:6px;left:16px;right:16px}.stage-badge{color:#bac3ac;border:1px solid #c2cbae33;padding:7px 10px}.exhibit-canvas{width:100%;height:100%;animation:.3s both reveal}.exhibit-canvas canvas{cursor:grab;width:100%;height:100%;display:block}.exhibit-canvas canvas:active{cursor:grabbing}.viewer-toolbar{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-height:48px;display:flex}.viewer-toolbar>p{color:#94a18b;white-space:nowrap;margin:0;font-size:11px}.viewer-toolbar>p>span:first-child{color:#c4ceb9;margin-right:5px;font-size:15px}.view-presets{align-items:center;gap:4px;margin-left:auto;display:flex}.view-presets button{color:#c0c9b5;background:0 0;min-width:40px;min-height:42px;padding:8px 9px;font-size:12px}.view-presets button:hover,.view-presets button[aria-pressed=true]{color:var(--gold);background:#d9c0860c}.object-loader,.object-error{z-index:4;color:#bbc4af;background:#090b0922;flex-direction:column;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.object-loader{pointer-events:none}.object-loader>span{border:1px solid #ddc27733;border-top-color:var(--gold);border-radius:50%;width:34px;height:34px;animation:1s linear infinite spin}.object-error{background:#090b09c9}.object-error button{min-height:44px;color:var(--gold);background:0 0;border:1px solid #dfc6816b;padding:10px 20px}.motion-study{border-top:1px solid var(--line);padding:10px 0 0}.motion-presets{gap:8px;display:flex}.motion-presets button{color:#b3bea7;background:0 0;border:1px solid #aab99a33;flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;min-height:44px;padding:8px;font-size:13px;transition:color .16s,background .16s,border-color .16s;display:flex}.motion-presets button>span,.motion-presets button>small{font:10px var(--mono);color:#879579}.motion-presets button[aria-pressed=true]{color:#f3dea7;background:#d6bd7312;border-color:#e6c97988}.motion-presets button[aria-pressed=true]>span,.motion-presets button[aria-pressed=true]>small{color:#cdbf96}.motion-presets button:hover{border-color:#d0d4ba77}.motion-prompt{color:#bcc6b1;margin:10px 0 0;font-size:13px;line-height:1.6}.motion-transport{align-items:center;gap:14px;display:flex}.play-motion{min-width:40px;height:44px;color:var(--gold);background:0 0;font-size:15px}.motion-transport input{appearance:none;cursor:ew-resize;background:linear-gradient(to right, #dfcc94 var(--progress), #a3b09144 var(--progress)) center / 100% 2px no-repeat;flex:1;min-width:0;height:32px;margin:0}.motion-transport input::-webkit-slider-thumb{appearance:none;background:#e7d9b2;border-radius:2px;width:10px;height:16px}.motion-transport input::-moz-range-thumb{background:#e7d9b2;border:0;border-radius:2px;width:10px;height:16px}.motion-time{color:#e2dfca;min-width:82px;font:11px var(--mono);font-variant-numeric:tabular-nums}.motion-time i{color:#8c9980;font-style:normal}.gallery-footer{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);background:#090b09ed;align-items:center;gap:30px;min-height:88px;display:flex;position:fixed;bottom:0;left:clamp(24px,4.5vw,88px);right:clamp(24px,4.5vw,88px)}.collection-caption{color:#bbc3af;min-width:100px;font-size:12px}.collection-caption small{color:#7e8d71;font:9px var(--mono);margin-top:8px;display:block}.exhibit-rail{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));align-self:stretch;gap:8px;display:grid}.exhibit-rail button{color:#aeb8a3;text-align:left;background:0 0;grid-template-columns:24px 1fr 14px;align-content:center;align-items:center;gap:5px;min-width:0;padding:15px 12px;transition:color .16s,background .16s;display:grid;position:relative}.exhibit-rail button>span{color:#78866c;font:10px var(--mono);grid-row:1/3;align-self:start;padding-top:3px}.exhibit-rail button em{font-size:15px;font-style:normal}.exhibit-rail button small{color:#879579;grid-column:2;font-size:10px}.exhibit-rail button i{color:#8c987e;opacity:0;grid-area:1/3/3;font-size:17px;font-style:normal}.exhibit-rail button:before{content:"";background:0 0;height:2px;position:absolute;top:-1px;left:12px;right:12px}.exhibit-rail button:hover{color:#f2ebd5;background:#bdc1a50a}.exhibit-rail button.is-current{color:#f0dda3;background:linear-gradient(#dec67c0d,#0000)}.exhibit-rail button.is-current:before{background:var(--gold)}.exhibit-rail button.is-current i{opacity:1;color:var(--gold)}.exhibit-rail button.is-current>span{color:var(--gold)}.gallery-controls{align-items:center;gap:9px;display:flex}.gallery-controls button{color:#c4cdb9;background:0 0;min-width:38px;min-height:44px;font-size:19px}.gallery-controls button:hover{color:var(--gold)}.gallery-controls>span{color:#98a38b;font:10px var(--mono);white-space:nowrap}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes reveal{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.gallery-intro span,.collection-caption{display:none}.gallery-footer{gap:16px}.exhibit-copy h1{font-size:50px}.black-box{grid-template-columns:minmax(270px,.85fr) minmax(0,1.25fr);gap:24px}.viewer-toolbar{padding-top:6px}.viewer-toolbar>p{width:100%}}@media (width<=800px){.gallery-shell{padding:0 24px 88px}.gallery-header{gap:16px;min-height:72px}.gallery-mark{font-size:20px}.gallery-intro{letter-spacing:.04em;margin-left:auto;font-size:11px}.motion-toggle{margin-left:0;font-size:11px}.motion-toggle span{display:none}.black-box{grid-template-columns:minmax(0,1fr);align-content:start;gap:0;padding:14px 0 24px;display:grid}.exhibit-view{display:contents}.stage-frame,[data-current=motion-body] .stage-frame{grid-row:1;height:clamp(290px,42svh,440px)}.stage-heading{font-size:9px;left:0;right:0}.stage-badge{padding:6px 8px}.viewer-toolbar{grid-row:2;min-height:48px;margin-bottom:24px;padding:4px 0 8px}.viewer-toolbar>p{width:auto}.hint-detail{display:none}.view-presets{gap:0}.view-presets button{min-width:40px;padding:8px}.exhibit-copy{grid-row:3;max-width:none;padding:0}.exhibit-copy h1{font-size:clamp(36px,7.5vw,58px);line-height:1.05}.exhibit-copy h1 br{display:none}.exhibit-medium{gap:9px;margin-bottom:14px;font-size:9px}.exhibit-chinese{margin-top:12px;font-size:21px}.exhibit-description{max-width:650px;margin:12px 0 14px;font-size:14px;line-height:1.85}.exhibit-tags{gap:8px 12px;margin-bottom:12px}.exhibit-tags li+li:before{margin-right:12px}.exhibit-credit{margin-top:10px}.motion-study{grid-row:3;margin-top:0;margin-bottom:26px;padding-top:12px}[data-current=motion-body] .exhibit-copy{grid-row:4}.gallery-footer{z-index:10;min-height:76px;padding:0 16px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0d100ded;position:fixed;inset:auto 0 0}.exhibit-rail{gap:0;min-height:76px}.exhibit-rail button{grid-template-columns:19px 1fr;gap:5px;padding:12px 9px}.exhibit-rail button em{font-size:14px}.exhibit-rail button small{font-size:9px}.exhibit-rail button i,.gallery-controls{display:none}}@media (width<=480px){.gallery-shell{padding-left:20px;padding-right:20px}.gallery-intro{display:none}.motion-toggle{margin-left:auto}.gallery-header{min-height:66px}.stage-frame,[data-current=motion-body] .stage-frame{height:320px}.viewer-toolbar>p{width:auto;padding-top:0}.viewer-toolbar{margin-bottom:20px}.view-presets{margin-left:auto}.exhibit-copy h1{font-size:40px}.exhibit-chinese{font-size:20px}.exhibit-rail button{flex-wrap:wrap;justify-content:center;gap:5px;padding:12px 4px;display:flex}.exhibit-rail button>span{padding-top:4px;font-size:9px}.exhibit-rail button em{font-size:13px}.exhibit-rail button small{text-align:center;width:100%;font-size:9px}.exhibit-rail button:before{left:4px;right:4px}.motion-presets button{gap:7px;font-size:13px}.motion-presets button small{font-size:9px}.motion-prompt{font-size:12px}}@media (width<=360px){.gallery-shell{padding-left:16px;padding-right:16px}.stage-frame,[data-current=motion-body] .stage-frame{height:285px}.exhibit-copy h1{font-size:35px}.motion-presets button>span{display:none}.gallery-footer{padding-left:8px;padding-right:8px}}@media (height<=520px) and (width>=801px){.stage-frame,[data-current=motion-body] .stage-frame{height:380px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
