body {
            font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif;
            background-color: #fff;
            margin: 0;
            padding: 0;
            border-width: 0;
            cursor: pointer;
        }

        input {
            caret-color: auto;
        }

        #menu {
            font-size: 80%;
            margin: 0;
            padding: 5px;
            position: absolute;
            left: 5px;
            top: 5px;
            border-radius: 10px;
            background-color: rgba(255, 255, 128, 0.9);
            color: black;
            z-index: 10;
        }

        #menu.hidden #showhide {
            display: none;
        }

        #controls {
            margin-top: 0px;
            margin-bottom: 0px;
        }

        #menu button {
            margin-right: 5px;
            margin-left: 5px;
            border-radius: 5px;
        }

        #menu .center {
            text-align: center;
        }

        #menu button.enhanced {
            background-color: #0f0;
            border-color: #080;
        }

        #forPuzzle {
            position: absolute;
            width: 100vw;
            height: 100vh;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: #ffffdd;
            overflow: hidden;
        }

        .moving {
            transition-property: top, left, width, height;
            transition-duration: 1s;
        }

        .showimage {
            position: absolute;
            width: 100vw;
            height: 100vh;
            z-index: 100;
            /* above #menu */
            display: none;
            background-color: #ffffee99;
        }

        .showimage img {
            display: block;
            position: absolute;
            width: 100%;
            height: 100%;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            object-fit: contain;
        }