body,button{font-family:Courier New,Courier,"monospace";font-size:20px}h1,h2{margin-top:0}button{cursor:pointer;margin-bottom:10px;padding:1rem}body{box-sizing:border-box;justify-content:center;align-items:center;height:100vh;margin:0;padding:0;display:flex;overflow:hidden}#debug{color:red;position:fixed;top:0;left:0}#background{z-index:-100;position:absolute;top:0;left:0}#canvas{width:100vmin;height:100vmin}.score{-webkit-user-select:none;user-select:none;color:#fff;font-size:30px;position:fixed;top:0;left:50%;transform:translate(-50%)}.mobile{position:fixed;inset:0}.mobile-joystick{border:1px solid #d3d3d3;border-radius:50%;width:150px;height:150px;position:absolute;bottom:10px;left:10px}.mobile-joystick:before{content:"";border:1px solid #d3d3d3;border-radius:50%;width:75px;height:75px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-joystick-handle{width:37.5px;height:37.5px;position:relative;top:50%;left:50%;transform:translate(56.25px)}.mobile-joystick-handle-image{background-color:#d3d3d3;border:1px solid #fff;border-radius:50%;width:37.5px;height:37.5px;position:relative;transform:translate(-50%,-50%)}.mobile-actions{position:absolute;bottom:37.5px;right:37.5px}.mobile-actions-button{-webkit-user-select:none;user-select:none;border:1px solid #fff;border-radius:50%;width:100px;height:100px;font-size:40px}.menu{text-align:center;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.menu-panel{background-color:#fff;border:1px solid #000;flex-direction:column;padding:2rem;display:flex}.menu-panel button{margin-bottom:20px}.game-over{text-align:center;-webkit-user-select:none;user-select:none;color:#fff;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game-over p{margin-top:10px;margin-bottom:10px}.game-over button{margin-top:20px}.game-over-header{font-size:50px}.game-over-score{font-size:30px}#input-source{padding:1rem;display:flex}#input-source input,#input-source label{cursor:pointer}#input-source label{margin-left:5px}#input-source div{margin-right:30px;display:flex}#input-source div:last-child{margin-right:0}[hidden]{display:none}