*, *::before, *::after { box-sizing: border-box; } body { font-family: sans-serif; background: white; margin: 0; padding: 10px; padding-bottom: 0; font-size: 16px; } #chat { overflow-y: scroll; margin: 0; display: flex; flex-direction: column; } input { background-color: gainsboro; border: none; height: 100%; font-size: inherit; flex: 1 1 auto; min-width: 0; box-sizing: border-box; } input:focus { outline: none; background-color: darkgray; } input::placeholder { color: gray; } #userList { overflow-y: scroll; } button, kbd { border: none; font-size: inherit; border-radius: 0; background-color: gainsboro; color: black; flex: 0 0 auto; } button:active { background-color: darkgray; } .msg { margin-bottom: 2px; display: inline-flexbox; flex-direction: row; align-items: stretch; justify-content: flex-start; gap: 2px; } .msg_content { word-wrap: break-word; display: inline; } .notice { background-color: wheat; width: fit-content; font-style: italic; margin-bottom: 2px; } .name { font-weight: bold; font-style: normal; flex-grow: 0; } .ts { color: gray; font-size: 0.6em; margin-right: 0.5em; margin-left: 0.5em; font-style: normal; align-self: self-end; } #inputContainer { box-sizing: border-box; padding-left: 0; flex-direction: row; width: 100%; gap: 2px; justify-content: space-evenly; } #bottom_group { position: sticky; bottom: 0px; background-color: white; padding-bottom: 10px; margin: 0; display: flex; flex-direction: column; gap: 2px; padding-top: 2px; } #bottom_bar { display: flex; box-sizing: border-box; flex-direction: row; gap: 2px; padding: 0; width: 100%; justify-content: space-between; flex-wrap: wrap; } #name_area { display: flex; flex-direction: row; gap: 2px; } #nameInput { flex-grow: 0; width: 10em; } #bottom_text { padding-left: 0.5em; padding-right: 0.5em; background-color: gainsboro; height: 100%; padding-top: 2px; padding-bottom: 2px; } .err { font-weight: bold; color: darkred; } dialog { border: none; background-color: white; padding: 5em; } ::backdrop { backdrop-filter: blur(4px); } .msg.focused { background-color: lightblue; }