/* Download-gate — 浅色页面与可配置品牌色 */

/* ── 设计 tokens ── */
:root{
  --brand:#d92e1a; --brand-d:#a81f10; --brand-l:#ff5a44; --glow:217,46,26;
  /* ── 浅色主题（整页统一，品牌红点缀）── */
  /* 叠加基色：页面 UI 的表面/边框统一用 rgba(var(--ov),α)，切换明暗只需改这一处 */
  --ov:22,24,28;     /* 浅色主题：近黑，低透明度叠白底=淡灰（深色主题时改为 255,255,255）*/
  --sf:#ffffff;      /* 页面底色：白 */
  --sf2:#ffffff;     /* 次级表面（卡片/顶栏） */
  --sfc:#eef0f3;     /* 三级表面（chip 底、输入框背景） */
  --card:#ffffff;    /* 卡片 */
  --on:#1b1e24;      /* 主文字：近黑 */
  --onv:#606874;     /* 次要文字：中灰 */
  --line:rgba(var(--ov),.1);    /* 分割线 */
  --hair:rgba(var(--ov),.06);   /* 更细分割线 */
  --ok:#059669; --bad:#dc2626;
  --sd1:0 1px 2px rgba(var(--ov),.06),0 4px 12px -4px rgba(var(--ov),.1);
  --sd2:0 2px 8px rgba(var(--ov),.08),0 16px 40px -12px rgba(var(--ov),.16);
  --r-sm:10px; --r-md:16px; --r-lg:22px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  background:var(--sf);
  /* 整页品牌红渐变光晕（固定，不随滚动） */
  background-image:
    radial-gradient(ellipse 900px 500px at 50% 0%, rgba(var(--glow),.16), transparent 55%),
    radial-gradient(ellipse 700px 400px at 100% 80%, rgba(var(--glow),.08), transparent 50%);
  background-attachment:fixed;
  color:var(--on);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{display:block;}
strong,b{font-weight:600;}

.container{max-width:920px;margin:0 auto;padding:0 1.2rem;}

/* ── 按钮 ── */
.btn{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;gap:.45rem;border:1px solid rgba(var(--ov),.15);background:var(--card);color:var(--on);border-radius:var(--r-md);padding:.6rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none;box-shadow:var(--sd1);-webkit-transition:transform .12s,box-shadow .18s,border-color .15s;transition:transform .12s,box-shadow .18s,border-color .15s;white-space:nowrap;font-family:var(--font);}
/* 普通按钮 hover：保持白底，仅品牌色描边 + 阴影加强，不变灰 */
.btn:not(.btn-brand):not(.btn-ghost):not(.btn-outline-brand):hover{background:var(--card);border-color:rgba(var(--glow),.4);box-shadow:var(--sd2);}
.btn:active{-webkit-transform:scale(.98);transform:scale(.98);}
.btn svg{display:block;-webkit-flex-shrink:0;flex-shrink:0;}
.btn-brand{color:#fff;border:0;background:-webkit-linear-gradient(315deg,var(--brand-l),var(--brand));background:linear-gradient(135deg,var(--brand-l),var(--brand));box-shadow:0 6px 16px -8px rgba(var(--glow),.42);}
.btn-brand:hover{background:-webkit-linear-gradient(315deg,var(--brand-l),var(--brand));background:linear-gradient(135deg,var(--brand-l),var(--brand));-webkit-filter:brightness(1.05);filter:brightness(1.05);box-shadow:0 10px 24px -8px rgba(var(--glow),.55);-webkit-transform:translateY(-1px);transform:translateY(-1px);}
.btn-ghost{background:transparent;border:1.5px solid rgba(var(--ov),.25);color:var(--on);}
.btn-ghost:hover{background:rgba(var(--glow),.06);border-color:rgba(var(--glow),.4);}
.btn-lg{padding:.88rem 2rem;font-size:1rem;border-radius:var(--r-md);}
.btn-sm{padding:.38rem .8rem;font-size:.82rem;border-radius:var(--r-sm);}

/* chip */

.chip-brand{color:var(--brand);background:rgba(var(--glow),.09);border-color:rgba(var(--glow),.2);}
.chip-hero{color:rgba(var(--ov),.7);background:rgba(var(--ov),.08);border-color:rgba(var(--ov),.12);}

/* ── 顶栏（浅色半透明毛玻璃） ── */
.site-nav{background:rgba(255,255,255,.85);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);}
.nav-inner{max-width:920px;margin:0 auto;padding:0 1.2rem;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:.7rem;height:52px;}
.nav-inner .logo{width:30px;height:30px;border-radius:8px;}
.nav-inner .name{font-weight:700;font-size:.95rem;color:var(--on);letter-spacing:-.2px;}
.nav-inner .sp{-webkit-flex:1;flex:1;}
.nav-inner .nav-link{color:var(--onv);font-size:.82rem;-webkit-transition:color .15s;transition:color .15s;}
.nav-inner .nav-link:hover{color:var(--on);}

/* ── Hero（浅色，品牌红渐变 + 柔和背景）── */
/* ── Hero（透明，整页深色背景透出）── */
.hero{
  background:transparent;
  color:var(--on);
  text-align:center;
  padding:3.8rem 1.2rem 4rem;
  position:relative;
  overflow:hidden;
}
.hero::before{display:none;}
.hero-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;}
.hero .applogo{width:88px;height:88px;border-radius:22px;margin:0 auto 1.1rem;box-shadow:var(--sd2),0 0 0 1px rgba(var(--ov),.1);}
.hero h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.1;letter-spacing:-.04em;margin:.1rem 0 .55rem;color:var(--on);}
.hero .tagline{font-size:1.05rem;color:var(--onv);margin:0 0 1.1rem;}
.hero .verline{display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-flex-wrap:wrap;flex-wrap:wrap;gap:.5rem;margin-bottom:1.8rem;}
.hero-fade{display:none;}

/* chip-hero 在深色背景下 */
.chip-hero{color:rgba(var(--ov),.6);background:rgba(var(--ov),.08);border-color:rgba(var(--ov),.12);}
/* chip 通用（深色背景下暖色调） */
.chip{display:-webkit-inline-box;display:inline-flex;-webkit-align-items:center;align-items:center;gap:.28rem;font-size:.72rem;font-weight:600;color:var(--onv);background:rgba(var(--ov),.07);border:1px solid rgba(var(--ov),.1);border-radius:999px;padding:.2rem .6rem;}
.chip-brand{color:var(--brand-l);background:rgba(var(--glow),.18);border-color:rgba(var(--glow),.3);}
.rec-card{
  max-width:520px; margin:0 auto;
  background:var(--card); border:1px solid rgba(var(--ov),.1);
  border-radius:var(--r-lg); padding:1.3rem 1.4rem; text-align:left;
  display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center;
  gap:1rem; -webkit-flex-wrap:wrap; flex-wrap:wrap; position:relative; overflow:hidden;
  box-shadow:var(--sd1);
  -webkit-transition:-webkit-transform .18s cubic-bezier(.2,.8,.4,1),box-shadow .2s;
  transition:transform .18s cubic-bezier(.2,.8,.4,1),box-shadow .2s;
}
.rec-card:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:var(--sd2);}
.rec-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:-webkit-linear-gradient(top,var(--brand-l),var(--brand));background:linear-gradient(180deg,var(--brand-l),var(--brand));border-radius:0;}
.rec-badge{position:absolute;top:0;left:12px;background:-webkit-linear-gradient(315deg,var(--brand-l),var(--brand));background:linear-gradient(135deg,var(--brand-l),var(--brand));color:#fff;font-size:.67rem;font-weight:700;padding:.2rem .6rem;border-radius:0 0 var(--r-sm) var(--r-sm);letter-spacing:.04em;}
.rec-icon{width:48px;height:48px;border-radius:13px;-webkit-flex-shrink:0;flex-shrink:0;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;color:#fff;background:-webkit-linear-gradient(315deg,var(--brand-l),var(--brand));background:linear-gradient(135deg,var(--brand-l),var(--brand));box-shadow:0 6px 18px -8px rgba(var(--glow),.55);}
.rec-icon svg{display:block;}
.rec-text{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0;}
.rec-label{font-size:.7rem;color:var(--onv);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.18rem;}
.rec-plat{font-size:1.12rem;font-weight:750;color:var(--on);line-height:1.2;}
.rec-meta{font-size:.82rem;color:var(--onv);margin-top:.18rem;}
.rec-more{-webkit-flex-basis:100%;flex-basis:100%;padding-top:.25rem;}
.rec-more summary{cursor:pointer;color:var(--brand-l);font-size:.8rem;list-style:none;}
.rec-more summary::-webkit-details-marker{display:none;}
.rec-more ul{list-style:none;margin:.5rem 0 0;padding:0;}
.rec-more li{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;align-items:center;padding:.38rem 0;border-top:1px dashed var(--hair);font-size:.82rem;color:var(--onv);}
.rec-more li a{color:var(--brand-l);font-weight:600;}
.ios-card .rec-icon{background:rgba(var(--ov),.1);box-shadow:none;}
.hero-fade{display:none;}

/* ── 特性 Bento Grid（方向 A：深色背景 + 统一毛玻璃卡）── */
/* ── 特性 Bento Grid（无独立背景，与整页统一）── */
.features{
  padding:3rem 0 2.5rem;
  position:relative;
}
.features::before{display:none;}
/* 品牌光晕（特性区段） */
.features::before{
  content:""; position:absolute; top:0;right:0;bottom:0;left:0; pointer-events:none;
  background:
    radial-gradient(ellipse 700px 380px at 15% 50%, rgba(var(--glow),.14), transparent 55%),
    radial-gradient(ellipse 600px 300px at 85% 60%, rgba(80,50,200,.1), transparent 55%);
}
.bento-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.75rem;
  position:relative; z-index:1;
}
@media(min-width:640px){
  .bento-grid{grid-template-columns:repeat(4,1fr);}
}
/* 统一深色通透卡（与深色页面同系） */
.bento-card{
  border-radius:18px;
  padding:1.5rem 1.4rem;
  position:relative; overflow:hidden;
  display:-webkit-flex; display:flex; -webkit-flex-direction:column; flex-direction:column;
  min-height:180px;
  background:var(--card);
  border:1px solid var(--ov-border, rgba(var(--ov),.1));
  color:var(--on);
  box-shadow:var(--sd1);
  -webkit-transition:-webkit-transform .2s cubic-bezier(.2,.8,.4,1),box-shadow .2s;
  transition:transform .2s cubic-bezier(.2,.8,.4,1),box-shadow .2s;
}
.bento-card:hover{
  -webkit-transform:translateY(-3px); transform:translateY(-3px);
  box-shadow:var(--sd2);
}
/* 每张卡的微弱品牌色角光 */
.bento-card:nth-child(1)::before{
  content:""; position:absolute; top:0;right:0;bottom:0;left:0; pointer-events:none;
  background:radial-gradient(ellipse 140px 120px at 0% 0%, rgba(var(--glow),.22), transparent 60%);
}
.bento-card:nth-child(2)::before{
  content:""; position:absolute; top:0;right:0;bottom:0;left:0; pointer-events:none;
  background:radial-gradient(ellipse 140px 120px at 100% 0%, rgba(79,70,229,.3), transparent 60%);
}
.bento-card:nth-child(3)::before{
  content:""; position:absolute; top:0;right:0;bottom:0;left:0; pointer-events:none;
  background:radial-gradient(ellipse 140px 120px at 0% 100%, rgba(8,145,178,.28), transparent 60%);
}
.bento-card:nth-child(4)::before{
  content:""; position:absolute; top:0;right:0;bottom:0;left:0; pointer-events:none;
  background:radial-gradient(ellipse 140px 120px at 100% 100%, rgba(5,150,105,.28), transparent 60%);
}
/* 图标 */
.bento-icon{
  margin-bottom:auto; padding-bottom:.9rem;
  display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center;
  position:relative; z-index:1;
}
.bento-icon svg{display:block; opacity:.9; color:var(--brand);}
.bento-icon svg[stroke]{stroke:currentColor;}
.bento-icon svg[fill]:not([fill="none"]){fill:currentColor; fill-opacity:.16;}
.bento-icon svg [fill]:not([fill="none"]){fill:currentColor; fill-opacity:.16;}
/* 标题、描述 */
.bento-card h3{
  font-size:1.05rem; font-weight:750; letter-spacing:-.025em;
  margin:0 0 .35rem; line-height:1.2; color:var(--on); position:relative; z-index:1;
}
.bento-card p{
  font-size:.82rem; line-height:1.6; margin:0;
  color:var(--onv); position:relative; z-index:1;
}

/* ── 平台决策区 ── */
.platform-guide{padding:0 0 2.2rem;}
.section-hd{display:-webkit-flex;display:flex;-webkit-align-items:baseline;align-items:baseline;gap:.6rem;margin-bottom:1rem;}
.section-hd h2{font-size:1.1rem;font-weight:750;margin:0;}
.section-hd .muted{color:var(--onv);font-size:.82rem;}
.plat-guide-grid{display:grid;grid-template-columns:1fr;gap:.75rem;}
@media(min-width:580px){.plat-guide-grid{grid-template-columns:1fr 1fr;}}
.plat-guide-card{
  background:var(--card); border:1px solid rgba(var(--ov),.09); border-radius:var(--r-lg);
  padding:1.1rem 1.2rem 1.1rem 1.3rem;
  box-shadow:var(--sd1);
  display:-webkit-flex; display:flex; gap:.85rem; -webkit-align-items:flex-start; align-items:flex-start;
  position:relative; overflow:hidden;
  -webkit-transition:-webkit-transform .18s cubic-bezier(.2,.8,.4,1),box-shadow .2s;
  transition:transform .18s cubic-bezier(.2,.8,.4,1),box-shadow .2s;
}
.plat-guide-card:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px);box-shadow:var(--sd2);}
.plat-guide-card.is-cur{border-color:rgba(var(--glow),.4);background:rgba(var(--glow),.06);}
/* 左侧品牌强调线（仅 is-cur） */
.plat-guide-card.is-cur::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:-webkit-linear-gradient(top,var(--brand-l),var(--brand));
  background:linear-gradient(180deg,var(--brand-l),var(--brand));
  border-radius:0;
}
.pg-icon{
  width:44px; height:44px; border-radius:12px; -webkit-flex-shrink:0; flex-shrink:0;
  background:rgba(var(--ov),.05); border:1px solid rgba(var(--ov),.1);
  display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center;
  -webkit-justify-content:center; justify-content:center; color:var(--onv);
}
.plat-guide-card.is-cur .pg-icon{background:rgba(var(--glow),.25);border-color:rgba(var(--glow),.4);color:var(--brand-l);}
.pg-body{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0;}
.pg-name{font-weight:700;font-size:.95rem;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:.5rem;margin-bottom:.25rem;}
.pg-cur-tag{font-size:.67rem;font-weight:700;background:-webkit-linear-gradient(315deg,var(--brand-l),var(--brand));background:linear-gradient(135deg,var(--brand-l),var(--brand));color:#fff;padding:.15rem .5rem;border-radius:999px;}
.pg-hint{font-size:.8rem;color:var(--onv);line-height:1.5;}
.pg-dl{margin-top:.6rem;display:-webkit-flex;display:flex;gap:.5rem;-webkit-flex-wrap:wrap;flex-wrap:wrap;}
/* 设备选择指引 */
.pg-guide{margin-top:.7rem;}
.pg-guide summary{list-style:none;cursor:pointer;font-size:.78rem;color:var(--brand-l);display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;gap:.3rem;}
.pg-guide summary::-webkit-details-marker{display:none;}
.pg-guide summary::before{content:"?";display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:rgba(var(--glow),.2);color:var(--brand-l);font-size:.66rem;font-weight:700;}
.pg-guide[open] summary{margin-bottom:.4rem;}
.pg-guide p{font-size:.78rem;color:var(--onv);line-height:1.6;margin:0;padding:.6rem .75rem;background:rgba(var(--ov),.04);border:1px solid rgba(var(--ov),.07);border-radius:10px;}

/* ── 全部版本（折叠展开） ── */
.all-versions{padding:0 0 2rem;}
details.all-details{}
details.all-details summary{list-style:none;cursor:pointer;display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;gap:.5rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:.7rem 1.1rem;font-size:.88rem;font-weight:600;color:var(--onv);-webkit-transition:border-color .15s,color .15s;transition:border-color .15s,color .15s;box-shadow:var(--sd1);}
details.all-details summary::-webkit-details-marker{display:none;}
details.all-details summary::before{content:"▸ ";color:var(--brand);}
details.all-details[open] summary::before{content:"▾ ";}
details.all-details summary:hover{border-color:rgba(var(--glow),.35);color:var(--on);}
.pgrid{display:grid;grid-template-columns:1fr;gap:.8rem;margin-top:1rem;}
@media(min-width:560px){.pgrid{grid-template-columns:1fr 1fr;}}
.pcard{
  background:var(--card); border:1px solid rgba(var(--ov),.09); border-radius:var(--r-md); overflow:hidden;
  box-shadow:var(--sd1);
  -webkit-transition:-webkit-transform .18s cubic-bezier(.2,.8,.4,1),box-shadow .2s;
  transition:transform .18s cubic-bezier(.2,.8,.4,1),box-shadow .2s;
}
.pcard:hover{
  -webkit-transform:translateY(-3px); transform:translateY(-3px);
  box-shadow:var(--sd2);
}
.pcard-head{
  display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center;
  gap:.6rem; padding:.78rem 1rem; border-bottom:1px solid var(--hair); background:rgba(var(--ov),.04);
}
.pcard-head h3{font-size:.93rem;margin:0;font-weight:700;}
.pcard-head svg{color:var(--on);}
.frow{
  display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center;
  gap:.55rem; padding:.58rem 1rem; border-top:1px solid var(--hair);
  -webkit-transition:background .14s ease; transition:background .14s ease;
}
.frow:hover{background:rgba(15,23,42,.02);}
.frow:first-of-type{border-top:0;}
.fmeta{-webkit-box-flex:1;-webkit-flex:1;flex:1;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;gap:.3rem;-webkit-align-items:center;align-items:center;min-width:0;}
.farch{font-weight:600;font-size:.86rem;}
.fsize{color:var(--onv);font-size:.78rem;}

.empty{text-align:center;color:var(--onv);padding:4rem 1rem;}

/* ── 页脚 ── */
.site-footer{background:transparent;color:var(--onv);text-align:center;font-size:.78rem;padding:2rem 1rem 3rem;}

/* ── webview 遮罩 ── */
.wv-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:rgba(25,32,45,.5);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:-webkit-flex;display:flex;-webkit-align-items:flex-start;align-items:flex-start;-webkit-justify-content:center;justify-content:center;padding:76px 20px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
.wv-box [hidden]{display:none!important;}
.wv-arrow{position:absolute;top:14px;right:20px;display:flex;align-items:center;gap:4px;color:#fff;font-size:12px;font-weight:500;line-height:1.4;pointer-events:none;}
.wv-arrow span{padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:rgba(255,255,255,.08);}
.wv-arrow svg{display:block;flex-shrink:0;}
.wv-box{background:#fff;background:linear-gradient(145deg,rgba(var(--glow),.035),transparent 38%),#fff;border:1px solid rgba(255,255,255,.8);border-radius:var(--r-lg);padding:28px 28px 16px;width:100%;max-width:440px;margin:auto;-webkit-flex-shrink:0;flex-shrink:0;text-align:left;box-shadow:0 24px 80px -24px rgba(15,23,42,.4);}
.wv-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.wv-emoji{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border:1px solid rgba(var(--glow),.12);border-radius:15px;background:rgba(var(--glow),.065);color:var(--brand);}
.wv-card-top .wv-emoji svg{width:28px;height:28px;}
.wv-app-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid #e4e8ef;border-radius:20px;background:rgba(255,255,255,.8);font-size:11px;font-weight:500;color:#697588;line-height:1.5;}
.wv-app-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--brand);flex-shrink:0;}
.wv-box h2{margin:17px 0 8px;font-size:26px;font-weight:700;line-height:1.35;letter-spacing:-.5px;color:var(--on);}
.wv-box h2:focus{outline:none;}
.wv-box p{margin:0;color:var(--onv);font-size:12px;line-height:1.75;}
.wv-box .wv-intro{margin:0 0 20px;font-size:14px;color:#6a7586;}
.wv-steps{list-style:none;margin:0 0 20px;padding:0;border:1px solid rgba(var(--glow),.13);border-radius:var(--r-md);background:rgba(var(--glow),.025);}
.wv-steps li{display:flex;align-items:center;gap:12px;padding:13px 14px;}
.wv-steps li+li{border-top:1px solid rgba(var(--glow),.09);}
.wv-step-number{display:flex;align-items:center;justify-content:center;width:25px;height:25px;flex:0 0 25px;border:1px solid rgba(var(--glow),.13);border-radius:50%;background:#fff;color:var(--brand);font-size:12px;font-weight:600;line-height:1;}
.wv-step-content{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;min-width:0;flex:1;font-size:14px;font-weight:600;line-height:1.65;color:#364154;}
.wv-menu-key{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:0 6px;border:1px solid rgba(var(--glow),.14);border-radius:6px;background:#fff;color:var(--brand);font-size:17px;font-weight:600;line-height:23px;white-space:nowrap;}
.wv-alternative{padding:15px 16px 16px;border:1px solid #e9edf2;border-radius:var(--r-md);background:#f7f9fb;}
.wv-alternative h3{margin:0;font-size:13px;font-weight:600;line-height:1.6;color:#485468;}
.wv-link-field{margin:5px 0 12px;}
.wv-link-field p{margin:0 0 11px;font-size:12px;color:#7a8595;}
.wv-link-field label{display:block;margin-bottom:5px;font-size:11px;line-height:1.6;color:#7a8595;}
.wv-link{display:block;width:100%;min-width:0;height:42px;border:1px solid #e0e6ee;border-radius:var(--r-sm);background:#fff;padding:9px 11px;color:#576477;font-family:var(--font);font-size:16px;line-height:1.5;-webkit-user-select:text;user-select:text;}
.wv-link:focus{outline:2px solid var(--brand);outline-offset:2px;}
.wv-box #wv-copy{display:flex;width:100%;min-height:44px;padding:11px 16px;font-size:14px;gap:8px;border-radius:var(--r-sm);box-shadow:0 5px 14px -9px rgba(var(--glow),.5);}
.wv-box .wv-status{margin:9px 0 0;font-size:11px;line-height:1.7;overflow-wrap:break-word;}
.wv-box .wv-status:empty{margin:0;}
.wv-box .wv-status.is-success{color:var(--ok);}
.wv-box .wv-status.is-error{color:var(--bad);}
.wv-alternative noscript p{margin-top:8px;}
.wv-footer{display:flex;justify-content:center;margin-top:10px;}
.wv-dismiss{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 12px;border:0;border-radius:var(--r-sm);background:transparent;color:#7a8595;font-size:12px;font-family:var(--font);line-height:1.6;cursor:pointer;}
.wv-dismiss span{font-size:18px;line-height:1;}
.wv-dismiss:hover{background:rgba(var(--glow),.04);color:var(--brand);}
@media(max-width:420px){
  .wv-mask{padding:72px 16px 20px;}
  .wv-box{padding:23px 20px 12px;}
  .wv-box h2{font-size:24px;margin-top:15px;}
  .wv-box .wv-intro{font-size:13px;}
  .wv-step-content{font-size:13px;}
  .wv-steps li{gap:10px;padding:12px;}
  .wv-alternative{padding:13px 14px 14px;}
}
@media(max-height:420px){
  .wv-mask{padding:64px 16px 16px;}
  .wv-arrow{top:8px;right:16px;}
}

/* ── 后台（admin）— 强制浅色，不受深色 body 影响 ── */
/* 后台和登录页单独用白色背景覆盖 */
.admin-wrap{background:rgba(var(--ov),.035);min-height:100vh;}
.admin{max-width:920px;margin:0 auto;padding:0 1.2rem 3rem;}
.admin-bar{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:.7rem;padding:1rem 0 1.2rem;border-bottom:1px solid var(--line);margin-bottom:1.4rem;}
.admin-bar .applogo{width:30px;height:30px;border-radius:8px;}
.admin-bar .t{font-weight:750;font-size:.98rem;}
.admin-bar .sp{-webkit-flex:1;flex:1;}
.admin-bar a{color:var(--onv);font-size:.84rem;}
.admin-bar a:hover{color:var(--on);}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sd1);padding:1.35rem;margin-bottom:1.4rem;}
.panel h2{font-size:1rem;font-weight:700;margin:0 0 1.1rem;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:.5rem;}
.panel .keep{margin-left:auto;}
.dropzone{border:2px dashed var(--line);border-radius:var(--r-md);padding:2rem 1rem;text-align:center;color:var(--onv);cursor:pointer;background:var(--sf);-webkit-transition:border-color .15s,background .15s;transition:border-color .15s,background .15s;}
.dropzone:hover,.dropzone.drag{border-color:var(--brand);background:rgba(var(--glow),.04);color:var(--on);}
.dropzone .dz-emoji{font-size:2rem;}
.dropzone .dz-main{font-weight:700;color:var(--on);margin-top:.4rem;}
.dropzone .dz-sub{font-size:.78rem;margin-top:.2rem;}
.dropzone .dz-file{margin-top:.5rem;font-size:.84rem;color:var(--brand);font-weight:600;word-break:break-all;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem;}
@media(max-width:520px){.grid2{grid-template-columns:1fr;}}
.field{margin-bottom:.1rem;}
.field label{display:block;font-size:.76rem;color:var(--onv);margin-bottom:.32rem;font-weight:600;}
.input{width:100%;padding:.62rem .8rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--sf);color:var(--on);font-size:.9rem;font-family:var(--font);-webkit-appearance:none;appearance:none;}
.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--glow),.12);}
.hint{font-size:.76rem;color:var(--onv);margin-top:.35rem;}
.hint code{background:var(--sfc);padding:.05rem .35rem;border-radius:5px;font-size:.9em;}
.flash{padding:.72rem 1rem;border-radius:var(--r-sm);margin-bottom:1.2rem;font-size:.88rem;}
.flash.ok{background:rgba(22,163,74,.1);color:var(--ok);}
.flash.err{background:rgba(220,38,44,.1);color:var(--bad);}
.vrow{margin-bottom:1.1rem;}
.vrow .vh{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:.5rem;margin-bottom:.5rem;}
.vrow .vh .vtag{font-weight:750;font-size:.95rem;}
.vrow .vh .vcount{color:var(--onv);font-size:.78rem;}
.ftable{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;}
.ftable .fr{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:.6rem;padding:.6rem .9rem;border-top:1px solid var(--hair);}
.ftable .fr:first-child{border-top:0;}
.ftable .fr .pi{color:var(--onv);}
.ftable .fr .fn{-webkit-flex:1;flex:1;min-width:0;font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ftable .fr .fmuted{color:var(--onv);font-size:.78rem;}
.del-btn{background:none;border:1px solid var(--line);color:var(--bad);border-radius:var(--r-sm);padding:.28rem .65rem;font-size:.78rem;cursor:pointer;font-family:var(--font);}
.del-btn:hover{background:rgba(220,38,44,.07);}
.del-form{margin:0;}
/* 登录页 */
.auth-wrap{min-height:100vh;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;padding:1.2rem;background:rgba(var(--ov),.035);}
.auth-card{width:100%;max-width:350px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sd2);padding:1.8rem 1.5rem;}
.auth-card .applogo{width:54px;height:54px;border-radius:15px;display:block;margin:0 auto .8rem;}
.auth-card h1{font-size:1.15rem;font-weight:700;text-align:center;margin:0 0 1.2rem;}
.auth-card .btn{width:100%;}
.auth-err{background:rgba(220,38,44,.1);color:var(--bad);font-size:.83rem;padding:.6rem .8rem;border-radius:var(--r-sm);margin-bottom:.9rem;text-align:center;}

/* ── Hero 下载按钮组 ── */
.hero-dl-btns{
  display:-webkit-flex; display:flex;
  -webkit-justify-content:center; justify-content:center;
  gap:.8rem; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  margin-bottom:.8rem;
}
.btn-xl{ padding:1rem 2.2rem; font-size:1.05rem; border-radius:var(--r-md); }
.btn-outline-brand{
  background:transparent;
  border:1.5px solid rgba(var(--glow),.5);
  color:var(--brand-l);
}
.btn-outline-brand:hover{ background:rgba(var(--glow),.12); border-color:var(--brand-l); }
.hero-dl-meta{
  font-size:.82rem; color:var(--onv); margin:0;
}
.hero-dl-meta .hero-dl-more{ color:var(--brand); text-decoration:underline; text-underline-offset:3px; }

/* ── Hero 数字横排（trust badges）── */
.hero-stats{
  display:-webkit-flex; display:flex; -webkit-justify-content:center; justify-content:center;
  -webkit-flex-wrap:wrap; flex-wrap:wrap; gap:.6rem 1.8rem; margin-bottom:2rem;
}
.hero-stat{ text-align:center; }
.hero-stat .hs-num{
  font-size:1.5rem; font-weight:800; letter-spacing:-.04em; color:var(--on);
  display:block; line-height:1.1;
}
.hero-stat .hs-lbl{ font-size:.75rem; color:var(--onv); font-weight:500; }
.hero-stats-sep{ width:1px; background:var(--line); align-self:stretch; margin:.2rem 0; }

/* ── 2. 特性卡升级（图标块 + 渐变 + 副标题）── */
.feat-card{
  background:#ffffff; border:1px solid #e9ecf1; border-radius:var(--r-lg);
  padding:1.5rem 1.3rem 1.4rem; position:relative; overflow:hidden;
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 16px -8px rgba(15,23,42,.07);
  -webkit-transition:-webkit-transform .18s cubic-bezier(.2,.8,.4,1),box-shadow .2s ease;
  transition:transform .18s cubic-bezier(.2,.8,.4,1),box-shadow .2s ease;
}
.feat-card:hover{
  -webkit-transform:translateY(-3px); transform:translateY(-3px);
  box-shadow:0 2px 8px rgba(15,23,42,.06),0 20px 40px -12px rgba(15,23,42,.14);
}
/* 顶部高光（浅色主题下取消，避免深线穿顶） */
.feat-card::before{ display:none; }
.feat-icon-wrap{
  width:48px; height:48px; border-radius:14px; margin-bottom:.9rem;
  display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center;
  -webkit-justify-content:center; justify-content:center; font-size:1.45rem;
  background:-webkit-linear-gradient(315deg,rgba(var(--glow),.10),rgba(var(--glow),.04));
  background:linear-gradient(135deg,rgba(var(--glow),.10),rgba(var(--glow),.04));
  border:1px solid rgba(var(--glow),.18);
}
.feat-card h3{ font-size:1.05rem; font-weight:750; letter-spacing:-.02em; margin:0 0 .4rem; }
.feat-card p{ font-size:.84rem; color:var(--onv); margin:0; line-height:1.6; }

/* ── 5. 底部 CTA（重设计：白底 + 品牌渐变标题，替代纯红大块）── */
.bottom-cta{
  background:transparent;
  text-align:center;
  padding:3.5rem 1.2rem;
  position:relative;
  overflow:hidden;
}
/* 极淡品牌红背景光晕 */
.bottom-cta::before{
  content:""; position:absolute; top:0;right:0;bottom:0;left:0; pointer-events:none;
  background:radial-gradient(ellipse 800px 300px at 50% 0%, rgba(var(--glow),.06), transparent 60%);
}
.bottom-cta-inner{ position:relative; z-index:1; max-width:520px; margin:0 auto; }
.bottom-cta h2{
  font-size:clamp(1.6rem,3.5vw,2.2rem); font-weight:800; letter-spacing:-.04em;
  line-height:1.1; margin:0 0 .6rem;
  /* 渐变文字（老内核不支持 background-clip:text 时兜底显示品牌红实色） */
  color:var(--brand);
  background:-webkit-linear-gradient(135deg,var(--brand-l),var(--brand));
  background:linear-gradient(135deg,var(--brand-l),var(--brand));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
.bottom-cta p{ font-size:.95rem; color:var(--onv); margin:0 0 1.8rem; line-height:1.6; }
.bottom-cta .btns{
  display:-webkit-flex; display:flex; -webkit-justify-content:center; justify-content:center;
  gap:.75rem; -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
/* CTA 区的白色/描边按钮复用 .btn-brand + .btn（已定义），不另加 */
