/* public/assets/test/css/auth/auth-mobile-login.css */
/* Mobile Login v20260129
   ✅ header: 只保留 back + lc-mini，透明底，隐藏 mbh-logo
   ✅ hero: 50vh 三行滚动背景（三张图），提亮/减雾/尺寸更大/裁切按 20/0/40
   ✅ bottom: 50vh 白底，绝不出现黑底
   ✅ 全局小四（更小一档），输入/按钮/第三方登录缩小
*/

html, body{
  margin:0 !important;
  padding:0 !important;
}

body.auth-m-login{
  /* 小四级别（更小一档） */
  font-size:12px !important;
  line-height:1.45 !important;

  /* 页面底色：避免任何黑底漏出来 */
  --fmml-page-bg: var(--bg, #f5f7f9);
  background: var(--fmml-page-bg) !important;
}

/* layout 可能会给 body/main 加 padding-top：统一清掉，header 用 overlay */
body.auth-m-login,
body.auth-m-login.mb-use-backheader{
  padding-top:0 !important;
  margin-top:0 !important;
}

/* 只隐藏站内其它 header/footer/chat，不动 mobile_back_header */
body.auth-m-login #site_header,
body.auth-m-login #header_v2,
body.auth-m-login .header-v2,
body.auth-m-login .fm-header,
body.auth-m-login .fm-header-v2{
  display:none !important;
}
body.auth-m-login footer,
body.auth-m-login #fm_chat_widget_wrap{
  display:none !important;
}

/* main/container 的通用 padding/margin 清掉 */
body.auth-m-login #page_main,
body.auth-m-login main{
  padding:0 !important;
  margin:0 !important;
}
body.auth-m-login .container,
body.auth-m-login .kz-container,
body.auth-m-login .page-container{
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
}

/* =========================
   Header：透明底 + 只留 back + lc-mini
   ========================= */
body.auth-m-login{
  --fmml-header-h: 56px;
}

/* 让 header 覆盖在 hero 上 */
body.auth-m-login #mobile_back_header{
  position:fixed !important;
  top:0; left:0; right:0;
  z-index:9999 !important;

  height: var(--fmml-header-h) !important;
  background: transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

/* 只留返回 + lc-mini：隐藏 logo / title / 其它按钮 */
body.auth-m-login #mobile_back_header .mbh-logo,
body.auth-m-login #mobile_back_header .mbh-title,
body.auth-m-login #mobile_back_header .mbh-center{
  display:none !important;
}

/* 右侧只留 lc-mini（国家/语言），其它全隐藏 */
/* ===== mbh-right：只保留 lc-mini（兼容 lc-mini 不是直系子元素的结构） ===== */
body.auth-m-login #mobile_back_header .mbh-right > *{
  display:none !important;
}

/* lc-mini 可能在二级容器里：把“包含 lc-mini 的那个块”放出来 */
body.auth-m-login #mobile_back_header .mbh-right > *:has(.lc-mini),
body.auth-m-login #mobile_back_header .mbh-right .lc-mini{
  display:flex !important;
  align-items:center;
}

/* lc-mini 本体保证可见可点 */
body.auth-m-login #mobile_back_header .mbh-right .lc-mini{
  pointer-events:auto;
}


/* header 内容统一白色（压在深色背景上） */
body.auth-m-login #mobile_back_header,
body.auth-m-login #mobile_back_header *{
  color:#fff !important;
}

/* lc-mini 的按钮：透明底 + 无边框（你一直强调不要边框） */
body.auth-m-login #mobile_back_header .lc-mini button,
body.auth-m-login #mobile_back_header .lc-mini a{
  background: rgba(255,255,255,.08) !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
}

/* =========================
   Page root
   ========================= */
.fmml{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background: var(--fmml-page-bg) !important;

  /* 你给的提亮/减雾参数：直接可调 */
  --fmml-flow-opacity: 1;
  --fmml-flow-brightness: 1.06;
  --fmml-mask-strength: .18;

  /* 背景整体变大：高度更高 => 宽度跟着变（用更大的 cover） */
  --fmml-flow-size: 220% auto;

  /* 滚动幅度：更小一点（速度不要太夸张） */
  --fmml-row-speed-1: 18s;
  --fmml-row-speed-2: 22s;
  --fmml-row-speed-3: 20s;
}

/* toast */
.fmml-toast{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  top: calc(var(--fmml-header-h) + 10px);
  z-index: 10050;
  max-width: 86vw;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(17,24,39,.92);
  color:#fff;
  font-weight:800;
  font-size:12px;
  opacity:0;
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease;
}
.fmml-toast.is-on{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* =========================
   HERO：固定 50vh
   ========================= */
.fmml-hero{
  position:relative;
  height: 50vh;
  min-height: 320px;      /* 超小屏也别挤爆 */
  max-height: 520px;
  overflow:hidden;

  /* 深色基底：避免图片没加载时一片白 */
  background: #050814;
}

/* 背景滚动层（提亮/略增饱和/减雾） */
.fmml-flow{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;

  opacity: var(--fmml-flow-opacity) !important;
  filter: saturate(1.18) contrast(1.06) brightness(var(--fmml-flow-brightness)) !important;
}

.fmml-row{
  position:relative;
  flex:1 1 33.333%;
  overflow:hidden;
}

/* 三行不同速度 + 方向（第2行反向） */
.fmml-r1 .fmml-track{ animation: fmml-marquee var(--fmml-row-speed-1) linear infinite; }
.fmml-r2 .fmml-track{ animation: fmml-marquee-rev var(--fmml-row-speed-2) linear infinite; }
.fmml-r3 .fmml-track{ animation: fmml-marquee var(--fmml-row-speed-3) linear infinite; }

.fmml-track{
  height:100%;
  display:flex;
  width:200%;
  transform:translateX(0);
}

/* ✅ 注意：不再用 .fmml-panel（避免与你表单区 .fmml-bottom 冲突） */
.fmml-flow-panel{
  flex:0 0 50%;
  height:100%;
  background-repeat:no-repeat;
  background-size: var(--fmml-flow-size);
  background-position: center center;
}

/* ✅ 你要求的“裁切区间”对应 position-y */
.fmml-r1 .fmml-flow-panel{
  background-image: var(--fmml-bg1);
  background-position: center 20%;  /* 20-100 */
}
.fmml-r2 .fmml-flow-panel{
  background-image: var(--fmml-bg2);
  background-position: center 0%;   /* 0-100 */
}
.fmml-r3 .fmml-flow-panel{
  background-image: var(--fmml-bg3);
  background-position: center 40%;  /* 0-40 的“更偏上部可见”效果 */
}

/* 遮罩层：减弱黑雾（你给的 mask-strength） */
.fmml-hero-mask{
  position:absolute;
  inset:0;
  background:
    radial-gradient(
      closest-side at 66% 45%,
      rgba(6,10,22, calc(var(--fmml-mask-strength) * 0.35)),
      rgba(6,10,22, var(--fmml-mask-strength))
    );
  pointer-events:none;
}

/* 文案区：给 header 留空间 */
.fmml-hero-inner{
  position:relative;
  z-index:5;
  padding: calc(var(--fmml-header-h) + 56px) 24px 18px;
  color:#fff;
}

/* 标题整体缩小（你说字体太大） */
.fmml-welcome{
  font-weight:900;
  font-size: 24px;
  line-height:1.05;
  opacity:.96;
}
.fmml-brand{
  margin-top: 4px;
  font-weight:900;
  font-size: 34px;
  line-height:1.05;
}


/* 波浪：幅度更小，且颜色必须和底部背景一致 */
.fmml-wave{
  position:absolute;
  left:0; right:0;
  bottom:-1px;
  width:100%;
  height: 64px;
  z-index:6;
  display:block;
}
.fmml-wave path{
  fill: var(--fmml-page-bg);
}

/* marquee keyframes */
@keyframes fmml-marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@keyframes fmml-marquee-rev{
  from{ transform: translateX(-50%); }
  to{ transform: translateX(0); }
}

/* =========================
   Bottom：固定 50vh 白底
   ========================= */
.fmml-bottom{
  position:relative;
  flex:1 1 auto;
  min-height: 50vh;
  background: var(--fmml-page-bg) !important;
  padding: 14px 14px 18px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}

/* 卡片：移动端宽度 */
.fmml-card{
  width:100%;
  max-width: 420px;
  background:#fff;
  border:1px solid rgba(229,231,235,.92);
  border-radius: 22px;
  padding: 14px;
}

/* view */
.fmml-view{ display:none; }
.fmml-view.is-active{ display:block; }

/* 表单 */
.fmml-form{ margin-top: 2px; }

/* 输入：明显缩小（你说太大了） */
.fmml-field{
  height: 44px;
  border-radius: 999px;
  background: #f3f4f6;
  border: 1px solid rgba(229,231,235,.98);
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 0 14px;
  margin: 10px 0;
}

.fmml-fi{
  width: 18px;
  height: 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.75;
  color:#111827;
}

.fmml-field input{
  flex:1;
  border:0;
  outline:0;
  background:transparent;
  font-size: 12px;
  color:#111827;
}

/* code / captcha */
.fmml-code{ padding-right: 8px; }
.fmml-mini-btn{
  border:0;
  cursor:pointer;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(229,231,235,.98);
  color:#111827;
  font-weight: 900;
  font-size: 11px;
  white-space: nowrap;
}
.fmml-mini-btn.is-disabled{ opacity:.55; pointer-events:none; }

.fmml-captcha{
  padding-right: 8px;
}
.fmml-captcha-img{
  width: 84px;
  height: 30px;
  border-radius: 12px;
  cursor:pointer;
  border: 1px solid rgba(229,231,235,.98);
  background:#fff;
}

/* 主按钮：缩小但仍显眼 */
.fmml-btn{
  width:100%;
  height: 46px;
  border-radius: 999px;
  border:0;
  cursor:pointer;
  background:#fbbf24;
  color:#111827;
  font-weight: 900;
  font-size: 13px;
  letter-spacing:.2px;
  box-shadow: 0 10px 22px rgba(251,191,36,.22);
  margin-top: 6px;
}
.fmml-btn:active{ transform: translateY(1px); }

.fmml-btn-ghost{
  background:#fff;
  border: 1px solid rgba(229,231,235,.98);
  box-shadow:none;
}

/* 第三方登录：至少小一半 */
.fmml-sns{
  margin-top: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  flex-wrap: wrap;
}
.fmml-sns-btn{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(209,213,219,.9);
  background:#fff;
  cursor:pointer;
  font-weight: 900;
  font-size: 12px;
  color: rgba(17,24,39,.78);
}

/* terms */
.fmml-terms{
  margin: 10px 0 6px;
  text-align:center;
  font-size: 11px;
  color: rgba(107,114,128,.9);
  line-height:1.45;
}

/* links */
.fmml-links{
  margin-top: 10px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 0 4px;
}
.fmml-links-center{ justify-content:center; }

.fmml-link{
  border:0;
  background:transparent;
  cursor:pointer;
  padding: 6px 4px;
  font-weight: 900;
  font-size: 12px;
  color: rgba(17,24,39,.60);
}
.fmml-link-strong{ color: rgba(17,24,39,.92); }

/* reset */
.fmml-resetbar{ margin: 6px 2px 10px; }
.fmml-resettrack{
  height: 6px;
  border-radius: 999px;
  background: rgba(229,231,235,.98);
  overflow:hidden;
}
.fmml-resetfill{
  height:100%;
  width:33.333%;
  background:#fbbf24;
  transition: width .22s ease;
}
.fmml-resetlabels{
  margin-top: 8px;
  display:flex;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 900;
  color: rgba(107,114,128,.9);
}
.fmml-resetlabels .is-on{ color: rgba(17,24,39,.92); }

.fmml-step{ display:none; }
.fmml-step.is-active{ display:block; }

.fmml-reset-actions{
  margin-top: 10px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* 小屏再收一点 */
@media (max-width: 390px){
  .fmml-brand{ font-size: 32px; }
  .fmml-bullets{ font-size: 11px; }
  .fmml-card{ padding: 12px; }
}



/* ===== BulletBox：暗玻璃 + 上下细线 + 中间小短线（图1效果） ===== */
.fmml-bulletbox{
  position: relative;
  margin-top: 14px;
  padding: 14px 14px 12px;

  /* 图1那种暗玻璃：左侧更深、右侧更透 */
  background: linear-gradient(
    90deg,
    rgba(0,0,0,.42) 0%,
    rgba(0,0,0,.26) 55%,
    rgba(0,0,0,.10) 100%
  );

  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;

  /* 玻璃感（有就用，没也不影响） */
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);

  box-shadow: 0 14px 34px rgba(0,0,0,.28);
  max-width: 340px;       /* 接近你截图 300px 的观感 */
}

/* 上下细线（很克制） */
.fmml-bulletbox::before,
.fmml-bulletbox::after{
  content:"";
  position:absolute;
  left: 14px;
  right: 14px;
  height: 1px;
  opacity: .75;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.00),
    rgba(255,255,255,.18),
    rgba(255,255,255,.00)
  );
}
.fmml-bulletbox::before{ top: 8px; }
.fmml-bulletbox::after{ bottom: 8px; }

/* 中间那条小短线（图里标题下方那种 dash） */
.fmml-bulletbox .fmml-bullets{
  position: relative;
  margin: 0;
  padding: 12px 0 0;
  list-style: none;
  display: grid;
  gap: 9px;
  font-size: 12px;
  opacity: .95;
}
.fmml-bulletbox .fmml-bullets::before{
  content:"";
  position:absolute;
  top: 0;
  left: 50%;
  width: 26px;
  height: 2px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(255,255,255,.55);
  box-shadow: 0 0 10px rgba(255,255,255,.18);
}

/* 列表项：对齐 + check 更像 UI icon */
.fmml-bulletbox .fmml-bullets li{
  position: relative;
  padding-left: 18px;
  color: rgba(255,255,255,.90);
}
.fmml-bulletbox .fmml-bullets li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color: rgba(255,255,255,.92);
  opacity:.95;
  font-weight: 900;
}
/* ===== 背景三条：间距更短（轻微重叠） ===== */
.fmml-row + .fmml-row{
  margin-top: -10px; /* 想更紧：-12；想更松：-6 */
}
/* =========================
   PATCH: BulletBox = 图中“每行暗条”效果 + 字体规范
   + 背景三行间距更紧
   + header lc-mini 不再被 :has() 误伤
   ========================= */

/* ✅ 背景行与行更紧（你要“间距短一点”） */
.fmml-row + .fmml-row{ margin-top: -14px !important; }

/* ✅ 先把你之前 bulletbox 的“边框/上下线/中间短线”全部干掉 */
.fmml-bulletbox{
  margin-top: 40px !important;          /* 图里 brand 到 bullets 间距 40 */
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  /* 你给的 layout（我按容器做） */
  display: flex !important;
  height: 110px;                         /* 你明确给的 */
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;

  max-width: 340px;                      /* 接近你图里 300 宽的视觉 */
}
.fmml-bulletbox::before,
.fmml-bulletbox::after{ display:none !important; }

/* ul 本身：严格按你给的 gap=10 纵向排 */
.fmml-bulletbox .fmml-bullets{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.fmml-bulletbox .fmml-bullets::before{ display:none !important; }

/* ✅ 每一行：暗条背景（不是“外框”），看起来就是你图里那种 bar */
.fmml-bulletbox .fmml-bullets li{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;

  /* bar 轻薄一些，才能压进 110 高度 */
  padding: 2px 10px;
  border-radius: 8px;

  background: linear-gradient(
    90deg,
    rgba(0,0,0,.50) 0%,
    rgba(0,0,0,.30) 55%,
    rgba(0,0,0,.10) 100%
  );
}
.fmml-bulletbox .fmml-bullets li::before{ display:none !important; }

/* ✅ 打钩 SVG */
.fmml-bulletbox .fmml-check{
  width: 10px;
  height: 8px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.fmml-bulletbox .fmml-check svg{
  width: 10px;
  height: 8px;
  display: block;
}

/* ✅ 你给的字体样式（完全照抄） */
.fmml-bulletbox .fmml-btxt{
  color: rgba(255, 255, 255, 0.80);
  text-shadow: 0 4px 22.9px rgba(0, 0, 0, 0.25);
  font-family: "Plus Jakarta Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Helvetica Neue", sans-serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ✅ 兜底：不要再用 :has() 误伤 lc-mini（先解除“全隐藏”影响） */
body.auth-m-login #mobile_back_header .mbh-right > *{
  display: flex !important;
}

/* lc-mini icon 放大 20%（实际替换 SVG 在 JS 做；这里兜底尺寸） */
body.auth-m-login #mobile_back_header .lc-mini svg{
  width: 29px !important;   /* 24 * 1.2 ≈ 28.8 */
  height: 29px !important;
}
/* =========================
   PATCH-2:
   1) fmml-bullets / li 完全透明（不要任何黑底）
   2) 全页统一白底（包括 page/bg/wave/bottom）
   ========================= */

/* ✅ 全页面统一白色背景（一致性） */
body.auth-m-login{
  --fmml-page-bg: #fff !important;
  background: #fff !important;
}
.fmml,
.fmml-bottom{
  background: #fff !important;
}

/* ✅ 波浪填充跟随白底（你之前用 var(--fmml-page-bg)，这里再兜底一次） */
.fmml-wave path{ fill:#fff !important; }

/* ✅ bullets：完全透明（ul + li 都透明），不要黑底 */
.fmml-bulletbox,
.fmml-bulletbox .fmml-bullets,
.fmml-bulletbox .fmml-bullets li{
  background: transparent !important;
  box-shadow: none !important;
}

/* li 之前有渐变背景，这里强制清掉，但保留排版（padding/gap 不动） */
.fmml-bulletbox .fmml-bullets li{
  background-image: none !important;
}
/* =========================
   PATCH-3:
   A) 去掉 fmml-bottom / fmml-card 边框
   B) Hero + Bottom 固定铺满 100svh，并按屏高自适应间距
   ========================= */

/* A1) fmml-card 不要边框（保留阴影作为分层） */
.fmml-card{
  border: 0 !important;
}

/* A2) 如果你 bottom 外层也有边框/阴影（兜底清理） */
.fmml-bottom{
  border: 0 !important;
  box-shadow: none !important;
}

/* B1) 整页用“真实视口高度”铺满（移动端更稳：svh/dvh） */
.fmml{
  height: 100svh !important;
  min-height: 100svh !important;
  display: flex !important;
  flex-direction: column !important;
}

/* B2) 固定上半区/下半区高度：默认 50/50（你要改比例只动 --fmml-hero-h） */
body.auth-m-login{
  --fmml-hero-h: 50svh;
  --fmml-bottom-h: calc(100svh - var(--fmml-hero-h));
}

/* Hero 固定高度 */
.fmml-hero{
  flex: 0 0 var(--fmml-hero-h) !important;
  height: var(--fmml-hero-h) !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* Bottom 固定占满剩余高度 */
.fmml-bottom{
  flex: 0 0 var(--fmml-bottom-h) !important;
  height: var(--fmml-bottom-h) !important;
  min-height: 0 !important;

  /* padding 随屏高微调，屏越高留白越舒适 */
  padding-top: clamp(10px, 2.2vh, 18px) !important;
  padding-bottom: clamp(12px, 2.8vh, 22px) !important;
  overflow: auto;                   /* 小屏不爆，底部可滚 */
  -webkit-overflow-scrolling: touch;
}

/* B3) card 让自己撑满 bottom，高屏时内容“分布更满” */
.fmml-card{
  height: 100% !important;
  padding-top: clamp(12px, 2.0vh, 18px) !important;
  padding-bottom: clamp(12px, 2.6vh, 20px) !important;
}

/* B4) 让每个 View/表单也吃满高度，下面的 links 自动贴底（视觉更“铺满屏”） */
.fmml-view{
  height: 100% !important;
}
.fmml-view.is-active{
  display: flex !important;
  flex-direction: column !important;
}
.fmml-view.is-active .fmml-form{
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

/* B5) 内部间距随屏高自适应（你说“根据屏幕高度去调整间距”） */
.fmml-field{ margin: clamp(8px, 1.6vh, 12px) 0 !important; }
.fmml-sns{ margin-top: clamp(10px, 2.0vh, 16px) !important; }
.fmml-terms{ margin-top: clamp(10px, 2.2vh, 16px) !important; }

/* ✅ links 自动贴底：高屏不会漂在中间，整体更“满” */
.fmml-links{
  margin-top: auto !important;
  padding-bottom: env(safe-area-inset-bottom);
}

/* B6) 再兜底一层：整页白底一致（避免任何漏色） */
body.auth-m-login,
.fmml,
.fmml-bottom{ background:#fff !important; }
.fmml-wave path{ fill:#fff !important; }
/* =========================
   PATCH-4：放大后要“边距/完整1-2行 + 牺牲第3行”
   + bullets 文案完全无背景无模糊
   ========================= */

/* 1) 背景三行：改成“1/2行更高，3行更矮” */
.fmml{
  /* 你继续用 220%（要更大就 240%） */
  --fmml-flow-size: 220% auto;

  /* 三行高度占比（fr 比例）：你要牺牲第3行就把它调小 */
  --fmml-row1-fr: 46;
  --fmml-row2-fr: 46;
  --fmml-row3-fr: 8;

  /* 行间距：你说要短一点就 4~6px */
  --fmml-row-gap: 6px;

  /* 三行裁切位置仍然按你 20/0/40（需要更“完整”就微调 1/2 行） */
  --fmml-r1-pos: 20%;
  --fmml-r2-pos: 0%;
  --fmml-r3-pos: 40%;
}

/* 用 grid 精准控制三行高度（比 flex+负 margin 稳定） */
.fmml-flow{
  display: grid !important;
  grid-template-rows:
    calc(var(--fmml-row1-fr) * 1fr)
    calc(var(--fmml-row2-fr) * 1fr)
    calc(var(--fmml-row3-fr) * 1fr) !important;
  gap: var(--fmml-row-gap) !important;
}

/* 禁用你之前那种负 margin 叠行，避免放大后“挤压/脏边” */
.fmml-row + .fmml-row{ margin-top: 0 !important; }

/* 三行的裁切位置改成变量，可微调到“更完整” */
.fmml-r1 .fmml-flow-panel{ background-position: center var(--fmml-r1-pos) !important; }
.fmml-r2 .fmml-flow-panel{ background-position: center var(--fmml-r2-pos) !important; }
.fmml-r3 .fmml-flow-panel{ background-position: center var(--fmml-r3-pos) !important; }

/* 额外：第3行再弱一点（你说可以牺牲它换1/2行） */
.fmml-r3{ opacity: .85; }

/* 2) bullets：完全不要任何“玻璃/模糊/透明底”背景（box/ul/li 全清） */
.fmml-bulletbox{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* 你的旧代码里有 ::before/::after 细线、短线，这里也清掉 */
.fmml-bulletbox::before,
.fmml-bulletbox::after{ display: none !important; }

.fmml-bulletbox .fmml-bullets{
  background: transparent !important;
}
.fmml-bulletbox .fmml-bullets::before{ display:none !important; }

.fmml-bulletbox .fmml-bullets li{
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* 如果你之前做过“每行暗条”的 padding/radius，这里也强制归零（只保留排版） */
.fmml-bulletbox .fmml-bullets li{
  border-radius: 0 !important;
}

