body { width: 100vw; min-width: 320px; } #root { padding: 40px 20px; max-width: 600px; margin: auto; height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; } #root > * + * { margin: 20px 0 0 0; } /* 100vh on safari does not include the bottom bar. */ @supports (-webkit-overflow-scrolling: touch) { #root { height: 85vh; } } #message-log { width: 100%; flex-grow: 1; overflow: auto; } #message-log p:first-child { margin: 0; } #message-log > * + * { margin: 10px 0 0 0; } #publish-form-container { width: 100%; } #publish-form { width: 100%; display: flex; height: 40px; } #publish-form > * + * { margin: 0 0 0 10px; } #publish-form input[type="text"] { flex-grow: 1; -moz-appearance: none; -webkit-appearance: none; word-break: normal; border-radius: 5px; border: 1px solid #ccc; } #publish-form input[type="submit"] { color: white; background-color: black; border-radius: 5px; padding: 5px 10px; border: none; } #publish-form input[type="submit"]:hover { background-color: red; } #publish-form input[type="submit"]:active { background-color: red; }