:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden}body{background:#000}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.touch-controls-overlay{position:fixed;inset:0;pointer-events:none;z-index:30;user-select:none;-webkit-user-select:none;touch-action:none}.touch-joystick-area{position:absolute;bottom:10%;left:5%;width:140px;height:140px;pointer-events:auto;touch-action:none}.touch-joystick-base{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;background:#00ff0014;border:2px solid rgba(0,255,0,.3);box-shadow:0 0 20px #00ff001a}.touch-joystick-thumb{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:#00ff004d;border:2px solid rgba(0,255,0,.8);box-shadow:0 0 10px #00ff0080;transition:none}.touch-look-area{position:absolute;top:0;right:0;bottom:130px;width:50%;pointer-events:auto;touch-action:none}.touch-attack-button{position:absolute;bottom:130px;right:20px;width:90px;height:60px;pointer-events:auto;touch-action:manipulation;z-index:35;font-family:Courier New,monospace;font-size:12px;font-weight:700;letter-spacing:1px;background:#ff323240;border:2px solid rgba(255,100,100,.8);border-radius:8px;color:#f66;box-shadow:0 0 15px #ff32324d,inset 0 0 10px #ff32321a;cursor:pointer;user-select:none;-webkit-user-select:none}.touch-attack-button:active{background:#ff323280;box-shadow:0 0 25px #ff323299,inset 0 0 15px #ff32324d;transform:scale(.95)}.touch-interact-button{position:absolute;bottom:200px;right:20px;width:90px;height:50px;pointer-events:auto;touch-action:manipulation;z-index:35;font-family:Courier New,monospace;font-size:11px;font-weight:700;letter-spacing:1px;background:#00c8ff33;border:2px solid rgba(0,200,255,.7);border-radius:8px;color:#0cf;box-shadow:0 0 12px #00c8ff33,inset 0 0 8px #00c8ff1a;cursor:pointer;user-select:none;-webkit-user-select:none}.touch-interact-button:active{background:#00c8ff66;box-shadow:0 0 20px #00c8ff80,inset 0 0 12px #00c8ff33;transform:scale(.95)}@media(max-width:480px){.touch-joystick-area{bottom:8%;left:3%;width:120px;height:120px}.touch-joystick-base{width:100px;height:100px}.touch-joystick-thumb{width:40px;height:40px}.touch-look-area{bottom:110px}.touch-attack-button{bottom:110px;right:10px;width:75px;height:50px;font-size:10px}.touch-interact-button{bottom:170px;right:10px;width:75px;height:42px;font-size:9px}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
