        body {
            font-family: Arial, sans-serif;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;
            background-color: #111;
            overflow: hidden;
        }
        #keyboard {
            width: 600px;
            height: 250px;
            border: 3px solid #333;
            border-radius: 10px;
            padding: 10px;
            background-color: #222;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.7);
            position: relative;
        }
        .key {
            width: 50px;
            height: 50px;
            margin: 0 5px;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #444;
            color: white;
            border-radius: 5px;
            cursor: pointer;
            user-select: none;
            font-weight: bold;
            box-shadow: 0 2px 0 #000;
            position: absolute;
            transition: all 0.1s;
            transform-style: preserve-3d;
        }
        .key.space { width: 250px; }
        .key.backspace { width: 100px; }
        .anger-1 { background-color: #FFFFFF; }
        .anger-2 { background-color: #FF00FF; }
        .anger-3 { background-color: #AAAAFF; animation: shake 0.1s infinite; }
        .anger-4 { background-color: #FF0000; animation: shake 0.05s infinite; }
        @keyframes shake {
            0% { transform: translate(0, 0) rotate(0deg); }
            25% { transform: translate(1px, 1px) rotate(1deg); }
            50% { transform: translate(0, 0) rotate(0deg); }
            75% { transform: translate(-1px, -1px) rotate(-30deg); }
            100% { transform: translate(0, 0) rotate(0deg); }
        }
        @keyframes jump {
            0% { transform: translateY(0); }
            50% { transform: translateY(-20px); }
            100% { transform: translateY(0); }
        }
        @keyframes jumpSide {
            0% { transform: translate(0, 0); }
            25% { transform: translate(-10px, -60px); }
            50% { transform: translate(10px, -120px); }
            75% { transform: translate(-110px, -20px); }
            100% { transform: translate(0, 0); }
        }
        .jump { animation: jump 0.3s ease-out; }
        .jump-side { animation: jumpSide 0.4s ease-out; }
    
