.account-dialog { width:min(380px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); box-sizing:border-box; border:1px solid #ffffff40; border-radius:8px; background:rgba(27,30,32,.94); color:#f7f5f0; padding:28px 24px 24px; text-align:center; backdrop-filter:blur(24px); box-shadow:0 24px 80px #0007; overflow:auto; }
.account-dialog::backdrop { background:#09110fcc; }
.account-dialog h2 { font-size:22px; margin:0 0 16px; }
.account-dialog p { font-size:14px; line-height:1.6; }
.wechat-qr { width:240px; max-width:100%; aspect-ratio:1; object-fit:contain; background:#fff; -webkit-touch-callout:default; user-select:auto; }
.account-actions { display:flex; gap:12px; justify-content:center; }
.account-actions button { flex:1; min-height:44px; background:#fff; border:1px solid #b7a887; border-radius:6px; color:#292922; cursor:pointer; }
.account-heading { display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:20px; }
.account-heading h2 { margin:0; font-size:21px; }
.account-heading > svg { color:#74d7b2; width:24px; height:24px; }
.account-close { position:absolute; top:8px; right:8px; width:32px; height:32px; display:grid; place-items:center; border:1px solid #ffffff30; border-radius:4px; background:#ffffff0d; color:inherit; cursor:pointer; }
.account-close svg { width:18px; height:18px; }
.account-qr-stage { margin:auto; width:min(248px,100%); aspect-ratio:1; display:grid; place-items:center; background:#fff; border:8px solid #fff; border-radius:4px; position:relative; }
.account-qr-stage .wechat-qr { width:100%; height:100%; }
.qr-placeholder { color:#4f7167; }
.qr-placeholder svg { width:64px; height:64px; stroke-width:1; }
.account-qr-stage:has(.wechat-qr:not([hidden])) .qr-placeholder { display:none; }
.account-dialog .login-status { min-height:44px; margin:18px 0 4px; color:#bde5d4; font-size:13px; overflow-wrap:anywhere; }
.account-dialog[data-state="error"] .login-status,.account-dialog[data-state="expired"] .login-status { color:#ffc2b3; }
.account-dialog .account-hint { font-size:12px; color:#bfc9c6; margin:0 0 18px; }
.account-dialog .account-actions button { flex:none; width:100%; display:flex; justify-content:center; align-items:center; gap:8px; background:#36785b60; color:#d0f4df; border-color:#6caf935e; }
.account-actions button svg { width:18px; height:18px; }
.account-actions button:disabled { opacity:.5;cursor:wait; }
.account-dialog .wechat-qr{-webkit-touch-callout:default!important;-webkit-user-select:auto!important;user-select:auto!important;touch-action:auto!important;pointer-events:auto!important;image-rendering:pixelated;position:relative;z-index:1}.account-dialog .qr-placeholder{pointer-events:none}.account-close{width:44px;height:44px}
.account-dialog .account-actions{flex-wrap:wrap}.account-qr-large{box-sizing:border-box;display:grid;place-items:center;width:100%;min-height:44px;border:1px solid #ffffff44;border-radius:6px;color:#eef9f4;text-decoration:none}.account-qr-large[hidden]{display:none}

.wechat-qr.wechat-native-preview{-webkit-touch-callout:none!important;user-select:none!important;-webkit-user-select:none!important}.login-success{text-align:center}.login-success button{min-height:48px;width:100%;margin-top:12px}
