.scrollbar {
  /* For Firefox */
  scrollbar-width: thin;
  scrollbar-color: var(--dyte-scrollbar-color, rgb(var(--dyte-colors-background-600, 60 60 60)))
    var(--dyte-scrollbar-background, transparent);
}

/* For WebKit */
.scrollbar::-webkit-scrollbar {
  height: var(--dyte-space-1\.5, 6px);
  width: var(--dyte-space-1\.5, 6px);
  border-radius: 9999px;
  background-color: var(--dyte-scrollbar-background, transparent);
}

.scrollbar::-webkit-scrollbar-thumb {
  border-radius: 9999px;
  background-color: var(--dyte-scrollbar-color, rgb(var(--dyte-colors-background-600, 60 60 60)));
}


:host {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.container {
  box-sizing: border-box;
  display: flex;
  flex-direction: column-reverse;
  padding-top: var(--dyte-space-4, 16px);
  padding-bottom: var(--dyte-space-4, 16px);
  flex: 1 0 0px;
  overflow-y: scroll;
  /* overflow-anchor: none; */
}
.file-picker {
  display: none;
}

.chat *:first-child {
  margin-top: var(--dyte-space-0, 0px);
}

.chat .head {
  display: flex;
  align-items: center;
}

.chat .head .name {
  margin-right: var(--dyte-space-4, 16px);
  font-size: 12px;
  font-weight: 700;
}

.chat .head .time {
  font-size: 12px;
  color: rgb(var(--dyte-colors-text-800, 255 255 255 / 0.76));
}

.chat .body {
  margin-top: var(--dyte-space-2, 8px);
  margin-bottom: var(--dyte-space-2, 8px);
  overflow-wrap: break-word;
  font-size: 14px;
  line-height: 1.375;
}

.chat .body .emoji {
  font-size: 24px;
}

p {
  margin-top: var(--dyte-space-0, 0px);
  margin-bottom: var(--dyte-space-3, 12px);
}

dyte-text-message, 
dyte-image-message, 
dyte-file-message {
  margin-top: var(--dyte-space-4, 16px);
  display: block;
  padding-left: var(--dyte-space-3, 12px);
  padding-right: var(--dyte-space-3, 12px);
  font-family: var(--dyte-font-family, sans-serif);
  color: rgb(var(--dyte-colors-text-900, 255 255 255 / 0.88));
  box-sizing: border-box;
}

*[is-continued] {
  margin-top: var(--dyte-space-3, 12px);
}

dyte-text-message[is-continued] {
  margin-top: var(--dyte-space-2, 8px);
}

.chat .image {
  position: relative;
  height: var(--dyte-space-40, 160px);
  max-width: var(--dyte-space-64, 256px);
  cursor: pointer;
}

.chat .image img {
  display: none;
  height: 100%;
  width: 100%;
  border-radius: var(--dyte-border-radius-sm, 4px);
  -o-object-fit: cover;
     object-fit: cover;
}

.chat .image .image-spinner {
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: var(--dyte-border-radius-sm, 4px);
  --tw-bg-opacity: 1;
  background-color: rgba(var(--dyte-colors-background-800, 30 30 30) / var(--tw-bg-opacity));
}

.chat .image .image-spinner dyte-spinner {
  --tw-text-opacity: 1;
  color: rgba(var(--dyte-colors-brand-500, 33 96 253) / var(--tw-text-opacity));
}

.chat .image .image-errored {
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: var(--dyte-border-radius-sm, 4px);
  background-color: rgba(var(--dyte-colors-danger, 255 45 45) / 0.1);
  --tw-text-opacity: 1;
  color: rgba(var(--dyte-colors-danger, 255 45 45) / var(--tw-text-opacity));
}

.chat .image .actions {
  display: none;
  height: var(--dyte-space-8, 32px);
  align-items: center;
  position: absolute;
  top: var(--dyte-space-2, 8px);
  right: var(--dyte-space-2, 8px);
  border-radius: var(--dyte-border-radius-sm, 4px);
  --tw-bg-opacity: 1;
  background-color: rgba(var(--dyte-colors-background-900, 26 26 26) / var(--tw-bg-opacity));
  color: rgb(var(--dyte-colors-text-1000, 255 255 255));
  overflow: hidden;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.chat .image .actions .action {
  height: var(--dyte-space-8, 32px);
  width: var(--dyte-space-8, 32px);
  border-radius: var(--dyte-border-radius-none, 0);
  border-width: var(--dyte-border-width-none, 0);
  border-style: none;
  background-color: transparent;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.chat .image .actions .action:hover {
  --tw-bg-opacity: 1;
  background-color: rgba(var(--dyte-colors-background-600, 60 60 60) / var(--tw-bg-opacity));
}

.image.loaded img {
  display: block;
}

.image.loaded .image-spinner {
  display: none;
}

.image:hover .actions, 
.image:focus .actions {
  display: flex;
}

.chat .file {
  display: flex;
  align-items: center;
  gap: var(--dyte-space-1, 4px);
  padding-left: var(--dyte-space-2, 8px);
  padding-right: var(--dyte-space-2, 8px);
  padding-top: var(--dyte-space-1\.5, 6px);
  padding-bottom: var(--dyte-space-1\.5, 6px);
  border-radius: var(--dyte-border-radius-sm, 4px);
  --tw-bg-opacity: 1;
  background-color: rgba(var(--dyte-colors-background-700, 44 44 44) / var(--tw-bg-opacity));
  color: rgb(var(--dyte-colors-text-700, 255 255 255 / 0.64));
}

.chat .file .file-data {
  flex: 1 1 0%;
}

.chat .file .file-data .name {
  word-break: break-all;
  color: rgb(var(--dyte-colors-text-1000, 255 255 255));
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.chat .file .file-data .file-data-split {
  margin-top: var(--dyte-space-0\.5, 2px);
  display: flex;
  align-items: center;
  font-size: 12px;
}

.chat .file .file-data .file-data-split .ext {
  margin-right: var(--dyte-space-2, 8px);
  text-transform: uppercase;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.chat .file .file-data .file-data-split .divider {
  height: var(--dyte-space-4, 16px);
  width: var(--dyte-space-0\.5, 2px);
  --tw-bg-opacity: 1;
  background-color: rgba(var(--dyte-colors-background-600, 60 60 60) / var(--tw-bg-opacity));
}

.chat .file .file-data .file-data-split .size {
  margin-left: var(--dyte-space-2, 8px);
}
.smallest-dom-element {
  width: 1px;
}

#top-scroll {
  transform: translateY(20vh);
}
#bottom-scroll {
  transform: translateY(-20vh);
}

a {
  --tw-text-opacity: 1;
  color: rgba(var(--dyte-colors-brand-300, 73 124 253) / var(--tw-text-opacity));
  text-decoration-line: none;
}

a:hover {
  text-decoration-line: underline;
}

.show-new-messages-ctr {
  pointer-events: none;
  position: absolute;
  bottom: var(--dyte-space-2, 8px);
  right: var(--dyte-space-4, 16px);
  z-index: 10;
  margin-top: calc(var(--dyte-space-14, 56px) * -1);
  --tw-translate-y: var(--dyte-space-28, 112px);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 0;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.show-new-messages-ctr.active {
  --tw-translate-y: var(--dyte-space-0, 0px);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 1;
}

.show-new-messages {
  pointer-events: auto;
  border-radius: 9999px;
}

.show-new-messages:hover {
  border-radius: 9999px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(var(--dyte-colors-background-600, 60 60 60) / var(--tw-ring-opacity));
  --tw-bg-opacity: 1;
  background-color: rgba(var(--dyte-colors-background-600, 60 60 60) / var(--tw-bg-opacity));
}

dyte-spinner, 
.empty-list {
  margin: auto;
}

.page-wrapper {
  margin-left: var(--dyte-space-1, 4px);
  margin-right: var(--dyte-space-1, 4px);
}

.message-wrapper {
  margin-bottom: var(--dyte-space-2, 8px);
}

.pinned .message-wrapper {
  position: relative;
}

.pinned .pin-icon {
  position: absolute;
  right: calc(var(--dyte-space-1, 4px) * -1);
  top: calc(var(--dyte-space-1, 4px) * -1);
  display: flex;
  border-radius: var(--dyte-border-radius-sm, 4px);
}

.pinned dyte-message-view {
  --tw-bg-opacity: 1;
  background-color: rgba(var(--dyte-colors-background-700, 44 44 44) / var(--tw-bg-opacity));
  padding-top: var(--dyte-space-1, 4px);
  padding-bottom: var(--dyte-space-1, 4px);
}
