:root{font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:#f4f1df;font-synthesis:none;--paper:#eee9d4;--muted:#b5bba8;--line:rgba(230,238,210,.22)}*{box-sizing:border-box}body{margin:0;background:#24362c;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:rgba(20,35,28,.35);transition:background .2s,transform .2s}button:hover{background:rgba(204,219,168,.17)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #e9d68c;outline-offset:5px}button:active{transform:translateY(1px)}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 160px #0a171f55;background:linear-gradient(0deg,#08160f55,transparent 25%,transparent 85%,#08111b33)}#landing{position:absolute;inset:0;background:linear-gradient(90deg,#091b1bcc 0%,#12201b72 34%,transparent 70%)}.brand{position:absolute;left:5.5vw;top:5vh;display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:3px}.brand-mark{font:42px Georgia;color:#e8ddb1;line-height:1}.brand small{display:block;font-size:8px;letter-spacing:2.1px;margin-top:7px;color:#a9b9ac}.intro{position:absolute;left:8vw;top:26vh}.eyebrow{font-size:10px;letter-spacing:2.6px;color:#c6cbb7}.intro .eyebrow{display:flex;gap:12px;align-items:center}.eyebrow>span{width:26px;height:1px;background:#d3cda4}h1{font-family:"Songti SC","SimSun",serif;font-size:clamp(48px,5.5vw,86px);font-weight:400;letter-spacing:9px;margin:24px 0 22px}h1>span{display:block;font:400 clamp(18px,1.6vw,24px)/1.9 "Songti SC","SimSun",serif;letter-spacing:4px;margin-top:24px}.intro p{font-size:12px;line-height:2.1;color:#c2c9b7;letter-spacing:1px;margin-bottom:30px}.primary{display:flex;align-items:center;justify-content:space-between;gap:70px;padding:17px 22px;background:#e7e4cf;color:#24352a;border:0;font-size:13px;letter-spacing:2px}.primary:hover{background:#fff7d7}.primary>span{font-size:20px}.world-note{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1px;color:#b9c1ae;margin-top:19px}.dot{width:5px;height:5px;border-radius:50%;background:#c6d4a0}.divider{margin:0 3px;color:#718574}.field-note{position:absolute;right:6vw;bottom:17vh;border-left:1px solid #cdd6bd55;padding-left:22px}.field-note>span{font-size:9px;letter-spacing:2px;color:#c6cab7}.field-note p{font-family:SimSun,serif;font-size:18px;letter-spacing:3px;line-height:1.8}.field-note>div{font-size:10px;letter-spacing:2px;color:#b8c0ae}footer{position:absolute;bottom:4vh;left:5.5vw;right:5.5vw;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:10px;letter-spacing:1px;color:#b4bfaf}.small-arrow{margin-left:20px}#hud{position:fixed;inset:0;pointer-events:none}#hud button{pointer-events:auto}.location{position:absolute;left:35px;top:30px;text-shadow:0 2px 8px #091910}.location h2{font-family:SimSun,serif;letter-spacing:4px;font-weight:400;margin:12px 0 9px;font-size:25px}.location h2 span{font:11px "Microsoft YaHei",sans-serif;letter-spacing:2px;color:#c7cbb8}.location p{font-size:11px;color:#c0c6b2;letter-spacing:1px}.compass{position:absolute;top:34px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;font-size:10px;letter-spacing:2px;color:#cbd0bc;text-shadow:0 1px 4px #000}.compass i{height:5px;width:1px;background:#b7c1ae55}.compass b{font-weight:400;color:#f1e5b5;border-bottom:1px solid #dfd2a2;padding-bottom:7px}.tools{position:absolute;right:28px;top:28px;display:flex;gap:8px}.tools button{padding:10px 13px;border-radius:2px;font-size:11px;backdrop-filter:blur(8px)}.tutorial{position:absolute;left:35px;top:150px;width:300px;padding:20px 22px;background:#12251ce0;border:1px solid var(--line);backdrop-filter:blur(14px)}.tutorial-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#aebfa5;letter-spacing:2px}.tutorial-top button{border:0;background:transparent;font-size:10px;letter-spacing:0;padding:0;color:#c4c6ac}#steps{display:flex;gap:5px;margin:18px 0}#steps i{height:2px;flex:1;background:#c4cbb530}#steps i.active{background:#e2d69c}.tutorial h3{font-size:16px;font-weight:400;letter-spacing:2px}.tutorial p{font-size:12px;line-height:1.9;color:#c0c7b5;margin-bottom:0}kbd{display:inline-block;min-width:22px;text-align:center;border:1px solid #d5ddbb55;border-radius:3px;padding:3px 5px;font:10px Arial;color:#e8ebd8;background:#16251d66}.controls{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:23px;width:max-content;max-width:96vw;padding:13px 20px;background:#13231c99;border:1px solid #b4c4a922;border-radius:4px;backdrop-filter:blur(10px);font-size:10px;color:#c3cbb6}.controls span{white-space:nowrap;display:flex;align-items:center;gap:5px}.controls kbd+ kbd{margin-left:-2px}#interaction{position:absolute;left:50%;bottom:130px;transform:translateX(-50%);background:#192d20e8;border:1px solid #d8d9b355;padding:12px 22px;display:flex;gap:15px;align-items:center;font-size:13px;letter-spacing:1px;white-space:nowrap}#interaction kbd{font-size:14px;padding:5px 9px;color:#f4e5a8}#toast{position:absolute;top:21%;left:50%;transform:translateX(-50%);padding:14px 22px;background:#172b20de;border:1px solid #b8c89d44;font-size:12px;line-height:1.8;max-width:400px;text-align:center;opacity:0;transition:opacity .3s}#toast.show{opacity:1}.explore-note{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);color:#d4d9c4;font:12px SimSun,serif;letter-spacing:3px;text-shadow:0 1px 8px #000}dialog{width:min(420px,92vw);border:1px solid #cad3b64d;background:#16291ff7;color:var(--paper);padding:38px;box-shadow:0 30px 100px #0007}dialog::backdrop{background:#08150f88;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:26px;color:#b9c8ad}dialog h2{font:30px SimSun,serif;letter-spacing:5px;margin:18px 0}dialog p{font-size:12px;color:#b7c3ac;margin-bottom:30px}.setting-row{display:flex;align-items:center;justify-content:space-between;margin:24px 0;font-size:13px}input[type=range]{width:145px;accent-color:#c6d0a3}select{color:var(--paper);background:#273e2c;border:1px solid var(--line);padding:7px 12px}.panel-actions{display:flex;gap:10px;margin:25px 0}.panel-actions button{padding:10px 13px;font-size:11px}dialog .primary{width:100%}dialog small{display:block;text-align:center;color:#9caa94;font-size:10px;margin-top:18px}#loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#1e3027;font-size:12px;letter-spacing:3px;z-index:10}.loading-ring{height:30px;width:30px;border:1px solid #8d9b6e55;border-top-color:#ddd5aa;border-radius:50%;animation:spin 1s linear infinite}#error{position:fixed;inset:0;background:#17291f;display:grid;place-content:center;text-align:center;z-index:12;padding:30px}#error p{max-width:500px;line-height:2}#error button{padding:12px}#error h2{font-weight:400}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:850px){.field-note{display:none}.intro{left:7vw;top:23vh}h1{font-size:52px}.location{left:20px;top:20px}.tools{top:20px;right:15px}.compass{display:none}.controls{gap:10px;padding:10px;font-size:9px}.controls span:last-child{display:none}.tutorial{left:20px;top:135px;width:265px}.location p{max-width:200px}.tools button{padding:8px;font-size:10px}}@media(max-height:650px){.intro{top:18vh}h1{margin:15px 0;font-size:52px}h1>span{margin-top:12px}.intro p{margin-bottom:16px}.brand{top:4vh}.field-note{bottom:20vh}}
