/* 小猫钓鱼飘窗游戏（主题色跟随站点：--fg-acc* 取 style.css 的 --brand 系列，切换主题即时生效） */
#fgWin,#fgBubble{
  --fg-acc:var(--brand,var(--fg-acc));
  --fg-acc-dark:var(--brand-dark,#b8933f);
  --fg-acc-rgb:var(--brand-rgb,216,180,92);
  --fg-acc-2:var(--brand-2,var(--fg-acc));
}
#fgBubble{position:fixed;right:18px;bottom:96px;width:52px;height:52px;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,#3a4f7a,#141c30 70%);border:2px solid var(--fg-acc);
  box-shadow:0 4px 18px rgba(0,0,0,.5),0 0 12px rgba(var(--fg-acc-rgb),.35);cursor:pointer;z-index:9990;
  display:flex;align-items:center;justify-content:center;font-size:26px;user-select:none;
  transition:transform .15s}
#fgBubble:hover{transform:scale(1.1)}
#fgBubble .fg-dot{position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;
  background:#ff6b6b;border:2px solid #141c30}

#fgWin{position:fixed;width:400px;max-width:calc(100vw - 20px);background:#10182b;border:1px solid #2a3a5e;
  border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.6);z-index:9991;overflow:hidden;
  font-family:inherit;color:#e8ecf5;font-size:14px;user-select:none}
#fgWin .fg-head{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:move;
  background:linear-gradient(90deg,#1a2745,#141c30);border-bottom:1px solid #2a3a5e}
#fgWin .fg-head b{flex:1;font-size:14px;letter-spacing:1px;color:var(--fg-acc)}
#fgWin .fg-head .fg-hbtn{width:24px;height:24px;border-radius:6px;border:1px solid #2a3a5e;background:#0d1424;
  color:#9fb4c7;cursor:pointer;font-size:13px;line-height:1}
#fgWin .fg-head .fg-hbtn:hover{color:#fff;border-color:var(--fg-acc)}
#fgWin .fg-tabs{display:flex;gap:6px;padding:8px 12px 0}
#fgWin .fg-tab{flex:1;padding:7px 0;text-align:center;font-size:13px;border-radius:8px 8px 0 0;cursor:pointer;
  background:#0d1424;color:#9fb4c7;border:1px solid #2a3a5e;border-bottom:none}
#fgWin .fg-tab.on{background:#1a2745;color:var(--fg-acc);font-weight:600}
/* 图鉴二级分类（分段控件） */
#fgWin .fg-subtabs{display:flex;gap:6px;padding:8px 12px 6px;background:#0e1626;border-bottom:1px solid #1a2745}
#fgWin .fg-subtabs[hidden]{display:none}
#fgWin .fg-st{flex:1;padding:5px 4px;border-radius:8px;text-align:center;cursor:pointer;
  background:#0d1424;border:1px solid #24334f;color:#9fb4c7;transition:background .15s,border-color .15s,color .15s}
#fgWin .fg-st b{display:block;font-size:12px;font-weight:400;letter-spacing:.5px}
#fgWin .fg-st i{display:block;font-style:normal;font-size:10px;opacity:.7;margin-top:1px}
#fgWin .fg-st:hover{border-color:#3a4c72;color:#cdd9e6}
#fgWin .fg-st.on{background:linear-gradient(180deg,#3d3115,#241d0d);border-color:var(--fg-acc);color:var(--fg-acc)}
#fgWin .fg-st.on b{font-weight:600}
#fgWin .fg-st.on i{opacity:.95}
#fgBody{position:relative;height:430px;overflow-y:auto;padding:12px;background:linear-gradient(180deg,#131c33,#0d1424)}
#fgBody::-webkit-scrollbar{width:6px}
#fgBody::-webkit-scrollbar-thumb{background:#2a3a5e;border-radius:3px}

/* 钓鱼 tab */
#fgBody .fg-video{position:relative;border-radius:12px;overflow:hidden;border:1px solid #2a3a5e;line-height:0}
#fgBody .fg-video video,#fgBody .fg-video img{width:100%;height:auto;display:block;pointer-events:none}
#fgBody .fg-water{position:relative;height:120px;margin-top:10px;border-radius:12px;overflow:hidden;cursor:pointer;
  background:linear-gradient(180deg,#12294d,#0a1930);border:1px solid #24457a}
#fgBody .fg-water::before{content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(105deg,transparent 0 14px,rgba(90,167,255,.06) 14px 16px);
  animation:fgFlow 6s linear infinite}
@keyframes fgFlow{to{transform:translateX(30px)}}
.fg-bobber{position:absolute;width:14px;height:14px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff,#ff5a5a 60%);box-shadow:0 0 8px rgba(255,90,90,.8);
  transition:top .3s}
.fg-bobber.dip{animation:fgDip .35s ease-in-out infinite alternate}
@keyframes fgDip{from{transform:translateY(0)}to{transform:translateY(7px)}}
.fg-ripple{position:absolute;border:2px solid rgba(122,180,255,.5);border-radius:50%;pointer-events:none;
  animation:fgRip 1.6s ease-out forwards}
@keyframes fgRip{from{width:8px;height:8px;opacity:.9}to{width:70px;height:70px;opacity:0}}
.fg-bite-tip{position:absolute;left:50%;top:8px;transform:translateX(-50%);background:rgba(216,60,60,.92);
  color:#fff;font-size:12px;padding:4px 12px;border-radius:999px;animation:fgBlink .5s ease-in-out infinite alternate}
@keyframes fgBlink{from{opacity:.55}to{opacity:1}}

.fg-hud{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;font-size:12px}
.fg-chip{background:#0d1424;border:1px solid #2a3a5e;border-radius:999px;padding:4px 12px;color:#cfd8ea}
.fg-chip b{color:var(--fg-acc)}
.fg-stbar{height:8px;border-radius:4px;background:#0d1424;border:1px solid #2a3a5e;margin-top:8px;overflow:hidden}
.fg-stbar i{display:block;height:100%;background:linear-gradient(90deg,#3fbf6f,#8fe0a8);transition:width .3s}
.fg-castbtn{width:100%;margin-top:10px;padding:11px 0;border:none;border-radius:10px;cursor:pointer;
  font-size:15px;font-weight:600;color:#fff;background:linear-gradient(90deg,var(--fg-acc-2),var(--fg-acc))}
.fg-castbtn:disabled{opacity:.45;cursor:not-allowed}

/* v13：鱼塘右上角悬浮甩竿按钮（外包一层 .fg-pool，甩竿时水面 innerHTML 清空不会带走按钮） */
#fgBody .fg-pool{position:relative;margin-top:10px}
#fgBody .fg-pool .fg-water{margin-top:0}
.fg-castfab{position:absolute;top:9px;right:9px;z-index:4;display:flex;align-items:center;gap:7px;
  padding:6px 13px 6px 10px;border-radius:999px;cursor:pointer;font-family:inherit;
  border:1px solid rgba(255,244,214,.55);
  background:linear-gradient(180deg,#ffe3a0,#d8b45c 62%,#c39c45);
  color:#2a2008;box-shadow:0 6px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .12s,box-shadow .12s,opacity .12s}
.fg-castfab:hover:not(:disabled){transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,0,0,.5),0 0 0 3px rgba(216,180,92,.18),inset 0 1px 0 rgba(255,255,255,.65)}
.fg-castfab:active:not(:disabled){transform:translateY(1px) scale(.985)}
.fg-castfab .fg-cf-ico{font-size:17px;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
.fg-castfab .fg-cf-tx{display:flex;flex-direction:column;line-height:1.05;font-size:13px;font-weight:700;letter-spacing:.5px}
.fg-castfab .fg-cf-tx small{font-size:10px;font-weight:600;opacity:.72;margin-top:1px;letter-spacing:0}
.fg-castfab:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.35)}

.fg-props{display:flex;gap:8px;margin-top:10px}
.fg-prop{flex:1;background:#0d1424;border:1px solid #2a3a5e;border-radius:10px;padding:8px;text-align:center;font-size:12px}
.fg-prop .fg-pe{font-size:20px}
.fg-prop .fg-pn{color:#cfd8ea;margin:2px 0}
.fg-prop .fg-pc{color:#9fb4c7;font-size:11px}
.fg-prop button{margin-top:4px;padding:3px 10px;border-radius:6px;border:1px solid var(--fg-acc);background:transparent;
  color:var(--fg-acc);cursor:pointer;font-size:11px}
.fg-prop button:disabled{opacity:.4;cursor:not-allowed}
.fg-toggles{display:flex;gap:14px;margin-top:8px;font-size:12px;color:#9fb4c7}
.fg-toggles label{display:flex;align-items:center;gap:4px;cursor:pointer}
.fg-toggles input{accent-color:var(--fg-acc)}

/* 章鱼事件浮层 */
.fg-octo{position:absolute;inset:0;background:rgba(10,16,32,.88);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;z-index:5;text-align:center}
.fg-octo .fg-oe{font-size:52px;animation:fgWob 1s ease-in-out infinite}
@keyframes fgWob{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
.fg-octo .fg-ot{color:#ffc24d;font-size:14px;font-weight:600}
.fg-octo .fg-oc{font-size:12px;color:#9fb4c7}
.fg-octo .fg-ob{display:flex;gap:12px}
.fg-octo button{padding:8px 20px;border-radius:10px;border:1px solid var(--fg-acc);background:transparent;
  color:var(--fg-acc);font-size:13px;cursor:pointer}
.fg-octo button.hot{background:var(--fg-acc);color:#fff;font-weight:600}

/* 渔获结果（显示在水面框内，横排紧凑卡） */
.fg-catch{position:absolute;inset:0;background:rgba(8,14,28,.95);display:flex;flex-direction:row;
  align-items:center;justify-content:center;gap:10px;padding:0 12px;text-align:left;z-index:6;animation:fgPop .3s ease}
@keyframes fgPop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
.fg-catch .fg-ce{font-size:40px;line-height:1;flex:none}
.fg-catch .fg-ce .fg-ci{width:76px;height:76px;display:block;object-fit:contain;
  filter:drop-shadow(0 4px 12px rgba(120,180,255,.4));animation:fgFishIn .42s cubic-bezier(.2,1.4,.4,1)}
@keyframes fgFishIn{from{transform:scale(.55) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
.fg-catch .fg-cinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fg-catch .fg-ctitle{font-size:12px;color:#9fb4c7}
.fg-catch .fg-cn{font-size:14px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fg-catch .fg-cr{font-size:11px;padding:1px 10px;border-radius:999px;align-self:flex-start}
.fg-catch .fg-cd{color:var(--fg-acc);font-size:12px}
/* 材料掉落行（渔获 / 挣脱浮层内） */
.fg-cmats{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:3px}
.fg-cmats .fg-cmat-i{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#9fb4c7;white-space:nowrap}
.fg-cmats .fg-de{flex:none;width:17px;height:17px;display:flex;align-items:center;justify-content:center}
.fg-cmats .fg-de .fg-di{width:17px;height:17px;display:block;object-fit:contain}
.r-c{color:#9fb4c7}.r-u{color:#5fd98a}.r-r{color:#5aa7ff}.r-e{color:#c07cff}.r-l{color:#ffb84d}
.fg-catch .fg-close{margin-left:auto;padding:8px 18px;border-radius:9px;border:1px solid #2a3a5e;
  background:#1a2745;color:#cfd8ea;cursor:pointer;flex:none;align-self:center}

/* 宠物 tab */
/* v12：立绘在左、说明在右（两列）；喂食面板整行通栏 */
.fg-pet{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 14px;padding:12px 0 4px}
.fg-pet .fg-pleft{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
/* 宠物外出按钮（立绘正下方）：默认 / 外出中 / 待领取 / 次数用完 */
#fgWin .fg-outbtn{
  width:132px;padding:8px 0;border-radius:10px;border:1px solid #2a3a5e;cursor:pointer;
  background:#141d31;color:#cfe0f2;font-size:12px;font-weight:600;letter-spacing:1px;
  transition:.15s;font-family:inherit;
}
#fgWin .fg-outbtn:hover{border-color:#46e0ff;color:#46e0ff}
#fgWin .fg-outbtn.busy{cursor:default;color:#ffd98a;border-color:#4a3d1e;background:#241d10}
#fgWin .fg-outbtn.ready{
  cursor:pointer;color:#1f2a16;border-color:#79c26a;
  background:linear-gradient(135deg,#b9f08d,#7fc95e);animation:fgOutPulse 1.4s ease-in-out infinite;
}
#fgWin .fg-outbtn.done{cursor:default;color:#6f7f92;border-color:#26303e;background:#151a22}
@keyframes fgOutPulse{0%,100%{box-shadow:0 0 0 0 rgba(127,201,94,.45)}50%{box-shadow:0 0 0 6px rgba(127,201,94,0)}}
/* 最近串门记录（喂食面板下方通栏） */
.fg-outlog{margin-top:8px;padding:8px 10px;border:1px dashed #2a3a5e;border-radius:9px;
  font-size:11px;line-height:1.8;color:#8fa4ba}
.fg-outlog b{display:block;color:#a9bdd2;font-size:11px;margin-bottom:2px}
.fg-pet .fg-pright{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0}
.fg-pet .fg-pstats,.fg-pet>.fg-err{grid-column:1/-1}
.fg-pet .fg-aura{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:58px;position:relative}
/* 纯无圈：外圈 border/box-shadow 已移除；蛋 86%、一阶及以上 92% */
.fg-aura .fg-petimg{width:86%;height:86%;object-fit:contain;position:relative;z-index:1}
.fg-aura.fg-a2 .fg-petimg{width:92%;height:92%}
.fg-pet .fg-pname{font-size:16px;font-weight:700;color:var(--fg-acc);text-align:left}
.fg-pet .fg-pq{font-size:12px;text-align:left}
.fg-pet .fg-pdesc{font-size:12px;color:#9fb4c7;text-align:center;line-height:1.8}
.fg-pet .fg-pstats{width:100%;font-size:12px;background:#0d1424;border:1px solid #2a3a5e;border-radius:10px;
  padding:10px 12px;line-height:2}
.fg-pet .fg-pstats b{color:var(--fg-acc)}
.fg-pet .fg-pbar{height:7px;border-radius:4px;background:#1a2745;overflow:hidden;margin:2px 0 6px}
.fg-pet .fg-pbar i{display:block;height:100%;background:linear-gradient(90deg,var(--fg-acc),var(--fg-acc-2))}
.fg-feedbtn{width:100%;padding:10px 0;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;
  color:#fff;background:linear-gradient(90deg,var(--fg-acc-2),var(--fg-acc));margin-top:8px}
.fg-feedbtn:disabled{opacity:.45;cursor:not-allowed}

/* 图鉴 */
.fg-dex-h{font-size:13px;color:var(--fg-acc);margin:6px 0}
/* 材料图鉴：按品质分组的标题色 + 未获得变暗（材料图偏白，白色剪影反而像已解锁） */
.fg-dex-h.fg-mq-c{color:#9fb4c7}
.fg-dex-h.fg-mq-u{color:#5fd98a}
.fg-dex-h.fg-mq-r{color:#5aa7ff}
.fg-dex-h.fg-mq-e{color:#c07cff}
.fg-dex-h.fg-mq-l{color:#ffb84d}
.fg-dex-h:not(:first-child){margin-top:14px}
.fg-dex-row .fg-de .fg-di.dim{filter:grayscale(1) brightness(.45);opacity:.65}
.fg-dex-row{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px dashed #1c2a48;font-size:13px}
.fg-dex-row .fg-de{font-size:22px;flex:0 0 30px;width:30px;display:flex;align-items:center;justify-content:center}
.fg-dex-row .fg-de .fg-di{width:30px;height:30px;display:block;object-fit:contain}
.fg-dex-row.locked .fg-de .fg-di.sil{filter:brightness(0) invert(1);opacity:.55}
.fg-dex-row .fg-dn{flex:1}
.fg-dex-row .fg-dn small{color:#9fb4c7;margin-left:6px}
.fg-dex-row .fg-dc{color:#9fb4c7;font-size:12px}
.fg-dex-row.locked{opacity:.4}
.fg-dex-row .fg-dr{font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid currentColor}

.fg-login-tip{text-align:center;padding:60px 20px;color:#9fb4c7;line-height:2}
.fg-login-tip .btn{display:inline-block;margin-top:10px;padding:9px 30px;border-radius:10px;background:var(--fg-acc);
  color:#fff;font-weight:600;cursor:pointer;text-decoration:none}
.fg-muted{color:#9fb4c7;font-size:12px;text-align:center;padding:14px 0}
.fg-note{color:#9fb4c7;font-size:12px;line-height:1.75;padding:8px 0 2px}
.fg-note b{color:#cdd9e6;font-weight:600}
.fg-err{color:#ff6b6b;font-size:12px;text-align:center;min-height:16px;padding:4px 0}

/* ===== v2：等级 / 基因 / 进化分支 ===== */
.fg-xpbar{position:relative;height:14px;border-radius:7px;background:rgba(255,255,255,.10);margin:6px 0 8px;overflow:hidden}
.fg-xpbar i{position:absolute;left:0;top:0;bottom:0;border-radius:7px;background:linear-gradient(90deg,var(--fg-acc-2),var(--fg-acc))}
.fg-xpbar span{position:relative;z-index:1;display:block;text-align:center;font-size:10px;line-height:14px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.fg-genes{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:12px;margin:4px 0 8px}
.fg-gchip{padding:2px 8px;border-radius:9px;background:rgba(var(--fg-acc-rgb),.14);border:1px solid rgba(var(--fg-acc-rgb),.45);font-size:11px}
.fg-gchip.hid{background:rgba(192,124,255,.14);border-color:rgba(192,124,255,.5);color:#d8b8ff}
.fg-gchip.off{opacity:.45}
.fg-bhist{margin:4px 0 8px;font-size:12px}
.fg-brow{padding:5px 8px;border-left:2px solid var(--fg-line,rgba(255,255,255,.18));margin-bottom:4px;background:rgba(255,255,255,.04);border-radius:0 6px 6px 0}
.fg-brow b{color:var(--fg-acc-2);margin-right:6px}
.fg-brow small{display:block;color:#9fb4c7;font-size:11px;margin-top:2px}
.fg-evotip{background:rgba(var(--fg-acc-rgb),.12);border:1px solid rgba(var(--fg-acc-rgb),.45);border-radius:8px;padding:8px 10px;font-size:12px;margin-bottom:8px}
/* 升阶王冠门槛：宠物页提示行 + 进化弹窗门槛条 */
.fg-evocrown{font-size:11px;line-height:1.6;color:#ffd98a;background:rgba(184,134,47,.12);
  border:1px dashed rgba(184,134,47,.55);border-radius:8px;padding:6px 10px;margin-bottom:8px}
.fg-evocrown.lack{color:#e69191;border-color:rgba(230,145,145,.5);background:rgba(230,145,145,.08)}
.fg-mcrown{display:flex;flex-direction:column;gap:2px;font-size:11.5px;color:#ffd98a;
  background:rgba(184,134,47,.12);border:1px solid rgba(184,134,47,.55);
  border-radius:8px;padding:7px 10px;margin-bottom:8px}
.fg-mcrown.lack{color:#e69191;border-color:rgba(230,145,145,.5);background:rgba(230,145,145,.08)}
.fg-feedrow{display:flex;gap:8px;margin:6px 0 10px}
.fg-feedrow input{width:90px;background:rgba(0,0,0,.3);border:1px solid var(--fg-line,rgba(255,255,255,.2));border-radius:6px;color:#eee;padding:5px 8px;font-size:13px}
.fg-modal{position:absolute;inset:0;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;z-index:20;border-radius:0 0 14px 14px}
/* 进化弹窗挂在 #fgWin 上（详见 showEvolveModal），铺满整窗、圆角对齐窗口 */
#fgWin > .fg-modal{position:absolute;inset:0;border-radius:16px;z-index:24}
.fg-mbox{width:88%;max-height:82%;overflow:auto;background:#1c2733;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:14px}
.fg-mt{font-weight:700;font-size:14px;margin-bottom:6px}
.fg-md{font-size:12px;color:#9fb4c7;margin-bottom:8px}
.fg-mhid{background:rgba(192,124,255,.14);border:1px solid rgba(192,124,255,.5);border-radius:8px;padding:6px 9px;font-size:12px;color:#d8b8ff;margin-bottom:8px}
.fg-mopts{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.fg-bopt{display:flex;gap:8px;align-items:flex-start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px 10px;cursor:pointer;font-size:12px}
.fg-bopt small{display:block;color:#9fb4c7;margin-top:2px}
.fg-mbtns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.fg-hidtag{color:#d8b8ff;font-size:11px;border:1px solid rgba(192,124,255,.5);border-radius:8px;padding:1px 6px}

/* ===== v3：体力提示 / 鱼干兑积分 ===== */
.fg-sthint{font-size:11px;color:#7d93a8;margin:4px 2px 6px;text-align:left}
.fg-exch{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;
  background:rgba(192,124,255,.10);border:1px solid rgba(192,124,255,.35);border-radius:10px}
.fg-xtip{flex:1;font-size:11px;color:#cbb8e8}
.fg-exch button{padding:6px 14px;border-radius:8px;border:1px solid #c07cff;background:rgba(192,124,255,.22);
  color:#e8d8ff;font-size:12px;cursor:pointer;white-space:nowrap}
.fg-exch button:hover:not(:disabled){background:rgba(192,124,255,.4)}
.fg-exch button:disabled{opacity:.4;cursor:not-allowed}

/* ===== v5：移动端适配 ===== */
@media (max-width:480px){
  #fgWin{width:calc(100vw - 12px);border-radius:12px}
  #fgBody{height:min(56vh,430px);padding:10px}
  #fgBubble{right:12px;width:48px;height:48px;font-size:24px}
  .fg-hud{gap:6px}
  .fg-props{flex-wrap:wrap}
  .fg-prop{min-width:calc(50% - 4px)}
  .fg-pet{gap:8px 10px}
  .fg-pet .fg-pleft .fg-aura{width:88px;height:88px;font-size:44px}
  .fg-pet .fg-pname{font-size:15px}
}

/* ===== v6：钓点 / 天气 / 基因适配（批次一） ===== */
.fg-wchip{border-color:rgba(var(--fg-acc-rgb),.5);color:var(--fg-acc)}
.fg-spots{display:flex;gap:6px;margin:8px 0 4px}
.fg-spot{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 4px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:9px;
  color:#dfe8f2;font-size:12px;cursor:pointer;transition:border-color .15s,background .15s;min-width:0}
.fg-spot b{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.fg-spot i{font-style:normal;font-size:10px;color:#7d93a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.fg-spot:hover:not(:disabled){border-color:rgba(var(--fg-acc-rgb),.6);background:rgba(var(--fg-acc-rgb),.08)}
.fg-spot.on{border-color:var(--fg-acc);background:rgba(var(--fg-acc-rgb),.16)}
.fg-spot.on i{color:var(--fg-acc)}
.fg-spot.lock{opacity:.62}
.fg-spot.lock i{color:#c9a24d}
.fg-spot:disabled{cursor:not-allowed;opacity:.5}
.fg-adapt{margin:4px 0 6px;padding:6px 10px;border-radius:8px;font-size:11px;line-height:1.5;
  background:rgba(var(--fg-acc-rgb),.10);border:1px solid rgba(var(--fg-acc-rgb),.35);color:var(--fg-acc)}
@media (max-width:480px){
  .fg-spots{flex-wrap:wrap}
  .fg-spot{min-width:calc(50% - 3px)}
}

/* 移动端：浮窗缩小、不挡整屏；内容可在窗内滚动，背景可在窗外区域滑动 */
@media(max-width:900px){
  #fgWin{width:min(86vw,330px);max-height:calc(100vh - 16px)}
  #fgBody{height:min(56vh,400px)}
  .fg-pet .fg-aura{width:96px;height:96px;font-size:48px}
}

/* 自制宠物形象图（缺图回退 emoji；尺寸规则见上方 .fg-aura 区块：蛋 86% / 一阶以上 92%） */

/* 合成占位页（功能未开放，只做状态展示，无可点元素） */
#fgBody .fg-soon{height:100%;min-height:320px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:16px 18px;color:#9fb4c7}
#fgBody .fg-soon-ico{font-size:38px;line-height:1;opacity:.6;filter:grayscale(.3)}
#fgBody .fg-soon-t{font-size:16px;letter-spacing:2px;color:var(--fg-acc);margin-top:12px;font-weight:600}
#fgBody .fg-soon-s{font-size:12px;letter-spacing:1px;margin-top:9px;padding:3px 14px;border-radius:999px;
  border:1px dashed #3a4c72;color:#b9c7d9;background:#0d1424}
#fgBody .fg-soon-n{font-size:11.5px;line-height:1.9;margin-top:16px;opacity:.85;max-width:280px}
#fgBody .fg-soon-n b{color:#e8ecf5;font-weight:600}

/* ===== 合成工坊（配方卡）===== */
#fgBody .fg-craft-h{display:flex;align-items:center;gap:9px;padding:2px 2px 10px;
  border-bottom:1px solid #1e2b44;margin-bottom:10px}
#fgBody .fg-ch-ico{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;font-size:18px;background:#141d31;border:1px solid #2a3a5e}
#fgBody .fg-ch-tx{flex:1;min-width:0;line-height:1.35;display:flex;flex-direction:column}
#fgBody .fg-ch-tx b{font-size:13px;color:#e8eefb;letter-spacing:1px}
#fgBody .fg-ch-tx small{font-size:10px;color:#7d93a8}
#fgBody .fg-ch-n{font-size:10px;padding:3px 9px;border-radius:999px;background:#0d1424;
  border:1px solid #2a3a5e;color:#9fb4c7;white-space:nowrap;flex:none}

#fgBody .fg-craft-card{border-radius:12px;padding:11px;margin-bottom:10px;
  background:linear-gradient(180deg,#141d31,#0e1626);border:1px solid #26314b}
#fgBody .fg-craft-out{display:flex;align-items:center;gap:10px}
#fgBody .fg-co-img{width:46px;height:46px;flex:0 0 46px;border-radius:11px;display:flex;
  align-items:center;justify-content:center;background:#0a1120;border:1px solid #b8862f}
#fgBody .fg-co-img .fg-de{width:38px;height:38px;display:flex;align-items:center;justify-content:center}
#fgBody .fg-co-img .fg-di{width:38px;height:38px;display:block;object-fit:contain}
#fgBody .fg-co-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
#fgBody .fg-co-n{font-size:13px;color:#f2f6fc;font-weight:600;display:flex;align-items:center;gap:6px}
#fgBody .fg-rar{font-style:normal;font-size:9px;padding:1px 6px;border-radius:999px;
  border:1px solid currentColor;opacity:.9;font-weight:400}
#fgBody .fg-rar.e{color:#c07cff}
#fgBody .fg-rar.l{color:#ffb84d}
#fgBody .fg-co-d{font-size:10px;color:#8ea3b8;line-height:1.5}
#fgBody .fg-co-own{font-size:10px;color:#ffd98a}

#fgBody .fg-craft-need{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
#fgBody .fg-craft-mat{display:flex;align-items:center;gap:5px;padding:4px 8px 4px 5px;border-radius:8px;
  background:#0a1120;border:1px solid #2a3a5e;font-size:10.5px;color:#cfd8ea}
#fgBody .fg-craft-mat .fg-de{width:18px;height:18px;display:flex;align-items:center;justify-content:center}
#fgBody .fg-craft-mat .fg-di{width:18px;height:18px;display:block;object-fit:contain}
#fgBody .fg-cm-n{white-space:nowrap}
#fgBody .fg-cm-c{color:#ffd98a;font-weight:600}
#fgBody .fg-cm-c i{font-style:normal;color:#7d93a8;font-weight:400}
#fgBody .fg-craft-mat.lack{border-color:#5b3547;background:#170f18}
#fgBody .fg-craft-mat.lack .fg-cm-c{color:#e69191}

#fgBody .fg-craft-btn{width:100%;margin-top:10px;padding:9px 0;border-radius:9px;border:none;
  cursor:pointer;font-size:12.5px;font-weight:600;font-family:inherit;color:#fff;
  background:linear-gradient(90deg,var(--fg-acc-2),var(--fg-acc))}
#fgBody .fg-craft-btn.off{background:#141d31;border:1px solid #2a3a5e;color:#6f8299;
  cursor:not-allowed;font-weight:400}
#fgBody .fg-craft-more{margin-top:4px;padding:12px 0 4px;text-align:center;font-size:10px;
  color:#6f8299;border-top:1px dashed #26314b}
#fgWin .fg-craft-big{width:52px!important;height:52px!important;display:block;object-fit:contain}

/* ===== 章鱼王巢穴（主动反击）：入口 / 战前卡 / 蓄力 / 结算 ===== */
/* 入口：水面左上角，与右上角「甩竿」对称；不占布局高度、不需要滚动 */
#fgBody .fg-octofab{position:absolute;top:9px;left:9px;z-index:4;display:flex;align-items:center;gap:6px;
  padding:6px 11px 6px 9px;border-radius:999px;cursor:pointer;font-family:inherit;font-size:12px;
  border:1px solid rgba(158,108,220,.65);background:rgba(22,15,38,.88);color:#e6dcff;
  box-shadow:0 2px 10px rgba(0,0,0,.4)}
#fgBody .fg-octofab:hover{background:rgba(44,28,74,.94);border-color:#a05ce0}
#fgBody .fg-octofab .oi{font-size:14px;line-height:1}
#fgBody .fg-octofab b{font-size:9.5px;color:#ffd98a;font-weight:600;letter-spacing:0}
#fgBody .fg-octofab .od{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;
  background:#a05ce0;box-shadow:0 0 6px #a05ce0;border:1.5px solid #10182b}
#fgBody .fg-octofab.off{opacity:.55;border-color:#3a4460;color:#93a3ba}
#fgBody .fg-octofab.off b{color:#93a3ba}

#fgWin .fg-octo-fight{z-index:22}
#fgWin .fg-bat{width:100%;max-width:344px;border-radius:14px;padding:12px 13px 13px;
  background:linear-gradient(180deg,#1a1430,#101728);border:1px solid #4a3a6b;
  box-shadow:0 10px 30px rgba(0,0,0,.5)}
#fgWin .fg-bat-h{display:flex;align-items:center;gap:9px}
#fgWin .fg-bat-ico{width:36px;height:36px;flex:0 0 36px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;font-size:20px;background:#140f22;border:1px solid #4a3a6b}
#fgWin .fg-bat-h div{flex:1;line-height:1.35;min-width:0}
#fgWin .fg-bat-h b{display:block;font-size:14px;color:#efe8ff}
#fgWin .fg-bat-h small{font-size:10px;color:#a99cc4}
#fgWin .fg-bat-n{font-size:10px;padding:3px 9px;border-radius:999px;background:#0d1424;
  border:1px solid #3a4c72;color:#cfd8ea;white-space:nowrap}
#fgWin .fg-bat-rate{display:flex;align-items:center;gap:12px;margin:11px 0 9px;padding:9px 10px;
  border-radius:10px;background:#0c1220;border:1px solid #26314b}
#fgWin .fg-ring{width:60px;height:60px;flex:0 0 60px;border-radius:50%;position:relative;
  display:flex;align-items:center;justify-content:center}
#fgWin .fg-ring::after{content:'';position:absolute;inset:5px;border-radius:50%;background:#0c1220}
#fgWin .fg-ring i{position:relative;z-index:2;font-style:normal;font-size:15px;font-weight:700;color:#d9c9ff}
#fgWin .fg-bat-rl{flex:1;font-size:10px;line-height:1.65;color:#9fb4c7;min-width:0}
#fgWin .fg-bat-rl span{display:flex;justify-content:space-between;gap:6px}
#fgWin .fg-bat-rl span b{color:#7fd39a;font-weight:600}
#fgWin .fg-bat-rl span b.n{color:#e69191}
#fgWin .fg-bat-cost{display:flex;align-items:center;gap:6px;font-size:11px;color:#cfd8ea;
  padding:6px 9px;border-radius:8px;background:#0c1220;border:1px solid #26314b}
#fgWin .fg-bat-cost b{color:#ffcf7a}
#fgWin .fg-bat-cost small{margin-left:auto;color:#7d93a8;font-size:10px}
#fgWin .fg-bat-drop{margin-top:7px;font-size:10.5px;color:#9fb4c7;line-height:1.7;
  padding:6px 9px;border-radius:8px;background:#141024;border:1px dashed #4a3a6b}
#fgWin .fg-bat-drop b{color:#ffd98a}
#fgWin .fg-bat-btns{display:flex;gap:8px;margin-top:10px}
#fgWin .fg-bat-btns button{flex:1;padding:9px 0;border-radius:9px;font-size:12.5px;font-family:inherit;cursor:pointer;
  border:1px solid #2a3a5e;background:#141d31;color:#9fb4c7}
#fgWin .fg-bat-btns button.pri{border:none;color:#fff;font-weight:600;
  background:linear-gradient(90deg,#a05ce0,#6a3fc4)}
#fgWin .fg-bat-btns button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}
#fgWin .fg-bat-tip{margin-top:8px;font-size:9.5px;color:#8b7fa8;text-align:center;line-height:1.5}
#fgWin .fg-bat-tip b{color:#ffd98a}

#fgWin .fg-chgwrap{margin-top:10px}
#fgWin .fg-chg{position:relative;height:22px;border-radius:11px;background:#0c1220;
  border:1px solid #2a3a5e;overflow:hidden;cursor:pointer}
#fgWin .fg-chg-zone{position:absolute;left:38%;width:24%;top:0;bottom:0;
  background:linear-gradient(180deg,rgba(127,211,154,.30),rgba(127,211,154,.14));
  border-left:1px solid rgba(127,211,154,.45);border-right:1px solid rgba(127,211,154,.45)}
#fgWin .fg-chg-p{position:absolute;top:0;bottom:0;width:4px;border-radius:2px;left:0;
  background:#ffe08a;box-shadow:0 0 8px rgba(255,224,138,.9);transform:translateX(-2px)}
#fgWin .fg-chg-p.good{background:#7fd39a;box-shadow:0 0 10px #7fd39a}
#fgWin .fg-chg-p.bad{background:#e69191;box-shadow:0 0 10px #e69191}
#fgWin .fg-chg-p.mid{background:#cbd6e6;box-shadow:0 0 8px rgba(203,214,230,.8)}
#fgWin .fg-chg-tip{font-size:10.5px;color:#9fb4c7;text-align:center;margin-top:6px}
#fgWin .fg-chg-tip b{color:#cfd8ea}
#fgWin .fg-chg-tip b.g{color:#7fd39a}
#fgWin .fg-chg-tip b.r{color:#e69191}

#fgWin .fg-bres{width:100%;max-width:288px;border-radius:14px;padding:16px 14px 14px;text-align:center;
  background:linear-gradient(180deg,#161f34,#0e1626);border:1px solid #3a4c72;
  box-shadow:0 10px 30px rgba(0,0,0,.55)}
#fgWin .fg-bres.win{border-color:#6b4a8a;background:linear-gradient(180deg,#1c1630,#0f1526)}
#fgWin .fg-bres-t{font-size:14px;font-weight:600;color:#ffd98a;letter-spacing:1px}
#fgWin .fg-bres.lose .fg-bres-t{color:#9fb4c7}
#fgWin .fg-bres-art{width:82px;height:82px;margin:11px auto 0;border-radius:16px;background:#0a1120;
  border:2px solid #b8862f;display:flex;align-items:center;justify-content:center;font-size:44px;
  box-shadow:0 0 22px rgba(184,134,47,.25)}
#fgWin .fg-bres-art.dim{border-color:#3a4c72;font-size:40px;box-shadow:none;filter:grayscale(.5);opacity:.8}
#fgWin .fg-bres-n{font-size:14px;font-weight:600;margin-top:10px;color:#f2f6fc}
#fgWin .fg-bres-n b{color:#ffd98a}
#fgWin .fg-bres-sub{font-size:10px;color:#a99cc4;margin-top:3px}
#fgWin .fg-bres-d{font-size:11px;color:#b9c7d9;line-height:1.75;margin-top:9px}
#fgWin .fg-bres-d b{color:#e69191}
#fgWin .fg-bres-list{display:flex;gap:5px;justify-content:center;flex-wrap:wrap;margin-top:10px}
#fgWin .fg-bres-list span{font-size:10px;padding:3px 8px;border-radius:999px;background:#0a1120;
  border:1px solid #2a3a5e;color:#cfd8ea}
#fgWin .fg-bres-ok{width:100%;margin-top:12px;padding:9px 0;border-radius:9px;border:none;cursor:pointer;
  font-size:12.5px;font-weight:600;color:#fff;font-family:inherit;
  background:linear-gradient(90deg,var(--fg-acc-2),var(--fg-acc))}
#fgWin .fg-bres-ok.ghost{background:#141d31;border:1px solid #2a3a5e;color:#9fb4c7}
#fgWin .fg-lairstat{display:flex;justify-content:center;gap:10px;margin-top:9px;font-size:10.5px;color:#b3a6c9}
/* 巢穴弹层挂在 #fgWin 上：整窗遮罩，不受 #fgBody 滚动影响 */
#fgWin .fg-octo-fight{position:absolute;inset:0;border-radius:16px;z-index:30}
