.gift-fab{
  position:fixed;right:16px;bottom:calc(60px + var(--m-safe-b));z-index:940;
  display:flex;align-items:center;gap:6px;height:44px;padding:0 18px 0 14px;
  border:0;border-radius:22px;cursor:pointer;
  background:linear-gradient(135deg,#FFD36E,#FF8A4C);
  color:#4A2A00;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;
  font-size:15px;font-weight:600;letter-spacing:-.24px;
  box-shadow:0 6px 18px rgba(255,138,76,.4);
  transition:opacity .1s ease,transform .1s ease;
}
.gift-fab:active{opacity:.6;transform:scale(.96)}

.gift-bal{
  display:flex;align-items:center;gap:10px;
  padding:11px 16px;flex-shrink:0;
}
.gift-bal .ico{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#FFD36E,#FF8A4C);
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gift-bal .ico svg{width:14px;height:14px;fill:#4A2A00}
.gift-bal .tx{flex:1;min-width:0}
.gift-bal .tx b{display:block;font-size:17px;font-weight:600;letter-spacing:-.41px;color:var(--m-ink);font-variant-numeric:tabular-nums}
.gift-bal .tx span{font-size:12px;color:var(--m-ink2);letter-spacing:-.08px}
.gift-bal .top-btn{
  border:0;border-radius:100px;height:30px;padding:0 14px;
  background:rgba(255,211,110,.24);color:#B06A00;
  font-family:inherit;font-size:13px;font-weight:600;letter-spacing:-.08px;
  cursor:pointer;flex-shrink:0;
}
.gift-bal .top-btn:active{opacity:.5}

.gift-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:9px;
  padding:0 16px 4px;
}
.gift-item{
  border:0;background:var(--m-fill);border-radius:12px;
  padding:10px 3px 8px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  font-family:inherit;
  transition:background-color .1s ease,transform .1s ease;
  position:relative;overflow:hidden;
}
.gift-item:active{transform:scale(.93);background:var(--m-fill2)}
.gift-item.on{background:rgba(255,211,110,.22)}
.gift-item .g{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.gift-item .g svg{width:22px;height:22px;fill:#fff}
.gift-item b{font-size:11px;font-weight:400;color:var(--m-ink);letter-spacing:-.08px;line-height:1.2;white-space:nowrap}
.gift-item .p{font-size:10.5px;color:#B06A00;font-weight:600;font-variant-numeric:tabular-nums}

.gift-footer{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px 0;margin:0 16px;
  border-top:.5px solid var(--m-sep);
}
.gift-combo{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.gift-combo label{font-size:14px;color:var(--m-ink2);flex-shrink:0}
.gift-combo input{
  flex:1;min-width:0;height:34px;border-radius:8px;
  background:var(--m-fill);border:0;color:var(--m-ink);
  font-family:inherit;font-size:16px;font-weight:500;text-align:center;
  font-variant-numeric:tabular-nums;outline:none;-webkit-appearance:none;
}
.gift-combo input::-webkit-outer-spin-button,
.gift-combo input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.gift-send{
  border:0;height:34px;padding:0 22px;border-radius:8px;cursor:pointer;
  background:linear-gradient(135deg,#FFD36E,#FF8A4C);
  color:#4A2A00;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:-.24px;
  flex-shrink:0;transition:opacity .1s ease;
}
.gift-send:active{opacity:.6}
.gift-send:disabled{opacity:.35;cursor:default}

.gift-hint{
  font-size:11.5px;color:var(--m-ink3);text-align:center;
  margin:12px 16px 0;line-height:1.55;
}

.gift-board{
  margin:14px 16px 0;padding:12px 0;
  border-top:.5px solid var(--m-sep);
}
.gift-board h5{
  margin:0 0 10px;font-size:13px;color:var(--m-ink2);font-weight:600;letter-spacing:-.08px;
  display:flex;align-items:center;gap:6px;padding:0 2px;
}
.gift-board ol{
  list-style:none;padding:0 2px;margin:0;display:flex;gap:13px;
  overflow-x:auto;scrollbar-width:none;
}
.gift-board ol::-webkit-scrollbar{display:none}
.gift-board li{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;width:50px}
.gift-board .av{
  width:38px;height:38px;border-radius:50%;overflow:hidden;
  background:linear-gradient(140deg,#FFD36E,#FF8A4C);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:600;color:#4A2A00;position:relative;
}
.gift-board .av img{width:100%;height:100%;object-fit:cover}
.gift-board .av i{
  position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);
  font-style:normal;font-size:9.5px;font-weight:700;
  background:linear-gradient(135deg,#FFD36E,#FF8A4C);color:#4A2A00;
  padding:1px 6px;border-radius:100px;white-space:nowrap;
  border:1.5px solid var(--m-bg);
}
.gift-board li span{font-size:10.5px;color:var(--m-ink2);text-align:center;
  width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.gift-float-layer{position:fixed;left:0;right:0;bottom:0;top:0;z-index:1050;pointer-events:none;overflow:hidden}
.gift-float{
  position:absolute;display:flex;align-items:center;gap:8px;
  font-size:14px;font-weight:700;color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.4);white-space:nowrap;
  animation:gf-rise 3.2s cubic-bezier(.3,.7,.4,1) forwards;
}
.gift-float .g{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.gift-float .g svg{width:18px;height:18px;fill:#fff}
@keyframes gf-rise{
  0%{opacity:0;transform:translateY(30px) scale(.8)}
  12%{opacity:1;transform:translateY(0) scale(1)}
  78%{opacity:1;transform:translateY(-160px) scale(1)}
  100%{opacity:0;transform:translateY(-230px) scale(.92)}
}

.gift-burst{
  position:fixed;left:50%;top:50%;z-index:1060;pointer-events:none;
  transform:translate(-50%,-50%);text-align:center;
}
.gift-burst .ring{
  width:150px;height:150px;border-radius:50%;
  border:3px solid rgba(255,211,110,.9);
  animation:gb-ring .95s ease-out forwards;
}
@keyframes gb-ring{
  0%{transform:scale(.2);opacity:1}
  100%{transform:scale(2.4);opacity:0}
}
.gift-burst .txt{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-size:22px;font-weight:800;color:#fff;
  text-shadow:0 3px 18px rgba(0,0,0,.45);
  animation:gb-txt 1.5s cubic-bezier(.2,.8,.3,1) forwards;white-space:nowrap;
}
@keyframes gb-txt{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}
  22%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}
  70%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  100%{opacity:0;transform:translate(-50%,-130%) scale(.94)}
}
.gift-burst .petal{
  position:absolute;left:50%;top:50%;width:9px;height:14px;border-radius:2px;
  animation:gb-petal 1.3s ease-out forwards;
}
@keyframes gb-petal{
  0%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}
  100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot)) scale(.3)}
}

.gift-coin{
  position:fixed;z-index:1055;pointer-events:none;
  font-size:22px;font-weight:800;color:#FFD36E;
  text-shadow:0 2px 12px rgba(255,180,60,.6);
  animation:gc-up 1.25s cubic-bezier(.3,.8,.5,1) forwards;
}
@keyframes gc-up{
  0%{opacity:0;transform:translateY(0) scale(.7)}
  25%{opacity:1;transform:translateY(-40px) scale(1.15)}
  100%{opacity:0;transform:translateY(-130px) scale(.95)}
}

.gift-board{
  background:rgba(255,255,255,.07);border-radius:14px;
  padding:12px 14px;margin-top:14px;
}
.gift-board h5{margin:0 0 10px;font-size:13px;color:rgba(255,255,255,.8);font-weight:600;
  display:flex;align-items:center;gap:6px}
.gift-board ol{list-style:none;padding:0;margin:0;display:flex;gap:12px;overflow-x:auto;scrollbar-width:none}
.gift-board ol::-webkit-scrollbar{display:none}
.gift-board li{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;width:52px}
.gift-board .av{
  width:38px;height:38px;border-radius:50%;overflow:hidden;
  background:linear-gradient(140deg,#FFD36E,#FF8A4C);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:700;color:#4A2A00;position:relative;
}
.gift-board .av img{width:100%;height:100%;object-fit:cover}
.gift-board .av i{
  position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);
  font-style:normal;font-size:9.5px;font-weight:800;
  background:linear-gradient(135deg,#FFD36E,#FF8A4C);color:#4A2A00;
  padding:1px 6px;border-radius:100px;white-space:nowrap;
  border:1.5px solid rgba(28,28,30,.94);
}
.gift-board li span{font-size:10.5px;color:rgba(255,255,255,.66);text-align:center;
  width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media (min-width:560px){
  .gift-panel{max-width:520px;left:50%;right:auto;width:100%;border-radius:12px 12px 0 0}
}
