@font-face{font-family:ExhibitionSerif;src:local(Noto Serif SC),local(Source Han Serif SC),local(Songti SC),local(SimSun);font-display:swap}:root{--paper:#f2efe7;--ink:#252923;--muted:#74786e;--olive:#697552;--line:#464b3c2e;--gutter:5.2vw;--header:88px;--serif:ExhibitionSerif,"Songti SC","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",sans-serif}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:auto}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--olive);outline-offset:7px}p{text-wrap:pretty;color:var(--muted);margin:0 0 24px;line-height:1.9}::selection{background:var(--olive);color:var(--paper)}[hidden]{display:none!important}.skip{z-index:100;background:var(--ink);color:var(--paper);padding:16px;position:fixed;top:-80px;left:20px}.skip:focus{top:12px}.masthead{z-index:30;height:var(--header);margin:0 var(--gutter);border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.wordmark{font-family:var(--serif);letter-spacing:.13em;white-space:nowrap;align-items:center;gap:23px;font-size:31px;font-weight:600;display:flex}.wordmark>span{font-family:var(--sans);letter-spacing:.16em;color:var(--muted);white-space:normal;max-width:100px;font-size:8px;font-weight:400;line-height:1.6}.navigation{align-items:center;gap:38px;height:100%;display:flex}.navigation a{letter-spacing:.13em;padding:10px 0;font-size:14px;position:relative}.navigation a:after{content:"";background:var(--olive);transform-origin:0;height:2px;transition:transform .3s;position:absolute;bottom:0;left:0;right:2px;transform:scaleX(0)}.navigation a.active{color:var(--olive)}.navigation a.active:after,.navigation a:hover:after{transform:scaleX(1)}.menu-toggle{display:none}#stage{left:32%;right:2%;top:var(--header);z-index:1;transition:opacity .5s;position:fixed;bottom:55px}#scene{touch-action:pan-y;outline:0;width:100%;height:100%;display:block}.vertical-caption{z-index:4;writing-mode:vertical-rl;color:var(--muted);letter-spacing:.32em;font-size:11px;position:fixed;top:36%;right:2.3vw}.model-loading{background:var(--paper);letter-spacing:.12em;color:var(--muted);z-index:4;flex-direction:column;justify-content:center;align-items:center;gap:22px;font-size:12px;transition:opacity .6s;display:flex;position:absolute;inset:0}.model-loading.done{opacity:0;pointer-events:none}.loading-orbit{border:1px solid var(--line);border-top-color:var(--olive);border-radius:50%;width:42px;height:42px;animation:1.5s linear infinite orbit}.loading-track{background:var(--line);width:160px;height:1px}.loading-track i{background:var(--olive);width:0;height:100%;transition:width .25s;display:block}@keyframes orbit{to{transform:rotate(360deg)}}.chapter{pointer-events:none;height:115svh;position:relative}.chapter:last-child{height:100svh}.copy{left:var(--gutter);opacity:0;visibility:hidden;z-index:5;will-change:opacity,transform;pointer-events:none;width:31%;max-width:470px;position:fixed;top:50%;transform:translateY(-45%)}.chapter.active .copy{pointer-events:auto}.eyebrow{letter-spacing:.22em;color:var(--muted);align-items:center;gap:14px;margin-bottom:31px;font-size:11px;line-height:1.7;display:flex}.tiny-line{background:var(--olive);width:24px;height:1px;display:inline-block}h1,h2{font-family:var(--serif);letter-spacing:-.035em;text-wrap:balance;margin:0 0 30px;font-size:clamp(43px,4.55vw,77px);font-weight:500;line-height:1.32}.hero-copy h1{letter-spacing:-.04em;margin-bottom:32px;font-size:clamp(54px,5.7vw,94px);line-height:1.25}.title-stop{color:var(--olive);width:.1em;font-size:.66em;display:inline-block}.intro{letter-spacing:.055em;margin-bottom:32px;font-size:17px;line-height:1.9}.button{letter-spacing:.13em;border-radius:2px;justify-content:space-between;align-items:center;gap:46px;min-height:52px;padding:14px 24px;font-size:14px;transition:background .25s,transform .25s;display:inline-flex}.button.primary{background:var(--olive);color:var(--paper)}.button:hover{background:var(--ink);transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.hero-footnote{letter-spacing:.08em;margin-top:28px;font-size:11px}.line-note{border-top:1px solid var(--line);max-width:290px;margin-top:36px;padding-top:22px}.line-note>span{font-family:var(--serif);font-size:24px}.line-note p{margin-top:10px;margin-bottom:18px;font-size:13px}.text-link{width:fit-content;color:var(--olive);border-bottom:1px solid var(--line);letter-spacing:.09em;align-items:center;gap:24px;margin-top:24px;padding:9px 0;font-size:12px;display:flex}.text-link:hover{color:var(--ink);border-color:var(--ink)}.region-list{max-width:300px;margin-top:28px}.region-list a{border-top:1px solid var(--line);align-items:center;gap:20px;padding:14px 0;transition:padding .25s,color .25s;display:flex}.region-list a:last-child{border-bottom:1px solid var(--line)}.region-no{color:var(--olive);font-variant-numeric:tabular-nums;font-size:11px}.region-list a>span:nth-child(2){flex:1;font-size:16px}.region-list small{color:var(--muted);margin-left:15px;font-size:11px;display:inline-block}.region-list b{color:var(--olive);font-size:18px;font-weight:400}.region-list a:hover{color:var(--olive);padding-left:8px}.structure-copy h2{margin-bottom:18px}.structure-copy>p{margin-bottom:20px;font-size:14px}.region-tabs{z-index:15;top:calc(var(--header) + 24px);left:var(--gutter);opacity:0;pointer-events:none;gap:28px;transition:opacity .3s;display:flex;position:fixed}.region-tabs.visible{opacity:1;pointer-events:auto}.region-tabs a{color:var(--muted);border-bottom:2px solid #0000;padding:8px 0;font-size:11px}.region-tabs a span{margin-left:5px}.region-tabs a.active{color:var(--olive);border-color:var(--olive)}.detail .copy{transform:translateY(-39%)}.detail-lines{max-width:330px}.detail-lines>div{border-top:1px solid var(--line);padding:15px 0}.detail-lines>div>span{font-family:var(--serif);letter-spacing:.04em;font-size:21px}.detail-lines p{margin:6px 0 0;font-size:13px;line-height:1.8}.small-note{letter-spacing:.025em;margin-top:22px;font-size:10px}.material-legend{gap:25px;margin-top:40px;font-size:12px;display:flex}.material-legend>span{flex-direction:column;gap:12px;display:flex}.swatch{border:1px solid var(--line);border-radius:50%;width:44px;height:44px;display:block;box-shadow:inset 0 0 10px #00000014}.swatch.tile{background:repeating-linear-gradient(90deg,#666961 0 2px,#83877d 2px 5px)}.swatch.wall{background:#d4cec0}.swatch.timber{background:repeating-linear-gradient(90deg,#624b37 0 1px,#72563e 1px 5px)}.end-copy h2,.value-copy h2{font-size:clamp(39px,4.15vw,68px)}footer{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:10px;margin-top:40px;padding-top:18px;font-size:10px;display:flex}footer button{color:var(--muted);text-align:left;width:fit-content;padding:0;font-size:10px}.bottom-bar{bottom:0;left:var(--gutter);right:var(--gutter);z-index:20;border-top:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;height:64px;display:flex;position:fixed}.chapter-count{letter-spacing:.1em;color:var(--muted);font-variant-numeric:tabular-nums;align-items:baseline;gap:15px;font-size:12px;display:flex}.chapter-count b{font-family:var(--serif);color:var(--ink);font-size:24px;font-weight:500}.bottom-center{letter-spacing:.12em;color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.live-dot{background:var(--olive);border-radius:50%;width:4px;height:4px}.next-chapter{letter-spacing:.06em;color:var(--muted);align-items:center;gap:24px;padding:10px 0 10px 16px;font-size:11px;display:flex}.arrow-down{color:var(--ink);font-size:24px}.next-chapter:hover{color:var(--ink)}.timeline{z-index:12;flex-direction:column;gap:9px;display:flex;position:fixed;bottom:150px;right:2.7vw}.timeline button{place-items:center;width:18px;height:12px;padding:0;display:grid}.timeline button:after{content:"";background:var(--muted);opacity:.35;border-radius:50%;width:3px;height:3px;transition:all .3s}.timeline button.active:after{background:var(--olive);opacity:1;border-radius:3px;width:5px;height:16px}.inspect-toggle{z-index:12;color:var(--muted);border:1px solid var(--line);background:#f2efe7cc;border-radius:30px;align-items:center;gap:9px;padding:9px 15px;font-size:10px;transition:color .3s;display:flex;position:fixed;bottom:90px;right:6%}.inspect-toggle:hover{color:var(--ink)}.orbit-icon{font-size:19px;line-height:1}.annotation{color:var(--olive);white-space:nowrap;pointer-events:none;will-change:transform,opacity;text-shadow:0 1px 7px var(--paper);align-items:center;gap:10px;font-size:11px;display:flex;position:absolute;top:0;left:0}.annotation:before{content:"";background:var(--olive);border:2px solid var(--paper);box-sizing:content-box;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 1px #69755266}.annotation:after{content:"";background:var(--olive);width:25px;height:1px;position:absolute;top:50%;left:8px}.annotation span{background:#f2efe7e6;border-radius:2px;margin-left:20px;padding:4px 8px}.annotation.hidden{opacity:0}.exploring #stage{bottom:0;left:0;right:0}.exploring #scene{touch-action:none}.exploring .copy,.exploring .bottom-bar,.exploring .timeline,.exploring .region-tabs,.exploring .inspect-toggle,.exploring .vertical-caption{opacity:0!important;pointer-events:none!important}.explore-toolbar{z-index:40;border:1px solid var(--line);background:var(--paper);white-space:nowrap;border-radius:3px;align-items:center;gap:6px;padding:8px 12px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #25292314}.explore-toolbar>span{color:var(--muted);padding:0 14px;font-size:11px}.explore-toolbar button{min-height:44px;padding:12px 16px;font-size:12px}.explore-toolbar button:hover,.explore-toolbar button[aria-pressed=true]{background:var(--olive);color:var(--paper)}dialog{background:var(--paper);border:1px solid var(--line);width:calc(100% - 36px);max-width:580px;color:var(--ink);padding:48px;box-shadow:0 20px 80px #25292322}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#25292366}dialog h2{font-size:35px}dialog p{font-size:13px}dialog a{border-bottom:1px solid var(--olive);color:var(--olive);padding-bottom:4px;font-size:12px}.dialog-close{padding:5px 10px;font-size:30px;position:absolute;top:10px;right:15px}.noscript{z-index:90;background:var(--paper);padding:30px;position:fixed;inset:40% 20%}.model-error .model-loading{text-align:center;padding:25px}.model-error #stage{background:url(../images/overview.jpg) 50%/contain no-repeat}.model-error .model-loading{background:#f2efe7e6;inset:auto 0 5%}.model-error .loading-orbit,.model-error .loading-track{display:none}@media (width>=1800px){:root{--header:106px}.copy{max-width:580px}.intro{font-size:20px}.detail-lines p{font-size:16px}.detail-lines{max-width:400px}.detail-lines>div{padding:19px 0}.detail-lines>div>span{font-size:25px}.eyebrow{font-size:13px}.bottom-bar{height:76px}}@media (width<=1100px){.wordmark>span{display:none}.navigation{gap:27px}.copy{width:32%}h1,h2{font-size:46px}.hero-copy h1{font-size:59px}.intro{font-size:15px}.detail-lines p{font-size:12px}.region-list small{margin:5px 0 0;display:block}.region-list a{padding:10px 0}.region-tabs{gap:20px}.end-copy h2,.value-copy h2{font-size:41px}}@media (width<=900px){:root{--gutter:24px;--header:70px}.masthead{margin:0 24px}.wordmark{letter-spacing:.08em;font-size:25px}.menu-toggle{flex-direction:column;justify-content:center;gap:6px;min-height:44px;padding:12px;display:flex}.menu-toggle span{background:var(--ink);width:20px;height:1px;display:block}.navigation{background:var(--paper);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:22px;height:auto;padding:20px 24px;display:none;position:absolute;top:69px;left:-24px;right:-24px}.navigation.open{display:grid}.navigation a{width:fit-content}.copy{width:calc(100% - 48px);max-width:none;left:24px;top:108px!important;transform:none!important}.eyebrow{letter-spacing:.18em;margin-bottom:15px;font-size:9px}.hero-copy h1{margin-bottom:15px;font-size:48px;line-height:1.2}h2{margin-bottom:14px;font-size:36px;line-height:1.2}.intro{margin-bottom:18px;font-size:13px;line-height:1.8}.hero-copy .intro{margin-bottom:16px}.button{gap:25px;min-height:44px;padding:10px 16px;font-size:11px}.hero-footnote{display:none}#stage{inset:36% 0 70px}.hero-copy{z-index:5}.hero-copy .button{position:absolute;top:135px;right:0}.hero-copy h1{max-width:250px}.chapter{height:110svh}.vertical-caption{display:none}.bottom-bar{height:58px;left:24px;right:24px}.bottom-center{display:none}.next-chapter,.chapter-count{gap:10px;font-size:10px}.chapter-count b{font-size:20px}.timeline{display:none}.inspect-toggle{background:var(--paper);padding:7px 12px;font-size:9px;bottom:75px;right:24px}.region-tabs{justify-content:space-between;gap:0;top:78px;left:24px;right:24px}.region-tabs a{font-size:9px}.region-tabs a span{margin-left:2px}.detail .copy{top:132px!important}.detail h2{float:left;width:48%;margin-right:4%;font-size:33px}.detail .eyebrow{margin-bottom:12px}.detail-lines{max-width:none}.detail .detail-lines{width:48%;display:inline-block}.detail-lines>div{padding:7px 0}.detail-lines>div>span{font-size:14px}.detail-lines p{margin-top:3px;font-size:10px;line-height:1.7}.small-note{clear:both;margin-top:10px;font-size:8px}.detail .small-note{position:absolute;top:218px;left:0}.detail .detail-lines>div:last-child{display:none}.structure-copy h2{float:left;width:48%}.structure-copy>p{padding-top:2px;font-size:11px}.region-list{clear:both;grid-template-columns:1fr 1fr;gap:0 18px;max-width:none;margin-top:10px;display:grid}.region-list a{gap:10px;padding:9px 0}.region-list a>span:nth-child(2){font-size:12px}.region-list small{margin:3px 0 0;font-size:9px}.region-list a:last-child{border-bottom:0}.region-list b{font-size:13px}.line-note{max-width:46%;margin:0;padding-top:12px;position:absolute;top:25px;left:54%}.line-note>span{font-size:20px}.line-note p{font-size:11px}.chapter:nth-child(2) .intro{font-size:12px}.chapter:nth-child(2) .text-link{margin-top:6px;font-size:10px}.chapter:nth-child(8) h2{float:left;width:50%}.chapter:nth-child(8) .intro{padding-top:10px;font-size:11px}.material-legend{clear:both;gap:20px;margin-top:12px;font-size:10px}.material-legend>span{flex-direction:row;align-items:center;gap:7px}.swatch{width:25px;height:25px}.end-copy h2,.value-copy h2{font-size:34px}.value-copy .detail-lines{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.value-copy .detail-lines p{font-size:10px}.end-copy .text-link{margin:0;font-size:10px;position:absolute;top:210px;left:155px}.end-copy .intro{margin-bottom:15px}.end-copy footer{display:none}.annotation{gap:3px;font-size:9px}.annotation span{margin-left:14px;padding:3px 5px}.annotation:after{width:18px}.exploring #stage{top:70px}.explore-toolbar{flex-wrap:wrap;justify-content:center;width:calc(100% - 32px);padding:6px;bottom:16px}.explore-toolbar>span{text-align:center;width:100%;padding:6px}.explore-toolbar button{padding:10px 12px;font-size:11px}.exploring .navigation{display:none}dialog{padding:36px 28px}dialog h2{font-size:29px}}@media (width<=900px) and (height<=700px){#stage{top:40%}.copy{top:90px!important}.detail .copy{top:121px!important}.hero-copy h1{font-size:40px}.hero-copy .button{top:125px}.detail .small-note{display:none}.detail h2{font-size:29px}.detail-lines p{font-size:9px}.copy .intro{font-size:11px}.material-legend{margin-top:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.copy{will-change:auto}}.annotation.left{flex-direction:row-reverse}.annotation.left:after{left:auto;right:8px}.annotation.left span{margin-left:0;margin-right:20px}@media (width<=900px){.detail .detail-lines>div:last-child{display:block}body[data-chapter="2"] #stage,body[data-chapter="3"] #stage,body[data-chapter="4"] #stage,body[data-chapter="5"] #stage,body[data-chapter="6"] #stage{top:43%}.exploring #stage{top:70px!important}.detail .small-note{top:216px}}#stage,body[data-chapter] #stage,.exploring #stage{pointer-events:none;background-color:#0000;overflow:visible;inset:0!important}.exploring #stage{pointer-events:auto}.copy{width:28%;max-width:440px;box-shadow:none;isolation:auto;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important}.masthead,.bottom-bar{background:0 0}.ambient-lines{z-index:0;pointer-events:none;transform-origin:70%;will-change:transform;opacity:.22;position:fixed;inset:0}.ambient-lines i{border:1px solid #b6b7a426;border-radius:50%;width:50vw;height:50vw;position:absolute;top:21%;left:43%}.ambient-lines i+i{border-style:dashed;width:44vw;height:44vw;top:27%;left:46%}.model-loading{background:0 0;left:36%;right:3%}.model-error #stage{background-image:url(../images/overview.jpg);background-position:93% 55%;background-repeat:no-repeat;background-size:58%}.model-error .model-loading{background:var(--paper);bottom:16%;left:39%;right:6%}.annotation span{text-shadow:0 1px 4px var(--paper),0 -1px 4px var(--paper);background:0 0}.vertical-caption{right:1.8vw}.inspect-toggle{background:0 0}.annotation{color:var(--ink);display:block}.annotation:after{display:none}.annotation span{letter-spacing:.035em;text-shadow:-1px -1px 0 var(--paper),1px -1px 0 var(--paper),-1px 1px 0 var(--paper),1px 1px 0 var(--paper);padding:0;position:absolute;top:0;left:0;margin:0!important}.annotation:before{width:4px;height:4px;display:block;transform:translate(-50%,-50%)}.callout-line{transform-origin:0 0;background:#69755266;height:1px;position:absolute;top:0;left:0}@media (width>=901px) and (height<=760px){.eyebrow{margin-bottom:18px}h1,h2{margin-bottom:20px}.hero-copy h1{margin-bottom:22px;font-size:clamp(48px,5vw,76px)}.intro{margin-bottom:22px;font-size:14px}.detail-lines>div{padding:10px 0}.detail-lines>div>span{font-size:19px}.small-note{margin-top:14px}.region-list{margin-top:12px}.region-list a{padding:10px 0}.hero-footnote,.line-note{margin-top:20px}footer{margin-top:24px}}@media (width<=900px){.copy{width:calc(100% - 48px);max-width:none}.ambient-lines{opacity:.12}.ambient-lines i{width:80vw;height:80vw;top:48%;left:10%}.ambient-lines i+i{width:70vw;height:70vw;top:51%;left:15%}.model-loading{inset:42% 0 16%}.model-error #stage{background-position:50% 70%;background-size:90%}.model-error .model-loading{bottom:15%;left:24px;right:24px}.end-copy footer{gap:6px;margin-top:16px;padding-top:12px;font-size:8px;display:flex}.end-copy footer button{font-size:9px}.end-copy .text-link{margin-top:10px;position:static}.end-copy h2{margin-bottom:12px;font-size:32px}.end-copy .intro{margin-bottom:12px;font-size:12px;line-height:1.7}.annotation{font-size:9px}.annotation span{white-space:normal;max-width:110px;line-height:1.5}}.model-error #scene{visibility:hidden}.model-loading{pointer-events:auto}.model-loading.done{pointer-events:none}.fact-note,.guide-note{color:var(--muted);letter-spacing:.02em;max-width:370px;margin:22px 0 0;font-size:12px;line-height:1.8}.fact-note b{color:var(--olive);letter-spacing:.08em;margin-right:8px;font-weight:500;display:inline-block}.guide-note{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.guide-note span{color:var(--olive);letter-spacing:.16em;margin-bottom:5px;font-size:10px;display:block}.exploring #stage,.exploring[data-chapter] #stage,.exploring #scene,.explore-toolbar{pointer-events:auto!important}.explore-toolbar button[id^=zoom-]{min-width:44px;font-family:var(--serif);padding-inline:12px;font-size:20px;line-height:1}.explore-toolbar button[aria-disabled=true]{opacity:.38;cursor:default}@media (width<=900px){.fact-note,.guide-note{max-width:none;font-size:10px;line-height:1.7}.fact-note{margin-top:11px}.guide-note{margin-top:11px;padding-top:9px}.guide-note span{font-size:8px}.explore-toolbar button[id^=zoom-]{min-width:42px;padding-inline:10px}}.copy .intro{font-size:clamp(17px,1.35vw,22px);line-height:1.95}.copy>p:not(.intro):not(.fact-note):not(.guide-note):not(.hero-footnote):not(.small-note){font-size:16px}.detail-lines p{font-size:15px}.fact-note,.guide-note{max-width:430px;font-size:14px}.small-note{font-size:11px}.region-list a>span:nth-child(2){font-size:18px}.region-list small{font-size:12px}@media (width<=900px){.copy .intro{font-size:15px;line-height:1.85}.copy>p:not(.intro):not(.fact-note):not(.guide-note):not(.hero-footnote):not(.small-note){font-size:13px}.detail-lines p{font-size:11px}.fact-note,.guide-note{font-size:12px;line-height:1.7}.small-note{font-size:9px}.region-list a>span:nth-child(2){font-size:13px}.region-list small{font-size:10px}}
