.pp-chat-launcher{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:90;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  max-width:calc(100vw - 32px);
  border:1px solid rgba(255,173,201,.28);
  border-radius:999px;
  padding:8px 14px 8px 8px;
  background:linear-gradient(180deg,rgba(24,16,27,.96),rgba(12,8,14,.94));
  color:#fff;
  box-shadow:0 20px 52px rgba(0,0,0,.46);
  cursor:pointer;
  backdrop-filter:blur(12px);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.pp-chat-launcher:hover,
.pp-chat-launcher:focus-visible{
  border-color:rgba(255,173,201,.48);
  box-shadow:0 24px 60px rgba(0,0,0,.52);
  transform:translateY(-1px);
  outline:none;
}

.pp-chat-launcher img{
  width:42px;
  height:42px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.22);
}

.pp-chat-launcher span{
  font:800 13px/1.1 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.02em;
  white-space:nowrap;
}

.pp-chat-panel{
  position:fixed;
  right:20px;
  bottom:92px;
  z-index:91;
  width:min(420px,calc(100vw - 32px));
  max-height:min(660px,calc(100vh - 122px));
  display:grid;
  grid-template-rows:auto minmax(180px,1fr) auto;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(24,16,27,.98),rgba(10,7,12,.97));
  color:#f5eef7;
  box-shadow:0 28px 80px rgba(0,0,0,.54);
  backdrop-filter:blur(14px);
}

.pp-chat-panel[hidden]{
  display:none;
}

.pp-chat-header{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,rgba(217,75,125,.14),rgba(255,255,255,.03));
}

.pp-chat-avatar{
  width:44px;
  height:44px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.22);
}

.pp-chat-title{
  min-width:0;
  flex:1;
  font:800 15px/1.15 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}

.pp-chat-subtitle{
  display:block;
  margin-top:3px;
  color:#cdbfd5;
  font:600 11px/1.2 "IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pp-chat-close{
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:8px;
  background:rgba(255,255,255,.04);
  color:#fff;
  cursor:pointer;
}

.pp-chat-close:hover,
.pp-chat-close:focus-visible,
.pp-chat-input button:hover,
.pp-chat-input button:focus-visible{
  border-color:rgba(255,173,201,.5);
  outline:none;
}

.pp-chat-body{
  overflow:auto;
  padding:14px;
  display:grid;
  align-content:start;
  gap:10px;
}

.pp-msg{
  display:flex;
  justify-content:flex-start;
}

.pp-msg.user{
  justify-content:flex-end;
}

.pp-bubble{
  max-width:86%;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  padding:10px 12px;
  background:rgba(255,255,255,.055);
  color:#f5eef7;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.pp-msg.user .pp-bubble{
  border-color:rgba(255,173,201,.24);
  background:rgba(217,75,125,.18);
}

.pp-chat-input{
  display:flex;
  gap:8px;
  padding:12px;
  border-top:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.03);
}

.pp-chat-input input{
  min-width:0;
  flex:1;
  border:1px solid rgba(255,255,255,.13);
  border-radius:10px;
  background:#211525;
  color:#f5eef7;
  padding:11px 12px;
  outline:none;
}

.pp-chat-input input:focus{
  border-color:rgba(255,173,201,.58);
  box-shadow:0 0 0 3px rgba(255,173,201,.16);
}

.pp-chat-input button{
  border:1px solid rgba(255,173,201,.24);
  border-radius:999px;
  background:linear-gradient(180deg,#e3689a,#b21d4c 58%,#7f0e2f);
  color:#fff;
  font-weight:800;
  padding:10px 14px;
  cursor:pointer;
}

.pp-chat-input button:disabled,
.pp-chat-input input:disabled{
  opacity:.7;
  cursor:not-allowed;
}

.pp-chat-error{
  color:#ffd6df;
}

@media(max-width:560px){
  .pp-chat-launcher{
    right:12px;
    bottom:12px;
  }

  .pp-chat-panel{
    right:12px;
    bottom:82px;
    width:calc(100vw - 24px);
  }
}
