html[lang='zh-CN'] body, html[lang='zh-CN'] h1, html[lang='zh-CN'] h2, html[lang='zh-CN'] h3, html[lang='zh-CN'] p, html[lang='zh-CN'] button, html[lang='zh-CN'] input, html[lang='zh-CN'] textarea, html[lang='zh-CN'] label, html[lang='zh-CN'] select { font-family: 'Nunito Semibold', 'PingFang SC', 'Microsoft YaHei', 'Noto Sans CJK SC', sans-serif; letter-spacing: normal; }
html[lang='zh-CN'] p { line-height: 1.8; }
/* A generous QR card with the same colors and controls as the site. */
#wechat-dialog {
    box-sizing: border-box;
    width: min(520px, calc(100vw - 32px));
    max-width: none;
    max-height: calc(100dvh - 32px);
    margin: auto;
    padding: 32px;
    overflow-y: auto;
    border: 1px solid var(--color-onPrimary-dark);
    border-radius: 24px;
    background: var(--color-primary);
    color: var(--color-text-special);
    box-shadow: 0 24px 100px #0009;
}
#wechat-dialog::backdrop {
    background: #000b;
    backdrop-filter: blur(6px);
}
#wechat-dialog .wechat-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}
#wechat-dialog h2 { margin: 0; font-size: 1.6rem; line-height: 1.3; }
#wechat-dialog #wechat-description { margin: 8px 0 0; font-size: .95rem; opacity: .7; }
#wechat-dialog #wechat-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--color-background);
    color: var(--color-text-special);
}
#wechat-dialog #wechat-close:hover { background: var(--color-onPrimary-dark); }
#wechat-dialog .wechat-qr-frame {
    width: min(400px, 100%);
    margin: 0 auto;
    overflow: hidden;
    border-radius: 20px;
    background: white;
}
#wechat-dialog .wechat-qr-frame img { display: block; width: 100%; height: auto; }
#wechat-dialog .wechat-contact { margin: 24px 0 20px; text-align: center; }
#wechat-dialog .wechat-id-label { font-size: .8rem; opacity: .65; }
#wechat-dialog #wechat-id { margin: 4px 0 0; font-size: 1.2rem; overflow-wrap: anywhere; }
#wechat-dialog #wechat-copy {
    display: block;
    width: 100%;
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 1rem;
    transition: background .2s, color .2s;
}
#wechat-dialog #wechat-copy.copied { background: #214a3a; border-color: #56c991; color: #abf3cb; }
#wechat-dialog #wechat-copy-status { min-height: 1.5em; margin: 10px 0 0; text-align: center; font-size: .85rem; opacity: .75; }
#wechat-dialog button:focus-visible { outline: 2px solid var(--color-highlight); outline-offset: 4px; }
@media screen and (max-width: 600px) {
    #wechat-dialog { padding: 24px; border-radius: 20px; }
    #wechat-dialog .wechat-header { gap: 12px; margin-bottom: 20px; }
    #wechat-dialog h2 { font-size: 1.4rem; }
    #wechat-dialog .wechat-contact { margin-top: 20px; }
}
.wechat-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0;
    border: 0;
    border-radius: .35rem;
    background: transparent;
    cursor: pointer;
}
.wechat-open:focus-visible { outline: 2px solid var(--color-highlight); outline-offset: 4px; }


html[lang="zh-CN"] #blog-types { max-width: 480px; margin-inline: auto; grid-template-columns: 1fr; }
