body { margin: 0; padding: 0; } .chat { display: grid; grid-template-areas: 'posts online' 'actions actions' ; grid-template-columns: 1fr auto; grid-template-rows: 140px auto; position: fixed; top: 0; --pad: 3px; padding: var(--pad); width: calc(100vw - 2 * var(--pad)); } .ts { color: rgba(0, 0, 0, 0.4); font-family: monospace; } .source { font-weight: bold; } .online { grid-area: online; } .posts { grid-area: posts; overflow-y: scroll; } .post .text p { margin: 0; } .post .text p:first-child { display: inline; } .actions { grid-area: actions; display: grid; grid-template-columns: 1fr auto; } #textbox { resize: vertical; } .post > div { display: inline; padding-left: var(--pad); } .videos { display: inline-grid; grid-auto-flow: column; --gap: 1em; grid-gap: var(--gap); padding: var(--gap); overflow: hidden; resize: vertical; height: 200px; } .video-container { background-color: lightsteelblue; display: inline-block; position: relative; overflow: hidden; } .video-meta { position: absolute; z-index: 999; } .video-meta label { display: block; } .video-container video { object-fit: cover; height: 100%; width: 100%; } .video-container:not(.square) { width: unset !important; overflow: scroll; } .video-container:not(.square) video { object-fit: unset; height: unset; width: unset; } .video-container.mirror video { transform: scaleX(-1); }