.world-stage{background:#171918;height:100dvh}.world-loading{z-index:10;color:#eee8dc;box-sizing:border-box;opacity:1;background:radial-gradient(at 50% 38%,#2a2b25 0%,#1a1d1b 45%,#111413 100%);place-items:center;padding:32px 24px;font-family:system-ui,sans-serif;transition:opacity 1.1s cubic-bezier(.22,.61,.36,1);display:grid;position:fixed;inset:0}.world-loading--revealing{opacity:0}.world-loading-card{text-align:center;width:min(100%,400px)}.world-loading-brand{letter-spacing:.32em;color:#c7b48a;margin:0 0 32px;font-size:12px}.world-loading h1{letter-spacing:.025em;margin:0 0 20px;font-family:Georgia,Times New Roman,serif;font-size:clamp(21px,4vw,27px);font-weight:400}.world-loading p{overflow-wrap:anywhere;line-height:1.8}.world-loading [role=status],.world-loading [role=alert]{color:#b7b9b0;font-size:13px}.world-loading progress{appearance:none;accent-color:#cbb989;background:#343a34;border:0;border-radius:3px;width:100%;height:3px;margin:36px 0 16px;display:block;overflow:hidden}.world-loading progress::-webkit-progress-bar{background:#343a34;border-radius:3px}.world-loading progress::-webkit-progress-value{background:linear-gradient(90deg,#9a875f,#d8c899);border-radius:3px;transition:width .2s ease-out}.world-loading progress::-moz-progress-bar{background:linear-gradient(90deg,#9a875f,#d8c899);border-radius:3px}.world-loading progress:indeterminate{background:linear-gradient(90deg,#343a34 20%,#b5a276 50%,#343a34 80%) 0 0/200% 100%;animation:2s ease-in-out infinite world-loading-pulse}.world-loading progress:indeterminate::-webkit-progress-bar{background:0 0}.world-loading .world-loading-detail{letter-spacing:.07em;color:#949c90;margin:12px 0;font-size:11px}.world-loading button{color:#e8d8b1;font:inherit;cursor:pointer;background:#272b25;border:1px solid #76694d;border-radius:6px;margin-top:16px;padding:12px 28px;font-size:13px}.world-loading button:hover{background:#343a2e}.world-loading button:focus-visible{outline-offset:5px;outline:2px solid #d8c899}@keyframes world-loading-pulse{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.world-loading{transition-duration:10ms}.world-loading progress{animation:none}.world-loading progress::-webkit-progress-value{transition:none}}.world-stage{position:relative;overflow:hidden}html[data-mobile-device=true] .world-stage,html[data-mobile-device=true] .world-stage canvas,html[data-mobile-device=true] .world-loading{touch-action:none;overscroll-behavior:none}.world-controls-help{z-index:3;top:max(16px, env(safe-area-inset-top));pointer-events:none;text-align:center;color:#fff;text-shadow:0 1px 4px #000,0 0 12px #000;font:12px/1.7 system-ui,sans-serif;position:absolute;left:16px;right:16px}.world-controls-help p{margin:3px 0}.world-touch-controls{display:none}html[data-mobile-device=true] .world-touch-controls{z-index:2;pointer-events:none;display:block;position:absolute;inset:0}html[data-mobile-device=true] .world-touch-controls button,html[data-mobile-device=true] .world-joystick{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html[data-mobile-device=true] .world-joystick{width:128px;height:128px;left:max(24px, env(safe-area-inset-left));bottom:max(28px, env(safe-area-inset-bottom));background:#18211b66;border:1px solid #ebdfbd66;border-radius:50%;place-items:center;display:grid;position:absolute}html[data-mobile-device=true] .world-joystick span{pointer-events:none;background:#e4d7b0b3;border:1px solid #fff9ddaa;border-radius:50%;width:48px;height:48px}html[data-mobile-device=true] .world-run-button{right:max(28px, env(safe-area-inset-right));bottom:max(48px, env(safe-area-inset-bottom));color:#fff5dc;background:#1a241dcc;border:1px solid #e5d2a188;border-radius:50%;width:76px;height:76px;font:14px system-ui,sans-serif;position:absolute}html[data-mobile-device=true] .world-run-button[aria-pressed=true]{background:#75643ee6;border-color:#ffedbe}html[data-mobile-device=true] .world-touch-help{right:16px;top:max(16px, env(safe-area-inset-top));color:#fff;background:#17201988;border:1px solid #fff4;border-radius:6px;padding:8px 12px;font:11px system-ui,sans-serif;position:absolute}html[data-mobile-device=true] .world-controls-help{top:max(58px, env(safe-area-inset-top))}html[data-mobile-device=true] .world-touch-controls button:focus-visible{outline-offset:4px;outline:2px solid #ffe2a1}
