/* ===================================================
   Theme: Glass (默认 — 玻璃风)
   不需要额外样式，style.css 即为默认
   =================================================== */


/* ===================================================
   Theme 1: Card List (卡片列表)
   iOS设置页风格，纵向列表，精致分隔线
   =================================================== */
[data-theme="cardlist"]{
  --card: rgba(255,255,255,.96);
  --card-border: rgba(0,0,0,.04);
  --radius: 14px;
  --blur: blur(0px);
  --shadow: 0 1px 3px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.04);
  --shadow-hover: 0 2px 8px rgba(0,0,0,.08);
  --btn-shadow: none;
  --btn-shadow-hover: none;
  --btn-radius: 0px;
  --btn-minh: 50px;
  --gap: 0px;
}
[data-theme="cardlist"] .bg-blobs{ display:none; }
[data-theme="cardlist"] body,
body[data-theme="cardlist"]{
  background: #f2f2f7 !important;
}
[data-theme="cardlist"] .header{
  text-align: left;
  padding: 14px 16px;
}
[data-theme="cardlist"] .header::before{ display:none; }
[data-theme="cardlist"] .logo-wrap{
  width: 52px; height: 52px;
  margin: 0 0 10px 0;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
[data-theme="cardlist"] h1{ font-size: 1.15rem; margin-bottom: 2px; }
[data-theme="cardlist"] .subtitle{ font-size: .82rem; margin-bottom: 10px; }
[data-theme="cardlist"] .contact-item{
  background: rgba(0,0,0,.03);
  border: none; border-bottom: 1px solid rgba(0,0,0,.06);
  border-radius: 0; padding: 8px 4px;
  font-size: .8rem; justify-content: flex-start;
}
[data-theme="cardlist"] .contact-group{ gap: 0; }

[data-theme="cardlist"] .button-grid{
  grid-template-columns: 1fr !important;
  gap: 0;
}
[data-theme="cardlist"] .card{
  padding: 0; overflow: hidden;
}
[data-theme="cardlist"] .card-title{
  padding: 12px 16px 10px;
  margin-bottom: 0;
  font-size: .82rem;
  letter-spacing: .5px;
  color: var(--muted);
  border-bottom: none;
  font-weight: 500;
}
[data-theme="cardlist"] .card-title .bar{ display: none; }

[data-theme="cardlist"] .btn{
  background: #fff !important;
  color: var(--text) !important;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid rgba(0,0,0,.06);
  box-shadow: none;
  justify-content: flex-start;
  text-align: left;
  padding: 0 16px;
  min-height: 48px;
  font-size: 14px;
  display: flex;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  position: relative;
  transition: background .15s;
}
[data-theme="cardlist"] .btn::before{
  content: '';
  width: 4px; height: 20px;
  border-radius: 2px;
  margin-right: 12px;
  flex-shrink: 0;
  position: static;
  background: none;
  inset: unset;
}
[data-theme="cardlist"] .btn::after{
  content: '›';
  position: absolute;
  right: 14px; top: 50%; transform: translateY(-50%);
  font-size: 20px; color: #c7c7cc; font-weight: 300;
  bottom: auto; left: auto; height: auto;
  background: none;
}
[data-theme="cardlist"] .btn-primary::before{ background: #2A86FF !important; }
[data-theme="cardlist"] .btn-success::before{ background: #00C897 !important; }
[data-theme="cardlist"] .btn-warning::before{ background: #FF9A00 !important; }
[data-theme="cardlist"] .btn-red::before{ background: #ef4444 !important; }
[data-theme="cardlist"] .btn-rose::before{ background: #f43f5e !important; }
[data-theme="cardlist"] .btn-pink::before{ background: #ec4899 !important; }
[data-theme="cardlist"] .btn-purple::before{ background: #a855f7 !important; }
[data-theme="cardlist"] .btn-indigo::before{ background: #6366f1 !important; }
[data-theme="cardlist"] .btn-cyan::before{ background: #06b6d4 !important; }
[data-theme="cardlist"] .btn-teal::before{ background: #14b8a6 !important; }
[data-theme="cardlist"] .btn-lime::before{ background: #84cc16 !important; }
[data-theme="cardlist"] .btn-amber::before{ background: #f59e0b !important; }
[data-theme="cardlist"] .btn-brown::before{ background: #a16207 !important; }
[data-theme="cardlist"] .btn-gray::before{ background: #6b7280 !important; }

[data-theme="cardlist"] .btn:active{
  background: #f2f2f7 !important;
}
[data-theme="cardlist"] .btn:hover{
  transform: none;
  filter: none;
}
[data-theme="cardlist"] .divider{
  height: 0; margin: 0;
  border-bottom: 8px solid #f2f2f7;
  background: none;
}
[data-theme="cardlist"] .mobile-tab-bar{
  background: rgba(249,249,249,.94);
  border-top: 1px solid #d1d1d6;
  box-shadow: none;
}
[data-theme="cardlist"] .announcement{
  border-radius: 10px; margin: 0 0 10px;
}
/* CardList 暗色 */
@media (prefers-color-scheme: dark){
  [data-theme="cardlist"]{
    --card: rgba(28,28,30,.95);
    --card-border: rgba(255,255,255,.06);
    --text: #f2f2f7;
    --muted: #8e8e93;
  }
  [data-theme="cardlist"] body,
  body[data-theme="cardlist"]{ background: #000 !important; }
  [data-theme="cardlist"] .btn{
    background: #1c1c1e !important;
    border-bottom-color: rgba(255,255,255,.08);
  }
  [data-theme="cardlist"] .btn:active{ background: #2c2c2e !important; }
  [data-theme="cardlist"] .btn::after{ color: #48484a; }
  [data-theme="cardlist"] .contact-item{
    background: rgba(255,255,255,.04); border-bottom-color: rgba(255,255,255,.06);
  }
  [data-theme="cardlist"] .logo-wrap{
    background: #1c1c1e; border-color: rgba(255,255,255,.08);
  }
  [data-theme="cardlist"] .divider{ border-bottom-color: #000; }
  [data-theme="cardlist"] .mobile-tab-bar{
    background: rgba(28,28,30,.94); border-top-color: rgba(255,255,255,.08);
  }
}


/* ===================================================
   Theme 2: Icon Grid (图标宫格)
   手机桌面APP图标风格，4列方块
   =================================================== */
[data-theme="icongrid"]{
  --card: transparent;
  --card-border: transparent;
  --radius: 0px;
  --blur: blur(0px);
  --shadow: none;
  --shadow-hover: none;
  --btn-shadow:
    0 3px 6px rgba(0,0,0,.08),
    0 8px 20px rgba(0,0,0,.12);
  --btn-shadow-hover:
    0 6px 12px rgba(0,0,0,.12),
    0 14px 32px rgba(0,0,0,.18);
  --btn-radius: 22%;
  --gap: 12px;
  --btn-minh: auto;
  --card-pad: 8px 4px;
}
[data-theme="icongrid"] .bg-blobs{ display:none; }
[data-theme="icongrid"] body,
body[data-theme="icongrid"]{
  background:
    radial-gradient(circle at 1px 1px, rgba(0,0,0,.04) 1px, transparent 0),
    linear-gradient(180deg, #eef1f5, #e2e6ec) !important;
  background-size: 24px 24px, 100% 100% !important;
}
[data-theme="icongrid"] .header{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding-bottom: 8px;
}
[data-theme="icongrid"] .header::before{ display:none; }
[data-theme="icongrid"] .logo-wrap{
  width: 90px; height: 90px;
  background: transparent; border: none;
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
[data-theme="icongrid"] h1{ font-size: 1.3rem; font-weight: 700; }
[data-theme="icongrid"] .subtitle{ margin-bottom: 8px; }
[data-theme="icongrid"] .contact-group{ display:none; }

[data-theme="icongrid"] .card.glass{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  padding: 8px 0;
  margin-top: 8px;
}
[data-theme="icongrid"] .card-title{
  justify-content: center;
  font-size: .85rem;
  color: var(--muted);
  border-bottom: none;
  padding-bottom: 6px;
  margin-bottom: 6px;
}
[data-theme="icongrid"] .card-title .bar{ display:none; }

[data-theme="icongrid"] .button-grid{
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px 10px;
  padding: 0 4px;
}
[data-theme="icongrid"] .btn{
  aspect-ratio: 1;
  min-height: unset !important;
  border-radius: 22%;
  padding: 8px 4px;
  font-size: 11px;
  line-height: 1.2;
  flex-direction: column;
  display: flex !important;
  -webkit-box-orient: unset;
  -webkit-line-clamp: unset;
  word-break: break-all;
  border: 1px solid rgba(255,255,255,.20);
  border-top-color: rgba(255,255,255,.35);
  border-bottom-color: rgba(0,0,0,.06);
}
[data-theme="icongrid"] .btn::before{
  content: '';
  position: absolute; inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,0) 50%);
  pointer-events: none;
}
[data-theme="icongrid"] .btn::after{ display: none; }
[data-theme="icongrid"] .divider{
  height: 0; margin: 0; background: none; border: none;
}
[data-theme="icongrid"] .announcement{
  margin: 0 4px 8px; border-radius: 14px;
}
[data-theme="icongrid"] .mobile-tab-bar{
  background: rgba(238,241,245,.88);
  border-top: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 -2px 10px rgba(0,0,0,.04);
}
/* IconGrid 暗色 */
@media (prefers-color-scheme: dark){
  [data-theme="icongrid"]{
    --text: #e5e7eb;
    --muted: #8e8e93;
  }
  [data-theme="icongrid"] body,
  body[data-theme="icongrid"]{
    background:
      radial-gradient(circle at 1px 1px, rgba(255,255,255,.03) 1px, transparent 0),
      linear-gradient(180deg, #1a1a2e, #16162a) !important;
    background-size: 24px 24px, 100% 100% !important;
  }
  [data-theme="icongrid"] .logo-wrap{
    box-shadow: 0 4px 16px rgba(0,0,0,.3);
  }
  [data-theme="icongrid"] .btn{
    border-color: rgba(255,255,255,.08);
    border-top-color: rgba(255,255,255,.15);
    border-bottom-color: rgba(0,0,0,.2);
  }
  [data-theme="icongrid"] .mobile-tab-bar{
    background: rgba(26,26,46,.88); border-top-color: rgba(255,255,255,.06);
  }
}


/* ===================================================
   Theme 3: Bubble Capsule (气泡胶囊)
   标签云/药丸形状，flex换行，彩色浅底深边
   =================================================== */
[data-theme="bubble"]{
  --card: rgba(255,255,255,.55);
  --card-border: rgba(255,255,255,.4);
  --radius: 24px;
  --blur: blur(12px);
  --shadow: 0 4px 20px rgba(0,0,0,.05);
  --shadow-hover: 0 6px 24px rgba(0,0,0,.08);
  --btn-shadow: 0 1px 3px rgba(0,0,0,.06);
  --btn-shadow-hover: 0 4px 14px rgba(0,0,0,.10);
  --btn-radius: 999px;
  --btn-minh: 38px;
  --gap: 8px;
  --card-pad: clamp(14px, 3.8vw, 18px);
}
[data-theme="bubble"] body,
body[data-theme="bubble"]{
  background:
    linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.08)),
    radial-gradient(800px 600px at 30% 20%, rgba(236,72,153,.12), transparent 55%),
    radial-gradient(700px 500px at 80% 50%, rgba(99,102,241,.10), transparent 55%),
    radial-gradient(600px 500px at 50% 90%, rgba(6,182,212,.10), transparent 55%),
    linear-gradient(160deg, #fdf2f8, #ede9fe, #e0f2fe) !important;
}
[data-theme="bubble"] .bg-blobs .blob{ opacity: .25; filter: blur(50px); }
[data-theme="bubble"] .blob.b1{ background: radial-gradient(circle, rgba(236,72,153,.4), transparent 60%); }
[data-theme="bubble"] .blob.b2{ background: radial-gradient(circle, rgba(99,102,241,.35), transparent 60%); }
[data-theme="bubble"] .blob.b3{ background: radial-gradient(circle, rgba(6,182,212,.3), transparent 60%); }

[data-theme="bubble"] .header{
  border-radius: 28px;
  position: relative;
}
[data-theme="bubble"] .header::before{
  background: linear-gradient(120deg, rgba(236,72,153,.12), rgba(99,102,241,.10), rgba(6,182,212,.10));
  opacity: .3;
}
[data-theme="bubble"] .header::after{
  content: '';
  position: absolute; bottom: -8px; left: 50%;
  width: 16px; height: 16px;
  background: var(--card);
  border: 1px solid var(--card-border);
  border-top: none; border-left: none;
  transform: translateX(-50%) rotate(45deg);
  -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur);
}
[data-theme="bubble"] .logo-wrap{
  border: 3px solid rgba(168,85,247,.3);
  background: rgba(255,255,255,.5);
  box-shadow: 0 4px 16px rgba(168,85,247,.12);
  transform: rotate(-3deg);
}
[data-theme="bubble"] .contact-item{
  border-radius: 999px;
  padding: 6px 14px;
  font-size: .78rem;
}

[data-theme="bubble"] .card{ border-radius: 24px; }
[data-theme="bubble"] .card-title{
  justify-content: center;
  border-bottom: none;
  padding-bottom: 8px;
}
[data-theme="bubble"] .card-title .bar{
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--primary);
}

[data-theme="bubble"] .button-grid{
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
[data-theme="bubble"] .btn{
  border-radius: 999px;
  padding: 8px 20px;
  min-height: 38px;
  font-size: 13px;
  font-weight: 500;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  display: inline-flex;
  white-space: nowrap;
  transition: transform .18s cubic-bezier(.34,1.56,.64,1), box-shadow .18s ease;
  border: 1.5px solid transparent;
}
[data-theme="bubble"] .btn::before{ display: none; }
[data-theme="bubble"] .btn::after{ display: none; }

/* 彩色浅底 + 边框 + 深色文字 */
[data-theme="bubble"] .btn-primary{ background: rgba(42,134,255,.10); color: #1d6fd1 !important; border-color: rgba(42,134,255,.22); box-shadow: 0 1px 3px rgba(42,134,255,.10); }
[data-theme="bubble"] .btn-success{ background: rgba(0,200,151,.10); color: #0a8a64 !important; border-color: rgba(0,200,151,.22); box-shadow: 0 1px 3px rgba(0,200,151,.10); }
[data-theme="bubble"] .btn-warning{ background: rgba(255,154,0,.10); color: #b36b00 !important; border-color: rgba(255,154,0,.22); box-shadow: 0 1px 3px rgba(255,154,0,.10); }
[data-theme="bubble"] .btn-red{ background: rgba(239,68,68,.08); color: #dc2626 !important; border-color: rgba(239,68,68,.20); box-shadow: 0 1px 3px rgba(239,68,68,.08); }
[data-theme="bubble"] .btn-rose{ background: rgba(244,63,94,.08); color: #e11d48 !important; border-color: rgba(244,63,94,.20); box-shadow: 0 1px 3px rgba(244,63,94,.08); }
[data-theme="bubble"] .btn-pink{ background: rgba(236,72,153,.08); color: #db2777 !important; border-color: rgba(236,72,153,.20); box-shadow: 0 1px 3px rgba(236,72,153,.08); }
[data-theme="bubble"] .btn-purple{ background: rgba(168,85,247,.08); color: #9333ea !important; border-color: rgba(168,85,247,.20); box-shadow: 0 1px 3px rgba(168,85,247,.08); }
[data-theme="bubble"] .btn-indigo{ background: rgba(99,102,241,.08); color: #4f46e5 !important; border-color: rgba(99,102,241,.20); box-shadow: 0 1px 3px rgba(99,102,241,.08); }
[data-theme="bubble"] .btn-cyan{ background: rgba(6,182,212,.08); color: #0891b2 !important; border-color: rgba(6,182,212,.20); box-shadow: 0 1px 3px rgba(6,182,212,.08); }
[data-theme="bubble"] .btn-teal{ background: rgba(20,184,166,.08); color: #0d9488 !important; border-color: rgba(20,184,166,.20); box-shadow: 0 1px 3px rgba(20,184,166,.08); }
[data-theme="bubble"] .btn-lime{ background: rgba(132,204,22,.10); color: #4d7c0f !important; border-color: rgba(132,204,22,.22); box-shadow: 0 1px 3px rgba(132,204,22,.08); }
[data-theme="bubble"] .btn-amber{ background: rgba(245,158,11,.08); color: #b45309 !important; border-color: rgba(245,158,11,.20); box-shadow: 0 1px 3px rgba(245,158,11,.08); }
[data-theme="bubble"] .btn-brown{ background: rgba(161,98,7,.08); color: #854d0e !important; border-color: rgba(161,98,7,.18); box-shadow: 0 1px 3px rgba(161,98,7,.06); }
[data-theme="bubble"] .btn-gray{ background: rgba(107,114,128,.08); color: #4b5563 !important; border-color: rgba(107,114,128,.18); box-shadow: 0 1px 3px rgba(107,114,128,.06); }

[data-theme="bubble"] .btn:hover,
[data-theme="bubble"] .btn:active{
  transform: scale(1.06) translateY(-2px) !important;
}

[data-theme="bubble"] .divider{
  width: auto; flex-basis: 100%;
  height: 0; margin: 4px 0;
  background: none;
}
[data-theme="bubble"] .mobile-tab-bar{
  background: rgba(255,255,255,.75);
  border-top: 1px solid rgba(255,255,255,.5);
  border-radius: 20px 20px 0 0;
  box-shadow: 0 -4px 20px rgba(0,0,0,.05);
}
[data-theme="bubble"] .tab-item.active{
  color: #a855f7;
  background: rgba(168,85,247,.1);
}
[data-theme="bubble"] .announcement{
  border-radius: 999px; text-align: center; padding: 8px 36px 8px 16px;
}

/* Bubble 暗色 */
@media (prefers-color-scheme: dark){
  [data-theme="bubble"]{
    --card: rgba(30,20,40,.55);
    --card-border: rgba(255,255,255,.10);
    --text: #f0e6f6;
    --muted: #a090b0;
  }
  [data-theme="bubble"] body,
  body[data-theme="bubble"]{
    background:
      linear-gradient(rgba(0,0,0,.3), rgba(0,0,0,.3)),
      radial-gradient(800px 600px at 30% 20%, rgba(236,72,153,.10), transparent 55%),
      radial-gradient(700px 500px at 80% 50%, rgba(99,102,241,.08), transparent 55%),
      radial-gradient(600px 500px at 50% 90%, rgba(6,182,212,.08), transparent 55%),
      linear-gradient(160deg, #1a0e22, #15102a, #0e1a24) !important;
  }
  [data-theme="bubble"] .btn-primary{ background: rgba(42,134,255,.15); color: #60a5fa !important; border-color: rgba(42,134,255,.25); }
  [data-theme="bubble"] .btn-success{ background: rgba(0,200,151,.12); color: #34d399 !important; border-color: rgba(0,200,151,.22); }
  [data-theme="bubble"] .btn-warning{ background: rgba(255,154,0,.12); color: #fbbf24 !important; border-color: rgba(255,154,0,.22); }
  [data-theme="bubble"] .btn-red{ background: rgba(239,68,68,.12); color: #f87171 !important; border-color: rgba(239,68,68,.22); }
  [data-theme="bubble"] .btn-rose{ background: rgba(244,63,94,.12); color: #fb7185 !important; border-color: rgba(244,63,94,.22); }
  [data-theme="bubble"] .btn-pink{ background: rgba(236,72,153,.12); color: #f472b6 !important; border-color: rgba(236,72,153,.22); }
  [data-theme="bubble"] .btn-purple{ background: rgba(168,85,247,.12); color: #c084fc !important; border-color: rgba(168,85,247,.22); }
  [data-theme="bubble"] .btn-indigo{ background: rgba(99,102,241,.12); color: #a5b4fc !important; border-color: rgba(99,102,241,.22); }
  [data-theme="bubble"] .btn-cyan{ background: rgba(6,182,212,.12); color: #22d3ee !important; border-color: rgba(6,182,212,.22); }
  [data-theme="bubble"] .btn-teal{ background: rgba(20,184,166,.12); color: #2dd4bf !important; border-color: rgba(20,184,166,.22); }
  [data-theme="bubble"] .btn-lime{ background: rgba(132,204,22,.12); color: #a3e635 !important; border-color: rgba(132,204,22,.22); }
  [data-theme="bubble"] .btn-amber{ background: rgba(245,158,11,.12); color: #fbbf24 !important; border-color: rgba(245,158,11,.22); }
  [data-theme="bubble"] .btn-brown{ background: rgba(161,98,7,.12); color: #d97706 !important; border-color: rgba(161,98,7,.20); }
  [data-theme="bubble"] .btn-gray{ background: rgba(107,114,128,.12); color: #9ca3af !important; border-color: rgba(107,114,128,.20); }
  [data-theme="bubble"] .contact-item{
    background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.08);
  }
  [data-theme="bubble"] .logo-wrap{
    background: rgba(30,20,40,.5); border-color: rgba(168,85,247,.25);
  }
  [data-theme="bubble"] .mobile-tab-bar{
    background: rgba(26,14,34,.8); border-top-color: rgba(255,255,255,.06);
  }
}


/* ===================================================
   Theme 4: Neumorphic (拟物浮雕)
   同色背景 + 双阴影凹凸，高级质感
   =================================================== */
[data-theme="neu"]{
  --neu-bg: #e0e5ec;
  --neu-light: rgba(255,255,255,.7);
  --neu-dark: rgba(163,177,198,.5);
  --text: #2d3748;
  --muted: #718096;
  --card: var(--neu-bg);
  --card-border: transparent;
  --radius: 18px;
  --blur: blur(0px);
  --shadow: 6px 6px 14px var(--neu-dark), -6px -6px 14px var(--neu-light);
  --shadow-hover: 8px 8px 18px var(--neu-dark), -8px -8px 18px var(--neu-light);
  --btn-shadow: 5px 5px 12px var(--neu-dark), -5px -5px 12px var(--neu-light);
  --btn-shadow-hover: 7px 7px 16px var(--neu-dark), -7px -7px 16px var(--neu-light);
  --btn-radius: 14px;
  --btn-minh: 52px;
  --gap: 12px;
}
[data-theme="neu"] .bg-blobs{ display:none; }
[data-theme="neu"] body,
body[data-theme="neu"]{
  background: #e0e5ec !important;
  color: #2d3748;
}
[data-theme="neu"] .header{
  border: none;
}
[data-theme="neu"] .header::before{ display:none; }
[data-theme="neu"] .glass{
  background: #e0e5ec;
  border: none;
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
[data-theme="neu"] .logo-wrap{
  background: #e0e5ec;
  border: none;
  box-shadow: inset 4px 4px 8px var(--neu-dark), inset -4px -4px 8px var(--neu-light);
}
[data-theme="neu"] .contact-item{
  background: #e0e5ec;
  border: none;
  box-shadow: inset 2px 2px 5px var(--neu-dark), inset -2px -2px 5px var(--neu-light);
  border-radius: 12px;
}
[data-theme="neu"] .card-title{
  border-bottom: none;
  padding-bottom: 8px;
}
[data-theme="neu"] .card-title .bar{
  background: #e0e5ec;
  box-shadow: 2px 2px 5px var(--neu-dark), -2px -2px 5px var(--neu-light);
  height: 8px; width: 40px; border-radius: 4px;
}

[data-theme="neu"] .btn{
  background: #e0e5ec !important;
  color: var(--text) !important;
  box-shadow: 5px 5px 12px var(--neu-dark), -5px -5px 12px var(--neu-light);
  border-radius: 14px;
  font-weight: 500;
  position: relative;
  padding-left: 28px;
  justify-content: flex-start;
  text-align: left;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  display: flex;
  transition: box-shadow .2s;
  border: none;
}
[data-theme="neu"] .btn::before{
  content: '';
  position: absolute;
  left: 12px; top: 50%; transform: translateY(-50%);
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: none;
  inset: unset;
}
[data-theme="neu"] .btn::after{ display: none; }
[data-theme="neu"] .btn-primary::before{ background: #2A86FF !important; box-shadow: 0 0 6px rgba(42,134,255,.5); }
[data-theme="neu"] .btn-success::before{ background: #00C897 !important; box-shadow: 0 0 6px rgba(0,200,151,.5); }
[data-theme="neu"] .btn-warning::before{ background: #FF9A00 !important; box-shadow: 0 0 6px rgba(255,154,0,.5); }
[data-theme="neu"] .btn-red::before{ background: #ef4444 !important; box-shadow: 0 0 6px rgba(239,68,68,.5); }
[data-theme="neu"] .btn-rose::before{ background: #f43f5e !important; box-shadow: 0 0 6px rgba(244,63,94,.5); }
[data-theme="neu"] .btn-pink::before{ background: #ec4899 !important; box-shadow: 0 0 6px rgba(236,72,153,.5); }
[data-theme="neu"] .btn-purple::before{ background: #a855f7 !important; box-shadow: 0 0 6px rgba(168,85,247,.5); }
[data-theme="neu"] .btn-indigo::before{ background: #6366f1 !important; box-shadow: 0 0 6px rgba(99,102,241,.5); }
[data-theme="neu"] .btn-cyan::before{ background: #06b6d4 !important; box-shadow: 0 0 6px rgba(6,182,212,.5); }
[data-theme="neu"] .btn-teal::before{ background: #14b8a6 !important; box-shadow: 0 0 6px rgba(20,184,166,.5); }
[data-theme="neu"] .btn-lime::before{ background: #84cc16 !important; box-shadow: 0 0 6px rgba(132,204,22,.5); }
[data-theme="neu"] .btn-amber::before{ background: #f59e0b !important; box-shadow: 0 0 6px rgba(245,158,11,.5); }
[data-theme="neu"] .btn-brown::before{ background: #a16207 !important; box-shadow: 0 0 6px rgba(161,98,7,.4); }
[data-theme="neu"] .btn-gray::before{ background: #6b7280 !important; box-shadow: 0 0 6px rgba(107,114,128,.4); }

[data-theme="neu"] .btn:active{
  box-shadow: inset 3px 3px 7px var(--neu-dark), inset -3px -3px 7px var(--neu-light) !important;
  transform: none !important;
}
@media (hover:hover){
  [data-theme="neu"] .btn:hover{
    box-shadow: 7px 7px 16px var(--neu-dark), -7px -7px 16px var(--neu-light);
    transform: none;
    filter: none;
  }
}

[data-theme="neu"] .divider{
  background: none; height: 1px; margin: 6px 0;
  box-shadow: 1px 1px 2px var(--neu-dark), -1px -1px 2px var(--neu-light);
}
[data-theme="neu"] .mobile-tab-bar{
  background: #e0e5ec;
  border-top: none;
  box-shadow: -2px -4px 10px var(--neu-dark), 2px -4px 10px var(--neu-light);
}
[data-theme="neu"] .tab-item.active{
  color: #2A86FF;
  background: transparent;
  box-shadow: inset 2px 2px 5px var(--neu-dark), inset -2px -2px 5px var(--neu-light);
  border-radius: 10px;
}
[data-theme="neu"] .announcement{
  background: #e0e5ec; border: none;
  box-shadow: inset 2px 2px 5px var(--neu-dark), inset -2px -2px 5px var(--neu-light);
  color: #4a5568;
}

/* Neumorphic 暗色 */
@media (prefers-color-scheme: dark){
  [data-theme="neu"]{
    --neu-bg: #2d3142;
    --neu-light: rgba(255,255,255,.06);
    --neu-dark: rgba(0,0,0,.35);
    --text: #cbd5e0;
    --muted: #8899aa;
    --card: #2d3142;
  }
  [data-theme="neu"] body,
  body[data-theme="neu"]{
    background: #2d3142 !important;
    color: #cbd5e0;
  }
  [data-theme="neu"] .glass{ background: #2d3142; }
  [data-theme="neu"] .logo-wrap{ background: #2d3142; }
  [data-theme="neu"] .contact-item{ background: #2d3142; }
  [data-theme="neu"] .btn{ background: #2d3142 !important; color: #cbd5e0 !important; }
  [data-theme="neu"] .divider{
    box-shadow: 1px 1px 2px var(--neu-dark), -1px -1px 2px var(--neu-light);
  }
  [data-theme="neu"] .mobile-tab-bar{ background: #2d3142; }
  [data-theme="neu"] .announcement{ background: #2d3142; color: #8899aa; }
}
