body { text-align: center; font-family: sans-serif; } #content { max-width: 300px; margin: auto; } #pinyin-input { border: solid 2px #2af; } #current-character { margin-top: 0; margin-bottom: 0; font-size: 200px; } @-webkit-keyframes shake { 0%, 100% { transform: translateX(0); } 25%, 75% { transform: translateX(10px); } 50% { transform: translateX(-10px); } } @keyframes shake { 0%, 100% { transform: translateX(0); } 25%, 75% { transform: translateX(10px); } 50% { transform: translateX(-10px); } } .shake { animation-name: shake; animation-duration: 0.3s; animation-iteration-count: 1; } .unselectable { -webkit-user-select: none; /* Safari */ -moz-user-select: none; /* Firefox */ -ms-user-select: none; /* IE10+/Edge */ user-select: none; /* Standard */ } .StyleButton { padding: 10px; border-radius: 8px; border-style: solid; border-width: 2px; display: inline; } .StyleButtonEnabled { color: white; background-color: #2af; } .StyleButtonEnabled:hover { background-color: #6af; } .StyleButtonDisabled { color: white; background-color: #444; }