:root{
  --bg-1:#071018;
  --bg-2:#06111a;
  --shell-1:rgba(9,18,23,.96);
  --shell-2:rgba(5,12,16,.98);
  --card-bg:rgba(26,34,40,.95);
  --card-border:rgba(255,255,255,.12);
  --text-1:#ffffff;
  --text-2:#c7d7cf;
  --text-3:#9ec0ac;

  --accent-1:#58e36d;
  --accent-2:#2fbc49;
  --accent-3:#9cf5aa;
  --accent-soft:rgba(88,227,109,.14);
  --accent-ring:rgba(88,227,109,.28);

  --chip-bg:rgba(255,255,255,.05);
  --chip-border:rgba(255,255,255,.10);
  --chip-text:#e6fff0;

  --btn-text:#ffffff;
  --btn-dark-text:#08130c;

  --mask-bg:rgba(0,0,0,.55);
  --dialog-bg:#171d21;

  --mascot-ring:rgba(88,227,109,.22);
  --mascot-bg:linear-gradient(180deg,#142026,#0d171c);
  --mascot-shadow:0 0 34px rgba(88,227,109,.14);
}

body[data-theme="emerald"]{
  --bg-1:#071018;
  --bg-2:#06111a;
  --accent-1:#58e36d;
  --accent-2:#2fbc49;
  --accent-3:#9cf5aa;
  --accent-soft:rgba(88,227,109,.14);
  --accent-ring:rgba(88,227,109,.28);
  --mascot-ring:rgba(88,227,109,.22);
}


body[data-theme="sunset"]{
  --bg-1:#140d10;
  --bg-2:#1a1115;
  --accent-1:#ff8a4c;
  --accent-2:#e0562a;
  --accent-3:#ffd1b8;
  --accent-soft:rgba(255,138,76,.15);
  --accent-ring:rgba(255,138,76,.28);
  --mascot-ring:rgba(255,138,76,.22);
}

body[data-theme="violet"]{
  --bg-1:#0d0c18;
  --bg-2:#141226;
  --accent-1:#9b7bff;
  --accent-2:#6d4df2;
  --accent-3:#d7cbff;
  --accent-soft:rgba(155,123,255,.16);
  --accent-ring:rgba(155,123,255,.28);
  --mascot-ring:rgba(155,123,255,.22);
}

body[data-theme="gold"]{
  --bg-1:#13100c;
  --bg-2:#18130e;
  --accent-1:#d9b45b;
  --accent-2:#b4892f;
  --accent-3:#f3dfaa;
  --accent-soft:rgba(217,180,91,.16);
  --accent-ring:rgba(217,180,91,.26);
  --mascot-ring:rgba(217,180,91,.22);
}


*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;
  background:var(--bg-1);
  color:var(--text-1);
}
body{
  min-height:100vh;
  background:
          radial-gradient(circle at top center,var(--accent-soft),transparent 35%),
          linear-gradient(180deg,var(--bg-1) 0%,var(--bg-2) 45%,var(--bg-1) 100%);
}
button{font-family:inherit}
.page-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
}
.mobile-frame{
  width:100%;
  max-width:490px;
  min-height:92vh;
  border-radius:28px;
  background:linear-gradient(180deg,var(--shell-1),var(--shell-2));
  box-shadow:0 30px 80px rgba(0,0,0,.45);
  padding:18px 16px 24px;
  position:relative;
  overflow:hidden;
}
.topbar{display:flex;align-items:center;justify-content:space-between}
.brand-wrap{display:flex;align-items:center;gap:10px}
.brand-mark{
  width:38px;height:38px;border-radius:12px;
  border:1px solid var(--accent-ring);
  display:flex;align-items:center;justify-content:center;
  color:var(--accent-1);
  box-shadow:0 0 18px var(--accent-soft);
}
.brand-text{
  font-size:32px;font-weight:800;
  color:var(--accent-1);
  letter-spacing:.8px;
}
.icon-link{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--chip-bg);
  text-decoration:none;color:var(--text-1);
  border:1px solid var(--chip-border);
}
.topbar-actions{display:flex;align-items:center;gap:8px}
.lang-switch{
  appearance:none;-webkit-appearance:none;
  background:var(--chip-bg);
  color:var(--text-1);
  border:1px solid var(--chip-border);
  border-radius:18px;
  padding:6px 28px 6px 10px;
  font-size:13px;line-height:1;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23999' d='M0 0l5 6 5-6z'/></svg>");
  background-repeat:no-repeat;background-position:right 8px center;
}
.lang-switch:focus{outline:1px solid var(--accent-ring);outline-offset:2px}

/* 单图标语言切换按钮：替代旧 <select>，单击就在 zh-CN / en 之间循环。
   设计目标：与 .icon-link 同高（圆角胶囊），右上角不再放第二个图标 */
.lang-toggle{
  display:inline-flex;align-items:center;gap:6px;
  height:42px;padding:0 14px;border-radius:24px;
  background:var(--chip-bg);
  color:var(--text-1);
  border:1px solid var(--chip-border);
  cursor:pointer;
  font-size:14px;font-weight:600;line-height:1;
  transition:background .15s ease, transform .12s ease;
}
.lang-toggle:hover{background:rgba(255,255,255,.10);}
.lang-toggle:active{transform:scale(.97);}
.lang-toggle:focus{outline:1px solid var(--accent-ring);outline-offset:2px;}
.lang-toggle-icon{font-size:18px;line-height:1;}
.lang-toggle-label{font-size:13px;letter-spacing:.4px;}

.hero-section{text-align:center;padding-top:14px;position:relative}
.hero-glow{
  position:absolute;left:50%;top:42px;transform:translateX(-50%);
  width:240px;height:180px;
  background:radial-gradient(circle,var(--accent-soft),transparent 72%);
  filter:blur(20px);
}
.hero-coin{position:absolute;font-size:24px;opacity:.42}
.coin-left{left:10px;top:120px}
.coin-right{right:10px;top:150px}

.mascot-card{
  position:relative;
  width:138px;
  height:138px;
  margin:10px auto 8px;
  border-radius:50%;
  background:var(--mascot-bg);
  box-shadow:var(--mascot-shadow), inset 0 0 18px rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;
}
.mascot-halo{
  position:absolute;
  inset:-5px;
  border-radius:50%;
  border:1px solid var(--mascot-ring);
}
.mascot-face{
  font-size:70px;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.20));
}
.mascot-face.mascot-text{
  font-size:42px;
  font-weight:800;
  color:var(--accent-1);
  line-height:1.1;
  text-align:center;
  max-width:82%;
  word-break:break-word;
}
.mascot-image{
  width:72%;
  height:72%;
  object-fit:contain;
  border-radius:16px;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.20));
}

h1{margin:8px 0 6px;font-size:30px}
p{margin:0;color:var(--text-3);line-height:1.6}

.platform-tabs{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
  margin:18px 0;
}
.platform-tabs{align-items:center;}

.platform-chip{
  border:1px solid var(--chip-border);
  background:var(--chip-bg);
  color:var(--chip-text);
  padding:8px 14px;
  border-radius:999px;
  cursor:pointer;
}
.platform-chip.active{
  background:linear-gradient(180deg,var(--accent-1),var(--accent-2));
  color:var(--btn-dark-text);
  border-color:transparent;
  box-shadow:0 10px 24px var(--accent-soft);
}

.recommend-card,.qr-card{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:22px;
  padding:16px;
  margin-top:14px;
  text-align:left;
  box-shadow:0 14px 30px rgba(0,0,0,.24);
}
.recommend-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.recommend-title,.qr-title{font-size:14px;color:var(--text-3)}
.recommend-name{margin-top:6px;font-size:24px;font-weight:800;color:var(--accent-1)}
.recommend-meta,.qr-line-meta,.qr-hint{margin-top:6px;color:var(--text-2);font-size:14px}
.recommend-tip{margin:14px 0 16px;color:var(--accent-3)}

.hero-btn,.ghost-btn,.refresh-btn,.support-btn,.line-action,.select-btn{
  height:34px;
  padding:0 12px;
  border-radius:999px;
  background:transparent;
  border:1px solid var(--chip-border);
  color:var(--text-1);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  transition:all .18s ease;
}

.select-btn-label{
  font-weight:800;
}

.select-btn.active{
  background:linear-gradient(180deg,var(--accent-1),var(--accent-2));
  border-color:transparent;
  color:var(--btn-dark-text);
  box-shadow:0 8px 18px var(--accent-soft), 0 0 0 1px var(--accent-ring) inset;
}

.select-btn-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font-size:12px;
  font-weight:900;
  line-height:1;
}
.hero-btn,.support-btn,.line-action{
  background:linear-gradient(180deg,var(--accent-1),var(--accent-2));
  color:var(--btn-dark-text);
}
.hero-btn{
  width:100%;
  height:54px;
  font-size:20px;
  font-weight:800;
  box-shadow:0 10px 28px var(--accent-soft);
}
.ghost-btn{
  width:100%;
  height:48px;
  background:var(--chip-bg);
  color:var(--text-1);
  margin-top:10px;
  border:1px solid var(--chip-border);
}
.refresh-btn{
  height:38px;
  padding:0 14px;
  background:var(--accent-soft);
  color:var(--accent-3);
  border:1px solid var(--accent-ring);
}
.qr-card{display:flex;align-items:center;justify-content:space-between;gap:12px}
.qr-card img{
  width:112px;height:112px;border-radius:14px;
  background:#fff;padding:6px;
}
.qr-line-name{margin-top:8px;font-size:18px;font-weight:700}
.bottom-actions{margin-top:14px}
.support-btn{
  display:flex;align-items:center;justify-content:center;
  height:58px;width:100%;
  text-decoration:none;
  font-size:20px;font-weight:800;
}

.line-modal{
  position:fixed;inset:0;
  background:var(--mask-bg);
  backdrop-filter:blur(2px);
  display:flex;align-items:flex-end;justify-content:center;
  padding:14px;
}
.line-modal.hidden{display:none}
.line-dialog{
  width:min(540px,100%);
  max-height:82vh;
  overflow:auto;
  background:var(--dialog-bg);
  border:1px solid var(--card-border);
  border-radius:26px;
  padding:16px;
  box-shadow:0 20px 70px rgba(0,0,0,.5);
}
.line-dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.line-dialog-head h3{margin:0;font-size:22px}
.icon-close{
  width:38px;height:38px;border-radius:12px;
  background:var(--chip-bg);color:var(--text-1);
  border:1px solid var(--chip-border);
}
.line-list{display:flex;flex-direction:column;gap:12px}
.line-item{
  border-radius:18px;
  padding:14px;
  background:rgba(255,255,255,.03);
  border:1px solid transparent;
}
.line-item.fastest{
  border-color:var(--accent-ring);
  box-shadow:0 0 0 1px var(--accent-soft) inset;
}
.line-item.failed{opacity:.55}
.line-top{
  display:grid;
  grid-template-columns:78px 1fr 102px;
  gap:12px;
  align-items:center;
}
.signal-pill{
  padding:8px 6px;
  border-radius:16px;
  background:var(--accent-soft);
  text-align:center;
}
.signal-pill .num{font-size:22px;font-weight:800;color:var(--accent-1)}
.signal-pill .desc{font-size:12px;color:var(--text-2);margin-top:4px}
.line-name{font-size:20px;color:var(--accent-1);font-weight:700}
.line-submeta{font-size:13px;color:var(--text-2);margin-top:5px}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.tag{
  display:inline-flex;align-items:center;height:24px;padding:0 10px;
  border-radius:999px;font-size:12px;
  background:var(--accent-soft);
  color:var(--accent-3);
}
.line-action{
  height:44px;
  font-size:16px;
  font-weight:800;
}
.line-action:disabled{background:#55625b;color:#dde7df;cursor:not-allowed}
.line-foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:10px;font-size:12px;color:var(--text-2);
}
.select-btn{
  height:34px;padding:0 12px;
  background:transparent;
  border:1px solid var(--chip-border);
  color:var(--text-1);
}
.line-loading{padding:24px 8px;text-align:center;color:var(--text-2)}
.hidden{display:none}

@media(max-width:420px){
  .brand-text{font-size:24px}
  .mascot-card{width:124px;height:124px}
  .mascot-face{font-size:62px}
  .line-top{grid-template-columns:68px 1fr 90px}
  .hero-btn{font-size:18px}
  .line-name{font-size:18px}
  .qr-card{flex-direction:column;align-items:flex-start}
  .qr-card img{width:132px;height:132px}
}

/* 当前设备平台锁定：前端页只展示当前设备对应平台 */
.platform-chip-locked{
  cursor:default;
  pointer-events:none;
}


.public-not-found{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:radial-gradient(circle at top,rgba(79,230,122,.12),transparent 32%),#071018;
  color:#fff;
}
.public-not-found-card{
  width:min(420px,100%);
  padding:32px 24px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  background:rgba(17,27,32,.96);
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.28);
}
.public-not-found-code{
  font-size:44px;
  font-weight:900;
  color:#55e67e;
  line-height:1;
  margin-bottom:12px;
}
.public-not-found-card h1{
  margin:0 0 10px;
  font-size:26px;
}
.public-not-found-card p{
  margin:0;
  color:#b9c8c0;
  line-height:1.7;
}


/* 新增下载页主题：赛博青 */
body[data-theme="cyber"]{
  --bg-1:#041018;
  --bg-2:#071b26;
  --shell-1:rgba(7,27,38,.96);
  --shell-2:rgba(4,16,24,.98);
  --card-bg:rgba(12,42,58,.94);
  --card-border:rgba(34,211,238,.18);
  --text-1:#ecfeff;
  --text-2:#cffafe;
  --text-3:#67e8f9;
  --accent-1:#06b6d4;
  --accent-2:#0891b2;
  --accent-3:#a5f3fc;
  --accent-soft:rgba(34,211,238,.16);
  --accent-ring:rgba(34,211,238,.32);
  --chip-bg:rgba(34,211,238,.08);
  --chip-border:rgba(34,211,238,.18);
  --chip-text:#ecfeff;
  --btn-dark-text:#001014;
  --dialog-bg:#071b26;
  --mascot-ring:rgba(34,211,238,.24);
  --mascot-bg:linear-gradient(180deg,#0c2a3a,#071b26);
  --mascot-shadow:0 0 38px rgba(34,211,238,.16);
}

/* 新增下载页主题：极光绿蓝 */
body[data-theme="aurora"]{
  --bg-1:#07111f;
  --bg-2:#0d1b2f;
  --shell-1:rgba(13,27,47,.96);
  --shell-2:rgba(7,17,31,.98);
  --card-bg:rgba(18,35,61,.94);
  --card-border:rgba(167,243,208,.14);
  --text-1:#f0fdf4;
  --text-2:#d1fae5;
  --text-3:#a7f3d0;
  --accent-1:#34d399;
  --accent-2:#14b8a6;
  --accent-3:#818cf8;
  --accent-soft:rgba(52,211,153,.15);
  --accent-ring:rgba(94,234,212,.28);
  --chip-bg:rgba(129,140,248,.08);
  --chip-border:rgba(167,243,208,.16);
  --chip-text:#f0fdf4;
  --btn-dark-text:#042016;
  --dialog-bg:#0d1b2f;
  --mascot-ring:rgba(94,234,212,.24);
  --mascot-bg:linear-gradient(180deg,#132942,#0d1b2f);
  --mascot-shadow:0 0 40px rgba(52,211,153,.14);
}

/* 新增下载页主题：午夜绿 */

/* 新增下载页主题：星际蓝 */
body[data-theme="starry"]{
  --bg-1:#020617;
  --bg-2:#0f172a;
  --shell-1:rgba(15,23,42,.96);
  --shell-2:rgba(2,6,23,.98);
  --card-bg:rgba(30,41,59,.92);
  --card-border:rgba(56,189,248,.18);
  --text-1:#f8fafc;
  --text-2:#dbeafe;
  --text-3:#93c5fd;
  --accent-1:#38bdf8;
  --accent-2:#2563eb;
  --accent-3:#bfdbfe;
  --accent-soft:rgba(56,189,248,.15);
  --accent-ring:rgba(59,130,246,.30);
  --chip-bg:rgba(59,130,246,.08);
  --chip-border:rgba(147,197,253,.18);
  --chip-text:#eff6ff;
  --btn-dark-text:#031018;
  --dialog-bg:#0f172a;
  --mascot-ring:rgba(56,189,248,.24);
  --mascot-bg:linear-gradient(180deg,#172554,#0f172a);
  --mascot-shadow:0 0 38px rgba(56,189,248,.14);
}

/* 新增下载页主题：黑曜石 */
body[data-theme="obsidian"]{
  --bg-1:#050505;
  --bg-2:#111111;
  --shell-1:rgba(18,18,18,.96);
  --shell-2:rgba(5,5,5,.98);
  --card-bg:rgba(27,27,27,.94);
  --card-border:rgba(255,255,255,.10);
  --text-1:#f5f5f5;
  --text-2:#d4d4d4;
  --text-3:#a3a3a3;
  --accent-1:#e5e7eb;
  --accent-2:#a3a3a3;
  --accent-3:#ffffff;
  --accent-soft:rgba(229,231,235,.12);
  --accent-ring:rgba(229,231,235,.24);
  --chip-bg:rgba(255,255,255,.06);
  --chip-border:rgba(255,255,255,.12);
  --chip-text:#f5f5f5;
  --btn-dark-text:#111111;
  --dialog-bg:#171717;
  --mascot-ring:rgba(229,231,235,.22);
  --mascot-bg:linear-gradient(180deg,#262626,#111111);
  --mascot-shadow:0 0 32px rgba(229,231,235,.10);
}

/* 新增下载页主题：苹果白 */
body[data-theme="apple"]{
  --bg-1:#f5f5f7;
  --bg-2:#ffffff;
  --shell-1:rgba(255,255,255,.96);
  --shell-2:rgba(245,245,247,.98);
  --card-bg:rgba(255,255,255,.94);
  --card-border:rgba(0,0,0,.10);
  --text-1:#1d1d1f;
  --text-2:#3a3a3c;
  --text-3:#6e6e73;
  --accent-1:#007aff;
  --accent-2:#0a84ff;
  --accent-3:#5ac8fa;
  --accent-soft:rgba(0,122,255,.12);
  --accent-ring:rgba(0,122,255,.24);
  --chip-bg:rgba(0,0,0,.04);
  --chip-border:rgba(0,0,0,.10);
  --chip-text:#1d1d1f;
  --btn-text:#ffffff;
  --btn-dark-text:#ffffff;
  --mask-bg:rgba(0,0,0,.35);
  --dialog-bg:#ffffff;
  --mascot-ring:rgba(0,122,255,.20);
  --mascot-bg:linear-gradient(180deg,#ffffff,#eef2f7);
  --mascot-shadow:0 12px 34px rgba(0,0,0,.08);
}

/* 新增下载页主题：清爽薄荷 */

/* 新增下载页主题：蓝紫渐变 */
body[data-theme="cosmic"]{
  --bg-1:#0b1020;
  --bg-2:#121a33;
  --shell-1:rgba(18,26,51,.96);
  --shell-2:rgba(11,16,32,.98);
  --card-bg:rgba(23,34,67,.94);
  --card-border:rgba(147,197,253,.14);
  --text-1:#eff6ff;
  --text-2:#dbeafe;
  --text-3:#93c5fd;
  --accent-1:#3b82f6;
  --accent-2:#7c3aed;
  --accent-3:#c4b5fd;
  --accent-soft:rgba(59,130,246,.16);
  --accent-ring:rgba(168,85,247,.28);
  --chip-bg:rgba(168,85,247,.08);
  --chip-border:rgba(147,197,253,.15);
  --chip-text:#eff6ff;
  --btn-dark-text:#ffffff;
  --dialog-bg:#121a33;
  --mascot-ring:rgba(168,85,247,.24);
  --mascot-bg:linear-gradient(180deg,#1e2b4d,#121a33);
  --mascot-shadow:0 0 40px rgba(59,130,246,.16);
}

/* 新增下载页主题：樱花粉 */

/* 新增下载页主题：石墨灰 */
body[data-theme="graphite"]{
  --bg-1:#111827;
  --bg-2:#1f2937;
  --shell-1:rgba(31,41,55,.96);
  --shell-2:rgba(17,24,39,.98);
  --card-bg:rgba(55,65,81,.90);
  --card-border:rgba(209,213,219,.13);
  --text-1:#f9fafb;
  --text-2:#e5e7eb;
  --text-3:#9ca3af;
  --accent-1:#9ca3af;
  --accent-2:#6b7280;
  --accent-3:#f3f4f6;
  --accent-soft:rgba(156,163,175,.14);
  --accent-ring:rgba(209,213,219,.24);
  --chip-bg:rgba(255,255,255,.06);
  --chip-border:rgba(209,213,219,.13);
  --chip-text:#f9fafb;
  --btn-dark-text:#111827;
  --dialog-bg:#1f2937;
  --mascot-ring:rgba(209,213,219,.22);
  --mascot-bg:linear-gradient(180deg,#374151,#1f2937);
  --mascot-shadow:0 0 34px rgba(209,213,219,.10);
}


/* 精选高对比下载页主题：电光蓝绿 */
body[data-theme="electric"]{
  --bg-1:#020b12;
  --bg-2:#041a22;
  --shell-1:rgba(4,26,34,.96);
  --shell-2:rgba(2,11,18,.98);
  --card-bg:rgba(7,36,48,.94);
  --card-border:rgba(0,245,212,.20);
  --text-1:#ecfeff;
  --text-2:#ccfbf1;
  --text-3:#67e8f9;
  --accent-1:#00f5d4;
  --accent-2:#00bbf9;
  --accent-3:#9bffef;
  --accent-soft:rgba(0,245,212,.16);
  --accent-ring:rgba(0,187,249,.34);
  --chip-bg:rgba(0,245,212,.08);
  --chip-border:rgba(0,245,212,.18);
  --chip-text:#ecfeff;
  --btn-text:#041018;
  --btn-dark-text:#041018;
  --dialog-bg:#061923;
  --mascot-ring:rgba(0,245,212,.26);
  --mascot-bg:linear-gradient(180deg,#063342,#041a22);
  --mascot-shadow:0 0 42px rgba(0,245,212,.18);
}

/* 精选高对比下载页主题：荧光柠檬 */
body[data-theme="neonlime"]{
  --bg-1:#060806;
  --bg-2:#10140a;
  --shell-1:rgba(16,20,10,.96);
  --shell-2:rgba(6,8,6,.98);
  --card-bg:rgba(24,32,16,.94);
  --card-border:rgba(204,255,0,.20);
  --text-1:#f7fee7;
  --text-2:#ecfccb;
  --text-3:#d9f99d;
  --accent-1:#ccff00;
  --accent-2:#a3e635;
  --accent-3:#ecff99;
  --accent-soft:rgba(204,255,0,.16);
  --accent-ring:rgba(163,230,53,.32);
  --chip-bg:rgba(204,255,0,.08);
  --chip-border:rgba(204,255,0,.18);
  --chip-text:#f7fee7;
  --btn-text:#102000;
  --btn-dark-text:#102000;
  --dialog-bg:#11180b;
  --mascot-ring:rgba(204,255,0,.26);
  --mascot-bg:linear-gradient(180deg,#202c12,#10140a);
  --mascot-shadow:0 0 42px rgba(204,255,0,.16);
}
/* 精选高对比下载页主题：冰川蓝白 */
body[data-theme="glacier"]{
  --bg-1:#eef8ff;
  --bg-2:#ffffff;
  --shell-1:rgba(255,255,255,.96);
  --shell-2:rgba(238,248,255,.98);
  --card-bg:rgba(255,255,255,.95);
  --card-border:rgba(2,132,199,.18);
  --text-1:#082f49;
  --text-2:#075985;
  --text-3:#0369a1;
  --accent-1:#0284c7;
  --accent-2:#38bdf8;
  --accent-3:#bae6fd;
  --accent-soft:rgba(2,132,199,.13);
  --accent-ring:rgba(56,189,248,.28);
  --chip-bg:rgba(2,132,199,.07);
  --chip-border:rgba(2,132,199,.16);
  --chip-text:#082f49;
  --btn-text:#ffffff;
  --btn-dark-text:#ffffff;
  --mask-bg:rgba(15,23,42,.32);
  --dialog-bg:#ffffff;
  --mascot-ring:rgba(2,132,199,.22);
  --mascot-bg:linear-gradient(180deg,#ffffff,#dff4ff);
  --mascot-shadow:0 14px 36px rgba(2,132,199,.12);
}

/* 精选高对比下载页主题：暗红玫瑰 */
body[data-theme="rose"]{
  --bg-1:#12070b;
  --bg-2:#210d14;
  --shell-1:rgba(33,13,20,.96);
  --shell-2:rgba(18,7,11,.98);
  --card-bg:rgba(49,18,29,.94);
  --card-border:rgba(244,63,94,.20);
  --text-1:#fff1f2;
  --text-2:#fecdd3;
  --text-3:#fda4af;
  --accent-1:#f43f5e;
  --accent-2:#be123c;
  --accent-3:#fecdd3;
  --accent-soft:rgba(244,63,94,.16);
  --accent-ring:rgba(244,63,94,.30);
  --chip-bg:rgba(244,63,94,.08);
  --chip-border:rgba(244,63,94,.18);
  --chip-text:#fff1f2;
  --btn-text:#ffffff;
  --btn-dark-text:#ffffff;
  --dialog-bg:#210d14;
  --mascot-ring:rgba(244,63,94,.24);
  --mascot-bg:linear-gradient(180deg,#3a1322,#210d14);
  --mascot-shadow:0 0 40px rgba(244,63,94,.16);
}
/* 精选高对比下载页主题：孔雀蓝绿 */
body[data-theme="peacock"]{
  --bg-1:#031716;
  --bg-2:#082f2d;
  --shell-1:rgba(8,47,45,.96);
  --shell-2:rgba(3,23,22,.98);
  --card-bg:rgba(13,65,61,.94);
  --card-border:rgba(45,212,191,.18);
  --text-1:#f0fdfa;
  --text-2:#ccfbf1;
  --text-3:#99f6e4;
  --accent-1:#2dd4bf;
  --accent-2:#0f766e;
  --accent-3:#99f6e4;
  --accent-soft:rgba(45,212,191,.15);
  --accent-ring:rgba(45,212,191,.30);
  --chip-bg:rgba(45,212,191,.08);
  --chip-border:rgba(45,212,191,.18);
  --chip-text:#f0fdfa;
  --btn-text:#031716;
  --btn-dark-text:#031716;
  --dialog-bg:#082f2d;
  --mascot-ring:rgba(45,212,191,.24);
  --mascot-bg:linear-gradient(180deg,#0d413d,#082f2d);
  --mascot-shadow:0 0 40px rgba(45,212,191,.14);
}


/* 在线客服禁用兜底：防止 CDN/旧样式导致 hidden 被按钮样式覆盖 */
#supportActions.hidden,
#supportActions[hidden],
#supportBtn.hidden,
#supportBtn[hidden],
#supportBtn:not([href]),
#supportFloat.hidden,
#supportFloat[hidden],
#supportFloat:not([href]),
body.support-disabled #supportActions,
body.support-disabled #supportBtn,
body.support-disabled #supportFloat {
  display: none !important;
}

/* 国内 App 内打开提示：微信 / QQ / 支付宝等内置浏览器 */
.in-app-open-blocked{
  overflow:hidden;
}
.app-open-mask{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:88px 20px 20px;
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(3px);
  color:#fff;
}
.app-open-mask.hidden{
  display:none;
}
.app-open-arrow{
  position:fixed;
  top:16px;
  right:22px;
  font-size:72px;
  line-height:1;
  font-weight:900;
  color:#fff;
  transform:rotate(-8deg);
  text-shadow:0 8px 24px rgba(0,0,0,.45);
  animation:appOpenArrowMove 1.05s ease-in-out infinite alternate;
}
.app-open-card{
  width:min(420px,100%);
  margin-top:20px;
  padding:24px 20px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(15,23,42,.90);
  box-shadow:0 20px 70px rgba(0,0,0,.45);
  text-align:center;
}
.app-open-title{
  font-size:22px;
  line-height:1.55;
  font-weight:900;
}
.app-open-domain{
  margin-top:12px;
  color:rgba(255,255,255,.78);
  font-size:14px;
  word-break:break-all;
}
.app-open-copy{
  width:100%;
  height:46px;
  margin-top:18px;
  border:0;
  border-radius:999px;
  background:linear-gradient(180deg,var(--accent-1),var(--accent-2));
  color:var(--btn-dark-text);
  font-size:16px;
  font-weight:900;
}
.app-open-copy-tip{
  min-height:20px;
  margin-top:10px;
  color:var(--accent-3);
  font-size:13px;
}
@keyframes appOpenArrowMove{
  from{transform:translate(-4px,4px) rotate(-8deg);opacity:.78;}
  to{transform:translate(4px,-4px) rotate(-8deg);opacity:1;}
}

/* ===== UI 适配补丁：以当前前端为基准，适配主流手机 / 小屏 / 横屏 / 桌面 ===== */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  overflow-x:hidden;
}
button,a,input,select{
  -webkit-tap-highlight-color:transparent;
}
.page-shell{
  min-height:100dvh;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
}
.mobile-frame{
  width:min(100%,490px);
  min-height:min(92dvh,900px);
}
.brand-text,.recommend-name,.qr-line-name,.line-name{
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(min-width:900px) and (hover:hover) and (pointer:fine){
  .page-shell{align-items:center;padding:24px}
  .mobile-frame{max-width:520px;padding:22px 20px 28px;border-radius:32px}
  .brand-text{font-size:34px}
  .mascot-card{width:150px;height:150px}
  .hero-btn{height:58px}
}
@media(max-width:480px){
  .page-shell{align-items:stretch;padding:0}
  .mobile-frame{
    max-width:none;
    min-height:100dvh;
    border-radius:0;
    padding:16px 14px calc(22px + env(safe-area-inset-bottom));
    box-shadow:none;
  }
  .topbar{gap:10px}
  .brand-wrap{min-width:0;gap:8px}
  .brand-mark{width:34px;height:34px;border-radius:10px;flex:0 0 auto}
  .brand-text{font-size:clamp(22px,7vw,28px);white-space:nowrap;min-width:0}
  .icon-link{width:38px;height:38px;flex:0 0 auto}
  .hero-section{padding-top:10px}
  .hero-glow{width:210px;height:150px;top:34px}
  .mascot-card{width:clamp(108px,30vw,132px);height:clamp(108px,30vw,132px);margin-top:8px}
  .mascot-face{font-size:clamp(54px,16vw,66px)}
  h1{font-size:clamp(24px,7.2vw,30px);line-height:1.2}
  p{font-size:14px;line-height:1.55}
  .platform-tabs{justify-content:center;flex-wrap:wrap;overflow-x:visible;margin:16px 0;padding:0;-webkit-overflow-scrolling:auto}
  .platform-chip{white-space:nowrap;flex:0 0 auto;padding:8px 13px;text-align:center}
  .recommend-card,.qr-card{padding:14px;border-radius:18px;margin-top:12px}
  .recommend-head{align-items:flex-start}
  .recommend-name{font-size:21px;line-height:1.25}
  .refresh-btn{height:36px;flex:0 0 auto}
  .hero-btn{height:52px;font-size:18px}
  .ghost-btn{height:46px}
  .qr-card{flex-direction:row;align-items:center}
  .qr-card img{width:96px;height:96px;flex:0 0 auto}
  .line-modal{padding:10px 10px calc(10px + env(safe-area-inset-bottom))}
  .line-dialog{width:100%;max-height:86dvh;border-radius:22px;padding:14px}
  .line-top{grid-template-columns:64px minmax(0,1fr) 88px;gap:8px}
  .line-name{font-size:17px;white-space:nowrap}
  .line-submeta{font-size:12px}
  .line-action{height:42px;font-size:15px;padding:0 10px}
  .app-open-mask{padding:76px 14px 14px}
  .app-open-arrow{font-size:60px;right:16px}
  .app-open-card{border-radius:20px;padding:20px 16px}
}
@media(max-width:360px){
  .mobile-frame{padding:12px 10px calc(18px + env(safe-area-inset-bottom))}
  .brand-text{font-size:22px}
  .recommend-card,.qr-card{padding:12px}
  .line-top{grid-template-columns:58px minmax(0,1fr);grid-template-areas:"signal info" "action action"}
  .signal-pill{grid-area:signal}
  .line-top>div:nth-child(2){grid-area:info}
  .line-action{grid-area:action;width:100%;margin-top:2px}
  .qr-card{flex-direction:column;align-items:flex-start}
  .qr-card img{width:118px;height:118px}
}
@media(orientation:landscape) and (max-height:560px){
  .page-shell{align-items:flex-start;padding:10px}
  .mobile-frame{min-height:auto;max-width:760px}
  .hero-section{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:start;text-align:left}
  .hero-glow,.hero-coin{display:none}
  .mascot-card{grid-row:1 / span 5;margin:8px auto;width:132px;height:132px}
  .platform-tabs{justify-content:flex-start;margin:8px 0}
  .recommend-card,.qr-card{margin-top:8px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* dc51 patch: 左上角 Logo 隐藏时，右上角入口仍保持在右侧 */
.topbar.no-brand{
  justify-content:flex-end!important;
}
.topbar.no-brand .icon-link{
  margin-left:auto;
}
