/* ARTIZS.SAY v0.5.19.3 — link previews, faster message actions, composer/typing polish */

/* Plain blue links: recognizable without underline clutter. */
.msg-link{
  color:#2f7de1!important;
  text-decoration:none!important;
  font:inherit;
  font-weight:650;
  overflow-wrap:anywhere;
  cursor:pointer;
  transition:color .12s ease;
}
.msg-link:hover,.msg-link:focus-visible{color:#175fbd!important;text-decoration:none!important}
html[data-theme="dark"] .msg-link{color:#70aaff!important}
html[data-theme="dark"] .msg-link:hover,html[data-theme="dark"] .msg-link:focus-visible{color:#9bc4ff!important}

/* Link preview is an overlay: it never changes chat height. */
.link-preview-popover{
  position:fixed;
  z-index:190;
  width:min(330px,calc(100vw - 20px));
  border:1px solid #e6eaf0;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.18),0 3px 10px rgba(15,23,42,.08);
  transform-origin:center top;
  animation:sayLinkPreviewIn .12s ease-out;
}
@keyframes sayLinkPreviewIn{from{opacity:0;transform:translateY(3px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.link-preview-open{display:block;color:inherit!important;text-decoration:none!important;background:#fff}
.link-preview-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#eef2f6}
.link-preview-copy{display:flex;flex-direction:column;gap:5px;padding:11px 12px 12px}
.link-preview-copy strong{font-size:12px;line-height:1.35;color:#172033;font-weight:850;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.link-preview-description{font-size:10px;line-height:1.4;color:#667085;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.link-preview-copy small{font-size:9px;line-height:1.2;color:#98a2b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.link-preview-popover.is-loading .link-preview-copy strong{color:#667085}
html[data-theme="dark"] .link-preview-popover{background:#161d25;border-color:#303a46;box-shadow:0 18px 48px rgba(0,0,0,.45)}
html[data-theme="dark"] .link-preview-open{background:#161d25}
html[data-theme="dark"] .link-preview-copy strong{color:#edf3fa}
html[data-theme="dark"] .link-preview-description{color:#aab5c2}
html[data-theme="dark"] .link-preview-copy small{color:#8492a3}

/* Typing status sits immediately above the composer and no longer resembles a chat bubble. */
.typing-indicator{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  z-index:auto!important;
  display:flex;
  align-items:center;
  gap:6px!important;
  width:max-content;
  max-width:100%;
  min-height:18px!important;
  margin:0 8px 4px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:#8a93a0!important;
  font-size:10px!important;
  font-weight:650!important;
  line-height:18px!important;
  pointer-events:none;
}
.typing-dots{gap:2px!important}
.typing-dots i{width:3px!important;height:3px!important;background:#929aa6!important}
html[data-theme="dark"] .typing-indicator{background:transparent!important;border:0!important;color:#94a1af!important}

/* 0.2s action reveal is handled in app.js. Keep rail exactly centered in text bubbles. */
.msg-actions,.msg-actions.no-persistent-actions{transform-origin:right center!important}

/* Image viewer controls: no redundant arrow, larger zoom readout and better balance. */
.chat-image-toolbar-actions{gap:9px!important}
.chat-image-tool,.chat-image-download{
  height:42px!important;
  min-width:42px!important;
  border-radius:12px!important;
  background:rgba(20,23,29,.86)!important;
  padding:0 14px!important;
  font-size:13px!important;
  box-shadow:0 6px 18px rgba(0,0,0,.20)!important;
}
.chat-image-close{width:42px!important;font-size:25px!important;padding:0!important}
.chat-image-zoom{width:42px!important;font-size:22px!important;padding:0!important}
.chat-image-zoom-value{
  min-width:70px!important;
  height:42px!important;
  padding:0 13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:12px!important;
  background:rgba(20,23,29,.92)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums!important;
  box-shadow:0 6px 18px rgba(0,0,0,.20)!important;
}
.chat-image-download{font-weight:850!important;letter-spacing:.01em!important}

@media(max-width:700px){
  /* No hover card on touch devices; links still open normally. */
  .link-preview-popover{display:none!important}
  .typing-indicator{margin:0 6px 3px!important;font-size:10px!important;min-height:17px!important;line-height:17px!important}
  .chat-image-download{height:42px!important;padding:0 14px!important;font-size:12px!important}
  .chat-image-tool{height:42px!important;min-width:42px!important}
}
