@charset "UTF-8";
@font-face{font-family:MaShan;src:url('./assets/fonts/MaShanZheng-Title.1c674a63c06a.woff2') format('woff2');font-display:swap}
@font-face{font-family:WenKai;src:url('./assets/fonts/LXGWWenKai-Story.457d8d826ca8.woff2') format('woff2');font-display:swap}
@font-face{font-family:Cormorant;src:url('./assets/fonts/CormorantGaramond-Italic.351adf327f72.woff2') format('woff2');font-style:italic;font-weight:300 700;font-display:swap}
:root{--paper:#eee9dc;--paper-light:#f5f1e7;--ink:#322e25;--muted:#777363;--line:#c9c1af;--red:#a34c36;--green:#727d55;--sans:'PingFang SC','Microsoft YaHei',system-ui,sans-serif;--story:WenKai,'STSong',serif;--display:MaShan,'STKaiti',serif;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:14px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none;color:inherit;cursor:pointer;touch-action:manipulation}a{color:inherit;text-underline-offset:4px}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}svg.icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}span[data-icon]{display:inline-flex;flex-shrink:0;align-items:center}button{transition:color .18s,background .18s,opacity .18s}.skip-link{position:fixed;top:-60px;left:20px;z-index:200;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:8px}.mobile-only{display:none}
.masthead{height:86px;display:flex;align-items:center;justify-content:space-between;margin:0 3.6%;border-bottom:1px solid var(--line);position:relative;z-index:70}.brand{display:flex;gap:12px;align-items:center;padding:0;text-align:left}.brand-seal{font-family:var(--display);font-size:32px;background:var(--red);color:var(--paper-light);height:44px;width:39px;display:grid;place-items:center;transform:rotate(-3deg);border:1px solid #863f2f;box-shadow:inset 0 0 0 3px var(--red),inset 0 0 0 4px #dcb196}.brand-text{font-family:var(--story);font-size:25px;letter-spacing:3px}.brand-text>span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:3px}.main-nav{display:flex;height:100%;gap:44px;margin-left:12px}.nav-link{position:relative;padding:0 5px;font-size:13px;letter-spacing:1px;color:var(--muted)}.nav-link>span{display:block;font-size:8px;letter-spacing:1.5px;margin-top:5px}.nav-link.active{color:var(--ink)}.nav-link.active:after{content:'';position:absolute;bottom:-1px;left:4px;right:4px;height:2px;background:var(--red)}.journal-button{display:flex;gap:8px;align-items:center;font-size:12px;padding:12px 0}.journal-button .icon{width:18px}.journal-button b{font-weight:400;font-size:11px;border-left:1px solid var(--line);padding-left:10px;margin-left:3px}.journal-button:hover{color:var(--red)}
.experience{position:relative;height:calc(100dvh - 86px);min-height:430px;isolation:isolate}.paper-grain{position:absolute;inset:0;pointer-events:none;opacity:.15;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='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.18' filter='url(%23n)'/%3E%3C/svg%3E")}.introduction{position:absolute;z-index:12;left:4.8%;top:9.5%;width:300px;transition:opacity .35s,transform .55s;pointer-events:none}.introduction>*{pointer-events:auto}.place-caption{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:2px;color:var(--muted)}.caption-rule{height:1px;width:25px;background:var(--red)}.introduction h1{white-space:nowrap;font-family:var(--display);font-weight:400;font-size:clamp(88px,8.1vw,125px);letter-spacing:-8px;line-height:1.1;margin:34px 0 12px;transform:rotate(-3deg);transform-origin:left bottom}.hero-subtitle{display:flex;gap:13px;align-items:center;margin:20px 0}.hero-subtitle h2{font-family:var(--story);font-size:29px;letter-spacing:3px;font-weight:400;margin:0}.red-mark{font-family:var(--story);font-size:10px;line-height:1.15;border:1px solid var(--red);color:var(--red);padding:3px 4px;transform:rotate(3deg)}.hero-copy{font-size:13px;line-height:2.05;letter-spacing:.5px;margin:23px 0 28px;color:#6b6659}.primary-button{background:var(--red);color:#f8f2e5;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:15px 20px;font-size:13px;letter-spacing:1px;min-height:48px;box-shadow:3px 3px 0 #673b2218}.primary-button:hover{background:#853f2e}.primary-button .icon{width:18px}.button-arrow{border-left:1px solid #e9e3d54d;padding-left:16px}.text-link{display:inline-flex;gap:13px;align-items:center;font-size:12px;text-decoration:none;padding:9px 0;border-bottom:1px solid transparent}.text-link:hover{color:var(--red);border-bottom-color:var(--red)}.text-link .icon{width:15px;height:15px}.introduction>.text-link{margin-top:9px;color:var(--muted);font-size:11px}.hero-edition{margin-top:36px;padding-top:17px;border-top:1px solid var(--line);width:205px;display:flex;flex-direction:column;gap:7px}.hero-edition>span{font-size:9px;letter-spacing:3px}.hero-edition em{font-family:Cormorant,Georgia,serif;font-size:20px;color:#83785f}.hero-edition small{font-size:10px;color:#928977;letter-spacing:.5px}.village{position:absolute;left:23%;right:0;top:26px;bottom:75px;transition:left .65s cubic-bezier(.2,.7,.2,1),right .65s cubic-bezier(.2,.7,.2,1)}.village-canvas{display:block;outline:0;cursor:grab;touch-action:none}.map-topline{position:absolute;left:36%;right:4.4%;top:25px;z-index:25;display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.map-mode-label{font-size:10px;letter-spacing:1px}.quiet-button{font-size:11px;display:inline-flex;align-items:center;gap:7px;padding:5px 0}.quiet-button:hover{color:var(--red)}.quiet-button .icon{width:15px;height:15px}.map-tools{position:absolute;z-index:30;right:3.1%;top:42%;display:flex;gap:10px;flex-direction:column}.icon-button{display:grid;place-items:center;width:39px;height:39px;flex-shrink:0}.map-tools .icon-button{background:#f7f2e8e8;border:1px solid #cfc5b1}.icon-button:hover{background:#ddd5c4;color:var(--red)}.icon-button .icon{width:18px;height:18px}.zoom-controls .icon-button+.icon-button{border-top:0}.map-coordinate{position:absolute;left:35%;bottom:137px;display:flex;align-items:center;gap:8px;color:#8e8878;pointer-events:none}.coordinate-cross{font-size:23px;font-weight:200}.map-coordinate>span:last-child{font-size:8px;line-height:1.6;letter-spacing:.6px}.map-instruction{position:absolute;bottom:124px;left:65%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;color:#8e8878;font-size:10px;white-space:nowrap;pointer-events:none}.map-instruction .icon{width:14px;height:14px}.walk-dock{position:absolute;bottom:52px;left:64%;transform:translateX(-50%);display:flex;align-items:center;gap:17px;width:550px;max-width:calc(100% - 40px);padding:13px 18px;border-top:1px solid #b8ae97;border-bottom:1px solid #d1c7b4;background:#eee8dbe8;z-index:25;backdrop-filter:blur(8px)}.walk-number{font-family:Cormorant,Georgia,serif;font-size:35px;line-height:.8;display:flex;align-items:baseline;gap:4px;color:var(--red)}.walk-number span{font-size:9px;font-family:var(--sans);color:#8e8878}.walk-copy{display:flex;flex-direction:column;gap:7px;flex:1}.walk-copy>span{font-family:var(--story);font-size:15px}.walk-copy small{font-size:9px;color:#8e8878}.walk-start{display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap;border-left:1px solid var(--line);padding:10px 0 10px 15px}.walk-start:hover{color:var(--red)}.walk-start .icon{width:16px}.map-footer{position:absolute;bottom:0;left:3.6%;right:3.6%;height:34px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.3px;color:#8a8373;z-index:35}.map-footer>span{display:flex;gap:6px;align-items:center}.map-footer i{width:4px;height:4px;background:var(--red);border-radius:50%}.map-footer>div{display:flex;gap:24px}.map-footer button{display:flex;align-items:center;gap:5px;font-size:9px;color:#7c7566}.map-footer .icon{width:12px;height:12px}.map-footer button:hover{color:var(--red)}
.map-marker{position:absolute;z-index:15;transform:translate(-50%,-100%);background:#f6f0e3ee;border:1px solid #c7bba3;border-radius:50%;height:31px;min-width:31px;padding:4px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #3e32261c;white-space:nowrap;pointer-events:auto;transition:opacity .2s,background .2s}.map-marker:after{content:'';height:18px;position:absolute;top:100%;left:50%;border-left:1px solid #a08c6d}.map-marker:before{content:'';position:absolute;top:calc(100% + 17px);left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px #f8f3e699}.marker-number{font-family:Cormorant,Georgia,serif;font-size:17px;line-height:20px;min-width:21px}.marker-label{max-width:0;opacity:0;overflow:hidden;font-family:var(--story);font-size:13px;transition:max-width .22s,opacity .2s,margin .22s}.map-marker:hover,.map-marker:focus-visible,.map-marker.is-active,.map-marker.is-hovered{border-radius:3px;background:var(--red);color:#fff4dc;border-color:var(--red)}.map-marker:hover .marker-label,.map-marker:focus-visible .marker-label,.map-marker.is-active .marker-label,.map-marker.is-hovered .marker-label{max-width:150px;opacity:1;margin:0 8px 0 5px}.map-marker.is-visited:not(.is-active) .marker-number{color:var(--red)}.map-marker.is-muted{visibility:hidden!important}.map-marker.is-tour{outline:2px solid #b3774d55;outline-offset:3px}.labels-off .map-marker:not(.is-active){opacity:0;pointer-events:none}.is-exploring .introduction,.place-open .introduction{opacity:0;transform:translateX(-30px);pointer-events:none;visibility:hidden}.is-exploring .village{left:2%;right:2%}.is-exploring .map-topline{left:4.4%}.is-exploring .walk-dock{left:50%}.is-exploring .map-instruction{left:50%}.is-exploring .map-coordinate{left:4.4%}.place-open .village{left:0;right:368px}.place-open .map-tools{right:383px}.place-open .map-topline{left:4.4%;right:395px}.place-open .map-coordinate{display:none}.place-open .map-instruction{left:calc((100% - 368px)/2);bottom:56px}.place-open .walk-dock{display:none}.directory-open:not(.place-open) .village{left:240px}.directory-open .map-topline{left:270px}.directory-open .map-coordinate{display:none}
.place-index{position:absolute;left:3.6%;top:20px;bottom:150px;width:220px;z-index:36;background:#f4eee2f5;border-top:2px solid var(--ink);padding:8px 16px 14px;box-shadow:0 12px 30px #3e322608;overflow:auto}.index-top{display:flex;align-items:center;justify-content:space-between;font-family:var(--story);font-size:19px;padding-bottom:6px}.index-top .icon-button{width:27px;height:32px}.category-tabs{display:flex;flex-wrap:wrap;gap:7px 12px;border-bottom:1px solid var(--line);padding-bottom:15px}.category-tabs button{padding:3px 0;color:var(--muted);font-size:10px;border-bottom:1px solid transparent}.category-tabs button.active{color:var(--red);border-color:var(--red)}.index-list{display:flex;flex-direction:column}.index-item{display:flex;align-items:center;gap:10px;border-bottom:1px solid #ddd3c2;padding:16px 0;text-align:left}.index-item>span{font-family:Cormorant,serif;font-size:23px;color:#b09b7b;width:22px}.index-item>div{flex:1}.index-item strong{font-family:var(--story);font-size:16px;font-weight:400}.index-item small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.index-item .icon{width:13px;height:13px}.index-item:hover,.index-item.active{color:var(--red)}.index-note{font-size:10px;line-height:1.9;color:#99907e;margin:18px 0 0}.place-panel{position:absolute;z-index:40;right:3%;top:20px;bottom:52px;width:322px;background:var(--paper-light);display:flex;flex-direction:column;border-top:2px solid var(--ink);box-shadow:0 10px 30px #4c3c2110;animation:panel-in .4s ease}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:9px 17px 8px 23px;border-bottom:1px solid #ddd4c3;flex-shrink:0}.panel-head>span{font-size:10px;letter-spacing:1px;color:var(--muted)}.panel-head .icon-button{width:28px;height:28px}.panel-scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c7bca6 transparent;padding:24px 25px 20px}.place-number{font-family:Cormorant,Georgia,serif;font-size:42px;font-weight:300;color:var(--red);line-height:.9}.place-panel h2{font-family:var(--story);font-size:28px;font-weight:400;letter-spacing:1px;margin:15px 0 8px;line-height:1.4}.place-en{font-family:Cormorant,Georgia,serif;font-style:italic;font-size:15px;letter-spacing:.6px;color:#94866b}.place-intro{font-family:var(--story);font-size:16px;line-height:1.8;color:#786b54;margin:22px 0}.place-tabs{display:flex;gap:22px;border-bottom:1px solid #d8cebb;margin:24px 0 15px}.place-tabs button{font-size:12px;padding:0 0 11px;position:relative;color:var(--muted)}.place-tabs button[aria-selected=true]{color:var(--ink)}.place-tabs button[aria-selected=true]:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red)}.place-body{font-size:12px;line-height:2.05;color:#6d6658}.place-observation{margin:22px 0;padding-left:13px;border-left:2px solid #c5b599;font-family:var(--story);font-size:14px;line-height:1.9;color:#8b7b61}.place-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}.place-tags span{font-size:9px;color:#8a7f6d;border-bottom:1px solid #cbbda4;padding:4px 0;margin-right:5px}.place-sources{margin:23px 0 5px;border-top:1px solid #d8cebb;padding-top:13px}.place-sources summary{font-size:10px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;color:#756c5b}.place-sources a{display:block;font-size:11px;line-height:1.8;margin-top:12px}.place-sources p{font-size:9px;color:#a09582;line-height:1.8;margin-top:12px}.panel-bottom{margin-top:auto;border-top:1px solid #d8cebb;display:flex;gap:0;padding:13px 18px;flex-shrink:0;background:var(--paper-light)}.save-place{display:flex;gap:10px;justify-content:center;align-items:center;background:var(--ink);color:var(--paper-light);font-size:12px;padding:13px;flex:1}.save-place:hover{background:var(--red)}.save-place[aria-pressed=true]{background:#e6ddcb;color:var(--red)}.save-place .icon{width:15px;height:15px}.next-place{display:grid;place-items:center;width:40px;flex-shrink:0;border:1px solid #d8cebb;border-left:0}.next-place:hover{background:#e6ddcb}.next-place .icon{width:17px}.architecture-plate{height:160px;background:#eee7d7;border:1px solid #d9ceba;margin:16px 0;overflow:hidden}.architecture-plate svg{width:100%;height:100%}.tour-bar{position:absolute;bottom:52px;left:calc((100% - 368px)/2);transform:translateX(-50%);width:520px;max-width:calc(100% - 410px);z-index:35;background:#f3eddfed;border-top:2px solid var(--red);padding:13px 18px 12px;backdrop-filter:blur(10px)}.tour-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.5px}.tour-top>.quiet-button{font-size:10px;color:var(--muted)}.tour-progress{display:flex;gap:5px;margin:13px 0 10px}.tour-progress button{height:3px;background:#d4c8b1;flex:1;padding:0}.tour-progress button.current,.tour-progress button.done{background:var(--red)}.tour-bar>p{font-family:var(--story);font-size:14px;line-height:1.6;margin:9px 0 10px;color:#786a51}.tour-controls{display:flex;align-items:center;gap:13px}.tour-controls>.icon-button{width:28px;height:28px;border:1px solid #cabba1}.tour-controls>span{font-size:10px;letter-spacing:2px;color:#8b7a60}.tour-controls>.quiet-button{margin-left:auto;font-size:10px}.tour-next{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--red)}.tour-next .icon{width:16px}.touring .map-instruction{display:none}.touring .village{bottom:165px}.scene-settings{position:absolute;z-index:50;right:78px;top:40%;width:235px;padding:16px 20px;background:var(--paper-light);box-shadow:0 12px 40px #49331b26;border:1px solid var(--line)}.place-open .scene-settings{right:430px}.setting-title{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:15px}.setting-title .icon-button{height:22px;width:22px}.scene-settings label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:9px}.scene-settings label span{color:var(--red)}.scene-settings input{width:100%;accent-color:var(--red);height:14px;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:#9d9078;margin:6px 0 19px}.setting-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 0;border-top:1px solid #e1d7c3;font-size:11px}.toggle-track{width:25px;height:13px;border-radius:10px;background:#b9ad96;position:relative}.toggle-track:after{content:'';position:absolute;top:2px;left:2px;width:9px;height:9px;border-radius:50%;background:#f4eddf;transition:transform .2s}.setting-toggle[aria-pressed=true] .toggle-track{background:var(--red)}.setting-toggle[aria-pressed=true] .toggle-track:after{transform:translateX(12px)}
.loading{position:absolute;inset:10% 5% 18% 28%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;background:var(--paper);color:#8e8068;z-index:45;pointer-events:none;font-size:12px;letter-spacing:2px;transition:opacity .5s}.loading.done{opacity:0}.loading-tree{font-family:var(--display);font-size:65px;color:var(--green);animation:breath 1.8s ease-in-out infinite}.loading i{width:90px;height:1px;background:#ccc0a8;position:relative;overflow:hidden}.loading i:after{content:'';position:absolute;left:-30px;width:30px;height:1px;background:var(--red);animation:loadline 1.4s ease-in-out infinite}.fallback{padding:50px 25px;text-align:center;border:1px solid var(--line);background:var(--paper-light);position:absolute;inset:22% 15%;font-family:var(--story)}.fallback p{line-height:1.9}.fallback button{color:var(--red);text-decoration:underline}.noscript{position:fixed;inset:25% 15%;z-index:200;background:var(--paper-light);padding:40px;line-height:2}
.archive{position:fixed;top:86px;bottom:0;left:0;right:0;z-index:60;background:var(--paper-light);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 7%}.archive-toolbar{display:flex;align-items:center;justify-content:space-between;padding:27px 0;font-size:10px;color:var(--muted);letter-spacing:1px;border-bottom:1px solid #ddd2bf}.archive-hero{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:65px 0 72px;border-bottom:1px solid var(--line)}.section-kicker{font-size:11px;letter-spacing:3px;color:var(--red)}.archive h1{font-family:var(--display);font-size:clamp(48px,5vw,77px);font-weight:400;line-height:1.35;letter-spacing:1px;margin:26px 0}.archive-lead{font-size:13px;line-height:2.2;color:#81745f}.archive-drawing{height:340px;position:relative}.archive-drawing svg{width:100%;height:100%}.archive-story,.archive-method{display:grid;grid-template-columns:25% 1fr;gap:8%;padding:65px 0;border-bottom:1px solid var(--line)}.section-number{font-family:var(--story);font-size:16px;color:#a18f70;letter-spacing:1px}.archive h2{font-family:var(--story);font-size:33px;font-weight:400;line-height:1.5;margin:0 0 26px}.archive-story p,.archive-method p{font-size:13px;line-height:2.2;color:#766c5d;max-width:700px}.archive-story .text-link{margin-top:9px;color:var(--red)}.archive-chapters{padding:55px 0 65px;border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.section-heading p{font-size:11px;color:#9b8d76}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}.chapter-card{text-align:left;padding:0;display:block}.chapter-art{height:185px;background:#ece3d1;border:1px solid #dbcfb8;overflow:hidden;transition:background .3s}.chapter-art svg{width:100%;height:100%;transition:transform .4s}.chapter-card:hover .chapter-art{background:#e5d8c1}.chapter-card:hover svg{transform:scale(1.04)}.chapter-caption{display:flex;gap:13px;align-items:center;margin-top:16px}.chapter-caption>span{font-family:Cormorant,serif;font-size:32px;color:var(--red)}.chapter-caption strong{font-family:var(--story);font-size:20px;font-weight:400}.chapter-caption small{display:block;font-size:9px;color:#a3957b;margin-top:6px;letter-spacing:.5px}.archive-sources{margin:30px 0}.source-row{display:grid;grid-template-columns:80px 1fr 15px;gap:12px;text-decoration:none;border-top:1px solid #ddd0b9;padding:17px 0;align-items:center}.source-row>span{font-size:10px;color:#a28c69}.source-row strong{font-size:12px;font-weight:400}.source-row small{display:block;font-size:10px;color:#a3957b;margin-top:6px}.source-row:hover{color:var(--red)}.location-link{display:inline-flex;gap:10px;align-items:center;border:1px solid #cbbb9f;padding:14px 17px;font-size:12px;text-decoration:none;margin-top:12px}.location-link .icon{width:16px}.archive-footer{display:flex;justify-content:space-between;align-items:center;padding:35px 0 45px;color:#92836a;font-size:11px}.signature{font-family:var(--display);font-size:38px;color:var(--ink)}
.journal,.about{border:1px solid #cbbda5;padding:28px 35px 25px;background:var(--paper-light);color:var(--ink);width:580px;max-width:calc(100% - 30px);max-height:85dvh;overflow:auto;box-shadow:0 20px 100px #33281838;scrollbar-width:thin}.journal::backdrop,.about::backdrop{background:#332e2560;backdrop-filter:blur(5px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#9c8c70}.dialog-header .icon-button{width:30px;height:30px}.journal h2,.about h2{font-family:var(--story);font-weight:400;font-size:32px;margin:26px 0 9px}.journal-subtitle{font-size:12px;color:#8c7d63}.journal-empty{padding:35px 0;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:30px 0}.journal-empty>span{font-family:var(--display);font-size:60px;color:#b6a081}.journal-empty p{font-family:var(--story);font-size:17px;line-height:1.7;color:#8a795d}.journal-stat{display:flex;gap:6px;margin:25px 0 20px}.journal-stat span{display:grid;place-items:center;flex:1;aspect-ratio:1;font-family:var(--display);font-size:27px;border:1px dashed #cbb99a;color:#c0ae90;transform:rotate(-2deg)}.journal-stat span.filled{border:1px solid var(--red);color:var(--red);background:#e9c5a517;transform:rotate(2deg)}.journal-entry{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding:16px 0;width:100%;text-align:left}.journal-entry>span{font-family:Cormorant,serif;font-size:27px;color:var(--red)}.journal-entry>div{flex:1}.journal-entry strong{font-family:var(--story);font-size:18px;font-weight:400}.journal-entry small{display:block;font-size:11px;line-height:1.7;color:#9a8667;margin-top:5px}.journal-entry .icon{width:15px}.journal-entry:hover{color:var(--red)}.journal-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:24px}.journal-actions .primary-button{font-size:11px;min-height:42px;padding:12px 16px}.journal-footnote{font-size:9px;color:#a99778;margin-top:20px}.about>p{font-size:13px;line-height:2;color:#84755e}.about-line{display:flex;gap:20px;border-top:1px solid var(--line);padding:15px 0}.about-line>span{font-family:var(--story);font-size:15px;color:var(--red);width:34px;flex-shrink:0}.about-line p{font-size:11px;line-height:1.9;color:#8b7b61;margin:0}.about>.text-link{color:var(--red)}#toast{position:fixed;bottom:55px;left:50%;transform:translate(-50%,10px);background:#332f27ed;color:#f5ebd8;padding:12px 20px;font-size:11px;z-index:150;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes breath{50%{opacity:.45;transform:translateY(-4px)}}@keyframes loadline{to{left:100%}}@keyframes panel-in{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1600px){.introduction{top:14%;left:5.5%;width:330px}.introduction h1{font-size:150px}.hero-subtitle h2{font-size:34px}.hero-copy{font-size:15px}.hero-edition{margin-top:45px}.village{left:23%;top:20px;bottom:90px}.place-panel{width:360px}.place-open .village{right:420px}.place-open .map-tools{right:435px}.place-open .map-topline{right:450px}.place-open .scene-settings{right:480px}.tour-bar{left:calc((100% - 420px)/2)}.place-body{font-size:14px}.place-panel h2{font-size:32px}.panel-scroll{padding:30px}.place-intro{font-size:18px}}
@media(max-height:760px) and (min-width:761px){.masthead{height:74px}.experience{height:calc(100dvh - 74px)}.archive{top:74px}.introduction{top:8%}.introduction h1{font-size:99px;margin-top:23px;margin-bottom:8px}.hero-subtitle{margin:12px 0}.hero-copy{margin:17px 0 20px;font-size:12px}.hero-edition{margin-top:20px;padding-top:12px}.hero-edition em{font-size:17px}.hero-edition small{display:none}.place-panel{top:15px}.panel-scroll{padding-top:18px}.place-number{font-size:35px}.place-intro{margin:15px 0}.place-tabs{margin-top:20px}.walk-dock{bottom:46px}.map-instruction{bottom:118px}.place-panel{bottom:45px}}
@media(max-width:1100px) and (min-width:761px){.introduction{left:4.8%;width:245px}.introduction h1{font-size:99px}.hero-subtitle h2{font-size:25px}.hero-copy{font-size:12px}.hero-edition{width:185px}.village{left:21%}.walk-dock{width:480px;left:63%;gap:11px;padding-left:13px;padding-right:13px}.walk-copy>span{font-size:14px}.walk-copy small{font-size:8px}.walk-number{font-size:29px}.main-nav{gap:28px}.map-topline{left:37%}.map-mode-label{font-size:9px}.map-coordinate{display:none}.place-open .village{right:330px;left:0}.place-panel{right:2%;width:300px}.place-open .map-tools{right:337px}.place-open .map-topline{right:350px}.place-open .scene-settings{right:381px}.tour-bar{left:calc((100% - 330px)/2);max-width:calc(100% - 365px)}.place-open .map-instruction{left:calc((100% - 330px)/2)}.place-index{left:3%;width:205px}.directory-open:not(.place-open) .village{left:200px}.directory-open .map-topline{left:245px}.archive{padding:0 6%}}
@media(max-width:760px){.masthead{height:68px;margin:0 18px}.brand{gap:9px}.brand-seal{height:34px;width:30px;font-size:27px}.brand-text{font-size:21px;letter-spacing:2px}.brand-text>span{font-size:7px;letter-spacing:1px;margin-top:1px}.main-nav{margin-left:auto;gap:0}.nav-link{display:none}.nav-link#archive-nav{display:block;font-size:11px;padding:0 12px}.nav-link>span{display:none}.nav-link.active:after{bottom:15px}.journal-button{padding:8px 0 8px 7px;gap:5px}.journal-button>span:nth-child(2){display:none}.journal-button b{font-size:9px;padding-left:5px;margin-left:0}.journal-button .icon{width:17px;height:17px}.experience{height:calc(100dvh - 68px);min-height:480px}.introduction{left:24px;top:24px;width:calc(100% - 48px)}.place-caption{font-size:9px;letter-spacing:1.3px;gap:7px}.caption-rule{width:15px}.introduction h1{font-size:80px;margin:17px 0 2px;letter-spacing:-5px;line-height:1.05;display:inline-block}.hero-subtitle{position:absolute;left:216px;top:43px;gap:8px;align-items:center}.hero-subtitle h2{font-size:19px;letter-spacing:2px;writing-mode:vertical-rl;height:120px;line-height:1.3}.red-mark{font-size:8px;padding:2px;align-self:flex-start;margin-top:13px}.hero-copy{font-size:11px;line-height:1.9;margin:11px 0 0;max-width:245px}.hero-copy br:nth-child(2){display:none}.introduction>.primary-button,.introduction>.text-link,.hero-edition{display:none}.village{left:0;right:0;top:194px;bottom:128px;transition:none}.map-topline{left:23px;right:20px;top:205px}.map-mode-label{font-size:8px;letter-spacing:.2px}.quiet-button{font-size:10px}.map-topline .quiet-button .icon{width:13px;height:13px}.map-tools{right:13px;top:auto;bottom:142px;gap:6px}.map-tools .icon-button{width:32px;height:32px}.icon-button .icon{width:16px;height:16px}.map-coordinate{display:none}.map-instruction{bottom:120px;left:50%;font-size:9px}.desktop-only{display:none}.mobile-only{display:inline}.walk-dock{left:50%;bottom:44px;width:calc(100% - 36px);max-width:none;gap:10px;padding:12px 0;background:transparent;backdrop-filter:none}.walk-number{font-size:31px;gap:2px}.walk-number span{font-size:8px}.walk-copy>span{font-size:12px}.walk-copy small{display:none}.walk-start{font-size:10px;gap:5px;padding-left:10px}.walk-start .icon{width:13px;height:13px}.map-footer{height:31px;left:18px;right:18px;font-size:8px}.map-footer>div{gap:14px}.map-footer button{font-size:8px}.map-footer button .icon{width:11px;height:11px}.map-footer #sound-button>span:last-child{display:none}.map-marker{height:28px;min-width:28px;padding:3px}.marker-number{font-size:15px;min-width:20px}.marker-label{font-size:12px}.map-marker:after{height:11px}.map-marker:before{top:calc(100% + 10px)}.map-marker:hover:not(.is-active):not(:focus-visible) .marker-label{max-width:0;opacity:0;margin:0}.map-marker:hover:not(.is-active):not(:focus-visible){border-radius:50%;background:#f6f0e3ee;color:var(--ink);border-color:#c7bba3}.is-exploring .village{left:0;right:0;top:45px;bottom:128px}.is-exploring .map-topline{left:20px;top:17px}.place-open .village{left:0;right:0;top:47px;bottom:340px}.place-open .map-topline{left:20px;right:20px;top:16px}.place-open .map-tools{right:13px;bottom:351px}.place-open .map-instruction{display:none}.place-panel{right:12px;left:12px;top:auto;bottom:37px;width:auto;height:290px;border-top:2px solid var(--ink);animation:none}.panel-head{padding:6px 12px 6px 18px}.panel-head>span{font-size:9px}.panel-head .icon-button{height:25px;width:25px}.panel-scroll{padding:15px 20px 20px}.place-number{float:left;font-size:34px;line-height:42px;margin:0 13px 0 0}.place-panel h2{font-size:25px;margin:0 0 3px;line-height:1.5}.place-en{font-size:11px;letter-spacing:.4px}.place-intro{font-size:15px;line-height:1.65;margin:14px 0}.place-tabs{margin:18px 0 10px;gap:24px}.place-tabs button{font-size:11px;padding-bottom:9px}.place-body{font-size:12px;line-height:1.95}.place-observation{font-size:14px;margin:18px 0}.place-tags{margin-top:18px}.panel-bottom{padding:9px 13px}.save-place{padding:10px;font-size:11px}.next-place{width:39px}.architecture-plate{height:150px}.scene-settings,.place-open .scene-settings{right:51px;top:auto;bottom:149px;width:220px}.place-open .scene-settings{bottom:350px}.place-index{left:12px;right:12px;top:53px;bottom:137px;width:auto;background:#f5efe3fa;padding:8px 20px 16px}.index-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.index-item{padding:18px 0}.index-item strong{font-size:15px}.index-item small{font-size:9px}.index-item>span{font-size:24px;width:20px}.index-item .icon{display:none}.index-note{margin-top:20px}.directory-open:not(.place-open) .village{left:0}.directory-open .map-topline{left:20px}.touring .village{bottom:395px}.touring .place-panel{bottom:150px;height:228px}.touring .place-panel .panel-head{display:none}.touring .panel-scroll{padding:13px 18px}.touring .place-intro{font-size:13px;margin:10px 0}.touring .place-tabs{margin-top:12px}.touring .map-tools{bottom:394px}.touring .scene-settings{bottom:392px}.tour-bar{left:12px;right:12px;bottom:37px;width:auto;max-width:none;transform:none;padding:9px 14px 10px;height:102px}.tour-top{font-size:10px}.tour-top>.quiet-button{font-size:9px;padding:0}.tour-progress{margin:9px 0 8px}.tour-bar>p{display:none}.tour-controls{gap:10px}.tour-controls>.icon-button{width:27px;height:27px}.tour-controls>span{font-size:9px;letter-spacing:1px}.tour-controls>.quiet-button{font-size:9px}.tour-next{font-size:10px}.loading{inset:28% 0 18%;font-size:10px}.loading-tree{font-size:50px}.fallback{inset:28% 8% 20%;padding:20px;font-size:13px}.archive{top:68px;padding:0 22px}.archive-toolbar{padding:18px 0;font-size:8px;letter-spacing:.5px}.archive-toolbar .text-link{font-size:10px}.archive-hero{grid-template-columns:1fr;gap:10px;padding:32px 0 35px}.section-kicker{font-size:10px;letter-spacing:2px}.archive h1{font-size:38px;letter-spacing:0;margin:20px 0;line-height:1.4}.archive-lead{font-size:12px;line-height:2}.archive-drawing{height:230px;margin-top:0}.archive-story,.archive-method{grid-template-columns:1fr;gap:22px;padding:32px 0}.section-number{font-size:14px}.archive h2{font-size:27px;margin-bottom:18px}.archive-story p,.archive-method p{font-size:12px;line-height:2.1}.archive-chapters{padding:30px 0}.section-heading{align-items:flex-start;gap:10px;margin-bottom:20px}.section-heading p{font-size:9px;margin-top:4px}.archive-grid{grid-template-columns:1fr 1fr;gap:26px 15px}.chapter-art{height:135px}.chapter-caption{gap:8px;margin-top:11px}.chapter-caption>span{font-size:26px}.chapter-caption strong{font-size:15px}.chapter-caption small{font-size:8px;line-height:1.5;margin-top:3px}.source-row{grid-template-columns:64px 1fr 10px;gap:7px}.source-row>span{font-size:9px}.source-row strong{font-size:11px;line-height:1.7}.source-row small{font-size:9px;line-height:1.6}.archive-footer{flex-wrap:wrap;gap:12px;padding:25px 0 30px;font-size:9px}.signature{font-size:30px}.archive-footer>.text-link{font-size:10px;margin-left:auto}.journal,.about{padding:20px 22px;max-height:88dvh}.dialog-header{font-size:8px;letter-spacing:1.3px}.journal h2,.about h2{font-size:27px;margin-top:20px}.journal-subtitle{font-size:11px}.journal-stat span{font-size:23px}.journal-actions .text-link{font-size:10px}.journal-actions .primary-button{font-size:10px;gap:10px}.journal-footnote{font-size:8px;line-height:1.8}.about>p{font-size:12px}.about-line{gap:12px}.about-line p{font-size:11px}#toast{bottom:44px;max-width:calc(100% - 30px);font-size:10px;width:max-content}.touring #toast{bottom:147px}.place-open #toast{bottom:340px}}
@media(max-width:760px) and (max-height:740px){.introduction{top:17px}.introduction h1{font-size:68px;margin-top:11px}.hero-subtitle{left:190px;top:30px}.hero-subtitle h2{font-size:17px;height:105px}.hero-copy{font-size:10px;line-height:1.7;margin-top:8px}.village{top:165px;bottom:119px}.map-topline{top:172px}.walk-dock{bottom:40px}.map-instruction{bottom:108px}.place-panel{height:265px}.place-open .village{bottom:310px}.place-open .map-tools{bottom:322px}.place-open .scene-settings{bottom:321px}.touring .place-panel{height:205px;bottom:145px}.touring .village{bottom:365px}.touring .map-tools{bottom:365px}.tour-bar{height:97px}.place-panel h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep the progress rail fine, but give each stop a usable pointer target. */
.tour-progress{margin:5px 0 2px}.tour-progress button{height:19px;background:linear-gradient(#d4c8b1,#d4c8b1) center/100% 3px no-repeat}.tour-progress button.current,.tour-progress button.done{background:linear-gradient(var(--red),var(--red)) center/100% 3px no-repeat}
@media(max-width:760px){.tour-progress{margin:1px 0 0}.tour-progress button{height:17px}}

/* A quieter editorial frame for the painted village. */
.masthead { border-bottom-color: #c9c1af99; }
.nav-link { font-size: 14px; letter-spacing: .8px; }
.brand-text > span { font-size: 10px; letter-spacing: 1.5px; }
.paper-grain { opacity: .07; }
.hero-copy { font-size: 14px; line-height: 1.95; color: #655e50; letter-spacing: .25px; }
.introduction > .primary-button { min-width: 185px; padding: 16px 20px; box-shadow: none; }
.introduction > .text-link { font-size: 12px; margin-top: 10px; }
.hero-edition { width: 225px; margin-top: 32px; padding-top: 17px; border-top-color: #c9c1af99; }
.hero-edition > span { font-size: 11px; letter-spacing: 1.2px; color: #837969; }
.map-mode-label { font-size: 11px; color: #716958; }
.quiet-button { font-size: 12px; }
.walk-dock { gap: 20px; padding: 15px 18px; background: #f5f0e5f5; border-top-color: #b7a78c; border-bottom-color: #d3c7b3; backdrop-filter: none; }
.walk-number { font-size: 36px; }
.walk-number span { font-size: 10px; }
.walk-copy > span { font-size: 17px; color: #514b3e; }
.walk-copy small { font-size: 10px; color: #7e7565; letter-spacing: .4px; }
.walk-start { font-size: 13px; padding-left: 19px; color: #8d4636; }

/* The title leads; numbers and controls support the story. */
.place-panel { border-top: 1px solid #b6a58c; box-shadow: 0 10px 30px #4c3c210a; }
.panel-head { padding: 9px 15px 9px 24px; border-bottom-color: #d8cfbe99; }
.panel-head > span { font-size: 11px; letter-spacing: .6px; color: #81745e; }
.panel-scroll { padding: 25px 25px 24px; }
.place-heading { display: flex; align-items: baseline; gap: 12px; }
.place-heading .place-number { float: none; margin: 0; font-size: 27px; line-height: 1; flex: 0 0 auto; }
.place-heading h2 { margin: 0; font-size: 29px; line-height: 1.45; letter-spacing: .5px; }
.place-en { display: none; }
.place-intro { margin: 18px 0 24px; font-size: 17px; line-height: 1.8; color: #77664d; }
.place-tabs { gap: 26px; margin: 23px 0 18px; border-bottom-color: #d8cebb; }
.place-tabs button { font-size: 13px; padding-bottom: 12px; }
.place-body { font-size: 14px; line-height: 1.9; color: #5f594d; margin: 0; }
.place-observation { font-size: 15px; line-height: 1.85; color: #806b4e; margin: 23px 0; padding-left: 14px; border-left-color: #bda583; }
.place-tags { margin-top: 22px; gap: 10px; }
.place-tags span { font-size: 11px; color: #82735f; border-bottom-color: #d5c9b7; }
.place-sources { margin-top: 25px; padding-top: 15px; }
.place-sources summary { font-size: 12px; color: #7e705a; }
.place-sources a { font-size: 12px; }
.place-sources p { font-size: 11px; color: #8d816d; }
.panel-bottom { gap: 10px; padding: 14px 18px; border-top-color: #d8cebb99; }
.save-place { min-width: 0; min-height: 44px; padding: 11px 10px; gap: 7px; background: transparent; border: 1px solid #c3b59c; color: #5c5141; font-size: 12px; line-height: 1.5; }
.save-place:hover { background: #e9e0ce; color: #8d4636; }
.save-place[aria-pressed=true] { background: #eee3d0; border-color: #b99877; }
.next-place { display: flex; justify-content: center; align-items: center; gap: 8px; width: 75px; padding: 0; border: 0; font-size: 12px; color: #8d4636; }
.next-place:hover { background: transparent; color: #623d2c; }
.next-place .icon { width: 17px; height: 17px; }
.index-item small { font-size: 10px; line-height: 1.7; }
.index-note { font-size: 11px; }
.archive-lead, .archive-story p, .archive-method p { font-size: 14px; line-height: 2; color: #6a6051; }
.chapter-caption small { font-size: 11px; letter-spacing: .2px; }
.dialog-header { font-size: 12px; letter-spacing: 1px; }
.journal-subtitle, .about > p { font-size: 14px; }
.about-line p { font-size: 12px; }
.journal-footnote { font-size: 11px; }

@media (min-width: 1600px) {
  .place-panel { width: 350px; }
  .place-heading h2 { font-size: 31px; }
  .panel-scroll { padding: 28px; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .place-panel { width: 320px; right: 2%; }
  .place-open .village { right: 350px; }
  .place-open .map-tools { right: 357px; }
  .place-open .map-topline { right: 370px; }
  .place-open .scene-settings { right: 401px; }
  .tour-bar { left: calc((100% - 350px) / 2); max-width: calc(100% - 385px); }
  .walk-copy > span { font-size: 15px; }
  .walk-copy small { font-size: 9px; }
}
@media (min-width: 761px) and (max-height: 760px) {
  .hero-copy { font-size: 13px; margin: 17px 0 22px; }
  .hero-edition { margin-top: 24px; }
  .panel-scroll { padding-top: 22px; }
  .place-intro { margin: 16px 0 20px; }
}
@media (max-width: 760px) {
  .brand-text > span { font-size: 8px; letter-spacing: .8px; }
  .nav-link#archive-nav { font-size: 12px; padding: 0 10px; }
  .hero-copy { font-size: 12px; line-height: 1.9; margin: 11px 0 0; max-width: 265px; }
  .map-mode-label { font-size: 10px; letter-spacing: 0; }
  .map-topline .quiet-button { font-size: 11px; }
  .walk-dock { padding: 12px 0; gap: 9px; background: transparent; }
  .walk-number { font-size: 31px; }
  .walk-number span { font-size: 9px; }
  .walk-copy > span { font-size: 13px; white-space: nowrap; }
  .walk-start { font-size: 11px; gap: 6px; padding-left: 11px; }
  .place-panel { height: 290px; }
  .panel-head { padding: 5px 12px 5px 19px; }
  .panel-head > span { font-size: 10px; }
  .panel-scroll { padding: 17px 20px 22px; }
  .place-heading { gap: 11px; }
  .place-heading .place-number { font-size: 25px; }
  .place-heading h2 { font-size: 25px; }
  .place-intro { font-size: 16px; line-height: 1.75; margin: 12px 0 17px; }
  .place-tabs { margin: 18px 0 16px; }
  .place-tabs button { font-size: 13px; padding-bottom: 11px; }
  .place-body { font-size: 14px; line-height: 1.9; }
  .place-observation { font-size: 15px; }
  .panel-bottom { padding: 9px 15px; }
  .save-place { min-height: 41px; padding: 9px 10px; font-size: 12px; }
  .next-place { width: 75px; font-size: 12px; }
  .touring .place-panel { height: 228px; }
  .touring .panel-scroll { padding: 14px 19px 20px; }
  .touring .place-intro { font-size: 14px; }
  .archive-toolbar { font-size: 11px; letter-spacing: .5px; }
  .archive-lead, .archive-story p, .archive-method p { font-size: 14px; }
  .chapter-caption small { font-size: 10px; }
  .dialog-header { font-size: 11px; }
  .journal-footnote { font-size: 10px; }
}
@media (max-width: 760px) and (max-height: 740px) {
  .hero-copy { font-size: 11px; }
  .place-panel { height: 265px; }
  .touring .place-panel { height: 205px; }
}
@media (max-width: 370px) {
  .walk-dock { gap: 7px; }
  .walk-copy > span { font-size: 12px; }
  .walk-start { font-size: 10px; padding-left: 9px; }
}
