/* ===== FubiIP 跨站通用公告与在线客服组件 v4.4（V4 暖炭黑 #131518 / 纯白暖米白 #FFFFFF + #FAF7F2 · 44px 纯色陶土客服球 · WCAG AA >= 4.5:1）===== */
.fubi-ann,
.fa-bar {
  --fa-card: #131518;
  --fa-border: rgba(255, 255, 255, .08);
  --fa-shadow: none;
  --fa-text: #EBE7E0;
  --fa-text-2: #B8B2A7;
  --fa-muted: #969086;
  --fa-sub: #0A0B0D;
  --fa-line: rgba(255, 255, 255, .08);
  --fa-crown: none;
  --fa-cta: #A64B17;
  --fa-mask: rgba(6, 7, 9, .68);
  width: 100%;
  max-width: 1140px;
  margin: 14px auto 0;
  padding: 0 24px;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Hiragino Sans GB", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", "Segoe UI", Roboto, system-ui, sans-serif;
  -webkit-tap-highlight-color: transparent;
}
html[data-theme="light"] :is(.fubi-ann, .fa-bar),
body.theme-light :is(.fubi-ann, .fa-bar),
html.pre-light :is(.fubi-ann, .fa-bar) {
  --fa-card: #FAF7F2;
  --fa-border: rgba(24, 23, 21, .09);
  --fa-shadow: none;
  --fa-text: #181715;
  --fa-text-2: #4A4640;
  --fa-muted: #625C54;
  --fa-sub: #EFEAE1;
  --fa-line: rgba(24, 23, 21, .09);
  --fa-crown: none;
  --fa-cta: #A64B17;
  --fa-mask: rgba(24, 23, 21, .36);
}
:is(.fubi-ann, .fa-bar)[hidden],
:is(.fubi-ann, .fa-bar):empty { display: none !important; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) * { box-sizing: border-box; }

:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card {
  --fa-c: #E58D4E;
  --fa-soft: rgba(229, 141, 78, .12);
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 0;
  padding: 7px 12px;
  border-radius: 4px;
  background: var(--fa-card);
  border: 1px solid var(--fa-border);
  box-shadow: none;
  color: var(--fa-text);
  overflow: hidden;
  animation: fa-in .5s cubic-bezier(.2, .9, .3, 1.1);
}
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card::before,
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card::after {
  display: none !important;
  content: none !important;
}
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="success"] { --fa-c: #34D399; --fa-soft: rgba(52, 211, 153, .12); }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="warning"] { --fa-c: #FBBF24; --fa-soft: rgba(251, 191, 36, .12); }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="danger"]  { --fa-c: #F87171; --fa-soft: rgba(248, 113, 113, .12); }
html[data-theme="light"] :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card,
body.theme-light :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card,
html.pre-light :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card { --fa-c: #9A4212; --fa-soft: rgba(166, 75, 23, .09); }
html[data-theme="light"] :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="success"],
body.theme-light :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="success"],
html.pre-light :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="success"] { --fa-c: #047857; --fa-soft: rgba(4, 120, 87, .08); }
html[data-theme="light"] :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="warning"],
body.theme-light :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="warning"],
html.pre-light :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="warning"] { --fa-c: #92400E; --fa-soft: rgba(146, 64, 14, .10); }
html[data-theme="light"] :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="danger"],
body.theme-light :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="danger"],
html.pre-light :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card[data-tone="danger"]  { --fa-c: #B91C1C; --fa-soft: rgba(185, 28, 28, .08); }

:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-ic {
  position: relative; z-index: 1;
  width: 20px; height: 20px;
  border-radius: 0px;
  display: grid; place-items: center;
  flex: none;
  color: var(--fa-c);
  background: transparent !important;
  box-shadow: none !important;
}
:is(.fubi-ann, .fa-bar, .fa-pop-mask) :is(.fa-ic, .fa-tools, .fa-pop-ic) svg {
  width: 18px; height: 18px;
  fill: none; stroke: currentColor; stroke-width: 1.9;
  stroke-linecap: round; stroke-linejoin: round;
}
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-ic svg { width: 16px; height: 16px; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-body { position: relative; z-index: 1; flex: 1; min-width: 0; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-t { display: block; font-size: 14px; font-weight: 700; line-height: 1.4; color: var(--fa-text); }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-c { display: block; margin-top: 2px; font-size: 13px; line-height: 1.6; color: var(--fa-text-2); word-break: break-word; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-tools { position: relative; z-index: 1; display: flex; align-items: center; gap: 6px; flex: none; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-act {
  display: inline-flex; align-items: center; gap: 6px;
  height: 28px; padding: 0 12px;
  border-radius: 4px;
  background: var(--fa-cta);
  border: 1px solid rgba(255, 255, 255, .16);
  color: #FFFFFF !important;
  font-size: 13px; font-weight: 650;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .16);
  transition: transform .15s cubic-bezier(.16, 1, .3, 1), background-color .15s ease;
}
html[data-theme="light"] :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-act,
body.theme-light :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-act,
html.pre-light :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-act { border-color: #964112; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-act:hover { background: #8F3E11; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-nav { display: inline-flex; align-items: center; gap: 2px; height: 28px; padding: 0 2px; border-radius: 4px; background: var(--fa-sub); border: 1px solid var(--fa-line); }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) :is(.fa-nav span, .fubi-ann-idx) { min-width: 34px; text-align: center; font-size: 12px; font-weight: 600; color: var(--fa-muted); font-variant-numeric: tabular-nums; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-btn {
  width: 24px; height: 24px; padding: 0;
  border: 0; border-radius: 4px;
  background: transparent;
  color: var(--fa-muted);
  display: grid; place-items: center;
  cursor: pointer;
  transition: background .2s, color .2s;
}
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-btn:hover { background: var(--fa-sub); color: var(--fa-text); }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-btn svg { width: 15px; height: 15px; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-x { width: 26px; height: 26px; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-dots { display: none; }

@keyframes fa-in { from { opacity: 0; transform: translateY(-4px); } }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card.fa-swap { animation: fa-swap .45s cubic-bezier(.2, .9, .3, 1.1); }
@keyframes fa-swap { from { opacity: .2; transform: translateX(8px); } }

/* 首次进站弹窗 */
.fa-pop-mask {
  position: fixed; inset: 0; z-index: 2147483000;
  display: grid; place-items: center;
  padding: max(16px, env(safe-area-inset-top, 16px)) 16px max(16px, env(safe-area-inset-bottom, 16px));
  background: var(--fa-mask, rgba(5, 7, 11, .62));
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Hiragino Sans GB", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", "Segoe UI", Roboto, system-ui, sans-serif;
  -webkit-tap-highlight-color: transparent;
  animation: fa-fade .25s ease;
}
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop {
  position: relative;
  width: 100%; max-width: 420px;
  max-height: calc(100vh - 40px);
  overflow: auto;
  padding: 30px 26px 24px;
  border-radius: 2px;
  text-align: center;
  animation: fa-pop .4s cubic-bezier(.2, .9, .3, 1.2);
  display: block; min-height: 0;
}
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop > * { position: relative; z-index: 1; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop-ic { width: 40px; height: 40px; margin: 0 auto 14px; border-radius: 4px; display: grid; place-items: center; color: var(--fa-c); background: transparent; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fa-c) 32%, transparent); }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop-ic svg { width: 26px; height: 26px; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop h3 { margin: 0 0 8px; font-size: 18px; font-weight: 750; color: var(--fa-text); }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop p { margin: 0; font-size: 14px; line-height: 1.75; color: var(--fa-text-2); text-align: left; white-space: normal; word-break: break-word; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop-f { display: flex; gap: 10px; justify-content: center; margin-top: 22px; flex-wrap: wrap; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop-f .fa-act { height: 42px; padding: 0 22px; font-size: 14px; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-ok {
  height: 42px; padding: 0 22px;
  border-radius: 6px;
  border: 1px solid var(--fa-line);
  background: var(--fa-sub);
  color: var(--fa-text);
  font: inherit; font-size: 14px; font-weight: 650;
  cursor: pointer;
}
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop-f .fa-ok:only-child { background: var(--fa-cta); color: #FFFFFF; border-color: transparent; min-width: 160px; }
@keyframes fa-fade { from { opacity: 0; } }
@keyframes fa-pop { from { opacity: 0; transform: translateY(12px) scale(.96); } }

@media (max-width: 640px) {
  :is(.fubi-ann, .fa-bar) { padding: 0 14px; margin-top: 10px; }
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card { flex-wrap: wrap; align-items: flex-start; gap: 8px 10px; padding: 9px 12px; border-radius: 2px; }
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-ic { width: 20px; height: 20px; border-radius: 0px; }
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-body { flex-basis: calc(100% - 30px); }
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-tools { width: 100%; justify-content: flex-end; }
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-tools .fa-act { margin-right: auto; }
  .fa-pop-mask { padding: max(12px, env(safe-area-inset-top, 12px)) 12px max(12px, env(safe-area-inset-bottom, 12px)); }
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop { max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); padding: 22px 18px 18px; border-radius: 2px; }
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop h3 { font-size: 17px; font-weight: 700; }
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop-f .fa-act,
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-pop-f .fa-ok { min-height: 44px; height: 44px; flex: 1 1 auto; justify-content: center; }
}
/* ===== 轮播固定等高：1/2 ↔ 2/2 切换 0 像素位移 ===== */
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card:not(.fa-pop) { min-height: 0; }
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card:not(.fa-pop) .fa-t {
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  height: calc(1.4em); line-height: 1.4;
}
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card:not(.fa-pop) .fa-c {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; line-clamp: 1;
  overflow: hidden; line-height: 1.6; height: calc(1.6em);
}
:is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card:not(.fa-pop) .fa-c br { display: none; }
@media (min-width: 641px) and (max-width: 1024px) {
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card:not(.fa-pop) .fa-c { -webkit-line-clamp: 2; line-clamp: 2; height: calc(1.6em * 2); }
}
@media (max-width: 640px) {
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card:not(.fa-pop) { min-height: 0; padding: 9px 12px; }
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card:not(.fa-pop) .fa-body { min-height: calc(14px * 1.4 + 2px + 13px * 1.55 * 2); }
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card:not(.fa-pop) .fa-c {
    -webkit-line-clamp: 2; line-clamp: 2;
    line-height: 1.55; height: calc(1.55em * 2);
  }
  :is(.fubi-ann, .fa-bar, .fa-pop-mask) .fa-card:not(.fa-pop) .fa-tools { height: 28px; }
}

/* ===== 全站统一低调版本标识 ===== */
.fubi-ver {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  font-weight: 400;
  opacity: 0.58;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* ===== FubiIP v4.4 · 五站通用网页在线客服（FubiSupportWidget · 44px 纯色陶土球去渐变去呼吸绿点 · WCAG AA >= 4.5:1）===== */
.fubi-sup {
  --sup-o1: #E58D4E;
  --sup-o2: #C26428;
  --sup-cta: #A64B17;
  --sup-bg: #131518;
  --sup-solid: #131518;
  --sup-border: rgba(255, 255, 255, .10);
  --sup-line: rgba(255, 255, 255, .08);
  --sup-text: #EBE7E0;
  --sup-text-2: #C2BCB1;
  --sup-muted: #969086;
  --sup-bub: #191C21;
  --sup-field: #0A0B0D;
  --sup-hover: rgba(255, 255, 255, .05);
  --sup-soft: rgba(229, 141, 78, .12);
  --sup-shadow: 0 20px 52px -16px rgba(0, 0, 0, .72);
  --sup-mask: rgba(6, 7, 9, .58);
  --sup-ease: cubic-bezier(.2, .9, .3, 1.08);
  --sup-gap: 24px;
  --sup-dot-ring: #0D0E10;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Hiragino Sans GB", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", "Segoe UI", Roboto, system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--sup-text);
  -webkit-tap-highlight-color: transparent;
}
html[data-theme="light"] .fubi-sup,
html.light .fubi-sup,
body.theme-light .fubi-sup,
html.pre-light .fubi-sup {
  --sup-o1: #9A4212;
  --sup-o2: #8A3A0F;
  --sup-cta: #A64B17;
  --sup-bg: #FFFFFF;
  --sup-solid: #FFFFFF;
  --sup-border: rgba(24, 23, 21, .11);
  --sup-line: rgba(24, 23, 21, .08);
  --sup-text: #181715;
  --sup-text-2: #4A4640;
  --sup-muted: #666058;
  --sup-bub: #FAF7F2;
  --sup-field: #FAF7F2;
  --sup-hover: rgba(24, 23, 21, .04);
  --sup-soft: rgba(166, 75, 23, .09);
  --sup-shadow: 0 18px 48px -16px rgba(24, 23, 21, .16);
  --sup-mask: rgba(24, 23, 21, .34);
  --sup-dot-ring: #FFFFFF;
}
.fubi-sup *, .fubi-sup *::before, .fubi-sup *::after { box-sizing: border-box; }
.fubi-sup [hidden] { display: none !important; }
.fubi-sup :where(button, textarea, a) { font: inherit; color: inherit; margin: 0; letter-spacing: normal; text-transform: none; -webkit-appearance: none; appearance: none; }
.fubi-sup :where(button) { border: 0; background: none; padding: 0; cursor: pointer; line-height: 1; }
.fubi-sup svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html.fubi-sup-lock, html.fubi-sup-lock body { overflow: hidden !important; overscroll-behavior: none; }

/* ---------- V4 44×44px 纯色陶土 #A64B17 悬浮圆球（无三色渐变、无呼吸绿点） ---------- */
.fubi-sup .fubi-sup-fab,
.fubi-sup.is-open .fubi-sup-fab {
  position: fixed; z-index: 2147482000;
  right: var(--sup-gap); bottom: calc(var(--sup-gap) + env(safe-area-inset-bottom, 0px));
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 0 !important;
  width: 44px !important; height: 44px !important; padding: 0 !important;
  border-radius: 50% !important;
  background: #A64B17 !important; color: #FFFFFF !important;
  font-size: 12px; font-weight: 650;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .28) !important;
  overflow: visible !important;
  transition: transform .25s var(--sup-ease), box-shadow .22s ease, background-color .18s ease, opacity .25s;
  user-select: none; -webkit-user-select: none;
}
html[data-theme="light"] .fubi-sup .fubi-sup-fab,
body.theme-light .fubi-sup .fubi-sup-fab,
html.pre-light .fubi-sup .fubi-sup-fab {
  border-color: #964112 !important;
  box-shadow: 0 6px 18px rgba(24, 23, 21, .20) !important;
}
.fubi-sup .fubi-sup-fab::before,
.fubi-sup .fubi-sup-fab::after {
  display: none !important;
  content: none !important;
}
@media (hover: hover) {
  .fubi-sup .fubi-sup-fab:hover { background: #8F3E11 !important; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(0, 0, 0, .32) !important; }
}
.fubi-sup .fubi-sup-fab:active { transform: translateY(0) scale(.97); }
.fubi-sup .fubi-sup-fab:focus-visible { outline: 2px solid #E58D4E; outline-offset: 3px; }
.fubi-sup .fubi-sup-fab-t { display: none !important; }
.fubi-sup .fubi-sup-fab-ic { position: relative; width: 19px !important; height: 19px !important; display: grid; place-items: center; transition: transform .35s var(--sup-ease), opacity .2s; }
.fubi-sup .fubi-sup-fab-ic svg { width: 19px !important; height: 19px !important; stroke-width: 1.9; }
.fubi-sup .fubi-sup-fab-ic--b { position: absolute; left: 50% !important; top: 50% !important; margin: -9.5px 0 0 -9.5px !important; opacity: 0; transform: rotate(-90deg) scale(.6); }
.fubi-sup.is-open .fubi-sup-fab-ic--a { opacity: 0; transform: rotate(90deg) scale(.6); }
.fubi-sup.is-open .fubi-sup-fab-ic--b { opacity: 1; transform: none; }
.fubi-sup .fubi-sup-badge {
  position: absolute; top: -3px !important; right: -3px !important; z-index: 3 !important;
  min-width: 19px; height: 19px; padding: 0 5px;
  border-radius: 999px !important; border: 2px solid var(--sup-solid);
  background: #DC2626; color: #FFFFFF;
  font-size: 11px; font-weight: 700; line-height: 15px; text-align: center;
  font-variant-numeric: tabular-nums;
  animation: fubi-sup-pop .4s var(--sup-ease);
}
.fubi-sup .fubi-sup-fab.is-bump { animation: fubi-sup-bump .6s var(--sup-ease); }

/* ---------- 新消息轻提示 ---------- */
.fubi-sup .fubi-sup-toast {
  position: fixed; z-index: 2147482001;
  right: var(--sup-gap); bottom: calc(var(--sup-gap) + 56px + env(safe-area-inset-bottom, 0px));
  width: max-content; max-width: 280px;
  padding: 10px 14px 11px;
  border-radius: 2px;
  background: var(--sup-bg); border: 1px solid var(--sup-border); box-shadow: var(--sup-shadow);
  backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3);
  cursor: pointer;
  opacity: 0; transform: translateY(8px) scale(.97); transform-origin: bottom right;
  transition: opacity .25s, transform .35s var(--sup-ease);
}
.fubi-sup .fubi-sup-toast.is-on { opacity: 1; transform: none; }
.fubi-sup .fubi-sup-toast b { display: block; font-size: 12px; font-weight: 650; color: var(--sup-o1); margin-bottom: 2px; }
.fubi-sup .fubi-sup-toast span { display: block; font-size: 13px; line-height: 1.45; color: var(--sup-text); word-break: break-word; }

/* ---------- 浮窗 ---------- */
.fubi-sup .fubi-sup-mask { display: none; }
.fubi-sup .fubi-sup-panel {
  position: fixed; z-index: 2147482001;
  right: var(--sup-gap); bottom: calc(var(--sup-gap) + 60px + env(safe-area-inset-bottom, 0px));
  width: 360px; height: 520px;
  max-height: calc(100vh - 110px); max-height: calc(100dvh - 110px);
  display: flex; flex-direction: column;
  border-radius: 2px; overflow: hidden;
  background: var(--sup-bg); border: 1px solid var(--sup-border); box-shadow: var(--sup-shadow);
  backdrop-filter: blur(20px) saturate(1.35); -webkit-backdrop-filter: blur(20px) saturate(1.35);
  transform-origin: calc(100% - 40px) 100%;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(14px) scale(.95);
  transition: opacity .2s ease, transform .34s var(--sup-ease), visibility 0s linear .34s;
}
.fubi-sup.is-open .fubi-sup-panel {
  opacity: 1; visibility: visible; pointer-events: auto; transform: none;
  transition: opacity .22s ease, transform .38s var(--sup-ease), visibility 0s;
}
.fubi-sup .fubi-sup-panel::before {
  display: none !important;
  content: none !important;
}
.fubi-sup .fubi-sup-grip { display: none; }

.fubi-sup .fubi-sup-head {
  position: relative; flex: none;
  display: flex; align-items: center; gap: 10px;
  padding: 14px 12px 12px 16px;
  border-bottom: 1px solid var(--sup-line);
  background: transparent;
}
.fubi-sup .fubi-sup-ava {
  width: 38px; height: 38px; flex: none;
  border-radius: 4px; display: grid; place-items: center;
  color: var(--sup-o1); background: var(--sup-soft);
  box-shadow: inset 0 0 0 1px rgba(166, 75, 23, .28);
}
.fubi-sup .fubi-sup-ava svg { width: 21px; height: 21px; }
.fubi-sup .fubi-sup-ht { flex: 1; min-width: 0; }
.fubi-sup .fubi-sup-title { display: block; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--sup-text); }
.fubi-sup .fubi-sup-sub {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
  margin-top: 2px; font-size: 11.5px; line-height: 1.4; color: var(--sup-muted);
}
.fubi-sup .fubi-sup-tg {
  flex: none; display: inline-flex; align-items: center; gap: 5px;
  height: 28px; padding: 0 10px 0 8px;
  border-radius: 4px; border: 1px solid var(--sup-border);
  background: var(--sup-field); color: var(--sup-text-2) !important;
  font-size: 12px; font-weight: 600; text-decoration: none !important; white-space: nowrap;
  transition: color .2s, border-color .2s, background .2s;
}
.fubi-sup .fubi-sup-tg svg { width: 15px; height: 15px; stroke-width: 1.7; }
.fubi-sup .fubi-sup-tg:hover { color: #0369a1 !important; border-color: rgba(3, 105, 161, .4); background: rgba(3, 105, 161, .08); }
html:not([data-theme="light"]):not(.light) body:not(.theme-light) .fubi-sup .fubi-sup-tg:hover { color: #38bdf8 !important; border-color: rgba(56, 189, 248, .4); background: rgba(56, 189, 248, .08); }
.fubi-sup .fubi-sup-x {
  flex: none; width: 32px; height: 32px; border-radius: 4px;
  display: grid; place-items: center; color: var(--sup-muted);
  transition: background .2s, color .2s;
}
.fubi-sup .fubi-sup-x:hover { background: var(--sup-hover); color: var(--sup-text); }
.fubi-sup .fubi-sup-net {
  flex: none; padding: 6px 14px; font-size: 12px; text-align: center;
  color: #92400E; background: rgba(245, 158, 11, .12); border-bottom: 1px solid rgba(245, 158, 11, .18);
}
html:not([data-theme="light"]):not(.light) body:not(.theme-light) .fubi-sup .fubi-sup-net { color: #FBBF24; }

/* ---------- 消息列表 ---------- */
.fubi-sup .fubi-sup-list {
  flex: 1; min-height: 0;
  display: flex; flex-direction: column;
  padding: 14px 14px 10px;
  overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; scrollbar-color: var(--sup-border) transparent;
}
.fubi-sup .fubi-sup-list::-webkit-scrollbar { width: 6px; }
.fubi-sup .fubi-sup-list::-webkit-scrollbar-thumb { background: var(--sup-border); border-radius: 0px; }
.fubi-sup .fubi-sup-msg {
  display: flex; flex-direction: column; align-items: flex-start;
  max-width: 84%; margin-top: 10px;
  animation: fubi-sup-in .34s var(--sup-ease) both;
}
.fubi-sup .fubi-sup-msg:first-child { margin-top: 0; }
.fubi-sup .fubi-sup-msg.is-user { align-self: flex-end; align-items: flex-end; animation-name: fubi-sup-in-r; }
.fubi-sup .fubi-sup-who { margin: 0 0 3px 4px; font-size: 11px; font-weight: 600; color: var(--sup-muted); }
.fubi-sup .fubi-sup-bub {
  padding: 9px 12px;
  border-radius: 4px;
  background: var(--sup-bub); color: var(--sup-text);
  font-size: 14px; line-height: 1.55;
  word-break: break-word; overflow-wrap: anywhere; white-space: normal;
}
.fubi-sup .fubi-sup-msg.is-user .fubi-sup-bub {
  border-radius: 4px;
  background: var(--sup-cta); color: #FFFFFF;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}
.fubi-sup .fubi-sup-bub a { color: inherit; text-decoration: underline; text-underline-offset: 2px; word-break: break-all; }
.fubi-sup .fubi-sup-msg.is-agent .fubi-sup-bub a { color: var(--sup-o1); }
.fubi-sup .fubi-sup-tx { display: block; }
.fubi-sup .fubi-sup-pic { display: block; margin: 0 0 6px; border-radius: 2px; overflow: hidden; cursor: zoom-in; line-height: 0; }
.fubi-sup .fubi-sup-pic:last-child { margin-bottom: 0; }
.fubi-sup .fubi-sup-pic img { display: block; max-width: 200px; max-height: 220px; width: auto; height: auto; object-fit: cover; border-radius: 2px; }
.fubi-sup .fubi-sup-msg.is-pic .fubi-sup-bub { padding: 4px; }
.fubi-sup .fubi-sup-meta { min-height: 14px; margin: 3px 5px 0; font-size: 10.5px; line-height: 14px; color: var(--sup-muted); font-variant-numeric: tabular-nums; }
.fubi-sup .fubi-sup-meta:empty { display: none; }
.fubi-sup .fubi-sup-msg.is-pend .fubi-sup-bub { opacity: .66; }
.fubi-sup .fubi-sup-msg.is-fail { cursor: pointer; }
.fubi-sup .fubi-sup-msg.is-fail .fubi-sup-bub { opacity: .88; box-shadow: 0 0 0 1.5px #DC2626; }
.fubi-sup .fubi-sup-msg.is-fail .fubi-sup-meta { color: #B91C1C; font-weight: 600; }
html:not([data-theme="light"]):not(.light) body:not(.theme-light) .fubi-sup .fubi-sup-msg.is-fail .fubi-sup-meta { color: #F87171; }

/* 拖入截图 */
.fubi-sup .fubi-sup-drop {
  position: absolute; inset: 8px; z-index: 3;
  display: grid; place-items: center;
  border: 2px dashed var(--sup-o1); border-radius: 4px;
  background: var(--sup-bg); color: var(--sup-o1); font-size: 14px; font-weight: 650;
  opacity: 0; pointer-events: none; transition: opacity .18s;
}
.fubi-sup .fubi-sup-drop span { color: var(--sup-o1); }
.fubi-sup .fubi-sup-panel.is-drop .fubi-sup-drop { opacity: 1; }

/* ---------- 输入区 ---------- */
.fubi-sup .fubi-sup-foot { flex: none; padding: 10px 12px 12px; border-top: 1px solid var(--sup-line); }
.fubi-sup .fubi-sup-prev { position: relative; display: inline-block; margin: 0 0 8px 2px; animation: fubi-sup-pop .3s var(--sup-ease); }
.fubi-sup .fubi-sup-prev img { display: block; width: 64px; height: 64px; object-fit: cover; border-radius: 2px; border: 1px solid var(--sup-border); }
.fubi-sup .fubi-sup-prev button {
  position: absolute; top: -6px; right: -6px;
  width: 22px; height: 22px; border-radius: 4px;
  display: grid; place-items: center;
  background: #181715; color: #FFFFFF; box-shadow: 0 0 0 2px var(--sup-solid);
}
.fubi-sup .fubi-sup-prev button svg { width: 12px; height: 12px; stroke-width: 2.4; }
.fubi-sup .fubi-sup-row {
  display: flex; align-items: flex-end; gap: 4px;
  padding: 5px;
  border-radius: 6px; border: 1px solid var(--sup-border);
  background: var(--sup-field);
  transition: border-color .2s, box-shadow .2s;
}
.fubi-sup .fubi-sup-row:focus-within { border-color: var(--sup-o1); box-shadow: 0 0 0 3px var(--sup-soft); }
.fubi-sup .fubi-sup-ib {
  flex: none; width: 34px; height: 34px; border-radius: 4px;
  display: grid; place-items: center; color: var(--sup-muted);
  transition: background .2s, color .2s;
}
.fubi-sup .fubi-sup-ib:hover { background: var(--sup-hover); color: var(--sup-o1); }
.fubi-sup .fubi-sup-in {
  flex: 1; min-width: 0;
  height: 34px; max-height: 132px;
  padding: 6px 4px;
  border: 0; outline: 0; resize: none; background: transparent; box-shadow: none;
  color: var(--sup-text); font-size: 14px; line-height: 22px;
  overflow-y: auto; scrollbar-width: none; -ms-overflow-style: none;
}
.fubi-sup .fubi-sup-in::-webkit-scrollbar { display: none; }
.fubi-sup .fubi-sup-in::placeholder { color: var(--sup-muted) !important; opacity: 1 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fubi-sup .fubi-sup-send {
  flex: none; width: 34px; height: 34px; border-radius: 4px;
  display: grid; place-items: center;
  background: var(--sup-cta); color: #FFFFFF;
  border: 1px solid rgba(255, 255, 255, .14);
  transition: transform .25s var(--sup-ease), opacity .2s, background-color .18s;
}
.fubi-sup .fubi-sup-send svg { width: 18px; height: 18px; stroke-width: 2.2; }
.fubi-sup .fubi-sup-send:not(:disabled):hover { transform: translateY(-1px); background: #8F3E11; }
.fubi-sup .fubi-sup-send:not(:disabled):active { transform: scale(.92); }
.fubi-sup .fubi-sup-send:disabled { opacity: .42; cursor: default; box-shadow: none; }

/* ---------- 图片大图预览 ---------- */
.fubi-sup .fubi-sup-lb {
  position: fixed; inset: 0; z-index: 2147483100;
  display: grid; place-items: center; padding: 20px;
  background: rgba(3, 5, 9, .84);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  cursor: zoom-out; opacity: 0; transition: opacity .2s ease;
}
.fubi-sup .fubi-sup-lb.is-on { opacity: 1; }
.fubi-sup .fubi-sup-lb img { max-width: 94vw; max-height: 90vh; max-height: 90dvh; border-radius: 2px; box-shadow: 0 20px 60px rgba(0, 0, 0, .5); transform: scale(.94); transition: transform .3s var(--sup-ease); }
.fubi-sup .fubi-sup-lb.is-on img { transform: none; }

@keyframes fubi-sup-in { from { opacity: 0; transform: translate(-6px, 8px); } }
@keyframes fubi-sup-in-r { from { opacity: 0; transform: translate(6px, 8px); } }
@keyframes fubi-sup-pop { from { opacity: 0; transform: scale(.6); } }
@keyframes fubi-sup-bump { 0% { transform: none; } 30% { transform: translateY(-4px) scale(1.06); } 60% { transform: translateY(0) scale(.98); } 100% { transform: none; } }

/* ---------- 手机网页端 ≤768px：44px 圆钮 + 底部抽屉 ---------- */
@media (max-width: 768px) {
  .fubi-sup { --sup-gap: 14px; }
  .fubi-sup .fubi-sup-fab {
    width: 44px !important; height: 44px !important; padding: 0 !important; justify-content: center !important; align-items: center !important; gap: 0 !important;
    border-radius: 50% !important;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px) + var(--fubi-sup-y, 0px));
    touch-action: none;
  }
  .fubi-sup .fubi-sup-fab:hover { transform: none; }
  .fubi-sup .fubi-sup-fab-t { display: none !important; }
  .fubi-sup .fubi-sup-fab-ic--b { display: none; }
  .fubi-sup.is-drag .fubi-sup-fab { transition: none; transform: scale(1.04); }
  .fubi-sup.is-open .fubi-sup-fab { padding: 0 !important; opacity: 0; transform: scale(.7); pointer-events: none; }
  .fubi-sup.is-open .fubi-sup-fab-ic--a { opacity: 1; transform: none; }
  .fubi-sup .fubi-sup-toast { left: auto; max-width: calc(100vw - 28px); bottom: calc(16px + 56px + env(safe-area-inset-bottom, 0px) + var(--fubi-sup-y, 0px)); }

  .fubi-sup .fubi-sup-mask {
    display: block; position: fixed; inset: 0; z-index: 2147481998;
    background: var(--sup-mask);
    opacity: 0; visibility: hidden;
    transition: opacity .28s ease, visibility 0s linear .3s;
  }
  .fubi-sup.is-open .fubi-sup-mask { opacity: 1; visibility: visible; transition: opacity .28s ease, visibility 0s; }
  .fubi-sup .fubi-sup-panel {
    left: 0; right: 0; bottom: var(--fubi-sup-kb, 0px);
    width: auto;
    height: min(82vh, 620px); height: min(82dvh, 620px);
    max-height: calc(var(--fubi-sup-vh, 100vh) - 12px);
    border-radius: 0px; border-bottom: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    transform-origin: 50% 100%;
    transform: translateY(100%);
    opacity: 1;
    transition: transform .38s cubic-bezier(.22, .9, .3, 1), visibility 0s linear .38s;
  }
  .fubi-sup.is-open .fubi-sup-panel { transform: none; transition: transform .42s cubic-bezier(.2, .95, .3, 1.02), visibility 0s; }
  .fubi-sup .fubi-sup-grip { display: grid; place-items: center; flex: none; height: 16px; padding-top: 6px; cursor: pointer; }
  .fubi-sup .fubi-sup-grip i { display: block; width: 38px; height: 4px; border-radius: 2px; background: var(--sup-border); }
  html[data-theme="light"] .fubi-sup .fubi-sup-grip i, html.light .fubi-sup .fubi-sup-grip i, body.theme-light .fubi-sup .fubi-sup-grip i { background: rgba(24, 23, 21, .16); }
  .fubi-sup .fubi-sup-head { padding: 8px 10px 12px 16px; }
  .fubi-sup .fubi-sup-msg { max-width: 86%; }
  .fubi-sup .fubi-sup-pic img { max-width: 62vw; }
  .fubi-sup .fubi-sup-foot { padding: 8px 10px 10px; }
  .fubi-sup .fubi-sup-in { font-size: 16px; line-height: 20px; }
  .fubi-sup .fubi-sup-ib, .fubi-sup .fubi-sup-send { width: 36px; height: 36px; }
}
@media (max-width: 380px) {
  .fubi-sup .fubi-sup-tg { width: 30px; padding: 0; justify-content: center; }
  .fubi-sup .fubi-sup-tg span { display: none; }
}

/* ==========================================================================
   FubiIP v4.4 Progressive Hydration & >150ms Slow-Network Top Streaming Bar
   ========================================================================== */
html.fubi-hydrating::before,
html.fubi-net-busy::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 2147483600;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, #10B981 36%, #D97736 66%, transparent 100%);
  background-size: 200% 100%;
  animation: fubiTopLaser 1.05s linear infinite;
}
html[data-theme="light"].fubi-hydrating::before,
html[data-theme="light"].fubi-net-busy::before {
  background: linear-gradient(90deg, transparent 0%, #059669 36%, #A64B17 66%, transparent 100%);
  background-size: 200% 100%;
}
@keyframes fubiTopLaser {
  0% { background-position: 180% 0; }
  100% { background-position: -80% 0; }
}

html.fubi-hydrating [data-ssr="1"] {
  position: relative;
  overflow: hidden;
  opacity: 0.76;
  transition: opacity 0.2s ease;
}
html.fubi-hydrating [data-ssr="1"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  background: linear-gradient(
    105deg,
    transparent 24%,
    rgba(255, 255, 255, 0.06) 46%,
    rgba(234, 88, 12, 0.09) 52%,
    transparent 74%
  );
  background-size: 240% 100%;
  animation: fubiCardShimmer 1.25s ease-in-out infinite;
}
html[data-theme="light"].fubi-hydrating [data-ssr="1"]::after {
  background: linear-gradient(
    105deg,
    transparent 24%,
    rgba(255, 255, 255, 0.65) 46%,
    rgba(166, 75, 23, 0.08) 52%,
    transparent 74%
  );
  background-size: 240% 100%;
}
html.fubi-hydrating [data-ssr="1"]::before {
  content: "";
  position: absolute;
  top: 10px;
  right: 12px;
  width: 14px;
  height: 14px;
  z-index: 6;
  pointer-events: none;
  border-radius: 50%;
  border: 1.8px solid rgba(166, 75, 23, 0.26);
  border-top-color: #A64B17;
  animation: fubiHydrateSpin 0.7s linear infinite;
}
@keyframes fubiCardShimmer {
  0% { background-position: 120% 0; }
  100% { background-position: -120% 0; }
}
@keyframes fubiHydrateSpin {
  to { transform: rotate(360deg); }
}

/* Structured SSR Card Grid for ip.fubiip.com (#app-root[data-ssr="1"]) */
.fubi-ssr-ip-shell {
  max-width: 1180px;
  margin: 14px auto;
  padding: 22px 24px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #EEF0F4;
}
html[data-theme="light"] .fubi-ssr-ip-shell {
  background: #FFFFFF;
  border-color: #EAE5DF;
  color: #141413;
}
.fubi-ssr-ip-head {
  padding-bottom: 16px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
html[data-theme="light"] .fubi-ssr-ip-head { border-bottom-color: #EAE5DF; }
.fubi-ssr-ip-head h2 {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
}
.fubi-ssr-ip-head p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.65;
  opacity: 0.78;
}
.fubi-ssr-ip-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 12px;
}
.fubi-ssr-ip-card {
  padding: 15px 16px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
html[data-theme="light"] .fubi-ssr-ip-card {
  background: #FAF8F5;
  border-color: #EAE5DF;
}
.fubi-ssr-ip-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.fubi-ssr-iso {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 4px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11.5px;
  font-weight: 700;
  background: rgba(234, 88, 12, 0.16);
  color: #FB923C;
  border: 1px solid rgba(234, 88, 12, 0.32);
}
html[data-theme="light"] .fubi-ssr-iso {
  background: rgba(217, 93, 30, 0.08);
  color: #D95D1E;
  border-color: rgba(217, 93, 30, 0.26);
}
.fubi-ssr-price {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12.5px;
  font-weight: 650;
  opacity: 0.9;
}
.fubi-ssr-ip-name {
  margin: 0;
  font-size: 14.5px;
  font-weight: 680;
  line-height: 1.4;
}
.fubi-ssr-ip-meta {
  font-size: 12px;
  opacity: 0.68;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fubi-ssr-subcard h2 { margin: 0 0 10px; font-size: 19px; font-weight: 700; }
.fubi-ssr-subcard p { margin: 0 0 16px; font-size: 14.5px; line-height: 1.7; opacity: 0.88; }
.fubi-ssr-subactions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.fubi-ssr-btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 15px;
  border-radius: 6px;
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(255, 255, 255, 0.18);
}
html[data-theme="light"] .fubi-ssr-btn { border-color: #D8D1C7; }
.fubi-ssr-btn.pri { background: #A64B17; border-color: #A64B17; color: #FFFFFF; }
.fubi-ssr-note {
  margin: 0 !important;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 12px !important;
  opacity: 0.68 !important;
}
html[data-theme="light"] .fubi-ssr-note { border-top-color: #EAE5DF; }


/* ==========================================================================
   V4 Master Sync (2026-11-12v5) · Full-Width Edge-Aligned Announce & SSR Shell
   ========================================================================== */
html body .miya-ann-wrap {
  width: 100%;
  margin: 0;
  padding: 0;
}
html body .miya-ann-wrap :is(.fubi-ann, .fa-bar) {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .miya-ann-wrap :is(.fubi-ann, .fa-bar) .fa-card:not(.fa-pop) {
  padding: 8px clamp(24px, 1.8vw, 48px) !important;
  background: var(--bg-app, #0D0E10) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line, rgba(255, 255, 255, 0.07)) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body .miya-ann-wrap :is(.fubi-ann, .fa-bar) .fa-card:not(.fa-pop)::before,
html body .miya-ann-wrap :is(.fubi-ann, .fa-bar) .fa-card:not(.fa-pop)::after {
  display: none !important;
}
@media (max-width: 768px) {
  html body .miya-ann-wrap :is(.fubi-ann, .fa-bar) .fa-card:not(.fa-pop) {
    padding: 8px 16px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 0 !important;
  }
  html body .miya-ann-wrap :is(.fubi-ann, .fa-bar) .fa-card:not(.fa-pop) .fa-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
  }
  html body .miya-ann-wrap :is(.fubi-ann, .fa-bar) .fa-card:not(.fa-pop) .fa-c:empty {
    display: none !important;
    height: 0 !important;
  }
  html body .miya-ann-wrap :is(.fubi-ann, .fa-bar) .fa-card:not(.fa-pop) .fa-tools {
    width: auto !important;
    height: auto !important;
    flex: none !important;
  }
}

html.fubi-hydrating::before {
  background: linear-gradient(90deg, transparent 0%, #10B981 36%, #D97736 64%, transparent 100%) !important;
  background-size: 200% 100% !important;
}
html[data-theme="light"].fubi-hydrating::before {
  background: linear-gradient(90deg, transparent 0%, #059669 36%, #B5541E 64%, transparent 100%) !important;
  background-size: 200% 100% !important;
}

.fubi-ssr-ip-shell {
  max-width: none !important;
  margin: 0 !important;
  padding: 36px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--text-primary, #EBE7E0) !important;
}
html[data-theme="light"] .fubi-ssr-ip-shell {
  background: transparent !important;
  color: var(--text-primary, #181715) !important;
}
.fubi-ssr-ip-head {
  border-bottom: 1px solid var(--line-2, rgba(255, 255, 255, 0.135)) !important;
  padding-bottom: 18px !important;
  margin-bottom: 24px !important;
}
.fubi-ssr-ip-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 24px 32px !important;
}
.fubi-ssr-ip-card {
  padding: 16px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--line-2, rgba(255, 255, 255, 0.135)) !important;
  border-radius: 0 !important;
}
html[data-theme="light"] .fubi-ssr-ip-card {
  background: transparent !important;
  border-top-color: var(--line-2, rgba(24, 23, 21, 0.15)) !important;
}
.fubi-ssr-iso {
  background: transparent !important;
  color: var(--accent-ink, #E0864B) !important;
  border-color: var(--accent-border, rgba(217, 119, 54, 0.34)) !important;
}
