/* ============================================================
   知行伙伴 · 小播星   (partner.css)
   ------------------------------------------------------------
   接在 pro.css 之后加载。
   ★ 要整体回退:删掉 index.html 里这一行 <link> 即可
   ★ 颜色全部走 app.css 已有的主题变量,自动跟随 11 套皮肤
   ============================================================ */

/* ---------------- 底部导航 7 格适配(原 6 格) ---------------- */
.tabbar button{font-size:10.5px;gap:3px;padding:5px 1px}
.tabbar button svg{width:24px;height:24px}
@media (max-width:365px){
  .tabbar button{font-size:9.5px}
  .tabbar button svg{width:22px;height:22px}
}

/* ---------------- 伙伴页 ---------------- */
#tab-partner{padding-bottom:14px}

/* 主视觉卡:梦幻渐变 + 星点 */
.pt-hero{
  position:relative;border-radius:24px;overflow:hidden;padding:6px 16px 14px;
  background:var(--hero-grad,linear-gradient(140deg,#EDE8FF 0%,#FBEFF6 52%,#E9F3FF 100%));
  box-shadow:0 8px 30px rgba(92,72,190,.13);
}
.pt-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 13% 20%, rgba(255,255,255,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 83% 15%, rgba(255,214,107,.95) 0 2.5px, transparent 3.5px),
    radial-gradient(circle at 92% 62%, rgba(255,255,255,.8) 0 2px, transparent 3px),
    radial-gradient(circle at 7% 70%, rgba(159,198,255,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 24% 44%, rgba(255,255,255,.7) 0 1.5px, transparent 2.5px);
}
.pt-stage{
  position:relative;z-index:1;height:180px;display:flex;
  align-items:flex-end;justify-content:center;
}
.pt-stage .sb-svg{width:150px}

.pt-id{position:relative;z-index:1;display:flex;align-items:baseline;gap:8px;margin-bottom:9px}
.pt-id b{font-size:15.5px;font-weight:800;letter-spacing:.2px}
.pt-id span{font-size:11px;color:var(--text2);opacity:.9}

.pt-say{
  position:relative;z-index:1;font-size:13.5px;line-height:1.62;
  background:rgba(255,255,255,.86);color:var(--text);
  border-radius:16px 16px 16px 5px;padding:11px 14px;
  box-shadow:0 4px 16px rgba(92,72,190,.12);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.pt-say::before{
  content:"";position:absolute;left:14px;top:-7px;width:14px;height:14px;
  background:inherit;border-radius:0 0 0 4px;transform:rotate(45deg);
  box-shadow:-2px -2px 5px rgba(92,72,190,.05);
}

/* 四格数据 */
.pt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:13px}
.pt-g{
  background:var(--card);border-radius:16px;padding:11px 4px;text-align:center;
  box-shadow:0 4px 16px rgba(92,72,190,.08);
}
.pt-g b{display:block;font-size:17px;font-weight:800;line-height:1.15;color:var(--primary)}
.pt-g i{display:block;font-size:10px;font-style:normal;color:var(--text2);margin-top:4px}

/* 通用小卡 */
.pt-card{
  background:var(--card);border-radius:16px;padding:14px;margin-top:12px;
  box-shadow:0 4px 16px rgba(92,72,190,.08);
}
.pt-card .pt-h{display:flex;justify-content:space-between;align-items:center;
  font-size:13px;font-weight:700;margin-bottom:10px}
.pt-card .pt-h em{font-style:normal;font-size:11.5px;font-weight:500;color:var(--text2)}

.pt-row{display:flex;justify-content:space-between;align-items:baseline;
  font-size:12.5px;color:var(--text2);margin-bottom:7px}
.pt-row b{color:var(--text);font-size:13px}
.pt-bar{height:8px;border-radius:5px;background:var(--progress-bg,rgba(123,92,231,.11));overflow:hidden}
.pt-bar i{display:block;height:100%;border-radius:5px;
  background:var(--grad,linear-gradient(90deg,#9FC6FF,#7B5CE7));transition:width .5s ease}
.pt-bar.gold i{background:linear-gradient(90deg,#FFD66B,#FFB86B)}
.pt-tip{font-size:11.5px;color:var(--text2);margin-top:8px;line-height:1.55}

/* 快捷入口 */
.pt-entries{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}
.pt-e{
  background:var(--card);border:none;border-radius:16px;padding:13px 4px 11px;
  text-align:center;font-family:inherit;cursor:pointer;
  box-shadow:0 4px 16px rgba(92,72,190,.08);
  transition:transform .14s ease;
}
.pt-e:active{transform:scale(.965)}
.pt-e svg{
  width:24px;height:24px;stroke:var(--primary);fill:none;stroke-width:1.75;
  stroke-linecap:round;stroke-linejoin:round;display:block;margin:0 auto 7px;
}
.pt-e b{font-size:12.5px;font-weight:600;color:var(--text);display:block}
.pt-e small{font-size:10px;color:var(--text2);display:block;margin-top:3px}

/* 换装 */
.pt-tabs{display:flex;gap:8px;margin-bottom:10px}
.pt-tab{
  flex:1;height:34px;border-radius:12px;border:1.4px solid var(--border);
  background:var(--card);color:var(--text2);font-size:12.5px;font-family:inherit;
}
.pt-tab.on{border-color:var(--primary);color:var(--primary);font-weight:600;
  background:var(--tint-06,rgba(123,92,231,.07))}
.pt-wear{display:flex;gap:9px;overflow-x:auto;padding:2px 0 6px;
  -webkit-overflow-scrolling:touch;scrollbar-width:none}
.pt-wear::-webkit-scrollbar{display:none}
.pt-w{
  flex:0 0 auto;width:76px;text-align:center;font-family:inherit;cursor:pointer;
  background:var(--card);border:1.6px solid var(--border);
  border-radius:14px;padding:7px 4px 6px;transition:transform .14s ease;
}
.pt-w:active{transform:scale(.96)}
.pt-w.on{border-color:var(--primary);background:var(--tint-06,rgba(123,92,231,.07))}
.pt-w .sb-svg{width:52px;margin:0 auto}
.pt-w b{font-size:10.5px;font-weight:600;display:block;margin-top:3px;color:var(--text)}

/* 深色主题(银河/科技)下的气泡与卡片 */
body.theme-galaxy .pt-say,
body.theme-tech .pt-say{background:rgba(22,29,58,.86);color:#e9edfb}
body.theme-galaxy .pt-g,body.theme-tech .pt-g,
body.theme-galaxy .pt-card,body.theme-tech .pt-card,
body.theme-galaxy .pt-e,body.theme-tech .pt-e,
body.theme-galaxy .pt-w,body.theme-tech .pt-w{border:1px solid rgba(255,255,255,.07)}

/* ---------------- 悬浮小播星(「我的」页右下角) ---------------- */
/* ★ 2026-10-10:bottom 跟着底部栏高度变量走 —— 悬浮胶囊态底部栏只有 78px,写死 96px 会飘空。
   默认态 86+0+10=96px,和以前一模一样。 */
.pt-float{
  position:fixed;right:14px;
  bottom:calc(var(--tabbar-h,86px) + var(--tabbar-gap,0px) + 10px + env(safe-area-inset-bottom));
  z-index:45;display:flex;align-items:flex-end;gap:8px;pointer-events:none;
}
.pt-fl-say{
  position:relative;max-width:198px;font-size:12.5px;line-height:1.5;color:var(--text);
  background:linear-gradient(135deg,#FFFFFF 0%,rgba(238,233,255,.98) 100%);
  border:1px solid rgba(123,92,231,.24);
  border-radius:14px 14px 4px 14px;padding:9px 12px;
  box-shadow:0 8px 24px rgba(92,72,190,.24);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  opacity:0;transform:translateY(7px) scale(.95);transform-origin:bottom right;
  transition:opacity .22s ease,transform .22s cubic-bezier(.34,1.4,.64,1);
  pointer-events:none;
}
/* 指向小播星的小尖角 */
.pt-fl-say::after{
  content:"";position:absolute;right:-6px;bottom:9px;width:11px;height:11px;
  background:rgba(238,233,255,.98);border-right:1px solid rgba(123,92,231,.24);
  border-bottom:1px solid rgba(123,92,231,.24);transform:rotate(-45deg);border-radius:0 0 3px 0;
}
.pt-float.open .pt-fl-say{opacity:1;transform:none}
.pt-fl{
  flex:0 0 auto;width:66px;height:66px;padding:0;border:none;background:none;cursor:pointer;
  pointer-events:auto;filter:drop-shadow(0 8px 18px rgba(92,72,190,.28));
  transition:transform .2s cubic-bezier(.34,1.56,.64,1);
}
.pt-fl:active{transform:scale(.92)}
.pt-fl .sb-svg{width:66px}
body.theme-galaxy .pt-fl-say,
body.theme-tech .pt-fl-say{
  background:linear-gradient(135deg,rgba(30,38,72,.97),rgba(22,29,58,.97));color:#e9edfb;
  border-color:rgba(255,255,255,.14);
}
body.theme-galaxy .pt-fl-say::after,
body.theme-tech .pt-fl-say::after{background:rgba(24,31,62,.97);border-color:rgba(255,255,255,.14)}
/* AI 聊天页 / 键盘弹起时不出现(避免和输入栏打架) */
body.kb-open .pt-float{display:none}
