/* layout */ #chat-page #main #message-page .content { padding: 0px; overflow: hidden; display: flex; position: relative; } #chat-page #main #message-page .content #message-container { --message-container-padding: var(--control-height); padding-bottom: calc( var(--message-container-padding) + var(--content-padding) ) !important; } #chat-page #main #message-page .content:has(.reply-preview-wrapper .reply-preview) #message-container { --message-container-padding: calc( 2 * var(--control-height) + var(--gap-between-tiles) ); } #message-page #message-container { overflow: auto; } /* composer */ #message-page #composer { display: flex; justify-content: center; position: absolute; bottom: 0px; left: 0px; right: 0px; } #message-page #composer input { margin: 0px; width: 100%; max-width: unset; flex: 1; border-top: 1px solid var(--border); border-left: 1px solid var(--border); } #message-page #composer .content-width-constraint { display: flex; align-items: flex-end; justify-content: center; flex-direction: column; gap: var(--gap-between-tiles); } #message-page #composer .reply-preview-wrapper { display: flex; justify-content: flex-end; width: 100%; } #message-page #composer .reply-preview-wrapper .reply-preview { width: 100%; max-width: var(--max-input-width); display: flex; gap: var(--gap-between-tiles); } #message-page #composer .reply-preview-wrapper .reply-preview > div { display: flex; align-items: center; gap: var(--text-gap); padding: 0px var(--content-padding); width: calc(100% - var(--control-height) - var(--gap-between-tiles)); } @media (max-width: 700px) { #message-page #composer div { width: calc(100vw - var(--control-height)); max-width: unset; display: flex; } } @media (min-width: 700px) { #message-page #composer .content-width-constraint, #message-page #composer .input-width-constraint { display: flex; justify-content: flex-end; width: 100%; max-width: var(--max-content-width); } #message-page #composer .content-width-constraint { max-width: var(--max-content-width); } #message-page #composer .input-width-constraint { max-width: var(--max-input-width); } } /* message */ #message-page #message-container { display: flex; flex-direction: column; align-items: center; padding: var(--content-padding); gap: var(--gap-between-tiles); height: auto; max-height: unset; } #message-page #message-container:not([scroll-hard]) { scroll-behavior: smooth; } .message-bubble { display: flex; flex-direction: column; width: 100%; max-width: var(--max-content-width); } .message-bubble .tile.main { display: flex; flex-direction: row; align-items: start; padding: 0px; width: 100%; max-width: var(--max-input-width); overflow: hidden; } .message-bubble .tile.main .text-container { display: flex; flex-direction: column; overflow: hidden; width: 100%; flex: 1; } .message-bubble .tile.main .button-container { display: flex; width: var(--control-height); max-width: var(--control-height); } .message-bubble .tile.main button { justify-content: center; padding: 0px; width: 100%; --surface: transparent; } .message-bubble .tile.main .reply-button { display: none; } .message-bubble:hover .tile.main .reply-button { display: flex; } .message-bubble .tile.main .text-container { padding: var(--control-padding); } .message-bubble .tile.main .timestamp, .message-bubble .tile.main .timestamp .icon, .message-bubble .tile.main .sender-name { font-size: 0.8rem; opacity: 0.6; } .message-bubble .tile.main .timestamp { display: flex; align-items: center; gap: var(--gap-between-tiles); } .message-bubble .tile.main .timestamp .icon { display: none; } .message-bubble .tile.main .sender-name { font-weight: bold; } .message-bubble .tile.main .body { word-break: break-word; } .modal .message-bubble .tile.main .body { word-break: keep-all; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; } .message-bubble[sentbyuser] { justify-content: flex-end; } .message-bubble[sentbyuser] { align-items: flex-end; } .message-bubble[sentbyuser] .tile.main, .message-bubble[sentbyuser] .tile.main .timestamp { flex-direction: row-reverse; } .message-bubble[sentbyuser] .tile.main .timestamp .icon { display: flex; } .message-bubble[sentbyuser] .tile.main span { text-align: right; } .message-bubble > .inline-reply { cursor: pointer; display: flex; align-items: center; background: var(--surface-alt); height: var(--control-height); max-width: var(--max-input-width); width: 100%; overflow: hidden; padding: 0px var(--control-padding); gap: var(--text-gap); border-left: var(--outline-width) solid var(--primary); } .message-bubble > .message-reaction-row { max-width: var(--max-input-width); width: 100%; padding: var(--gap-between-tiles); background: var(--surface-alt); display: none !important; overflow: hidden; } .message-bubble > .message-reaction-row:has(button:not([count="0"])) { display: grid !important; } .message-bubble > .message-reaction-row button { min-height: unset; height: 100%; width: 100%; padding: var(--control-padding-compact); gap: 0px; flex: 1 !important; animation: slide-up var(--animation-duration); } .message-bubble > .message-reaction-row button[count="0"] { display: none; } .message-reaction-row { grid-template-columns: repeat(3, minmax(80px, 1fr)); } @media (min-width: 100px) { .message-reaction-row { grid-template-columns: repeat(3, minmax(80px, 1fr)); } } .grid.message-reaction-filter { grid-template-columns: repeat(3, 1fr); }