:root{
  --primary:#FF69B4;
  --secondary:#FF4500;
  --accent:#FFD700;
  --bg:#000000;
  --img-overlay:.5;
  --img-scale:1;
  --img-brightness:1;
  --img-x:50%;
  --img-y:50%;
  --img-fit:cover;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none !important}
html,body{height:100%}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","PingFang SC","Microsoft YaHei",Arial,sans-serif;
  background:var(--bg);
  color:#fff;
  overflow:hidden;
  position:fixed;
  inset:0;
  width:100%;
}

/* ---------- 背景 ---------- */
.bg-wrapper{position:fixed;inset:0;z-index:-2;background:var(--bg);overflow:hidden}
.bg-image{
  position:absolute;inset:0;
  background-image:var(--bg-src);
  background-repeat:no-repeat;
  background-position:var(--img-x) var(--img-y);
  background-size:var(--img-fit);
  transform:scale(var(--img-scale));
  filter:brightness(var(--img-brightness));
  transition:opacity .6s ease;
}
.bg-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,calc(.25 + var(--img-overlay)*.5)) 55%,rgba(0,0,0,calc(.1 + var(--img-overlay)*.3)) 100%);
}
.bg-glow{
  position:absolute;left:50%;top:38%;width:120vw;height:60vh;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center,color-mix(in srgb,var(--primary) 28%,transparent) 0%,transparent 62%);
  filter:blur(40px);opacity:.55;pointer-events:none;
  animation:pulse 6s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:.45}50%{opacity:.7}}

/* ---------- 布局 ---------- */
.stage{
  position:relative;z-index:1;
  min-height:100%;
  display:flex;align-items:flex-end;justify-content:center;
  padding:0 22px calc(40px + env(safe-area-inset-bottom));
}
.shell{width:100%;max-width:430px;display:flex;flex-direction:column;align-items:center}

/* ---------- 品牌 ---------- */
.brand{text-align:center;margin-bottom:34px}
.brand-logo{margin:0 auto 14px;width:74px;height:74px;border-radius:20px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.brand-logo img{width:100%;height:100%;object-fit:cover;display:block}
.title-cn,.title-en{
  margin:0;font-weight:900;font-style:italic;letter-spacing:-.02em;line-height:1.12;
  text-shadow:0 4px 18px rgba(0,0,0,.6);
}
.title-cn{font-size:34px;margin-bottom:4px}
.title-en{font-size:34px}
.hl{
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-fill-color:transparent;
}
.badge-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}
.badge-line{height:1px;width:26px;background:linear-gradient(90deg,transparent,var(--accent))}
.badge-line:last-child{background:linear-gradient(90deg,var(--accent),transparent)}
.badge-text{margin:0;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.34em;padding-left:.34em}

/* ---------- 玻璃卡片 ---------- */
.glass-panel{
  width:100%;padding:24px;border-radius:30px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}

/* ---------- 下载按钮 ---------- */
.dl-btn{
  position:relative;overflow:hidden;
  width:100%;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:19px;border-radius:999px;
  font-size:17px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);
  box-shadow:0 8px 26px color-mix(in srgb,var(--primary) 42%,transparent);
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.dl-btn:active{transform:scale(.97);filter:brightness(1.08)}
.dl-btn[disabled]{opacity:.92;cursor:default}
.dl-icon{display:flex;align-items:center}
.dl-shine{
  position:absolute;top:0;left:-60%;width:45%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-20deg);animation:shine 3.2s ease-in-out infinite;
}
@keyframes shine{0%{left:-60%}55%,100%{left:130%}}
.ios-btn{margin-top:12px;font-size:16px;background:linear-gradient(135deg,#2a2a2e,#444);box-shadow:0 8px 22px rgba(0,0,0,.4)}

/* 加载小圈 */
.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- 卡片底部 ---------- */
.panel-foot{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:9px}
.cert{margin:0;display:flex;align-items:center;gap:5px;font-size:11.5px;color:rgba(255,255,255,.82)}
.cert-ico{color:#4ade80;flex-shrink:0}
.hint{margin:0;font-size:10.5px;color:#fcd9b6;background:rgba(180,83,9,.28);padding:4px 12px;border-radius:999px;text-align:center}

/* ---------- 页脚 ---------- */
.footer{margin-top:30px;text-align:center;opacity:.42}
.footer p{margin:0;font-size:10.5px;line-height:1.7}
.footer .record{margin-top:6px;opacity:.8}

/* ---------- 动画入场 ---------- */
.fade-in-up{animation:fadeUp .8s ease-out both}
.delay-1{animation-delay:.18s}
.delay-2{animation-delay:.34s}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* ---------- 浏览器引导遮罩 ---------- */
.guide-mask{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.82);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:flex-end;padding:18px}
.guide-arrow{color:var(--accent);align-self:flex-end;margin-right:8px;animation:bounce 1.2s ease-in-out infinite}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.guide-card{margin:auto;max-width:330px;background:#15151a;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:24px;text-align:center}
.guide-card h3{margin:0 0 10px;font-size:18px;color:var(--accent)}
.guide-card p{margin:0 0 18px;font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.85)}
.guide-close{border:0;cursor:pointer;width:100%;padding:13px;border-radius:999px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary))}

/* ---------- 桌面端 ---------- */
@media (min-width:1024px){
  .stage{align-items:center;padding-bottom:40px}
  .shell{max-width:460px}
  .title-cn,.title-en{font-size:40px}
}
@media (prefers-reduced-motion:reduce){
  .dl-shine,.bg-glow,.guide-arrow,.fade-in-up{animation:none}
}
