@import url("./neon.css");

/* Social Stream Ninja sample overlay/featured DOM support */
#message-list-wrapper,
#output,
#items.social-stream-output {
  --neon-socialstream-safe-area: max(
    18px,
    calc(
      var(--neon-shadow-offset-x) +
      var(--neon-shadow-glow-spread) * var(--neon-shadow-glow-intensity) +
      var(--neon-border-glow-spread) * var(--neon-border-glow-intensity)
    )
  );

  box-sizing: border-box;
  width: 100%;
  padding:
    var(--neon-socialstream-safe-area)
    calc(var(--neon-socialstream-safe-area) + var(--neon-border-width))
    var(--neon-socialstream-safe-area)
    var(--neon-socialstream-safe-area);
  overflow: visible !important;
  font-family: "Rajdhani", "Orbitron", sans-serif;
}

#chat-container {
  max-width: none;
  padding: 0 !important;
  background: transparent !important;
}

:is(.highlight-chat, .message) .message-content-wrapper,
:is(.highlight-chat, .message) .message-text-meta {
  display: contents;
}

:is(.highlight-chat, .message) .message-text-meta > div:first-child {
  grid-area: name;
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
}

:is(.highlight-chat, .message) .avatar-wrapper {
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
}

:is(.highlight-chat, .message) .name {
  color: inherit;
  font: inherit;
  line-height: inherit;
  text-shadow: inherit;
}

:is(.highlight-chat, .message) .avatar.hl-profile-pic {
  background-position: center;
  background-size: cover;
}

:is(.highlight-chat, .message) {
  --neon-socialstream-border-color: var(--neon-border-color);

  position: relative;
  display: grid;
  grid-template-columns: var(--neon-avatar-size) minmax(0, 1fr);
  grid-template-areas:
    "avatar name"
    "avatar message";
  gap: 6px var(--neon-gap);
  max-width: min(100%, var(--neon-max-width));
  max-height: none !important;
  margin: 12px 0 !important;
  padding: var(--neon-padding) !important;
  border: var(--neon-border-width) solid transparent !important;
  border-radius: var(--neon-border-radius) !important;
  background: var(--neon-container-bg) !important;
  color: var(--neon-text-color) !important;
  box-shadow: none !important;
  filter: none !important;
  animation: neon-entrance var(--neon-animation-duration) ease-out both;
  overflow: visible !important;
  z-index: 1;
}

:is(.highlight-chat, .message).hidden {
  overflow: hidden !important;
}

:is(.highlight-chat, .message)::before,
:is(.highlight-chat, .message)::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

:is(.highlight-chat, .message)::before {
  inset: 0;
  background: transparent;
  border: var(--neon-shadow-border-width) solid var(--neon-shadow-border-color);
  border-radius: var(--neon-shadow-border-radius);
  transform: translate(
    var(--neon-shadow-offset-x),
    var(--neon-shadow-offset-y)
  );
  box-shadow:
    0 0 2px var(--neon-shadow-border-color),
    0 0 4px var(--neon-shadow-border-color),
    0 0 calc(var(--neon-shadow-glow-spread) * var(--neon-shadow-glow-intensity)) var(--neon-shadow-border-color);
  animation: neon-shadow-flicker-entrance calc(var(--neon-shadow-flicker-enabled) * 1.5s) ease-out forwards;
  z-index: -1;
}

:is(.highlight-chat, .message)::after {
  top: calc(-1 * var(--neon-border-width));
  right: calc(-1 * var(--neon-border-width));
  bottom: calc(-1 * var(--neon-border-width));
  left: calc(-1 * var(--neon-border-width));
  border: var(--neon-border-width) solid var(--neon-socialstream-border-color);
  border-radius: calc(var(--neon-border-radius) + var(--neon-border-width));
  box-shadow:
    0 0 calc(2px * var(--neon-border-glow-intensity)) var(--neon-socialstream-border-color),
    0 0 calc(4px * var(--neon-border-glow-intensity)) var(--neon-socialstream-border-color),
    0 0 calc(var(--neon-border-glow-spread) * var(--neon-border-glow-intensity)) var(--neon-socialstream-border-color);
  animation: neon-border-flicker-entrance calc(var(--neon-border-flicker-enabled) * 1.5s) ease-out forwards;
  z-index: 10;
}

:is(.highlight-chat, .message) .queueid,
:is(.highlight-chat, .message) .sourcetype,
:is(.highlight-chat, .message) .source-icon,
:is(.highlight-chat, .message) .hl-source-type,
:is(.highlight-chat, .message) .time-arrived {
  display: none !important;
}

:is(.highlight-chat, .message) .hl-img,
:is(.highlight-chat, .message) .avatar-wrapper,
:is(.highlight-chat, .message) > .hl-profile-pic {
  grid-area: avatar;
  width: var(--neon-avatar-size);
  height: var(--neon-avatar-size);
  align-self: center;
}

:is(.highlight-chat, .message) .hl-img .hl-profile-pic,
:is(.highlight-chat, .message) .avatar-wrapper .avatar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 10px var(--neon-avatar-glow);
}

:is(.highlight-chat, .message) > .hl-profile-pic {
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 10px var(--neon-avatar-glow);
}

:is(.highlight-chat, .message) :is(.hl-name, .name-bg) {
  grid-area: name;
  color: var(--neon-text-color);
  font-family: "Orbitron", sans-serif;
  font-size: var(--neon-name-font-size);
  font-weight: 700;
  letter-spacing: 0;
  text-shadow: 0 0 6px var(--neon-text-glow);
}

:is(.highlight-chat, .message) :is(.hl-message, .text) {
  grid-area: message;
  color: var(--neon-text-color);
  font-size: var(--neon-message-font-size);
  line-height: 1.35;
  overflow-wrap: anywhere;
  text-shadow: 0 0 calc(4px * var(--neon-text-glow-intensity)) var(--neon-text-glow);
}

:is(.highlight-chat, .message).mod {
  --neon-socialstream-border-color: var(--neon-mod-color);
}

:is(.highlight-chat, .message).member {
  --neon-socialstream-border-color: var(--neon-member-color);
}

:is(.highlight-chat, .message).donation {
  --neon-socialstream-border-color: var(--neon-superchat-border-color);
}

:is(.highlight-chat, .message):has(:is(.membership, .membership-status)) {
  --neon-socialstream-border-color: var(--neon-membership-border-color);
}

:is(.highlight-chat, .message) .hl-badges {
  display: inline-flex;
  gap: 4px;
  margin-right: 6px;
}

:is(.highlight-chat, .message) :is(.hl-name, .name-bg) > .hl-badge {
  margin-right: 4px;
}

:is(.highlight-chat, .message) .hl-badge,
:is(.highlight-chat, .message) .textbadge,
:is(.highlight-chat, .message) .donationAmount,
:is(.highlight-chat, .message) :is(.membership, .membership-status) {
  color: var(--neon-text-color);
  text-shadow: 0 0 5px currentColor;
}

:is(.highlight-chat, .message) .textbadge,
:is(.highlight-chat, .message) .donationAmount,
:is(.highlight-chat, .message) :is(.membership, .membership-status) {
  display: inline-block;
  margin-left: 6px;
  font-size: 0.75em;
  font-weight: 700;
}
