*{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body{margin:0;background:#132421;color:#e3e7da;font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:transparent;border:1px solid #c6d5bb35;border-radius:7px;padding:9px 15px;transition:background .2s,border-color .2s}button:hover{background:#ceddb315;border-color:#d5dcaf80}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #dac891;outline-offset:4px}button.primary{background:#d1c49c;color:#253830;border-color:#d1c49c}button.primary:hover{background:#e1d6b3}a{color:inherit}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:relative;z-index:10;border-bottom:1px solid #d6debc13;background:#142422dc}.brand{border:0;padding:0;display:flex;align-items:center;gap:12px;letter-spacing:.06em;font:23px Georgia,"Songti SC",serif}.brand-mark{font:36px Georgia;color:#cabb91}.tools{display:flex;align-items:center;gap:8px}.tools button{font-size:13px;padding:7px 11px}.tools #language{min-width:68px;color:#d4caa9;border-color:#d2c5a553}#world-stage{min-height:680px;height:calc(100svh - 134px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 48% 24%,#3c564b 0,#203932 30%,#142724 67%,#10211f 100%)}.landscape{position:absolute;inset:0;background:linear-gradient(90deg,#132b2570,#13282199),url('./mountain.webp') center/cover;opacity:.4;transition:opacity 1s}.webgl-ready .landscape{opacity:0}#scene-mount{position:absolute;inset:0;touch-action:none}#scene-mount canvas{display:block;width:100%;height:100%}#scene-labels{position:absolute;inset:0;pointer-events:none}.destination-label{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;white-space:nowrap;font-size:12px;line-height:1.5;padding:7px 12px;background:#162b27c9;backdrop-filter:blur(8px);box-shadow:0 2px 20px #0002;border-color:#cad8b52b}.destination-label span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#bdc9b3}.destination-label[data-open="shrine"]{border-color:#d8c48b88;color:#e4d3a4;font-size:14px}#panel{position:absolute;left:5vw;top:clamp(50px,10vh,130px);width:295px;z-index:3;outline:0}#panel h1{font:normal clamp(42px,4.4vw,66px)/1.04 Georgia,"Songti SC","SimSun",serif;letter-spacing:-.035em;margin:18px 0 23px;color:#e9e9da}#panel p{color:#b7c8ba;margin:12px 0 24px;font-size:14px}.eyebrow{font-size:10px!important;letter-spacing:.19em;text-transform:uppercase;color:#c1b994!important;margin:0 0 13px!important}.primary-link{display:flex;align-items:center;gap:32px;font-size:14px;margin-top:26px}.primary-link span{font-size:22px}.home-meta{display:flex;gap:12px;margin-top:54px;font-size:11px;color:#96af9d;letter-spacing:.05em}.home-meta b{font-weight:400;color:#c4cfb7}.world-tools{position:absolute;right:24px;top:22px;display:flex;gap:6px;z-index:4}.world-tools button{font-size:21px;line-height:1;width:38px;height:38px;padding:0;background:#152b2490}.world-tools button[aria-pressed=true]{border-color:#cbbb90}.scene-note{position:absolute;bottom:113px;left:5vw;font-size:11px;color:#a5bca9;display:flex;gap:8px;align-items:center;pointer-events:none}.status-dot{display:inline-block;border-radius:50%;width:4px;height:4px;background:#b2c39a}#journeys{position:absolute;left:5vw;right:5vw;bottom:22px;display:flex;align-items:center;border-top:1px solid #c7d6ab33;padding-top:20px;gap:0;z-index:5}#journeys button{border:0;border-radius:0;padding:6px 28px 6px 0;margin-right:28px;text-align:left;font-size:13px;color:#c0cdbb;white-space:nowrap}#journeys button span{display:block;font-size:9px;letter-spacing:.16em;color:#8ca794;margin-bottom:4px}#journeys button[aria-current=true]{color:#e3d2a3}#journeys button[aria-current=true] span{color:#c7b586}#lucky-cat-widget{border:0;position:absolute;bottom:109px;right:3vw;width:94px;height:110px;border-radius:0;z-index:3;padding:0;pointer-events:auto}#lucky-cat-widget span{position:absolute;bottom:0;left:0;right:0;font-size:10px;color:#b2c3ad;text-align:center}.world-tools~#lucky-cat-widget:hover{background:none}footer{min-height:48px;padding:11px 4vw;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8fa395}footer button{padding:0;border:0;font-size:11px}body:not([data-mode=mountain]) #scene-labels{display:none}body:not([data-mode=mountain]) #panel{left:auto;right:5vw;top:60px;width:min(345px,33vw);max-height:calc(100% - 187px);overflow:auto;scrollbar-width:thin;padding:25px;background:linear-gradient(120deg,#1a322cf5,#162a25e6);border:1px solid #bfc9a922;border-radius:10px;backdrop-filter:blur(15px)}#panel h2{font:normal 30px/1.15 Georgia,"Songti SC",serif;color:#e5e8d8;margin:15px 0 12px}#panel .back{border:0;padding:0;font-size:11px;color:#a3b9a5;margin-bottom:19px}#panel .form-note{font-size:11px;color:#9ab2a1;margin:15px 0 0;line-height:1.6}label{display:block;font-size:12px;color:#c5d0bd;margin:17px 0 7px}input,textarea,select{width:100%;border:1px solid #becfab3b;background:#12261f;color:#e8eade;border-radius:5px;padding:11px 12px;max-width:100%;font-size:16px}textarea{resize:vertical;min-height:90px}select{font-size:14px}input[type=file]{font-size:11px;padding:9px}input[type=range]{padding:0;accent-color:#cfbe8e}input[type=date]{color-scheme:dark}.form-action{width:100%;margin-top:21px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 8px}.chips button{padding:7px 11px;font-size:12px}.chips button[aria-pressed=true]{background:#c5b78122;border-color:#cabb91}.quantity-label{display:flex;align-items:center;justify-content:space-between}.quantity-label output{color:#dccb9e;font-size:18px}.result{margin-top:24px;padding-top:20px;border-top:1px solid #bdcaa32e}.result h3{font:normal 25px/1.25 Georgia,"Songti SC",serif;margin:0 0 12px}.result p{line-height:1.8!important;margin-bottom:15px!important}.result .result-action{font-size:12px!important;color:#d0ceb1!important}.result .primary{margin-top:10px}.progress-track{height:2px;background:#bbcea130;margin:23px 0 18px}.progress-track span{display:block;height:100%;background:#d6c292;width:0}.timer{font-size:11px;color:#9db39e;display:flex;justify-content:space-between}.button-row{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.photo-preview{max-height:130px;max-width:100%;display:block;border-radius:6px;margin-top:12px}.photo-preview[hidden]{display:none}dialog{max-width:min(460px,calc(100vw - 32px));max-height:90svh;overflow:auto;background:#1a3029;color:#e2e6d6;border:1px solid #c6c19e44;border-radius:14px;padding:32px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#091612b8;backdrop-filter:blur(8px)}dialog h2{font:normal 29px Georgia,"Songti SC",serif;margin:7px 0 20px}dialog p{font-size:14px;color:#b8cab9;line-height:1.8}dialog .close{position:absolute;right:9px;top:8px;border:0;font-size:23px;padding:0 8px}#gift-dialog{text-align:center;width:400px}#gift-canvas{display:block;width:min(260px,100%);height:auto;margin:0 auto 16px;border-radius:9px}#gift-caption{min-height:45px}#about-copy a{color:#d3c69e}#toast{position:fixed;bottom:60px;left:50%;transform:translate(-50%,20px);opacity:0;transition:.2s;pointer-events:none;z-index:30;background:#e0d7b8;color:#23362a;padding:9px 20px;border-radius:6px;max-width:90vw;text-align:center;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}.skip-link{position:absolute;z-index:40;top:-100px;left:10px;background:#ebe3c8;color:#183526;padding:10px}.skip-link:focus{top:10px}.noscript{position:fixed;inset:40% 20%;z-index:20;background:#243b2e;padding:25px}.quiet-support #lucky-cat-widget{display:none}
@media(min-width:761px) and (max-width:1100px){#panel{width:230px;left:3vw}#panel h1{font-size:47px}#journeys{left:3vw;right:3vw}#journeys button{margin-right:16px;padding-right:12px;font-size:12px}.scene-note{left:3vw}body:not([data-mode=mountain]) #panel{right:3vw;width:310px}}
@media(max-width:760px){.topbar{height:72px;padding:0 18px}.brand{font-size:18px;gap:7px}.brand-mark{font-size:26px}.tools{gap:4px}.tools button{font-size:11px;padding:7px}.tools #language{min-width:53px}#motion{display:none}#world-stage{height:auto;min-height:860px;padding-bottom:170px}#scene-mount{height:590px}#scene-labels{height:590px}.world-tools{top:20px;right:14px}.world-tools button{height:33px;width:33px;font-size:19px}#panel{position:relative;left:0;top:0;width:auto;max-width:100%;padding:30px 23px 0;margin:0}#panel h1{font-size:38px;max-width:250px;margin:13px 0 13px}#panel .eyebrow{font-size:9px!important}#panel .intro{max-width:235px;font-size:12px;line-height:1.6;margin:0}#panel .primary-link{font-size:12px;padding:8px 12px;gap:25px;margin-top:17px}.home-meta{display:none}.scene-note{bottom:auto;top:600px;left:23px;font-size:10px}#journeys{left:23px;right:23px;bottom:25px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 8px;padding-top:16px}#journeys button{padding:0;margin:0;font-size:12px;white-space:normal}#journeys button span{font-size:8px;margin-bottom:2px}#lucky-cat-widget{right:16px;bottom:auto;top:520px;width:77px;height:94px}#lucky-cat-widget span{font-size:9px}body:not([data-mode=mountain]) #panel{position:relative;right:auto;left:auto;top:auto;width:auto;max-height:none;margin:465px 18px 0;padding:23px;background:#192f28f5}body:not([data-mode=mountain]) #scene-mount{height:500px}body:not([data-mode=mountain]) .scene-note{top:431px;font-size:9px}body:not([data-mode=mountain]) #lucky-cat-widget{top:370px}body:not([data-mode=mountain]) #world-stage{min-height:1100px}body:not([data-mode=mountain]) #panel h2{font-size:31px}#panel .back{margin-bottom:12px}footer{padding:12px 20px;font-size:10px}footer button{font-size:10px}dialog{padding:30px 23px}#gift-canvas{width:220px}#gift-dialog h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:760px){.topbar{height:auto;min-height:72px;flex-wrap:wrap;gap:8px;padding:12px 18px}.tools{margin-left:auto}#motion{display:inline-block}}
