:root{font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:#153e3c;background:#d9e8e5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid #c88544;outline-offset:4px}button{transition:background .2s,transform .2s,box-shadow .2s}button:active{transform:scale(.96)}#app,#scene{width:100vw;height:100dvh;min-height:500px}#scene{position:absolute;inset:0}#scene canvas{display:block;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(229,240,235,.97),rgba(229,240,235,.68) 19%,transparent 42%),linear-gradient(0deg,rgba(229,240,235,.65),transparent 17%);transition:background 1s}.topbar{position:absolute;left:38px;right:38px;top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;color:inherit;display:flex;align-items:center;gap:13px}.brand-mark{display:grid;place-content:center;width:42px;height:48px;border:1px solid currentColor;font-family:serif;font-size:16px;line-height:19px;border-radius:3px}.brand b{font-family:"STSong","SimSun",serif;letter-spacing:4px;font-size:23px;font-weight:600}.brand small{display:block;font-size:8px;letter-spacing:.55px;margin-top:7px;opacity:.7}.top-actions{display:flex;align-items:center;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:9px;padding:13px 17px;font-size:14px;white-space:nowrap}.glass{background:#f9fcf9c9;box-shadow:0 2px 10px #1a443b09;backdrop-filter:blur(16px)}.glass:hover{background:#fff}.theme-btn{background:#174b42;color:#f5f7ed;min-width:145px}.switch{width:30px;height:18px;border:1px solid #a4c6b688;border-radius:20px;margin-left:7px;padding:3px}.switch i{display:block;width:10px;height:10px;background:#e4d6a3;border-radius:50%;transition:transform .3s}.scene-status{font-size:12px;margin-right:8px;color:#406d60}.scene-status i,.mini-bottom i{display:inline-block;width:5px;height:5px;border-radius:100%;background:#3b8d69;margin-right:7px}.intro{position:absolute;top:143px;left:48px;pointer-events:none}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:600;opacity:.6}.intro h1{font-family:"STSong","SimSun",serif;font-weight:400;font-size:48px;letter-spacing:5px;margin:23px 0 19px;line-height:1.45}.intro h1 span{display:block}.intro p{font-size:13px;line-height:1.9;opacity:.66;letter-spacing:1px}.intro-rule{width:30px;height:1px;background:#6b9384;margin:24px 0 15px}.coordinates{font-size:11px;letter-spacing:1px;opacity:.6}.coordinates span{margin:0 8px}.locations{position:absolute;left:48px;top:485px;width:228px}.section-caption{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:1px;margin-bottom:14px}.section-caption span{font-size:9px;opacity:.5;letter-spacing:1px}.place{display:flex;align-items:center;width:100%;text-align:left;gap:13px;background:transparent;border-top:1px solid #779b8438;padding:13px 0}.place:last-child{border-bottom:1px solid #779b8438}.place:hover{background:#fff6;padding-left:8px}.place.active{color:#a36728}.place-icon{font-family:Arial;font-size:23px;width:25px;text-align:center;opacity:.7}.place>span:nth-child(2){font-size:14px;letter-spacing:1px}.place small{display:block;font-size:10px;letter-spacing:.4px;opacity:.58;margin-top:6px}.place-arrow{margin-left:auto;opacity:.5;font-size:17px}.right-tools{position:absolute;right:35px;top:127px;display:flex;flex-direction:column;align-items:center;gap:26px}.compass{width:62px;height:80px;text-align:center}.compass>span{font:12px Georgia,serif}.compass #compassNeedle{font-size:35px;height:43px;line-height:43px;transform-origin:50% 50%;color:#37594b}.compass small{font-size:10px;opacity:.6}.tool-group{display:flex;flex-direction:column;padding:7px;background:#fbfffbca;backdrop-filter:blur(15px);border:1px solid #fff8;border-radius:12px;box-shadow:0 8px 24px #284f3710}.tool-group button{width:38px;height:40px;background:transparent;border-radius:6px;font-size:22px}.tool-group button:last-child{font-size:14px}.tool-group button:hover{background:#d3e4db}.tool-group span{height:1px;background:#b8cfc477;margin:4px 5px}.tool-group button[aria-pressed=false]{opacity:.35}.mini{position:absolute;right:37px;bottom:114px;width:220px;padding:12px;background:#f8fcf7de;border:1px solid #fff9;border-radius:12px;box-shadow:0 8px 36px #274b3912;backdrop-filter:blur(20px)}.mini-head{display:flex;justify-content:space-between;font-size:11px;padding:0 1px 9px}.mini-head>span:last-child{opacity:.5;font-size:10px}.mini-map{position:relative;height:142px;overflow:hidden;border-radius:5px;cursor:crosshair;background:#9dbb97}.mini-map img{width:100%;height:100%;object-fit:fill;filter:saturate(.55) brightness(1.12);opacity:.87}.mini-dot{position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:#f6db90;border:2px solid #174b42;box-shadow:0 0 0 5px #fff7;transform:translate(-50%,-50%);pointer-events:none}.mini-bottom{font-size:10px;opacity:.6;margin-top:10px}.bottom{position:absolute;left:38px;bottom:28px;right:38px;display:flex;align-items:center;gap:27px}.mode-control{display:flex;gap:4px;background:#fafff9d9;border:1px solid #fff8;padding:5px;border-radius:12px;box-shadow:0 5px 24px #164b3512;flex-shrink:0}.mode-control button{background:transparent;font-size:13px;padding:13px 18px;border-radius:8px}.mode-control button span{font-size:18px;margin-right:8px}.mode-control .active{color:#f9fcf3;background:#174b42;box-shadow:0 4px 10px #153e3c20}.help{display:flex;gap:16px;font-size:11px;opacity:.7}.help kbd{background:#ffffff60;border:1px solid #66867533;padding:3px 5px;border-radius:4px;font-family:inherit;font-size:10px}.source-note{margin-left:auto;font-size:9px;opacity:.5;letter-spacing:.4px;white-space:nowrap}.source-note span{margin:0 6px}.detail{position:absolute;right:112px;top:180px;width:270px;background:#fbfff6ed;box-shadow:0 16px 50px #183e3020;border:1px solid #fff9;border-radius:13px;padding:27px;backdrop-filter:blur(20px)}.detail h2{font-family:"STSong","SimSun",serif;font-size:27px;letter-spacing:2px;font-weight:400;margin:17px 0}.detail p{font-size:13px;line-height:1.9;opacity:.7}.primary{background:#174b42;color:#fff;width:100%;margin-top:8px}.primary span{margin-left:auto}.close{position:absolute;right:12px;top:10px;background:transparent;font-size:23px;opacity:.6}.hidden{display:none!important}.label{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;border:1px solid #ffffffd9;padding:7px 11px;color:#1a493e;background:#fafff1e8;border-radius:5px;box-shadow:0 3px 12px #224c3825;font-size:11px;white-space:nowrap;cursor:pointer;user-select:none;transition:opacity .2s}.label:after{content:"";position:absolute;left:50%;bottom:-6px;width:6px;height:6px;border-radius:50%;background:#315d48;border:2px solid #fff}.label .dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#cb9562;margin-right:6px}.label-region{font-size:15px;background:transparent;border:0;box-shadow:none;color:#274e3c;letter-spacing:6px;pointer-events:none;opacity:.65}.label-region:after{display:none}.toast{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);padding:12px 24px;background:#173c35e8;color:#fff;border-radius:30px;font-size:13px;white-space:nowrap}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;background:#dfebe3;z-index:20;transition:opacity .6s}.loading-symbol{border:1px solid #618474;padding:18px;font-family:serif;font-size:24px}.loading b{font-size:16px;font-weight:400;letter-spacing:4px}.loading>span{font-size:12px;opacity:.5}.walk-hint{position:absolute;left:50%;top:110px;transform:translateX(-50%);font-size:12px;color:#f7fff1;background:#1f463dba;padding:12px 20px;border-radius:30px;white-space:nowrap;pointer-events:none}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:25px;color:#fff9;text-shadow:0 0 3px #173e36;pointer-events:none}.touch-move{position:absolute;bottom:113px;left:35px;text-align:center}.touch-move button{background:#fafff3c9;width:47px;height:43px;border-radius:7px;margin:2px;font-size:21px;touch-action:none}.touch-move div{display:flex}dialog{width:min(1200px,94vw);border:0;border-radius:14px;padding:20px;background:#f6f9f0;color:#153e3c;max-height:92dvh;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#13352ebc;backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.dialog-head b{font-size:17px}.dialog-head span{font-size:12px;opacity:.6;margin-left:20px}.dialog-head button{background:transparent;font-size:30px}dialog img{width:100%;max-height:72dvh;object-fit:contain}dialog p{font-size:12px;line-height:1.8;margin-bottom:0;opacity:.65}body.walking .intro,body.walking .locations{display:none}body.walking .vignette{background:linear-gradient(0deg,#12392d44,transparent 20%)}body.night{color:#deeee2;background:#071b25}body.night .vignette{background:linear-gradient(90deg,rgba(9,29,36,.96),rgba(9,29,36,.62) 19%,transparent 42%),linear-gradient(0deg,#081e2766,transparent 17%)}body.night .glass,body.night .tool-group,body.night .mini,body.night .detail,body.night .mode-control{background:#183731d9;border-color:#70928638}body.night .theme-btn,body.night .mode-control .active{background:#e0bd78;color:#23352c}body.night .switch i{transform:translateX(11px);background:#20352f}body.night .scene-status{color:#a4c8ae}body.night .label{background:#12372de8;color:#e3e7c6;border-color:#819c6944}body.night .label-region{background:none;color:#d1deb1}body.night .tool-group button:hover,body.night .place:hover{background:#e1eed415}body.night .compass #compassNeedle{color:#d1dcbd}body.night.walking .vignette{background:linear-gradient(0deg,#031a2655,transparent 22%)}
@media(min-height:900px){.intro{top:17vh}.locations{top:auto;bottom:130px}}@media(max-height:800px){.intro{top:123px}.intro h1{font-size:38px;margin:13px 0}.intro p{font-size:12px}.intro-rule{margin:16px 0 12px}.locations{top:403px}.place{padding:9px 0}.place small{margin-top:4px}.mini{width:196px}.mini-map{height:125px}.embedded .intro-rule,.embedded .coordinates{display:none}.embedded .locations{top:auto;bottom:115px}}@media(max-height:650px){.intro h1{font-size:32px}.intro p,.intro-rule,.coordinates{display:none}.locations{top:310px}.place small{display:none}.mini{bottom:96px}.source-note{display:none}}
@media(max-width:1000px){.topbar{left:25px;right:25px}.intro,.locations{left:30px}.intro h1{font-size:39px}.locations{width:190px}.brand small{font-size:6px}.scene-status{display:none}.source-note{display:none}.help{margin-left:auto}.mini{right:25px;width:184px}.right-tools{right:26px}.detail{right:90px}.bottom{left:25px;right:25px;gap:15px}}
@media(max-width:650px){#app,#scene{min-height:400px}.topbar{left:18px;right:18px;top:18px;align-items:flex-start}.brand{gap:9px}.brand-mark{width:30px;height:36px;font-size:12px;line-height:15px}.brand b{font-size:16px;letter-spacing:2px}.brand small{font-size:5px;letter-spacing:0;margin-top:5px}.top-actions{gap:7px}.top-actions .glass{padding:9px 11px}.top-actions .glass span,.theme-btn .switch{display:none}.theme-btn{min-width:auto;padding:9px 11px;font-size:12px;gap:5px}.intro{top:105px;left:24px}.eyebrow{font-size:9px;letter-spacing:1.7px}.intro h1{font-size:32px;letter-spacing:3px;line-height:1.3;margin:13px 0}.intro h1 span{display:inline;margin-left:10px}.intro p,.intro-rule,.coordinates,.locations{display:none}.vignette{background:linear-gradient(180deg,#e0eee8ee,transparent 32%,transparent 79%,#dce9d9bb)}.right-tools{right:16px;top:178px;gap:10px}.compass{height:64px;transform:scale(.8)}.tool-group{padding:4px}.tool-group button{width:31px;height:34px}.mini{width:137px;right:16px;bottom:103px;padding:8px;border-radius:9px}.mini-map{height:85px}.mini-head{font-size:9px;padding-bottom:6px}.mini-head>span:last-child{font-size:8px}.mini-bottom{display:none}.bottom{left:16px;right:16px;bottom:21px;justify-content:center;flex-wrap:wrap;gap:12px}.mode-control{width:100%;justify-content:center;max-width:350px}.mode-control button{flex:1;font-size:13px;padding:11px 13px}.help{display:none}.detail{left:16px;right:auto;top:auto;bottom:112px;width:220px;padding:20px}.detail h2{font-size:22px}.detail p{font-size:12px}.detail .btn{font-size:12px;padding:10px}.walk-hint{top:80px;font-size:10px;width:90%;text-align:center;white-space:normal;line-height:1.8;padding:8px 12px}.touch-move{left:14px}.touch-move button{width:35px;height:35px}.toast{font-size:11px;max-width:90%;white-space:normal;width:max-content;text-align:center}.dialog-head span{display:none}body.night .vignette{background:linear-gradient(180deg,#081e27ee,transparent 32%,transparent 79%,#071e27bb)}}
