.ygw-qr-login-lock { overflow: hidden !important; }
.ygw-qr-login-modal[hidden] { display: none !important; }
.ygw-qr-login-modal { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 20px; box-sizing: border-box; font-family: Inter, "Microsoft YaHei", "PingFang SC", sans-serif; }
.ygw-qr-login-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(2, 8, 20, .78); backdrop-filter: blur(7px); cursor: default; }
.ygw-qr-login-dialog { position: relative; width: min(390px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; box-sizing: border-box; padding: 31px 30px 28px; border: 1px solid rgba(123, 179, 218, .25); border-radius: 20px; background: linear-gradient(150deg, #17243a, #101721 66%, #13202b); box-shadow: 0 30px 90px rgba(0, 0, 0, .55); color: #f4f8fd; text-align: center; outline: none; }
.ygw-qr-login-close { position: absolute; right: 14px; top: 12px; display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: #a9b8c9; font-size: 27px; line-height: 1; cursor: pointer; }
.ygw-qr-login-close:hover, .ygw-qr-login-close:focus-visible { color: #fff; background: rgba(255, 255, 255, .1); }
.ygw-qr-login-eyebrow { display: block; margin-bottom: 8px; color: #00f5d4; font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.ygw-qr-login-dialog h2 { margin: 0; color: #fff; font-size: 23px; font-weight: 800; line-height: 1.35; }
.ygw-qr-login-subtitle { margin: 7px 0 22px; color: #adbac9; font-size: 13px; line-height: 1.5; }
.ygw-qr-login-code { display: grid; place-items: center; width: 300px; height: 300px; margin: 0 auto; padding: 28px; box-sizing: border-box; border-radius: 13px; background: #fff; }
.ygw-qr-login-code.is-unavailable { color: #748394; background: #edf3f6; font-size: 13px; }
.ygw-qr-login-code.is-wechat-oauth { overflow: hidden; }
.ygw-wxlogin-viewport { position: relative; width: 244px; height: 244px; overflow: hidden; }
.ygw-wxlogin-viewport iframe { position: absolute; top: -66px; left: -28px; display: block; width: 300px; height: 400px; border: 0; }
.ygw-qr-login-code img, .ygw-qr-login-code canvas { display: block; width: 244px !important; height: 244px !important; object-fit: contain; }
.ygw-qr-login-status { min-height: 20px; margin: 15px 0 21px; color: #bdcad8; font-size: 12px; line-height: 1.6; }
.ygw-qr-login-status.is-error { color: #ffb5a8; }
.ygw-qr-login-switch { display: flex; gap: 9px; padding: 5px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; background: rgba(0, 0, 0, .2); }
.ygw-qr-login-switch button { flex: 1; min-height: 38px; border: 0; border-radius: 9px; background: transparent; color: #a9b8c9; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.ygw-qr-login-switch button[aria-pressed="true"] { background: #00f5d4; color: #12212a; }
.ygw-qr-login-switch button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 420px) { .ygw-qr-login-dialog { padding: 29px 20px 22px; } }
