/* MISTER FAST LiveMapChat MINI V63.4.5.2
   Chat Polish & Production UX only. No map/menu/API/database changes. */

:root{
  --mf63452-blue:#003da5;
  --mf63452-blue2:#0b62cb;
  --mf63452-yellow:#ffc400;
  --mf63452-ink:#17345c;
  --mf63452-muted:#8491a5;
}

/* Conversation surface */
.mf514-messages{
  scroll-padding-bottom:24px;
  -webkit-overflow-scrolling:touch;
}
.mf514-message{
  transform-origin:bottom left;
}
.mf514-message.is-mine{
  transform-origin:bottom right;
}
.mf514-message>div{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
@media(hover:hover){
  .mf514-message>div:hover{
    transform:translateY(-1px);
    box-shadow:0 7px 18px rgba(28,47,86,.12);
    border-color:#dfe7f2;
  }
  .mf514-message.is-mine>div:hover{
    box-shadow:0 8px 21px rgba(0,61,165,.25);
  }
}
.mf514-message.is-mine>div{
  background:linear-gradient(145deg,var(--mf63452-blue2),var(--mf63452-blue));
}
.mf514-message>div>small{
  opacity:.9;
  letter-spacing:.01em;
}

/* Presence and typing */
.mf6345-presence{
  min-height:25px;
  padding-inline:12px;
  transition:background-color .18s ease,color .18s ease;
}
.mf6345-presence-dot{
  box-shadow:0 0 0 3px rgba(33,166,83,.10);
}
.mf632-typing{
  min-height:24px;
  padding-inline:2px;
}

/* Composer polish */
.mf514-composer.mf63451-composer{
  gap:9px;
  padding-top:10px;
}
.mf63451-tools{
  gap:10px;
}
.mf63451-tools .mf631-tool-button{
  position:relative;
  color:var(--mf63452-blue);
  background:#f7faff;
  border-color:#dbe6f4;
  box-shadow:0 2px 7px rgba(22,57,104,.06);
  transition:transform .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease;
}
.mf63451-tools .mf631-tool-button svg{
  transition:transform .15s ease;
}
@media(hover:hover){
  .mf63451-tools .mf631-tool-button:hover{
    transform:translateY(-2px);
    color:#8c6500;
    background:#fff8d8;
    border-color:#ffd84f;
    box-shadow:0 6px 14px rgba(156,119,0,.14);
  }
  .mf63451-tools .mf631-tool-button:hover svg{
    transform:scale(1.06);
  }
}
.mf63451-tools .mf631-tool-button:active,
.mf63451-tools .mf631-tool-button.is-active{
  transform:scale(.94);
  background:#fff4bd;
  border-color:var(--mf63452-yellow);
}
.mf63451-tools .mf631-tool-button:focus-visible,
.mf63451-send:focus-visible,
.mf63451-input-row input[name=message]:focus-visible{
  outline:3px solid rgba(0,61,165,.18);
  outline-offset:2px;
}

.mf514-composer.mf63451-composer .mf63451-input-row input[name=message]{
  height:58px;
  padding-left:19px;
  padding-right:80px;
  color:var(--mf63452-ink);
  font-size:15px;
  line-height:1.4;
  border-color:#d5dfeb;
  box-shadow:inset 0 1px 2px rgba(23,52,92,.025);
}
.mf514-composer.mf63451-composer .mf63451-input-row input[name=message]::placeholder{
  color:#8b97a9;
  opacity:1;
}
.mf514-composer.mf63451-composer .mf63451-input-row input[name=message]:focus{
  border-color:#6fa3e5;
  box-shadow:0 0 0 4px rgba(0,61,165,.09),inset 0 1px 2px rgba(23,52,92,.03);
}

.mf514-composer.mf63451-composer .mf63451-send{
  width:48px;
  height:48px;
  min-width:48px;
  right:6px;
  background:linear-gradient(145deg,#ffd735,var(--mf63452-yellow));
  box-shadow:0 9px 20px rgba(190,145,0,.35);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.mf514-composer.mf63451-composer .mf63451-send svg{
  width:24px;
  height:24px;
  transform:translateX(1px);
}
@media(hover:hover){
  .mf514-composer.mf63451-composer .mf63451-send:hover{
    filter:brightness(1.035);
    transform:translateY(-50%) scale(1.055);
    box-shadow:0 12px 25px rgba(190,145,0,.42);
  }
}
.mf514-composer.mf63451-composer .mf63451-send:active{
  transform:translateY(-50%) scale(.92);
  box-shadow:0 5px 12px rgba(190,145,0,.28);
}
.mf514-composer.mf63451-composer .mf63451-send.is-sending{
  pointer-events:none;
  animation:mf63452SendPulse .72s ease-in-out infinite alternate;
}

/* New-message helper */
.mf632-new-message{
  right:12px;
  bottom:128px;
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 8px 22px rgba(0,61,165,.27);
  transition:transform .16s ease,opacity .16s ease;
}
@media(hover:hover){.mf632-new-message:hover{transform:translateY(-2px)}}

@keyframes mf63452SendPulse{
  from{transform:translateY(-50%) scale(.94);filter:brightness(.96)}
  to{transform:translateY(-50%) scale(1.03);filter:brightness(1.08)}
}

@media(max-width:520px){
  .mf63451-tools{gap:8px}
  .mf514-composer.mf63451-composer .mf63451-input-row input[name=message]{
    height:52px;
    padding-left:16px;
    padding-right:70px;
    font-size:14px;
  }
  .mf514-composer.mf63451-composer .mf63451-send{
    width:43px;
    height:43px;
    min-width:43px;
    right:5px;
  }
  .mf514-composer.mf63451-composer .mf63451-send svg{width:21px;height:21px}
  .mf632-new-message{bottom:119px}
}

@media(prefers-reduced-motion:reduce){
  .mf514-message>div,
  .mf63451-tools .mf631-tool-button,
  .mf63451-tools .mf631-tool-button svg,
  .mf514-composer.mf63451-composer .mf63451-send,
  .mf632-new-message{transition:none!important;animation:none!important}
}
