.givy{position:fixed;right:18px;bottom:18px;z-index:60}
.givy-fab{width:58px;height:58px;border-radius:50%;border:1px solid var(--border);
  background:radial-gradient(160px 160px at 70% 20%, rgba(255,255,255,.18), transparent),
             linear-gradient(135deg, var(--gold), var(--purple));
  color:#0b0b0f; font-weight:900; box-shadow:var(--shadow-lg);
  display:grid;place-items:center;transition:transform var(--fast) var(--easing)}
.givy-fab:hover{transform:translateY(-2px)}
.givy-face{font-size:20px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}
.givy-panel{width:min(380px, calc(100vw - 36px));height:520px;background:var(--surface);
  border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);
  display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;
  transform-origin:100% 100%;transition:transform var(--fast) var(--easing),opacity var(--fast) var(--easing)}
.givy-hidden .givy-panel{transform:scale(.0);opacity:0;pointer-events:none}

.givy-head{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.02)}
.givy-avatar{width:44px;height:44px;border-radius:50%;position:relative;overflow:hidden;border:1px solid var(--border)}
.givy-avatar .orb{position:absolute;border-radius:50%;filter:blur(10px);opacity:.6}
.givy-avatar .orb-gold{width:34px;height:34px;left:-6px;top:2px;background:var(--gold)}
.givy-avatar .orb-purple{width:30px;height:30px;right:-6px;bottom:-4px;background:var(--purple)}
.givy-avatar .shine{position:absolute;inset:0;background:radial-gradient(60px 60px at 30% 30%, rgba(255,255,255,.25), transparent)}
.givy-name{font-weight:800}
.givy-mood{color:var(--text-dim);font-size:.95rem}
.givy-close{margin-inline-start:auto;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:10px;padding:6px 10px}

.givy-body{padding:12px;display:grid;gap:8px;overflow:auto}
.givy-msg{max-width:85%;padding:10px;border:1px solid var(--border);border-radius:12px;line-height:1.45}
.givy-bot{background:rgba(255,255,255,.05)}
.givy-user{background:rgba(107,76,255,.12);margin-left:auto}
.givy-typing{opacity:.8;font-style:italic}

.givy-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.givy-chips button{border:1px solid var(--border);border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.04)}

.givy-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border);align-items:center}
.givy-input input{flex:1;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px;padding:10px;color:var(--text)}
.givy-input .remember{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--text-dim)}
