*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;height:100dvh;overflow:hidden;background:#dbe3d2;color:#2f4a35;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}button,a,input{touch-action:manipulation}button{cursor:pointer;font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #729260;outline-offset:3px}#viewport{position:absolute;inset:0}#viewport>canvas,#viewport>svg{display:block;width:100%;height:100%}.world-atmosphere-haze{position:absolute;inset:0;z-index:1;pointer-events:none;background:transparent;transition:background-color 1.4s ease}body[data-world-view=laboratory] .world-atmosphere-haze{display:none}body[data-world-phase=night] .world-atmosphere-haze{background:#111c2d24}body[data-world-phase=dawn] .world-atmosphere-haze,body[data-world-phase=dusk] .world-atmosphere-haze{background:#e799671a}body[data-world-condition=fog] .world-atmosphere-haze{background:#dfe6dc30}body[data-world-condition=rain] .world-atmosphere-haze,body[data-world-condition=sleet] .world-atmosphere-haze,body[data-world-condition=thunder] .world-atmosphere-haze{background:#3953561f}body[data-world-condition=snow] .world-atmosphere-haze{background:#d5e5eb24}body[data-renderer=compatibility][data-world-condition=rain] .world-atmosphere-haze:before,body[data-renderer=compatibility][data-world-condition=sleet] .world-atmosphere-haze:before,body[data-renderer=compatibility][data-world-condition=thunder] .world-atmosphere-haze:before{content:"";position:absolute;inset:0;opacity:.36;background-image:repeating-linear-gradient(108deg,transparent 0,transparent 17px,rgb(229 242 240 / 76%) 18px,transparent 19px,transparent 34px);background-size:35px 48px;animation:fallback-rain 1.2s linear infinite}body[data-renderer=compatibility][data-world-condition=snow] .world-atmosphere-haze:before,body[data-renderer=compatibility][data-world-condition=snow] .world-atmosphere-haze:after{content:"";position:absolute;inset:-12px 0;opacity:.68;background-image:radial-gradient(circle,rgb(255 255 255 / 94%) 0 1.4px,transparent 1.8px);background-size:47px 53px;animation:fallback-snow 5s linear infinite}body[data-renderer=compatibility][data-world-condition=snow] .world-atmosphere-haze:after{opacity:.4;background-size:71px 79px;background-position:19px 31px;animation-duration:8s}@keyframes fallback-rain{to{background-position:-35px 96px}}@keyframes fallback-snow{to{background-position:47px 100px}}.standalone-back{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));text-decoration:none;color:inherit;background:#f3f6ecdf;padding:12px 18px;min-height:44px;display:inline-flex;align-items:center;border-radius:5px;font-size:12px;z-index:5}.world-tools{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(550px,calc(100% - 40px));background:#f3f6eced;backdrop-filter:blur(14px);border:1px solid #fff9;box-shadow:0 12px 30px #3b503419;border-radius:10px;padding:19px 23px;z-index:5}.tools-header{display:flex;align-items:center;gap:12px}.tools-label{font-size:11px;color:#7c8e6e;letter-spacing:.7px;display:block;margin-bottom:14px}#world-tools-toggle{display:none;min-height:44px;padding:0 12px;border:1px solid #d6dfcb;border-radius:6px;background:transparent;color:#526a49;font-size:12px;white-space:nowrap}.world-tool-content[hidden]{display:none}.views{display:flex;gap:5px}.views button{flex:1;background:transparent;border:1px solid #d6dfcb;border-radius:4px;font-size:10px;padding:11px 7px;color:#708366;white-space:nowrap}.views button.active{background:#2c5e43;color:#edf3e6;border-color:#2c5e43}.world-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;font-size:12px;color:#819171;margin-top:17px}.world-options label{display:flex;min-height:44px;align-items:center;gap:5px;cursor:pointer}.world-options input{margin:0;accent-color:#426e43;width:18px;height:18px}.world-options button{min-height:44px;font-size:12px;background:none;border:0;color:#647e51;padding:2px}.world-info{position:absolute;left:30px;top:94px;pointer-events:none}.world-info>span{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:1.6px;color:#718b5c}.world-info p{font-size:12px;color:#7f9270;margin-top:9px}.world-weather-hud{position:absolute;top:22px;right:28px;width:242px;padding:11px 13px 9px;border:1px solid rgb(255 255 255 / 76%);border-radius:16px;background:#f3f7edf0;box-shadow:0 8px 26px #2b3e2f1f;color:#334a38;backdrop-filter:blur(13px) saturate(1.08);-webkit-backdrop-filter:blur(13px) saturate(1.08);z-index:4;font-variant-numeric:tabular-nums}.weather-topline,.weather-nowline,.weather-reading,.sunlight-labels{display:flex;align-items:baseline;justify-content:space-between}.weather-topline{gap:8px;color:#526f4a;font-size:11px;font-weight:600;letter-spacing:.55px}.weather-condition{color:#486746;font-weight:600;font-size:13px}.weather-reading{align-items:flex-start;justify-content:center;flex-direction:column;gap:0}.weather-nowline{align-items:center;margin-top:1px}.clock-stack{display:flex;flex-direction:column;align-items:flex-end;gap:0}.local-time{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;line-height:1.2;letter-spacing:0;color:#314a37}#world-local-date{color:#526f4a;font-size:12px;letter-spacing:.1px}.weather-temperature{font-size:46px;line-height:.98;font-weight:500;letter-spacing:-1.5px;color:#526d4b}.sunlight-block{margin-top:7px;padding-top:5px;border-top:1px solid rgb(110 132 98 / 17%)}.sunlight-labels{gap:3px;color:#526f4a;font-size:12px;line-height:1.2;white-space:nowrap}.sunlight-labels #world-sun-phase{color:#846039}.sunlight-arc{display:block;width:100%;height:22px;overflow:visible}.sunlight-arc-track,.sunlight-arc-progress{fill:none;stroke-linecap:round;stroke-width:1.6}.sunlight-arc-track{stroke:#758b623d}.sunlight-arc-progress{stroke:#d5a95f;stroke-dasharray:0 100}.sunlight-marker{fill:#e7af56;stroke:#fff8e9;stroke-width:1.5;filter:drop-shadow(0 1px 2px rgb(114 86 43 / 30%))}.world-weather-hud[data-phase=night] .sunlight-marker,.world-weather-hud[data-phase=estimated] .sunlight-marker{opacity:0}.world-weather-hud[data-phase=night] .sunlight-arc-progress{stroke:#8293a0}@media (prefers-color-scheme: dark){.world-weather-hud{border-color:#cedec640;background:#233027f0;color:#e4eddf}.weather-topline,#world-local-date,.sunlight-labels{color:#c0d0b8}.local-time,.weather-condition,.weather-temperature{color:#e4eddf}.sunlight-labels #world-sun-phase{color:#e4c38b}.sunlight-block{border-top-color:#cbdec333}}@media (prefers-reduced-transparency: reduce){.world-weather-hud{background:#f3f7ed;backdrop-filter:none;-webkit-backdrop-filter:none}}@media (prefers-color-scheme: dark) and (prefers-reduced-transparency: reduce){.world-weather-hud{background:#233027}}.world-hint{position:absolute;bottom:12px;left:0;width:100%;text-align:center;font-size:8px;letter-spacing:1px;color:#829578;pointer-events:none}.embedded .standalone-back{display:none}.embedded:not(.interactive) .world-tools,.embedded:not(.interactive) .world-info,.embedded:not(.interactive) .world-hint,.embedded:not(.interactive) .world-weather-hud{display:none}.embedded.interactive .world-info{top:107px}#loading{position:absolute;inset:0;background:#dbe3d2;display:flex;align-items:center;justify-content:center;gap:13px;font-size:11px;letter-spacing:1px;z-index:8;transition:opacity .4s}#loading span{display:inline-block;border:1px solid #b2c3a4;border-top-color:#547747;border-radius:50%;height:19px;width:19px;animation:spin 1s linear infinite}#loading.hidden{opacity:0;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 600px){.world-info{display:none}.standalone-back{font-size:12px;min-height:44px}.world-hint{font-size:12px;bottom:calc(66px + env(safe-area-inset-bottom))}.world-weather-hud{top:calc(env(safe-area-inset-top,0px) + 12px);right:max(12px,env(safe-area-inset-right));width:min(242px,calc(100vw - 164px));padding:10px 12px 8px}.weather-temperature{font-size:42px}}@media (max-width: 900px),(pointer: coarse) and (max-height: 500px){.standalone-back,.world-weather-hud{top:calc(env(safe-area-inset-top,0px) + 12px)}.world-tools{bottom:max(10px,env(safe-area-inset-bottom));width:min(550px,calc(100% - 24px));padding:12px 14px}.tools-header{justify-content:space-between;gap:8px}.tools-header .tools-label{margin:0;font-size:14px;white-space:nowrap}#world-tools-toggle{display:inline-flex;align-items:center;justify-content:center}.world-tools.is-collapsed .world-tool-content{display:none}.views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.views button:last-child{grid-column:1 / -1}.views button{min-height:44px;padding:7px 5px;font-size:12px}.world-options{justify-content:flex-start;gap:4px 10px;margin-top:7px;font-size:12px}.world-options a{display:inline-flex;min-height:44px;align-items:center}#reset{margin-left:auto}}@media (max-width: 375px){.world-weather-hud{padding:8px 10px 6px}.world-weather-hud .sunlight-labels{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:2px;font-size:11px}.world-weather-hud .sunlight-labels>:first-child{min-width:0;white-space:normal}.world-weather-hud .sunlight-labels>:last-child{min-width:0;text-align:right;white-space:normal}.world-weather-hud .sunlight-labels>:nth-child(2){text-align:center}.world-tools{padding:9px 10px}.tools-header{gap:6px}.tools-header .tools-label{font-size:13px}#world-tools-toggle{padding-inline:8px;font-size:12px}}@media (max-width: 900px) and (max-height: 450px) and (orientation: landscape),(pointer: coarse) and (max-height: 500px) and (orientation: landscape){.world-weather-hud{top:calc(env(safe-area-inset-top,0px) + 12px);right:max(12px,env(safe-area-inset-right));width:min(224px,calc(100vw - 24px));padding:8px 10px 6px}.world-weather-hud .weather-temperature{font-size:36px}.world-weather-hud .sunlight-arc{height:16px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}body[data-world-inactive=true] .world-atmosphere-haze:before,body[data-world-inactive=true] .world-atmosphere-haze:after{animation-play-state:paused!important}
