/* Original supplied artwork; motion is rendered locally, without a video dependency. */
.chat-fab.phoenix-launcher {
  --emblem-size:86px;
  width:var(--emblem-size); height:var(--emblem-size); padding:0;
  right:max(24px, env(safe-area-inset-right));
  bottom:max(24px, env(safe-area-inset-bottom));
  background:transparent; box-shadow:none; isolation:isolate;
  transition:transform .3s ease;
}
.phoenix-launcher:hover { transform:translateY(-3px) scale(1.06); box-shadow:none; }
.phoenix-launcher:active { transform:scale(.96); }
.phoenix-launcher:focus-visible { outline:2px solid #ffe5a0; outline-offset:8px; }
.phoenix-launcher > span:not(.phoenix-hint) { position:absolute; pointer-events:none; }
.phoenix-aura {
  inset:-12%; border-radius:50%; z-index:-1;
  background:radial-gradient(circle, #ffbf5438 20%, #ff57952b 45%, transparent 70%);
  animation:phoenix-breathe 4.8s ease-in-out infinite;
}
.phoenix-emblem { inset:-8%; animation:phoenix-hover 5.6s ease-in-out infinite; }
.phoenix-emblem img {
  display:block; width:100%; height:100%; object-fit:contain;
  /* Feather only the dark outside margin; keep the phoenix and lettering intact. */
  -webkit-mask-image:radial-gradient(circle, #000 55%, transparent 72%);
  mask-image:radial-gradient(circle, #000 55%, transparent 72%);
}
.phoenix-orbit {
  inset:5%; border-radius:50%; border:1px solid transparent;
  animation:phoenix-orbit 8s linear infinite;
}
.phoenix-orbit::after {
  content:''; position:absolute; top:10%; left:10%; width:4px; height:4px;
  border-radius:50%; background:#fff7d8;
  box-shadow:0 0 5px 2px #ffd068, 0 0 12px #ff9054;
}
.phoenix-orbit-gold { border-top-color:#ffe6a6; border-left-color:#ffc76a44; }
.phoenix-orbit-rose {
  inset:10%; border-bottom-color:#ffadd1;
  animation-duration:11s; animation-direction:reverse;
}
.phoenix-orbit-rose::after { background:#ffe4f2; box-shadow:0 0 5px 2px #ff79b4; }
.phoenix-spark {
  width:9px; height:9px; background:#fff2ca;
  clip-path:polygon(50% 0,60% 39%,100% 50%,60% 61%,50% 100%,40% 61%,0 50%,40% 39%);
  animation:phoenix-spark 5s ease-in-out infinite;
}
.phoenix-spark-one { top:13%; right:12%; }
.phoenix-spark-two { bottom:16%; left:5%; animation-delay:-2.5s; }
.phoenix-hint {
  position:absolute; right:calc(100% + 12px); top:50%;
  transform:translate(6px,-50%); opacity:0; pointer-events:none;
  white-space:nowrap; padding:9px 13px; border-radius:20px;
  border:1px solid #dba76377; background:#18121ef2; color:#ffe4b5;
  font:600 12px 'Montserrat',sans-serif; letter-spacing:.3px;
  transition:opacity .25s ease,transform .25s ease;
}
.phoenix-launcher:is(:hover,:focus-visible) .phoenix-hint { opacity:1; transform:translate(0,-50%); }
.phoenix-launcher[aria-expanded="true"] .phoenix-hint { opacity:0; }
.phoenix-launcher[aria-expanded="true"] > span { animation-play-state:paused; }
.phoenix-launcher[aria-expanded="true"] .phoenix-aura { opacity:1; }
.phoenix-launcher[aria-expanded="true"] .phoenix-orbit-gold { border-color:#ffd986aa; }
.chat-panel {
  bottom:calc(126px + env(safe-area-inset-bottom));
  max-height:calc(100dvh - 150px - env(safe-area-inset-bottom));
}
.chat-panel .chat-head,.chat-panel .chat-input-row { flex-shrink:0; }
.chat-panel .chat-messages { min-height:0; }
.chat-panel .chat-input-row input { min-width:0; }
@keyframes phoenix-breathe { 0%,100% { opacity:.55; transform:scale(.93); } 50% { opacity:1; transform:scale(1.08); } }
@keyframes phoenix-hover { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px); } }
@keyframes phoenix-orbit { to { transform:rotate(360deg); } }
@keyframes phoenix-spark { 0%,30%,70%,100% { opacity:0; transform:scale(.3); } 48% { opacity:.9; transform:scale(1); } }
@media(max-width:600px) {
  .chat-fab.phoenix-launcher { --emblem-size:72px; right:max(16px,env(safe-area-inset-right)); bottom:max(16px,env(safe-area-inset-bottom)); }
  .chat-panel { bottom:calc(102px + env(safe-area-inset-bottom)); max-height:calc(100dvh - 120px - env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) {
  .phoenix-launcher,.phoenix-launcher * { animation:none!important; transition:none!important; }
  .phoenix-spark { opacity:0; }
  .phoenix-launcher:hover { transform:none; }
}
