/* 微信登录 · 样式隔离（全部 wml- 前缀） */
.wml-mask{position:fixed;z-index:2147483000;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(15,17,20,.62);isolation:isolate}
.wml-mask.is-open{display:flex}
.wml-dialog{position:relative;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.3);color:#1f2328;font-size:14px;line-height:1.6}
.wml-dialog *{box-sizing:border-box}
.wml-close{position:absolute;top:8px;right:10px;z-index:3;width:38px;height:38px;border:0;background:transparent;color:#8a8f98;font-size:28px;line-height:1;cursor:pointer;border-radius:8px}
.wml-close:hover{background:#f1f2f4;color:#333}
.wml-head{padding:26px 28px 12px}
.wml-title{margin:0;font-size:20px;font-weight:700}
.wml-sub{margin:6px 0 0;color:#7a808a;font-size:13px}
.wml-body{display:flex;gap:26px;padding:8px 28px 20px}
.wml-qr{flex:0 0 210px;text-align:center}
.wml-qr-img{display:block;width:210px;height:210px;object-fit:contain;border:1px solid #ebecef;border-radius:10px;background:#fafbfc}
.wml-qr-tip{display:block;margin-top:8px;color:#9aa0a8;font-size:12px}
.wml-steps{flex:1;min-width:0}
.wml-code-box{display:flex;align-items:baseline;gap:10px;padding:14px 16px;background:#f6f8f9;border:1px dashed #d8dce1;border-radius:10px}
.wml-code-label{font-size:12px;color:#8a9098}
.wml-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:26px;letter-spacing:4px;font-weight:700;color:#c9ced4;flex:1;word-break:break-all}
.wml-code.is-ready{color:#07a35a}
.wml-countdown{font-size:12px;color:#98a0a8;font-variant-numeric:tabular-nums}
.wml-countdown.is-expired{color:#e5484d}
.wml-flow{margin:16px 0 0;padding-left:20px;color:#5b616b}
.wml-flow li{margin:6px 0}
.wml-mobile-tip{display:none;margin-top:12px;padding:10px 12px;background:#fff8e6;border:1px solid #ffe2a8;border-radius:8px;color:#7a5b00;font-size:13px}
.wml-actions{display:flex;gap:10px;margin-top:16px}
.wml-btn{flex:1;height:42px;border-radius:8px;border:1px solid #d9dde2;background:#fff;color:#272b31;font-size:14px;font-weight:600;cursor:pointer;transition:.15s}
.wml-btn:hover{background:#f6f8f9;border-color:#c3c9d1}
.wml-btn:active{transform:translateY(1px)}
.wml-status{min-height:22px;margin:12px 0 0;font-size:13px;color:#7a808a}
.wml-status.is-ok{color:#07a35a}
.wml-status.is-warn{color:#e5484d}
.wml-foot{padding:14px 28px 22px;border-top:1px solid #f0f1f3;text-align:center;font-size:13px}
.wml-alt{color:#7a808a;text-decoration:none}
.wml-alt:hover{color:#1f2328;text-decoration:underline}

/* 登录页入口按钮 */
.wml-login-entry{display:block;margin:14px 0 0}
.wml-login-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;border:1px solid #d9dde2;border-radius:8px;background:#fff;color:#272b31;font-size:15px;font-weight:600;cursor:pointer;transition:.15s}
.wml-login-btn:hover{background:#f6f8f9;border-color:#c3c9d1}
.wml-ico{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;background:#07c160;color:#fff;font-size:12px;font-weight:700}

/* 悬浮按钮 */
.wml-float{position:fixed;right:18px;bottom:18px;z-index:2147482000;display:flex;align-items:center;gap:6px;height:46px;padding:0 16px;border:0;border-radius:23px;background:#07c160;color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 10px 26px rgba(7,193,96,.36)}
.wml-float .wml-ico{background:rgba(255,255,255,.22)}
.wml-float-txt{line-height:1}

body.wml-lock{overflow:hidden}

/* 移动端 */
@media (max-width:640px){
  .wml-mask{padding:0;align-items:flex-end}
  .wml-dialog{width:100%;max-height:92vh;max-height:92dvh;border-radius:14px 14px 0 0}
  .wml-head{padding:22px 18px 10px}
  .wml-title{font-size:18px}
  .wml-body{flex-direction:column;gap:16px;padding:6px 18px 16px}
  .wml-qr{flex:none;display:flex;flex-direction:column;align-items:center}
  .wml-qr-img{width:190px;height:190px}
  .wml-code{font-size:24px;letter-spacing:3px}
  .wml-foot{padding:12px 18px 18px}
  .wml-float{right:14px;bottom:14px;height:42px;padding:0 14px}
}

@media (prefers-color-scheme:dark){
  .wml-dialog{background:#1c1f24;color:#e6e8eb}
  .wml-sub,.wml-qr-tip,.wml-status,.wml-alt{color:#98a0a8}
  .wml-code-box{background:#23272d;border-color:#343a41}
  .wml-code{color:#6b7480}
  .wml-code.is-ready{color:#3ddc84}
  .wml-flow{color:#aab1b9}
  .wml-btn,.wml-login-btn{background:#23272d;border-color:#343a41;color:#e6e8eb}
  .wml-btn:hover,.wml-login-btn:hover{background:#2a2f36}
  .wml-close:hover{background:#2a2f36;color:#fff}
  .wml-foot{border-color:#2a2f36}
  .wml-qr-img{border-color:#343a41;background:#23272d}
}

/* 登录页「或」分隔 */
.wml-or{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:#9aa0a8;font-size:12px}
.wml-or:before,.wml-or:after{content:'';flex:1;height:1px;background:#e8eaed}
.wml-or span{padding:0 2px}

/* 二维码下方：打开微信 / 保存二维码 / 复制公众号名 */
.wml-jump{display:flex;flex-direction:column;gap:8px;margin-top:10px;width:100%}
.wml-jump-btn{width:100%;height:38px;border:1px solid #d9dde2;border-radius:8px;background:#fff;color:#272b31;font-size:13px;font-weight:600;cursor:pointer;transition:.15s}
.wml-jump-btn:hover{background:#f6f8f9;border-color:#c3c9d1}
.wml-jump-btn.is-primary{background:#07c160;border-color:#07c160;color:#fff}
.wml-jump-btn.is-primary:hover{background:#06ad56;border-color:#06ad56}
@media (max-width:640px){
  .wml-jump{flex-direction:row;flex-wrap:wrap;gap:8px}
  .wml-jump-btn{flex:1 1 calc(50% - 4px);min-width:0;height:40px}
  .wml-jump-btn.is-primary{flex:1 1 100%}
}
@media (prefers-color-scheme:dark){
  .wml-jump-btn{background:#23272d;border-color:#343a41;color:#e6e8eb}
  .wml-jump-btn:hover{background:#2a2f36}
  .wml-jump-btn.is-primary{background:#07c160;border-color:#07c160;color:#fff}
}

/* 验证码可点击复制 */
.wml-code{cursor:pointer;user-select:none;-webkit-user-select:none;transition:opacity .15s;border-bottom:2px dashed rgba(7,163,90,.35)}
.wml-code:hover{opacity:.75}
.wml-code:active{opacity:.55}
.wml-code-hint{display:flex;align-items:center;justify-content:center;gap:6px;width:fit-content;margin:10px auto 0;padding:7px 16px;border:1px solid #b7ebc6;border-radius:999px;background:#f0fbf4;color:#078a45;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer;font-family:inherit;transition:.18s;box-shadow:0 2px 8px rgba(7,193,96,.12)}
.wml-code-hint:hover{background:#e3f9ea;border-color:#8fdcae}
.wml-code-hint:active{transform:scale(.97)}
.wml-code-hint svg{flex:none}
.wml-code-hint.is-done{background:#07c160;border-color:#07c160;color:#fff;box-shadow:0 4px 14px rgba(7,193,96,.35)}

/* 复制成功浮层 */
.wml-toast{position:fixed;left:50%;top:14%;transform:translate(-50%,-10px) scale(.94);z-index:2147483700;padding:12px 24px;border-radius:12px;background:rgba(17,20,24,.9);color:#fff;font-size:15px;font-weight:600;letter-spacing:.5px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.wml-toast.is-show{opacity:1;transform:translate(-50%,0) scale(1)}
@media (max-width:640px){.wml-toast{top:9%}}
.wml-toast:after{content:' ✓';color:#3ddc84;font-weight:700}

/* iOS 长按保存二维码的全屏层 */
.wml-qrview{position:fixed;z-index:2147483600;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.86);padding:24px}
.wml-qrview.is-open{display:flex}
.wml-qrview-inner{text-align:center;max-width:92vw}
.wml-qrview-inner img{display:block;width:min(72vw,320px);height:auto;margin:0 auto 18px;border-radius:12px;background:#fff;padding:10px}
.wml-qrview-inner p{margin:0 0 18px;color:#f2f3f5;font-size:15px}
.wml-qrview-inner button{height:42px;padding:0 34px;border:0;border-radius:21px;background:#07c160;color:#fff;font-size:15px;font-weight:600;cursor:pointer}

/* 播放页：发送验证码解锁 */
.wml-unlock-code{display:flex;align-items:center;justify-content:center;margin:18px 0 4px;padding:16px 10px;border:1px dashed #bfe6cf;border-radius:12px;background:#f5fdf8;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:30px;line-height:1.1;letter-spacing:6px;font-weight:800;color:#07a35a;cursor:pointer;user-select:none;-webkit-user-select:none;transition:.15s}
.wml-unlock-code:hover{background:#ecfaf1}
.wml-unlock-code:active{transform:scale(.985)}
.wml-unlock-actions{display:flex;gap:10px;margin-top:16px}
.wml-unlock-btn{flex:1;height:46px;border-radius:10px;border:1px solid #d9dde2;background:#fff;color:#272b31;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:.15s}
.wml-unlock-btn:hover{background:#f6f8f9}
.wml-unlock-btn.is-primary{background:#07c160;border-color:#07c160;color:#fff}
.wml-unlock-btn.is-primary:hover{background:#06ad56}
.wml-unlock-timer{margin:14px 0 0;text-align:center;color:#98a0a8;font-size:13px;font-variant-numeric:tabular-nums}
.wml-unlock-status{margin:8px 0 0;text-align:center;color:#7a808a;font-size:14px;min-height:22px}
.wml-unlock-status.is-ok{color:#07a35a;font-weight:600}
.wml-unlock-status.is-warn{color:#e5484d}
@media (max-width:640px){
  .wml-unlock-code{font-size:26px;letter-spacing:5px;padding:14px 8px}
}

/* 播放验证：分步引导 */
.wml-step{margin:0;padding:18px 0 4px;border-top:1px solid #f0f1f3}
.wml-step:first-of-type{border-top:0;padding-top:8px}
.wml-step-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.wml-step-no{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#07c160;color:#fff;font-size:13px;font-weight:800;flex:none;line-height:1}
.wml-step-head h2{margin:0;font-size:16px;font-weight:700;color:#1f2328}
.wml-qr-box{display:flex;justify-content:center;margin:2px 0 12px}
.wml-qr-img{width:180px;height:180px;object-fit:contain;border:1px solid #ebecef;border-radius:12px;background:#fff;padding:8px;cursor:pointer}
.wml-step-actions{display:flex;gap:10px;flex-wrap:wrap}
.wml-step-btn{flex:1 1 0;min-width:0;height:42px;border-radius:9px;border:1px solid #d9dde2;background:#fff;color:#272b31;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s}
.wml-step-btn:hover{background:#f6f8f9}
.wml-step-btn.is-primary{background:#07c160;border-color:#07c160;color:#fff}
.wml-step-btn.is-primary:hover{background:#06ad56}
.wml-step-note{margin:10px 0 0;text-align:center;color:#8a9098;font-size:13px}
.wml-step-note b{color:#272b31;font-weight:700}
.wml-unlock-code{margin:0 0 12px;font-size:30px}
@media (max-width:640px){
  .wml-qr-img{width:170px;height:170px}
  .wml-step-btn{font-size:14px}
}

/* ============ 播放验证页：适配播放器窗口 ============ */
.tj-pass-page .tj-pass-card{width:min(900px,100%);padding:22px 26px}
.tj-pass-page .tj-pass-card h1{margin:10px 0 4px;font-size:clamp(18px,2.2vw,24px)}
.tj-pass-page .tj-pass-description{margin:0 0 12px;font-size:12.5px;line-height:1.55}

.wml-verify-body{display:grid;grid-template-columns:196px minmax(0,1fr);gap:24px;align-items:center}
.wml-verify-right{display:flex;flex-direction:column;gap:10px;min-width:0}

/* 横向布局里步骤更紧凑 */
.wml-verify-body .wml-step{padding:0;border-top:0}
.wml-verify-body .wml-step + .wml-step{border-top:1px solid #f0eef1;padding-top:12px}
.wml-step-1 .wml-step-head,.wml-verify-right .wml-step-head{margin-bottom:8px}
.wml-step-head h2{font-size:14.5px}
.wml-step-no{width:22px;height:22px;font-size:12px}

.tj-pass-page .wml-qr-box{margin:0 0 10px}
.tj-pass-page .wml-qr-img{width:180px;height:180px}
.tj-pass-page .wml-step-btn{height:38px;font-size:13px}
.tj-pass-page .wml-step-1 .wml-step-btn{flex:1 1 0;min-width:0;padding:0 4px;font-size:12px}
.tj-pass-page .wml-unlock-code{font-size:28px;margin:0 0 10px;padding:14px 8px;letter-spacing:5px}
.tj-pass-page .wml-unlock-timer{margin:8px 0 0;font-size:12px}
.tj-pass-page .wml-unlock-status{margin:6px 0 0;font-size:13px}
.tj-pass-page .wml-step-note{margin:8px 0 0;font-size:12px}

/* 手机端：卡片式 */
@media (max-width:760px){
  .tj-pass-page{padding:14px}
  .tj-pass-page .tj-pass-card{width:100%;background:#fff;border:1px solid #f1e7ea;border-radius:18px;
    box-shadow:0 18px 50px rgba(20,21,27,.10);padding:20px 18px;margin:auto;max-width:520px}
  .wml-verify-body{grid-template-columns:1fr;gap:16px}
  .tj-pass-page .wml-qr-img{width:172px;height:172px}
  .tj-pass-page .wml-unlock-code{font-size:26px}
}

/* 播放器窗口偏矮（桌面 16:9 常见 450~620） */
@media (min-width:761px) and (max-height:640px){
  .tj-pass-page .tj-pass-card{padding:16px 22px}
  .tj-pass-page .tj-pass-brand{font-size:12px}
  .tj-pass-page .tj-pass-symbol{width:23px;height:23px;font-size:10px}
  .tj-pass-page .tj-pass-card h1{font-size:18px;margin:6px 0 2px}
  .tj-pass-page .tj-pass-description{font-size:11.5px;margin-bottom:8px}
  .tj-pass-page .wml-qr-img{width:150px;height:150px}
  .tj-pass-page .wml-qr-box{margin-bottom:6px}
  .wml-step-head h2{font-size:13px}
  .wml-step-head{margin-bottom:6px!important}
  .tj-pass-page .wml-unlock-code{font-size:23px;padding:9px 6px;margin-bottom:8px}
  .tj-pass-page .wml-step-btn{height:34px;font-size:12.5px}
  .tj-pass-page .wml-unlock-timer{font-size:11px;margin-top:6px}
  .tj-pass-page .wml-unlock-status{font-size:12px;margin-top:4px}
  .tj-pass-page .wml-step + .wml-step{padding-top:9px}
}
@media (min-width:761px) and (max-height:470px){
  .tj-pass-page .tj-pass-description{display:none}
  .tj-pass-page .wml-qr-img{width:120px;height:120px}
  .tj-pass-page .tj-pass-card h1{font-size:16px}
}

/* ============ 播放页外层验证层（桌面覆盖播放器 / 手机全屏） ============ */
.wml-play-mask{position:absolute;z-index:99999;display:flex;align-items:center;justify-content:center;
  padding:14px;background:rgba(10,11,15,.74);border-radius:10px;overflow:auto;box-sizing:border-box}
.wml-play-mask.is-full{position:fixed;inset:0;left:0!important;top:0!important;width:auto!important;height:auto!important;
  border-radius:0;padding:14px;background:rgba(10,11,15,.86)}
.wml-play-card{width:min(920px,100%);max-height:100%;overflow:auto;background:#fff;border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.38);padding:22px 26px;color:#24252b;box-sizing:border-box;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.wml-play-card *{box-sizing:border-box}
.wml-play-card{color-scheme:light}
.wml-play-card .tj-pass-brand{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#24252b}
.wml-play-card .tj-pass-brand small{color:#7c737a;font-size:12px;font-weight:400}
.wml-play-card .tj-pass-symbol{display:grid;place-items:center;background:#ee294d;border-radius:8px;width:27px;height:27px;font-size:12px;color:#fff}
.wml-play-card h1{font-size:20px;line-height:1.35;margin:10px 0 4px;letter-spacing:-.3px;color:#24252b}
.wml-play-card .tj-pass-description{color:#7c737a;font-size:12.5px;margin:0 0 12px}
@media (max-width:760px){
  .wml-play-card{padding:20px 18px;border-radius:16px;max-height:calc(100dvh - 28px);max-height:calc(100vh - 28px)}
}

/* 比例调整：二维码放大、验证码区域收窄 */
.wml-verify-body{grid-template-columns:236px minmax(0,1fr);gap:26px}
.tj-pass-page .wml-qr-img,.wml-play-card .wml-qr-img{width:220px;height:220px}
.wml-unlock-code{max-width:440px;margin:0 auto 10px;font-size:26px;padding:12px 10px;letter-spacing:5px}
@media (max-width:760px){
  .wml-verify-body{grid-template-columns:1fr;gap:14px}
  .tj-pass-page .wml-qr-img,.wml-play-card .wml-qr-img{width:190px;height:190px}
  .wml-unlock-code{max-width:none;font-size:26px}
}
@media (min-width:761px) and (max-height:640px){
  .wml-verify-body{grid-template-columns:200px minmax(0,1fr);gap:22px}
  .tj-pass-page .wml-qr-img,.wml-play-card .wml-qr-img{width:186px;height:186px}
  .wml-play-card{padding:16px 20px}
  .wml-play-card h1{font-size:18px;margin:6px 0 2px}
  .wml-play-card .tj-pass-description{font-size:11.5px;margin-bottom:8px}
  .wml-unlock-code{font-size:23px;padding:9px 8px}
}

/* 紧凑模式：贴合播放器盒子 */
.wml-play-mask.is-compact{padding:10px;border-radius:8px}
.wml-play-mask.is-compact .wml-play-card{padding:12px 16px;border-radius:12px;max-width:100%}
.wml-play-mask.is-compact .tj-pass-brand{font-size:11px;gap:6px}
.wml-play-mask.is-compact .tj-pass-symbol{width:20px;height:20px;font-size:9px;border-radius:6px}
.wml-play-mask.is-compact h1{font-size:15px;margin:5px 0 2px}
.wml-play-mask.is-compact .tj-pass-description{display:none}
.wml-play-mask.is-compact .wml-verify-body{grid-template-columns:154px minmax(0,1fr);gap:16px}
.wml-play-mask.is-compact .wml-qr-img{width:142px;height:142px}
.wml-play-mask.is-compact .wml-qr-box{margin-bottom:5px}
.wml-play-mask.is-compact .wml-step-head{margin-bottom:4px!important}
.wml-play-mask.is-compact .wml-step-head h2{font-size:12px}
.wml-play-mask.is-compact .wml-step-no{width:18px;height:18px;font-size:10px}
.wml-play-mask.is-compact .wml-step-btn{height:30px;font-size:11.5px}
.wml-play-mask.is-compact .wml-unlock-code{font-size:21px;padding:7px 6px;margin-bottom:6px;letter-spacing:4px;max-width:none}
.wml-play-mask.is-compact .wml-unlock-timer{font-size:10.5px;margin-top:4px}
.wml-play-mask.is-compact .wml-unlock-status{font-size:11px;margin-top:3px}
.wml-play-mask.is-compact .wml-step + .wml-step{padding-top:7px}
.wml-play-mask.is-compact .wml-step-note{font-size:10.5px;margin-top:4px}
/* 紧凑模式下第 1 步按钮上下排列，避免文字折行 */
.wml-play-mask.is-compact .wml-step-1 .wml-step-actions{flex-direction:column;gap:6px}
.wml-play-mask.is-compact .wml-step-1 .wml-step-btn{width:100%;height:28px;font-size:11px}

/* 比例再平衡：二维码更大，验证码区域更窄 */
.wml-verify-body{grid-template-columns:252px minmax(0,1fr);gap:26px}
.tj-pass-page .wml-qr-img,.wml-play-card .wml-qr-img{width:236px;height:236px}
.wml-unlock-code{max-width:400px;font-size:26px}

.wml-play-mask.is-compact .wml-verify-body{grid-template-columns:186px minmax(0,1fr);gap:16px}
.wml-play-mask.is-compact .wml-qr-img{width:170px;height:170px}
.wml-play-mask.is-compact .wml-unlock-code{max-width:340px;font-size:21px;margin-left:0}

@media (max-width:760px){
  .wml-verify-body{grid-template-columns:1fr}
  .tj-pass-page .wml-qr-img,.wml-play-card .wml-qr-img{width:190px;height:190px}
  .wml-unlock-code{max-width:none;font-size:26px}
}
@media (min-width:761px) and (max-height:640px){
  .wml-verify-body{grid-template-columns:210px minmax(0,1fr);gap:20px}
  .tj-pass-page .wml-qr-img,.wml-play-card .wml-qr-img{width:196px;height:196px}
}

/* 第 2 步内部元素统一宽度，视觉对齐 */
.wml-step-2 .wml-unlock-code{max-width:400px;margin:0 0 10px}
.wml-step-2 .wml-step-actions{max-width:400px}
.wml-step-2 .wml-unlock-timer{max-width:400px;text-align:left}
.wml-play-mask.is-compact .wml-step-2 .wml-unlock-code,
.wml-play-mask.is-compact .wml-step-2 .wml-step-actions,
.wml-play-mask.is-compact .wml-step-2 .wml-unlock-timer{max-width:340px}
@media (max-width:760px){
  .wml-step-2 .wml-unlock-code,.wml-step-2 .wml-step-actions,.wml-step-2 .wml-unlock-timer{max-width:none}
  .wml-step-2 .wml-unlock-timer{text-align:center}
}

/* 提示：验证完成后即可播放 */
.wml-play-hint{display:flex;align-items:center;gap:7px;margin:9px 0 0;color:#078a45;font-size:12.5px;font-weight:600;line-height:1.3}
.wml-play-hint:before{content:'';display:inline-block;width:0;height:0;flex:none;
  border-left:9px solid #07c160;border-top:5.5px solid transparent;border-bottom:5.5px solid transparent}
.wml-play-mask.is-compact .wml-play-hint{font-size:11px;margin-top:5px;gap:5px}
.wml-play-mask.is-compact .wml-play-hint:before{border-left-width:7px;border-top-width:4.5px;border-bottom-width:4.5px}

/* 手机矮屏：进一步压缩，保证底部提示也可见 */
@media (max-width:760px) and (max-height:780px){
  .wml-play-card{padding:16px 16px}
  .tj-pass-page .wml-qr-img,.wml-play-card .wml-qr-img{width:172px;height:172px}
  .wml-step{padding-top:14px}
  .wml-step-head{margin-bottom:9px}
  .wml-unlock-code{font-size:24px;padding:11px 8px}
  .wml-play-hint{margin-top:6px}
}

/* 卡片内浮层提示（复制成功等） */
.wml-play-card{position:relative}
.wml-card-toast{position:absolute;left:50%;top:14px;transform:translate(-50%,-8px) scale(.94);z-index:6;
  padding:9px 18px;border-radius:10px;background:rgba(17,20,24,.9);color:#fff;font-size:13px;font-weight:600;
  letter-spacing:.3px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;white-space:nowrap;
  box-shadow:0 10px 26px rgba(0,0,0,.28)}
.wml-card-toast.is-show{opacity:1;transform:translate(-50%,0) scale(1)}
.wml-card-toast:after{content:' ✓';color:#3ddc84;font-weight:700}
.wml-play-mask.is-compact .wml-card-toast{top:8px;padding:7px 14px;font-size:12px}

/* 验证成功动效 */
.wml-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 12px 24px;gap:2px}
.wml-success-icon{width:66px;height:66px;border-radius:50%;background:#07c160;color:#fff;
  display:grid;place-items:center;font-size:34px;line-height:1;font-weight:800;
  box-shadow:0 12px 30px rgba(7,193,96,.38);animation:wml-pop .38s cubic-bezier(.2,1.4,.5,1)}
.wml-success h2{margin:16px 0 0;font-size:19px;color:#078a45;letter-spacing:-.2px}
.wml-success p{margin:5px 0 0;color:#7a808a;font-size:13px}
.wml-play-mask.is-compact .wml-success{padding:16px 10px 12px}
.wml-play-mask.is-compact .wml-success-icon{width:48px;height:48px;font-size:26px}
.wml-play-mask.is-compact .wml-success h2{font-size:15px;margin-top:10px}
.wml-play-mask.is-compact .wml-success p{font-size:11.5px}
@keyframes wml-pop{0%{transform:scale(.35);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
