.reward-launch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 179, 71, 0.45);
  background: rgba(6, 5, 11, 0.85);
  color: #ffe7b0;
  font-weight: 800;
  font-size: 11px;
  letter-spacing: 0.06em;
  cursor: pointer;
}
.reward-launch.need {
  box-shadow: 0 0 12px rgba(0, 255, 200, 0.35);
  border-color: #00ffc8;
}
.reward-shop {
  position: fixed;
  inset: 0;
  z-index: 14000;
  display: none;
  place-items: center;
  background: rgba(0, 0, 0, 0.62);
  padding: 18px;
}
.reward-shop.show { display: grid; }
.reward-box {
  width: min(720px, 100%);
  max-height: min(88vh, 860px);
  overflow: auto;
  background: #09070c;
  border: 1px solid rgba(255, 179, 71, 0.4);
  border-radius: 18px;
  padding: 16px 16px 20px;
  color: #e8fff6;
}
.reward-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}
.reward-head h2 { margin: 0; font-size: 20px; color: #ffe7b0; }
.reward-head p { margin: 4px 0 0; color: #9bb8ad; font-size: 13px; }
.reward-head .coin-close {
  margin-left: auto;
  background: none;
  border: 0;
  color: #ffe7b0;
  font-size: 22px;
  cursor: pointer;
}
.reward-offers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 12px 0 16px;
}
.reward-card {
  border: 1px solid rgba(0, 255, 200, 0.25);
  border-radius: 14px;
  background: #100e16;
  padding: 10px 8px 12px;
  text-align: center;
  cursor: pointer;
  color: inherit;
}
.reward-card img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  display: block;
  margin: 0 auto 8px;
}
.reward-card strong { display: block; font-size: 13px; }
.reward-card small { color: #9bb8ad; }
.reward-card:disabled { opacity: 0.45; cursor: default; }
.reward-tabs { display: flex; gap: 8px; margin: 8px 0; }
.reward-tabs button {
  flex: 1;
  height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: transparent;
  color: #cfe8dc;
  cursor: pointer;
}
.reward-tabs button.on { border-color: #00ffc8; color: #00ffc8; }
.reward-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
  gap: 8px;
}
.reward-cell {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: #0c0a12;
  padding: 8px 6px;
  text-align: center;
  cursor: pointer;
  color: #cfe8dc;
}
.reward-cell img { width: 56px; height: 56px; object-fit: contain; display: block; margin: 0 auto 4px; }
.reward-cell.locked { opacity: 0.28; filter: grayscale(1); cursor: default; }
.reward-cell.equipped { outline: 2px solid #00ffc8; }
.reward-cell em { display: block; font-style: normal; font-size: 10px; color: #9bb8ad; }
.eaci-emoji-btn, .tx-emoji-btn {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid rgba(0, 255, 200, 0.3);
  background: rgba(0, 20, 16, 0.6);
  color: #00ffc8;
  font-size: 16px;
  cursor: pointer;
  flex: 0 0 auto;
}
.veil-emoji-pop {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 58px;
  max-height: 220px;
  overflow: auto;
  background: #0b0910;
  border: 1px solid rgba(0, 255, 200, 0.3);
  border-radius: 12px;
  padding: 8px;
  display: none;
  grid-template-columns: repeat(auto-fill, minmax(44px, 1fr));
  gap: 6px;
  z-index: 20;
}
.veil-emoji-pop.show { display: grid; }
.veil-emoji-pop button {
  background: #14111c;
  border: 0;
  border-radius: 8px;
  padding: 4px;
  cursor: pointer;
}
.veil-emoji-pop img { width: 36px; height: 36px; object-fit: contain; display: block; }
.bubble img.veil-sticker, .tx-bubble img.veil-sticker {
  width: 44px;
  height: 44px;
  object-fit: contain;
  vertical-align: middle;
  margin: 0 2px;
}
.tx-eaci-compose { position: relative; }
.eaci-compose { position: relative; }
