@font-face{font-family:YunqueSerif;src:url(/fonts/serif.woff2) format("woff2");font-display:swap}:root{font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;color:#34463f;background:#e9e9df;font-synthesis:none;--ink:#34463f;--soft:#777e71;--paper:#f4f0e5;--line:rgba(71,84,67,.17);--gold:#a7864d;--serif:"YunqueSerif","Songti SC","STSong",serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait}button,dialog{border:0}button{background:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid #977444;outline-offset:6px}button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}button{transition:color .25s,background .25s,opacity .25s,transform .25s}button:hover{color:#99733b}button:active{transform:translateY(1px)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);padding:16px;color:var(--ink)}.skip-link:focus{top:16px}#app,#world{position:absolute;inset:0;width:100%;height:100%}#world{display:block;touch-action:none}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(243,241,231,.7),rgba(243,241,231,.18) 30%,transparent 55%),linear-gradient(0deg,rgba(237,237,224,.66),transparent 19%);transition:opacity 1.2s}body:not([data-location=overview]) .scene-vignette{opacity:.45}.masthead{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:29px 4%;z-index:10}.masthead:after{content:"";position:absolute;height:1px;left:4%;right:4%;bottom:0;background:linear-gradient(90deg,var(--line),transparent 36%,transparent 55%,var(--line));pointer-events:none}.brand{padding:0;display:flex;align-items:center;gap:19px;text-align:left}.brand-seal{border:1px solid #a07a55;color:#94734e;padding:5px 4px 5px 6px;font-family:var(--serif);font-size:15px;letter-spacing:2px;line-height:1.05}.brand-name{font-family:var(--serif);font-size:33px;letter-spacing:.24em;line-height:1.2}.brand-en{display:block;font:9px Arial,sans-serif;letter-spacing:.47em;margin-top:7px;padding-left:3px}.main-nav{display:flex;align-items:center;gap:38px;margin-left:auto;margin-right:50px}.nav-link{font-family:var(--serif);font-size:16px;letter-spacing:.16em;padding:15px 0;position:relative}.nav-link:after{position:absolute;content:"";height:1px;background:var(--gold);bottom:4px;left:0;right:2px;transform:scaleX(0);transition:transform .3s}.nav-link.is-active:after,.nav-link:hover:after{transform:scaleX(1)}.tiny-dot{position:absolute;right:-8px;top:13px;width:3px;height:3px;background:var(--gold);border-radius:50%}.header-tools{display:flex;align-items:center;gap:17px;padding-left:28px;border-left:1px solid var(--line)}.icon-button{width:38px;height:38px;display:grid;place-items:center;padding:7px;border-radius:50%}.icon-button:hover{background:#ffffff52}.icon-button svg{width:23px;height:23px}.sound-on,#sound-toggle[aria-pressed=true] .sound-off{display:none}#sound-toggle[aria-pressed=true] .sound-on{display:initial}.welcome{position:absolute;z-index:2;top:27%;left:6%;max-width:470px;pointer-events:none;transition:opacity .65s,transform .9s}.welcome button{pointer-events:auto}.welcome.is-hidden{opacity:0;transform:translateY(-14px);pointer-events:none}.welcome.is-hidden button{pointer-events:none}.eyebrow{font-size:9px;letter-spacing:.22em;display:flex;align-items:center;gap:11px;font-weight:400;color:#798172;margin:0 0 27px}.eyebrow>span{display:block;width:23px;height:1px;background:#9a9679}.welcome h1{font-family:var(--serif);font-size:clamp(38px,3.7vw,64px);line-height:1.5;letter-spacing:.08em;font-weight:400;margin:0 0 22px;color:#35453d}.welcome-copy{font-family:var(--serif);font-size:13px;line-height:2.1;letter-spacing:.08em;color:#798073;margin:0}.enter-button{display:flex;align-items:center;gap:28px;padding:16px 0 13px;border-bottom:1px solid #a59778;font-family:var(--serif);font-size:15px;letter-spacing:.12em;margin-top:26px;min-height:48px}.enter-button svg{width:41px;height:20px;stroke-width:1}.enter-button:hover{gap:39px}.edition{font-size:10px;letter-spacing:.13em;color:#969789;margin-top:33px}.edition span{padding-left:13px;margin-left:13px;border-left:1px solid var(--line)}.time-control{position:absolute;top:143px;right:4%;display:flex;align-items:center;gap:5px;background:#f9f6eb94;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:5px 6px 5px 15px;border:1px solid rgba(255,255,255,.32);border-radius:3px;z-index:3}.time-label{font-family:var(--serif);font-size:11px;padding-right:11px;border-right:1px solid var(--line);margin-right:5px;color:var(--soft)}.time-option{font-family:var(--serif);font-size:12px;letter-spacing:.08em;padding:9px 13px;border-radius:2px;min-height:34px}.time-option.is-active{background:#42574b;color:#f3edde}.location-caption{position:absolute;top:26%;left:6%;opacity:0;transform:translateY(12px);transition:opacity .7s,transform .7s;pointer-events:none;max-width:310px}.location-caption.is-visible{opacity:1;transform:translateY(0)}.location-index{font-size:10px;color:#8c917f;letter-spacing:.18em}.location-caption h2{font-family:var(--serif);font-size:38px;font-weight:400;letter-spacing:.1em;margin:17px 0}.location-caption p{font-family:var(--serif);font-size:12px;color:#7d8375;letter-spacing:.06em;line-height:2}.scene-actions{position:absolute;top:calc(26% + 153px);left:6%;display:flex;gap:10px;z-index:4}.scene-action{font-family:var(--serif);font-size:12px;letter-spacing:.07em;border:1px solid rgba(110,114,88,.35);border-radius:2px;padding:11px 15px;background:#f6f2e5b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scene-action:hover{background:#f4edda;border-color:#9f8b64}.view-controls{position:absolute;right:4%;bottom:190px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:7px 5px;background:#f8f5e8ad;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.4);border-radius:28px}.controls-divider{height:1px;width:20px;background:var(--line);margin:4px 0}.explorer-footer{position:absolute;bottom:55px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:25px;z-index:4}.compass{width:56px;display:flex;flex-direction:column;align-items:center;gap:6px;color:#73806e}.compass>span{font-family:var(--serif);font-size:9px;letter-spacing:.25em}.compass svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:.65}.compass .compass-fill{fill:currentColor}.places{display:flex;gap:0;align-items:center;padding:7px 14px;background:#faf7edd6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.75);border-radius:5px;box-shadow:0 8px 35px #4453430f}.place{position:relative;min-width:92px;padding:12px 18px;display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:14px;letter-spacing:.05em;border-radius:2px;white-space:nowrap}.place+.place:before{position:absolute;content:"";left:0;top:50%;transform:translateY(-50%);height:13px;width:1px;background:var(--line)}.place-num{font-size:9px;color:#969b87;font-family:var(--serif)}.place.is-active{background:#42564a;color:#faf4e5}.place.is-active .place-num{color:#c6cbb5}.place.is-active:before,.place.is-active+.place:before{opacity:0}.tour-button{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:13px;letter-spacing:.07em;border-bottom:1px solid #989d87;padding:12px 0;min-width:110px;justify-content:center}.tour-button svg{width:17px;height:17px;stroke-width:1.2}.tour-stop,.tour-button[aria-pressed=true] .tour-play{display:none}.tour-button[aria-pressed=true] .tour-stop{display:initial}.gesture-hint{position:absolute;bottom:15px;left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.13em;color:#949b8c;white-space:nowrap;margin:0;transition:opacity 1s}.gesture-hint span{margin:0 15px}.gesture-hint.has-interacted{opacity:.55}.toast{position:absolute;left:50%;bottom:145px;transform:translate(-50%,10px);background:#2a3d33e6;color:#f3efdf;padding:12px 20px;font-size:12px;letter-spacing:.05em;border-radius:3px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:20;max-width:90%;text-align:center}.toast.is-visible{opacity:1;transform:translate(-50%)}.loading-screen{position:absolute;inset:0;background:#eaece2;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:50;transition:opacity .8s,visibility .8s}.loading-screen:before{content:"";position:absolute;width:48vw;height:48vw;border:1px solid rgba(147,158,127,.1);border-radius:50%;pointer-events:none}.loading-mark{font-family:var(--serif);font-size:64px;letter-spacing:.35em;padding-left:.35em;color:#43594a}.loading-poem{font-family:var(--serif);font-size:12px;letter-spacing:.2em;color:#86917d;margin-top:26px}.loading-track{width:140px;height:1px;background:#d4d9c9;margin-top:36px;overflow:hidden}.loading-track div{height:100%;background:#849776;transform:scaleX(0);transform-origin:left;transition:transform .5s}.loading-label{font-size:10px;color:#8a9580;margin-top:15px;max-width:320px;text-align:center;line-height:1.8;padding:0 12px}.loading-screen.is-complete{opacity:0;visibility:hidden;pointer-events:none}.loading-screen.has-error .loading-label{color:#926d50}.loading-screen.has-error .enter-button{z-index:1}.editorial-dialog{width:min(540px,calc(100vw - 32px));padding:54px 56px;background:#f3efe2;color:#415247;box-shadow:0 30px 100px #15281f33;border:1px solid #fff6e5;max-height:calc(100dvh - 48px);overflow:auto}.editorial-dialog::backdrop{background:#2c3c324d;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog-close{position:absolute;top:16px;right:15px}.editorial-dialog .eyebrow{font-size:9px;margin-bottom:20px;color:#919880}.editorial-dialog h2{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.65;letter-spacing:.1em;margin:0 0 24px}.editorial-dialog>p:not(.eyebrow){font-family:var(--serif);font-size:14px;line-height:2.25;letter-spacing:.03em;color:#73816d}.editorial-dialog>p.dialog-small{font-family:Arial,PingFang SC,sans-serif;font-size:11px;color:#98a08a;margin-top:25px;line-height:2}.editorial-dialog .enter-button{font-size:13px;margin-top:26px}.editorial-dialog .enter-button svg{width:19px;height:19px}.guide{margin:5px 0 30px}.guide div{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:18px;align-items:baseline}.guide dt{font-family:var(--serif);font-size:13px;white-space:nowrap}.guide dd{margin:0;font-size:11px;line-height:1.8;color:#87917c}body[data-time=night]{--ink:#e0dcca;--soft:#b7bdac;--line:rgba(222,224,194,.2);color:#e1e0cb}body[data-time=night] .scene-vignette{background:linear-gradient(90deg,rgba(11,27,32,.53),rgba(11,27,32,.05) 50%,transparent),linear-gradient(0deg,rgba(17,34,38,.58),transparent 23%)}body[data-time=night] .welcome h1{color:#eeead7}body[data-time=night] .welcome-copy,body[data-time=night] .eyebrow,body[data-time=night] .location-caption p,body[data-time=night] .location-index,body[data-time=night] .edition,body[data-time=night] .compass{color:#b1bba9}body[data-time=night] .time-control,body[data-time=night] .view-controls,body[data-time=night] .places{background:#1b2f30d1;border-color:#d2d9b41f}body[data-time=night] .scene-action{background:#1b2f30bf;color:#e1dcc7;border-color:#c5ceac59}body[data-time=night] .time-option.is-active,body[data-time=night] .place.is-active{background:#d1c59f;color:#31423c}body[data-time=night] .place.is-active .place-num{color:#697560}body[data-time=night] .editorial-dialog{--line:rgba(71,84,67,.17)}body[data-time=night] .editorial-dialog .eyebrow{color:#919880}.is-ready .welcome:not(.is-hidden){animation:welcome-in 1.4s both}.is-ready .masthead{animation:welcome-in 1s both}.is-ready .explorer-footer{animation:welcome-in 1.2s both}@keyframes welcome-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1800px){.welcome{left:7%;top:28%}.masthead{padding:35px 4%}.time-control{top:159px}.welcome-copy{font-size:15px}.place{min-width:106px;padding:15px 21px}.explorer-footer{bottom:65px}.gesture-hint{bottom:27px}}@media(max-width:1100px){.masthead{padding:24px 4%}.main-nav{gap:25px;margin-right:28px}.brand-name{font-size:29px}.brand{gap:13px}.brand-seal{font-size:13px}.welcome{left:5%;top:24%;max-width:340px}.welcome h1{font-size:40px}.eyebrow{font-size:8px;letter-spacing:.14em}.welcome-copy{font-size:11px}.time-control{top:125px}.place{min-width:78px;padding:12px 13px;font-size:13px;gap:8px}.explorer-footer{gap:15px}.places{padding:6px 8px}.compass{width:38px}.tour-button{min-width:92px;font-size:12px}.location-caption{left:5%;top:25%}.scene-actions{left:5%;top:calc(25% + 150px)}}@media(max-width:760px){.masthead{padding:20px 5%}.masthead:after{left:5%;right:5%}.brand-name{font-size:26px}.brand-en{font-size:7px;margin-top:6px}.brand-seal{font-size:12px;padding:4px}.brand{gap:11px}.main-nav{gap:19px;margin-right:16px}.nav-link{font-size:13px;letter-spacing:.06em}.header-tools{padding-left:10px;gap:2px}.header-tools .info-button{display:none}.icon-button{width:34px;height:34px;padding:6px}.welcome{top:20%;max-width:300px}.welcome h1{font-size:34px;margin-bottom:15px}.welcome-copy{font-size:11px;line-height:1.9}.welcome .eyebrow{font-size:7px;letter-spacing:.08em;margin-bottom:20px;gap:7px}.welcome .eyebrow>span{width:14px}.welcome .enter-button{margin-top:18px;font-size:13px;gap:20px}.welcome .edition{font-size:8px;margin-top:24px}.time-control{top:111px;right:5%;padding:4px 5px}.time-label{display:none}.time-option{font-size:11px;padding:7px 10px;min-height:30px}.compass{display:none}.explorer-footer{left:5%;right:5%;bottom:50px;justify-content:center;gap:12px;flex-wrap:wrap}.places{width:100%;justify-content:space-between;padding:6px}.place{justify-content:center;min-width:0;flex:1;font-size:12px;gap:6px;padding:12px 7px}.place-num{font-size:8px}.tour-button{position:absolute;bottom:78px;right:0;background:#f2f1e3a6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 13px;border:1px solid var(--line);border-radius:2px}.view-controls{right:5%;bottom:185px}.gesture-hint{bottom:20px;font-size:8px;letter-spacing:.06em}.gesture-hint span{margin:0 10px}.location-caption{top:20%;max-width:280px}.location-caption h2{font-size:30px;margin:13px 0}.location-caption p{font-size:11px}.scene-actions{top:calc(20% + 140px)}.scene-action{font-size:11px;padding:10px 12px}.toast{bottom:122px;font-size:11px}body[data-time=night] .tour-button{background:#1b2f30b3}}@media(max-width:480px){.main-nav{gap:15px;margin:0 4px 0 auto}.nav-link{font-size:11px}.main-nav #nav-street{display:none}.header-tools{margin-left:12px;padding-left:8px}.brand-name{font-size:25px}.masthead{padding-top:18px;padding-bottom:18px}.welcome{top:18%;left:6%}.welcome h1{font-size:31px;line-height:1.45;letter-spacing:.08em}.welcome .eyebrow{margin-bottom:14px;font-size:6px;letter-spacing:.15em}.welcome-copy{font-size:10px;line-height:1.8}.welcome .enter-button{margin-top:12px;padding-top:10px;padding-bottom:10px;min-height:42px;font-size:12px;gap:22px}.welcome .edition{display:none}.time-control{top:103px;right:5%}.time-option{font-size:10px;padding:7px 8px}.time-control{background:#f9f6eb8c}.scene-vignette{background:linear-gradient(90deg,rgba(243,241,231,.44),transparent 85%),linear-gradient(0deg,rgba(237,237,224,.7),transparent 25%)}.location-caption{top:18%;left:6%}.location-caption h2{font-size:28px}.location-caption p{font-size:10px}.scene-actions{left:6%;top:calc(18% + 135px)}.place{font-size:11px;gap:5px;padding:12px 4px}.place-num{font-size:7px}.editorial-dialog{padding:47px 29px 35px}.editorial-dialog h2{font-size:28px}.editorial-dialog>p:not(.eyebrow){font-size:13px}.view-controls{bottom:179px}.tour-button{font-size:11px}.guide div{gap:14px}.gesture-hint{font-size:7px}.explorer-footer{bottom:max(45px,calc(env(safe-area-inset-bottom) + 28px))}.gesture-hint{bottom:max(17px,env(safe-area-inset-bottom))}}@media(max-height:660px)and (min-width:761px){.masthead{padding-top:18px;padding-bottom:18px}.welcome{top:24%}.welcome h1{font-size:36px;line-height:1.35;margin-bottom:13px}.welcome .eyebrow{margin-bottom:16px}.welcome .edition{display:none}.welcome .enter-button{margin-top:13px}.time-control{top:108px}.explorer-footer{bottom:40px}.view-controls{bottom:145px}.gesture-hint{bottom:13px}.location-caption{top:25%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.story-panel{position:absolute;left:5%;top:23%;z-index:5;width:min(320px,31vw);padding:22px 23px 20px;background:#f9f5e8e0;border:1px solid rgba(255,255,255,.7);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 50px #19393212;color:#3d4c41}.story-top{display:flex;justify-content:space-between;gap:8px;font-size:9px;letter-spacing:.08em;color:#888166}.story-pause{font-size:9px;padding:0}.story-progress{display:flex;gap:6px;margin:20px 0}.story-progress i{display:block;height:2px;flex:1;background:#dedccf}.story-progress i.is-done{background:#a1854d}.story-panel h2{font:24px var(--serif);font-weight:400;margin:0 0 16px}.story-copy{font:12px/2 var(--serif);margin:0 0 18px;color:#6c7868}.story-primary{display:block;background:#435749;color:#fbf2dc;padding:12px 16px;font:12px var(--serif);width:100%}.story-primary:hover{background:#5a6b53;color:#fff}.story-replay{display:block;font:10px var(--serif);margin:14px auto 0;color:#7d8774}.story-active .location-caption,.story-active .scene-actions{display:none!important}.story-resume{position:absolute;left:5%;bottom:142px;z-index:5;font:12px var(--serif);background:#f4eededd;border:1px solid #9a96795c;padding:12px 18px;color:#435749}.story-active .welcome{display:none}.story-active .tour-button{opacity:.65}body[data-time=night] .story-panel{background:#203736e6;color:#e9dfc5;border-color:#bfc6a42b}body[data-time=night] .story-copy{color:#c3c8b2}@media(max-width:760px){.story-panel{top:19%;left:5%;width:78%;max-width:320px;padding:17px 20px}.story-panel h2{font-size:22px;margin-bottom:9px}.story-copy{font-size:11px;line-height:1.8;margin-bottom:13px}.story-progress{margin:13px 0}.story-resume{bottom:145px;font-size:11px}.story-primary{padding:10px 14px}.story-replay{margin-top:11px}}@media(max-height:660px)and (min-width:761px){.story-panel{top:22%;padding:17px;width:285px}.story-copy{font-size:11px;line-height:1.7}.story-progress{margin:12px 0}.story-panel h2{font-size:22px}}.tale-active .location-caption,.tale-active .scene-actions{display:none!important}.tale-panel .tale-subtitle{font:9px Arial,PingFang SC,sans-serif;letter-spacing:.12em;color:#9d865d;margin:19px 0 11px}.tale-relation{font:10px/1.8 var(--serif);color:#8c927e;margin:0 0 15px}.tale-relation:empty{display:none}.tale-collection{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:25px 0}.tale-entry{padding:15px;text-align:left;border:1px solid #89947c38;background:#faf6e93d;display:flex;flex-direction:column;gap:7px}.tale-entry span{font-size:9px;color:#96917b}.tale-entry strong{font:17px var(--serif);font-weight:400;color:#425545}.tale-entry small{font-size:9px;color:#98947d}.tale-entry:hover,.tale-entry.is-read{border-color:#ac9358;background:#e8e4d44d}.tale-entry:last-child{grid-column:1/-1}.tale-active .story-resume{display:none}.welcome-chronicle{pointer-events:auto;font:11px var(--serif);color:#7c8069;padding:12px 0;margin-top:5px;letter-spacing:.12em}body[data-time=night] .welcome-chronicle{color:#c3c8b2}@media(max-width:480px){.tale-collection{gap:7px}.tale-entry{padding:11px}.tale-entry strong{font-size:15px}.welcome-chronicle{font-size:10px;padding:7px 0}}.tale-active .welcome{display:none}body:not([data-location=overview]) .masthead{background:linear-gradient(180deg,#f6f2e6f0,#f6f2e6bd);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.location-caption{z-index:3;padding:15px 18px;background:#f8f4e8e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:1px solid #a58e58;max-width:320px}.location-caption h2{font-size:30px;margin:9px 0 10px}.location-caption p{margin:0;font-size:11px;line-height:1.8}.location-index{font-size:9px}body[data-time=night]:not([data-location=overview]) .masthead{background:linear-gradient(180deg,#132427f0,#132427c7)}body[data-time=night] .location-caption{background:#162929de}@media(max-width:760px){.location-caption{padding:12px 15px;max-width:275px}.location-caption h2{font-size:27px}.location-caption p{font-size:10px}}
