:root{font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:#30443b;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0;overflow:hidden;overscroll-behavior:none;background:#dce6cf}#world{position:fixed;inset:0;touch-action:none}canvas{display:block;width:100%;height:100%}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #436d52;outline-offset:3px}.climate-panel{position:fixed;z-index:3;right:max(24px,env(safe-area-inset-right));top:max(24px,env(safe-area-inset-top));width:204px;padding:14px;border:1px solid #ffffffa0;border-radius:16px;background:#f8f7ede0;backdrop-filter:blur(16px);box-shadow:0 8px 30px #3b4c3212}.weather{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:11px}.weather #weather-icon{font-size:21px;color:#9e803d}.weather #temperature{margin-left:auto;font-size:11px;color:#6c7964}.season-options,.weather-options{display:grid;gap:5px;grid-template-columns:repeat(4,1fr)}.weather-options{grid-template-columns:repeat(3,1fr);margin-top:6px}.climate-panel button{border:1px solid #d2d9c7;border-radius:8px;min-height:38px;background:#ffffff70;font-size:12px;touch-action:manipulation}.weather-options button{font-size:19px}.climate-panel button:hover{background:#e4ead9}.climate-panel button[aria-pressed=true]{background:#526d4f;border-color:#526d4f;color:#fff}#look-zone{position:fixed;inset:0 0 0 50%;z-index:1;touch-action:none;cursor:grab}#look-zone:active{cursor:grabbing}#joystick{position:fixed;z-index:2;left:max(38px,env(safe-area-inset-left));bottom:max(38px,env(safe-area-inset-bottom));height:140px;width:140px;border-radius:50%;background:#f7f6e929;border:1px solid #ffffff85;box-shadow:inset 0 0 32px #f7f6e92e,0 4px 20px #30443b0c;touch-action:none;user-select:none;-webkit-user-select:none}.joystick-ring{position:absolute;inset:22px;border:1px solid #fff5;border-radius:50%;pointer-events:none}#joystick-knob{position:absolute;left:44px;top:44px;width:52px;height:52px;border-radius:50%;border:1px solid #ffffffa0;background:#f8f7edc9;box-shadow:0 4px 14px #30443b20;pointer-events:none;will-change:transform}#joystick[data-active=true]{background:#f7f6e940;border-color:#fff}#joystick[data-active=true] #joystick-knob{background:#f8f7edf0}.look-indicator{position:fixed;right:max(65px,env(safe-area-inset-right));bottom:max(75px,env(safe-area-inset-bottom));z-index:2;pointer-events:none;width:44px;height:44px;padding:9px;border:1px solid #fff8;border-radius:50%;background:#f8f7ed55}.look-indicator svg{fill:none;stroke:#536a50;stroke-width:1.5;width:100%;height:100%}#loading{position:fixed;inset:0;z-index:5;display:grid;place-items:center;background:#e7ebdc}#loading[hidden]{display:none}#loading span{height:32px;width:32px;border:2px solid #52684933;border-top-color:#526849;border-radius:50%;animation:spin 1s linear infinite}#loading[data-error=true] span{border-color:#b18c58;animation-duration:3s}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){.climate-panel{right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));width:188px;padding:12px}#joystick{left:max(24px,env(safe-area-inset-left));bottom:max(28px,env(safe-area-inset-bottom));width:128px;height:128px}#joystick-knob{left:38px;top:38px}.look-indicator{right:54px;bottom:68px}}@media(max-height:480px){.climate-panel{top:12px;right:16px;padding:10px;width:184px}.weather{margin-bottom:7px}.climate-panel button{min-height:32px}#joystick{left:24px;bottom:24px;width:120px;height:120px}#joystick-knob{left:34px;top:34px}.look-indicator{bottom:54px;right:58px}}
#minimap{position:fixed;z-index:3;top:214px;right:max(38px,env(safe-area-inset-right));width:176px;height:176px;padding:0;overflow:hidden;border:3px solid #f6f4e8e8;border-radius:18px;background:#dce4c5;box-shadow:0 6px 26px #30443b20;touch-action:manipulation}#minimap-canvas{width:100%;height:100%;pointer-events:none}.map-expand{position:absolute;bottom:7px;right:8px;width:22px;height:22px;border-radius:7px;background:#f7f6e9d9;display:grid;place-items:center;font-size:15px}#world-map{padding:16px;width:min(680px,92vw);max-height:94dvh;border:1px solid #ffffffb0;border-radius:20px;background:#f5f4e7;color:#30443b;box-shadow:0 20px 100px #20382b50;overflow:auto}#world-map::backdrop{background:#24392e70;backdrop-filter:blur(5px)}.map-header{display:flex;justify-content:space-between;align-items:center;font-size:15px;letter-spacing:2px;margin-bottom:10px}#map-close{height:34px;width:34px;border:1px solid #cdd4c0;border-radius:50%;background:#fff7;font-size:24px;line-height:1;letter-spacing:0}#full-map-canvas{display:block;width:min(100%,72dvh);height:auto;aspect-ratio:1;margin:0 auto;border-radius:12px;background:#dce4c5}.map-legend{display:flex;justify-content:center;gap:28px;font-size:11px;margin-top:13px}.map-legend span{display:flex;align-items:center;gap:7px}.map-legend i{height:8px;width:8px;border-radius:50%}.player-dot{background:#496e64}.home-dot{background:#b88d4e}@media(max-width:600px){#minimap{top:180px;right:max(20px,env(safe-area-inset-right));width:144px;height:144px;border-radius:15px}#world-map{padding:12px;width:94vw}.map-header{font-size:13px}#full-map-canvas{width:min(100%,72dvh)}}@media(max-height:560px){#minimap{top:12px;right:218px;width:136px;height:136px}#world-map{width:min(560px,92vw);max-height:96dvh;padding:10px}.map-header{margin-bottom:5px;font-size:12px}#full-map-canvas{width:min(100%,64dvh)}.map-legend{margin-top:7px;font-size:10px}}
