/* SF_WEB 适配层：在原站 360.css 之上修宽度/响应式，不破坏门户结构 */

/* 首页推荐/全部游戏：简介可换行 + 同排卡片等高、按钮对齐 */
.hot-list {
  align-items: stretch;
}
.hot-list > li {
  display: flex !important;
  flex-direction: column;
  height: 100%;
}
.hot-list .info-wrapper {
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
}
.hot-list .text-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.hot-list .text-content > p:last-child {
  margin-top: auto;
  padding-top: 8px;
}
.hot-list .game-desc {
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: break-word !important;
  line-height: 1.5 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  min-height: calc(1.5em * 3);
  max-height: calc(1.5em * 4);
}
html, body {
  /* 原站 body min-width:1140px。若改成 0，导航 float 会换行，搜索框掉到 Banner 上 */
  min-width: 1140px !important;
  overflow-x: auto;
  min-height: 100%;
}
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: #f8f9fa !important;
}
body > .foot {
  margin-top: auto;
}
/* 内容区可缩放；顶栏/导航禁止加 padding，否则挤掉 .nav_search */
.wrap,
.banner .banner-content,
.foot .wrap {
  width: min(1366px, 100%) !important;
  max-width: 100% !important;
  box-sizing: border-box;
  padding-left: 16px;
  padding-right: 16px;
}
.top .wrap,
.nav .wrap {
  width: 1366px !important;
  max-width: 1366px !important;
  box-sizing: border-box;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* 顶栏 + 导航始终压在游戏目录层之上 */
.top {
  z-index: 10100 !important;
  position: relative;
}
/* 锁定导航高度；下拉挂 body，nav 保持可点 */
.nav {
  height: 80px !important;
  overflow: visible !important;
  position: relative;
  z-index: 10100 !important;
}
.nav .wrap {
  height: 80px;
  position: relative;
  z-index: 2;
}
/* LOGO 保持左侧，导航条内上下居中（图顶留白少，略下移 5px 光学居中） */
.nav_logo {
  float: left !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  max-width: 248px !important;
  height: 80px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 5px 0 0 0 !important;
  box-sizing: border-box !important;
  text-indent: 0 !important;
  overflow: visible !important;
  z-index: 4;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.nav_logo img {
  display: block !important;
  max-width: 248px !important;
  max-height: 74px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
  vertical-align: middle;
}
.game-directory-trigger {
  position: relative;
  z-index: 3002;
  pointer-events: auto;
  cursor: pointer;
}
.game-directory-trigger a {
  pointer-events: auto;
  cursor: pointer;
}
.game-directory-dropdown {
  z-index: 10030 !important;
  pointer-events: auto;
  position: fixed !important;
  top: var(--sf-nav-bottom, 117px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
  margin: 0 !important;
  background: #282A2C !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .35);
  max-height: min(70vh, 520px);
  height: auto !important;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.game-directory-dropdown:not(.show) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.game-directory-dropdown.show {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.game-directory-dropdown .wrap {
  width: min(1366px, 100%) !important;
  max-width: 1366px !important;
  margin: 0 auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box;
}
.game-directory-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  top: var(--sf-nav-bottom, 117px);
  z-index: 10020;
  background: rgba(0, 0, 0, .45);
}
.game-directory-backdrop.show {
  display: block;
}
body.game-directory-open {
  overflow: hidden;
}
.game-directory-trigger a {
  height: 80px !important;
}
/* 桌面端导航 flex 排布，防止 float 换行把搜索框挤到 Banner */
@media (min-width: 961px) {
  .nav .wrap {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }
  .nav .wrap::after { display: none !important; }
  .nav_logo {
    float: none !important;
    flex: 0 0 auto;
  }
  .nav_list {
    float: none !important;
    flex: 1 1 auto;
    min-width: 0;
    margin-left: 24px !important;
    overflow: hidden;
  }
  .nav_list li {
    margin: 0 28px 0 0 !important;
  }
  .game-directory-trigger {
    float: none !important;
    flex: 0 0 auto;
  }
  .nav_search {
    float: none !important;
    flex: 0 0 161px;
    margin: 0 0 0 10px !important;
    position: relative;
    z-index: 3003;
    display: block !important;
  }
  .nav_search input {
    top: 50% !important;
    transform: translateY(-50%);
    height: 20px;
    line-height: 20px;
  }
  .nav_searchBtn {
    top: 50% !important;
    transform: translateY(-50%);
  }
}
/* Banner 高度/登录卡位置交给原站 360.css（550px），禁止再改矮 */
.banner { min-width: 0 !important; }
/* 首页视频：与 Banner 同高铺满，避免 580px 硬拉高导致发虚 */
.banner .slider,
.banner .slider .c-focus-area {
  height: 550px !important;
}
.banner .slider .c-focus-video {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 550px !important;
  object-fit: cover !important;
  object-position: center center !important;
  z-index: 2;
  pointer-events: none;
}
.banner .banner-content { pointer-events: none; position: relative; z-index: 2; }
.banner .login { pointer-events: auto; }
.banner .c-focus-cell { position: relative; z-index: 1; }
.banner .c-focus-cell > a.banner-hit {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 370px;
  pointer-events: auto !important;
  cursor: pointer;
}
.wrapTopMainBody {
  /* 对齐原站 1419 + margin:-100px，保证左侧最新游戏 + 右侧推荐专区双栏 */
  width: min(1419px, calc(100% - 16px)) !important;
  max-width: 1419px !important;
  margin: -100px auto 0 !important;
  position: relative;
  z-index: 3;
  box-sizing: border-box;
}
.wrapTopMainBody > .wrap.mainbody {
  width: auto !important;
  max-width: none !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}
/* 会员页必须跟原站 u-left：margin:-500px 叠在 Banner 上，禁止改成 24px */
.wrapTopMainBody--member {
  margin: -500px auto 0 !important;
}
/* 成长福利/公告等门户内容页：跟首页一样 -100px */
.wrapTopMainBody--portal {
  margin: -100px auto 0 !important;
}
.wrapTopMainBody--page {
  margin-top: 24px !important;
}
.wrapTopMainBody--page {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.wrapTopMainBody--page .mainbody {
  padding: 32px 16px 40px !important;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
/* 会员内页可加点内边距；首页交给 360.css（padding:20px 0） */
.wrapTopMainBody--member .mainbody,
.wrapTopMainBody--page .mainbody {
  padding: 22px 24px 28px !important;
}
.sf-auth-box {
  width: 100%;
}
.nav {
  min-width: 0 !important;
}
/* 导航间距交给 360.css，避免挤扁原站「下载盒子」图按钮 */
.foot {
  min-width: 0 !important;
}
.foot .wrap {
  width: min(1366px, 100%) !important;
}
.sf-auth-box {
  max-width: 420px;
  margin: 40px auto;
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 10px;
  padding: 24px 22px;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.sf-auth-box h1,
.USERHOME-main-content h2,
.panel h2 {
  margin: 0 0 14px;
  font-size: 20px;
  color: #333;
  border-bottom: 2px solid #FF4C4B;
  display: inline-block;
  padding-bottom: 6px;
}
.sf-field { margin-bottom: 12px; }
.sf-field label {
  display: block;
  margin-bottom: 6px;
  color: #666;
  font-size: 13px;
}
.sf-field input,
.sf-field select,
.panel input,
.panel select,
.auth-box input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #dde3ea;
  font-size: 14px;
  background: #fff;
  color: #333;
}
.sf-btn,
.btn,
.panel .btn {
  display: inline-block;
  padding: 9px 16px;
  border-radius: 8px;
  background: linear-gradient(90deg, #FF4C4B, #ff7a59);
  color: #fff !important;
  border: 0;
  cursor: pointer;
  font-size: 14px;
  text-decoration: none !important;
}
.sf-btn.ok,
.btn.ok { background: linear-gradient(90deg, #22c55e, #4ade80); }
.sf-btn.ghost,
.btn.ghost {
  background: #fff;
  color: #FF4C4B !important;
  border: 1px solid #FF4C4B;
}
.sf-msg,
.msg {
  background: #fff1f0;
  color: #cf1322;
  border: 1px solid #ffa39e;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 12px;
}
.msg.ok,
.sf-msg.ok {
  background: #f6ffed;
  color: #389e0d;
  border-color: #b7eb8f;
}
.panel,
.USERHOME-panel {
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 8px;
  padding: 18px 16px;
}
.kv {
  display: flex;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed #eef2f6;
  align-items: center;
}
.kv span {
  width: 88px;
  color: #888;
  flex-shrink: 0;
}
.quick {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.tip { color: #888; font-size: 13px; }
.empty {
  color: #888;
  padding: 28px;
  text-align: center;
  border: 1px dashed #dde3ea;
  border-radius: 10px;
  background: #fafafa;
}
.section-title {
  margin: 8px 0 14px;
  font-size: 18px;
  font-weight: 700;
  color: #333;
  border-left: 4px solid #FF4C4B;
  padding-left: 10px;
}
.sf-game-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
/* 首页对齐原站 .hot 双栏；自研 hero 已废弃 */
.hot:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.no-result { display: none; }

/* 桌面隐藏手机菜单按钮 */
.sf-nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  margin-left: auto;
  border: 1px solid #eee;
  border-radius: 8px;
  background: #fff;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 0;
  z-index: 5;
}
.sf-nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  background: #333;
  border-radius: 1px;
}

/*
 * ========== 手机/平板适配（≤960）==========
 * 大屏仍走原站 1366 float；此处独立重排，不改 360.css
 */
@media (max-width: 960px) {
  html, body {
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .wrap,
  .top .wrap,
  .nav .wrap,
  .banner .banner-content,
  .foot .wrap,
  .game-directory-dropdown .wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* —— 顶栏 —— */
  .top { height: auto; line-height: 1.4; }
  .top .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 36px;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .top_tool { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  /* —— 导航：折叠菜单 —— */
  .nav {
    height: auto !important;
    overflow: visible !important;
  }
  .nav .wrap {
    height: auto !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .nav_logo {
    float: none !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    max-width: 140px !important;
    max-height: 52px !important;
    height: auto !important;
    order: 1;
  }
  .nav_logo img {
    max-width: 140px !important;
    max-height: 52px !important;
  }
  .sf-nav-toggle { display: inline-flex; }
  .nav_list {
    display: none !important;
    float: none !important;
    width: 100%;
    margin: 0 !important;
    height: auto !important;
    flex-direction: column;
    align-items: stretch;
    order: 10;
    border-top: 1px solid #f0f0f0;
    padding-top: 6px;
  }
  .nav.is-open .nav_list { display: flex !important; }
  .nav_list li {
    float: none !important;
    margin: 0 !important;
    height: auto !important;
    width: 100%;
  }
  .nav_list li a {
    display: block;
    padding: 12px 8px !important;
    font-size: 15px !important;
  }
  .nav_list li a img { max-height: 40px !important; width: auto; }
  .nav_search {
    float: none !important;
    order: 2;
    margin: 0 !important;
    width: min(161px, 42vw);
    flex: 1 1 auto;
  }
  .game-directory-trigger {
    float: none !important;
    order: 3;
    height: 42px !important;
    margin: 0;
  }
  .game-directory-trigger a {
    height: 42px !important;
    flex-direction: row !important;
    gap: 6px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
  }
  .game-directory-dropdown {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    top: var(--sf-nav-bottom, 100px) !important;
    max-height: calc(100vh - var(--sf-nav-bottom, 100px));
  }
  .game-directory-backdrop {
    top: var(--sf-nav-bottom, 100px);
  }
  .directory-content {
    flex-direction: column !important;
    gap: 16px !important;
    padding: 16px !important;
  }
  .directory-left { border-right: none !important; }

  /* —— Banner / 会员中心：高度随卡片撑开，避免裁掉「会员中心」按钮 —— */
  .banner {
    position: relative !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
  }
  .banner .slider,
  .banner .c-focus-area {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    z-index: 1;
  }
  .banner .c-focus-cell {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }
  .banner .c-focus-cell a {
    height: 100% !important;
    min-height: 0 !important;
  }
  .banner .c-focus-video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }
  .banner .banner-content {
    position: relative !important;
    z-index: 10 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 18px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none;
    box-sizing: border-box;
  }
  .banner .login {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 auto !important;
    width: min(300px, 94%) !important;
    max-width: 94% !important;
    display: block !important;
    pointer-events: auto;
    box-sizing: border-box;
  }
  .banner .login-card {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    box-sizing: border-box;
    padding: 14px 12px !important;
    overflow: visible !important;
  }
  .banner .login-card .avatar {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 8px !important;
  }
  .banner .login-card .login-status {
    font-size: 14px !important;
    margin-bottom: 8px !important;
  }
  .banner .login-card .welcome-text {
    margin-bottom: 8px !important;
    width: 100% !important;
  }
  /* 原站 VIP 条/会员中心按钮 min-width:210px，手机改为铺满卡片 */
  .banner .leveltags-hot,
  .banner .leveltags-hot1,
  .banner a.leveltags-hot1 {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    flex-shrink: 1 !important;
    height: 40px !important;
    padding: 0 10px !important;
    background-size: 100% 100% !important;
    font-size: 13px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .banner .leveltags-hot {
    height: 48px !important;
    margin-bottom: 8px;
  }
  .banner .loginpic {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
  }

  /* —— 主内容：手机不再负 margin，全宽显示 —— */
  .wrapTopMainBody,
  .wrapTopMainBody--member,
  .wrapTopMainBody--portal,
  .wrapTopMainBody--page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }
  .wrapTopMainBody > .wrap.mainbody,
  .wrapTopMainBody--member .mainbody,
  .wrapTopMainBody--page .mainbody,
  .wrapTopMainBody--portal .mainbody {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .USERHOME-member-section {
    max-width: 100% !important;
    width: 100% !important;
    padding: 10px 10px 12px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .USERHOME-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .USERHOME-main-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 10px !important;
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* —— 首页双栏改单列 —— */
  .hot .side,
  .hot .main,
  .side,
  .main {
    float: none !important;
    width: 100% !important;
  }
  .hot-list {
    display: block !important;
  }
  .hot-list li {
    width: 100% !important;
    float: none !important;
    margin: 0 0 12px !important;
  }
  .sf-game-grid { grid-template-columns: 1fr; }

  /* —— 会员中心：手机端侧滑菜单 —— */
  .USERHOME-container {
    flex-direction: column !important;
    gap: 12px !important;
  }
  .sf-member-nav-mobile-head {
    position: sticky;
    top: 0;
    z-index: 120;
    margin: 0 0 12px;
    padding: 8px 0 10px;
    background: linear-gradient(180deg, #fff 70%, rgba(255, 255, 255, 0));
  }
  .sf-member-nav-mobile-head {
    display: block !important;
  }
  .sf-member-nav-toggle {
    display: flex !important;
  }
  .sf-member-nav-quick {
    display: flex !important;
  }
  .sf-member-nav-toggle i:first-child {
    color: #ff4c4b;
    font-size: 18px;
  }
  .sf-member-nav-toggle-arrow {
    margin-left: auto;
    color: #94a3b8;
    font-size: 16px;
  }
  .sf-member-nav-close {
    display: flex;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    color: #64748b;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
  }
  .sf-member-nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10140;
    background: rgba(15, 23, 42, 0.48);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
  }
  .sf-member-nav-backdrop.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  body.sf-member-nav-open {
    overflow: hidden;
  }
  .LEFTNAV-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(288px, 88vw) !important;
    max-width: 88vw !important;
    z-index: 10150 !important;
    flex: none !important;
    transform: translateX(-108%);
    transition: transform .28s ease;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    box-shadow: 8px 0 28px rgba(0, 0, 0, 0.18) !important;
  }
  .LEFTNAV-sidebar.is-open {
    transform: translateX(0);
  }
  .LEFTNAV-user-header {
    position: relative;
    padding-top: 2.2rem !important;
  }
  .LEFTNAV-nav-list {
    display: block !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
  }
  .LEFTNAV-nav-item {
    flex: none !important;
    white-space: normal !important;
    width: 100% !important;
  }
  .LEFTNAV-nav-link {
    padding: 12px 18px !important;
  }
  .sf-member-nav-backdrop {
    display: block;
  }
  .sf-member-nav-quick {
    display: flex !important;
  }
  .sf-member-nav-dock {
    display: flex !important;
  }
  .USERHOME-main-content {
    width: 100% !important;
    min-width: 0 !important;
  }
  body.sf-exchange-modal-open .float-menu {
    opacity: 0;
    pointer-events: none;
  }
  .USERHOME-info-row {
    flex-direction: column !important;
  }
  .USERHOME-stats-bar {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }
  .USERHOME-timeline-card .timeline-container {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .USER-SHARE-stats {
    flex-direction: column !important;
  }
  .USER-SHARE-link-row {
    flex-direction: column !important;
  }
  .USER-SHARE-copy-btn { width: 100%; }

  /* —— 成长福利表 / 超级玩家 —— */
  .LEVEL-vip-table-wrap,
  .USER-SHARE-table-wrap,
  .USERHOME-table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .super-levels-grid {
    grid-template-columns: 1fr !important;
    display: grid !important;
    gap: 16px !important;
  }
  .LEVEL-vip-features {
    flex-direction: column !important;
  }

  /* —— 下载盒子 —— */
  .boxdownload-content {
    flex-direction: column !important;
    padding: 24px 12px !important;
  }
  .boxdownload-right-card {
    width: 100% !important;
    padding: 20px 16px !important;
  }
  .boxdownload-title { font-size: 26px !important; color: #ffe7a0 !important; }
  .boxdownload-subtitle { font-size: 15px !important; color: #fff6d8 !important; }
  .boxdownload-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .boxdownload-btn { width: 100% !important; }

  /* —— 右侧客服浮窗缩小；左侧公告用关闭缩进，不隐藏 —— */
  .float-menu {
    transform: scale(0.85);
    transform-origin: bottom right;
    right: 8px !important;
    bottom: 12px !important;
  }
  .float-menu-btn,
  .float-menu-btn .kf-icon,
  .float-menu-btn .top-icon {
    background: transparent !important;
    box-shadow: none !important;
  }
  .float-menu-btn .kf-icon,
  .float-menu-btn .top-icon {
    object-fit: contain;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .35));
  }
  .sf-float-ad .float-left-image img {
    max-width: min(200px, 42vw) !important;
  }

  /* —— 页脚：原站固定 125px/1400 宽，手机改为自适应 —— */
  .foot {
    height: auto !important;
    min-height: 0 !important;
    margin-top: 20px !important;
    padding: 16px 0 72px !important; /* 底部留给客服浮窗 */
    box-sizing: border-box;
  }
  .foot .wrap {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px;
    padding: 0 14px !important;
    box-sizing: border-box;
  }
  .foot_logo {
    float: none !important;
    width: auto !important;
    max-width: 140px !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }
  .foot_logo img {
    width: auto !important;
    max-width: 120px !important;
    max-height: 48px !important;
    margin: 0 auto;
  }
  .foot_text {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
    line-height: 1.6 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    box-sizing: border-box;
  }
  .foot_text p {
    margin: 0 0 6px !important;
  }
  .foot_text a {
    display: inline-block;
    margin: 0 6px 4px !important;
  }
}

/* ========== 左侧浮窗公告：关闭缩到左边（桌面位置不变，仅加按钮） ========== */
.sf-float-ad {
  position: fixed;
  left: 10px;
  bottom: 20px;
  z-index: 999;
  transition: transform 0.35s ease;
  will-change: transform;
}
.sf-float-ad .float-left-image {
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  cursor: default;
  transition: none;
}
.sf-float-ad .float-left-image:hover {
  transform: none;
}
.sf-float-ad-close {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 26px;
  height: 26px;
  border: none;
  border-radius: 50%;
  background: #FF4C4B;
  color: #fff;
  font-size: 18px;
  line-height: 26px;
  text-align: center;
  cursor: pointer;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
  padding: 0;
}
.sf-float-ad-close:hover {
  background: #e03e3d;
}
.sf-float-ad-tab {
  display: none;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  padding: 12px 0;
  border: none;
  border-radius: 0 8px 8px 0;
  background: #FF4C4B;
  color: #fff;
  font-size: 12px;
  line-height: 1.2;
  writing-mode: vertical-rl;
  letter-spacing: 2px;
  cursor: pointer;
  box-shadow: 2px 2px 8px rgba(0,0,0,.2);
}
/* 收起：只留左侧「公告」竖条，图片和 × 全部隐藏 */
.sf-float-ad.is-collapsed {
  transform: none !important;
  left: 0 !important;
  width: 28px !important;
  overflow: visible !important;
}
.sf-float-ad.is-collapsed .sf-float-ad-close,
.sf-float-ad.is-collapsed .float-left-image {
  display: none !important;
}
.sf-float-ad.is-collapsed .sf-float-ad-tab {
  display: block !important;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: 28px;
  border-radius: 0 8px 8px 0;
}

@media (max-width: 560px) {
  .USERHOME-stats-bar {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .banner .banner-content { padding: 14px 10px !important; }
  .nav_search { display: none !important; }
  .nav.is-open .nav_search {
    display: block !important;
    width: 100%;
    order: 11;
    margin-top: 8px !important;
  }
}
.sf-game-card {
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 10px;
  padding: 14px;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: box-shadow .2s, transform .2s;
}
.sf-game-card:hover {
  box-shadow: 0 8px 20px rgba(255,76,75,.12);
  transform: translateY(-2px);
}
.sf-game-card .name { font-weight: 700; font-size: 15px; color: #222; }
.sf-game-card .links { margin-top: auto; display: flex; gap: 8px; }
.sf-game-card .links a {
  flex: 1;
  text-align: center;
  padding: 7px 8px;
  border-radius: 8px;
  background: #f4f4f4;
  font-size: 12px;
  color: #333;
  text-decoration: none !important;
}
.sf-game-card .links a.primary {
  background: linear-gradient(90deg, #FF4C4B, #ff7a59);
  color: #fff !important;
}
.tag {
  display: inline-block;
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid #FF4C4B;
  color: #FF4C4B;
}
.tag.hot { background: #fff1f0; }
.tag.new { border-color: #22c55e; color: #16a34a; background: #f0fdf4; }
.tag.yugao { border-color: #8b5cf6; color: #7c3aed; background: #f5f3ff; }
.leveltags-hot1 {
  display: inline-block;
  margin-top: 8px;
  color: #FCF0B2 !important;
  text-decoration: none !important;
}
.login-card .leveltags-hot1 {
  background: linear-gradient(to right, #F4CF76, #FCF0B2);
  color: #562000 !important;
  padding: 10px 18px;
  border-radius: 100px;
  font-weight: 600;
}

.USERHOME-member-section { width: 100%; }
.USERHOME-main-content {
  color: #333;
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 8px;
  padding: 18px 16px;
  min-height: 360px;
  flex: 1;
  min-width: 0;
}
.field { margin-bottom: 12px; }
.field label {
  display: block;
  margin-bottom: 6px;
  color: #666;
  font-size: 13px;
}
.field input,
.field select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #dde3ea;
  font-size: 14px;
  background: #fff;
  color: #333;
}
table.mini,
.USERHOME-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-top: 8px;
}
table.mini th,
table.mini td,
.USERHOME-table th,
.USERHOME-table td {
  padding: 10px 8px;
  text-align: center;
  border-bottom: 1px solid #eef2f6;
}
table.mini th,
.USERHOME-table th {
  background: #f8fafc;
  font-weight: 600;
  color: #555;
}
table.mini tbody tr:hover,
.USERHOME-table tbody tr:hover {
  background: #fff8f7;
}
.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 900px) {
  .grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .grid { grid-template-columns: 1fr; }
}
.card {
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 10px;
  padding: 14px;
  min-height: 110px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.card .name { font-weight: 700; font-size: 15px; color: #222; }
.sf-sign-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border-radius: 10px;
  background: linear-gradient(135deg, #fff8f0, #ffffff);
  border: 1px solid #ffe2b8;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.sf-sign-hero .title {
  font-size: 18px;
  font-weight: 700;
  color: #333;
}
.USERHOME-card-sign .USERHOME-sign-reward {
  font-size: 12px;
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.45;
}
.USERHOME-card-sign .USERHOME-sign-reward strong {
  color: #fff;
  font-size: 14px;
}
.USERHOME-card-sign .USERHOME-sign-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.USERHOME-card-sign .USERHOME-sign-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  flex-shrink: 0;
}
.USERHOME-btn-sign.is-done {
  background: rgba(255, 255, 255, 0.28) !important;
  color: rgba(255, 255, 255, 0.95) !important;
  cursor: default;
}
.sf-sign-pulse-btn:not(:disabled) {
  animation: sfSignPulse 1.6s ease-in-out infinite;
}
@keyframes sfSignPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 184, 44, 0.45); transform: scale(1); }
  50% { box-shadow: 0 0 0 8px rgba(255, 184, 44, 0); transform: scale(1.02); }
}

/* —— 签到奖励日历模块 —— */
.sf-sign-module {
  margin-bottom: 20px;
  padding: 18px;
  border-radius: 12px;
  background: linear-gradient(180deg, #fff 0%, #fffaf5 100%);
  border: 1px solid #f0e6d8;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05);
}
.sf-sign-module-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.sf-sign-module-title {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.sf-sign-module-title h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #1f2937;
}
.sf-sign-module-title p {
  margin: 4px 0 0;
  font-size: 12px;
  color: #6b7280;
}
.sf-sign-module-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, #ff6b4a, #ff4c4b);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.sf-sign-module-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.sf-sign-meta-chip {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f3f4f6;
  font-size: 12px;
  color: #6b7280;
}
.sf-sign-meta-chip strong {
  color: #ff4c4b;
  font-size: 16px;
  line-height: 1;
}
.sf-sign-meta-chip--accent {
  background: #fff4e8;
  color: #b45309;
}
.sf-sign-progress { margin-bottom: 14px; }
.sf-sign-progress-track {
  height: 8px;
  border-radius: 999px;
  background: #eceff3;
  overflow: hidden;
}
.sf-sign-progress-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #34d399, #10b981);
  transition: width .45s ease;
}
.sf-sign-progress-label {
  margin-top: 6px;
  font-size: 12px;
  color: #64748b;
}
.sf-sign-reward-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}
.sf-sign-day {
  position: relative;
  border-radius: 10px;
  padding: 10px 6px 8px;
  text-align: center;
  border: 1px solid #e8edf3;
  background: #f8fafc;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  min-height: 108px;
}
.sf-sign-day-top {
  font-size: 11px;
  color: #64748b;
  font-weight: 600;
}
.sf-sign-day-icon {
  width: 34px;
  height: 34px;
  margin: 6px auto;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  background: #e2e8f0;
  color: #64748b;
}
.sf-sign-day-points {
  font-size: 14px;
  font-weight: 800;
  color: #ff4c4b;
  line-height: 1.2;
}
.sf-sign-day-bonus {
  font-size: 10px;
  color: #b45309;
  margin-top: 2px;
}
.sf-sign-day-status {
  margin-top: 4px;
  font-size: 10px;
  color: #94a3b8;
  font-weight: 600;
}
.sf-sign-day--done {
  background: linear-gradient(180deg, #f0fdf4, #ecfdf5);
  border-color: #86efac;
}
.sf-sign-day--done .sf-sign-day-icon {
  background: #10b981;
  color: #fff;
}
.sf-sign-day--done .sf-sign-day-status { color: #059669; }
.sf-sign-day--today {
  background: linear-gradient(180deg, #fff7ed, #fffbeb);
  border-color: #fdba74;
  box-shadow: 0 6px 16px rgba(251, 146, 60, 0.22);
  cursor: pointer;
  transform: translateY(-2px);
}
.sf-sign-day--today .sf-sign-day-icon {
  background: linear-gradient(135deg, #ffb82c, #ff8a00);
  color: #fff;
  animation: sfSignGiftBounce 1.4s ease-in-out infinite;
}
.sf-sign-day--today .sf-sign-day-status { color: #ea580c; }
.sf-sign-day--locked { opacity: 0.82; }
.sf-sign-day--special .sf-sign-day-icon {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: #fff;
}
.sf-sign-day--flash {
  animation: sfSignFlash .8s ease;
}
@keyframes sfSignGiftBounce {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}
@keyframes sfSignFlash {
  0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5); }
  100% { box-shadow: 0 0 0 14px rgba(16, 185, 129, 0); }
}
.sf-sign-module--compact {
  padding: 14px;
  margin-bottom: 16px;
}
.sf-sign-module--compact .sf-sign-reward-grid {
  gap: 6px;
}
.sf-sign-module--compact .sf-sign-day {
  min-height: 92px;
  padding: 8px 4px 6px;
}
.sf-sign-module--compact .sf-sign-day-points { font-size: 12px; }
.sf-sign-action-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.sf-sign-main-btn {
  border: 0;
  border-radius: 999px;
  padding: 12px 22px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #ff6b4a, #ff4c4b);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: opacity .2s, transform .2s;
}
.sf-sign-main-btn:hover:not(:disabled) { opacity: .92; transform: translateY(-1px); }
.sf-sign-main-btn.is-done {
  background: #e5e7eb;
  color: #6b7280;
  cursor: default;
}
.sf-sign-main-btn.is-loading { opacity: .75; cursor: wait; }
.sf-sign-link-btn {
  font-size: 13px;
  color: #64748b;
  text-decoration: none;
}
.sf-sign-link-btn:hover { color: #ff4c4b; }
.sf-sign-spin {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  border-radius: 50%;
  display: inline-block;
  animation: sfSignSpin .7s linear infinite;
  vertical-align: -2px;
}
@keyframes sfSignSpin { to { transform: rotate(360deg); } }

/* 签到专页 */
.sf-sign-page { margin-bottom: 20px; }
.sf-sign-page-hero {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 20px;
  border-radius: 14px;
  margin-bottom: 16px;
  background:
    radial-gradient(circle at 85% 15%, rgba(255,255,255,.22), transparent 45%),
    linear-gradient(135deg, #ff6b4a 0%, #ff4c4b 55%, #e63b3a 100%);
  color: #fff;
  box-shadow: 0 10px 28px rgba(255, 76, 75, 0.28);
}
.sf-sign-page-kicker {
  font-size: 12px;
  opacity: .9;
  margin-bottom: 6px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.sf-sign-page-title {
  margin: 0 0 8px;
  font-size: 24px;
  font-weight: 800;
}
.sf-sign-page-desc {
  margin: 0;
  font-size: 14px;
  opacity: .95;
}
.sf-sign-page-desc strong { font-size: 18px; }
.sf-sign-page-stats {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.sf-sign-page-stat .val {
  font-size: 22px;
  font-weight: 800;
  line-height: 1.1;
}
.sf-sign-page-stat .lbl {
  font-size: 12px;
  opacity: .85;
  margin-top: 2px;
}
.sf-sign-page-hero-side {
  display: flex;
  align-items: center;
}
.sf-sign-page-badge {
  border: 0;
  border-radius: 14px;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.sf-sign-page-badge.is-done {
  background: rgba(255,255,255,.22);
  color: #fff;
}
.sf-sign-page-badge.is-action {
  background: #fff;
  color: #ff4c4b;
  cursor: pointer;
}
.sf-sign-log-section { margin-top: 18px; }
.sf-sign-log-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
}
.sf-sign-log-item {
  border: 1px solid #eef2f6;
  border-radius: 10px;
  padding: 12px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.sf-sign-log-item:hover {
  border-color: #ffd4cc;
  box-shadow: 0 4px 12px rgba(255, 76, 75, 0.08);
}
.sf-sign-log-date { font-size: 12px; color: #64748b; }
.sf-sign-log-points { margin-top: 4px; font-size: 16px; font-weight: 800; color: #ff4c4b; }

/* 最近签到时间轴对比度修复 */
.sf-sign-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.sf-sign-history-more {
  font-size: 13px;
  color: #64748b;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.sf-sign-history-more:hover { color: #ff4c4b; }
.sf-sign-history .timeline-status.status-unsigned {
  color: #475569 !important;
  background: #f1f5f9 !important;
}
.sf-sign-history .timeline-node.today .timeline-status.status-unsigned {
  color: #c2410c !important;
  background: #ffedd5 !important;
}
.sf-sign-history .timeline-date { color: #334155 !important; }
.sf-sign-history .timeline-node.today .timeline-date { color: #ea580c !important; }

/* Toast */
.sf-sign-toast-root {
  position: fixed;
  top: 72px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 12050;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}
.sf-sign-toast {
  min-width: 220px;
  max-width: 90vw;
  padding: 12px 18px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: rgba(31, 41, 55, 0.92);
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .25s, transform .25s;
}
.sf-sign-toast.is-show {
  opacity: 1;
  transform: translateY(0);
}
.sf-sign-toast--success { background: linear-gradient(135deg, #10b981, #059669); }
.sf-sign-toast--error { background: linear-gradient(135deg, #ef4444, #dc2626); }

@media (max-width: 900px) {
  .sf-sign-reward-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .sf-sign-page-title { font-size: 20px; }
}
@media (min-width: 961px) {
  .sf-member-nav-toggle,
  .sf-member-nav-mobile-head,
  .sf-member-nav-close,
  .sf-member-nav-backdrop,
  .sf-member-nav-quick,
  .sf-member-nav-dock {
    display: none !important;
  }
}

/* —— 手机端会员快捷导航（默认隐藏，仅 ≤960px 显示） —— */
.sf-member-nav-toggle {
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0 0 10px;
  padding: 12px 14px;
  border: 1px solid #ffc9c4;
  border-radius: 12px;
  background: linear-gradient(135deg, #fff5f4, #fff);
  color: #334155;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(255, 76, 75, 0.12);
}
.sf-member-nav-toggle-hint {
  font-size: 11px;
  font-weight: 500;
  color: #94a3b8;
  margin-left: 2px;
}
.sf-member-nav-toggle,
.sf-member-nav-mobile-head,
.sf-member-nav-quick,
.sf-member-nav-dock,
.sf-member-nav-close {
  display: none;
}
.sf-member-nav-quick {
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
  scrollbar-width: none;
}
.sf-member-nav-quick::-webkit-scrollbar { display: none; }
.sf-member-nav-quick-item {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid #e8edf3;
  background: #fff;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color .2s, background .2s, color .2s, transform .15s;
}
.sf-member-nav-quick-item i { color: #ff4c4b; font-size: 14px; }
.sf-member-nav-quick-item.is-active,
.sf-member-nav-quick-item:active {
  border-color: #ffb4ae;
  background: #fff5f4;
  color: #ff4c4b;
  transform: scale(0.98);
}
.sf-member-nav-dock {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10180;
  padding: 6px 8px calc(6px + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid #eef2f6;
  box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(8px);
  justify-content: space-around;
  gap: 4px;
}
.sf-member-nav-dock-btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  padding: 6px 4px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #64748b;
  font-size: 10px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s, background .2s, transform .15s;
}
.sf-member-nav-dock-btn i { font-size: 20px; line-height: 1; }
.sf-member-nav-dock-btn.is-active,
.sf-member-nav-dock-btn:active {
  color: #ff4c4b;
  background: #fff5f4;
  transform: scale(0.96);
}

/* —— 兑换页钱包条 —— */
.sf-ex-wallet {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.sf-ex-wallet-card {
  padding: 12px 10px;
  border-radius: 12px;
  border: 1px solid #eef2f6;
  background: linear-gradient(180deg, #fff, #f8fafc);
  text-align: center;
}
.sf-ex-wallet-card--gold {
  border-color: #fde68a;
  background: linear-gradient(180deg, #fffbeb, #fff);
}
.sf-ex-wallet-val {
  font-size: 22px;
  font-weight: 800;
  color: #ff4c4b;
  line-height: 1.2;
}
.sf-ex-wallet-card--gold .sf-ex-wallet-val { color: #d97706; }
.sf-ex-wallet-val--sm { font-size: 16px; color: #334155; }
.sf-ex-wallet-lbl {
  margin-top: 4px;
  font-size: 11px;
  color: #64748b;
}
.sf-ex-page-tip {
  margin: 0 0 14px;
  font-size: 12px;
  color: #64748b;
  line-height: 1.5;
}
.sf-ex-page-tip a { color: #ff4c4b; }
.sf-ex-game-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
}
.sf-ex-game-btn:active { transform: scale(0.98); }

/* —— 钻石兑换弹窗 —— */
.sf-exchange-modal {
  position: fixed;
  inset: 0;
  z-index: 10200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(15, 23, 42, 0.62);
  backdrop-filter: blur(3px);
}
.sf-exchange-modal.is-open {
  display: flex;
}
body.sf-exchange-modal-open {
  overflow: hidden;
}
.sf-exchange-modal__panel {
  position: relative;
  width: min(480px, 100%);
  max-height: min(92vh, 680px);
  overflow: hidden;
  overflow-x: hidden;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
  animation: sfExchangeIn .32s cubic-bezier(.22, 1, .36, 1);
  display: flex;
  flex-direction: column;
}
.sf-exchange-modal__panel.is-success .sf-exchange-modal__body,
.sf-exchange-modal__panel.is-success .sf-exchange-modal__hero {
  display: none !important;
}
.sf-exchange-modal__panel.is-success {
  min-height: 280px;
}
.sf-exchange-modal__hero {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 48px 12px 16px;
  background: linear-gradient(135deg, #fff5f2, #fff);
  border-bottom: 1px solid #f1f5f9;
  flex-shrink: 0;
}
.sf-exchange-modal__cover {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.sf-exchange-modal__hero-text { min-width: 0; }
@keyframes sfExchangeIn {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.sf-exchange-modal__head {
  display: none;
}
.sf-exchange-modal__title {
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.35;
}
.sf-exchange-modal__desc {
  margin: 4px 0 0;
  font-size: 12px;
  color: #64748b;
  line-height: 1.45;
}
.sf-exchange-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #f1f5f9;
  color: #64748b;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.sf-exchange-modal__close:hover {
  background: #fee2e2;
  color: #ef4444;
}
.sf-exchange-modal__body {
  padding: 12px 14px 14px;
  flex: 1;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.sf-exchange-modal__body::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.sf-exchange-modal__body .field {
  margin-bottom: 10px;
}
.sf-ex-label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #1e293b !important;
}
.sf-ex-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: linear-gradient(135deg, #f0fdf4, #ecfdf5);
  border: 1px solid #bbf7d0;
  font-size: 12px;
  color: #166534;
  transition: box-shadow .2s;
  overflow: hidden;
  min-width: 0;
}
.sf-ex-preview.sf-ex-pulse {
  animation: sfExPulse .35s ease;
}
@keyframes sfExPulse {
  0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.35); }
  100% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
}
.sf-ex-preview.is-ready {
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.15);
}
.sf-ex-preview-from,
.sf-ex-preview-to {
  min-width: 0;
  flex: 1;
  line-height: 1.35;
  word-break: break-all;
}
.sf-ex-preview-from strong,
.sf-ex-preview-to strong {
  font-size: 14px;
  color: #15803d;
}
.sf-ex-preview-arrow {
  color: #22c55e;
  font-size: 18px;
  flex-shrink: 0;
}
.sf-ex-currency-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.sf-ex-currency-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 8px;
  border: 2px solid #e8edf3;
  border-radius: 12px;
  background: #f8fafc;
  cursor: pointer;
  transition: border-color .2s, background .2s, transform .15s, box-shadow .2s;
  text-align: center;
}
.sf-ex-currency-card input { position: absolute; opacity: 0; pointer-events: none; }
.sf-ex-currency-card.is-selected {
  border-color: #ff4c4b;
  background: linear-gradient(180deg, #fff8f7, #fff);
  box-shadow: 0 4px 14px rgba(255, 76, 75, 0.18);
  transform: translateY(-2px);
}
.sf-ex-currency-card__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffb82c, #ff8a00);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-bottom: 6px;
}
.sf-ex-currency-card__name {
  font-size: 13px;
  font-weight: 700;
  color: #1e293b;
}
.sf-ex-currency-card__rate {
  font-size: 11px;
  color: #64748b;
  margin-top: 2px;
}
.sf-ex-pay-pills {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.sf-ex-pay-pill {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 10px 12px;
  border: 2px solid #e8edf3;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: border-color .2s, background .2s, transform .15s;
}
.sf-ex-pay-pill.is-active {
  border-color: #ff4c4b;
  background: #fff8f7;
}
.sf-ex-pay-pill__name {
  font-size: 12px;
  font-weight: 700;
  color: #334155;
}
.sf-ex-pay-pill__bal {
  font-size: 16px;
  font-weight: 800;
  color: #ff4c4b;
}
.sf-ex-stepper {
  display: flex;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.sf-ex-stepper-btn {
  width: 48px;
  border: 0;
  background: #f8fafc;
  color: #334155;
  font-size: 22px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s;
}
.sf-ex-stepper-btn:active { background: #fee2e2; color: #ff4c4b; }
.sf-ex-stepper input {
  flex: 1;
  min-width: 0;
  border: 0;
  text-align: center;
  font-size: 20px;
  font-weight: 800;
  color: #0f172a;
  padding: 12px 8px;
}
.sf-ex-stepper input:focus { outline: none; }
.sf-ex-quick-amts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.sf-ex-quick-amts button {
  flex: 1;
  min-width: 52px;
  padding: 7px 8px;
  border: 1px solid #e8edf3;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s, background .15s, transform .1s;
}
.sf-ex-quick-amts button:active {
  border-color: #ffb4ae;
  background: #fff5f4;
  color: #ff4c4b;
  transform: scale(0.96);
}
.sf-ex-skeleton-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.sf-ex-skeleton {
  height: 88px;
  border-radius: 12px;
  background: linear-gradient(90deg, #f1f5f9 25%, #e8edf3 50%, #f1f5f9 75%);
  background-size: 200% 100%;
  animation: sfExShimmer 1.2s infinite;
}
@keyframes sfExShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.sf-ex-error {
  padding: 12px;
  border-radius: 10px;
  background: #fef2f2;
  color: #dc2626;
  font-size: 13px;
  text-align: center;
}
.sf-ex-success {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 20px;
  background: #fff;
}
.sf-ex-success.is-visible {
  display: flex;
  animation: sfExSuccessIn .4s ease;
}
@keyframes sfExSuccessIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}
.sf-ex-success-ring {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #34d399, #10b981);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  margin-bottom: 12px;
  animation: sfExRingPop .5s cubic-bezier(.22, 1, .36, 1);
}
@keyframes sfExRingPop {
  0% { transform: scale(0); }
  60% { transform: scale(1.1); }
  100% { transform: scale(1); }
}
.sf-ex-success-title {
  font-size: 20px;
  font-weight: 800;
  color: #065f46;
}
.sf-ex-success-order {
  margin-top: 6px;
  font-size: 12px;
  color: #64748b;
}
.sf-ex-success-tip {
  margin-top: 4px;
  font-size: 12px;
  color: #10b981;
}
.sf-ex-success-btn {
  margin-top: 18px;
  min-width: 160px;
  padding: 12px 24px;
  border: 0;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #34d399, #10b981);
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
}
.sf-ex-success-btn:active {
  transform: scale(0.98);
}
.sf-ex-modal-foot {
  margin: 8px 0 0;
  text-align: center;
  font-size: 10px;
  color: #cbd5e1;
  line-height: 1.3;
}
.sf-exchange-modal__body input[type="text"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  font-size: 15px;
  color: #0f172a;
  box-sizing: border-box;
  transition: border-color .2s, box-shadow .2s;
}
.sf-exchange-modal__body input[type="text"]:focus {
  outline: none;
  border-color: #ff4c4b;
  box-shadow: 0 0 0 3px rgba(255, 76, 75, 0.12);
}
.sf-exchange-modal__submit.is-loading .sf-exchange-modal__submit-text::after {
  content: '…';
  animation: sfExDots 1s infinite;
}
@keyframes sfExDots {
  0%, 100% { opacity: .4; }
  50% { opacity: 1; }
}
.sf-exchange-modal__submit {
  width: 100%;
  margin-top: 4px;
  padding: 13px 16px;
  border: 0;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #ff6b4a, #ff4c4b);
  cursor: pointer;
  transition: opacity .2s, transform .2s;
}
.sf-exchange-modal__submit:hover:not(:disabled) {
  opacity: .92;
  transform: translateY(-1px);
}
.sf-exchange-modal__submit:disabled {
  opacity: .65;
  cursor: wait;
}
.sf-exchange-game-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 14px;
}
.sf-exchange-game-card {
  border: 1px solid #eef2f6;
  border-radius: 12px;
  padding: 14px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.sf-exchange-game-card:hover {
  border-color: #ffd4cc;
  box-shadow: 0 6px 18px rgba(255, 76, 75, 0.1);
  transform: translateY(-2px);
}
.sf-exchange-game-cover {
  width: 100%;
  height: 110px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 10px;
}
.sf-exchange-game-name {
  font-weight: 700;
  margin-bottom: 6px;
  color: #1f2937;
}
.sf-exchange-game-desc {
  min-height: 36px;
  margin-bottom: 12px;
  font-size: 13px;
  color: #64748b;
  line-height: 1.45;
}
@media (max-width: 960px) {
  .sf-exchange-modal {
    align-items: flex-end;
    padding: 0;
    background: rgba(15, 23, 42, 0.55);
  }
  .sf-exchange-modal__panel {
    width: 100%;
    max-height: 94vh;
    border-radius: 18px 18px 0 0;
    animation: sfExchangeSlideUp .34s cubic-bezier(.22, 1, .36, 1);
  }
  @keyframes sfExchangeSlideUp {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
  }
  .sf-ex-wallet {
    gap: 8px;
  }
  .sf-ex-wallet-val { font-size: 18px; }
  .sf-ex-currency-grid {
    grid-template-columns: 1fr 1fr;
  }
  .sf-exchange-game-grid {
    grid-template-columns: 1fr;
  }
}
.sf-amount-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  margin: 12px 0 16px;
}
.sf-amount-card {
  border: 1px solid #eef2f6;
  border-radius: 8px;
  padding: 14px 10px;
  text-align: center;
  cursor: pointer;
  background: linear-gradient(135deg, #f8fafc, #fff);
  transition: .2s;
  user-select: none;
}
.sf-amount-card:hover,
.sf-amount-card.active {
  border-color: #FF4C4B;
  background: linear-gradient(135deg, #fff8f7, #fff);
  transform: translateY(-2px);
}
.sf-amount-card .price {
  font-size: 22px;
  font-weight: 800;
  color: #FF4C4B;
}
.sf-amount-card .get {
  margin-top: 4px;
  font-size: 13px;
  color: #555;
  font-weight: 600;
}
button:disabled,
.btn:disabled {
  opacity: .55;
  cursor: not-allowed;
}

/* 客服/回顶浮标：强制透明底，避免白底方块挡内容 */
.float-menu {
  z-index: 10050 !important;
  pointer-events: none;
  background: transparent !important;
}
.float-menu-item,
.float-menu-btn,
.sf-chat-float {
  pointer-events: auto;
}
.float-menu-btn,
.float-menu-btn .kf-icon,
.float-menu-btn .top-icon {
  background: transparent !important;
  box-shadow: none !important;
}
.float-menu-btn .kf-icon,
.float-menu-btn .top-icon {
  object-fit: contain;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .35));
}

/* —— 聊天室漂浮入口（3 帧，挂在 float-menu 内）+ 弹窗 —— */
.sf-chat-float {
  position: relative;
  right: auto;
  bottom: auto;
  z-index: auto;
  width: 78px;
  height: 85px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent !important;
  cursor: pointer;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .35));
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
}
.sf-chat-float:hover {
  transform: scale(1.06);
}
.sf-chat-float-frame {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: transparent !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity .12s linear;
}
.sf-chat-float-frame.on {
  opacity: 1;
}
.sf-chat-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 8px;
  background: rgba(0, 0, 0, .55);
  box-sizing: border-box;
}
.sf-chat-modal-box {
  width: min(1280px, 98vw);
  height: min(900px, 94vh);
  background: #0b0f14;
  border: 1px solid #2a384a;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 16px 48px rgba(0, 0, 0, .45);
}
.sf-chat-modal-hd {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  background: #151c26;
  border-bottom: 1px solid #243041;
  color: #f3c15c;
  font-size: 14px;
  font-weight: 700;
}
.sf-chat-modal-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sf-chat-modal-link {
  color: #8eb8ef;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
.sf-chat-modal-link:hover {
  color: #f3c15c;
  text-decoration: underline;
}
.sf-chat-modal-close {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 6px;
  background: #243041;
  color: #e8eef5;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.sf-chat-modal-close:hover {
  background: #8a4040;
}
.sf-chat-modal-frame {
  flex: 1 1 auto;
  width: 100%;
  border: 0;
  background: #0b0f14;
}
@media (max-width: 960px) {
  .sf-chat-modal {
    padding: 0;
  }
  .sf-chat-modal-box {
    width: 100vw;
    height: 100vh;
    max-width: none;
    max-height: none;
    border-radius: 0;
  }
}

/* ========== 仅个人资料页（不影响会员中心其它页） ========== */
.sf-profile { max-width: 920px; }
.sf-profile-hd { margin-bottom: 14px; }
.sf-profile-title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #1f2937;
  letter-spacing: 0.02em;
}
.sf-profile-sub {
  margin: 4px 0 0;
  font-size: 12px;
  color: #9ca3af;
  line-height: 1.4;
}
.sf-profile-alert {
  margin: 0 0 12px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.4;
}
.sf-profile-alert.ok {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}
.sf-profile-alert.err {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}
.sf-profile-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.9fr;
  gap: 12px;
  align-items: start;
}
.sf-profile-card {
  background: #fff;
  border: 1px solid #eef2f6;
  border-radius: 10px;
  padding: 12px 14px 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.sf-profile-card--wide { grid-column: 1 / -1; }
.sf-profile-card-hd {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f1f5f9;
}
.sf-profile-card-tit {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
}
.sf-profile-card-tip {
  font-size: 11px;
  color: #9ca3af;
}
.sf-profile-form { margin: 0; }
.sf-profile-row2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 10px;
}
.sf-profile-field {
  display: block;
  margin-bottom: 8px;
}
.sf-profile-field > span {
  display: block;
  margin-bottom: 3px;
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
}
.sf-profile-field input {
  width: 100%;
  height: 34px;
  padding: 0 10px;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  background: #f8fafc;
  color: #111827;
  font-size: 13px;
  line-height: 34px;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
.sf-profile-field input:hover:not(:disabled) {
  border-color: #d1d5db;
  background: #fff;
}
.sf-profile-field input:focus {
  outline: 0;
  background: #fff;
  border-color: #ff8a80;
  box-shadow: 0 0 0 3px rgba(255, 76, 75, 0.12);
}
.sf-profile-field input:disabled {
  color: #9ca3af;
  background: #f3f4f6;
  cursor: not-allowed;
}
.sf-profile-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
  padding-top: 8px;
}
.sf-profile-btn {
  height: 32px;
  padding: 0 14px;
  border: 0;
  border-radius: 7px;
  background: #ff4c4b;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(255, 76, 75, 0.22);
  transition: opacity 0.15s, transform 0.15s;
}
.sf-profile-btn:hover { opacity: 0.92; }
.sf-profile-btn:active { transform: translateY(1px); }
.sf-profile-btn.ghost {
  background: #fff;
  color: #6b7280;
  border: 1px solid #e5e7eb;
  box-shadow: none;
  font-weight: 600;
}
.sf-profile-btn.ghost:hover {
  color: #111827;
  border-color: #d1d5db;
  opacity: 1;
}
.sf-profile-btn.sm {
  height: 28px;
  padding: 0 10px;
  font-size: 12px;
}
.sf-profile-wx-ok {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.sf-profile-wx-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.sf-profile-wx-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
  flex: 0 0 auto;
}
.sf-profile-wx-label {
  font-size: 11px;
  color: #9ca3af;
  margin-bottom: 2px;
}
.sf-profile-wx-id {
  font-size: 13px;
  color: #374151;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 6px;
  padding: 3px 8px;
}
.sf-profile-wx-guide {
  margin: 0 0 10px;
  font-size: 12px;
  color: #6b7280;
  line-height: 1.5;
}
.sf-profile-wx-bind {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
}
.sf-profile-wx-qr img,
.sf-profile-wx-qr-empty {
  width: 120px;
  height: 120px;
  border-radius: 8px;
  border: 1px solid #eef2f6;
  object-fit: contain;
  background: #fff;
}
.sf-profile-wx-qr-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 12px;
  color: #9ca3af;
  background: #f8fafc;
  line-height: 1.4;
  padding: 8px;
}
.sf-profile-wx-code-lab {
  font-size: 11px;
  color: #9ca3af;
  margin-bottom: 2px;
}
.sf-profile-wx-code {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0.2em;
  color: #ff4c4b;
  line-height: 1.2;
  margin: 2px 0 6px;
}
.sf-profile-wx-status {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 8px;
}
.sf-profile-wx-status.bad { color: #b91c1c; }
.sf-profile-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px dashed #eef2f6;
}
.sf-profile-links a {
  font-size: 12px;
  color: #6b7280;
  text-decoration: none;
}
.sf-profile-links a:hover {
  color: #ff4c4b;
  text-decoration: none;
}
@media (max-width: 860px) {
  .sf-profile-grid { grid-template-columns: 1fr; }
  .sf-profile-row2 { grid-template-columns: 1fr; }
}

