



























:root {
  --fp-anchor-w: 64px;
  --fp-gap: 16px;
  







}




.fp-overlay {
  position: fixed;
  









  left: min(
    calc(50% + var(--col) / 2 + var(--fp-gap)),
    calc(100% - var(--fp-anchor-w) - var(--fp-gap))
  );
  top: 50%;
  




  width: var(--fp-anchor-w);
  transform: translateY(-50%);
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
}

















body:has(.chat-mask:not(.hidden)) .fp-overlay.agent-overlay { visibility: hidden; }



.fp-panel {
  position: absolute;
  




  right: 0;
  left: auto;
  top: 50%;
  transform: translateY(-50%) translateX(calc(100% + 32px));

  display: none;               
  align-items: center;

  border-radius: 999px;        

  background: var(--glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  border: 1px solid var(--glass-edge);
  box-shadow: 0 8px 24px var(--shadow-float);

  white-space: nowrap;
  transition: transform 0.3s ease;
}

.fp-panel.expanded {
  transform: translateY(-50%) translateX(0);
}

 
.fp-btn {
  width: 36px;
  height: 36px;
  border: 0;
  background: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  color: var(--glass-ink);
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
  border-radius: 50%;
  transition: background 0.15s;
}
.fp-btn:hover { background: var(--press); }
.fp-btn:active { background: var(--press-active); }
.fp-btn:disabled { cursor: not-allowed; opacity: 0.6; }

 
.fp-panel.loading {
  opacity: 0.55;
  pointer-events: none;
}
.fp-panel.loading button {
  cursor: not-allowed;
}






