/* Guaqi Pet Mewmew - floating pet widget styles (all classes prefixed gq-pet-) */

.gq-pet-root {
  position: fixed;
  right: 20px;
  /* 先给一条最朴素的 bottom，再让认识 env() 的浏览器用安全区版本覆盖 ——
     旧引擎（IE 内核）会把带 env() 的整条声明丢弃，只写一条的话挂件会
     直接落到视口底部外面去。 */
  bottom: 20px;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 99990;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;
}

.gq-pet-root * { box-sizing: border-box; }

/* ---------------- 悬浮球 ---------------- */
.gq-pet-fab {
  width: 64px;
  height: 64px;
  min-width: 44px;
  min-height: 44px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: linear-gradient(145deg, #fff4e3, #ffe3c2);
  box-shadow: 0 6px 20px rgba(255, 122, 24, 0.28);
  padding: 4px;
  cursor: pointer;
  transition: transform 0.18s ease;
}
.gq-pet-fab:hover { transform: translateY(-3px) scale(1.04); }
.gq-pet-fab:active { transform: scale(0.96); }

.gq-pet-cat { width: 100%; height: 100%; display: block; }

.gq-pet-ssr .gq-pet-bubble {
  background: #fff;
  border-radius: 14px;
  padding: 4px 10px;
  font-size: 13px;
  color: #ff7a18;
}

/* ---------------- 面板 ---------------- */
.gq-pet-panel {
  width: 320px;
  max-width: calc(100vw - 32px);
  /* 面板高度封顶：内容再多也只在面板内滚，顶部不再被顶出屏幕（v1.6.1） */
  max-height: calc(100vh - 110px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #ffcf94 transparent;
  background: linear-gradient(170deg, #fffdf8 0%, #fff3e2 100%);
  border: 1px solid #ffe0bd;
  border-radius: 18px;
  box-shadow: 0 12px 40px rgba(255, 122, 24, 0.22);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  animation: gq-pet-pop 0.22s ease;
}
.gq-pet-panel::-webkit-scrollbar { width: 5px; }
.gq-pet-panel::-webkit-scrollbar-thumb { background: #ffcf94; border-radius: 3px; }
.gq-pet-panel::-webkit-scrollbar-track { background: transparent; }
@keyframes gq-pet-pop {
  from { opacity: 0; transform: translateY(10px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.gq-pet-panel-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ---------------- 面板标签页（v1.15.0） ----------------
   面板内容多了以后一屏扫不完：分成 互动 / 商店 / 荣誉 三页，
   首页只留状态与常用动作，消费与荣誉各归自己的页。 */
.gq-pet-tabs {
  display: flex;
  gap: 6px;
  margin: 2px 0 2px;
}
.gq-pet-tab {
  flex: 1 1 0;
  padding: 6px 0;
  font-size: 12px;
  border: 1px solid #ffd9b0;
  border-radius: 9px;
  background: #fffaf3;
  color: #a8763a;
  cursor: pointer;
  line-height: 1.35;
}
.gq-pet-tab:hover { border-color: #ffb56b; color: #d97a1f; }
.gq-pet-tab-on {
  background: linear-gradient(150deg, #ff8a3d, #ff4612);
  border-color: #ff4612;
  color: #fff;
  font-weight: 600;
}
.gq-pet-tab-body { display: flex; flex-direction: column; gap: 8px; }

/* ---------------- 动态表情（v1.7.0）：纯 CSS，不加 JS 负担 ---------------- */
/* 尾巴绕尾根 (92,96) 轻摆；transform-box 让 origin 按 viewBox 坐标取值 */
.gq-pet-avatar .gq-pet-tail {
  transform-box: view-box;
  transform-origin: 92px 96px;
  animation: gq-pet-tail-sway 3.2s ease-in-out infinite;
}
@keyframes gq-pet-tail-sway {
  0%, 100% { transform: rotate(-7deg); }
  50% { transform: rotate(9deg); }
}
/* 眨眼动画已移除（用户明确要求不眨眼） */
/* 开心蹦跳：动作成功后挂 gq-pet-avatar-dance，播两下自动停 */
.gq-pet-avatar-dance .gq-pet-cat {
  transform-box: view-box;
  transform-origin: 58px 112px;
  animation: gq-pet-dance 0.5s ease-in-out 2;
}
@keyframes gq-pet-dance {
  0%, 100% { transform: translateY(0); }
  30% { transform: translateY(-7px) rotate(-3deg); }
  60% { transform: translateY(0) scale(1.03, 0.97); }
}
/* 访客开启 prefers-reduced-motion：全部动画只保留静态画面 */
@media (prefers-reduced-motion: reduce) {
  .gq-pet-avatar .gq-pet-tail,
  .gq-pet-avatar .gq-pet-eyes,
  .gq-pet-avatar-dance .gq-pet-cat { animation: none; }
}
.gq-pet-avatar {
  width: 42px;
  height: 42px;
  flex: none;
  background: #fff;
  border-radius: 50%;
  padding: 2px;
  box-shadow: 0 2px 8px rgba(255, 122, 24, 0.18);
}
.gq-pet-title { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.gq-pet-title strong { font-size: 15px; color: #4a2f13; }
.gq-pet-title span { font-size: 12px; color: #a97b4f; }

.gq-pet-credit-chip {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 4px;
  background: #fff;
  border: 1px solid #ffd9a8;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 13px;
  color: #4a2f13;
  white-space: nowrap;
}
.gq-pet-coin { color: #ffab2e; font-size: 12px; }
.gq-pet-credit-unit { font-size: 11px; color: #a97b4f; }

/* ---------------- 状态条 ---------------- */
.gq-pet-stats { display: flex; flex-direction: column; gap: 6px; }
.gq-pet-stats-empty { font-size: 13px; color: #a97b4f; text-align: center; padding: 6px 0; }
.gq-pet-bar-row { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #6b4a26; }
.gq-pet-bar-label { width: 44px; flex: none; }
.gq-pet-bar-track {
  flex: 1;
  height: 8px;
  background: #ffe9d0;
  border-radius: 999px;
  overflow: hidden;
}
.gq-pet-bar-fill { height: 100%; border-radius: 999px; transition: width 0.4s ease; }
.gq-pet-bar-value { width: 34px; flex: none; text-align: right; color: #a97b4f; }

/* ---------------- 成长条（v1.3.0：等级 + 经验） ---------------- */
.gq-pet-growth { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #6b4a26; }
.gq-pet-lv { flex: none; font-weight: 600; color: #d97a1f; }
.gq-pet-exp-fill { background: linear-gradient(90deg, #ff8a3d, #ff4612); }
.gq-pet-growth .gq-pet-bar-value { width: auto; min-width: 52px; }
.gq-pet-lv-bonus {
  flex: none;
  background: #ff4612;
  color: #fff;
  border-radius: 999px;
  padding: 1px 7px;
  font-size: 11px;
  font-weight: 600;
}

/* ---------------- 消息 ---------------- */
.gq-pet-messages {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 96px;
  overflow-y: auto;
}
.gq-pet-msg {
  align-self: flex-start;
  background: #fff;
  border: 1px solid #ffe3c4;
  color: #6b4a26;
  border-radius: 12px 12px 12px 4px;
  padding: 6px 10px;
  font-size: 13px;
  line-height: 1.5;
  max-width: 92%;
  animation: gq-pet-pop 0.2s ease;
}

/* ---------------- 操作按钮 ---------------- */
.gq-pet-actions {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.gq-pet-btn {
  min-width: 44px;
  min-height: 52px;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 6px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.gq-pet-btn:not(.gq-pet-btn-disabled):hover { transform: translateY(-2px); }
.gq-pet-btn:not(.gq-pet-btn-disabled):active { transform: scale(0.95); }
.gq-pet-btn-earn {
  background: linear-gradient(150deg, #ffb56b, #ff8a3d);
  color: #fff;
  box-shadow: 0 4px 12px rgba(255, 138, 61, 0.35);
}
.gq-pet-btn-cost {
  background: #fff;
  border-color: #ffd9a8;
  color: #b06a1f;
}
.gq-pet-btn-sub { font-size: 11px; font-weight: 400; opacity: 0.9; }
.gq-pet-btn-disabled {
  background: #f3e9dc !important;
  color: #b9a68e !important;
  border-color: transparent !important;
  box-shadow: none !important;
  cursor: not-allowed;
}

.gq-pet-retry {
  border: 1px dashed #ffb56b;
  background: transparent;
  color: #d97a1f;
  border-radius: 10px;
  padding: 8px;
  font-size: 13px;
  cursor: pointer;
}

/* ---------------- 扭蛋（v1.4.0：走官方积分兑换与抽奖引擎） ---------------- */
.gq-pet-gacha {
  background: #fff;
  border: 1px solid #ffd9a8;
  border-radius: 12px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.gq-pet-gacha-top { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.gq-pet-gacha-icon { color: #ff4612; font-size: 13px; line-height: 1; }
.gq-pet-gacha-name { font-size: 13px; font-weight: 600; color: #4a2f13; }
.gq-pet-gacha-facts { margin-left: auto; font-size: 11px; color: #a97b4f; }
.gq-pet-gacha-foot { display: flex; align-items: center; gap: 8px; }
.gq-pet-gacha-pity { font-size: 11px; color: #a97b4f; }
.gq-pet-gacha-foot .gq-pet-btn {
  margin-left: auto;
  min-height: 40px;
  min-width: 88px;
  flex-direction: row;
  gap: 6px;
  padding: 4px 12px;
}
.gq-pet-btn-gacha {
  background: linear-gradient(150deg, #ff8a3d, #ff4612);
  color: #fff;
  box-shadow: 0 4px 12px rgba(255, 70, 18, 0.32);
}

/* ---------------- 撸猫 / 形态 / 榜单 / 猫粮（v1.5.0） ---------------- */
.gq-pet-stage {
  font-size: 10px;
  line-height: 1;
  padding: 3px 6px;
  border-radius: 999px;
  background: #fff1dd;
  color: #c06a12;
  border: 1px solid #ffd9a8;
  white-space: nowrap;
}
.gq-pet-btn-free {
  background: #fff;
  border: 1px solid #ffc9d6;
  color: #e0567a;
}
.gq-pet-btn-free:hover { background: #fff5f8; }
.gq-pet-snack {
  background: #fff;
  border: 1px solid #ffe0b8;
  border-radius: 12px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.gq-pet-btn-snack {
  background: linear-gradient(150deg, #ffb56b, #f08a3c);
  color: #fff;
  box-shadow: 0 4px 12px rgba(240, 138, 60, 0.3);
}
.gq-pet-board {
  background: #fff;
  border: 1px solid #ffe3ea;
  border-radius: 12px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.gq-pet-board-title {
  font-size: 12px;
  font-weight: 600;
  color: #b3475f;
  display: flex;
  align-items: center;
  gap: 5px;
}
.gq-pet-board-title::before { content: "♥"; color: #ff5f7e; font-size: 11px; }
.gq-pet-board-row { display: flex; align-items: center; gap: 7px; min-height: 26px; }
.gq-pet-board-rank {
  width: 18px;
  font-size: 11px;
  font-weight: 700;
  color: #d98aa0;
  text-align: center;
  flex: none;
}
.gq-pet-board-row:first-of-type .gq-pet-board-rank { color: #ff8a3d; }
.gq-pet-board-avatar {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  flex: none;
  background: #ffeef2;
  object-fit: cover;
}
.gq-pet-board-avatar-empty::after { content: "·"; color: #f0b6c4; }
.gq-pet-board-name {
  font-size: 12px;
  color: #6b4a33;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gq-pet-board-value { margin-left: auto; font-size: 12px; font-weight: 600; color: #e0567a; }
.gq-pet-board-empty { font-size: 11px; color: #c99dae; padding: 2px 0; }
.gq-pet-board-me {
  font-size: 11px;
  color: #a3546e;
  border-top: 1px dashed #ffe3ea;
  padding-top: 5px;
  margin-top: 2px;
}

/* ---------------- 移动端 ---------------- */
@media (max-width: 768px) {
  .gq-pet-root { right: 14px; }
  .gq-pet-fab { width: 56px; height: 56px; }
  .gq-pet-panel { width: calc(100vw - 28px); }
  .gq-pet-actions { grid-template-columns: repeat(2, 1fr); }
  .gq-pet-board-row { min-height: 30px; }
  .gq-pet-outfit-row { grid-template-columns: repeat(2, 1fr); }
}
.gq-pet-version{font-size:10px;color:#c9a06a;text-align:center;opacity:.7;margin-top:6px;user-select:none;}
.gq-pet-hint{font-size:11px;line-height:1.5;color:#a8763a;background:#fff6e8;border:1px dashed #ffcf94;border-radius:10px;padding:7px 10px;margin-top:8px;}
.gq-pet-login{background:#ff4612;color:#fff;border-color:#ff4612;font-weight:600;}
.gq-pet-login:hover{background:#e63c0c;}

/* ---------------- v1.6.0 装扮 / 榜单 tab / 成就 ---------------- */
.gq-pet-outfit {
  margin-top: 0;
  background: #fff;
  border: 1.5px solid #ffe3ea;
  border-radius: 14px;
  padding: 8px 10px;
}
.gq-pet-outfit-title { font-size: 12px; font-weight: 700; color: #e0567a; margin-bottom: 7px; }
.gq-pet-outfit-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.gq-pet-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  padding: 6px 4px;
  border: 1.5px solid #ffe3ea;
  border-radius: 10px;
  background: #fffafa;
  cursor: pointer;
  font: inherit;
  min-width: 0;
}
.gq-pet-chip:hover { border-color: #ffb7c9; background: #fff5f8; }
.gq-pet-chip-name {
  font-size: 11px;
  font-weight: 600;
  color: #6b4a33;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gq-pet-chip-sub { font-size: 10px; color: #c99dae; }
.gq-pet-chip-on { border-color: #ff4612; background: #fff1ea; }
.gq-pet-chip-on .gq-pet-chip-sub { color: #ff4612; font-weight: 600; }
.gq-pet-chip-buy .gq-pet-chip-sub { color: #e0567a; font-weight: 600; }
.gq-pet-chip-locked { opacity: 0.5; cursor: not-allowed; }
.gq-pet-chip-locked:hover { border-color: #ffe3ea; background: #fffafa; }
.gq-pet-board-tabs { display: flex; gap: 6px; margin: 4px 0 6px; }
.gq-pet-board-tab {
  border: 1.5px solid #ffe3ea;
  background: #fffafa;
  color: #a3546e;
  border-radius: 999px;
  font-size: 11px;
  padding: 2px 10px;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
}
.gq-pet-board-tab-on { background: #ff4612; border-color: #ff4612; color: #fff; font-weight: 600; }
.gq-pet-ach {
  font-size: 11px;
  color: #a8763a;
  background: #fff6e8;
  border-radius: 10px;
  padding: 6px 10px;
  margin-top: 0;
}

/* ---------------- 成就展示柜（v1.7.0） ---------------- */
.gq-pet-showcase { display: flex; flex-direction: column; gap: 6px; }
.gq-pet-showcase-pinned { font-size: 10px; color: #d97a1f; font-weight: 600; }
.gq-pet-showcase-row { display: flex; flex-wrap: wrap; gap: 5px; }
.gq-pet-ach-chip {
  font: inherit;
  font-size: 10px;
  border: 1px solid #ffe0bd;
  background: #fff;
  color: #a8763a;
  border-radius: 9px;
  padding: 3px 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.gq-pet-ach-chip:hover { border-color: #ffb066; }
.gq-pet-ach-chip-on {
  background: #fff0e0;
  border-color: #ff9a3d;
  color: #d97a1f;
  font-weight: 600;
}
.gq-pet-ach-chip-date { font-size: 9px; color: #c9a06a; }

/* ---------------- 限时装扮徽标（v1.7.0） ---------------- */
.gq-pet-chip-limited { border-color: #ff9a3d; }
.gq-pet-chip-flag {
  font-style: normal;
  font-size: 9px;
  background: linear-gradient(150deg, #ff8a3d, #ff4612);
  color: #fff;
  border-radius: 6px;
  padding: 1px 4px;
  margin-right: 3px;
  vertical-align: 1px;
}
.gq-pet-chip-ended { opacity: 0.55; }

/* ================= 悬浮球与互动反馈（v1.15.0：3D 下线，只剩 2D 橘喵） ================= */
/* 包裹层保持 relative：气泡与爱心都绝对定位挂在悬浮球上，不参与布局流 */
.gq-pet-wrap { position: relative; display: block; }
.gq-pet-fab-2d { display: block; width: 100%; height: 100%; }
.gq-pet-fab-2d .gq-pet-cat { width: 100%; height: 100%; }

/* 互动爱心（撸猫 / 喂食 / 扭蛋）：三颗错峰上浮 */
.gq-pet-hearts { position: absolute; left: 50%; top: 8%; pointer-events: none; }
.gq-pet-hearts i {
  position: absolute;
  font-style: normal;
  font-size: 14px;
  color: #ff6b8a;
  opacity: 0;
  transform: translateY(0) scale(0.6);
}
.gq-pet-hearts-on i { animation: gq-pet-heart-pop 0.9s ease-out forwards; }
.gq-pet-hearts i:nth-child(1) { left: -14px; animation-delay: 0s; }
.gq-pet-hearts i:nth-child(2) { left: 2px; font-size: 18px; animation-delay: 0.12s; }
.gq-pet-hearts i:nth-child(3) { left: 14px; animation-delay: 0.24s; }
@keyframes gq-pet-heart-pop {
  0% { opacity: 0; transform: translateY(6px) scale(0.5); }
  25% { opacity: 1; }
  100% { opacity: 0; transform: translateY(-34px) scale(1.15); }
}

/* 面板底部：音效开关 + 版本号 */
.gq-pet-version-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
.gq-pet-version-row .gq-pet-version { margin-top: 0; }
.gq-pet-sfx-switch {
  font-size: 10px;
  color: #a8763a;
  background: #fff6e8;
  border: 1px solid #ffcf94;
  border-radius: 99px;
  padding: 2px 8px;
  cursor: pointer;
  line-height: 1.4;
}
.gq-pet-sfx-switch-on { background: #fff0e0; border-color: #ff9a3d; color: #d97a1f; font-weight: 600; }

/* ================= 情绪气泡与音效开关（v1.9.0） ================= */
/* 气泡绝对定位在猫头顶（2D / 3D 通用）：走 absolute 不参与布局流，
   不会撑大 root —— 否则每冒一句话都会触发面板重新夹取。
   猫贴着屏幕顶时翻到下方（-below），贴左 / 贴右时换对齐（-left / -right），
   保证拖到任何位置气泡都不会跑出视口。 */
.gq-pet-bubble {
  --gq-bubble-x: -50%;
  --gq-bubble-y: 6px;
  position: absolute;
  bottom: calc(100% - 8px);
  left: 50%;
  z-index: 3;
  max-width: 220px;
  max-width: min(220px, 62vw);
  padding: 6px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(255, 180, 120, 0.55);
  color: #6b4a2b;
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
  white-space: normal;
  word-break: break-word;
  box-shadow: 0 6px 18px rgba(255, 122, 24, 0.2);
  opacity: 0;
  pointer-events: none;
  transform-origin: 50% 100%;
  transform: translateX(var(--gq-bubble-x)) translateY(var(--gq-bubble-y)) scale(0.94);
  transition: opacity 0.2s ease, transform 0.24s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gq-pet-bubble-on { opacity: 1; transform: translateX(var(--gq-bubble-x)) translateY(0) scale(1); }
.gq-pet-bubble-left { --gq-bubble-x: 0%; left: 0; }
.gq-pet-bubble-right { --gq-bubble-x: 0%; left: auto; right: 0; }
.gq-pet-bubble-below { --gq-bubble-y: -6px; bottom: auto; top: calc(100% - 8px); transform-origin: 50% 0; }
/* 小尾巴：默认朝下指向猫头，-below 时翻成朝上 */
.gq-pet-bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  margin-left: -5px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid rgba(255, 255, 255, 0.97);
}
.gq-pet-bubble-left::after { left: 26px; margin-left: 0; }
.gq-pet-bubble-right::after { left: auto; right: 26px; margin-left: 0; }
.gq-pet-bubble-below::after {
  bottom: auto;
  top: -5px;
  border-top: none;
  border-bottom: 5px solid rgba(255, 255, 255, 0.97);
}
/* 尊重系统的减弱动效偏好：只保留淡入淡出，不做弹跳 */
@media (prefers-reduced-motion: reduce) {
  .gq-pet-bubble,
  .gq-pet-bubble-on { transition: opacity 0.15s ease; transform: translateX(var(--gq-bubble-x)) translateY(0); }
}

/* 面板底部开关成组（v1.9.0）：静音 + 3D 靠左并排，版本号独占右侧 */
.gq-pet-switch-group { display: flex; align-items: center; gap: 6px; }

/* ================= 旧内核兜底（v1.11.0） =================
   IE 内核（含 360/QQ 浏览器的兼容模式、Win7 自带 IE11）不支持 CSS 自定义属性，
   带 var() 的**整条声明会被丢掉**，气泡的 transform 定位会整个失效；现代 grid
   也不支持。这些浏览器上 3D 猫本来就走不到（无 Promise），但 2D 猫必须照常好看。
   JS 检测到不支持时给根节点加 .gq-pet-novars（见 COMPAT.hasCssVars）。 */
.gq-pet-novars .gq-pet-bubble { transform: translateX(-50%) translateY(6px) scale(0.94); }
.gq-pet-novars .gq-pet-bubble-on { transform: translateX(-50%) translateY(0) scale(1); }
.gq-pet-novars .gq-pet-bubble-left { transform: translateX(0) translateY(6px) scale(0.94); }
.gq-pet-novars .gq-pet-bubble-left.gq-pet-bubble-on { transform: translateX(0) translateY(0) scale(1); }
.gq-pet-novars .gq-pet-bubble-right { transform: translateX(0) translateY(6px) scale(0.94); }
.gq-pet-novars .gq-pet-bubble-right.gq-pet-bubble-on { transform: translateX(0) translateY(0) scale(1); }
.gq-pet-novars .gq-pet-bubble-below { top: calc(100% - 8px); bottom: auto; transform-origin: 50% 0; }
.gq-pet-novars .gq-pet-bubble-below.gq-pet-bubble-on { transform: translateX(-50%) translateY(0) scale(1); }
.gq-pet-novars .gq-pet-bubble-left.gq-pet-bubble-below { transform: translateX(0) translateY(-6px) scale(0.94); }
.gq-pet-novars .gq-pet-bubble-left.gq-pet-bubble-below.gq-pet-bubble-on { transform: translateX(0) translateY(0) scale(1); }
.gq-pet-novars .gq-pet-bubble-right.gq-pet-bubble-below { transform: translateX(0) translateY(-6px) scale(0.94); }
.gq-pet-novars .gq-pet-bubble-right.gq-pet-bubble-below.gq-pet-bubble-on { transform: translateX(0) translateY(0) scale(1); }
/* grid 兜底：旧内核不认 grid-template-columns，用 flex + 百分比宽度还原多列 */
.gq-pet-novars .gq-pet-actions { display: flex; flex-wrap: wrap; margin: -4px; }
.gq-pet-novars .gq-pet-actions > * { flex: 1 0 21%; margin: 4px; }
.gq-pet-novars .gq-pet-outfit-row { display: flex; flex-wrap: wrap; margin: -3px; }
.gq-pet-novars .gq-pet-outfit-row > * { flex: 1 0 30%; margin: 3px; }
