:root{--chat-viewport-h:100vh;--chat-viewport-min-h:100vh}@supports (height:100dvh){:root{--chat-viewport-h:100dvh;--chat-viewport-min-h:100dvh}}@supports (height:100svh){:root{--chat-viewport-h:100svh;--chat-viewport-min-h:100svh}}body{background:#f5f7fa;margin:0;font-family:Microsoft YaHei,Arial,sans-serif}#app{min-height:var(--chat-viewport-min-h,100vh)}@media (max-width:768px){#app{min-height:var(--chat-viewport-min-h);height:var(--chat-viewport-h)}}html.chat-layout-mobile-root #app{min-height:var(--chat-viewport-min-h);height:var(--chat-viewport-h)}.page{padding:24px}@media (min-width:769px){.page:not(.page-mobile-shell){height:var(--chat-viewport-h);box-sizing:border-box;padding:0;overflow:hidden}}.auth-card{max-width:460px;margin:60px auto}.chat-layout{grid-template-columns:300px 1fr;gap:16px;height:calc(100vh - 48px);display:grid;position:relative}@media (min-width:769px) and (max-width:1100px){.chat-layout.chat-layout--desktop-wechat{grid-template-columns:minmax(200px,240px) minmax(0,1fr)}}@media (min-width:769px){.chat-layout.chat-layout--desktop-wechat{height:var(--chat-viewport-h);max-height:var(--chat-viewport-h);background:#e6e6e6;grid-template-columns:280px minmax(0,1fr);gap:0}.chat-layout--desktop-wechat .friend-card,.chat-layout--desktop-wechat .message-card{box-shadow:none;border:none;border-radius:0;height:100%}.chat-layout--desktop-wechat .friend-card{background:#e6e6e6;border-right:1px solid #d6d6d6}.chat-layout--desktop-wechat .friend-card.el-card>.el-card__body{flex-direction:row;align-items:stretch;padding:0}.chat-layout--desktop-wechat .message-card{background:#f5f5f5;flex-direction:column;min-height:0;display:flex;overflow:hidden}.chat-layout--desktop-wechat .friend-card.el-card>.el-card__header,.chat-layout--desktop-wechat .message-card.el-card>.el-card__header{box-sizing:border-box;background:#ededed;border-bottom:1px solid #d6d6d6;align-items:center;height:54px;min-height:54px;padding:0 12px;display:flex}.chat-layout--desktop-wechat .message-card.el-card>.el-card__body{background:#f5f5f5;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}}.friend-card.el-card>.el-card__body{flex-direction:column;flex:1;min-height:0;padding-top:12px;display:flex}.chat-layout--desktop-wechat .friend-card.el-card>.el-card__body{flex-direction:row;align-items:stretch;padding:0}.friend-scroll{flex:1;min-height:0}.header-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.friend-item{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px;display:flex}.friend-main{align-items:center;gap:8px;display:flex}.friend-item:hover,.friend-item.active{background:#ecf5ff}.send-row{justify-content:flex-end;margin-top:6px;display:flex}@media (max-width:768px){.page{padding:8px}.auth-card{margin:24px auto}.chat-layout{flex:auto;grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:10px;height:auto;min-height:0}.chat-layout.layout-mobile.mobile-chat .friend-card,.chat-layout.layout-mobile:not(.mobile-chat) .message-card{display:none}}html.chat-layout-mobile-root .page{padding:8px}html.chat-layout-mobile-root .page.page-auth{min-height:var(--chat-viewport-min-h);justify-content:flex-start;align-items:stretch}html.chat-layout-mobile-root .page.page-auth .auth-card{margin:24px auto}html.chat-layout-mobile-root .chat-layout{flex:auto;grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:10px;height:auto;min-height:0}html.chat-layout-mobile-root .chat-layout.layout-mobile.mobile-chat .friend-card,html.chat-layout-mobile-root .chat-layout.layout-mobile:not(.mobile-chat) .message-card{display:none}html.chat-layout-mobile-root .page.page-mobile-shell{min-height:var(--chat-viewport-min-h);box-sizing:border-box;padding-left:max(8px, env(safe-area-inset-left,0px));padding-right:max(8px, env(safe-area-inset-right,0px));padding-top:max(8px, env(safe-area-inset-top,0px));padding-bottom:max(8px, env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}html.chat-layout-mobile-root .page.page-mobile-shell:not(.page-mobile-chat){height:var(--chat-viewport-h);max-height:var(--chat-viewport-h);padding-bottom:0;overflow:hidden}html.chat-layout-mobile-root .page.page-mobile-shell:not(.page-mobile-chat) .chat-layout.layout-mobile{flex-direction:column;flex:1 1 0;gap:0;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}html.chat-layout-mobile-root .chat-layout.layout-mobile{isolation:isolate;background:#ededed;position:relative;overflow:hidden}html.chat-layout-mobile-root .chat-layout.layout-mobile .friend-card,html.chat-layout-mobile-root .chat-layout.layout-mobile .message-card{backface-visibility:hidden;background:#ededed;flex-direction:column;width:100%;height:100%;margin:0;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}html.chat-layout-mobile-root .chat-layout.layout-mobile .friend-card{z-index:1;opacity:1;visibility:visible;transform:translate(0,0)}html.chat-layout-mobile-root .chat-layout.layout-mobile .message-card{z-index:2;box-shadow:none;opacity:0;visibility:hidden;pointer-events:none;transform:translate(100%)}html.chat-layout-mobile-root .chat-layout.layout-mobile.mobile-chat .friend-card{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-100%)}html.chat-layout-mobile-root .chat-layout.layout-mobile.mobile-chat .message-card{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,0);box-shadow:-4px 0 16px #00000014}html.chat-layout-mobile-root .page.page-mobile-shell:not(.page-mobile-chat) .friend-card--mobile-nav{border-radius:0;flex-direction:column;flex:1 1 0;min-height:0;margin:0;display:flex;overflow:hidden}html.chat-layout-mobile-root .page.page-mobile-shell:not(.page-mobile-chat) .friend-card--mobile-nav.el-card>.el-card__body{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}html.chat-layout-mobile-root .page.page-mobile-shell .chat-layout{flex:auto;height:auto;min-height:0}html.chat-layout-mobile-root .page.page-mobile-shell.page-mobile-chat{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html.chat-layout-mobile-root .page-mobile-chat{height:var(--chat-viewport-h);max-height:var(--chat-viewport-h);box-sizing:border-box;overscroll-behavior:none;flex-direction:column;display:flex;overflow:hidden}html.chat-layout-mobile-root .page-mobile-chat .chat-layout.layout-mobile.mobile-chat{box-sizing:border-box;background:#ededed;flex-direction:column;flex:1;gap:0;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}html.chat-layout-mobile-root .page-mobile-moments-feed{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);height:var(--chat-viewport-h);max-height:var(--chat-viewport-h);box-sizing:border-box;overflow:hidden}html.chat-layout-mobile-root .page-mobile-moments-feed .chat-layout.layout-mobile.mobile-moments-feed{box-sizing:border-box;background:#ededed;flex-direction:column;flex:1;gap:0;min-height:0;padding:0;display:flex;overflow:hidden}html.chat-layout-mobile-root .page-mobile-moments-feed .chat-layout.mobile-moments-feed .message-card{display:none}html.chat-layout-mobile-root .page-mobile-moments-feed .chat-layout.mobile-moments-feed .friend-card{min-height:0;box-shadow:none;border:none;border-radius:0;flex-direction:column;flex:1 1 0;margin:0;display:flex;overflow:hidden}html.chat-layout-mobile-root .page-mobile-moments-feed .chat-layout.mobile-moments-feed .friend-card.el-card>.el-card__body{flex-direction:column;flex:1 1 0;min-height:0;padding:0;display:flex;overflow:hidden}.login-announcement-dialog{max-width:min(92vw,480px)}.group-meeting-message-overlay{z-index:20000!important}.group-meeting-message-box{z-index:20001!important}body:has(.direct-host-overlay-root) .el-overlay.is-message-box{z-index:6520!important}body:has(.direct-host-overlay-root) .el-overlay.el-modal-dialog{z-index:6520!important}body:has(.direct-host-overlay-root) .el-popper{z-index:6520!important}body:has(.direct-host-overlay-root) .message-ctx-backdrop{z-index:6525!important}body:has(.direct-host-overlay-root) .message-ctx-pop{z-index:6526!important}body:has(.direct-host-overlay-root) .el-message{z-index:6530!important}
