    :root{
      --bg:#f4f7fb;
      --panel:#ffffff;
      --panel-soft:rgba(255, 255, 255, .72);
      --primary:#1f6feb; /* 主蓝 */
      --primary-strong:#0b5ad9;
      --accent:#2aa8ff; /* 亮蓝 */
      --text:#0b1b33;
      --muted:#4f6380;
      --shadow:0 12px 30px rgba(13, 50, 102, .12);
      --shadow-strong:0 18px 44px rgba(13, 50, 102, .18);
      --hover-shadow:0 10px 22px rgba(31,111,235,.22);
      --hover-border:rgba(31,111,235,.35);
      --radius:16px;
    }
    *{box-sizing:border-box}
    img{ -webkit-user-drag:none; user-select:none; }
    @media print{ body{ display:none !important; } }
    html,body{height:100%;}
    body{
      margin:0;
      background:
        radial-gradient(900px 500px at 10% -10%, rgba(31,111,235,.16), transparent 60%),
        radial-gradient(900px 500px at 110% 0%, rgba(42,168,255,.14), transparent 60%),
        linear-gradient(180deg, #f6f9ff 0%, #eef3fb 45%, #f7f9fc 100%);
      color:var(--text);
      font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
      line-height:1.6;
      -webkit-tap-highlight-color: transparent;
    }

    /* 背景粒子层 */
    canvas#bg-particles{position:fixed;inset:0;z-index:-1;opacity:.75;filter: blur(.2px);}
    /* 固定顶部区域与滚动卡片区 */
    body{ overflow:hidden; }
    .fixed-area{
      position:fixed;
      top:0; left:0; right:0;
      z-index:10;
      background: transparent;
    }
    .cards-scroll{
      position:fixed;
      left:0; right:0; bottom:0;
      overflow:auto;
      -webkit-overflow-scrolling: touch;
    }
    .top-bg{
      position:fixed;
      top:60px;
      left:0;
      right:0;
      height:320px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,.75) 70%),
        url('https://n-g.vip/bjbj.webp') center top/cover no-repeat;
      opacity:.85;
      z-index:-2;
      pointer-events:none;
      filter: saturate(1.05);
    }

    /* 顶部栏 */
    header{
      position:sticky; top:0; z-index:20;
      background:
        linear-gradient(180deg, rgba(220,232,250,.98), rgba(200,218,245,.9));
      backdrop-filter: blur(10px);
      border-bottom:1px solid rgba(15, 40, 90, .1);
      box-shadow: 0 10px 26px rgba(15, 40, 90, .08);
      position: relative;
      overflow: hidden;
    }
    header::before{
      content:"";
      position:absolute; inset:0;
      background:
        linear-gradient(120deg, rgba(31,111,235,.12), transparent 60%),
        repeating-linear-gradient(90deg, rgba(15,40,90,.08) 0 1px, transparent 1px 24px),
        repeating-linear-gradient(0deg, rgba(15,40,90,.06) 0 1px, transparent 1px 18px);
      opacity:.95;
      pointer-events:none;
    }
    header::after{
      content:"";
      position:absolute; left:0; right:0; bottom:0; height:2px;
      background: linear-gradient(90deg, transparent, rgba(31,111,235,.6), transparent);
      opacity:.8;
      pointer-events:none;
    }
    .nav{
      max-width:1200px; margin:0 auto; padding:10px 20px;
      display:flex; align-items:center; justify-content:space-between; gap:16px;
      position: relative; z-index: 1;
    }
    .brand{display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:.6px;}
    .brand .logo{
      width:38px; aspect-ratio:1/1; border-radius:50%;
      display:grid; place-items:center; color:#fff; font-weight:900;
      background: radial-gradient(circle at 30% 30%, rgba(42,168,255,.9), transparent 55%),
                  radial-gradient(circle at 70% 70%, rgba(31,111,235,.9), transparent 55%),
                  #0b4db8;
      box-shadow: var(--shadow);
    }
    .brand .title{font-size:18px; color:#0b1b33; text-shadow:0 2px 12px rgba(31,111,235,.18)}

    .nav-links{display:flex; gap:12px; flex-wrap:wrap}
    .nav-links a{
      color:#0b1b33; text-decoration:none; padding:9px 14px; border-radius:14px;
      border:1px solid rgba(15, 40, 90, .18);
      transition:.25s ease; font-weight:700; font-size:14px;
      background: #ffffff;
      box-shadow: 0 10px 20px rgba(15, 40, 90, .18);
      backdrop-filter: blur(6px);
    }
    .nav-links a:hover{ color:#0b1b33; border-color:var(--hover-border); box-shadow:var(--hover-shadow)}

    /* 轮播 */
    .carousel{ max-width:1200px; margin:2px auto 6px; padding:0 20px; }
    .carousel-wrap{ position:relative; border-radius:var(--radius); overflow:hidden; box-shadow: var(--shadow); border:1px solid rgba(15, 40, 90, .08); background:#fff; }
    .slides, .car-btn, .dots{ position:relative; z-index:1; }
    .slides{ display:flex; transition: transform .6s ease; }
    .slide{ min-width:100%; height:42vw; max-height:420px; background:#eaf1ff; position:relative; }
    .slide img{ 
      width:100%; 
      height:100%; 
      object-fit:cover; 
      display:block; 
      image-rendering: auto;
      image-rendering: -webkit-optimize-contrast;
      image-rendering: crisp-edges;
      -webkit-backface-visibility: hidden;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
    }

    .car-btn{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; border:1px solid rgba(15, 40, 90, .12); background:rgba(255,255,255,.8); color:#0b1b33; display:grid; place-items:center; cursor:pointer; box-shadow:var(--shadow); transition: transform .42s cubic-bezier(.22,1,.36,1), background .34s cubic-bezier(.22,1,.36,1), box-shadow .42s cubic-bezier(.22,1,.36,1), border-color .34s cubic-bezier(.22,1,.36,1); }
    .car-btn:hover{ background:rgba(31,111,235,.12); box-shadow:var(--hover-shadow)}
    .car-prev{ left:12px; }
    .car-next{ right:12px; }

    .dots{ position:absolute; bottom:10px; left:0; right:0; display:flex; gap:8px; justify-content:center; }
    .dot{ width:10px; height:10px; border-radius:50%; background:rgba(15, 40, 90, .15); border:1px solid rgba(15, 40, 90, .2); cursor:pointer; transition: transform .46s cubic-bezier(.22,1,.36,1), background .34s cubic-bezier(.22,1,.36,1), box-shadow .34s cubic-bezier(.22,1,.36,1), border-color .34s cubic-bezier(.22,1,.36,1); }
    .dot.active{ background:var(--primary); box-shadow:0 0 12px rgba(31,111,235,.35); transform: scale(1.18); }

    /* 区块标题 */
    .section{ max-width:1200px; margin:10px auto; padding:0 20px; }
    .section h2{ font-size:18px; margin:6px 0 6px; color:#0b1b33; text-shadow:none}
    .section-head{
      display:flex;
      justify-content:center;
      align-items:center;
      gap:12px;
      margin:6px 0 10px;
    }
.category-tabs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
  padding:6px;
  border-radius:14px;
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(245,250,255,.7));
  border:1px solid rgba(15, 40, 90, .08);
  box-shadow: 0 10px 22px rgba(31,111,235,.14);
}
.tab-btn{
  padding:6px 12px;
  border-radius:10px;
  border:1px solid rgba(15, 40, 90, .12);
  background: rgba(255,255,255,.9);
  color:#0b1b33;
  font-weight:700;
  font-size:12px;
  cursor:pointer;
  box-shadow: 0 4px 10px rgba(31,111,235,.1);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tab-btn.active{
  background: linear-gradient(90deg, var(--primary-strong), var(--accent));
  color:#fff;
  border-color: rgba(31,111,235,.35);
  box-shadow: 0 8px 16px rgba(31,111,235,.22);
  transform: translateY(-1px);
}

    /* 让卡片区标题更贴近热门轮播 */
    #cardsScroll .section h2{
      margin-top:2px;
      margin-bottom:4px;
    }

    /* 卡片栅格（按钮区） */
    .card-grid{ display:flex; flex-direction:column; gap:10px; }
    .card-row{
      position:relative;
      display:grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap:6px;
      padding:8px 10px;
      border-radius:16px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,250,255,.86));
      border:1px solid rgba(15, 40, 90, .08);
      box-shadow: 0 10px 22px rgba(31,111,235,.14);
    }

    .card{
      background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,251,255,.95));
      border:1px solid rgba(15, 40, 90, .08);
      border-radius:12px; padding:6px 4px; display:flex; flex-direction:column; gap:4px; align-items:center; text-align:center;
      box-shadow: 0 6px 14px rgba(31,111,235,.12);
      transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
      position: relative;
      overflow: hidden;
      text-decoration:none;
      color: inherit;
    }
    .card:hover{ transform: translateY(-4px); border-color: rgba(31,111,235,.25); box-shadow: var(--shadow-strong); }

    .avatar{ width:42px; height:42px; border-radius:10px; border:2px solid rgba(31,111,235,.18); box-shadow:0 6px 12px rgba(31,111,235,.16); flex: none; background:#eef4ff; object-fit:cover }

    .title{ font-weight:700; color:#0b1b33; font-size:11px; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100% }

    /* 新增卡片按钮（浮动） */
    .fab{ position:fixed; right:18px; bottom:18px; z-index:15; }
    .fab button{
      width:56px; height:56px; border-radius:50%; border:1px solid rgba(31,111,235,.25);
      background: radial-gradient(circle at 30% 30%, rgba(42,168,255,.9), transparent 55%), #0b4db8;
      color:#fff; font-weight:900; cursor:pointer; box-shadow: var(--shadow-strong);
    }

    /* 弹窗 */
    .dialog-backdrop{ position:fixed; inset:0; background:rgba(20,40,80,.28); backdrop-filter:blur(4px); display:none; align-items:center; justify-content:center; z-index:25; }
    .dialog{ width:min(580px, 92vw); background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.98)); border:1px solid rgba(15, 40, 90, .12); border-radius:18px; padding:16px; box-shadow: var(--shadow-strong)}
    .dialog h3{ margin:0 0 10px; text-shadow:none}
    .form{ display:grid; grid-template-columns:1fr 1fr; gap:12px }
    .form .full{ grid-column:1/-1 }
    label{ font-size:12px; color:var(--muted) }
    input[type="text"], textarea, input[type="number"]{
      width:100%; padding:10px 12px; border-radius:12px; border:1px solid rgba(15, 40, 90, .12); background:rgba(255,255,255,.9); color:#0b1b33; outline:none;
    }
    textarea{ min-height:84px; resize:vertical }
    .uploader{ display:flex; gap:10px; align-items:center }
    .uploader input{ display:block }
    .preview{ width:60px; height:60px; border-radius:50%; border:2px dashed rgba(31,111,235,.25); display:grid; place-items:center; color:var(--muted); font-size:12px; overflow:hidden }
    .preview img{ width:100%; height:100%; object-fit:cover }

    .dlg-actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:12px }
    .btn{ padding:10px 14px; border-radius:12px; border:1px solid rgba(15, 40, 90, .12); cursor:pointer; font-weight:700 }
    .btn.secondary{ background:rgba(255,255,255,.9); color:#0b1b33 }
    .btn.primary{ background: linear-gradient(90deg, var(--primary-strong), var(--accent)); color:#fff; box-shadow:0 10px 20px rgba(31,111,235,.25) }
    .btn.primary:hover{ box-shadow: var(--hover-shadow); }

    /* 轻水印（基础防抄袭，可关闭） */
    .wm{ position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.06; background-image: repeating-linear-gradient( 45deg, transparent 0 40px, rgba(31,111,235,.25) 40px 41px ), repeating-linear-gradient( -45deg, transparent 0 40px, rgba(42,168,255,.22) 40px 41px ); }

    /* 底部品牌信息区 */
    .site-footer{
      max-width:1200px;
      margin:6px auto 18px;
      padding:0 20px;
    }
    .brand-footer{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:6px;
      background: transparent;
      border:none;
      border-radius:0;
      padding:6px 0;
      box-shadow: none;
      color:#6b7a92;
      font-size:12px;
      text-align:center;
    }
    .brand-footer .logo{
      width:auto;
      max-width:120px;
      height:24px;
      border-radius:6px;
      overflow:hidden;
      border:1px solid rgba(15, 40, 90, .12);
      background:#fff;
      padding:2px 6px;
      display:flex;
      align-items:center;
    }
    .brand-footer .logo img{ width:auto; height:100%; object-fit:contain; display:block; }
    .brand-footer .text{ display:flex; flex-direction:column; gap:2px; align-items:center; }
    .brand-footer .name{ font-weight:700; font-size:12px; color:#4f6380; }
    .brand-footer .desc{ font-size:11px; color:#7b8aa3; }
    .brand-footer .copy{ font-size:11px; color:#7b8aa3; white-space:nowrap; }
        /* 限制选择复制（表单除外） */
    .no-select{ user-select:none }
    .no-select input, .no-select textarea{ user-select:text }
    /* 顶部主按钮（导航 / 关于合并版） */
.nav-main-btn{
  color:#0b1b33 !important;
  font-weight:800;
  padding:10px 20px;
  border-radius:14px;
  background: #ffffff;
  box-shadow: 0 16px 30px rgba(15, 40, 90, .22);
  border:1px solid rgba(15, 40, 90, .22);
  position:relative;
  overflow:hidden;
  text-shadow: none;
  transition: transform .42s cubic-bezier(.22,1,.36,1), box-shadow .42s cubic-bezier(.22,1,.36,1), border-color .34s cubic-bezier(.22,1,.36,1), background .34s cubic-bezier(.22,1,.36,1);
}

/* hover 发光 */
.nav-main-btn:hover{
  transform: translateY(-1px);
  box-shadow: var(--hover-shadow);
}

/* 轻微流光效果 */
.nav-main-btn::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    120deg,
    transparent 30%,
    rgba(255,255,255,.45),
    transparent 70%
  );
  transform: translateX(-120%);
  transition: .6s ease;
}

.nav-main-btn:hover::after{
  transform: translateX(120%);
}
.brand-logo {
  height: 40px;
  background: transparent;
  filter: drop-shadow(0 6px 14px rgba(31,111,235,.25));
}
/* 域名限制提示 */
.domain-lock{
  position:fixed; inset:0; z-index:999;
  display:flex; align-items:center; justify-content:center;
  background: rgba(6, 14, 28, .86);
  color:#fff; text-align:center; padding:20px;
}
.domain-lock .box{
  max-width:520px; background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.15);
  border-radius:16px; padding:24px 20px;
  box-shadow: 0 20px 50px rgba(0,0,0,.35);
}
.domain-lock .title{font-size:18px; font-weight:800; margin-bottom:8px;}
.domain-lock .desc{font-size:14px; opacity:.85;}
.marquee-wrap {
  width: 100%;
  overflow: hidden;
  background: linear-gradient(90deg, #2b6fe9, #4aa3ff);
  border-radius: 10px;
  padding: 6px 10px 6px 58px;
  box-shadow: 0 10px 22px rgba(31,111,235,.2);
  border:1px solid rgba(15, 40, 90, .08);
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  position:relative;
}
.marquee-wrap::before{
  content:"";
  position:absolute;
  left:-18px; top:0; bottom:0;
  width:70px;
  background: linear-gradient(135deg, #ff4d4d, #ff8a3d);
  border-radius:10px;
  z-index:1;
}
.marquee-wrap.no-badge{
  padding: 2px 10px;
  min-height:28px;
}
.marquee-wrap.no-badge::before{
  content:none;
}
.marquee-wrap.compact{ margin-top:6px; }

.marquee {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  animation: marqueeMove 6s linear infinite;
  padding-left: 6px;
  z-index:2;
}

.coin-icon {
  display: inline-flex;
  align-items: center;
  gap:6px;
  height:40px;
  padding:0 12px;
  margin: 0;
  border-radius:10px;
  background: transparent;
  color:#fff;
  font-weight:700;
  font-size:13px;
  box-shadow:none;
  flex:0 0 auto;
  z-index:3;
  position:relative;
}

.marquee-text {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  letter-spacing: .5px;
  text-shadow:
    0 1px 0 rgba(0,0,0,.2),
    0 6px 16px rgba(0,0,0,.18);
}

/* 图标轮播 */
.icon-ticker{
  margin-top:4px;
  margin-bottom:2px;
  background: rgba(255,255,255,.92);
  border:1px solid rgba(15, 40, 90, .08);
  border-radius:14px;
  box-shadow: 0 10px 24px rgba(31,111,235,.16);
  padding:10px 12px;
  overflow:hidden;
  position:relative;
  touch-action: pan-y;
}
.icon-ticker .ticker-status{
  position:absolute;
  right:10px; top:6px;
  background: rgba(0,0,0,.45);
  color:#fff;
  font-size:11px;
  padding:2px 6px;
  border-radius:8px;
  opacity:0;
  transition: opacity .2s ease;
  pointer-events:none;
}
.icon-ticker.paused .ticker-status{ opacity:1; }
.icon-ticker.compact{ margin-top:6px; margin-bottom:6px; }
.icon-track{
  display:flex;
  gap:14px;
  align-items:center;
  will-change: transform;
}
.icon-item{
  flex:0 0 auto;
  width:52px;
  height:52px;
  border-radius:50%;
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(243,248,255,.95));
  border:1px solid rgba(15, 40, 90, .1);
  box-shadow: 0 8px 18px rgba(31,111,235,.14);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.icon-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(31,111,235,.2);
}
.icon-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}

@keyframes marqueeMove {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* ===== iOS Glassmorphism Theme Override ===== */
:root{
  --bg:#edf3ff;
  --panel:rgba(255,255,255,.7);
  --panel-soft:rgba(255,255,255,.5);
  --primary:#2f7bff;
  --primary-strong:#1f6bff;
  --accent:#5fb4ff;
  --text:#0f1e3a;
  --muted:#4b6288;
  --shadow:0 10px 22px rgba(37,79,152,.12);
  --shadow-strong:0 16px 36px rgba(29,67,132,.18);
  --hover-shadow:0 12px 24px rgba(47,123,255,.2);
  --hover-border:rgba(47,123,255,.32);
}

body{
  background:
    radial-gradient(1200px 520px at -10% -8%, rgba(96,165,250,.22), transparent 62%),
    radial-gradient(900px 460px at 110% 2%, rgba(125,211,252,.18), transparent 60%),
    linear-gradient(180deg,#f6f9ff 0%,#eef3ff 42%,#edf3ff 100%);
  font-family:"SF Pro Display","SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}

header{
  background:linear-gradient(180deg, rgba(236,244,255,.78), rgba(220,234,252,.7));
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  border-bottom:1px solid rgba(255,255,255,.6);
  box-shadow: 0 6px 18px rgba(31,81,168,.1);
}

.nav-main-btn{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.72);
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(241,248,255,.72));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 10px 24px rgba(28,72,142,.2);
}

.carousel-wrap{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.65);
  background: linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.28));
  backdrop-filter: blur(10px) saturate(1.08);
  -webkit-backdrop-filter: blur(10px) saturate(1.08);
  box-shadow: 0 14px 30px rgba(25,61,126,.18);
}

.car-btn{
  border:1px solid rgba(255,255,255,.66);
  background:rgba(255,255,255,.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.car-btn:hover{
  transform: translateY(-50%) scale(1.06);
}

.marquee-wrap{
  border-radius:14px;
  border:1px solid rgba(255,255,255,.65);
  background: linear-gradient(120deg, rgba(44,115,255,.82), rgba(89,178,255,.78));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.3),
    0 8px 18px rgba(42,105,214,.2);
}

.icon-ticker{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.62);
  background: linear-gradient(180deg, rgba(255,255,255,.58), rgba(247,251,255,.48));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.icon-item{
  border:1px solid rgba(255,255,255,.74);
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(245,250,255,.64));
  box-shadow: 0 8px 20px rgba(31,88,183,.14);
}

#cardsScroll .section h2{
  color:#122248;
  letter-spacing:.8px;
}

.card{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.66);
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(245,250,255,.85));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 14px 30px rgba(26,68,138,.13);
  opacity:0;
  animation: iosCardIn .62s cubic-bezier(.22,1,.36,1) forwards;
  animation-delay: var(--stagger, 0ms);
}

.card:hover{
  transform: translateY(-3px) scale(1.01);
  border-color: rgba(84,151,255,.48);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    0 16px 36px rgba(37,92,184,.2);
}

.card .go{
  border-radius:14px;
  border:1px solid rgba(255,255,255,.48);
  background: linear-gradient(110deg, #2f7bff 0%, #50a8ff 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.26),
    0 8px 18px rgba(47,123,255,.34);
}

@keyframes iosCardIn{
  0%{
    opacity:0;
    transform: translateY(12px) scale(.985);
  }
  68%{
    opacity:1;
    transform: translateY(-1px) scale(1.003);
  }
  100%{
    opacity:1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce){
  .card{
    animation:none;
    opacity:1;
    transform:none;
  }
}

.brand-footer .logo{
  border-radius:10px;
  border:1px solid rgba(255,255,255,.72);
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(245,250,255,.72));
}

.brand-footer .name{
  color:#243f6f;
}

@media (max-width:768px){
  .carousel-wrap{ border-radius:18px; }
  .card{ border-radius:16px; }
}

/* ===== Template V2: Neo Glass Board ===== */
body{
  background:
    radial-gradient(1000px 540px at -20% -10%, rgba(56,189,248,.25), transparent 60%),
    radial-gradient(860px 480px at 120% 6%, rgba(37,99,235,.24), transparent 62%),
    linear-gradient(160deg, #eef4ff 0%, #e8effd 48%, #edf3ff 100%);
}

.fixed-area{
  background: linear-gradient(180deg, rgba(236,244,255,.82), rgba(236,244,255,0));
}

header{
  max-width:1200px;
  margin:8px auto 4px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.75);
  box-shadow: 0 12px 28px rgba(26,69,138,.14);
}

header::after{
  height:1px;
  opacity:.5;
}

.nav{
  padding:10px 18px;
}

.brand-logo{
  height:40px;
  filter: drop-shadow(0 8px 16px rgba(31,111,235,.16));
}

.nav-main-btn{
  min-width:120px;
  border-radius:14px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.4px;
}

.carousel{
  margin:2px auto 2px;
}

.carousel-wrap{
  border-radius:26px;
  box-shadow: 0 26px 46px rgba(30,78,158,.22);
}

.slide{
  height:36vw;
  min-height:220px;
  max-height:380px;
}

.car-btn{
  width:48px;
  height:48px;
}

#apps.section{
  margin-top:6px;
  margin-bottom:2px;
}

.marquee-wrap{
  min-height:32px;
  border-radius:12px;
  padding:3px 10px;
}

.marquee-text{
  font-size:13px;
  font-weight:700;
}

.icon-ticker{
  margin-top:4px;
  border-radius:14px;
  padding:6px 8px;
}

.icon-track{
  gap:10px;
}

.icon-item{
  width:46px;
  height:46px;
}

.cards-scroll .section{
  margin-top:0;
  padding-top:0;
}

#cardsScroll .section h2{
  margin-top:0;
  margin-bottom:10px;
  font-size:30px;
  font-weight:900;
  letter-spacing:1px;
  color:#0f2250;
}

.card-grid{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:6px;
}

.card-row{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:6px;
  padding:8px 10px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.66);
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(245,250,255,.85));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    0 14px 28px rgba(26,68,138,.12);
}

@media (min-width:1025px){
  .card-grid{ gap:8px; }
  .card-row{
    gap:4px;
    padding:3px 4px;
    border-radius:10px;
  }
  .card{
    padding:3px 2px;
    gap:2px;
    border-radius:8px;
  }
  .avatar{ width:34px; height:34px; }
  .title{ font-size:9.5px; }
}

.card{
  border-radius:14px;
  padding:6px 4px;
  gap:4px;
  align-items:center;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  transition: transform .28s ease, box-shadow .24s ease;
  will-change: transform;
}

.card::after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(circle at center, rgba(47,123,255,.25), transparent 60%);
  opacity:0;
  transform: scale(0.7);
  transition: opacity .24s ease, transform .24s cubic-bezier(.2,1.2,.3,1);
  pointer-events:none;
}

.card:active{
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(47,123,255,.28);
  filter: brightness(1.02) saturate(1.08);
}

.card:active::after{
  opacity:1;
  transform: scale(1.05);
}

.avatar{
  width:42px;
  height:42px;
}

    .title{
      font-size:11px;
      line-height:1.2;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      max-width:100%;
    }

    .rec-badge{
      position:absolute;
      left:0;
      top:0;
      width:34px;
      height:34px;
      background: linear-gradient(135deg, #ff3b30, #ff8a3d);
      clip-path: polygon(0 0, 100% 0, 0 100%);
      display:flex;
      align-items:flex-start;
      justify-content:flex-start;
      padding:0;
      overflow:hidden;
    }
    .rec-badge-text{
      position:absolute;
      left:2px;
      top:12px;
      color:#fff;
      font-weight:800;
      font-size:10px;
      letter-spacing:.4px;
      text-shadow:0 2px 6px rgba(0,0,0,.35);
      -webkit-text-stroke: 0.4px rgba(0,0,0,.2);
      transform: rotate(-45deg) translate(-4px, -2px);
      transform-origin: 0 0;
    }

.site-footer{
  margin-top:8px;
}

@media (max-width:1200px){
  #cardsScroll .section h2{ font-size:30px; }
}

@media (max-width:1024px){
  .card-row{ grid-template-columns: repeat(4, minmax(0,1fr)); }
  #cardsScroll .section h2{ font-size:26px; }
  .title{ font-size:11px; }
  .avatar{ width:40px; height:40px; }
}

@media (max-width:768px){
  header{ margin:0 auto 4px; border-radius:0 0 16px 16px; }
  .nav{ padding:8px 12px; }
  .brand-logo{ height:28px; }
  .nav-main-btn{ font-size:12px; min-width:86px; padding:7px 10px; border-radius:10px; }
  .carousel{ padding:0 10px; margin:2px auto 2px; }
  .slide{ min-height:160px; max-height:220px; height:44vw; }
  .car-btn{ width:36px; height:36px; }
  #apps.section{ padding:0 10px; margin-top:2px; }
  .marquee-wrap{ min-height:28px; border-radius:10px; }
  .marquee{
    animation: marqueeMove 6s linear infinite;
    width:auto;
    justify-content:flex-start;
    padding-left:6px;
  }
  .marquee-text{
    font-size:11px;
    white-space:nowrap;
  }
  .icon-ticker{ margin-top:4px; padding:6px 8px; }
  .icon-item{ width:40px; height:40px; }
  #cardsScroll .section{ padding:0 10px; }
  #cardsScroll .section h2{ font-size:18px; margin-bottom:8px; }
  .card-row{ grid-template-columns: repeat(4, minmax(0, 1fr)); gap:6px; }
  .card{
    padding:6px 4px;
    gap:4px;
    border-radius:12px;
  }
  .avatar{ width:38px; height:38px; }
  .title{
    font-size:10px;
    line-height:1.2;
  }
}

@media (max-width:420px){
  .card-row{ grid-template-columns: repeat(4, minmax(0,1fr)); }
  .card{ padding:5px 3px; }
  .title{ font-size:10px; }
}



/* ===== sr-only utility (seo) ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============================================================
   主页链接 logo 图标：hover 时呼吸旋转放大
   ============================================================ */
.card .avatar,
.icon-item img,
.ng-platform-logo-link img{ transition:transform .3s cubic-bezier(.34,1.56,.64,1); will-change:transform; }
.card:hover .avatar,
.icon-item:hover img,
.ng-platform-logo-link:hover img{
  animation:linkLogoBreathe .9s ease-in-out infinite alternate;
  filter:drop-shadow(0 0 10px rgba(124,102,255,.55));
}
@keyframes linkLogoBreathe{
  0%{ transform:scale(1) rotate(0deg); }
  50%{ transform:scale(1.18) rotate(10deg); }
  100%{ transform:scale(1.28) rotate(-8deg); }
}
/* ============================================================
   浅色主题（白天 6:00-18:00）— 参考 n2.n9991.cc
   ============================================================ */
body.theme-light{
  --ng-primary:#2f6bff;
  --ng-primary-strong:#2358d8;
  --ng-bg:#f4f7fb;
  --ng-card:#ffffff;
  --ng-text:#101828;
  --ng-muted:#667085;
  --ng-line:#e4eaf2;
  --ng-surface:#ffffff;
  --ng-surface-soft:#f7f9fd;
  --ng-shadow:0 14px 36px rgba(16,24,40,.08);
  --ng-hover-shadow:0 14px 30px rgba(47,123,255,.18);
}

/* 全局背景与文字 */
body.theme-light{ background:#eef2f9 !important; color:#101828 !important; }
body.theme-light .top-bg{ opacity:.28 !important; }
body.theme-light .wm{ opacity:.05 !important; }
body.theme-light #bg-particles{ opacity:.35; }

/* 顶部固定区 */
body.theme-light .fixed-area{
  background:linear-gradient(180deg,#e8eef9 0%, rgba(238,242,249,.92) 60%, rgba(238,242,249,0)) !important;
}
body.theme-light header{
  background:linear-gradient(145deg, rgba(47,107,255,.08), rgba(255,255,255,.6) 50%, rgba(47,107,255,.05)) !important;
  border-bottom:1px solid rgba(47,107,255,.12) !important;
  box-shadow:0 2px 12px rgba(47,107,255,.08) !important;
}
body.theme-light header::after{
  background:linear-gradient(90deg,transparent,rgba(47,107,255,.35),transparent) !important;
}
body.theme-light .nav-share-btn{
  background:linear-gradient(120deg,#2f6bff,#5b44e0) !important;
  border-color:rgba(47,107,255,.3) !important;
}
body.theme-light .ng-theme-hero-art{ opacity:.5; }

/* 轮播 */
body.theme-light .carousel-wrap{ box-shadow:0 10px 30px rgba(47,107,255,.15); }
body.theme-light .car-btn{
  background:rgba(255,255,255,.75) !important; color:#2f6bff !important;
  border:1px solid rgba(47,107,255,.25) !important;
}
body.theme-light .car-btn:hover{ background:rgba(47,107,255,.12) !important; }
body.theme-light .dot{ background:rgba(47,107,255,.2) !important; border-color:rgba(47,107,255,.25) !important; }
body.theme-light .dot.active{ background:#2f6bff !important; box-shadow:0 0 10px rgba(47,107,255,.5) !important; }

/* 跑马灯 */
body.theme-light .marquee-wrap{
  background:linear-gradient(90deg,rgba(47,107,255,.08),rgba(91,68,224,.08)) !important;
  border:1px solid rgba(47,107,255,.15) !important;
}
body.theme-light .marquee-wrap::before{ background:linear-gradient(135deg,#2f6bff,#5b44e0) !important; }
body.theme-light .marquee-text{ color:#2a4a8f !important; }
body.theme-light .ticker-status{
  background:rgba(47,107,255,.1) !important; color:#2f6bff !important;
  border:1px solid rgba(47,107,255,.2) !important;
}

/* 图标滚动条 */
body.theme-light .icon-ticker{
  background:rgba(255,255,255,.7) !important;
  border:1px solid rgba(47,107,255,.12) !important;
  box-shadow:0 4px 14px rgba(47,107,255,.06) !important;
}
body.theme-light .icon-item{ background:rgba(244,247,251,.8); border-radius:50%; }

/* 分类标签 */
body.theme-light .tab-btn{
  background:rgba(255,255,255,.8) !important; color:#4a5e7f !important;
  border:1px solid rgba(47,107,255,.15) !important;
}
body.theme-light .tab-btn:hover{ background:rgba(47,107,255,.1) !important; color:#2f6bff !important; }
body.theme-light .tab-btn.active{
  background:linear-gradient(120deg,#2f6bff,#5b44e0) !important; color:#fff !important;
  border-color:transparent !important; box-shadow:0 6px 16px rgba(47,107,255,.3) !important;
}

/* 卡片滚动区：透明，让 body 波点透出 */
body.theme-light .cards-scroll{
  background:transparent !important;
}
body.theme-light .card{
  background:#fff !important;
  border:1px solid #e4eaf2 !important;
  box-shadow:0 4px 16px rgba(16,24,40,.06) !important;
}
body.theme-light .card:hover{
  border-color:rgba(47,107,255,.35) !important;
  box-shadow:0 14px 30px rgba(47,123,255,.18) !important;
  transform:translateY(-3px);
}
body.theme-light .card .title{ color:#101828 !important; }
body.theme-light .card .avatar{ box-shadow:0 4px 12px rgba(16,24,40,.1); }
body.theme-light .rec-badge{
  background:linear-gradient(120deg,#ff6b6b,#ee5a6f) !important;
}

/* 底部导航 */
body.theme-light .ng-bottom-nav::before{
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 -8px 24px rgba(47,107,255,.1) !important;
  border-top:1px solid rgba(47,107,255,.1);
}
body.theme-light .ng-bottom-nav__label{
  color:#667085 !important; background:#f0f3f9 !important;
  border:1px solid rgba(47,107,255,.15) !important;
}
body.theme-light .ng-bottom-nav__item[aria-current="page"] .ng-bottom-nav__label{
  border-color:#2f6bff !important;
  background:linear-gradient(180deg,#2f6bff,#2358d8) !important; color:#fff !important;
}
body.theme-light .ng-bottom-nav__item[aria-current="page"]::after{ background:#2f6bff !important; }

/* 页脚 */
body.theme-light .site-footer{ color:#667085 !important; }
body.theme-light .brand-footer .name{ color:#2a4a7f !important; }
body.theme-light .brand-footer .desc,
body.theme-light .brand-footer .copy{ color:#8896ad !important; }

/* ===== 所有 service-view 子页面 ===== */
body.theme-light .service-view{
  background:
    radial-gradient(1000px 600px at 12% -6%, rgba(47,107,255,.1), transparent 44%),
    linear-gradient(160deg,#eef2f9 0%,#f4f7fb 55%,#eef2f9 100%) !important;
}
body.theme-light .svc-title{ color:#101828 !important; }
body.theme-light .svc-title span{ color:#2f6bff !important; }
body.theme-light .svc-title::after{ background:linear-gradient(90deg,#2f6bff,#38bdf8) !important; }
body.theme-light .svc-card{
  background:#fff !important; border:1px solid #e4eaf2 !important;
  box-shadow:0 8px 22px rgba(16,24,40,.06) !important;
}
body.theme-light .svc-meta strong{ color:#101828 !important; }
body.theme-light .svc-meta em{ color:#667085 !important; }
body.theme-light .svc-btn--primary{
  background:linear-gradient(135deg,#2f6bff,#2358d8) !important;
  box-shadow:0 8px 20px rgba(47,107,255,.3) !important;
}

/* ===== 发现页 ===== */
body.theme-light #discoverView .dc-card{
  background:#fff !important; border:1px solid #e4eaf2 !important;
  box-shadow:0 8px 22px rgba(16,24,40,.06) !important;
}
body.theme-light #discoverView .dc-card:hover{ border-color:rgba(47,107,255,.35) !important; }
body.theme-light #discoverView .dc-meta strong{ color:#101828 !important; }
body.theme-light #discoverView .dc-meta span{ color:#667085 !important; }
body.theme-light #discoverView .dc-meta em{ color:#2f6bff !important; }
body.theme-light #discoverView .dc-arrow{ color:#2f6bff !important; }
body.theme-light #discoverView .dc-ico img{ filter:drop-shadow(0 4px 10px rgba(47,107,255,.2)); }

/* ===== 公告页 ===== */
body.theme-light #noticeView .nc-tab{
  background:#fff !important; color:#667085 !important; border:1px solid #e4eaf2 !important;
}
body.theme-light #noticeView .nc-tab.is-active{
  background:linear-gradient(135deg,#2f6bff,#2358d8) !important; color:#fff !important;
  border-color:transparent !important; box-shadow:0 8px 18px rgba(47,107,255,.3) !important;
}
body.theme-light #noticeView .nc-card{
  background:#fff !important; border:1px solid #e4eaf2 !important;
  box-shadow:0 8px 22px rgba(16,24,40,.06) !important;
}
body.theme-light #noticeView .nc-title strong{ color:#2f6bff !important; }
body.theme-light #noticeView .nc-badge{
  color:#2f6bff !important; background:rgba(47,107,255,.1) !important;
  border:1px solid rgba(47,107,255,.2) !important;
}
body.theme-light #noticeView .nc-body h3{ color:#101828 !important; }
body.theme-light #noticeView .nc-body p{ color:#667085 !important; }

/* ===== 大舞台页 ===== */
body.theme-light #stageView .st-title h2{ color:#101828 !important; }
body.theme-light #stageView .st-title p{ color:#667085 !important; }
body.theme-light #stageView .st-pub{
  background:#fff !important; color:#667085 !important; border:1px solid #e4eaf2 !important;
}
body.theme-light #stageView .st-pub--primary{
  background:linear-gradient(135deg,#2f6bff,#2358d8) !important; color:#fff !important;
  border-color:transparent !important;
}
body.theme-light #stageView .st-tip{ color:#8896ad !important; }
body.theme-light #stageView .st-card{
  background:#fff !important; border:1px solid #e4eaf2 !important;
}
body.theme-light #stageView .st-user strong{ color:#101828 !important; }
body.theme-light #stageView .st-text{ color:#344054 !important; }
body.theme-light #stageView .st-time{ color:#8896ad !important; }
body.theme-light #stageView .st-ops button{ color:#667085 !important; }
body.theme-light #stageView .st-input{
  background:#f4f7fb !important; border:1px solid #e4eaf2 !important; color:#667085 !important;
}
body.theme-light #stageView .st-avatar{ background:rgba(47,107,255,.1) !important; border-color:rgba(47,107,255,.3) !important; }

/* ===== 投稿弹窗 ===== */
body.theme-light .publish-modal .pm-mask{ background:rgba(200,215,240,.5) !important; }
body.theme-light .publish-modal .pm-panel{
  background:linear-gradient(160deg,#ffffff,#f4f7fb) !important;
  border:1px solid #e4eaf2 !important; box-shadow:0 24px 60px rgba(47,107,255,.15) !important;
}
body.theme-light .publish-modal h3{ color:#101828 !important; }
body.theme-light .publish-modal .pm-sub{ color:#667085 !important; }
body.theme-light .publish-modal .pm-label{ color:#344054 !important; }
body.theme-light .publish-modal .pm-label em{ color:#8896ad !important; }
body.theme-light .publish-modal .pm-input,
body.theme-light .publish-modal .pm-textarea{
  background:#f4f7fb !important; border:1.5px solid #e4eaf2 !important; color:#101828 !important;
}
body.theme-light .publish-modal .pm-input:focus,
body.theme-light .publish-modal .pm-textarea:focus{ border-color:#2f6bff !important; background:#fff !important; }
body.theme-light .publish-modal .pm-input::placeholder,
body.theme-light .publish-modal .pm-textarea::placeholder{ color:#a0aec0 !important; }
body.theme-light .publish-modal .pm-check{ color:#344054 !important; }
body.theme-light .publish-modal .pm-count{ color:#8896ad !important; }
body.theme-light .publish-modal .pm-file{
  border-color:rgba(47,107,255,.3) !important; background:rgba(47,107,255,.03) !important;
}
body.theme-light .publish-modal .pm-file span{ background:rgba(47,107,255,.12) !important; color:#2f6bff !important; }
body.theme-light .publish-modal .pm-file i{ color:#8896ad !important; }
body.theme-light .publish-modal .pm-close{
  background:rgba(47,107,255,.1) !important; color:#2f6bff !important; border:1px solid rgba(47,107,255,.2) !important;
}
body.theme-light .publish-modal .pm-btn--ghost{ background:#f0f3f9 !important; color:#344054 !important; }
body.theme-light .publish-modal .pm-btn--primary{
  background:linear-gradient(135deg,#2f6bff,#2358d8) !important; box-shadow:0 8px 18px rgba(47,107,255,.3) !important;
}
body.theme-light #stageView .st-toast{ background:rgba(255,255,255,.98) !important; color:#101828 !important; border:1px solid #e4eaf2 !important; box-shadow:0 8px 24px rgba(16,24,40,.12) !important; }

/* ===== 优惠大厅 ===== */
body.theme-light #offerView .of-eyebrow{ color:#2f6bff !important; }
body.theme-light #offerView .of-head h2{ color:#101828 !important; }
body.theme-light #offerView .of-count{ color:#8896ad !important; }
body.theme-light #offerView .of-tab{
  background:#fff !important; color:#667085 !important; border:1px solid #e4eaf2 !important;
}
body.theme-light #offerView .of-tab.is-active{
  background:linear-gradient(135deg,#2f6bff,#2358d8) !important; color:#fff !important;
  border-color:transparent !important;
}
body.theme-light #offerView .of-shade,
body.theme-light #offerDetailView .od-shade{
  background:linear-gradient(90deg, rgba(20,40,90,.75) 0%, rgba(20,40,90,.4) 48%, rgba(20,40,90,0) 75%) !important;
}

/* ===== 活动详情 ===== */
body.theme-light #offerDetailView .od-back{
  background:#fff !important; color:#344054 !important; border:1px solid #e4eaf2 !important;
}
body.theme-light #offerDetailView .od-progress,
body.theme-light #offerDetailView .od-rules{
  background:#fff !important; border:1px solid #e4eaf2 !important;
  box-shadow:0 4px 14px rgba(16,24,40,.05) !important;
}
body.theme-light #offerDetailView .od-pg-row{ color:#344054 !important; }
body.theme-light #offerDetailView .od-pg-row b{ color:#101828 !important; }
body.theme-light #offerDetailView .od-bar{ background:#e4eaf2 !important; }
body.theme-light #offerDetailView .od-rules h3{ color:#101828 !important; }
body.theme-light #offerDetailView .od-rules p{ color:#667085 !important; }
body.theme-light #offerDetailView .od-rules .od-note{ color:#8896ad !important; }

/* ===== 试玩大厅 ===== */
body.theme-light #gameHallView .gh-tab{
  background:#fff !important; color:#667085 !important; border:1px solid #e4eaf2 !important;
}
body.theme-light #gameHallView .gh-tab.is-active{
  background:linear-gradient(135deg,#2f6bff,#2358d8) !important; color:#fff !important;
  border-color:transparent !important; box-shadow:0 8px 18px rgba(47,107,255,.3) !important;
}
body.theme-light #gameHallView .gh-card{
  border:1px solid #e4eaf2 !important; box-shadow:0 6px 18px rgba(16,24,40,.08) !important;
}
body.theme-light #gameHallView .gh-card::before{
  background:linear-gradient(90deg, rgba(30,50,100,.7) 0%, rgba(30,50,100,.35) 45%, rgba(30,50,100,0) 78%) !important;
}
body.theme-light #gameHallView .gh-enter{
  background:linear-gradient(135deg,#2f6bff,#2358d8) !important;
  box-shadow:0 6px 14px rgba(47,107,255,.3) !important;
}
body.theme-light #gameHallView h2,
body.theme-light #gameHallView .gh-section-title{ color:#101828 !important; }

/* ===== 邀请弹窗 ===== */
body.theme-light .invite-modal{
  background:rgba(200,215,240,.5) !important;
}
body.theme-light .invite-card,
body.theme-light .invite-box{
  background:#fff !important; border:1px solid #e4eaf2 !important;
  box-shadow:0 24px 60px rgba(47,107,255,.15) !important;
}
body.theme-light .invite-card h3,
body.theme-light .invite-box h3{ color:#101828 !important; }
body.theme-light .invite-card p,
body.theme-light .invite-box p{ color:#667085 !important; }

/* ===== 通用弹窗 dialog ===== */
body.theme-light .dialog-backdrop{ background:rgba(200,215,240,.55) !important; }
body.theme-light .dialog{
  background:#fff !important; border:1px solid #e4eaf2 !important;
  box-shadow:0 24px 60px rgba(47,107,255,.18) !important;
}
body.theme-light .dialog h3,
body.theme-light .dialog .dlg-title{ color:#101828 !important; }
body.theme-light .dialog p,
body.theme-light .dialog label,
body.theme-light .dialog .dlg-desc{ color:#344054 !important; }
body.theme-light .dialog input,
body.theme-light .dialog textarea,
body.theme-light .dialog select{
  background:#f4f7fb !important; border:1px solid #e4eaf2 !important; color:#101828 !important;
}
body.theme-light .dialog input:focus,
body.theme-light .dialog textarea:focus{ border-color:#2f6bff !important; background:#fff !important; }

/* 浅色模式下 section 标题 */
body.theme-light .section h2,
body.theme-light h2{ color:#101828 !important; }

/* 浅色模式下顶部品牌区右侧保留一部分星球背景 */
body.theme-light .ng-theme-hero-art{
  background:url('../../images/bg-cosmos.webp') right center / cover no-repeat !important;
  opacity:.5 !important;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.25) 38%, #000 72%) !important;
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.25) 38%, #000 72%) !important;
  filter:saturate(1.15) brightness(1.05);
}

/* ============================================================
   浅色模式：动态波点背景（参考 n2.n9991.cc）
   body::before 双层漂移点阵，body::after 旋转环境光
   ============================================================ */
body.theme-light::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:
    radial-gradient(circle, rgba(124,102,255,.7) 0, rgba(124,102,255,.7) 1px, transparent 1.8px),
    radial-gradient(circle, rgba(47,160,255,.6) 0, rgba(47,160,255,.6) 1px, transparent 1.7px);
  background-size:57px 57px, 103px 103px;
  background-position:30px 20px, 30px 20px;
  background-repeat:repeat, repeat;
  opacity:.62;
  animation:ambientDrift 28s linear infinite;
}
body.theme-light::after{
  content:""; position:fixed; inset:-180px; z-index:-1; pointer-events:none;
  background:conic-gradient(from 0deg, transparent, rgba(102,82,223,.16), transparent 35%, rgba(47,160,255,.16), transparent 70%);
  filter:blur(62px);
  opacity:.4;
  animation:ambientTurn 37s linear infinite;
}
@keyframes ambientDrift{
  to{ background-position:128px 64px, 128px 64px; }
}
@keyframes ambientTurn{
  to{ transform:rotate(1turn); }
}
/* ============================================================
   品牌区始终置顶：全屏视图打开时 fixedArea 提到最高层，
   并隐藏其下的轮播/图标条，只留顶部品牌卡片
   ============================================================ */
body:has(.service-view.show) #fixedArea{ z-index:100 !important; }
body:has(.service-view.show) #top,
body:has(.service-view.show) #apps{ display:none !important; }
body:has(.service-view.show) .service-view.show{ top:78px; }

/* ============================================================
   客服页底部防仿冒提示：深色模式白字（默认宇宙风即深色）
   ============================================================ */
.svc-tip strong{ color:#ffffff !important; }
.svc-tip p{ color:#c7d2e8 !important; }
body.theme-dark .svc-tip strong{ color:#ffffff !important; }
body.theme-dark .svc-tip p{ color:#c7d2e8 !important; }

/* 浅色模式：提示文字改黑色（深灰） */
body.theme-light .svc-tip{
  background:rgba(47,107,255,.06) !important;
  border:1px solid rgba(47,107,255,.15) !important;
  color:#344054 !important;
}
body.theme-light .svc-tip strong{ color:#101828 !important; }
body.theme-light .svc-tip p{ color:#475467 !important; }
