@charset "UTF-8";
:root{color-scheme:dark;--bg:#101c1e;--ink:#f2efdf;--muted:#9baaa5;--gold:#e8c58b;--border:#ffffff16;font-family:"Microsoft YaHei","PingFang SC",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 78% 0%,#22333177,transparent 55%),var(--bg);color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}a{color:inherit;text-decoration:none}.site-header{height:104px;margin:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:13px;font-family:"SimSun",serif;font-size:20px;letter-spacing:3px}.brand-mark{display:grid;place-items:center;width:43px;height:46px;border:1px solid #c7b58a88;color:var(--gold);font-size:28px;transform:rotate(-4deg)}.brand small{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:7px}.edition{font-size:11px;color:var(--muted);letter-spacing:2px;display:flex;gap:12px;align-items:center}.status-dot{width:5px;height:5px;background:var(--gold);border-radius:50%;box-shadow:0 0 9px #e8c58b66}.divider{color:#596761}.source-link{background:none;border:0;color:#d4dbcf;font-size:12px;letter-spacing:1px;padding:12px 0}.source-link span{margin-left:15px;color:var(--gold)}main{width:89%;max-width:1600px;margin:0 auto}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:43px 0 31px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);margin:0 0 14px}.eyebrow span{margin:0 12px;color:#657b72}h1{font-family:"STSong","SimSun",serif;font-size:clamp(28px,3.4vw,53px);letter-spacing:4px;line-height:1.35;font-weight:400;margin:0}h1 em{font-style:normal;color:var(--gold)}.intro-copy{color:var(--muted);font-size:12px;line-height:2.1;margin:0 0 5px;letter-spacing:1px}.experience{border:1px solid #b4c5af25;border-radius:5px;overflow:hidden;box-shadow:0 25px 75px #020b0c38}.scene{height:clamp(340px,43vw,590px);position:relative;background:#142222;overflow:hidden;cursor:pointer;isolation:isolate;touch-action:manipulation}canvas{display:block;width:100%;height:100%;position:absolute;inset:0}.scene-shade{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(#09181855,transparent 25%,transparent 65%,#071b20c9)}.scene-top{position:absolute;z-index:3;top:25px;left:29px;right:29px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.location{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;background:#0820236b;border:1px solid #c6d7c026;border-radius:3px;padding:9px 12px;backdrop-filter:blur(8px);color:#e0e5d5}.location i{width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg)}.scene-number{color:#c2ccba;font-size:8px;letter-spacing:2px;text-align:right}.scene-number b{display:block;font-family:SimSun,serif;font-weight:400;font-size:15px;letter-spacing:4px;margin-top:9px;color:#e9e4cf}.rider{position:absolute;width:clamp(108px,13.5vw,190px);z-index:2;left:0;top:0;pointer-events:none;will-change:transform;filter:drop-shadow(0 6px 8px #071718aa)}.rider img{width:100%;display:block}.scene-caption{position:absolute;bottom:30px;left:30px;display:flex;gap:12px;align-items:center;color:#dddccb;z-index:3;font-family:SimSun,serif;font-size:13px;letter-spacing:2px;pointer-events:none}.caption-line{height:1px;width:22px;background:var(--gold)}.scene-tools{position:absolute;z-index:3;right:25px;bottom:22px;display:flex;gap:10px}.scene-tools button{background:#092025b3;border:1px solid #d3e8d02b;color:#d0dacd;border-radius:3px;font-size:10px;padding:9px 12px;backdrop-filter:blur(8px)}.scene-tools button span{color:var(--gold);margin-right:3px}.journey{display:flex;align-items:center;gap:40px;padding:26px 30px;background:#182628}.journey-info{min-width:270px;display:flex;align-items:flex-start;gap:21px}.step-index{font-family:Georgia,serif;font-size:37px;font-style:italic;color:#8a9e8f;border-right:1px solid var(--border);padding-right:22px;line-height:1.4}.journey-info .eyebrow{font-size:9px;margin:0 0 7px;letter-spacing:2px}.journey h2{font-family:SimSun,serif;font-weight:400;font-size:21px;letter-spacing:3px;margin:0}.chapter-description{font-size:10px;letter-spacing:.5px;color:var(--muted);margin:9px 0 0}.route{flex:1;max-width:480px;padding:0 10px}.route-track{height:1px;background:#60746c66;position:relative;display:flex;justify-content:space-between;align-items:center}.route-track>div{position:absolute;height:1px;width:0;left:0;background:var(--gold);transition:width .65s}.route-stop{position:relative;width:6px;height:6px;border-radius:50%;background:#344944;box-shadow:0 0 0 5px #182628}.route-stop.active{background:var(--gold);box-shadow:0 0 0 5px #182628,0 0 14px #e8c58b88}.route-labels{display:flex;justify-content:space-between;color:#82958e;font-size:9px;margin:14px -7px 0;letter-spacing:1px}.action-area{margin-left:auto;display:flex;flex-direction:column;align-items:center;gap:10px}.fly-button{display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--gold);color:#23332e;border:1px solid #f0d5a3;border-radius:3px;padding:14px 23px;min-width:200px;letter-spacing:2px;font-size:13px;transition:background .2s,transform .2s}.fly-button:hover{background:#f8d9a6;transform:translateY(-2px)}.fly-button:disabled{opacity:.6;cursor:wait}.button-arrow{font-size:20px;line-height:1}.hint{font-size:9px;color:#899d94;white-space:nowrap;letter-spacing:.5px}footer{display:flex;justify-content:space-between;align-items:center;margin:22px 0 25px;color:#748b82;font-size:10px;letter-spacing:1px}footer i{font-style:normal;color:var(--gold);margin-left:14px}.loading,.load-error{position:absolute;inset:0;display:grid;place-content:center;background:#102629;color:var(--gold);z-index:5;font-size:13px;letter-spacing:2px}.load-error{padding:25px;text-align:center;gap:20px}.load-error button{margin:auto;padding:10px 20px}.finish{position:absolute;z-index:4;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#0a242bc9;backdrop-filter:blur(5px);text-align:center}.finish p{font-size:8px;letter-spacing:3px;color:var(--gold)}.finish h2{font-family:SimSun,serif;font-size:clamp(27px,4vw,48px);font-weight:400;line-height:1.6;letter-spacing:6px;margin:15px 0 18px}.finish>span{font-size:12px;letter-spacing:2px;color:#bac8bc}.finish button{margin-top:30px;padding:11px 22px;background:transparent;border:1px solid #e8c58b88;border-radius:2px;color:var(--gold);font-size:12px;letter-spacing:2px}[hidden]{display:none!important}dialog{max-width:520px;width:calc(100% - 40px);background:#1b2d2e;color:#d7dfd4;border:1px solid #8ea68c55;border-radius:5px;padding:35px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#06191bd9;backdrop-filter:blur(6px)}dialog h2{font:24px/1.5 SimSun,serif;color:var(--gold)}dialog p{font-size:12px;line-height:1.95;color:#b9c8be}dialog .eyebrow{font-size:9px}dialog small{font-size:10px;color:#91a69a}dialog a{color:var(--gold);text-decoration:underline;text-underline-offset:4px}.credit{border-block:1px solid var(--border);padding:16px 0;margin:20px 0}.credit b{font-size:12px;font-weight:400}.dialog-close{position:absolute;right:18px;top:13px;font-size:25px;color:#b9c8be;border:0;background:transparent}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.destinations{display:flex;align-items:stretch;background:#142326;border-bottom:1px solid var(--border)}.destination-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1;min-width:0}.destination-button{position:relative;display:flex;align-items:center;gap:13px;min-width:0;border:0;border-right:1px solid var(--border);background:transparent;color:#9caea4;text-align:left;padding:19px 23px;transition:background .2s}.destination-button::after{content:"";position:absolute;bottom:0;left:22px;right:22px;height:2px;background:transparent}.destination-button:hover{background:#233532}.destination-button.selected{background:#203331;color:#f0e4c8}.destination-button.selected::after{background:var(--gold)}.destination-number{font:italic 23px Georgia,serif;color:#6e887c}.destination-button.selected .destination-number{color:var(--gold)}.destination-name{font-family:SimSun,serif;font-size:17px;letter-spacing:2px;white-space:nowrap}.destination-name small{display:block;font-family:"Microsoft YaHei",sans-serif;font-size:8px;letter-spacing:1.5px;color:#8da397;margin-top:7px}.destination-progress{font-size:8px;white-space:nowrap;margin-left:auto;color:#789184;letter-spacing:.5px}.destination-button.completed .destination-progress{color:var(--gold)}.collection{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:15px 25px;min-width:135px}.collection>span{color:#8da397;font-size:8px;letter-spacing:2px}.collection b{font-size:11px;color:var(--gold);font-weight:400;letter-spacing:1px}.finish button.replay-station{border:0;font-size:10px;color:#a6bbae;margin:14px 0 0;padding:6px 15px;background:none}.photo-credit{padding-top:15px}.photo-credit+.photo-credit{border-top:1px solid var(--border);margin-top:16px}.photo-credit h3{font-family:SimSun,serif;font-size:17px;font-weight:400;color:var(--ink);letter-spacing:2px;margin:0 0 8px}.photo-credit p{margin:6px 0}dialog{max-height:85dvh;overflow:auto;scrollbar-width:thin;scrollbar-color:#516c60 #1b2d2e}
@media(min-width:1700px){.scene{height:650px}}@media(max-width:1100px){.destination-button{gap:9px;padding:18px 16px}.destination-progress{display:none}.collection{padding:15px 18px;min-width:120px}.destination-name{font-size:16px}}@media(max-width:900px){.journey{gap:25px;padding:22px}.journey-info{min-width:210px;gap:15px}.step-index{padding-right:15px}.route{padding:0}.action-area{gap:10px}.fly-button{min-width:170px;padding:13px 17px}.hint{font-size:8px}.intro-copy{font-size:10px}.edition{display:none}.scene-tools button{font-size:9px}.scene-caption{font-size:11px;max-width:55%;line-height:1.7}.collection{min-width:105px;padding-inline:12px}.destination-button{gap:8px;padding-inline:11px}.destination-number{font-size:19px}.destination-name{font-size:14px;letter-spacing:1px}}
@media(max-width:640px){.site-header{height:82px;margin:0 6%}.brand{font-size:17px;gap:10px}.brand-mark{width:34px;height:38px;font-size:24px}.brand small{font-size:7px}.source-link{font-size:10px}.source-link span{margin-left:6px}main{width:88%}.intro{padding:29px 0 24px;display:block}.eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:12px}.eyebrow span{margin:0 5px}h1{font-size:29px;letter-spacing:2px}.intro-copy{margin:14px 0 0;font-size:10px;line-height:1.9}.intro-copy br{display:none}.scene{height:440px}.scene-top{top:18px;left:17px;right:17px}.location{font-size:8px;letter-spacing:1px;padding:7px 9px}.scene-number{font-size:7px;letter-spacing:1px}.scene-number b{font-size:12px;letter-spacing:2px}.rider{width:119px}.scene-caption{bottom:65px;left:18px;right:18px;max-width:100%;font-size:10px;gap:8px;letter-spacing:1px}.scene-tools{right:17px;bottom:18px}.scene-tools button{padding:7px 10px}.journey{flex-wrap:wrap;gap:23px 25px;padding:22px 18px}.journey-info{min-width:0;flex:1;gap:12px}.step-index{font-size:30px;padding-right:12px}.journey h2{font-size:18px}.chapter-description{font-size:9px}.route{flex:0 0 105px}.route-labels{font-size:8px}.action-area{width:100%;gap:12px}.fly-button{width:100%;justify-content:center;gap:30px;padding:14px}.hint{font-size:9px}footer{font-size:8px;gap:15px;line-height:1.8;margin:18px 0}footer>span:last-child{max-width:130px;text-align:right}dialog{padding:28px 23px}dialog h2{font-size:21px}.finish p{font-size:7px;letter-spacing:1.5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:640px){.destinations{display:block}.destination-list{grid-template-columns:repeat(4,minmax(0,1fr))}.destination-button{padding:15px 5px 13px;gap:0;justify-content:center;flex-direction:column;text-align:center}.destination-button::after{left:10px;right:10px}.destination-number{font-size:12px;margin-bottom:7px}.destination-name{font-size:12px;letter-spacing:1px}.destination-name small{font-size:7px;letter-spacing:0;margin-top:6px}.destination-progress{display:block;font-size:7px;margin:8px 0 0}.collection{min-width:0;flex-direction:row;justify-content:space-between;padding:9px 14px;gap:12px;border-top:1px solid var(--border)}.collection>span{font-size:8px}.collection b{font-size:9px}.finish>span{font-size:10px;letter-spacing:1px;padding:0 15px}}
