/* 整包更新提示层：沿用现有暗色玻璃风（与 .buy 卡片同一套设计语言） */
.update-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;
  background:rgba(10,10,12,0.72);backdrop-filter:blur(18px);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;}
/* 渲染在登录屏内部时：改绝对定位跟着登录屏走，顶部让出 30px 菜单栏高度，
   这样 #lg-menubar 里的关闭 / 最小化 / 最大化按钮始终可点。
   z-index 压到菜单栏（55）之下、登录卡片之上。

   背景刻意做浅：登录屏的渐变、光效与标语要能透上来，卡片才有「浮在界面上」
   的层次。压太黑会退化成纯黑底，看不出这是在登录页之上。 */
.update-overlay.in-login{
  position:absolute;top:30px;inset-inline:0;bottom:0;z-index:54;
  /* 登录屏本身就是暗色渐变（底部接近 #060607），遮罩再压黑就会糊成纯黑。
     只用极淡的一层压暗 + 轻模糊：目标是让背景「可辨认但不抢焦点」，
     而不是把它糊成一团看不出是什么。 */
  background:rgba(10,10,12,0.12);
  backdrop-filter:blur(7px) saturate(1.15);-webkit-backdrop-filter:blur(7px) saturate(1.15);
}
/* 强制更新时登录表单不可用，但保留在背景里做衬底。
   它已经被上层 backdrop-filter 虚化，自身不再降透明度，
   否则两重削弱叠加会彻底消失，中间就只剩一团看不懂的模糊。 */
#login-screen[data-update-gate="force"] .login-card{
  pointer-events:none;
}
/* 首屏标语原样保留，它是背景里最主要的内容 */
#login-screen[data-update-gate="force"] .hero-hg{
  pointer-events:none;
}
.update-card{width:420px;max-width:calc(100vw - 48px);max-height:calc(100vh - 64px);overflow-y:auto;
  box-sizing:border-box;padding:22px 24px;color:#f5f5f7;
  background:rgba(28,28,30,0.96);border:1px solid rgba(255,255,255,0.08);border-radius:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04),0 24px 60px rgba(0,0,0,0.45);}

.update-badge{display:inline-block;padding:3px 9px;border-radius:6px;font-size:10.5px;font-weight:600;letter-spacing:0.02em;
  background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.6);}
.update-overlay.is-force .update-badge{background:rgba(255,95,87,0.16);color:#ff8a82;}
.update-title{margin:10px 0 0;font-size:17px;font-weight:600;letter-spacing:-0.012em;color:#fff;}
.update-versions{margin-top:5px;font-size:11.5px;color:rgba(255,255,255,0.4);letter-spacing:-0.003em;}
.update-notes{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,0.06);}
.update-notes-title{display:block;font-size:10.5px;font-weight:600;color:rgba(255,255,255,0.3);
  text-transform:uppercase;letter-spacing:0.04em;margin-bottom:8px;}
.update-notes ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.update-notes li{position:relative;padding-left:14px;font-size:12px;line-height:1.45;color:rgba(255,255,255,0.55);}
.update-notes li::before{content:"";position:absolute;left:3px;top:6px;width:4px;height:4px;border-radius:50%;
  background:rgba(255,255,255,0.28);}
.update-hint{margin:16px 0 0;font-size:11.5px;line-height:1.5;color:rgba(255,255,255,0.45);}
.update-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;}
.update-btn{flex:1;min-width:120px;padding:9px 0;border:none;border-radius:8px;text-align:center;
  font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;
  transition:all 0.18s ease;box-sizing:border-box;}
/* 自动聚焦不显示轮廓；仅键盘 Tab 操作时给出焦点提示 */
.update-btn:focus{outline:none;}
.update-btn:focus-visible{box-shadow:0 0 0 3px rgba(10,132,255,0.35);}
.update-btn.primary{background:#0a84ff;color:#fff;}
.update-btn.primary:hover{background:#0a74e0;}
.update-btn.ghost{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.7);
  border:1px solid rgba(255,255,255,0.08);}
.update-btn.ghost:hover{background:rgba(255,255,255,0.1);color:#fff;}
.update-btn.disabled{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.3);cursor:default;}
.update-copy-tip{margin-top:10px;font-size:11px;line-height:1.45;color:rgba(255,255,255,0.4);word-break:break-all;}
