/**
* =====================================
* 滚动条美化
**/

/* 亮色 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-thumb {
  background-color: #b8b8b8;
  background-clip: padding-box;
  border-radius: 8px;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #878787;
}

/* 暗色 */
body[theme-mode=dark] ::-webkit-scrollbar-thumb {
  background: #565656;
}

body[theme-mode=dark] ::-webkit-scrollbar-thumb:hover {
  background: #424242; /* 更深的灰色 */
}

.cqt-dialog-layer {
  position: fixed; inset: 0; display: flex; align-items: center; justify-content: center;
  box-sizing: border-box; padding: max(20px, max(env(safe-area-inset-top, 0px), 0px)) 20px max(20px, max(env(safe-area-inset-bottom, 0px), 0px)); padding: max(20px, max(env(safe-area-inset-top, 0px), var(--safe-top, 0px))) 20px max(20px, max(env(safe-area-inset-bottom, 0px), var(--safe-bottom, 0px)));
  background: #0006; overscroll-behavior: contain;
}
.cqt-dialog-layer.is-sheet { align-items: flex-end; padding: max(env(safe-area-inset-top, 0px), 0px) 0 0; padding: max(env(safe-area-inset-top, 0px), var(--safe-top, 0px)) 0 0; }
.cqt-dialog {
  box-sizing: border-box; position: relative; width: 296px; max-width: calc(100vw - 64px);
  max-height: 100%; overflow-y: auto; background: #fff; border-radius: 9px;
  color: #191919; font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  box-shadow: none; outline: none; -webkit-text-size-adjust: 100%;
}
.cqt-dialog button { font-family: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.cqt-dialog button:disabled { cursor: default; opacity: .45; }
.cqt-dialog__action:focus-visible { outline: none; background: #f7f7f7; }
.cqt-dialog__copy { padding: 28px 22px 26px; text-align: center; }
.cqt-dialog__copy h2 { margin: 0 0 13px; font-size: 17px; font-weight: 600; line-height: 24px; }
.cqt-dialog__description { color: #888; font-size: 14px; line-height: 22px; overflow-wrap: anywhere; white-space: pre-wrap; }
.cqt-dialog__copy input { box-sizing: border-box; max-width: 100%; }
.cqt-dialog__actions { display: flex; border-top: .5px solid #e7e7e7; }
.cqt-dialog__action { flex: 1 1; min-width: 0; min-height: 54px; padding: 8px 12px; border: 0; background: #fff; color: #576b95; font-size: 16px; font-weight: 500; line-height: 22px; overflow-wrap: anywhere; }
.cqt-dialog__actions > button + button { border-left: .5px solid #e7e7e7; }
.cqt-dialog__action.is-primary { color: #07b45a; }
.cqt-dialog__action.is-danger { color: #fa5151; }
.cqt-dialog__action:hover:not(:disabled) { background: #f7f7f7; }
.cqt-dialog__close { position: absolute; top: 9px; right: 9px; width: 34px; height: 34px; z-index: 1; display: grid; place-items: center; padding: 0; background: transparent; border: 0; color: #999; }
.cqt-dialog__close svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.cqt-dialog--double-close h2 { padding: 0 18px; }
.cqt-dialog--action-sheet, .cqt-dialog--sheet-close { width: 100%; max-width: 100%; border-radius: 12px 12px 0 0; padding-bottom: max(24px, env(safe-area-inset-bottom, 0px), 0px); padding-bottom: max(24px, env(safe-area-inset-bottom, 0px), var(--safe-bottom, 0px)); }
.cqt-dialog--action-sheet .cqt-dialog__copy { padding: 16px 20px; color: #999; }
.cqt-dialog--action-sheet .cqt-dialog__copy:empty { display: none; }
.cqt-dialog--action-sheet h2, .cqt-dialog--action-sheet .cqt-dialog__description { margin: 0; font-size: 12px; line-height: 18px; font-weight: 400; }
.cqt-dialog--action-sheet .cqt-dialog__actions { flex-direction: column; }
.cqt-dialog--action-sheet .cqt-dialog__action { flex: none; width: 100%; min-height: 56px; font-size: 16px; color: #191919; display: flex; align-items: center; justify-content: center; gap: 12px; }
.wk-no-flex-gap .cqt-dialog--action-sheet .cqt-dialog__action > *:not(:last-child) {
  margin-right: 12px; }
.cqt-dialog--action-sheet .cqt-dialog__action.is-danger { color: #fa5151; }
.cqt-dialog--action-sheet .cqt-dialog__action.is-primary { color: #07b45a; }
.cqt-dialog--action-sheet .cqt-dialog__actions > button + button { border-left: 0; border-top: .5px solid #ededed; }
.cqt-dialog__cancel { border-top: 8px solid #ededed; }
.cqt-dialog__cancel button { width: 100%; color: #191919; }
.cqt-dialog--sheet-close .cqt-dialog__copy { padding: 0 24px 24px; text-align: center; }
.cqt-dialog--sheet-close .cqt-dialog__actions { border: 0; padding: 0 24px 34px; gap: 12px; }
.cqt-dialog--sheet-close .cqt-dialog__actions button { min-height: 44px; border: 0; border-radius: 6px; background: #f2f2f2; color: #191919; font-size: 16px; }
.cqt-dialog--sheet-close .cqt-dialog__actions .is-primary { background: #07c160; color: white; }
.cqt-dialog--sheet-close .cqt-dialog__actions .is-danger { color: #fa5151; }
/* Only explicitly opted-in Semi static confirmations use these rules. */
.cqt-semantic-dialog .semi-modal { width: 296px; max-width: calc(100vw - 40px); }
.cqt-semantic-dialog .semi-modal-mask { background: #0006; }
.cqt-semantic-dialog .semi-modal-content { padding: 0; border-radius: 9px; background: #fff; box-shadow: none; overflow: hidden; }
.cqt-semantic-dialog .semi-modal-header { padding: 28px 22px 0; margin: 0; justify-content: center; }
.cqt-semantic-dialog .semi-modal-title { justify-content: center; margin: 0; color: #191919; }
.cqt-semantic-dialog .semi-modal-confirm-title-text { font-size: 17px; font-weight: 600; line-height: 24px; text-align: center; }
.cqt-semantic-dialog .semi-modal-body-wrapper { margin: 0; }
.cqt-semantic-dialog .semi-modal-body { padding: 13px 22px 26px; margin: 0; }
.cqt-semantic-dialog .semi-modal-confirm-content { margin: 0; font-size: 14px; line-height: 22px; color: #888; text-align: center; overflow-wrap: anywhere; }
.cqt-semantic-dialog .semi-modal-footer { margin: 0; padding: 0; border-top: .5px solid #e7e7e7; display: flex; }
.cqt-semantic-dialog .semi-modal-footer .semi-button { flex: 1 1; min-width: 0; height: auto; min-height: 54px; margin: 0; padding: 8px 12px; border: 0; border-radius: 0; background: #fff; color: #576b95; font-size: 16px; font-weight: 500; white-space: normal; }
.cqt-semantic-dialog .semi-modal-footer .semi-button + .semi-button { border-left: .5px solid #e7e7e7; }
.cqt-semantic-dialog .semi-modal-footer .semi-button:last-child { color: #07b45a; }
.cqt-semantic-dialog.is-danger .semi-modal-footer .semi-button:last-child { color: #fa5151; }
.cqt-semantic-dialog .semi-modal-footer .semi-button:hover { background: #f7f7f7; }
.cqt-semantic-dialog .semi-modal-close { color: #999; }

.cqt-dialog--sheet-close .cqt-dialog__copy h2 { margin: 0 -24px 25px; padding: 16px 56px; border-bottom: .5px solid #ededed; }

.cqt-semantic-dialog .semi-modal-footer > div { display: flex; width: 100%; }

.cqt-dialog--action-sheet.has-close .cqt-dialog__copy { padding: 28px 42px 16px; }

/* Desktop conversation deletion follows the centered 340px design dialog while
   retaining the product's three distinct operations. */
.cqt-dialog--conversation-actions { width: 340px; border-radius: 10px; }
.cqt-dialog--conversation-actions .cqt-dialog__copy { padding: 25px 24px 20px; }
.cqt-dialog--conversation-actions .cqt-dialog__copy h2 { margin-bottom: 8px; font-size: 17px; line-height: 25px; }
.cqt-dialog--conversation-actions .cqt-dialog__description { font-size: 12px; line-height: 19px; }
.cqt-dialog--conversation-actions .cqt-dialog__actions { flex-direction: column; }
.cqt-dialog--conversation-actions .cqt-dialog__action { flex: none; width: 100%; min-height: 50px; font-size: 16px; }
.cqt-dialog--conversation-actions .cqt-dialog__actions > button + button { border-left: 0; border-top: 1px solid #ededed; }
.cqt-dialog--conversation-actions .cqt-dialog__cancel { border-top: 1px solid #ededed; }
.cqt-dialog--conversation-actions .cqt-dialog__cancel .cqt-dialog__action { width: 100%; min-height: 50px; color: #191919; font-size: 16px; }

/* App conversation confirmation values come directly from the 300px mockup. */
.cqt-dialog--mobile-confirm { width: 300px; border-radius: 12px; box-shadow: 0 10px 45px #0002; }
.cqt-dialog--mobile-confirm .cqt-dialog__copy { padding: 26px 23px; }
.cqt-dialog--mobile-confirm .cqt-dialog__copy h2 { margin-bottom: 8px; font-size: 17px; line-height: 25px; }
.cqt-dialog--mobile-confirm .cqt-dialog__description { font-size: 14px; line-height: 22px; }
.cqt-dialog--mobile-confirm .cqt-dialog__action { min-height: 52px; font-size: 16px; }

.cqt-dialog-layer { height: 100dvh; height: var(--app-full-vh, 100dvh); }

.cqt-dialog__summary h3 { margin: 0; color: #353535; font-size: 15px; font-weight: 400; line-height: 23px; }
.cqt-dialog__summary p { margin: 6px 0 0; color: #999; font-size: 12px; line-height: 20px; overflow-wrap: anywhere; }
.cqt-dialog__summary-icon { display: none; }
.cqt-dialog--sheet-close .cqt-dialog__summary h3 { font-size: 17px; font-weight: 500; line-height: 25px; }
.cqt-dialog--sheet-close .cqt-dialog__summary p { margin-top: 7px; font-size: 13px; }

.cqt-dialog__copy h2, .cqt-dialog__summary > div, .cqt-semantic-dialog .semi-modal-confirm-title-text { min-width: 0; overflow-wrap: anywhere; }

.wk-message-time-box {
    box-sizing: border-box;
    width: 100%;
    padding: 8px 10px 2px;
    text-align: center;
}

.wk-message-time {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    color: #8a8a8a;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.45;
    white-space: nowrap;
}

body[theme-mode=dark] .wk-message-time {
    color: #999;
}

.wk-message-split-box {
    box-sizing: border-box;
    width: 100%;
    padding: 8px 10px 2px;
    text-align: center;
}

.wk-message-split-content {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    color: #8a8a8a;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.45;
    white-space: nowrap;
}

body[theme-mode=dark] .wk-message-split-content {
    color: #999;
}



:root {
    --wk-height-viewqueueheader: 50px;
}

.wk-viewqueueheader {
    background-color: var(--wk-color-secondary);
    height: 50px;
    height: var(--wk-height-viewqueueheader);
    width: 100%;
    position: relative;
}

.wk-viewqueueheader-content {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-viewqueueheader-content-title {
    font-size: 17px;
    font-weight: 500;
    max-width: 200px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

body[theme-mode=dark] .wk-viewqueueheader-content-title {
    color: white;
}

.wk-viewqueueheader-back {
    position: absolute;
    height: 100%;
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 0px 15px;
}

.wk-viewqueueheader-back img {
    width: 10px;
    height: 15px;
}

.wk-viewqueueheader-content-action {
    position: absolute;
    right: 15px;
}

.wk-mergeforwardmessagelist {
    width: 100%;
    height: 100%;
}

.wk-mergeforwardmessagelist-content {
    width: 100%;
    height: 100%;
    background-color: var(--wk-color-secondary);
}

.wk-mergeforwardmessagelist-content-timeline {
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-mergeforwardmessagelist-content-msgs {
    width: 100%;
    height: 100%;
    overflow-y: auto;
}

.wk-mergeforwardmessagelist-content-msg {
    display: flex;
    width: 100%;
    padding: 15px;
    background-color: var(--wk-color-item);
}

.wk-mergeforwardmessagelist-content-msg-info {
    display: flex;
    width: 100%;
    flex-direction: column;
}

.wk-mergeforwardmessagelist-content-msg-info-first {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 0px 15px;

}

.wk-mergeforwardmessagelist-content-msg-info-first-name {
    font-size: 14px;
    color: #999;
}

.wk-mergeforwardmessagelist-content-msg-info-first-time {
    font-size: 12px;
    color: #999;
}

.wk-mergeforwardmessagelist-content-msg-info-second-msgcontent {
    padding: 0px 15px;
    margin-top: 5px;
}


/* Chat-record rows already provide the sender and timestamp. */
.wk-mergeforwardmessagelist-content-msg { box-sizing: border-box; }
.wk-mergeforwardmessagelist-content-msg-avatar { flex: 0 0 40px; }
.wk-mergeforwardmessagelist-content-msg-info { flex: 1 1; min-width: 0; width: auto; }
.wk-mergeforwardmessagelist-content-msg-info-first { box-sizing: border-box; gap: 8px; }
.wk-mergeforwardmessagelist-content-msg-info-first-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wk-mergeforwardmessagelist-content-msg-info-first-time { flex-shrink: 0; }
.wk-mergeforwardmessagelist-content-msg-info-second-msgcontent { overflow-wrap: anywhere; }
.wk-mergeforwardmessagelist .wk-message-base-checkBox,
.wk-mergeforwardmessagelist .senderAvatar,
.wk-mergeforwardmessagelist .senderName,
.wk-mergeforwardmessagelist .messageMeta,
.wk-mergeforwardmessagelist .svgAppendix { display: none; }
.wk-mergeforwardmessagelist .wk-message-base,
.wk-mergeforwardmessagelist .wk-message-base-send,
.wk-mergeforwardmessagelist .wk-message-base-recv { height: auto; min-width: 0; margin: 0 !important; align-items: flex-start; }
.wk-mergeforwardmessagelist .wk-message-base-box { margin: 0; width: 100%; justify-content: flex-start; }
.wk-mergeforwardmessagelist .wk-message-base-bubble-box { min-width: 0; max-width: 100%; margin: 0; }
/* MobileSubPage also carries m-chat__body; its avatar gutter is not used here. */
.wk-mergeforwardmessagelist .wk-message-base-bubble-box.recv { margin-left: 0 !important; }
.wk-mergeforwardmessagelist .wk-message-base-bubble-box.fileBox { width: 100%; }
.wk-mergeforwardmessagelist .wk-message-base-bubble-box.fileBox .wk-message-base-bubble { min-width: 0; width: 100%; }
.wk-mergeforwardmessagelist .wk-message-base-bubble { max-width: 100%; margin: 0; box-sizing: border-box; }
.wk-mergeforwardmessagelist .wk-message-file,
.wk-mergeforwardmessagelist .wk-message-voice,
.wk-mergeforwardmessagelist .wk-message-video-content-video { max-width: 100%; }
.wk-mergeforwardmessagelist video,
.wk-mergeforwardmessagelist .wk-mergeforwardmessagelist-content-msg-info-second-msgcontent > img { max-width: 100%; height: auto; }
.wk-merged-record-modal .semi-modal-body { width: 100%; min-width: 0; }
.wk-mergeforwardmessagelist .wk-message-base-box { flex-direction: row; }
.wk-mergeforwardmessagelist .wk-message-video { max-width: 100%; }
.wk-mergeforwardmessagelist .wk-message-base-bubble::after,
.wk-mergeforwardmessagelist .wk-message-base-bubble::before { display: none; }

/* One scroll region keeps the navigation header fixed for long records. */
.wk-mergeforwardmessagelist { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.wk-mergeforwardmessagelist-header { flex: 0 0 auto; }
.wk-mergeforwardmessagelist-content { flex: 1 1; min-height: 0; height: auto; overflow-y: auto; overscroll-behavior: contain; }
.wk-mergeforwardmessagelist-content-msgs { height: auto; overflow: visible; }
.wk-mergeforwardmessagelist-content-timeline { padding: 12px; color: #999; font-size: 12px; }

:root {
    --wk-width-max-message: 540px;
}

.wk-message-base {
    width: 100%;
    height: 100%;
    display: flex;
}

.wk-message-base-check-open {

}

.wk-message-base-send, .wk-message-base-recv {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}


.wk-message-base-send {
    align-items: flex-end;
    margin-right: 5px;
}

.wk-message-base-recv {
    margin-left: 15px;
    transform: translate3d(0, 0, 0);
    transition: transform var(--wk-layer-transition);
}

.wk-message-base-check-open .wk-message-base-recv {
    transform: translate3d(30px, 0, 0);
}

.senderName {
    color: rgba(9,30,66,.74);
    font-size: 12px;
    font-weight: 400;
    /* text-transform: capitalize; */
    padding-bottom: 1px;
}

.senderAvatar {
    width: 34px;
    height: 34px;
    cursor: pointer;
    position: absolute;
    left: 0;
    bottom: 5px;
}

.senderAvatar img {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
}

.senderAvatar img.wk-avatar--group {
    border-radius: 5px;
}
/* 运营 SVIP 头像现在会真渲染(svipBadgeOn 修复后):wrapper 默认 50px,这里收回 34px 适配群消息头像槽 */
.senderAvatar .wk-avatar-wrapper {
    width: 34px;
    height: 34px;
    overflow: hidden;
    border-radius: 50%;
}

/* 身份标识(群主/管理员/水军)— 与群设置成员格 .m-cs__rtag 统一:彩底白字药丸,同色板同尺寸。 */
.wk-message-sender-role-badge {
    position: absolute;
    left: 50%;
    transform: translateX(-50%); /* 与头像水平居中(原 left:-2px 是左对齐、往左探出) */
    bottom: -4px;
    padding: 2px 6px;
    line-height: 1;
    font-size: 9px;
    font-weight: 600;
    border-radius: 8px;
    color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
    white-space: nowrap;
    pointer-events: none;
    z-index: 2;
}

.wk-message-sender-role-owner {
    background: #ffb52e;  /* 群主·金 */
}

.wk-message-sender-role-manager {
    background: #2c7fe6;  /* 管理员·蓝 */
}


.wk-message-base-box {
    display: flex;
    align-items: center;
    position: relative;
}

.wk-message-base-send .wk-message-base-box {
    flex-direction: row;
    justify-content: center;
    margin-left: 0px;
    margin-right: 10px;
}

.wk-message-base-send .senderName {
    padding-right: 41px;
}

.wk-message-base-recv .senderName {
    padding-left: 41px;
}

.wk-message-base-bubble-box {
    display: flex;
    position: relative;
}

.wk-message-base-bubble-box.recv {
    margin-left: 40px;
}

.wk-message-base-bubble {
    color: rgba(9,30,66,.87);
    display: flex;
    /* margin-bottom: 4px; */
    padding: 8px 10px;
    position: relative;
    word-wrap: break-word;
    max-width: 540px;
    max-width: var(--wk-width-max-message);
    justify-content: center;
    align-items: center;
    flex-direction: column;
    box-shadow: 0 1px 2px rgba(114,114,114,0.25098);
    font-size: 15px;
}



.wk-message-base-bubble-box.hide .wk-message-base-bubble {
    padding: 0px;
}

body[theme-mode=dark] .wk-message-base-bubble {
    box-shadow: none;
}

@media screen and (max-width: 640px)  {
    .wk-message-base-bubble {
        max-width: calc(100vw - 80px);
    }
}

.wk-message-base-bubble-box.send .wk-message-base-bubble {
    background-color: var(--qq-bubble-me) ;
    border-radius: var(--qq-radius-bubble);
    color: var(--qq-bubble-me-text);
}

.wk-message-base-bubble-box.recv .wk-message-base-bubble {
    border-radius: var(--qq-radius-bubble);
    background-color: var(--qq-bubble-other) ;
    color: var(--qq-bubble-other-text);
}


body[theme-mode=dark] .wk-message-base-bubble-box.recv .wk-message-base-bubble  {
    color: white;
}

body[theme-mode=dark] .wk-message-base-bubble-box.recv .wk-message-base-bubble {
    background-color: var(--wk-color-secondary);
}


.wk-message-base-bubble-box.send.middle .wk-message-base-bubble {
    border-radius: 0.75rem 0.375rem 0.375rem 0.75rem;
}

.wk-message-base-bubble-box.send.first .wk-message-base-bubble {
    border-radius: 0.75rem 0.75rem 0.375rem 0.75rem;
}

.wk-message-base-bubble-box.recv.middle .wk-message-base-bubble {
    border-radius: 0.375rem 0.75rem 0.75rem 0.375rem;
}

.wk-message-base-bubble-box.recv.first .wk-message-base-bubble {
    border-radius: 0.75rem 0.75rem 0.75rem 0.375rem;
}

.wk-message-base-bubble-box.hide .wk-message-base-bubble {
    background-color: transparent !important;
    box-shadow: none;
}


.svgAppendix {
    display: none;
    overflow: hidden;
    position: absolute;
    width: 0.5625rem;
    height: 1.125rem;
    font-size: 1rem !important;
    bottom: -1px;
}


.wk-message-base-bubble-box.last .svgAppendix {
    display: block;
}

.wk-message-base-bubble-box.single .svgAppendix {
    display: block;
}


.wk-message-base-bubble-box.send .svgAppendix {
    right: -0.551rem;
}

.wk-message-base-bubble-box.recv .svgAppendix {
    left: -0.52rem;
}

.wk-message-base-bubble-box.send .svgAppendix .corner {
    fill: var(--qq-bubble-me);
}

.wk-message-base-bubble-box.recv .svgAppendix .corner {
    fill: var(--qq-bubble-other);
}


body[theme-mode=dark] .wk-message-base-bubble-box.recv .svgAppendix .corner  {
    fill: var(--wk-color-secondary);
}

/* .wk-message-base-recv .wk-message-base-bubble {
    margin-left: 5px;
    background-color: #bedbf5;
}

.wk-message-base-send .wk-message-base-bubble {
    margin-right: 5px;
    background-color: #fff;
    box-shadow: -1px 1px 1px rgba(0,0,0,.12);
    color: rgba(9,30,66,.87) !important;
    border-radius: 20px 4px 8px 20px;
}*/



.messageNameBox {
    display: flex;
    margin-bottom: 1px;
}

.wk-message-base-send .messageNameBox {
    flex-direction: row-reverse;
    justify-content: end;
}

.wk-message-base-recv .messageNameBox {
    flex-direction: row;
}

/*.messageTime {
    color: rgba(9,30,66,.74);
    font-size: 12px;
    font-weight: 400;
    text-transform: capitalize;
    display: none;
}

.wk-message-base-send:hover .messageTime {
    display: block;
}

.wk-message-base-recv:hover .messageTime {
    display: block;
}

.wk-message-base-recv .messageTime {
    margin-left: 8px;
}

.wk-message-base-send .messageTime {
    margin-right: 8px;
}*/



.wk-message-base-content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.popupMenusContaner {
    display: none;
}

.wk-message-base-box:hover .popupMenusContaner {
    display: block;
}


.wk-message-base-checkBox {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transform: translate3d(-10px, 0, 0);
    transition: transform var(--wk-layer-transition);
}

.wk-message-base-check-open {
    cursor: pointer;
}

.wk-message-base-check-open .wk-message-base-checkBox{
    transform: translate3d(25px, 0, 0);

}

.wk-message-base-checkBox .wk-check {
    position: absolute;
    bottom: 10px;
}

.wk-message-base-send .checkBox {
    left: auto;
    right: -30px;
}


.wk-message-base-send .wk-message-base-box.checked {
    margin-left: 0;
    margin-right: 30px;
}

.wk-message-base-recv .wk-message-base-box.checked .senderAvatar {
    left: -30px;
}

.replyBox {
    width: 100%;
}

.reply {
    position: relative;
    color: #666;
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-left: 12px;
    margin-bottom: 4px;
    max-width: 100%;
    white-space: pre-wrap;
    white-space: -moz-pre-wrap;
    white-space: -pre-wrap;
    white-space: -o-pre-wrap;
    word-wrap: break-word;
}

.reply::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: 100%;
    border-radius: 50px;
    background-color: var(--wk-color-theme);
}

.messageMeta {
    position: relative;
    top: 0.375rem;
    bottom: auto !important;
    float: right;
    line-height: 1;
    height: 19px;
    margin-left: 0.4375rem;
    margin-right: -0.2rem;
}

.wk-message-base-bubble-box.send .messageMeta {
    top: 0rem;
}

.messagePinIcon {
    display: inline-flex;
    align-items: center;
    margin-inline-end: 0.2rem;
    opacity: 0.75;
}

.messageTime {
    margin-inline-end: 0.1875rem;
    font-size: .75rem;
    white-space: nowrap;
}

.wk-message-base-bubble-box.recv .messageTime,
.wk-message-base-bubble-box.recv .messagePinIcon {
    color: rgb(104, 108, 114,0.75);
}

.wk-message-base-bubble-box.send .messageTime,
.wk-message-base-bubble-box.send .messagePinIcon {
    color: rgb(255, 255, 255,0.75);
}

.textTitle {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 540px;
    max-width: var(--wk-width-max-message);
    box-sizing: border-box;
    font-size: 12px;
    line-height: 18px;
    font-weight: 400;
    color: #888;
    color: var(--wk-text-secondary, #888);
    unicode-bidi: plaintext;
    margin-bottom: 3px;
}

.icon-message-read::before {
    content: "";
    position: absolute;
    bottom: -4px;
    color: #2684B5;
}

.icon-message-succeeded::before {
    content: "";
    position: absolute;
    bottom: -4px;
    color: #60825B;
}

.icon-message-pending::before {
    content: "";
    position: absolute;
    bottom: -4px;
}

.messageStatus {
    width: 1.19rem;
    height: 1.19rem;
    overflow: hidden;
    display: inline-block;
    line-height: 1;
    margin-left: -0.1875rem;
    font-size: 1.1875rem;
    border-radius: 0.625rem;
}

.messageStatusReadCount {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: -0.1875rem;
}

.wk-no-flex-gap .messageStatusReadCount > *:not(:last-child) {
    margin-right: 4px;
}

.messageStatusReadCountIcon {
    position: relative;
    display: inline-flex;
    width: 1.19rem;
    height: 1.19rem;
    overflow: hidden;
    font-size: 1.1875rem;
}

.messageStatusReadCountText {
    color: rgb(255,255,255,0.78);
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
}

.messageFail {
    display: flex;
    min-width: 54px;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    border: 0;
    background: transparent;
    color: #fa5151;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
}

.wk-no-flex-gap .messageFail > *:not(:last-child) {
    margin-bottom: 4px;
}

.messageFailIcon {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    border-radius: 50%;
    background: #fa5151;
    color: #fff;
}

.messageFailIcon svg {
    width: 16px;
    height: 16px;
}

.messageFail.is-pending {
    color: #8a8a8a;
    cursor: default;
}

.messagePendingIcon {
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
    box-sizing: border-box;
    border: 2px solid rgba(138, 138, 138, .28);
    border-top-color: #8a8a8a;
    border-radius: 50%;
    animation: wk-message-status-spin 1s linear infinite;
}

@keyframes wk-message-status-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .messagePendingIcon { animation: none; }
}

.wk-message-base-send .messageFail {
    margin-right: 8px;
}

div.messageFail {
    cursor: default;
}

.wk-message-error-reason {
    font-size: 13px;
    margin-right: 10px;
    margin-top: 5px;
    color: var(--wk-color-font-tip);
}

/* ============================================================
 * Modern IM overrides (2026-04-25 UX audit)
 * 消息气泡：padding/圆角向微信桌面版对齐，移除 last/first 不对称圆角，
 * 字号略降到 14.5px。svgAppendix 尾巴保留以维持原测试依赖。
 * ============================================================ */
.wk-message-base-bubble {
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.5;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
}
.wk-message-base-bubble-box.send .wk-message-base-bubble,
.wk-message-base-bubble-box.send.first .wk-message-base-bubble,
.wk-message-base-bubble-box.send.middle .wk-message-base-bubble,
.wk-message-base-bubble-box.send.last .wk-message-base-bubble {
    border-radius: var(--qq-radius-bubble);
}
.wk-message-base-bubble-box.recv .wk-message-base-bubble,
.wk-message-base-bubble-box.recv.first .wk-message-base-bubble,
.wk-message-base-bubble-box.recv.middle .wk-message-base-bubble,
.wk-message-base-bubble-box.recv.last .wk-message-base-bubble {
    border-radius: var(--qq-radius-bubble);
}
/* 接收气泡：全类型设计使用白底和极淡投影，不加额外描边。 */
.wk-message-base-bubble-box.recv .wk-message-base-bubble {
    background-color: var(--qq-bubble-other);
    color: var(--qq-bubble-other-text);
    border: 0;
}
/* 自发气泡按固定全类型设计使用微信绿和深色文字。 */
.wk-message-base-bubble-box.send .wk-message-base-bubble {
    background-color: var(--qq-bubble-me);
    color: var(--qq-bubble-me-text);
}


.wk-check {
    cursor: pointer;
}
/* Reaction Picker */
.wk-reaction-picker-mask {
    position: fixed;
    left: 0; top: 0; right: 0; bottom: 0;
    z-index: 999;
    background: transparent;
}
.wk-reaction-picker {
    position: fixed;
    z-index: 1000;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.15);
    padding: 6px 8px;
    min-width: 320px;
    transform-origin: 0 0;
}
.wk-reaction-picker-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    padding: 2px 0;
}
.wk-reaction-picker-emoji-row {
    border-top: 1px solid #f0f0f0;
    margin-top: 4px;
    padding-top: 6px;
}
.wk-reaction-picker-item,
.wk-reaction-picker-emoji {
    background: transparent;
    border: 0;
    padding: 4px;
    border-radius: 6px;
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
}
.wk-reaction-picker-item img {
    width: 24px;
    height: 24px;
    -o-object-fit: contain;
       object-fit: contain;
}
.wk-reaction-picker-fallback-emoji {
    font-size: 20px;
    line-height: 1;
}
.wk-reaction-picker-item:hover,
.wk-reaction-picker-emoji:hover {
    background: rgba(0,0,0,0.05);
}

/* Reaction Bar (badges below bubble) */
.wk-reaction-bar {
    position: absolute;
    right: 8px;
    bottom: 0;
    z-index: 2;
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
    align-items: center;
    white-space: nowrap;
}
.wk-no-flex-gap .wk-reaction-bar > *:not(:last-child) {
    margin-right: 4px;
}
.wk-message-base-bubble-box:has(> .wk-reaction-bar) {
    padding-bottom: 15px;
}
.wk-message-base-bubble-box.recv > .wk-reaction-bar {
    right: auto;
    left: 8px;
}
.wk-reaction-bar-right {
    justify-content: flex-end;
}
.wk-reaction-bar-left {
    justify-content: flex-start;
}
.wk-reaction-bar-badge {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    background: #fff;
    background: var(--wk-ui-surface, #fff);
    border: 1px solid #ddd;
    border: 1px solid var(--wk-ui-line, #ddd);
    border-radius: 12px;
    padding: 3px 7px;
    font-size: 11px;
    line-height: 1.2;
    cursor: pointer;
}
.wk-no-flex-gap .wk-reaction-bar-badge > *:not(:last-child) {
    margin-right: 2px;
}
.wk-reaction-bar-badge:hover {
    background: rgba(0,0,0,0.1);
}
.wk-reaction-bar-badge-self {
    border-color: #ddd;
    border-color: var(--wk-ui-line, #ddd);
    background: #fff;
    background: var(--wk-ui-surface, #fff);
}
.wk-reaction-bar-badge-emoji img {
    width: 16px;
    height: 16px;
    -o-object-fit: contain;
       object-fit: contain;
    vertical-align: middle;
}
.wk-reaction-bar-fallback-emoji {
    font-size: 14px;
    line-height: 1;
}
.wk-reaction-bar-badge-count {
    color: #666;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}
.wk-reaction-bar-more {
    color: #999;
    font-size: 12px;
}
.wk-reaction-bar-detail {
    position: absolute;
    z-index: 1001;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.15);
    padding: 8px 10px;
    min-width: 160px;
    max-width: 240px;
    margin-top: 24px;
}
.wk-reaction-bar-detail-head {
    display: flex;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid #eee;
    padding-bottom: 4px;
    margin-bottom: 6px;
}
.wk-no-flex-gap .wk-reaction-bar-detail-head > *:not(:last-child) {
    margin-right: 6px;
}
.wk-reaction-bar-detail-close {
    margin-left: auto;
    cursor: pointer;
    color: #999;
    font-size: 16px;
}
.wk-reaction-bar-detail-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 160px;
    overflow-y: auto;
}
.wk-reaction-bar-detail-list li {
    padding: 4px 0;
    font-size: 13px;
    color: #333;
    border-bottom: 1px dashed #f0f0f0;
}
.wk-reaction-bar-detail-list li:last-child {
    border-bottom: 0;
}



.wk-mergeforwards {
    width: min(260px, calc(100vw - 120px));
    min-width: min(190px, calc(100vw - 120px));
    background-color: var(--wk-message-item);
    border-radius: 7px;
    cursor: pointer;
}



.wk-mergeforwards-content {
    padding: 11px 12px 5px;
    color: black;

}

.wk-mergeforwards-content-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--wk-message-color);
}

.wk-mergeforwards-content-items {
    padding-bottom: 5px;
}

.wk-mergeforwards-content-items .wk-mergeforwards-content-item {
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11px;
    line-height: 1.5;
    color: #999 !important;
}

.wk-mergeforwards-content-tip {
    display: flex;
    justify-content: flex-start;
    color: #999 !important;
    font-size: 11px;
    padding: 5px 0 0;
}

.wk-mergeforwards-content-tip p {
    margin-bottom: 0px;
}

.wk-message-typing {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    height: 18px;
}


:root {
    --wk-conversation-footer: 120px;
    --wk-height-conversation-replyview: 50px;
}

.wk-conversation {
    width: 100%;
    height: 100%;
    position: relative;
}


.wk-conversation-hasreply {

}


.wk-conversation-content {
    width: 100%;
    height: calc(100% - 120px);
    height: calc(100% - var(--wk-conversation-footer));
    position: relative;
    transition: height 150ms ease-out,opacity 150ms ease-out;
}

body[theme-mode=dark] .wk-conversation-content {
    background-color: var(--wk-color-secondary-2);
}

.wk-conversation-hasreply .wk-conversation-content {
    height: calc(100% - 120px - 50px);
    height: calc(100% - var(--wk-conversation-footer) - var(--wk-height-conversation-replyview));
}


.wk-conversation-messages {
    width: 100%;
    height: 100%;
    overflow-y: auto;
}

.wk-message-item {
    width: 100%;
    display: flex;
    position: relative;
    
}


.wk-message-item-last {
    margin-bottom: 15px;
}

.wk-conversation-dragover .wk-message-item {
    pointer-events:none;
}

.wk-conversation-footer {
    width: 100%;
    height: 120px;
    height: var(--wk-conversation-footer);
    display: flex;
    justify-content: center;
    flex-direction: column;
    position: absolute;
    bottom: 0px;
}



.wk-conversation-footer-content {
    width: 100%;
    height: 100%;
}

.wk-conversation-chattoolbars {
    height: 100%;
    margin-bottom: 0px;
    display: flex;
    align-items: center;
   
}

.wk-conversation-chattoolbars-item {
    cursor: pointer;
}



.wk-conversation-content-fileupload-mask {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    padding: 15px;

}

.wk-conversation-content-fileupload-mask-content {
    width: 100%;
    height: 100%;
    border: 1px dashed #999;
    border-radius: 4px;
    background-color: rgb(255, 255, 255,0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 500;
    padding: 20px;

}

.wk-replyview {
    width: 100%;
    height: 100%;
    display: flex;
}

.wk-replyview-content {
    width: calc(100% - 80px);
    height: 100%;
    display: flex;
    flex-direction: column;
    margin-left: 15px;
    color: var(--wk-color-font-tip);
}

.wk-replyview-content-msg {
    display: inline-block;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wk-replyview-content-first {
    width: 100%;
    margin-top: 2px;
}

.wk-replyview-content-second {
    margin-top: 2px;
}

.wk-replyview-content-userinfo {
    display: flex;
}

.wk-replyview-content-userinfo-name {
    display: flex;
    align-items: center;
    margin-left: 5px;
}

.wk-conversation-topview {
    transform: translate3d(0, 100%, 0);
    transition: transform var(--wk-layer-transition);
    background-color: white;
}

body[theme-mode=dark] .wk-conversation-topview {
    background-color: var(--wk-color-secondary);
}

.wk-conversation-hasreply .wk-conversation-topview {
    transform: translate3d(0,  0, 0);
    height: 50px;
    height: var(--wk-height-conversation-replyview);
    box-shadow: 0.3rem -0.2rem 0.8rem 0.05rem rgb(114 114 114 / 5%);
    border-left: none;
}

.wk-conversation-hasreply .wk-messageinput-box {
    box-shadow:none;
}

.wk-replyview-close {
    height: 100%;
    padding: 0px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: var(--wk-line);
    cursor: pointer;
}



.wk-conversation-multiplepanel {
    height: 120px;
    height: var(--wk-conversation-footer);
    background-color: var(--wk-color-secondary);
    width: 100%;
    z-index: 999;
    position: absolute;
    bottom: 0px;
    transform: translate3d(0, 120px, 0);
    transform: translate3d(0, var(--wk-conversation-footer), 0);
    transition: transform var(--wk-layer-transition);
}

.wk-conversation-multiplepanel-show {
    transform: translate3d(0, 0, 0);

}

.wk-multiplepanel {
    width: 100%;
    height: 100%;
}

.wk-multiplepanel-content {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-multiplepanel-content-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-left: 60px;
    cursor: pointer;
    
}

.wk-multiplepanel-content-item:first-child {
    margin-left: 0px;
}

.wk-multiplepanel-content-item-icon {
    background-color: var(--wk-color-item);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-multiplepanel-content-item-icon-svg {
    width: 24px;
    height: 24px;
    fill: var(--wk-text-item);
}
.wk-multiplepanel-content-item-title {
    color: var(--wk-text-item);
    font-size: 14px;
    margin-top: 4px;
}

.wk-multiplepanel-close {
    position: absolute;
    top: 20px;
    left: 40px;
    padding: 10px;
    cursor: pointer;
}


.wk-conversationpositionview {
    position: absolute;
    bottom: 1.0rem;
    right: 1.5rem;
}

.wk-conversationpositionview ul {
    margin-bottom: 0px;
}

.wk-conversationpositionview-item {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: white;
   
    box-shadow: 0 1px 2px rgba(114,114,114,0.25098);
    color: rgba(112,117,121,0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transform: scale(0.5,0.5);
    transition: transform .25s cubic-bezier(0.34, 1.56, 0.64, 1),opacity .2s ease;
    opacity: 0;
}

.wk-conversationpositionview-item img {
    width: 20px;
    height: 20px;
}

body[theme-mode=dark] .wk-conversationpositionview-item  {
    background-color: var(--wk-color-secondary);
    box-shadow: 0 1px 2px rgba(0,0,0,0.5);
}


.wk-conversationpositionview-item.wk-reveale {
    transform: scale(1,1);
    opacity: 1;
    pointer-events: all;
}

.wk-conversationpositionview-item i {
    font-size: 1.75rem;
}

.icon-arrow-down::before {
    content: "";
}

.wk-conversationpositionview-item .wk-conversation-unread-count {
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 0.45rem;
    border-radius: 0.75rem;
    font-size: .875rem;
    line-height: 1.5rem;
    font-weight: 500;
    text-align: center;
    position: absolute;
    top: -0.3rem;
    right: -0.3rem;
    background: red;
    color: #fff;
    pointer-events: none;
}

.wk-conversationpositionview ul li {
    margin-top: 20px;
}

.wk-message-item-reminder {
    animation:wk-message-item-reminder-move 2s;
	-webkit-animation:wk-message-item-reminder-move 2s;
}

@keyframes wk-message-item-reminder-move
	{
	to {background-color:var(--wk-color-theme);}
}

/*Safari 和 Chrome:*/

.wk-conversation-haspinned .wk-conversation-content {
    height: calc(100% - 120px - 48px);
    height: calc(100% - var(--wk-conversation-footer) - 48px);
}

.wk-conversation-haspinned.wk-conversation-hasreply .wk-conversation-content {
    height: calc(100% - 120px - 50px - 48px);
    height: calc(100% - var(--wk-conversation-footer) - var(--wk-height-conversation-replyview) - 48px);
}

.wk-conversation-pinned-bar {
    display: flex;
    align-items: center;
    height: 48px;
    background: #fff;
    background: var(--wk-color-content, #fff);
    border-bottom: 1px solid #f2f2f2;
    border-bottom: 1px solid var(--wk-color-line, #f2f2f2);
    cursor: pointer;
    flex-shrink: 0;
    overflow: hidden;
}

body[theme-mode=dark] .wk-conversation-pinned-bar {
    background: #1c1c1e;
    background: var(--wk-color-secondary, #1c1c1e);
    border-bottom-color: rgba(255,255,255,0.08);
}

.wk-conversation-pinned-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding-left: 12px;
    color: #07C160;
}

.wk-conversation-pinned-main {
    flex: 1 1;
    min-width: 0;
    padding: 0 10px;
}

.wk-conversation-pinned-title {
    font-size: 12px;
    color: #07C160;
    color: var(--wk-color-primary, #07C160);
    font-weight: 500;
}

.wk-conversation-pinned-desc {
    margin-top: 2px;
    font-size: 13px;
    color: #4b5563;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body[theme-mode=dark] .wk-conversation-pinned-desc {
    color: #d1d5db;
}

.wk-conversation-pinned-actions {
    display: flex;
    align-items: center;
    padding-right: 10px;
    gap: 6px;
}

.wk-no-flex-gap .wk-conversation-pinned-actions > *:not(:last-child) {
    margin-right: 6px;
}

.wk-conversation-pinned-action {
    color: #07C160;
    color: var(--wk-color-primary, #07C160);
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
}

.wk-conversation-pinned-list {
    max-height: 420px;
    overflow-y: auto;
}

.wk-conversation-pinned-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #f2f2f2;
    border-bottom: 1px solid var(--wk-color-line, #f2f2f2);
    cursor: pointer;
}

.wk-no-flex-gap .wk-conversation-pinned-list-item > *:not(:last-child) {
    margin-right: 10px;
}

.wk-conversation-pinned-list-text {
    flex: 1 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wk-conversation-pinned-empty {
    color: #9ca3af;
    text-align: center;
    padding: 24px 0;
}



.wk-pendingfile {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 8px;
    padding: 6px 16px;
}.wk-no-flex-gap .wk-pendingfile > *:not(:last-child) {
    margin-right: 8px;
}

.wk-pendingfile-card {
    position: relative;
    display: flex;
    width: min(280px, 76vw);
    min-height: 88px;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    padding: 14px 16px 18px;
    overflow: hidden;
    border-radius: 8px;
    color: #242424;
    color: var(--wk-ui-text, #242424);
    background: #fff;
    background: var(--wk-ui-surface, #fff);
    box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
}

.wk-no-flex-gap .wk-pendingfile-card > *:not(:last-child) {
    margin-bottom: 14px;
}

.wk-pendingfile-name {
    padding-right: 72px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 15px;
    font-weight: 500;
}

.wk-pendingfile-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #8f959e;
    font-size: 12px;
}

.wk-no-flex-gap .wk-pendingfile-status > *:not(:last-child) {
    margin-right: 16px;
}

.wk-pendingfile-status.is-failed > :last-child {
    color: #d93025;
}

.wk-pendingfile-status.is-failed button {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.wk-pendingfile-card progress {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 10px;
    display: block;
    width: calc(100% - 32px);
    height: 3px;
    overflow: hidden;
    border: 0;
    border-radius: 99px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: rgba(148, 163, 184, .24);
}

.wk-pendingfile-card progress::-webkit-progress-bar {
    border-radius: inherit;
    background: rgba(148, 163, 184, .24);
}

.wk-pendingfile-card progress::-webkit-progress-value,
.wk-pendingfile-card progress::-moz-progress-bar {
    border-radius: inherit;
    background: #07c160;
}

.wk-pendingfile-actions {
    position: absolute;
    top: 8px;
    right: 10px;
    display: flex;
    gap: 4px;
}

.wk-no-flex-gap .wk-pendingfile-actions > *:not(:last-child) {
    margin-right: 4px;
}

.wk-pendingfile-actions button {
    padding: 3px 4px;
    border: 0;
    background: transparent;
    color: #576b95;
    font: inherit;
    font-size: 11px;
    cursor: pointer;
}

.wk-pending-media{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;padding:5px 0 20px 14px;clear:both}.wk-no-flex-gap .wk-pending-media > *:not(:last-child){margin-right:8px}
.wk-pending-media__body{position:relative;width:168px;height:108px;overflow:hidden;border-radius:7px;background:#222;color:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04)}
.wk-pending-media--image .wk-pending-media__body{width:150px}
.wk-pending-media__preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:rgba(0,0,0,.05);font-size:32px}
.wk-pending-media__preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}
.wk-pending-media--image .wk-pending-media__preview img{-o-object-fit:contain;object-fit:contain}
.wk-pending-media__play{position:absolute;left:50%;top:50%;display:grid;width:32px;height:32px;place-items:center;transform:translate(-50%,-50%);color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55));pointer-events:none}
.wk-pending-media__play svg{width:32px;height:32px;fill:currentColor}
.wk-pending-media__duration{position:absolute;right:7px;bottom:6px;color:#fff;font-size:11px;line-height:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.55);pointer-events:none}
.wk-pending-media__status{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:6px 8px 27px;border:0;background:rgba(0,0,0,.34);color:#fff;font:inherit;font-size:11px;line-height:1.25;text-align:center;overflow-wrap:anywhere}
.wk-no-flex-gap .wk-pending-media__status > *:not(:last-child){margin-bottom:7px}
.wk-pending-media__body.is-failed .wk-pending-media__status{padding:6px 8px;background:rgba(0,0,0,.58);cursor:pointer}
.wk-pending-media__ring{display:grid;width:50px;height:50px;flex:0 0 auto;place-items:center;border-radius:50%;background:conic-gradient(#fff var(--pending-media-progress),rgba(255,255,255,.3) 0)}
.wk-pending-media__ring::after{content:"";grid-area:1/1;width:42px;height:42px;border-radius:50%;background:rgba(38,48,45,.8)}
.wk-pending-media__ring b{z-index:1;grid-area:1/1;font-size:11px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.wk-pending-media__status .messageFailIcon{width:32px;height:32px;flex-basis:32px}
.wk-pending-media__status .messageFailIcon svg{width:18px;height:18px}
.wk-pending-media__actions{position:absolute;right:6px;bottom:4px;z-index:3;display:flex;justify-content:flex-end;gap:3px}
.wk-no-flex-gap .wk-pending-media__actions > *:not(:last-child){margin-right:3px}
.wk-pending-media__actions:empty{display:none}
.wk-pending-media__actions button{padding:3px 5px;border:0;border-radius:4px;background:rgba(0,0,0,.42);color:#fff;font:inherit;font-size:10px;cursor:pointer}
.wk-pending-media--voice .wk-pending-media__body{display:flex;width:auto;min-width:138px;height:auto;min-height:44px;max-width:260px;align-items:center;overflow:visible;border-radius:7px;background:#95ec69;color:#111}
.wk-pending-media__voice{display:flex;min-width:138px;align-items:center;justify-content:flex-start;gap:8px;padding:11px 13px}
.wk-no-flex-gap .wk-pending-media__voice > *:not(:last-child){margin-right:8px}
.wk-pending-media__voice-lines{display:flex;width:22px;height:22px;align-items:center;justify-content:center;gap:2px}
.wk-no-flex-gap .wk-pending-media__voice-lines > *:not(:last-child){margin-right:2px}
.wk-pending-media__voice-lines i{display:block;width:2px;border-radius:2px;background:currentColor;opacity:.9}
.wk-pending-media__voice-lines i:nth-child(1){height:7px}
.wk-pending-media__voice-lines i:nth-child(2){height:14px}
.wk-pending-media__voice-lines i:nth-child(3){height:19px}
.wk-pending-media__voice-lines i:nth-child(4){height:10px}
.wk-pending-media__voice-duration{flex:0 0 auto;font-size:14px;font-weight:400;line-height:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}
.wk-pending-media--voice .wk-pending-media__status{inset:50% calc(100% + 7px) auto auto;transform:translateY(-50%);width:54px;align-items:center;padding:0;background:transparent;color:#fa5151;text-align:center;white-space:nowrap}
.wk-pending-media--voice .wk-pending-media__body.is-failed .wk-pending-media__status{padding:0;background:transparent;color:#fa5151}
.wk-pending-media--voice .wk-pending-media__status .messageFailIcon{width:26px;height:26px;flex-basis:26px}
.wk-pending-media--voice .wk-pending-media__status .messageFailIcon svg{width:16px;height:16px}
.wk-pending-media--voice .wk-pending-media__body.is-failed{margin-bottom:0}
.wk-pending-media--voice .wk-pending-media__actions{top:calc(100% + 3px);right:2px;bottom:auto;gap:8px}
.wk-pending-media--voice .wk-pending-media__actions button{padding:2px;background:transparent;color:#576b95;font-size:11px;line-height:18px}
.wk-pending-media--gif-result{flex-direction:column;align-items:flex-end;gap:3px}
.wk-pending-media--gif-result .wk-pending-media__body{width:88px;height:78px;overflow:visible;background:transparent}
.wk-pending-media--gif-result .wk-pending-media__preview{border-radius:7px;overflow:hidden;background:transparent}
.wk-pending-media--gif-result .wk-pending-media__preview img{-o-object-fit:contain;object-fit:contain}
.wk-pending-media--gif-result .wk-pending-media__body.is-failed .wk-pending-media__status{inset:50% calc(100% + 7px) auto auto;transform:translateY(-50%);width:54px;align-items:center;padding:0;background:transparent;color:#fa5151;text-align:center;white-space:nowrap}
.wk-pending-media--gif-result .wk-pending-media__body.is-failed .wk-pending-media__status .messageFailIcon{width:26px;height:26px;flex-basis:26px}
.wk-pending-media--gif-result .wk-pending-media__body.is-failed .wk-pending-media__status .messageFailIcon svg{width:16px;height:16px}

.wk-message-media-frame,
.wk-message-image,
.wk-message-gif,
.wk-message-sticker-frame {
    position: relative;
    overflow: hidden;
    border-radius: 7px;
}

.wk-message-gif {
    display: grid;
    width: 88px;
    height: 78px;
    place-items: center;
    border-radius: 7px;
}

.wk-message-media-upload {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: inherit;
    background: rgba(0, 0, 0, .34);
    color: #fff;
    font-size: 11px;
    line-height: 1;
    pointer-events: none;
}

.wk-no-flex-gap .wk-message-media-upload > *:not(:last-child) {
    margin-bottom: 7px;
}

.wk-message-media-upload-ring {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(#fff var(--media-upload-progress), rgba(255, 255, 255, .3) 0);
}

.wk-message-media-upload-ring::after {
    content: "";
    grid-area: 1 / 1;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(38, 48, 45, .8);
}

.wk-message-media-upload-ring b {
    z-index: 1;
    grid-area: 1 / 1;
    font-size: 11px;
    font-weight: 500;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.wk-message-media-load-failed {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    border: 0;
    border-radius: inherit;
    background: rgba(0, 0, 0, .58);
    color: #fff;
    font-size: 11px;
    cursor: pointer;
}

.wk-no-flex-gap .wk-message-media-load-failed > *:not(:last-child) {
    margin-bottom: 7px;
}

.wk-message-media-loading {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgba(0, 0, 0, .26);
    color: #fff;
    font-size: 11px;
    pointer-events: none;
}

.wk-message-media-load-failed .messageFailIcon,
.wk-message-media-send-failed .messageFailIcon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
}

.wk-message-media-load-failed .messageFailIcon svg,
.wk-message-media-send-failed .messageFailIcon svg {
    width: 18px;
    height: 18px;
}

.wk-message-media-send-failed {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0;
    border: 0;
    border-radius: inherit;
    background: rgba(0, 0, 0, .58);
    color: #fff;
    font: inherit;
    font-size: 11px;
}

.wk-no-flex-gap .wk-message-media-send-failed > *:not(:last-child) {
    margin-bottom: 7px;
}

button.wk-message-media-send-failed { cursor: pointer; }


.wk-message-video-content {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
}

.wk-message-video-content-time {
    align-items: center;
    background-color: transparent;
    border-radius: 0;
    color: #fff;
    display: flex;
    font-size: 12px;
    height: auto;
    right: 7px;
    line-height: 1;
    padding: 0;
    position: absolute;
    bottom: 6px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .55);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: 2;
}

.wk-message-video-content-video img {
    border-radius: 7px;
    cursor: pointer;
}

.wk-message-video-play {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    translate: -50% -50%;
    color: #fff;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .55));
    pointer-events: none;
}

.wk-message-video-play svg {
    width: 32px;
    height: 32px;
    fill: currentColor;
}

.flexible-modal {
    position: absolute;
    z-index: 1;
    border: 1px solid #ccc;
    background: white;
  }
  .flexible-modal-mask {
    position: fixed;
    height: 100%;
    background: rgba(55, 55, 55, 0.6);
    top:0;
    left:0;
    right:0;
    bottom:0;
  }
  .flexible-modal-resizer {
    position:absolute;
    right:0;
    bottom:0;
    cursor:se-resize;
    margin:5px;
    border-bottom: solid 2px #333;
    border-right: solid 2px #333;
  }
  .flexible-modal-drag-area{
    background: rgba(22, 22, 333, 0.2);
    height: 50px;
    position:absolute;
    right:0;
    top:0;
    cursor:move;
  }

.icon-play::before {
    content: "";
    color: var(--wk-color-theme);
    font-size: 20px;
}

.icon-pause::before {
    content: "";
    font-size: 20px;
    color: var(--wk-color-theme);
}

.voicePlay {
    width: 48px;
    height: 48px;
    background-color: white;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    display: flex;
}

.wk-message-base-bubble-box.recv .voicePlay {
    background-color: var(--wk-color-secondary-2);
}

.voicePlay .icon-play {
    opacity: 1;
    transform: scale(1);
    transition: opacity .4s,transform .6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.voicePlay .icon-pause {
    opacity: 0;
    transform: scale(0.5);
}

.voicePlay i {
    position: absolute;
}

.voicePlaying .icon-pause {
    opacity: 1;
    transform: scale(1);
    transition: opacity .4s,transform .6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.voicePlaying .icon-play {
    opacity: 0;
    transform: scale(0.5);
}

.mediaLoading {
    position: absolute;
    cursor: pointer;
}

.voiceDownloading .icon-pause {
    opacity: 0;
    transform: scale(0.5);
}

.voiceDownloading .icon-play {
    opacity: 0;
    transform: scale(0.5);
}


.progressSpinner {
    width: auto;
    height: auto;
    background: transparent url(data:image/svg+xml;base64,PHN2ZyAgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjIzMTkiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PHBhdGggZD0iTTU2Mi4yODExNzMgNTEwLjgwMDY4NWwyOTQuOTk2NjY0LTI5My40NjY4MjFjMTMuOTQ5NzEtMTMuODc4MDc5IDE0LjAyMDMxOC0zNi4zNjcyNzkgMC4xNDIyNC01MC4zMTY5ODktMTMuOTEzODk0LTEzLjk4NDUwMy0zNi4zNjcyNzktMTQuMDIwMzE4LTUwLjMxNjk4OS0wLjE0MjI0TDUxMi4wMzQ3OTIgNDYwLjM3NzI3MiAyMTkuNTI4ODU1IDE2Ni45ODIwODJjLTEzLjg0MjI2My0xMy44NzgwNzktMzYuMzY3Mjc5LTEzLjk0OTcxLTUwLjMxNjk4OS0wLjA3MTYzMS0xMy45MTM4OTQgMTMuODc4MDc5LTEzLjk0ODY4NyAzNi40MDMwOTUtMC4wNzE2MzEgNTAuMzUyODA1TDQ2MS41NzY1ODcgNTEwLjU4NzgzNyAxNjYuNzIxMTM5IDgwMy44NzY2MDRjLTEzLjk0OTcxIDEzLjg3ODA3OS0xNC4wMjAzMTggMzYuMzY3Mjc5LTAuMTQyMjQgNTAuMzE2OTg5IDYuOTM5MDM5IDYuOTc0ODU1IDE2LjA4NDMyNyAxMC40OTcwNzUgMjUuMjI5NjE0IDEwLjQ5NzA3NSA5LjA3MzY1NiAwIDE4LjE0ODMzNS0zLjQ1MTYxMiAyNS4wODczNzUtMTAuMzU0ODM1bDI5NC45MjYwNTYtMjkzLjM2MDM5OCAyOTUuMTc0NzIgMjk2LjA2NDk5NmM2LjkzOTAzOSA2Ljk3NDg1NSAxNi4wNDg1MTEgMTAuNDYyMjgzIDI1LjE5Mzc5OSAxMC40NjIyODMgOS4xMDk0NzIgMCAxOC4xODQxNTEtMy40ODc0MjggMjUuMTIzMTktMTAuMzkwNjUxIDEzLjkxMzg5NC0xMy44NzgwNzkgMTMuOTQ5NzEtMzYuMzY3Mjc5IDAuMDcxNjMxLTUwLjMxNjk4OUw1NjIuMjgxMTczIDUxMC44MDA2ODV6IiAgZmlsbD0iIzJmNzBmNSI+PC9wYXRoPjwvc3ZnPg==) no-repeat 49% 49%;
}

.progressSpinner svg {
    display: block;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
    animation: 4s linear 0s infinite ProgressSpinnerAnimation;
}

.progressSpinner svg circle {
    transition: stroke-dashoffset .5s;
}

@keyframes ProgressSpinnerAnimation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
} 


.wk-message-voice {
    position: relative;
    width: 100%;
    height: auto;
    margin: -11px -13px;
    padding: 11px 13px;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.wk-message-voice-info {
    display: flex;
    flex-direction: column;
    margin-left: 10px;
}

.wk-message-voice-info-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.wk-no-flex-gap .wk-message-voice-info-status > *:not(:last-child) {
    margin-right: 12px;
}

.wk-message-voice-info-time {
    display: flex;
    font-size: 14px;
}

.wk-message-voice-duration-group {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
}

.wk-no-flex-gap .wk-message-voice-duration-group > *:not(:last-child) {
    margin-right: 6px;
}

.wk-message-voice-unread {
    display: block;
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fa5151;
    pointer-events: none;
}

.wk-message-voice-retry {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    margin-left: 8px;
    padding: 3px 6px;
    border: 0;
    border-radius: 10px;
    background: rgba(250, 81, 81, .12);
    color: #d93025;
    font-size: 11px;
    cursor: pointer;
}

.wk-no-flex-gap .wk-message-voice-retry > *:not(:last-child) {
    margin-right: 5px;
}

.wk-message-voice-retry .messageFailIcon {
    width: 17px;
    height: 17px;
    flex-basis: 17px;
}

.wk-message-voice-retry .messageFailIcon svg {
    width: 11px;
    height: 11px;
}

.wk-message-voice-info-tail {
    position: static;
    flex: 0 0 auto;
    margin-left: auto;
}

.wk-message-voice-waveform {
    position: relative;
    width: 100%;
    height: 100%;
}


.wk-message-voice-lightWavform {
    position: absolute;
    top: 0px;
    left: 0px;
    overflow: hidden;
    transition: width 100ms ease-in-out;
    width: 0%;
}

.wk-message-voice-playing-bars {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 3px;
    padding-left: 2px;
    background: inherit;
    pointer-events: none;
}

.wk-no-flex-gap .wk-message-voice-playing-bars > *:not(:last-child) {
    margin-right: 3px;
}

.wk-message-voice-playing-bars i {
    display: block;
    width: 3px;
    height: 8px;
    border-radius: 2px;
    background: var(--wk-color-theme);
    animation: wk-voice-bar-playing .7s ease-in-out infinite alternate;
    transform-origin: center;
}

.wk-message-voice-playing-bars.is-send i { background: #fff; }
.wk-message-voice-playing-bars i:nth-child(2) { animation-delay: -.18s; }
.wk-message-voice-playing-bars i:nth-child(3) { animation-delay: -.36s; }
.wk-message-voice-playing-bars i:nth-child(4) { animation-delay: -.54s; }

@keyframes wk-voice-bar-playing {
    from { transform: scaleY(.55); }
    to { transform: scaleY(1.8); }
}

@media (prefers-reduced-motion: reduce) {
    .wk-message-voice-playing-bars i {
        animation: none;
    }
    .wk-message-voice-playing-bars i:nth-child(2),
    .wk-message-voice-playing-bars i:nth-child(4) {
        height: 14px;
    }
}

/* Fixed all-message gallery: compact audio-lines icon + seconds bubble. */
.wk-message-voice {
    min-width: 138px;
    justify-content: flex-start;
    gap: 8px;
}

.voicePlay {
    box-sizing: border-box;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: currentColor;
    background: transparent;
}

.wk-message-base-bubble-box.recv .voicePlay {
    background: transparent;
}

.wk-message-voice-audio-lines {
    display: flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

.wk-no-flex-gap .wk-message-voice-audio-lines > *:not(:last-child) {
    margin-right: 2px;
}

.wk-message-voice-audio-lines i {
    position: static;
    display: block;
    width: 2px;
    border-radius: 2px;
    background: currentColor;
    opacity: .9;
}

.wk-message-voice-audio-lines i:nth-child(1) { height: 7px; }
.wk-message-voice-audio-lines i:nth-child(2) { height: 14px; }
.wk-message-voice-audio-lines i:nth-child(3) { height: 19px; }
.wk-message-voice-audio-lines i:nth-child(4) { height: 10px; }

.voicePlaying .wk-message-voice-audio-lines i {
    animation: wk-voice-bar-playing .7s ease-in-out infinite alternate;
}

.voicePlaying .wk-message-voice-audio-lines i:nth-child(2) { animation-delay: -.18s; }
.voicePlaying .wk-message-voice-audio-lines i:nth-child(3) { animation-delay: -.36s; }
.voicePlaying .wk-message-voice-audio-lines i:nth-child(4) { animation-delay: -.54s; }

.wk-message-voice-info {
    margin-left: 0;
    flex: 1 1;
    min-width: 0;
}

.wk-message-voice-info-time {
    min-width: 0;
    justify-content: flex-start;
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

.wk-message-voice-playing-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
    .voicePlaying .wk-message-voice-audio-lines i {
        animation: none;
    }
}

.mentions {
    margin: 1em 0;
  }
  
  .mentions--singleLine .mentions__control {
    display: inline-block;
    width: 130px;
  }
  .mentions--singleLine .mentions__highlighter {
    padding: 1px;
    border: 2px inset transparent;
  }
  .mentions--singleLine .mentions__input {
    padding: 1px;
    border: 2px inset;
  }
  
  .mentions--multiLine .mentions__control {
    font-family: monospace;
    font-size: 14pt;
  }
  .mentions--multiLine .mentions__highlighter {
    border: 1px solid transparent;
    padding: 9px;
    min-height: 63px;
  }
  .mentions--multiLine .mentions__input {
    border: 1px solid silver;
    padding: 9px;
    outline: 0;
  }
  
  .mentions__suggestions__list {
    background-color: white;
    border: 1px solid rgba(0, 0, 0, 0.15);
    font-size: 10pt;
    /* box-shadow: 15px 0px 15px -15px #eee, -15px 0px 15px -15px #eee; */
  }
  
  .mentions__suggestions__item {
    padding: 5px 15px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  }
  
  .mentions__suggestions__item--focused {
    background-color: #cee4e5;
  }
  
  .mentions__mention {
    position: relative;
    z-index: 1;
    color: var(--wk-color-theme);
    text-shadow: none;
    /* text-shadow: 1px 1px 1px white, 1px -1px 1px white, -1px 1px 1px white,
      -1px -1px 1px white; */
    /* text-decoration: underline; */
    pointer-events: none;
  }

.wk-messageinput-box {
    background: #fff;
    width: 100%;
    height: 100%;
    position: relative;

    box-shadow: 0.3rem -0.2rem 0.8rem 0.05rem rgb(114 114 114 / 5%);
    border-left: none;
}

body[theme-mode=dark] .wk-messageinput-box {
    background-color: var(--wk-color-secondary);
}

/* .wk-messageinput-box:hover {
     box-shadow: 0 0 10px rgb(0 0 0 / 15%)
} */

.wk-messageinput-inputbox {
    height: 77px;
    width: 100%;
    padding: 0px 15px 15px 15px;
    box-sizing: border-box;
}

.wk-messageinput-input {
    height: 100%;
    width: 100%;
    border: none;
    color: #333;
    font-size: 14px;
    overflow-y: scroll;
    display: inline-block;
    -webkit-user-modify: read-write-plaintext-only;
    outline: none;
}

body[theme-mode=dark] .wk-messageinput-input {
    color: white;
}

.wk-messageinput-input textarea {
    outline: none;
    border: none;
}

.wk-messageinput-input:empty:before {
        content: attr(data-placeholder);
        position: absolute;
        color: #a9a9a9;
}

.wk-messageinput-bar {
    height: 40px;
    width: 100%;
    display: flex;
    top: 0px;
}

.wk-messageinput-tabs {
    height: 100%;
    width: 50%;
}

.wk-messageinput-toolbar {
    height: 100%;
    width: 50%;
    display: flex;
    justify-content: space-between;
}

.wk-messageinput-actionbox {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    margin-left: 10px;
}

.wk-messageinput-actionitem {
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.wk-messageinput-sendbtn {
    height: 28px;
    width: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: linear-gradient(180deg,#92a2b1 4.39%,#7b8e9f 94.46%);
    border-radius: 2px;
    cursor: pointer;
}

.wk-messageinput-hasValue {
    background-color: var(--wk-color-theme);
}


.wk-messageinput-member {
    height: 100%;
    width: 100%;
    padding: 0 16px;
    align-items: center;
    box-sizing: border-box;
    display: flex;
}

.wk-messageinput-iconbox {
    margin-right: 8px;
}

.wk-messageinput-icon {
    width: 20px;
    height: 20px;
    border-radius: 3px;
}

.wk-messageinput-selected {
    color: #fff;
    /* background-color: #1264a3; */
}

.quickReplyPanel {
    position: absolute;
    box-shadow: 1px -1px 12px -2px rgb(0 0 0 / 28%);
    max-height: 400px;
    overflow-x: hidden;
    bottom: 0;
    background-color: white;
    width: 100%;
    border-radius: 4px;
}

    .quickReplyPanel ul {
        margin: 0;
        padding: 0;
    }

        .quickReplyPanel ul li {
            list-style-type: none;
            height: 60px;
            border-bottom: 1px solid rgba(9,30,66,.12);
            cursor: pointer;
        }

.quickReplyItem {
}

    .quickReplyItem :hover {
        background-color: #f4f5f7;
    }


.quickReplySelect {
    background-color: #5d657a !important;
    color: #fff !important;
}

.wk-messageinput-header {
}

.wk-messageinput-reply {
    margin: 10px 10px 0px 10px;
    background-color: #f5f6f7;
    display: flex;
    color: #8f959e;
    align-items: center;
}

.wk-messageinput-closeicon {
    margin: 0px 6px;
    cursor: pointer;
}

.wk-messageinput-replycontent {
    overflow: hidden;
    text-overflow: ellipsis;
    height: 22px;
}

.wk-messageinput-input__control {
    background-color: white;
}

body[theme-mode=dark]  .wk-messageinput-input__control {
    background-color: var(--wk-color-secondary-2);
}

.wk-messageinput-input__suggestions {
    background-color: var(--wk-color-item);
}

body[theme-mode=dark] .wk-messageinput-input__input {
    color: white;
}


.wk-contextmenus {
    position: fixed;
    top: 100px;
    left: 0px;
    background-color: white;
    z-index: 99;

    box-shadow: 0 0.25rem 0.5rem 0.125rem rgba(114,114,114,0.25098);
    border-radius: 0.75rem;
    transform: scale(0.5);
    transition: opacity .2s cubic-bezier(0.2, 0, 0.2, 1),transform .2s cubic-bezier(0.2, 0, 0.2, 1) !important;

    visibility: hidden;
    padding: 10px 0px;

    min-width: 80px;
    max-height: calc(100vh - 8px);
    overflow-y: auto;
    box-sizing: border-box;
}

body[theme-mode=dark]  .wk-contextmenus {
    background-color: var(--wk-color-secondary);
    box-shadow: 0 0.25rem 0.5rem 0.125rem rgba(0,0,0,0.6);
}

.wk-contextmenus-open {
    transform: scale(1);
    visibility: visible;
}

.wk-contextmenus ul {
    margin-top: 0;
    margin-bottom: 0;
}

.wk-contextmenus li {
    height: 40px;
    display: flex;
    align-items: center;
    padding: 10px;
    cursor: pointer;
}

body[theme-mode=dark]  .wk-contextmenus li {
    color: white;
}

.wk-contextmenus li:hover {
    background-color: #eee;
}

body[theme-mode=dark] .wk-contextmenus li:hover {
    background-color: var(--wk-color-secondary-2);
}

.wk-contextmenus-mask {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    visibility: hidden;
    z-index: 98;
}

/* ============================================================
 * Modern IM overrides (2026-04-25 UX audit)
 * 右键菜单：更柔的阴影/更紧凑的行高、150ms 过渡、
 * 删除类（文案含 "删除"/"退出"）自动变红。
 * ============================================================ */
.wk-contextmenus {
    min-width: 148px;
    padding: 4px 0;
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: opacity 0.15s cubic-bezier(0.2, 0, 0.2, 1),
                transform 0.15s cubic-bezier(0.2, 0, 0.2, 1) !important;
}
body[theme-mode="dark"] .wk-contextmenus {
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.6), 0 1px 3px rgba(0, 0, 0, 0.4);
}
.wk-contextmenus ul {
    padding-left: 0;
    list-style: none;
}
.wk-contextmenus li {
    height: 36px;
    padding: 0 14px;
    font-size: 14px;
    color: #111111;
    color: var(--wk-color-text, #111111);
    border-radius: 6px;
    margin: 1px 4px;
    transition: background-color 0.12s ease;
}
.wk-contextmenus li:hover {
    background-color: rgba(7, 193, 96, 0.08);
}
body[theme-mode="dark"] .wk-contextmenus li:hover {
    background-color: rgba(255, 255, 255, 0.08);
}
/* destructive 项目（包含 "删除"/"退出"/"解散"）变红 */
.wk-contextmenus li:has(> span:is([data-danger])),
.wk-contextmenus li.danger {
    color: #d14343;
}

.wk-conversationlist {
  height: 100%;
  overflow-y: auto;
  /* padding: 0px 5px; */
}

.wk-conversationlist-empty {
  min-height: 220px;
  padding: 56px 28px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--wk-color-font-tip);
  text-align: center;
}

.wk-conversationlist-empty-title {
  font-size: 18px;
  line-height: 26px;
  font-weight: 600;
  color: var(--wk-color-font);
}

.wk-conversationlist-empty-desc {
  margin-top: 8px;
  font-size: 13px;
  line-height: 20px;
}

body[theme-mode="dark"] .wk-conversationlist-empty-title {
  color: white;
}

.wk-conversationlist-item {
  height: 80px;
  width: 100%;
  cursor: pointer;
  padding: 0px 5px;
  background-color: white;
  box-sizing: border-box;
}

@media (max-width: 640px) {
  .wk-conversationlist-item { height: 90px; }
}

body[theme-mode="dark"] .wk-conversationlist-item {
  background-color: var(--wk-color-secondary-2);
}

.wk-conversationlist-item-top {
  background-color: var(--wk-color-secondary) !important;
}

.wk-conversationlist-item-content {
  display: flex;
  height: 100%;
}

.wk-conversationlist-item-left {
  width: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wk-conversationlist-item-right {
  height: 100%;
  width: calc(100% - 70px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 10px;
  padding-left: 5px;

  flex-grow: 1;
  overflow: hidden;
  box-sizing: border-box;
}

.wk-conversationlist-item-avatar-box {
  margin-left: 4px;
  position: relative;
}

.wk-conversationlist-item-right-first-line {
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.wk-conversationlist-item-right-second-line {
  display: flex;
}

.wk-conversationlist-item-name {
  display: flex;
  width: 100%;
  flex: 1 1;
  align-items: center;
}

.wk-conversationlist-item-name h3 {
  font-size: 1rem;
  line-height: 1.6875rem;
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: auto;
  max-width: 80%;
}

body[theme-mode="dark"] .wk-conversationlist-item-name h3 {
  color: white;
}

.wk-conversationlist-item-selected .wk-conversationlist-item-name h3,
.wk-conversationlist-item-selected .wk-conversationlist-item-name {
  color: white;
}

.wk-conversationlist-item-time {
  color: #9b9b9b;
  padding-left: 10px;
  flex-shrink: 0;
  font-size: 0.75rem;
  line-height: 1;
  display: flex;
  align-items: center;
  margin-left: auto;
}

.wk-conversationlist-item-selected .wk-conversationlist-item-time {
  color: white;
}

.wk-conversationlist-item-lastmsg {
  width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--wk-color-font-tip);
  overflow: hidden;
  font-size: 14px;
  min-height: 22px;
}

.wk-conversationlist-item-selected .wk-conversationlist-item-lastmsg {
  color: white;
}

.wk-conversationlist-item-selected {
  background-color: var(--wk-color-theme);
  border-radius: 10px;
}

.wk-mention {
  color: red;
}

.wk-reminder {
  color: red;
}

.wk-onlinestatusbadge {
  background-color: var(--wk-color-item);
  position: absolute;
  padding: 1.5px;
  transform: scale(0.6);
  right: -10px;
  bottom: -5px;
  border-radius: 10px;
}
.wk-onlinestatusbadge-empty.wk-onlinestatusbadge {
  border-radius: 50%;
  right: -1px;
  bottom: -1px;
}

.wk-onlinestatusbadge-content {
  background-color: rgb(238, 249, 233);
  padding: 0px 5px;
  border-radius: 10px;
}
.wk-onlinestatusbadge-content-tip {
  padding: 0px;
  font-size: 14px;
  color: rgb(124, 208, 83);
}

.wk-onlinestatusbadge-empty .wk-onlinestatusbadge-content {
  background-color: rgb(124, 208, 83);
  border-radius: 50%;
  padding: 0px;
}

.wk-onlinestatusbadge-empty .wk-onlinestatusbadge-content-tip {
  padding: 8px;
}

/* ============================================================
 * Modern IM overrides (2026-04-25 UX audit)
 * 会话列表选中态：从"实心橙+白字"换成"浅灰底+左侧主题条"，
 * 和微信/Telegram 桌面版对齐，长时间浏览不刺眼。
 * 注：selected 类实际挂在 .wk-conversationlist-item-content 上（内层 div），
 * 所以覆盖选择器用 .wk-conversationlist-item-selected 而不是外层。
 * DOM/类名保持不变，只追加覆盖规则。
 * ============================================================ */
.wk-conversationlist-item {
  transition: background-color 0.15s ease;
  position: relative;
}
.wk-conversationlist-item:hover .wk-conversationlist-item-content:not(.wk-conversationlist-item-selected) {
  background-color: #f5f6f7;
}
body[theme-mode="dark"] .wk-conversationlist-item:hover .wk-conversationlist-item-content:not(.wk-conversationlist-item-selected) {
  background-color: rgba(255, 255, 255, 0.04);
}
.wk-conversationlist-item-content.wk-conversationlist-item-selected {
  background-color: #ebecee !important;
  border-radius: 0 !important;
  position: relative;
}
body[theme-mode="dark"] .wk-conversationlist-item-content.wk-conversationlist-item-selected {
  background-color: rgba(255, 255, 255, 0.08) !important;
}
/* 选中时左侧主题色竖条，替代整行变色 */
.wk-conversationlist-item-content.wk-conversationlist-item-selected::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background-color: #07C160;
  background-color: var(--wk-color-theme, #07C160);
  border-radius: 0 2px 2px 0;
}
/* 选中态下文字/时间/最后消息恢复正常配色，不再全白 */
.wk-conversationlist-item-content.wk-conversationlist-item-selected .wk-conversationlist-item-name h3,
.wk-conversationlist-item-content.wk-conversationlist-item-selected .wk-conversationlist-item-name {
  color: inherit !important;
}
.wk-conversationlist-item-content.wk-conversationlist-item-selected .wk-conversationlist-item-time {
  color: #9b9b9b !important;
}
.wk-conversationlist-item-content.wk-conversationlist-item-selected .wk-conversationlist-item-lastmsg {
  color: var(--wk-color-font-tip) !important;
}
body[theme-mode="dark"] .wk-conversationlist-item-content.wk-conversationlist-item-selected .wk-conversationlist-item-name h3 {
  color: white !important;
}

/* 2026-05-22 P1 — 群治理系统消息富文本灰条样式 */

/* 整条消息行：复用 .wk-message-system 的灰色居中、white-space pre-line */
.wk-message-gov {
  word-break: break-word;
}

/* actor 占位段（默认蓝色高亮可点） */
.wk-gov-actor {
  color: #1677ff;
  cursor: default;
  text-decoration: none;
  margin: 0;
}

/* 角色前缀 — 默认（管理员/水军）橙色 #FF9500，群主红 #FF3B30，不可点 */
.wk-gov-role-prefix {
  color: #ff9500;
  cursor: default;
  margin-right: 2px;
}
.wk-gov-role-prefix-owner {
  color: #ff3b30;
}

body[theme-mode=dark] .wk-gov-role-prefix {
  color: #ffac3a;
}
body[theme-mode=dark] .wk-gov-role-prefix-owner {
  color: #ff5b50;
}

/* 可点击 actor — 鼠标变指针 + hover 下划线 */
.wk-gov-actor-clickable {
  cursor: pointer;
}
.wk-gov-actor-clickable:hover {
  text-decoration: underline;
}

/* 不可点击 actor（超级管理员 / 已注销 / 群管理员 fallback）— 灰色 */
.wk-gov-actor-disabled {
  color: #999;
  cursor: default;
}

body[theme-mode=dark] .wk-gov-actor {
  color: #6aa9ff;
}
body[theme-mode=dark] .wk-gov-actor-disabled {
  color: #888;
}

.wk-chat {
    width: 100%;
    height: 100%;
}

.wk-chat-content {
    display: flex;
    width: 100%;
    height: 100%;
}

.wk-chat-content-left {
    width: var(--wk-wdith-conversation-list);
    height: 100%;
    border-right: var(--wk-line);
}

.wk-chat-search {
    height: var(--wk-height-chat-search);
    width: 100%;
    padding: 0px 20px 0px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.wk-chat-search-add {
    padding: 5px;
    cursor: pointer;
    color: black;
}

body[theme-mode=dark] .wk-chat-search-add  {
    color: white;
}

.wk-chat-title {
    width: 250px;
    font-size: 24px;
    font-weight: 500;
}

body[theme-mode=dark] .wk-chat-title {
    color: white;
}

.wk-chat-conversation-list {
    width: 100%;
    height: calc(100% - var(--wk-height-chat-search));
}

.wk-chat-content-right {
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
}

@media screen and (max-width: 640px)  {
    .wk-chat-content-right {
        width: 100%;
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        transform: translate3d(0, 0, 0);
        transition: transform var(--wk-layer-transition);
    }

   .wk-chat-content:not(.wk-conversation-open) .wk-chat-content-right {
        transform: translate3d(100vw, 0, 0);
    }

    .wk-chat-content-left {
        width: 100%;
    }

    .wk-chat-conversation-header-back {
        display: flex !important;
    }
}

.wk-chat-content-chat {
    width: 100%;
    height: 100%;
    transition: width 150ms ease-in-out 0s;
}

.wk-chat-content-right.wk-chat-channelsetting-open .wk-chat-content-chat {
    width: calc(100% - var(--wk-wdith-chat-channelsetting));
}

.wk-chat-conversation {
    width: 100%;
    height: calc(100% - var(--wk-height-chat-conversation-header));
}


.wk-chat-empty {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: var(--wk-color-secondary);
}

.wk-chat-empty img {
    height: 340px;
    transform: scale(1.14);
}

.wk-chat-conversation-header {
    height: var(--wk-height-chat-conversation-header);
    width: 100%;
    background-color: white;
    display: flex;
    align-items: center;
    box-shadow: 0 1px 1px rgba(114,114,114,0.168627);
    z-index: 11;
    padding: 0.5rem 0.8125rem 0.5rem 1.5rem;
    position: relative;
    cursor: pointer;
    box-sizing: border-box;
}

body[theme-mode=dark] .wk-chat-conversation-header {
    background-color: var(--wk-color-secondary);
}

.wk-chat-conversation-header-left {
    display: flex;
    align-items: center;
}

.wk-chat-conversation-header-back {
    width: 40px;
    height: 40px;
    display: none;
    position: relative;
    justify-content: center;
    align-items: center;
}

.wk-chat-conversation-header-back-icon {
    position: absolute;
    /* transform: rotate(-45deg); */
    transform: rotate(180deg);
}

.wk-chat-conversation-header-back-icon::before, .wk-chat-conversation-header-back-icon::after {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
}

.wk-chat-conversation-header-back-icon::after {
    transform: rotate(-45deg) scaleX(0.75) translate(0, 0.375rem);
}

.wk-chat-conversation-header-back-icon::before {
    transform: rotate(45deg) scaleX(0.75) translate(0, -0.375rem);
}

.wk-chat-conversation-header-back-icon, .wk-chat-conversation-header-back-icon::before, .wk-chat-conversation-header-back-icon::after {
    width: 1.125rem;
    height: 0.125rem;
    border-radius: 0.125rem;
    background-color: rgb(112,117,121);
    transition: transform var(--wk-slide-transition);
}


.wk-chat-conversation-header-channel {
    display: flex;
}

.wk-chat-conversation-header-channel-avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.wk-chat-conversation-header-channel-avatar img.wk-avatar--group {
    border-radius: 10px;
}

.wk-chat-conversation-header-channel-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.wk-chat-conversation-header-channel-info-name {
    margin-left: 10px;
    font-size: 14px;
    font-weight: 600;
}

body[theme-mode=dark] .wk-chat-conversation-header-channel-info-name  {
    color: white;
}

.wk-chat-conversation-header-channel-info-tip {
    margin-left: 10px;
    margin-top: 2px;
    min-height: 16px;
    font-size: 12px;
    line-height: 16px;
    color: #7a7a7a;
}

body[theme-mode=dark] .wk-chat-conversation-header-channel-info-tip {
    color: rgba(255, 255, 255, 0.62);
}

.wk-chat-conversation-header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.wk-chat-conversation-header-right {
    display: flex;
    align-items: center;
}

.wk-chat-conversation-header-right  div {
    margin-right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

.wk-chat-conversation-header-right div:last-child {
    margin-right: 0px;
}

.wk-chat-conversation-header-setting {
    display: flex;
    align-items: center;
}

.wk-chat-channelsetting {
    pointer-events: auto;
    width: var(--wk-wdith-chat-channelsetting);
    height: 100%;
    transition: margin-right 150ms ease-in-out 0s;
    position: absolute;
    z-index: 99;
    top: 0;
    right: 0;
    border-left: var(--wk-line);
    margin-right: calc( 0px - var(--wk-wdith-chat-channelsetting));
    background-color: var(--wk-color-secondary);

    box-shadow: 0 .25rem .5rem .125rem rgba(114,114,114,0.25098);
    border-left: none;
}


body[theme-mode=dark] .wk-chat-channelsetting  {
    box-shadow: 0 .25rem .5rem .125rem rgba(0,0,0,0.25098);
}



.wk-chat-content-right.wk-chat-channelsetting-open .wk-chat-content-chat {
    width: 100%;
}

.wk-chat-content-right.wk-chat-channelsetting-open .wk-chat-channelsetting {
    margin-right: 0px;
}

.wk-chat-conversation-list-loading {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.wk-chatmenuspopover {
    width: 100%;
    height: 100%;
}

.wk-chatmenuspopover ul {
    margin-bottom: 0px;
    width: 100%;
    height: 100%;
}

body[theme-mode=dark] .wk-chat-popover {
    background-color: var(--wk-color-secondary);
    color: white;
    --color-popover-bg-default: red
}

.wk-chatmenuspopover li {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 10px;
}

.wk-chatmenuspopover li:first-child {
    margin-top: 0px;
}

.wk-chatmenuspopover li img {
    width: 20px;
    height: 20px;
    color: white;
}

.wk-chatmenuspopover-title {
    margin-left: 10px;
    font-size: 14px;
}

.wk-chat-conversation-header-right-item {
    position: relative;
}

.wk-conversation-header-mask {
    background-color: rgb(0,0,0,0.0);
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    border-radius: 100%;
}

.wk-conversation-header-mask:hover {
    background-color: rgb(0,0,0,0.1);
}
.wk-chat-conversation-list-error { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 12px; background:#fff7e6; color:#8a5a00; font-size:12px; line-height:18px; }
.wk-no-flex-gap .wk-chat-conversation-list-error > *:not(:last-child) {
    margin-right: 8px; }
.wk-chat-conversation-list-error button { flex:none; border:0; background:transparent; color:var(--wk-color-theme); font:inherit; cursor:pointer; padding:2px 4px; }

.wk-sections {
    
}

.wk-section {
  margin-top: 10px;
}

.wk-section:first-child {
  margin-top: 0px;
}

.wk-section-rows {

}

.wk-section-title {
  padding: 5px 15px;
  color: var( --wk-color-font-tip);
  font-size: 13px;
}

.wk-section-row {

}

.wk-section-subtitle {
  padding: 5px 15px;
  color: var( --wk-color-font-tip);
  font-size: 13px;
}


:root {
    --wk-channelsetting-header: 56px;
}

.wk-channelsetting {
    width: 100%;
    height: 100%;
    background-color: var(--wk-color-secondary);
}

.wk-channelsetting-header {
    width: 100%;
    height: 56px;
    height: var(--wk-channelsetting-header);
    padding: 0.5rem 0.8125rem;
    display: flex;
    align-items: center;
}

.wk-channelsetting-close {
    width: 44px;
    height: 44px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 50%;
}

.wk-channelsetting-close:hover {
    background-color: rgb(112,117,121,0.08);
}

.wk-channelsetting-close-icon {
    position: absolute;
    transform: rotate(-45deg);
}

.wk-channelsetting-close-icon,.wk-channelsetting-close-icon::before,.wk-channelsetting-close-icon::after {
    width: 1.125rem;
    height: 0.125rem;
    border-radius: 0.125rem;
    background-color: rgb(112,117,121);
    transition: transform 300ms cubic-bezier(0.25, 1, 0.5, 1);
}

.wk-channelsetting-close-icon::before {
    transform: rotate(90deg);
}

.wk-channelsetting-close-icon::before ,.wk-channelsetting-close-icon::after {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
}

.wk-state-back {
    transform: rotate(180deg);
}

.wk-state-back::before {
    transform: rotate(45deg) scaleX(0.75) translate(0, -0.375rem);
}

.wk-state-back::after {
    transform: rotate(-45deg) scaleX(0.75) translate(0, 0.375rem);
}




.wk-channelsetting-box {
    width: 100%;
    height: calc(100% - 56px);
    height: calc(100% - var(--wk-channelsetting-header));
    overflow: hidden;
    position: relative;
}

.wk-channelsetting-content {
    width: 100%;
    height: 100%;
    overflow: auto;
    padding-bottom: 40px;
}

.wk-channelsetting-channel-info {
    display: flex;
    align-items: center;
    padding: 15px;
    background-color: white;

}

.wk-channelsetting-avatar {
    /* 高宽比率 */
    width: 64px;
    height: 64px; 
    position: relative;
}

.wk-channelsetting-avatar img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50%;
}

.wk-channelsetting-name {
    color: var(--wk-color-theme);
    font-size: 16px;
    font-weight: 600;
    margin-left: 10px;
    font-weight: 500px;
}


.wk-channelsetting-header-title-box {
    color: #999;
   display: flex;
    align-items: center;
    height: 100%;
    position: relative;
    flex: 1 1;
}

.wk-channelsetting-header-title-box-open {

}

.wk-channelsetting-header-title {
    font-size: 18px;
    font-weight: 500;
    margin-left: 1.375rem;
    color: black;
}

.wk-channelsetting-header-title-box-open .wk-channelsetting-header-title{
    display: none;
}

.wk-channelsetting-header-title-route {
    font-size: 18px;
    font-weight: 500;
    margin-left: 1.375rem;
    color: black;
    position: absolute;

    transform: translate3d(100vw, 0, 0);
    transition: transform var(--wk-layer-transition);
    width: 240px;

}

.wk-channelsetting-header-title-box-open .wk-channelsetting-header-title-route {
    transform: translate3d(0, 0, 0);
}



.wk-channelsetting-route {
    width: 100%;
    height: 100%;
    background-color: var(--wk-color-secondary);
    position: absolute;
    top: 0px;
    overflow: hidden;
    transform: translate3d(100vw, 0, 0);
    transition: transform var(--wk-layer-transition);
}

.wk-channelsetting-route-open {
    transform: translate3d(0, 0, 0);
}

.wk-channelsetting-route-content {
    width: 100%;
    height: 100%;
}

.wk-channelsetting-header-right-view {
    opacity: 0;
    transition: opacity 500ms ease-out;
}

.wk-channelsetting-header-right-view-open {
    opacity: 1;
}

.wk-channelsetting-content-loading {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
}

.wk-channelmanage {
    width: 100%;
    height: 100%;
    overflow-y: auto;
}

.wk-route {
    width: 100%;
    height: 100%;
    --wk-height-route-header: 56px;
}

.wk-route-header {
    width: 100%;
    height: var(--wk-height-route-header);
    padding: 0.5rem 0.8125rem;
    display: flex;
    align-items: center;
    background-color: var(--wk-color-secondary);
}

.wk-route-box {
    width: 100%;
    height: calc(100% - var(--wk-height-route-header));
    position: relative;
}

.wk-route-content {
    width: 100%;
    height: 100%;
    background-color: var(--wk-color-secondary);
    position: relative;
    /* opacity: 1; */
    /* transition: opacity 150ms ease-in 0s; */
}

.wk-route-content-route {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    transform: translate3d(100vw, 0, 0);
    transition: transform var(--wk-layer-transition);
}

.wk-route-content-next {
   width: 100%;
   height: 100%;
   background-color: var(--wk-color-secondary);
   overflow: auto;
   /* transition: opacity 350ms ease-in 0s; */
}

.wk-route-header-close {
    width: 44px;
    height: 44px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 50%;
}

.wk-route-header-close:hover {
    background-color: rgb(112,117,121,0.08);
}

.wk-route-header-close-icon {
    position: absolute;
    transform: rotate(-45deg);
}

.wk-route-header-close-icon,.wk-route-header-close-icon::before,.wk-route-header-close-icon::after {
    width: 1.125rem;
    height: 0.125rem;
    border-radius: 0.125rem;
    background-color: rgb(112,117,121);
    transition: transform 300ms cubic-bezier(0.25, 1, 0.5, 1);
}

.wk-route-header-close-icon::before {
    transform: rotate(90deg);
}

.wk-route-header-close-icon::before ,.wk-route-header-close-icon::after {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
}


.wk-state-back {
    transform: rotate(180deg);
}

.wk-state-back::before {
    transform: rotate(45deg) scaleX(0.75) translate(0, -0.375rem);
}

.wk-state-back::after {
    transform: rotate(-45deg) scaleX(0.75) translate(0, 0.375rem);
}




.wk-route-header-title-box {
    color: #999;
   display: flex;
    align-items: center;
    height: 100%;
    position: relative;
    flex: 1 1;
}

.wk-route-header-title-box-open {

}

.wk-route-header-title {
    font-size: 18px;
    font-weight: 500;
    margin-left: 1.375rem;
    color: black;
}

body[theme-mode=dark]  .wk-route-header-title {
    color: white;
}


.wk-route-header-title-box-open .wk-route-header-title{
    display: none;
}

.wk-route-header-title-next {
    font-size: 18px;
    font-weight: 500;
    margin-left: 1.375rem;
    color: black;
    position: absolute;
    opacity: 0;
    transform: translate3d(100vw, 0, 0);
    transition: transform var(--wk-layer-transition),opacity 500ms ease-in 0s;
    width: 180px;

}

body[theme-mode=dark] .wk-route-header-title-next {
    color: white;
}

.wk-route-header-title-box-open .wk-route-header-title-next {
    transform: translate3d(0, 0, 0);
    opacity:1;
}

.wk-route-content-route-open .wk-route-content {
    /* opacity: 0; */
}

.wk-route-content-route-open .wk-route-content-route {
    transform: translate3d(0, 0, 0);
}

.wk-route-content-route-open .wk-route-content-next {
    /* opacity: 1; */
}


.wk-route-header-right-view {
    opacity: 0;
    transition: opacity 500ms ease-out;
}

.wk-route-header-right-view-open {
    opacity: 1;
}





.wk-viewqueue {
    width: 100%;
    height: 100%;
    position: relative;
}

.wk-viewqueue-route {
    width: 100%;
    height: 100%;
    position: relative;
}

.wk-viewqueue-view{
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: var(--wk-color-secondary);
    transition: transform var(--wk-layer-transition);
    overflow: hidden;
    /* 2026-06-02 fix 子页面 z-index 穿透：每个 view 自成 stacking context，
       否则前一页里 z-index>0 的元素（譬如 WKAvatar 的 VIP 角标）会盖到后入页面上。 */
    z-index: 0;
    isolation: isolate;
}

.wk-viewqueue-view-in {

    animation: routeAnimationIn 0.25s;
    -webkit-animation: routeAnimationIn 0.25s; /* Safari 与 Chrome */
}

.wk-viewqueue-view-out {
    animation: routeAnimationOut 0.5s;
    -webkit-animation: routeAnimationOut 0.5s; /* Safari 与 Chrome */
}

@keyframes routeAnimationOut {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(100vw, 0, 0);
    }
}

@keyframes routeAnimationIn {
    from {
        transform: translate3d(100vw, 0, 0);
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

.wk-item-message {
    display: flex;
    align-items: center;
    padding: 10px;
    border-radius: 4px;
    cursor: pointer;

}

.wk-item-message:hover {
    background-color: #f0f0f0; /* Change this color to your desired hover color */
}
body[theme-mode=dark] .wk-item-message:hover {
    background-color: #333333; /* Change this color to your desired hover color */
}

.wk-item-message-content {
    display: grid;
    grid-template-columns: 1fr; /* 两列，左边自适应，右边自动宽度 */
    grid-template-rows: auto auto; /* 两行 */
    grid-gap: 0px;
    gap: 0px; 
    min-width: 200px;
    max-width: 420px;
    width: calc(100% - 55px);

}

.wk-item-message-name-row {
    margin-left: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.wk-no-flex-gap .wk-item-message-name-row > *:not(:last-child) {
    margin-right: 12px;
}

.wk-item-message-name {
    color: #333;
    font-size: 14px;
    font-weight: 500;
    grid-column: 1 / 2; /* 第一列 */
    grid-row: 1 / 2; /* 第一行 */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body[theme-mode=dark] .wk-item-message-name {
    color: white;
}

.wk-item-message-time {
    color: #999;
    font-size: 12px;
    flex-shrink: 0;
}

body[theme-mode=dark] .wk-item-message-time {
    color: #b3b3b3;
}


.wk-item-message-digest {
    margin-left: 15px;
    color: #999;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
}

mark {
    background-color: transparent; /* 移除默认背景色 */
    color: var(--wk-color-theme); /* 设置文本颜色为红色，可以根据需要更改 */
}



.wk-tab-all {
    width: 100%;
    height: 50vh;
    display: flex;
    overflow: auto;
    flex-direction: column;
}

.wk-tab-all-empty {
    color: #999;
    font-size: 14px;
    padding: 32px 16px;
    text-align: center;
}

/* WanxiangIM shared design contract.
 * All Web, Hybrid and embedded native-WebView business surfaces consume these
 * semantic tokens and primitives.  Product pages own layout only; color,
 * spacing, feedback and overlay treatment stay here. */
:root {
  color-scheme: light;
  --wk-ui-primary: #07c160;
  --wk-ui-primary-press: #06ad56;
  --wk-ui-primary-active: #059b4d;
  --wk-ui-primary-soft: #e8f7ee;
  --wk-ui-danger: #fa5151;
  --wk-ui-danger-press: #e2453b;
  --wk-ui-danger-soft: #ffebeb;
  --wk-ui-warning: #b67a13;
  --wk-ui-warning-soft: #fff3d8;
  --wk-ui-success: #18a957;
  --wk-ui-bg: #ededed;
  --wk-ui-surface: #ffffff;
  --wk-ui-surface-subtle: #f5f5f5;
  --wk-ui-text-1: #111111;
  --wk-ui-text-2: #7f7f7f;
  --wk-ui-text-3: #b2b2b2;
  --wk-ui-line: #e5e5e5;
  --wk-ui-mask: rgba(0, 0, 0, 0.42);
  --wk-ui-font-overlay-caption: 12px;
  --wk-ui-font-overlay-body: 15px;
  --wk-ui-font-overlay-action: 17px;
  --wk-ui-font-overlay-title: 17px;
  --wk-ui-font-nav-title: 18px;

  --wk-ui-call-bg: #101114;
  --wk-ui-call-surface: #1c1d20;
  --wk-ui-call-surface-raised: #2b2b31;
  --wk-ui-call-tile: #18181c;
  --wk-ui-call-text: #ffffff;
  --wk-ui-call-text-2: rgba(255, 255, 255, 0.72);
  --wk-ui-call-control: rgba(255, 255, 255, 0.14);
  --wk-ui-call-control-press: rgba(255, 255, 255, 0.22);

  --wk-ui-space-1: 4px;
  --wk-ui-space-2: 8px;
  --wk-ui-space-3: 12px;
  --wk-ui-space-4: 16px;
  --wk-ui-space-5: 20px;
  --wk-ui-space-6: 24px;
  --wk-ui-radius-control: 8px;
  --wk-ui-radius-card: 12px;
  --wk-ui-radius-modal: 14px;
  --wk-ui-radius-sheet: 18px;
  --wk-ui-radius-pill: 999px;
  --wk-ui-shadow-card: 0 8px 28px rgba(0, 0, 0, 0.12);
  --wk-ui-shadow-modal: 0 18px 56px rgba(0, 0, 0, 0.28);
  --wk-ui-nav-h: 52px;
  --wk-ui-control-h: 44px;
  --wk-ui-touch: 44px;
  --wk-ui-safe-top: env(safe-area-inset-top, 0px);
  --wk-ui-safe-right: env(safe-area-inset-right, 0px);
  --wk-ui-safe-bottom: env(safe-area-inset-bottom, 0px);
  --wk-ui-safe-left: env(safe-area-inset-left, 0px);
  --wk-ui-ease: 180ms cubic-bezier(0.2, 0, 0, 1);
  --wk-ui-layer-content: 0;
  --wk-ui-layer-chrome: 100;
  --wk-ui-layer-popover: 1000;
  --wk-ui-layer-floating: 9997;
  --wk-ui-layer-modal: 100040;
  --wk-ui-layer-toast: 100100;
  --wk-ui-layer-bootstrap: 2147483647;

  --semi-color-primary: var(--wk-ui-primary);
  --semi-color-primary-hover: var(--wk-ui-primary-press);
  --semi-color-primary-active: var(--wk-ui-primary-active);
}

body[theme-mode="dark"] {
  color-scheme: dark;
  --wk-ui-primary-soft: #173c28;
  --wk-ui-bg: #111111;
  --wk-ui-surface: #191919;
  --wk-ui-surface-subtle: #202020;
  --wk-ui-text-1: #f5f5f5;
  --wk-ui-text-2: #a3a3a3;
  --wk-ui-text-3: #737373;
  --wk-ui-line: rgba(255, 255, 255, 0.1);
  --wk-ui-mask: rgba(0, 0, 0, 0.58);
}

.wk-ui-press {
  -webkit-tap-highlight-color: transparent;
  transition: background-color 180ms cubic-bezier(0.2, 0, 0, 1), color 180ms cubic-bezier(0.2, 0, 0, 1),
    opacity 100ms ease, transform 100ms ease;
  transition: background-color var(--wk-ui-ease), color var(--wk-ui-ease),
    opacity 100ms ease, transform 100ms ease;
}
.wk-ui-press:active:not(:disabled) { opacity: 0.72; transform: scale(0.98); }
.wk-ui-press:focus-visible { outline: 2px solid #07c160; outline: 2px solid var(--wk-ui-primary); outline-offset: 2px; }

.wk-ui-button {
  min-height: 44px;
  min-height: var(--wk-ui-control-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  gap: var(--wk-ui-space-2);
  padding: 0 16px;
  padding: 0 var(--wk-ui-space-4);
  border: 0;
  border-radius: 8px;
  border-radius: var(--wk-ui-radius-control);
  color: #111111;
  color: var(--wk-ui-text-1);
  background: #f5f5f5;
  background: var(--wk-ui-surface-subtle);
  font: inherit;
  cursor: pointer;
}

.wk-no-flex-gap .wk-ui-button > *:not(:last-child) {
  margin-right: var(--wk-ui-space-2);
}
.wk-ui-button.is-primary { color: #fff; background: #07c160; background: var(--wk-ui-primary); }
.wk-ui-button.is-primary:hover { background: #06ad56; background: var(--wk-ui-primary-press); }
.wk-ui-button.is-danger { color: #fff; background: #fa5151; background: var(--wk-ui-danger); }
.wk-ui-button.is-danger:hover { background: #e2453b; background: var(--wk-ui-danger-press); }
.wk-ui-button:disabled { opacity: 0.45; cursor: default; }

.wk-ui-input {
  min-width: 0;
  min-height: 36px;
  padding: 0 12px;
  padding: 0 var(--wk-ui-space-3);
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-ui-line);
  border-radius: 8px;
  border-radius: var(--wk-ui-radius-control);
  outline: none;
  color: #111111;
  color: var(--wk-ui-text-1);
  background: #f5f5f5;
  background: var(--wk-ui-surface-subtle);
  font: inherit;
}
.wk-ui-input::-moz-placeholder { color: #b2b2b2; color: var(--wk-ui-text-3); }
.wk-ui-input::placeholder { color: #b2b2b2; color: var(--wk-ui-text-3); }
.wk-ui-input:focus { border-color: #07c160; border-color: var(--wk-ui-primary); background: #ffffff; background: var(--wk-ui-surface); }

.wk-ui-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 100040;
  z-index: var(--wk-ui-layer-modal);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(20px, env(safe-area-inset-top, 0px))
    max(16px, env(safe-area-inset-right, 0px))
    max(20px, env(safe-area-inset-bottom, 0px))
    max(16px, env(safe-area-inset-left, 0px));
  padding: max(var(--wk-ui-space-5), var(--wk-ui-safe-top))
    max(var(--wk-ui-space-4), var(--wk-ui-safe-right))
    max(var(--wk-ui-space-5), var(--wk-ui-safe-bottom))
    max(var(--wk-ui-space-4), var(--wk-ui-safe-left));
  background: rgba(0, 0, 0, 0.42);
  background: var(--wk-ui-mask);
}
.wk-ui-modal-card {
  width: min(520px, 100%);
  max-height: min(620px, calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 40px));
  max-height: min(620px, calc(100dvh - var(--wk-ui-safe-top) - var(--wk-ui-safe-bottom) - 40px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 14px;
  border-radius: var(--wk-ui-radius-modal);
  color: #111111;
  color: var(--wk-ui-text-1);
  background: #ffffff;
  background: var(--wk-ui-surface);
  box-shadow: 0 18px 56px rgba(0, 0, 0, 0.28);
  box-shadow: var(--wk-ui-shadow-modal);
  animation: wk-ui-modal-in 180ms cubic-bezier(0.2, 0, 0, 1);
  animation: wk-ui-modal-in var(--wk-ui-ease);
}
@keyframes wk-ui-modal-in {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}
.wk-ui-modal-header {
  min-height: 52px;
  min-height: var(--wk-ui-nav-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  gap: var(--wk-ui-space-3);
  padding: 0 16px;
  padding: 0 var(--wk-ui-space-4);
  border-bottom: 1px solid #e5e5e5;
  border-bottom: 1px solid var(--wk-ui-line);
  font-size: 17px;
  font-size: var(--wk-ui-font-overlay-title);
  font-weight: 600;
}
.wk-no-flex-gap .wk-ui-modal-header > *:not(:last-child) {
  margin-right: var(--wk-ui-space-3);
}
.wk-ui-modal-close {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #7f7f7f;
  color: var(--wk-ui-text-2);
  background: #f5f5f5;
  background: var(--wk-ui-surface-subtle);
  font: inherit;
  font-size: 22px;
  cursor: pointer;
}

.wk-ui-bottom-sheet {
  width: min(520px, 100%);
  max-height: min(70dvh, 620px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  border-radius: var(--wk-ui-radius-sheet) var(--wk-ui-radius-sheet) 0 0;
  color: #111111;
  color: var(--wk-ui-text-1);
  background: #f5f5f5;
  background: var(--wk-ui-surface-subtle);
  box-shadow: 0 18px 56px rgba(0, 0, 0, 0.28);
  box-shadow: var(--wk-ui-shadow-modal);
}
.wk-ui-list-cell {
  min-height: 56px;
  display: flex;
  align-items: center;
  gap: 12px;
  gap: var(--wk-ui-space-3);
  padding: 8px 16px;
  padding: var(--wk-ui-space-2) var(--wk-ui-space-4);
  border-bottom: 1px solid #e5e5e5;
  border-bottom: 1px solid var(--wk-ui-line);
  color: #111111;
  color: var(--wk-ui-text-1);
  background: #ffffff;
  background: var(--wk-ui-surface);
}
.wk-no-flex-gap .wk-ui-list-cell > *:not(:last-child) {
  margin-right: var(--wk-ui-space-3);
}

.wk-ui-status {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 2px 8px;
  padding: 2px var(--wk-ui-space-2);
  border-radius: 999px;
  border-radius: var(--wk-ui-radius-pill);
  color: #7f7f7f;
  color: var(--wk-ui-text-2);
  background: #f5f5f5;
  background: var(--wk-ui-surface-subtle);
  font-size: 11px;
  line-height: 1.5;
  white-space: nowrap;
}
.wk-ui-status.is-pending { color: #b67a13; color: var(--wk-ui-warning); background: #fff3d8; background: var(--wk-ui-warning-soft); }
.wk-ui-status.is-error { color: #fa5151; color: var(--wk-ui-danger); background: #ffebeb; background: var(--wk-ui-danger-soft); }
.wk-ui-status.is-success { color: #18a957; color: var(--wk-ui-success); background: #e8f7ee; background: var(--wk-ui-primary-soft); }

.wk-ui-empty,
.wk-ui-loading,
.wk-ui-error {
  min-height: 96px;
  display: grid;
  place-items: center;
  padding: 20px;
  padding: var(--wk-ui-space-5);
  color: #7f7f7f;
  color: var(--wk-ui-text-2);
  text-align: center;
}
.wk-ui-error { color: #fa5151; color: var(--wk-ui-danger); }
.wk-ui-toast {
  max-width: min(80vw, 360px);
  padding: 10px 14px;
  border-radius: 8px;
  border-radius: var(--wk-ui-radius-control);
  color: #fff;
  background: rgba(17, 17, 17, 0.88);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
  box-shadow: var(--wk-ui-shadow-card);
}

@media (max-width: 640px) {
  :root { --wk-ui-touch: 48px; --wk-ui-control-h: 46px; }
  .wk-ui-modal-card { width: min(88vw, 420px); }
  .wk-ui-modal-close { width: 44px; width: var(--wk-ui-touch); height: 44px; height: var(--wk-ui-touch); }
  .wk-ui-bottom-sheet {
    width: 100%;
    margin: auto 0 calc(-1 * max(20px, env(safe-area-inset-bottom, 0px)));
    margin: auto 0 calc(-1 * max(var(--wk-ui-space-5), var(--wk-ui-safe-bottom)));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    padding-bottom: var(--wk-ui-safe-bottom);
  }
}

@media (prefers-reduced-motion: reduce) {
  .wk-ui-press { transition: none; }
  .wk-ui-modal-card { animation: none; }
}

:root {
    --wk-color-theme: var(--wk-ui-primary);
    --wk-color-secondary: var(--wk-ui-bg);
    --wk-color-secondary-2: var(--wk-ui-surface-subtle);
    --wk-color-hover: var(--wk-ui-surface-subtle);
    /* 提示类型的字体颜色 */
    --wk-color-font-tip: var(--wk-ui-text-3);
    --wk-width-layout-content-left: 300px;
    --wk-wdith-conversation-list: var(--wk-width-layout-content-left);
    /* --wk-height-chat-search: 65px; */
    --wk-height-chat-search: 64px;
    --wk-height-chat-conversation-header: 64px;
    --wk-wdith-chat-channelsetting: 340px;
    --wk-layer-transition: 300ms cubic-bezier(0.33,1,0.68,1);
    --wk-slide-transition: 450ms cubic-bezier(0.25, 1, 0.5, 1);

    --wk-line: 1px solid var(--wk-ui-line);
    --wk-line-color: var(--wk-ui-line);

    --wk-color-item: var(--wk-ui-surface);
    --wk-text-item: var(--wk-ui-text-1);

    --wk-message-item: var(--wk-ui-surface);
    --wk-message-color: var(--wk-ui-text-1);
    --wk-font-scale: 1;

    /* Fixed all-message gallery tokens shared by App message cells. */
    --qq-bubble-me: #95EC69;
    --qq-bubble-me-text: #111111;
    --qq-bubble-other: #ffffff;
    --qq-bubble-other-text: #111111;
    --qq-divider: #E5E5E5;
    --qq-radius-bubble: 7px;

    --wk-color-bg: var(--wk-ui-bg);
    --wk-color-text: var(--wk-ui-text-1);
    --wk-color-text-desc: var(--wk-ui-text-2);
    --wk-color-text-secondary: var(--wk-ui-text-2);
    --wk-color-line: var(--wk-ui-line);
    --wk-color-font: var(--wk-ui-text-1);
  }

  *, *:before, *:after {
    box-sizing: inherit;
  }

  body[theme-mode=dark] {
    --wk-color-secondary: #0F0F0F;
    --wk-color-secondary-2: rgb(33,33,33);
    --wk-line: 1px solid rgb(255,255,255,0.1);
    --wk-line-color: rgb(255,255,255,0.1);
    --wk-color-item: rgb(33,33,33);
    --wk-text-item: white;
    color: white !important;

    --wk-message-item: #0F0F0F;
    --wk-message-color: white;

    --semi-color-primary: var(--wk-ui-primary);
    --semi-color-primary-hover: var(--wk-ui-primary-press);
    --semi-color-primary-active: var(--wk-ui-primary-active);

  }

  /* ::-webkit-scrollbar-thumb:window-inactive {
    background:rgba(255,0,0,0.4);
  } */

html {
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: clip;
}

  body {
    height: 100%;
    width: 100%;
    margin: 0;
    margin: 0;
    /* font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif; */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Fira Sans,Droid Sans,Cantarell,sans-serif; */
    font-family: "Roboto",-apple-system,BlinkMacSystemFont,"Apple Color Emoji","Helvetica Neue",sans-serif;
    font-size: calc(14px * 1);
    font-size: calc(14px * var(--wk-font-scale, 1));
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    background: #ededed;
    background: var(--wk-ui-bg, #ededed);
    color: #111111;
    color: var(--wk-ui-text-1, #111111);

    --semi-color-primary: var(--wk-ui-primary);
    max-width: 100%;
    overflow-x: clip;
  }

  @media (max-width: 640px) {
    :root {
      --wk-font-scale: 1.20;
      --wk-height-chat-search: 72px;
      --wk-height-chat-conversation-header: 72px;
    }
    html { font-size: 19.2px; }
    #root {
      width: 100%;
      height: 100%;
      max-width: 100%;
    }
  }

  div {
    outline:none; /** 让div没有焦点边框 不加这个 第一次打开Modal会聚焦**/
  }

  #root {
    height: 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
  }

  code {
    font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
  }


  .page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 100%;
    overflow-x: clip;
    background-color: #ededed;
    background-color: var(--wk-ui-bg, #ededed);
  }

  .pageContent {
    padding: 0px 40px;
    overflow-y: auto;
  }

    .pageContent.space {
        padding-top: 40px;
        width: 100%;
        height: 100%;
    }

  @font-face {
    font-family: "icomoon";
    src: url(../../static/media/icomoon.536087723585cc76b849.woff2);
  }

  [class^=icon-], [class*=" icon-"] {
    font-family: "icomoon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }



  ul {
      list-style-type: none;
      margin-block-start: 0px;
      margin-block-end: 0px;
      margin-inline-start: 0px;
      margin-inline-end: 0px;
      padding-inline-start: 0px;
  }



  .wk-loading {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 15px 0px;
  }

  .wk-text-oneline {
    display: inline-block;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body[theme-mode=dark] .semi-badge-count {
    color: white;
  }

.wk-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
}

.wk-avatar--group {
    border-radius: 10px;
}

/* SVIP badge 模式：包一层 wrapper，原 img 撑满，badge 绝对定位右上角。 */
.wk-avatar-wrapper {
    position: relative;
    display: inline-block;
    /* 默认 50x50 与 .wk-avatar 一致；外部 style 可覆盖。
       关键：不能让 wrapper 跟随 img 撑大 — img--full 用 100%，wrapper auto 会陷入
       循环，浏览器降级取 svip-badge.png intrinsic 192px → VIP 巨大。 */
    width: 50px;
    height: 50px;
}

.wk-avatar--full {
    width: 100%;
    height: 100%;
    display: block;
}

/* SVIP 角标：金色渐变小药丸(替换原心形 PNG,参考主流 IM 会员标),顶部居中贴边 */
.wk-avatar-svip-badge {
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    height: 13px;
    border-radius: 7px;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: 0.2px;
    line-height: 13px;
    color: #5a3500;
    background: linear-gradient(135deg, #ffe9a8 0%, #ffc94d 48%, #ff9d2e 100%);
    border: 0.5px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 1px 3px rgba(196, 124, 0, 0.45), inset 0 0.5px 0 rgba(255, 255, 255, 0.7);
    white-space: nowrap;
    pointer-events: none;
    /* 2026-06-02 fix：absolute 子元素天然在 static 兄弟之上,z-index auto 足够,避免穿透到下一页 */
    z-index: auto;
}

.wk-channelavatar {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    margin-top: 40px;
    flex-direction: column;
}

.wk-channelavatar-avatar {
    width: 200px;
    height: 200px;
    
}

.wk-channelavatar-upload {
    margin-top: 20px;
}

.wk-channelqrcode {
    width: 100%;
    height: 100%;
    padding: 15px;
}

.wk-channelqrcode-box {
    width: 100%;
    background-color: var(--wk-color-item);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    flex-direction: column;
}

.wk-channelqrcode-info-avatar {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-channelqrcode-info-avatar img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
}

.wk-channelqrcode-qrcode {
    width: 250px;
    height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f7f7f7;
    border-radius: 8px;
}

.wk-channelqrcode-expire {
    font-size: 12px;
    color: #666;
    text-align: center;
    padding: 20px 0px 12px;
}

.wk-channelqrcode-info-name {
    text-align: center;
    color: var(--wk-text-item);;
}

.wk-channelqrcode-qrcode-box {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    position: relative;
    margin-top: 20px;
}

.wk-channelqrcode-qrcode-mask {
    position: absolute;
    top: 0px;
    width: 100%;
    height: 100%;
    background-color: rgb(255, 255, 255,0.98);
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;

}

body[theme-mode=dark] .wk-channelqrcode-qrcode-mask {
    background-color: rgb(0, 0, 0,0.98);
}

.wk-channelqrcode-qrcode-mask p {
    font-size: 18px;
    margin-bottom: 0px;
    color: #666;
}

.wk-channelqrcode-qrcode-disabled {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 24px;
}

.wk-channelqrcode-qrcode-disabled p {
    font-size: 18px;
    line-height: 1.6;
    color: #666;
}

.wk-channelqrcode-qrcode-loading {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-channelqrcode-actions {
    display: flex;
    justify-content: center;
    padding: 0 0 24px;
}




.wk-conversationselect {
    max-height: 600px;
    overflow: hidden;
}

.wk-conversationselect-content {
    display: flex;
    padding: 10px 10px 10px 0px;
    cursor: pointer;
    align-items: center;
}

.wk-conversationselect-content-title {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 64px;
    width: 100%;
    background: var(--wk-color-secondary);
    font-weight: bold;
    font-size: 17px;
}

.wk-conversationselect-content-searchBox {
    display: flex;
    align-items: center;
    width: 100%;
    height: 57px;
    padding-left: 20px;
    flex-wrap: wrap;
    overflow: auto;
    max-height: 400px;
}

.wk-conversationselect-content-selectedChannel {
    display: flex;
    flex-wrap: wrap;
    overflow-y: auto;
}

.wk-conversationselect-content-selectedAvatar {
    padding: 2px;
    cursor: pointer;
}


.wk-conversationselect-content-searchContent {
    display: flex;
    min-width: 200px;
    height: 50px;
}

.wk-conversationselect-content-searchContent input {
    flex: 1 1;
    height: 32px;
    font-size: 12px;
    line-height: 18px;
    background-color: transparent;
    color: #111111;
    color: var(--wk-color-text, #111111);
    padding: 0;
    outline: none;
    border: none;
    height: 100%;
}

.wk-conversationselect-content-searchIcon {
    display: flex;
    align-items: center;
}

.wk-conversationselect-content-searchInput {
    margin-left: 10px;
    max-width: 100px;
}

.wk-conversationselect-content-box {
    padding: 0px 20px;
    max-height: 400px;
    overflow: auto;
}


.wk-conversationselect-content-header {
    background: var(--wk-color-secondary);
    font-weight: 400;
    font-size: 13px;
    padding: 0 18px;
    line-height: 25px;
}

.wk-conversationselect-content-header-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.wk-conversationselect-content-list {

}

.wk-conversationselect-content-box-data {
    display: flex;
    margin-left: 10px;
}

.wk-conversationselect-content-box-name {
    margin-left: 10px;
    display: flex;
    align-items: center;
}


.wk-conversationselect-footer {
    background: var(--wk-color-secondary);
    height: 100px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.wk-conversationselect-okBtn {
    cursor: pointer;
    width: 160px;
    border-radius: 8px;
    height: 40px;
    background-color: var(--wk-color-theme);
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 2026-05-18 测试 #11：最近聊天 tab 空态 / 搜索空态 */
.wk-conversationselect-empty {
  padding: 20px 16px;
  color: #999;
  font-size: 13px;
  text-align: center;
}


.wk-emojitoolbar {
    padding: 10px;
}


.wk-emojitoolbar img {
    width: 20px;
    height: 20px;
}

.wk-emojitoolbar-emojipanel {
    width: 520px;
    max-width: 520px;
    height: 480px;
    background-color: var(--wk-color-item);
    position: absolute;
    left: 20px;
    top: calc(-480px - 15px);
    box-shadow: 0 0.25rem 0.5rem 0.125rem rgba(114,114,114,0.25098);
    border-radius: 0.75rem;
   
    transition: opacity .2s cubic-bezier(0.2, 0, 0.2, 1),transform .2s cubic-bezier(0.2, 0, 0.2, 1) !important;
    transform-origin: left bottom;
    visibility: hidden;
    z-index: 999;
}

body[theme-mode=dark] .wk-emojitoolbar-emojipanel {
    box-shadow: 0 0.25rem 0.5rem 0.125rem rgba(0,0,0,0.85098);
}

.wk-emojitoolbar-emojipanel-show {
    animation: emojiPanelAnimationShow 0.25s;
    -webkit-animation: emojiPanelAnimationShow 0.25s; /* Safari 与 Chrome */
    visibility: visible;
}

.wk-emojitoolbar-emojipanel-hide {
    animation: emojiPanelAnimationHide 0.25s;
    -webkit-animation: emojiPanelAnimationHide 0.25s; /* Safari 与 Chrome */
    visibility: visible;
}

@keyframes emojiPanelAnimationShow {
    from {
        transform: scale(0.5);
    }
    to {
        transform: scale(1);
    }
}

@keyframes emojiPanelAnimationHide {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(0);
    }
}

.wk-emojipanel {
    width: 100%;
    height: 100%;
    
}

.wk-emojipanel-tab {
    width: 100%;
    height: 40px;
    background-color: var(--wk-color-secondary);
    border-bottom-left-radius: 0.75rem;
    border-bottom-right-radius: 0.75rem;

    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
}

.wk-emojipanel-main-tab {
    width: 100%;
    height: 40px;
    display: flex;
    border-top: 1px solid #f2f2f2;
    border-top: 1px solid var(--wk-color-line, #f2f2f2);
    border-bottom: 1px solid #f2f2f2;
    border-bottom: 1px solid var(--wk-color-line, #f2f2f2);
    box-sizing: border-box;
}

.wk-emojipanel-main-tab-item {
    flex: 1 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 13px;
}

.wk-emojipanel-main-tab-item-selected {
    color: #07C160;
    color: var(--wk-color-primary, #07C160);
    font-weight: 600;
}

.wk-emojipanel-content {
    width: 100%;
    /* 始终减去底部主 tab 栏 40px，内部内容自己负责再次切分 */
    height: calc(100% - 40px);
    overflow: hidden;
    overflow-y: auto;
}

.wk-emojipanel-content ul {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    padding: 13px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    overflow-y: auto;
    margin-left: 8px;
}

.wk-emojipanel-content ul li {
    cursor: pointer;
    padding: 6px 4px;
}

.wk-emojipanel-content ul li img {
    height: 26px;
    width: 26px;
    margin: auto;
    display: block;

    transition:transform .3s;
	-moz-transition:transform .3s;
	-webkit-transition:transform .3s;
	-o-transition:transform .3s;
}

.wk-emojipanel-tab-item {
    width: 60px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.wk-emojipanel-tab-item-selected {
    background-color: white;
}

.wk-emojipanel-tab-store {
    min-width: 62px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    font-size: 12px;
    color: #07C160;
    color: var(--wk-color-primary, #07C160);
    cursor: pointer;
}

.wk-emojipanel-tab-manage {
    min-width: 90px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    font-size: 12px;
    color: #64748b;
    cursor: pointer;
}

body[theme-mode=dark] .wk-emojipanel-tab-item-selected {
    background-color: var(--wk-color-secondary-2);
}

.wk-emojitoolbar-mask {
    position: fixed;
    width: 100%;
    height: 100%;
    top:0px;
    left: 0px;
    z-index: 998;
    cursor: default;
}

.wk-sticker-store-list {
    max-height: 420px;
    overflow-y: auto;
}

.wk-sticker-store-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f2f2f2;
    border-bottom: 1px solid var(--wk-color-line, #f2f2f2);
}

.wk-no-flex-gap .wk-sticker-store-item > *:not(:last-child) {
    margin-right: 12px;
}

.wk-sticker-store-item-main {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    flex: 1 1;
}

.wk-no-flex-gap .wk-sticker-store-item-main > *:not(:last-child) {
    margin-right: 10px;
}

.wk-sticker-store-item-main img {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    -o-object-fit: cover;
       object-fit: cover;
}

.wk-sticker-store-item-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.wk-no-flex-gap .wk-sticker-store-item-text > *:not(:last-child) {
    margin-bottom: 4px;
}

.wk-sticker-store-item-text div:last-child {
    color: #9ca3af;
    font-size: 12px;
}

.wk-sticker-store-empty {
    text-align: center;
    padding: 24px 0;
    color: #9ca3af;
}

/* 动态表情 tab：上面是 4 列网格，下面是 pack 封面切换 */
.wk-sticker-tab {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.wk-sticker-tab-grid {
    flex: 1 1;
    overflow-y: auto;
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 10px;
    gap: 10px;
}

.wk-sticker-tab-item {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 8px;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    transition: background-color 0.15s;
}

.wk-sticker-tab-item:hover {
    background-color: #f3f4f6;
    background-color: var(--wk-color-secondary, #f3f4f6);
}

.wk-sticker-tab-item img {
    /* WebP/GIF 原图较小（~100px），需要 width/height 100% 强制放大铺满格子 */
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

.wk-sticker-tab-packs {
    display: flex;
    gap: 6px;
    padding: 6px 8px;
    border-top: 1px solid #f2f2f2;
    border-top: 1px solid var(--wk-color-line, #f2f2f2);
    overflow-x: auto;
    flex-shrink: 0;
}

.wk-no-flex-gap .wk-sticker-tab-packs > *:not(:last-child) {
    margin-right: 6px;
}

.wk-sticker-tab-pack {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    box-sizing: border-box;
}

.wk-sticker-tab-pack img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

.wk-sticker-tab-pack-active {
    border-color: #07C160;
    border-color: var(--wk-color-primary, #07C160);
}

.wk-sticker-store-detail-desc {
    color: #9ca3af;
    margin-bottom: 12px;
}

.wk-sticker-store-detail-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-height: 320px;
    overflow-y: auto;
}

.wk-sticker-store-detail-item {
    width: 84px;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f2f2f2;
    border: 1px solid var(--wk-color-line, #f2f2f2);
    border-radius: 8px;
}

.wk-sticker-manage-footer {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.wk-no-flex-gap .wk-sticker-manage-footer > *:not(:last-child) {
    margin-right: 8px;
}

.wk-my-sticker-manage-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-height: 360px;
    overflow-y: auto;
}

.wk-my-sticker-manage-item {
    width: 76px;
    height: 76px;
    border: 1px solid #f2f2f2;
    border: 1px solid var(--wk-color-line, #f2f2f2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.wk-my-sticker-manage-item-selected {
    border-color: #07C160;
    border-color: var(--wk-color-primary, #07C160);
    box-shadow: 0 0 0 1px rgba(7, 193, 96, 0.25);
}

.wk-category-manage-list {
    max-height: 360px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wk-no-flex-gap .wk-category-manage-list > *:not(:last-child) {
    margin-bottom: 8px;
}

.wk-category-manage-item {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #f2f2f2;
    border: 1px solid var(--wk-color-line, #f2f2f2);
    border-radius: 10px;
    padding: 8px 10px;
    cursor: pointer;
}

.wk-no-flex-gap .wk-category-manage-item > *:not(:last-child) {
    margin-right: 10px;
}

.wk-category-manage-item-selected {
    border-color: #07C160;
    border-color: var(--wk-color-primary, #07C160);
    box-shadow: 0 0 0 1px rgba(7, 193, 96, 0.25);
}

.wk-category-manage-item img {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    -o-object-fit: cover;
       object-fit: cover;
}

.wk-category-manage-item-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.wk-no-flex-gap .wk-category-manage-item-text > *:not(:last-child) {
    margin-bottom: 3px;
}

.wk-category-manage-item-text div:last-child {
    color: #9ca3af;
    font-size: 12px;
}

.wk-message-sticker-frame {
    position: relative;
    display: grid;
    width: 88px;
    height: 78px;
    place-items: center;
    overflow: hidden;
    border-radius: 7px;
    background: transparent;
    box-shadow: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}

.wk-message-sticker-frame > img,
.wk-message-sticker-frame > tgs-player,
.wk-message-sticker-placeholder {
    display: flex;
    width: 88px;
    height: 78px;
    align-items: center;
    justify-content: center;
    -o-object-fit: contain;
       object-fit: contain;
}


.wk-friendapply {
    width: 100%;
    height: 100%;
    background-color:white;
}

body[theme-mode=dark] .wk-friendapply {
    background-color:var(--wk-color-secondary);
}

.wk-friendapply-content {
    padding: 15px;
}

.wk-friendapply-content-tip {
    color: gray;
}

.wk-friendapply-content-message {
    margin-top: 5px;
}

.wk-friendapply-content-count {
    margin-top: 8px;
    text-align: right;
    color: #8f959e;
    font-size: 12px;
}

.wk-friendapply-content-count.exceeded {
    color: #ef4444;
}

.wk-friendapply-content-error {
    margin-top: 6px;
    color: #ef4444;
    font-size: 12px;
}



.wk-iconclick {
   padding: 10px;
}

.wk-iconclick  img {
    width: 20px;
    height: 20px;
}

.wk-iconlistitem {
    background-color: white;
    height: 70px;
    width: 100%;
    cursor: pointer;
    position: relative;
}

.wk-iconlistitem-content {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0px 20px;
}

.wk-iconlistitem-content-icon {
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.wk-iconlistitem-content-icon img {
    width: 40px;
    height: 40px;
    display: block;
}

.wk-iconlistitem-content-title {
    font-size: 14px;
    font-weight: 500;
    margin-left: 15px;
}

body[theme-mode=dark] .wk-iconlistitem-content-title {
    color: white;
}

.wk-iconlistitem-content-badge {
    position: absolute;
    right: 15px;
}



.wk-imagetoolbar {

}

.wk-imagetoolbar-content {
    padding: 10px;
}

.wk-imagetoolbar-content-icon  img{
    width: 20px;
    height: 20px;
}

.wk-imagetoolbar-content-icon {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}


.wk-imagedialog {
    display: flex;
    justify-content: center;
    align-items: center;

    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-app-region: no-drag;
    z-index: 100;
}

.wk-imagedialog-mask {
    position: absolute;
    background-color: rgba(0,0,0,.3);
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.wk-imagedialog-content {
    width: 420px;
    position: relative;
    padding: 28px;
    background: var(--wk-color-item);
    box-shadow: 0 2px 8px 0 rgba(0,0,0,.2);
    border-radius: 4px;
    overflow: hidden;
    box-sizing: border-box;
    max-height: 580px;
}

.wk-imagedialog-content-close {
    position: absolute;
    width: 20px;
    height: 20px;
    top: 28px;
    right: 28px;
    font-size: 18px;
    text-align: center;
    border-radius: 50%;
    cursor: pointer;
    z-index: 1;
    line-height: 18px;
}

.wk-imagedialog-content-close svg {
    fill: var(--wk-text-item);
}

.wk-imagedialog-content-title {
    font-size: 16px;
    font-weight: 600;
}

.wk-imagedialog-content-body {
    width: 100%;
    font-size: 14px;
    text-align: center;
    margin-top: 28px;
}

.wk-imagedialog-content-preview {
    box-sizing: border-box;
    text-align: left;
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
    border-radius: 4px 4px 4px 4px;
}

.wk-imagedialog-content-previewImg {
    width: auto;
    height: auto;
    max-width: 240px;
    max-height: 240px;
    background-size: auto 100%;
    background-position: 50%;
    margin: 0 auto 16px;
}

.wk-imagedialog-content-preview-file {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
}

.wk-imagedialog-content-preview--filecontent {
    flex: 1 1;
    width: 100%;
    height: 78px;
    padding: 12px 0px 12px 20px;
    overflow: hidden;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    background-color: rgb(247, 247, 247);
}

body[theme-mode=dark] .wk-imagedialog-content-preview--filecontent {
    background-color: var(--wk-color-secondary);
}

.wk-imagedialog-content-preview-file-icon {
    height: 78px;
    width: 78px;
    display: flex;
    align-items: center;
    border-radius: 0px 0px 0px 10px;
}

.wk-imagedialog-content-preview-file-thumbnail {
    width: 48px;
    height: 48px;
    margin: auto 16px auto auto;
}

.wk-imagedialog-content-preview--filecontent-name {
    color: var(--wk-text-item);
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
    line-height: normal;
}

.wk-imagedialog-content-preview--filecontent-size {
    font-size: 12px;
    color: var(--wk-color-font-tip);
}

.wk-imagedialog-footer {
    margin-top: 28px;
    justify-content: flex-end;
    display: flex;
}

.wk-imagedialog-footer button{
    background-color: #fff;
    border: 1px solid #dee0e3;
    color: #111111;
    color: var(--wk-color-text, #111111);
    border-radius: 4px;
    height: 32px;
    min-width: 100px;
    padding: 0 16px;
    cursor: pointer;
}

.wk-imagedialog-footer-okbtn {
    margin-left: 16px;
    color: white !important;
    border: none !important;
}



.wk-indextable {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.wk-indextable-section-title {
    background-color: var(--wk-color-secondary);
    margin-left: 15px;
}

.wk-indextable-item {
    display: flex;
    align-items: center;
    padding: 15px 15px 15px 0px;
    cursor: pointer;
}

body[theme-mode=dark] .wk-indextable-item {
    background-color: var(--wk-color-secondary);
}

.wk-indextable-item:hover {
    background-color: var(--wk-color-hover);
}

.wk-indextable-item-avatar img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.wk-indextable-item-name {
    margin-left: 15px;
}

body[theme-mode=dark]  .wk-indextable-item-name {
    color: white;
}

.wk-indextable-search {
    padding: 10px 0px;
    display: flex;
    overflow: hidden;
    width: 100%;
    background-color: #f4f4f5;
    z-index: 10;
}

body[theme-mode=dark] .wk-indextable-search  {
    background-color: var(--wk-color-secondary-2);
}

.wk-indextable-item-index {
    width: 50px;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
}

body[theme-mode=dark] .wk-indextable-item-index {
    color: white;
}

.wk-indextable-checkbox {
    margin-right: 10px;
}

.wk-indextable-search-box {
    display: flex;
    min-width: 100px;
    height: 50px;
    background-color: #f4f4f5;
}

body[theme-mode=dark] .wk-indextable-search-box  {
    background-color: var(--wk-color-secondary-2);
}

.wk-indextable-selected-box {
    display: flex;
    overflow-x: scroll;
}

.wk-indextable-search-icon {
    display: flex;
    align-items: center;
    margin-left: 20px;
}

.wk-indextable-search-input {
    margin-left: -20px;
    max-width: 100px;
}

.wk-indextable-search-input input {
    flex: 1 1;
    height: 32px;
    font-size: 12px;
    line-height: 18px;
    background-color: transparent;
    color: #111111;
    color: var(--wk-color-text, #111111);
    outline: none;
    border: none;
    height: 100%;
    padding-left: 25px;
}

body[theme-mode=dark] .wk-indextable-search-input input {
    color: white;
}

.wk-indextable-select-user {
    padding: 0px 5px;
    cursor: pointer;
}

.wk-indextable-search .wk-indextable-select-user img{
    border-radius: 50%;
}

.wk-indextable-contacts {
    width: 100%;
    height: calc(100% - 70px);
    overflow-y: auto;
}

.wk-inputedit {
    width: 100%;
    height: 50px;
   
}

.wk-inputedit .semi-input-textarea-wrapper {
    background-color: var(--wk-color-item);
}

.wk-inputedit-placeholder {
    font-size: 13px;
    color: #999;
    margin: 5px 0px 0px 5px;
}


.wk-list-item {
    width: 100%;
    padding: 1rem;
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    background-color: white;
    justify-content: space-between;
    box-sizing: border-box;
}

body[theme-mode=dark] .wk-list-item {
    background-color: var(--wk-color-secondary-2);
}

.wk-list-item:hover {
    background-color: #eee;
}


.wk-list-item-ripple {
    position: relative;
    overflow: hidden;
}


.wk-list-item-ripple:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    background-image: radial-gradient(circle, #666 10%, transparent 10.01%);
    background-repeat: no-repeat;
    background-position: 50%;
    transform: scale(10, 10);
    opacity: 0;
    transition: transform .7s, opacity .5s;
}

.wk-list-item-ripple:active:after {
    transform: scale(0, 0);
    opacity: .7;
    transition: 0s;
}

.wk-list-item-title {
    font-size: 15px;
    font-weight: 400;
    color: black;
}


body[theme-mode=dark] .wk-list-item-title{
    color: white;
}


.wk-list-item-action {
    display: inline-flex;
    align-items: center;
    position: relative;
    margin: 0;
    margin-left: auto;
}

.wk-list-item-subtitle {
    flex: 1 1;
    margin-left: 20px;
    font-size: 14px;
    color: var(--wk-color-font-tip);
    text-align: end;
    word-wrap: break-word;
    word-break: normal;
   
}

.wk-list-item-subtitle-oneline {
    display: inline-block;
    white-space: nowrap; 
    width: 100%; 
    overflow: hidden;
    text-overflow:ellipsis;

   
}

.wk-list-item-subtitle-muliteline {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
    white-space:  pre-line;
    word-wrap:break-word;
}

.wk-list-item-arrow {
    margin-right: -10px;
}

.wk-list-item-arrow img{
    width: 9px;
    height: 14px;
}

.wk-list-item-tip {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wk-color-font-tip);
    font-size: 13px;

}



.wk-qrcodemy {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.wk-qrcodemy-content-qrcodebox {

    width: 100%;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    
}

.wk-qrcodemy-content-qrcodeinfo {
    background-color: white;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

body[theme-mode=dark] .wk-qrcodemy-content-qrcodeinfo {
    background-color: var(--wk-color-secondary-2);
}

.wk-qrcodemy-content-userinfo {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-top: 15px;
}

.wk-qrcodemy-content-userinfo-avatar img{
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.wk-qrcodemy-content-qrcode {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 15px;
    width: 250px;
    height: 250px;
}

.wk-qrcodemy-content-tip {
    font-size: 13px;
    text-align: center;
    color: #999;
    margin: 15px 0px;
}

.wk-qrcodemy-content-userinfo-name {
    font-size: 15px;
    font-weight: 500;
}

body[theme-mode=dark]  .wk-qrcodemy-content-userinfo-name {
    color: white;
}
.wk-sex-select {
    width: 100%;
    height: 100%;
}

.wk-sex-select-item {
    background-color: white;
    height: 50px;
    width: 100%;
    background-color: var(--wk-color-item);
    display: flex;
    align-items: center;
    cursor: pointer;
}

.wk-sex-select-item .checked {
    color: var(--wk-color-theme);
    margin-left: 40px;
}

.wk-sex-select-item .sex {
    margin-left: 20px;
}

.wk-meinfo {
    background-color: var(--wk-color-secondary);
    position: relative;
    --wk-height-userInfo-footer: 60px;
    --wk-height-userInfo-nav: 44px;
    width: 100%;
    height: 100%;
}

.wk-meinfo-sections {
    
}


.style_wk-popupmenus__kNwqe {
    background-color: white;
    border-radius: 4px;
    box-shadow: -5px 5px 20px 0px #eee, 
    0px 20px 20px -15px #eee;
    display: flex;
    height: 30px;
    align-items: center;
    padding: 0px 0px;
}
.style_wk-popupmenus-item__oFRfI {
    align-items: center;
    display: flex;
    margin: 10px 10px 10px 0px;
    cursor: pointer;
    width: 20px;
    height: 20px;
}
.style_wk-popupmenus-item__oFRfI:first-child {
    margin-left: 10px;
}



.style_wk-popupmenus-comment__txyI9 {
      /* webpackIgnore: true */
    background-image: url(./icons/comment.png);
    background-size: cover;

}

.style_wk-popupmenus-comment__txyI9:hover {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAE4klEQVR4Ae2bTWwbRRSA39u1Exriv5iGqi2Nk0pIpRdUkBoQEmc4cEDZ/ABCCNQWOPRAKoTEBQ4cWolDhQQICcSB0iYO4sqBQ4UQVK0qQLSqKqCx2wpEkzqx07jQ2Pt4s83GZnfjsZEdjHkjJTPvb2fel7djZ7wGkCYEhIAQEAJCQAgIASEgBIRA4wSwVshlK/6EDfajADhUy+8/ayPIAdDZSHfok+SxXCEoj0BA16zNvUX6c5oAHgsK6jgd4uUQkHVPunDam5vhVSh5GW69/b+BoxIm2lEinJ57/q6IEqtbqFpQ4ytWtK9EtL+ix8Ng4KmK3Dkjg6ifgN4kgi1MaaC4tDLB2X1QnaEPkI24h4k6Pgh4MjWTf606oNPGs1bMZDjvqrxsgAe8+flvMRsSVU5zVeOOHBoE825iSH/L3VH7Abne0gugempAKkhDSQAJIA0BjVkqSABpCGjMUkECSENAY5YKEkAaAhqzVJAA0hDQmKWCNIB850Ea/0Dz1We3JUvFGz97jXwYNTc4U7jXq/fKGSv6DRDu8urDGB7elp6/6NVXyxkrdgQI9lXrnDHCoVQ6/6FP36CiKYDMm2VjBSgeMPetAJ1fRRBlmL74Eth8mKVphD0Eti+Wz3a6NZF1meUW02ASQAJIQ0BjlgrSAGrKJr1l+rf5hdE+30ZZjpj8QYG+9WD3cAhKvg05sfvgEqTfqHkB6o0fii3nX/c6JWDrTYDzXnXDclMAIfJrBkC+4dlXA/rTczcCYzVwVMzgx5k/uFM/nrbgkf+ZKLeYhpsAEkAaAhqzVJAA0hDQmKWCBJCGgMYsFSSANAQ0ZqkgAaQhoDFLBTUMCPmE1238kKI77NjeqOTIiVdyX03YV0Fk4i9rMAj2zD6XumNN7sCBTfSwm5aBcMkdu73vuGMguvNcNvfTdUaZ5IP0IVxeuDA7Ev1h9UjDjaunL/EhyPTATD5djzMRYXYsPsl/Q7Xgjalc9Rjw7fmcJfKpzUnvWgMXwkDG2fG417lRmS/OacPjg+nCF7rY7EjsVRvosM6vVXYugM/5Y6Invdf33WLKgT/LOmEijiNWHpH1BtYjcxXyJfDYr0/FB2r5XxlP7uVqfauWT6tsvECb6/WoCZGng+YIrCDXkSzLvApf3kcGDZWp/rLnSQ0o01FOertzLcQzKdj+CKbP+z4ny1mJWAHs7/kWSylfjv2W0DjixLX4F5/x5jb1hr7b/NH80npT1QS0XlA9+tmxvmGwS1/xnhJW/vxi8T7vRy95YzMjMf7SDFlKz9W22NWF92/9dDHr9fu35MBbrBmLGZzKneKn2Cfda/H+8mJ2NPGMK6s+a8X2u3AcvYkvtBMctaaWVZCTMP/KjMaOk01q01cVUjRMY++OqYVz2Ym+3VQqn+Fba5NjQ3yPN8mX1bidWssqyE2yh7r28b5yQclcLT1lu/zZ7xP9d9NKacqFwxvPj3Rn4hU3pp36lleQSjYzltzF+9FpBtKrZJ7UeZ91e4xFMEMPpqauOxCVrp1ayytIJauSZzhrj6ioN6FrEBAOtisctcYNAaQmUu+t0DDeUWO3oYEnmvEMj3u9VvQbBkgtfiC+c5L3o6+dRBAuRsLmgVYk1cxrbsgeVL1g9c8vFhcfioSNs+t907jaX8ZCQAgIASEgBISAEGgRgb8A57BPQY2qtgcAAAAASUVORK5CYII=);
}

.style_wk-popupmenus-like__qTcMl {
    background-image: url(data:image/png;base64,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);
    background-size: cover;
}

.style_wk-popupmenus-like__qTcMl:hover {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAIdUlEQVR4Ae2bf2wcRxXH5+3enX/Q+hzXSRoTe8/9AVKTAFIFqkCQUgEqKDhSk3PitLSIP4qSUqCtRFW1IAMiEkGIVkUViNJSWvzr0rS9GtqKCqq2SDRQUYpBpaX1ndOaxDb2XUhs34+d4Tt3mfVmb++CHa99ze1KvnlvZnZn3mfnzczOjBnzL5+AT8An4BPwCfgEfAI+AZ+ACwFyiau6qPEb2xqzqdk7GOcZY8O6H9C9/8qsVCW1lSpoqeWI3l4tO31iUHB+l2Dsu8ljUz9f6rOWcl/VA0qM/Gg/wGxTxgHUtclo07eU7nVY1S6W2Nl0LeA84oSASgud2BXtseOHnWnLrVdtCzoSbfoII3a/MhhQXiOiUakDGpmM3SOE8PwFVyWgsd2tbQDwmBCsXgIhRik9VNdFmvZVqcsLaVeM9TRfVdS8+606QKNfjNSbZu5xAGiTZhMxE3/d7X2TbxiDM8NoRU9bOPJspyV7JFQdIJpN3Y/m8WFlLzHtNiOW/q3SGYlhJQsSW5XsVVhVgJLd4dvlKKWMhWs9YMRS9yhdhhoxq2NGF7TRnuaFXDWAkrvWbEOnu18ZCbf6g0Eb9yrdConQRxcv5Ako2auwKgAloy2XcZP3od8p1odorL6+4RqK/T3rNJxz+oAtbtwmeyKuOiAM5y2CmXGMS+dLC+FWs/jdfuHDxybcLRaftsW/ZJM9EVcVkOi9MmAyisG1LpbWyQkg3OaGzljqFTdr397V/EHGxS6VBmd7XMlehasKKDnyyt2Ac5UyTmjadzBiHVS6M8yZ4oCcJMp4DPcjHZtvedSZZ7l1z2ei5SqcjIZv5EL8VKXDtQ5hxNoJw61OWKXJcGxX83bT5FaLIdK3RWIzv7bn8UJelRY01t38Cc7Ejy2DiP5a31B/fTk4crnDNIU13CPf71YCjqzfigMa3d0c4YI/ig+qYAEQscm6YKFTPmkBcwi56ZNfQfdknIrOBFlwnyOLZ+qKApqIrj2PmSKO4by1YBGxnK7rO9r6UslyFoqbL6nDjPkWK53YT94bm/qnpXssuE60xnvaWuu0+ewFv5o+vlzlyy/vZHfzw/iM2KKeSYL2dQzMvKB0t3Ds2OT1AHqhTMMIx+Few8melk1ueRcTF8hr+bZNm9+k3ufyle4r6aTRee4UTAzABQRq9ALsimshETf60m9VelCltCN71l6az2V+iCd+XuXDl/m9kaGU9XWu4p0h1oRG0GufNRDnc6UO2HN4Yc+FQtrecq24BFAiGpbzkpKvZDxsBAbG9UAgvrF/6jB019HGXhE5CcTrkat/+3Bvsc8pVuxZg33maorFsKpR/pLulTw6MWvNsMtnPauUwnJKUNva3j/zqvNBJYBGo01PwJguZ0a7jqZ+FFO6J0nX4rwh/GznLxLz9nQR3RRK0Ds3kRDfBOw19jTIL2kh+ixa5Iwj3lXFCzuADvpmQCqsDblmWo5Iouc7Y+mtzkdVBIRW8jJuaIGRnc4bLZ0oDXfpiQzOPCXjjn5h/br5+bnfw6DLrDwQAHVcCO2uyOavP0S9vdyethqyiEb1BD3TzTjrU+XrOl3SMZh+U+kyrDyKCeqPxNIXYaTZQhrdCSsPg+jpriVEmJn8G+qhc5n5a+xwAPkkCunFx+f7Og+mHqwGOLKu0r07h473Y17+uqo7F9ShZBW6jmIqUYUdgzMjkOXf/sR1rRu0bE4uTdwAEB8r5CHWpPIC4HkWQaK/aXrw6o6BKXx1L9uAqIpalhAjaaMcj+SFLqGER0nEmUqNPDL1b+T5GRa30oBUBFTuJiHeKsIpl2H14zHHWqd8Qgtox5w1quxiztznmJ7cE14DOCFlVjAQOqpkFdY0IC4C6xUIOQldf/HeKaWrsKYBBfKmBQi90KTbAFLTgDgJCxDmdSX9j2xFNQ0Iq5MLgIj5gFS/okKs71qAMMT7gBQYKyRmAcKGmw/IAnNKwDxuAZDwXczJB7rdxfwWVApILLgYadx3MSchLGlZLmaK0s8Mmb9mh/np6JqwfY2J6gJ+C7K3oBM6v9TSiWWNzCddt7prtgWJPLtcAcKS6+vlln9rFxBbAARX+4eC5QxrEtDkl1rPx0rijgUYtmN9C5EFadELZo7735XqieM5uVPbIisP95p9T1Og7IGJmmtB7+xuaScmbrPerMYG1z4w9V9Ldwg1BUiuIObM/NNY+7lAcsCGwnSDXneHg8lpas0AkttRIiuGHTsut67vn3Cd/yhKNQEo0R3eMTc/J7ewP6oMxzbWfcZQ6iGllwvP6U5ankMyOb9VcLH9NAAaHYgMpW8/La6Mcs4BGt/TbGRy4nOwdy/gWCdJpP3Ys8tj1LrTGEpjO/v/u961gLCWQ0d61m7gjEdEnr+fNPFxbOFcmcnyTlfTif7EdPqyMZD6i2t6mcglA8I2baNzF9pZBt7WFhyGuNsZvyidqB7LoSiLGlBeIxbXG7HZtwEbl4b9Y1OU2+2X2+UafT8ymDq0qHJPZV4UIHkMNy94Fyq5XQh++ZkKxJbuRXirXztTvorpoFDcGC7+Fl4KRKW53YvhexRLGU/g1OwvI4tsMc7nVQSEqoXwpj6Fk1Rd6Oi6ciY3ig8oqd5rtgeP2mTPRcCYA8M3SGMv48TSHxnTXzRi02W/rRZboYqAMOP8HueybysBUihHHmnBktIhCgp5SKpwGWjKOKV2E1ziQyru7ELCvyPwLEBk4Fo4TEVTmJtMQp/QNW20rf8/b0N2r+DZFVy4uyIglAo4zotehU/HNeLx9oH0n52VO6Xf57zLM33ApYrLWFgJIHSsk8rrC+XgJCqOiDwvoXCNxTsHUgmr/EFvK2eVs4pCCaCgrn87x3k9DjeCixgOC/03LQdn0qtYR79on4BPwCfgE/AJ+ASWROB/N1Lg2G2c6yIAAAAASUVORK5CYII=);
}

.style_wk-popupmenus-forward__WW6Ez {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAGs0lEQVR4Ae2afWhVZRjAvftm2RwR7rM5N9IIzfY902CUkYNckoxMSUgJBIkgEkWR5l99YWkEQZ9/iFYsIthsmaQw92H7Ev9QKzFXsrvtpotrmrnPfs/tvONl3rVz7j1neO89L7x7n/Pc97zP8/7O+7wf52zOHDe5BFwCLgGXgEvAJeAScAm4BIIQ8ATR3bGqoqKiBR6PpwEH/fHx8Rs6OzsvO+1snNMGbG5//cTExFLyytHR0S+qqqoSbG7/tuYiChCjp4k8avTikWvXrtXd1iObFfE2t+doc/39/YOZmZnDGFllGFqZm5vb7PV6e50yHFFzkEAgvDzFxcXfIypIfYmJics6OjquOgEpokJMABBiE3FxcZsQ/zCA5DAffWbIthcRFWKq94TadULrLKNpAzqJgsVZWVlDAwMDHaqOXWVEApLOM+9cyM7Onoe43IDxWF5eXkNfX9+gcW1LEXEhpve6sLBwJyHXY+iSZekvKSlJ1euEK0c0oPr6+uGEhITngHBdQBByD4yPj78XLhT9/ogNMdUJQupqTk6OFzhrDV0xoXeeeeqsqhNOGXHL/HSd5RhyiN9k0paVzp+UlPTwqVOneuU6nBTRIaZ3PDU1dStgfhUdo2ne8PDwYTuOIlEDqLW19S8OsOuBNGJAWs5RZK8OMRQ54ucgvdMs/V72Q7fQPWHoVzAftTAfXdLrWZGjZg5SnSa85ChylOsAJEaUl7ysu7v7iqpjpXT8dYFZZyoqKtLGxsbyqJ8lGTmLjt2DrD9EkW+h97Gc+6Tk2CG5X53F0E2UlZVtYk90hrrzAZZNKUeRNWTLSTdu+eZQb6irq4trbGwsxflKchm5nLbuJ4fsD2BkhJyjPEd7ssQvoHyVMpCA+DKjyPIeKWSHlGGzJc7K0K+kA89yTy3X8mRnM91KSUnJbm9vH7Ji1PEQq66uTvb5fFuAsx3H8gEznX/DwPuF3wcoB6gk2cf1mNzACJCH6SG0UpAldCRnoJtPltCcS/6/lMzSn0+FOwOQgBkcHHyRE/YOnMoN4vkgIL4ld9Lhrvz8/DNydAhSb0YVoDylpaX3UT4omTaXcNPzyJMDAN1lNo/nZ2xsSgVHQgxny5lkD2Jr0RR78g7nK4DUFxQUNAMkMDqm1AnrUg6rgDlIfkY1BJxu8hrmoH6lM1vaCgjnEgmBPTizCwcn91hcy1L7Jk/wI+aAm2ads1qP1SuTB9OA7VJ1L3a/IW8Ezt9KZ6W0bScNnHtx7CTG9yg4OOYnv5SRkVEgK4iTcJjjHgJOhw4HX/bV1NSsCxWOgLRlBBnfq47i3GJpVBJgjpNfwLnf/9M495eQrmbkfon9uw3b8uVjW09Pz4fhWg0bUHl5+UI2ZS04F1i2gSLzynbA7EeedskK13F1PyNnG/IB7AdCGpt+5rjarq6uY6pOOGVYIcZpOR04RzQ4/+DcOp7cu07Dkc0mcPZj+30FBxC9HFhX2AVHwIY8guRVAqfl73Du8UBDHs9N5NWnT59ulmsnE7bnYvtz7D2l7PBAfmQjWNPW1uZTOjvKkEeQ3+/fqeDgyDh542zA4cyWi+2TU+DUp6WlVdkNRwCHNIKYFJewYnRzf1KgEY9nB2H1lshOJlbKYsDIMq4fU17H9m6nQtryCMI5D3A+BYSCc4IJ+W0nwUjbPJSnWamaFRyAjJA3M2p3OQVH7FoGxMQoO9QyuZl0g68KW5x0UIywjXiFh/I14l1yTfoTm08ycuQ1hqPJEiAZPaTXNI/e4D3MJe3aVlEWAsLqAxrdRw74iv2LrFTLGbUnbDU2TWOWAOHsWiAtNdoa4kX5gWnatUXNSrWbsNqqGgNOC7mSZfxnpXO6tAQIZzYrh3D0HXlRrq6dKHkYcioPJOwd4siyipFzRelmo5x8HTCTMZbXjJGRkdVSD2fHGOafzHRPuL8zv9WxER1h83kcMB+H214o95sGhKPy72+q/jH+P1BeaDmasCGvTjc4amSGxk2HGHDUpxT5MHd4hnaj5mdTgGpra+Ug+KjW6x80OapFU4B6e3tlB5tmkLjA5swb1VS0zpkCxCatSN3DBN2i5FgoTQEChHyzUuknJcRCaRbQIgWDULuo5FgozQJaqGCwN3EBKRhaqSZoUV3V9FEvmh1BcxUJRtANJcdCaQoQ884koPT0dBdQkJGRrHRNTU3yD0oxk0yNoJihEaSjLqAgUHSVC0inEUR2AQWBoqtcQDqNILILKAgUXWUWkFraVam3EdWyKUC8E67jNcdv7KL3RjUNt3MuAZeAS8Al4BJwCcQSgX8B+1+BtWx3kXwAAAAASUVORK5CYII=);
    background-size: cover;
}

.style_wk-popupmenus-forward__WW6Ez:hover {
    background-image: url(data:image/png;base64,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);
    background-size: cover;
}

.style_wk-popupmenus-delete__2OsZD {
    background-image: url(data:image/png;base64,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);
    background-size: cover;
}

.style_wk-popupmenus-delete__2OsZD:hover {
    background-image: url(data:image/png;base64,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);
    background-size: cover;
}

.style_wk-popupmenus-mulselect__MhgEq {
    background-image: url(data:image/png;base64,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);
    background-size: cover;
}

.style_wk-popupmenus-mulselect__MhgEq:hover {
    background-image: url(data:image/png;base64,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);
    background-size: cover;
}

.style_wk-popupmenus-revoke__S8LvT {
    background-image: url(data:image/png;base64,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);
    background-size: cover;
}

.style_wk-popupmenus-revoke__S8LvT:hover {
    background-image: url(data:image/png;base64,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);
    background-size: cover;
}

.style_wk-popupmenus-favorites__6MBwY {
    background-image: url(data:image/png;base64,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);
    background-size: cover;
}

.style_wk-popupmenus-favorites__6MBwY:hover {
    background-image: url(data:image/png;base64,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);
    background-size: cover;
}

.style_wk-popupmenus-copy__L3h6W {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAABA5JREFUeF7tnFuITVEYx3/zxJMiL0LuNZOQ3EVRLjMjD+SaEokpGUUeyAMeREkKKXdKuRWl3KIINeTygCJ34sEL5U0p+tfeWmedc+acOXutM/vsWavOy9l7f9+3fvvb397rW2t9dRRu3YGB0W8o0LvIeZ3x9xfgA/Ap+nm1oa6A9NXAVmCAV81uhN8DNgJP3YjLl2IDOgms8KXMo9wW4IgP+SagXcBmH0qqJHMi8Mi1rhjQGOCJJfwUcDB63n+6VpxAXh9gMLAHmGTI+Q70A/4kkJ13aQzoFjDDODofuOxSkSdZ24Fthuy9wCaXugRoAvDQELoDkOJaaVeAuZGxX4H+Lg0XoFZgvyF0JPDCpRLPstYAhw0do4DnrnQK0BlgWSRQ3xaDXAmvkhx9p701dOkz5Zgr3QJ0B5gWCbwLTHclvIpy/voKEQFQibuYFUAvgeFRXxcBF115b1YA6a2r2KMhx1pAbzMnLSuAnMAoJCQA6iIxKHiQNwLBg5KhDTEoRR7UEA2MlcpNS9PQSjmkV8UM8u1B3YB9QFOU304LGNsOgboObAB+mwd9AlocpUF7pJVKAbt+AcoOnI+P+QI0G7hRQ2BsUxuBm/rTByClSzQtY7bHwCFA2QK5c1qa4qEyGRqejLOMUlr3ow9AV4FmQ1mtZCjt9O01YI5rQKL+3oBzDliaFncpw46zwBLjvCGuASnxrwmAuE0FHpRhWFpOmQLcN4yZ6RqQnR/WNMy3tPS+DDv6WqmSFteA7Oe40NR2GXZ26ik56dsAKP9eBEAl/DMACoCShbDgQcGDggclIxA8KBm/EIOCBwUPSkYgeFAyfiEGBQ8KHpSMQEc9yFxdr3Sp1vxV2jKZD1plLXrUDOjrCgllEtBo4JkB5AQgaJW0TAISCC0k14LyuM2yku/lwsosoHnAJYvC7mg7wjvgR5mEMgtI/T8NLC8DxHFA8ATObpkGpM5qO5S2RZVq64EDGQV0AVgY9a2x0LSM4o+2QQ1rh9JkoC2jgDQTvCB6QnYWm7fSnlVNI8e/XgYMLTjSWppCLQuPWE6/XE/sBUAlglMAFACVen+1fzx4UBfwIK1I0WZhbYhpC0E6/46be2CbA6B8QHkp12RRJ/fqLMSgAKiERwRAnQlonTWI1RAlTWUtSoWTnlZqp9V1kNYKdXOcNtZn6ZpSva3guF3DpMk1oHpr54wKpKyswNDOusQuD9TgGpCyAEr4m8WZaqVQip1V/QzUuwakO6/t2XaxI73+ldJNY02QEYBuol3QRWu+j/oAJEjFKllVpe5YB57PuE6bfcn/0OALkBTWakUr5du3xMR8ApIOvRWk0Cze1IEbXNVTb0c5+ZyCcb4BxT3UnNv4aO5N+yHS0t5EnyGCUrCS3j9tpBamGTRC8QAAAABJRU5ErkJggg==);
    background-size: cover;
    width: 16px;
    height: 16px;
}

.style_wk-popupmenus-copy__L3h6W:hover {
    background-image: url(data:image/png;base64,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);
    background-size: cover;
}


.wk-receipt-detail {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 320px;
}.wk-no-flex-gap .wk-receipt-detail > *:not(:last-child) {
  margin-bottom: 8px;
}

.wk-receipt-detail-header {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wk-no-flex-gap .wk-receipt-detail-header > *:not(:last-child) {
  margin-bottom: 6px;
}

.wk-receipt-detail-title {
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  color: #7f7f7f;
  padding: 12px 16px 0;
}

.wk-receipt-detail-desc {
  font-size: 13px;
  line-height: 1.5;
  color: #6b7280;
}

.wk-receipt-detail-state {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  border-radius: 16px;
  background: #f8fafc;
  color: #475569;
  font-size: 14px;
}

.wk-receipt-detail-state-error {
  color: #b42318;
  background: #fff1f1;
}

.wk-receipt-detail-list {
  display: flex;
  flex-direction: column;
  max-height: 420px;
  overflow-y: auto;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #ffffff;
}

.wk-receipt-detail-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #f1f5f9;
}

.wk-no-flex-gap .wk-receipt-detail-item > *:not(:last-child) {
  margin-right: 12px;
}

.wk-receipt-detail-item:last-child {
  border-bottom: none;
}

.wk-receipt-detail-avatar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(135deg, #dbeafe, #bfdbfe);
  color: #1d4ed8;
  font-size: 16px;
  font-weight: 600;
}

.wk-receipt-detail-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.wk-receipt-detail-avatar span {
  position: relative;
  z-index: 1;
}

.wk-receipt-detail-main {
  display: flex;
  flex: 1 1;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.wk-no-flex-gap .wk-receipt-detail-main > *:not(:last-child) {
  margin-bottom: 4px;
}

.wk-receipt-detail-name {
  color: #111827;
  font-size: 15px;
  font-weight: 500;
  word-break: break-all;
}


.wk-receipt-detail-footer {
  display: flex;
  justify-content: center;
}



.wk-search-box {
    display: flex;
    min-width: 200px;
    height: 45px;
    background-color: #F7F7F7;
    border-radius: 25px;
}

body[theme-mode=dark] .wk-search-box {
    background-color: var(--wk-color-secondary-2);
}

.wk-search-icon {
    display: flex;
    align-items: center;
    margin-left: 20px;
}

.wk-search-input {
    margin-left: 10px;
    max-width: 100px;
}

.wk-search-input input {
    flex: 1 1;
    height: 32px;
    font-size: 12px;
    line-height: 18px;
    background-color: transparent;
    color: #111111;
    color: var(--wk-color-text, #111111);
    padding: 0;
    outline: none;
    border: none;
    height: 100%;
}

body[theme-mode=dark] .wk-search-input input {
    color: white;
}


.wk-search-input .semi-input-wrapper{
    height: 100%;
    background-color: white;
}

body[theme-mode=dark] .wk-search-input .semi-input-wrapper {
    background-color: var(--wk-color-secondary-2);
}

.wk-search-input .semi-input-wrapper-focus {
    border: none !important;
}

.wk-search-input .semi-input-wrapper-focus:active {
    border-color: none !important;
}

.wk-smalltableedit {
    overflow-y: auto;
    width: 100%;
    height: 100%;
}

.wk-smalltableedit-content-item{
    display: flex;
    padding: 5px 15px;
    background-color: var(--wk-color-item);
}

.wk-smalltableedit-content-item-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}


.wk-smalltableedit-content-item-avatar img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

.wk-smalltableedit-content-item-name {
    margin-left: 15px;
    max-width: 200px;
    line-height: 40px;
    color: var(--wk-text-item);
   
}

.wk-smalltableedit-content-item-action {
    display: flex;
    align-items: center;
    padding: 10px;
    cursor: pointer;
}
/* StickerStore J1 实施 2026-04-25 */

.wk-sticker-store-modal .semi-modal-body {
    padding: 16px 24px 24px;
}

.wk-sticker-store-body {
    margin-top: 12px;
    max-height: 480px;
    overflow-y: auto;
}

.wk-sticker-store-loading {
    display: flex;
    justify-content: center;
    padding: 60px 0;
}

.wk-sticker-store-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 12px;
    gap: 12px;
}

.wk-sticker-store-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border: 1px solid #e5e6eb;
    border: 1px solid var(--semi-color-border, #e5e6eb);
    border-radius: 10px;
    cursor: pointer;
    transition: box-shadow 0.15s ease;
}

.wk-no-flex-gap .wk-sticker-store-card > *:not(:last-child) {
    margin-right: 12px;
}

.wk-sticker-store-card:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.wk-sticker-store-cover {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    -o-object-fit: cover;
       object-fit: cover;
    background: #f5f5f5;
}

.wk-sticker-store-meta {
    flex: 1 1;
    min-width: 0;
}

.wk-sticker-store-name {
    font-weight: 600;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wk-sticker-store-desc {
    color: #86909c;
    color: var(--semi-color-text-2, #86909c);
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wk-sticker-store-count {
    color: #86909c;
    color: var(--semi-color-text-2, #86909c);
    font-size: 12px;
}

.wk-sticker-store-add-btn {
    align-self: center;
}

.wk-sticker-store-preview-head {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid #e5e6eb;
    border: 1px solid var(--semi-color-border, #e5e6eb);
    border-radius: 10px;
    margin-bottom: 12px;
}

.wk-no-flex-gap .wk-sticker-store-preview-head > *:not(:last-child) {
    margin-right: 12px;
}

.wk-sticker-store-preview-head img {
    width: 64px;
    height: 64px;
    border-radius: 8px;
}

.wk-sticker-store-preview-head .meta {
    flex: 1 1;
}

.wk-sticker-store-preview-head .name {
    font-weight: 600;
}

.wk-sticker-store-preview-head .desc {
    font-size: 12px;
    color: #86909c;
    color: var(--semi-color-text-2, #86909c);
}

.wk-sticker-store-preview-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 8px;
    gap: 8px;
}

.wk-sticker-store-preview-cell {
    aspect-ratio: 1 / 1;
    background: #f7f8fa;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-sticker-store-preview-cell img {
    max-width: 100%;
    max-height: 100%;
}



.wk-subscribers {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.wk-subscribers-content {
    display: flex;
    flex-wrap: wrap;
    padding-left: 20px;
}

.wk-subscribers-item {
    width: 60px;
    height: 80px;
    font-size: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;

}

.wk-subscribers-item img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.wk-subscribers-item-avatar {
    position: relative;
    width: 50px;
    height: 50px;
}

.wk-subscribers-item-robot-badge {
    position: absolute;
    right: -4px;
    bottom: -2px;
    min-width: 24px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: #07C160;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(7, 193, 96, 0.28);
}

.wk-subscribers-item-role-badge {
    position: absolute;
    right: -6px;
    bottom: -2px;
    min-width: 24px;
    height: 16px;
    padding: 0 3px;
    border-radius: 999px;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
}

.wk-subscribers-item-role-owner {
    background: #FF3B30;
    box-shadow: 0 2px 6px rgba(255, 59, 48, 0.35);
}

.wk-subscribers-item-role-manager {
    background: #FF9500;
    box-shadow: 0 2px 6px rgba(255, 149, 0, 0.35);
}


.wk-subscribers-item-name {
    font-size: 12px;
    color: rgba(9,30,66,.87);
    text-overflow: ellipsis;
    width: 100%;
    height: 14px;
    overflow: hidden;
    white-space: nowrap;
    text-align: center;
    margin-top: 5px;
    line-height: 12px;
}

body[theme-mode=dark] .wk-subscribers-item-name {
    color: white;
}

.wk-subscribers-more {
    font-size: 14px;
    margin-top: 10px;
    color: var(--wk-color-theme);
    cursor: pointer;
    text-align: center;
}




.wk-userinfo {
    background-color: var(--wk-color-secondary);
    position: relative;
    --wk-height-userInfo-footer: 60px;
    --wk-height-userInfo-nav: 44px;
    width: 100%;
    height: 100%;
}


.wk-userInfo-footer {
    width: 100%;
    height: var(--wk-height-userInfo-footer);
    background-color: white;
    position: absolute;
    bottom: 0px;
}

body[theme-mode=dark]  .wk-userInfo-footer {
    background-color: var(--wk-color-secondary);
}

.wk-userinfo-user {
    display: flex;
}

.wk-userinfo-content {
    width: 100%;
    height: calc(100% - var(--wk-height-userInfo-footer));
    overflow: auto;
}

.wk-userinfo-user-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: 15px;
}

.wk-userinfo-user-avatar {
    margin-left: 20px;
    border-radius: 50%;
    background-color: var(--wk-color-item);
    width: 54px;
    height: 54px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-userinfo-user-avatar  img{
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.wk-userinfo-user-avatar-robot-badge {
    position: absolute;
    right: -6px;
    bottom: -4px;
    min-width: 26px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: #07C160;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(7, 193, 96, 0.28);
}

.wk-userinfo-user-info-name {
    font-size: 16px;
    color: var(--wk-text-item);
}

.wk-userinfo-user-info-sex {
    font-size: 13px;
    color: var(--wk-color-font-tip);
    margin-left: 4px;
}

.wk-userinfo-user-info-others  ul {
    margin-bottom: 0px;
    margin-top: 2px;
}

.wk-userinfo-user-info-others li {
    color: var(--wk-color-font-tip);
}

.wk-userinfo-user-info-signature {
    white-space: normal;
    word-break: break-word;
    line-height: 1.5;
}

.wk-userinfo-footer-sendbutton {
    width: 100%;
    height: 100%;
    padding: 10px 15px 15px 15px;
}

.wk-userinfo-footer-sendbutton button {
    width: 100%;
    height: 40px;
}


.wk-userinfo-sections{
    margin-top: 20px;
}

.wk-userinfo-relation-tip {
    margin: 8px 15px 0 15px;
    text-align: center;
    color: var(--wk-color-font-tip);
    font-size: 13px;
}

.wk-userinfo-loading {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}

.wk-base {
  width: 100%;
  height: 100%;
}

.wk-base-modal .semi-modal-content {
  border: none !important;
  padding: 0px !important;
}

.wk-base-modal .semi-modal-close {
  display: none;
}

.wk-base-modal .semi-modal-body-wrapper {
  margin: 0px;
}

.wk-base-modal-userinfo .semi-modal-body {
  height: 500px;
}

/* Compact, centered confirmation surface shared by IM prompts. */
.wk-base-modal-alert .semi-modal-content {
  overflow: hidden;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.2) !important;
}

.wk-base-modal-alert .semi-modal-header {
  min-height: 0;
  margin: 0 !important;
  padding: 22px 24px 0 !important;
  border: 0 !important;
  text-align: center;
}

.wk-base-modal-alert .semi-modal-body-wrapper {
  margin: 0 !important;
}

.wk-base-modal-alert .semi-modal-body {
  margin: 0 !important;
  padding: 28px 24px 24px !important;
}

.wk-base-modal-alert__content {
  color: #191919;
  font-size: var(--wk-ui-font-overlay-body);
  line-height: 1.55;
  text-align: center;
  overflow-wrap: anywhere;
}

.wk-base-modal-alert .semi-modal-footer {
  display: flex;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.wk-base-modal-alert .semi-modal-footer .semi-button {
  flex: 1 1;
  height: 50px;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #07c160 !important;
  font-size: var(--wk-ui-font-overlay-action);
  font-weight: 500;
}

.wk-base-modal-alert .semi-modal-footer .semi-button + .semi-button {
  border-left: 1px solid rgba(0, 0, 0, 0.1) !important;
}

.wk-base-modal-alert .semi-modal-footer .semi-button:active {
  background: rgba(0, 0, 0, 0.05) !important;
}

.semi-button.semi-button-primary:focus-visible, .semi-button.semi-button-secondary:focus-visible, .semi-button.semi-button-tertiary:focus-visible, .semi-button.semi-button-warning:focus-visible, .semi-button.semi-button-danger:focus-visible {
  outline: 2px solid var(--wk-ui-primary);
  outline-offset: 2px;
}

.wk-base-modal-prompt .semi-modal-content {
  overflow: hidden;
  padding: 0 !important;
  border-radius: var(--wk-ui-radius-modal) !important;
  background: var(--wk-ui-surface) !important;
  box-shadow: var(--wk-ui-shadow-modal) !important;
}

.wk-base-modal-prompt .semi-modal-body-wrapper { margin: 0 !important; }
.wk-base-modal-prompt .semi-modal-body { margin: 0 !important; padding: 0 !important; }
.wk-base-modal-prompt .semi-modal-close { top: 12px; right: 12px; }

.wk-group-name-dialog { padding: 22px 22px 18px; color: var(--wk-ui-text-1); }
.wk-group-name-dialog__title { margin: 0 36px 6px 0; font-size: var(--wk-ui-font-overlay-title); line-height: 1.45; }
.wk-group-name-dialog__help { margin: 0 0 18px; color: var(--wk-ui-text-2); font-size: var(--wk-ui-font-overlay-caption); line-height: 1.5; }
.wk-group-name-dialog__label { display: block; margin-bottom: 7px; font-size: var(--wk-ui-font-overlay-body); font-weight: 500; }
.wk-group-name-dialog__input { width: 100%; box-sizing: border-box; font-size: var(--wk-ui-font-overlay-body); }
.wk-group-name-dialog__error { margin-top: 7px; color: var(--wk-ui-danger); font-size: var(--wk-ui-font-overlay-caption); }
.wk-group-name-dialog__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.wk-no-flex-gap .wk-group-name-dialog__actions > *:not(:last-child) {
  margin-right: 10px; }
.wk-group-name-dialog__actions .wk-ui-button { min-width: 82px; font-size: var(--wk-ui-font-overlay-action); }
.wk-base-floating-rail {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  /* Keep the entire input area clear, including expanded reply and keyboard layouts. */
  bottom: max(16px, calc(env(safe-area-inset-bottom) + 16px));
  bottom: max(var(--wk-floating-rail-bottom, 16px), calc(env(safe-area-inset-bottom) + 16px));
  z-index: var(--wk-ui-layer-floating);
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  gap: 12px;
  pointer-events: none;
}
.wk-no-flex-gap .wk-base-floating-rail > *:not(:last-child) {
  margin-top: 12px;
}

.wk-base-floating-rail.has-floating-window {
  bottom: 16px;
  bottom: var(--wk-floating-rail-bottom, 16px);
}

.wk-base-floating-rail__item {
  position: relative;
  pointer-events: auto;
}

.wk-base-floating-banner-slot { transition: opacity 180ms ease, transform 180ms ease; }
.wk-base-floating-banner-slot.is-exiting { opacity: 0; transform: translateY(-4px); pointer-events: none; }
.wk-base-floating-banner-slot.is-exiting * { pointer-events: none !important; }
@media (prefers-reduced-motion: reduce) { .wk-base-floating-banner-slot { transition: none; } }



.wk-subscrierlist {
    background-color: white;
    width: 100%;
    height: 100%;
    overflow: scroll;
}

.wk-subscrierlist-blocked {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 2rem;
    box-sizing: border-box;
}

.wk-subscrierlist-blocked-text {
    color: #666;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}

.wk-subscrierlist-list-item {
    display: flex;
    align-items: center;
    padding: 1rem;
    cursor: pointer;
}

.wk-subscrierlist-item-name {
    margin-left: 1rem;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 10rem;
}

.wk-subscrierlist-item-avatar-inner {
    position: relative;
    width: 48px;
    height: 48px;
}

.wk-subscrierlist-item-robot-badge {
    position: absolute;
    right: -6px;
    bottom: -2px;
    min-width: 24px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: #07C160;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(7, 193, 96, 0.28);
}

.wk-subscrierlist-item-role-owner {
    background: #f5a623 !important;
    box-shadow: 0 2px 6px rgba(245, 166, 35, 0.35) !important;
}

.wk-subscrierlist-item-role-manager {
    background: #4a90d9 !important;
    box-shadow: 0 2px 6px rgba(74, 144, 217, 0.35) !important;
}

.wk-subscrierlist-item-content {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.wk-subscrierlist-item-desc {
    font-size: 14px;
    color: #666;
}

.wk-subscrierlist-item-kick {
    margin-left: 0.75rem;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    border: 1px solid #f5a191;
    background: #fff;
    color: #07C160;
    font-size: 12px;
    cursor: pointer;
    line-height: 1.4;
    transition: background 0.15s ease;
}

.wk-subscrierlist-item-kick:hover {
    background: #fdecea;
}


.wk-userselect {
    width: 100%;
    height: 100%;
}

.wk-contactsselect {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.wk-contactsselect-content {
    width: 100%;
    height: calc(100% - var(--wk-height-viewqueueheader));

}
.wk-videotoolbar {
    width: 32px;
    height: 32px;
}

.wk-videotoolbar-content {
    width: 32px;
    height: 32px;
    cursor: pointer;
}

.wk-videotoolbar-content-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-videotoolbar-content-icon img {
    width: 24px;
    height: 24px;
}

.wk-videodialog {
    position: fixed;
    inset: 0;
    z-index: 2000;
}

.wk-videodialog-mask {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}

.wk-videodialog-content {
    position: relative;
    width: min(520px, calc(100vw - 32px));
    margin: 8vh auto 0;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
}

.wk-videodialog-content-title {
    padding: 16px 20px 0;
    font-size: 16px;
    font-weight: 600;
}

.wk-videodialog-content-body {
    padding: 16px 20px 20px;
}

.wk-videodialog-preview {
    width: 100%;
    max-height: 320px;
    border-radius: 10px;
    background: #000;
}

.wk-videodialog-meta {
    margin-top: 12px;
}

.wk-videodialog-name {
    font-size: 14px;
    font-weight: 600;
    color: #111111;
    color: var(--wk-color-text, #111111);
    word-break: break-all;
}

.wk-videodialog-desc {
    margin-top: 6px;
    font-size: 12px;
    color: #6b7280;
}

.wk-videodialog-footer {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.wk-no-flex-gap .wk-videodialog-footer > *:not(:last-child) {
    margin-right: 12px;
}

.wk-videodialog-footer button {
    border: 0;
    border-radius: 8px;
    padding: 8px 16px;
    cursor: pointer;
}

.wk-videodialog-footer-okbtn {
    color: #fff;
}


.wk-layout {
    --wk-width-layout-tab: 60px;
    --wk-height-layout-tab-min: 60px;
    --wk-layer-transition: 300ms cubic-bezier(0.33,1,0.68,1);
    --wk-slide-transition: 450ms cubic-bezier(0.25, 1, 0.5, 1);

    width: 100%;
    height: 100%;
    display: flex;
    overflow: hidden;
}

.wk-layout-tab {
    width: var(--wk-width-layout-tab);
    height: 100%;
}

.wk-layout-content {
    width: 100%;
    height: 100%;
    display: flex;
}

.wk-layout-content-left {
    width: var( --wk-width-layout-content-left);
    height: 100%;
}

.wk-layout-content-right {
    width: calc(100% - var(--wk-width-layout-content-left));
    height: 100%;
    display: flex;
    position: relative;
    overflow: hidden;
}

@media screen and (max-width: 640px)  {

    /* .wk-layout {
        flex-direction: column-reverse;
    }

    .wk-layout-tab {
        height: var(--wk-height-layout-tab-min);
        width: 100%;
    } */
    .wk-layout-content-right {
        width: 100%;
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        transform: translate3d(0, 0, 0);
        transition: transform var(--wk-layer-transition);
    }

   .wk-layout-content:not(.wk-layout-open) .wk-layout-content-right {
        transform: translate3d(100vw, 0, 0);
    }

    .wk-layout-content-left {
        width: 100%;
    }
}

:root {
    --wk-height-navheader: 64px;
}

.wk-navheader {

    height: 64px;

    height: var(--wk-height-navheader);
    width: 100%;
    background-color: var(--wk-color-secondary);
}

.wk-navheader-content {
    padding: 0px 20px;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.wk-navheader-content-left-title {
    font-size: 17px;
    font-weight: 600;
    color: #111111;
    color: var(--wk-color-text, #111111);
}

body[theme-mode=dark] .wk-navheader-content-left-title {
    color: white;
} 

.wk-message-approve-card {
    width: 260px;
}

.wk-group-invite-approval-mask {
    z-index: 100060;
    -webkit-text-size-adjust: 100%;
}
.wk-group-invite-approval-dialog {
    width: min(420px, 100%);
    max-height: min(620px, calc(100dvh - var(--wk-ui-safe-top) - var(--wk-ui-safe-bottom) - 40px));
}
.wk-group-invite-approval-header {
    flex: 0 0 auto;
    font-size: var(--wk-ui-font-overlay-title);
}
.wk-group-invite-approval-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 12px 20px;
    display: flex;
    overflow: hidden;
    font-size: var(--wk-ui-font-overlay-body);
}
.wk-group-invite-approval-intro {
    flex: 0 0 auto;
}
.wk-group-invite-approval-summary {
    display: flex;
    flex-direction: column;
    flex: 1 1;
    min-height: 0;
    padding: 8px 0;
    text-align: center;
}
.wk-group-invite-approval-inviter {
    margin-top: 8px;
    color: var(--wk-ui-text-1);
    font-weight: 600;
}
.wk-group-invite-approval-description {
    margin: 4px 0 8px;
    color: var(--wk-ui-text-2);
}
.wk-group-invite-approval-remark {
    margin-bottom: 8px;
    color: var(--wk-ui-text-3);
    overflow-wrap: anywhere;
}
.wk-group-invite-approval-members {
    flex: 0 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
    grid-gap: 12px;
    gap: 12px;
    margin-top: 8px;
}
.wk-group-invite-approval-member {
    min-width: 0;
    text-align: center;
}
.wk-group-invite-approval-member-name {
    margin-top: 4px;
    overflow: hidden;
    color: var(--wk-ui-text-1);
    font-size: var(--wk-ui-font-overlay-caption);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.wk-group-invite-approval-footer {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 20px calc(12px + var(--wk-ui-safe-bottom));
    border-top: 1px solid var(--wk-ui-line);
    background: var(--wk-ui-surface);
}
.wk-no-flex-gap .wk-group-invite-approval-footer > *:not(:last-child) {
    margin-right: 8px;
}
.wk-group-invite-approval-footer .semi-button {
    min-width: 0;
    flex: 1 1;
    white-space: nowrap;
    min-height: var(--wk-ui-control-h);
    border-radius: var(--wk-ui-radius-control);
    font-size: var(--wk-ui-font-overlay-body);
}
.wk-group-invite-approval-confirm.semi-button-primary {
    background: var(--wk-ui-primary);
}
.wk-group-invite-approval-confirm.semi-button-primary:hover,
.wk-group-invite-approval-confirm.semi-button-primary:active {
    background: var(--wk-ui-primary-press);
}

@media (max-width: 640px) {
    .wk-group-invite-approval-body {
        padding-right: 16px;
        padding-left: 16px;
    }
    .wk-group-invite-approval-footer {
        padding-right: 16px;
        padding-left: 16px;
    }
}

.wk-group-invite-approval-result {
    width: 100%;
    text-align: center;
    font-weight: 600;
    color: #666;
}


.wk-message-system {
    -webkit-user-select: none;
    -moz-user-select: none;
         user-select: none;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 92%;
    margin: 15px auto 0;
    padding: 3px 7px;
    border-radius: 4px;
    background: #d5d5d5;
    text-align: center;
    font-size: 11px;
    line-height: 1.45;
    color: #8a8a8a;
    white-space:  pre-line;
}
body[theme-mode=dark] .wk-message-system  {
    color: #999;
    background: #333;
}

.wk-message-notice-card {
    display: block;
    width: 260px;
    max-width: calc(100% - 30px);
    margin: 15px auto 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 6px;
    background: #fff;
    color: #111;
    text-align: left;
    font: inherit;
}

button.wk-message-notice-card {
    cursor: pointer;
}

.wk-message-notice-card-main {
    display: block;
    padding: 12px 15px;
}

.wk-message-notice-card-title {
    display: block;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
}

.wk-message-notice-card-copy {
    display: block;
    margin-top: 5px;
    color: #8a8a8a;
    font-size: 12px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    white-space: pre-line;
}

.wk-message-notice-card-foot {
    display: block;
    margin: 0 15px;
    padding: 8px 0;
    border-top: 1px solid rgba(0, 0, 0, .08);
    color: #8a8a8a;
    font-size: 11px;
    line-height: 1.4;
}

body[theme-mode=dark] .wk-message-notice-card {
    border-color: rgba(255, 255, 255, .1);
    background: #262626;
    color: #f1f1f1;
}

body[theme-mode=dark] .wk-message-notice-card-copy,
body[theme-mode=dark] .wk-message-notice-card-foot {
    color: #999;
}

body[theme-mode=dark] .wk-message-notice-card-foot {
    border-top-color: rgba(255, 255, 255, .1);
}

.wk-message-card {
    background-color: white;
    width: 220px;
    min-width: 176px;
    cursor: pointer;
    border-radius: 7px;
}

body[theme-mode=dark] .wk-message-card {
    background-color: var(--wk-color-secondary);
}


.wk-message-card-content {
    display: flex;
    padding: 10px 12px;
    align-items: center;
}

.wk-message-card-content-name {
    min-width: 0;
    margin-left: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 15px;
    font-weight: 500;
    color: var(--wk-text-item);

}

.wk-message-card-bottom {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 6px 12px;
    border-top: 0.5px solid #ececec;
} 

.wk-message-card-bottom-flag {
    font-size: 11px;
    color: #999;
}

.wk-message-composite {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: min(420px, calc(100vw - 118px));
  max-width: 100%;
  min-width: min(190px, calc(100vw - 118px));
}.wk-no-flex-gap .wk-message-composite > *:not(:last-child) {
  margin-bottom: 6px;
}

.wk-message-composite-text {
  margin: 0;
  word-break: break-word;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
}

.wk-message-composite-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 4px;
  gap: 4px;
  width: 100%;
}

.wk-message-composite-gallery[data-count="1"] {
  grid-template-columns: 1fr;
}

.wk-message-composite-gallery[data-count="2"] {
  grid-template-columns: repeat(2, 1fr);
}

.wk-message-composite-tile {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.08);
  border: 0;
  padding: 0;
  cursor: pointer;
  display: block;
  width: 100%;
}

.wk-message-composite-tile img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.wk-message-composite-tile-state {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 72px;
  color: inherit;
  font-size: 12px;
  opacity: 0.7;
}

.wk-message-composite-tile-state.is-error {
  background: #dde2e3;
  color: #687475;
  opacity: 1;
  flex-direction: column;
  gap: 5px;
  font-size: 10px;
}

.wk-message-composite-tile-state.is-error svg {
  width: 22px;
  height: 22px;
}

.wk-message-composite-tile-state.is-error small {
  color: #576b95;
  font-size: 10px;
}

.wk-message-composite-video-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  font-size: 12px;
}

.wk-message-composite-video-duration {
  position: absolute;
  right: 4px;
  bottom: 3px;
  padding: 0 3px;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 9px;
  line-height: 1.2;
  pointer-events: none;
}

.wk-message-composite-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  background: rgba(0, 0, 0, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.wk-message-composite-modal-panel {
  position: relative;
  max-width: min(92vw, 960px);
  max-height: 90vh;
  outline: none;
}

.wk-message-composite-modal-panel img,
.wk-message-composite-modal-panel video {
  max-width: 92vw;
  max-height: 85vh;
  display: block;
  background: #000;
}

.wk-message-composite-modal-close {
  position: absolute;
  top: -36px;
  right: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  padding: 6px 8px;
}

.wk-message-composite-modal-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  width: 40px;
  height: 40px;
  border-radius: 20px;
  cursor: pointer;
  z-index: 1;
}
.wk-message-composite-modal-nav:disabled {
  opacity: 0.35;
  cursor: default;
}
.wk-message-composite-modal-nav--prev {
  left: -48px;
}
.wk-message-composite-modal-nav--next {
  right: -48px;
}


.wk-message-text {
    word-wrap: break-word;
    word-break: break-all;
    width: 100%;
}

.wk-message-text  pre {
    margin-bottom: 0;
    white-space: pre-wrap; /*css-3*/
    white-space: -moz-pre-wrap; /*Mozilla,since1999*/
    white-space: -pre-wrap; /*Opera4-6*/
    white-space: -o-pre-wrap; /*Opera7*/
    word-wrap: break-word; /*InternetExplorer5.5+*/
    font-family: Helvetica;
}

.wk-message-text-richtext {

}

.wk-message-text-richmention {
    cursor: pointer;
    color: #576b95 !important;
    font-weight: 500;
    text-decoration: none;
}

/* 17.13.5 V2.1：被 @ 成员退群后的降级渲染：不可点击、无下划线、与普通文本同色 */
.wk-message-text-richmention-left {
    cursor: default;
    text-decoration: none;
}

.wk-message-text-send {
    color: var(--qq-bubble-me-text);
}

.wk-message-text-recv {
    color: var(--qq-bubble-other-text);
}

body[theme-mode=dark] .wk-message-text-recv {
    color: white;
}

.wk-message-text-richemoji {

}

.wk-message-text-richemoji img {
    width: 22px;
    height: 22px;
}

.wk-message-text-reply {
    display: flex;
    min-width: min(220px, calc(100vw - 120px));
    gap: 2px;
    padding: 6px 8px;
    border-left: 3px solid #4f9b36;
    border-radius: 3px;
    background: rgba(0, 0, 0, 0.06);
    color: #42513d;
    font-size: 11px;
    line-height: 1.5;
    flex-direction: column;
    cursor: pointer;
}

.wk-no-flex-gap .wk-message-text-reply > *:not(:last-child) {
    margin-bottom: 2px;
}

.wk-message-text-reply.wk-message-text-reply-recv {
    color: #42513d;
}


.wk-message-text-reply-author {
    display: flex;
    align-items: center;
    color: #347b22 !important;
    font-weight: 600;
}

.wk-message-text-reply-authoravatar {
    display: none;
}

.wk-message-text-reply-content {
    width:100%;
	color:#42513d !important;
	word-break:break-all;
	display:-webkit-box;
	-webkit-line-clamp:1;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

.wk-message-text-content {
    margin: 8px 0 0;
    word-break: break-word;
    line-height: 1.5;
    text-align: left;
    text-align: initial;
    display: flow-root;
    unicode-bidi: plaintext;
}

.wk-message-base-content:not(:has(> .wk-message-text-reply)) > .wk-message-text-content {
    margin-top: 0;
}

/* WanxiangIM shared design contract.
 * All Web, Hybrid and embedded native-WebView business surfaces consume these
 * semantic tokens and primitives.  Product pages own layout only; color,
 * spacing, feedback and overlay treatment stay here. */
:root {
  color-scheme: light;
  --wk-ui-primary: #07c160;
  --wk-ui-primary-press: #06ad56;
  --wk-ui-primary-active: #059b4d;
  --wk-ui-primary-soft: #e8f7ee;
  --wk-ui-danger: #fa5151;
  --wk-ui-danger-press: #e2453b;
  --wk-ui-danger-soft: #ffebeb;
  --wk-ui-warning: #b67a13;
  --wk-ui-warning-soft: #fff3d8;
  --wk-ui-success: #18a957;
  --wk-ui-bg: #ededed;
  --wk-ui-surface: #ffffff;
  --wk-ui-surface-subtle: #f5f5f5;
  --wk-ui-text-1: #111111;
  --wk-ui-text-2: #7f7f7f;
  --wk-ui-text-3: #b2b2b2;
  --wk-ui-line: #e5e5e5;
  --wk-ui-mask: rgba(0, 0, 0, 0.42);
  --wk-ui-font-overlay-caption: 12px;
  --wk-ui-font-overlay-body: 15px;
  --wk-ui-font-overlay-action: 17px;
  --wk-ui-font-overlay-title: 17px;
  --wk-ui-font-nav-title: 18px;

  --wk-ui-call-bg: #101114;
  --wk-ui-call-surface: #1c1d20;
  --wk-ui-call-surface-raised: #2b2b31;
  --wk-ui-call-tile: #18181c;
  --wk-ui-call-text: #ffffff;
  --wk-ui-call-text-2: rgba(255, 255, 255, 0.72);
  --wk-ui-call-control: rgba(255, 255, 255, 0.14);
  --wk-ui-call-control-press: rgba(255, 255, 255, 0.22);

  --wk-ui-space-1: 4px;
  --wk-ui-space-2: 8px;
  --wk-ui-space-3: 12px;
  --wk-ui-space-4: 16px;
  --wk-ui-space-5: 20px;
  --wk-ui-space-6: 24px;
  --wk-ui-radius-control: 8px;
  --wk-ui-radius-card: 12px;
  --wk-ui-radius-modal: 14px;
  --wk-ui-radius-sheet: 18px;
  --wk-ui-radius-pill: 999px;
  --wk-ui-shadow-card: 0 8px 28px rgba(0, 0, 0, 0.12);
  --wk-ui-shadow-modal: 0 18px 56px rgba(0, 0, 0, 0.28);
  --wk-ui-nav-h: 52px;
  --wk-ui-control-h: 44px;
  --wk-ui-touch: 44px;
  --wk-ui-safe-top: env(safe-area-inset-top, 0px);
  --wk-ui-safe-right: env(safe-area-inset-right, 0px);
  --wk-ui-safe-bottom: env(safe-area-inset-bottom, 0px);
  --wk-ui-safe-left: env(safe-area-inset-left, 0px);
  --wk-ui-ease: 180ms cubic-bezier(0.2, 0, 0, 1);
  --wk-ui-layer-content: 0;
  --wk-ui-layer-chrome: 100;
  --wk-ui-layer-popover: 1000;
  --wk-ui-layer-floating: 9997;
  --wk-ui-layer-modal: 100040;
  --wk-ui-layer-toast: 100100;
  --wk-ui-layer-bootstrap: 2147483647;

  --semi-color-primary: var(--wk-ui-primary);
  --semi-color-primary-hover: var(--wk-ui-primary-press);
  --semi-color-primary-active: var(--wk-ui-primary-active);
}

body[theme-mode="dark"] {
  color-scheme: dark;
  --wk-ui-primary-soft: #173c28;
  --wk-ui-bg: #111111;
  --wk-ui-surface: #191919;
  --wk-ui-surface-subtle: #202020;
  --wk-ui-text-1: #f5f5f5;
  --wk-ui-text-2: #a3a3a3;
  --wk-ui-text-3: #737373;
  --wk-ui-line: rgba(255, 255, 255, 0.1);
  --wk-ui-mask: rgba(0, 0, 0, 0.58);
}

.wk-ui-press {
  -webkit-tap-highlight-color: transparent;
  transition: background-color 180ms cubic-bezier(0.2, 0, 0, 1), color 180ms cubic-bezier(0.2, 0, 0, 1),
    opacity 100ms ease, transform 100ms ease;
  transition: background-color var(--wk-ui-ease), color var(--wk-ui-ease),
    opacity 100ms ease, transform 100ms ease;
}
.wk-ui-press:active:not(:disabled) { opacity: 0.72; transform: scale(0.98); }
.wk-ui-press:focus-visible { outline: 2px solid #07c160; outline: 2px solid var(--wk-ui-primary); outline-offset: 2px; }

.wk-ui-button {
  min-height: 44px;
  min-height: var(--wk-ui-control-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  gap: var(--wk-ui-space-2);
  padding: 0 16px;
  padding: 0 var(--wk-ui-space-4);
  border: 0;
  border-radius: 8px;
  border-radius: var(--wk-ui-radius-control);
  color: #111111;
  color: var(--wk-ui-text-1);
  background: #f5f5f5;
  background: var(--wk-ui-surface-subtle);
  font: inherit;
  cursor: pointer;
}

.wk-no-flex-gap .wk-ui-button > *:not(:last-child) {
  margin-right: var(--wk-ui-space-2);
}
.wk-ui-button.is-primary { color: #fff; background: #07c160; background: var(--wk-ui-primary); }
.wk-ui-button.is-primary:hover { background: #06ad56; background: var(--wk-ui-primary-press); }
.wk-ui-button.is-danger { color: #fff; background: #fa5151; background: var(--wk-ui-danger); }
.wk-ui-button.is-danger:hover { background: #e2453b; background: var(--wk-ui-danger-press); }
.wk-ui-button:disabled { opacity: 0.45; cursor: default; }

.wk-ui-input {
  min-width: 0;
  min-height: 36px;
  padding: 0 12px;
  padding: 0 var(--wk-ui-space-3);
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-ui-line);
  border-radius: 8px;
  border-radius: var(--wk-ui-radius-control);
  outline: none;
  color: #111111;
  color: var(--wk-ui-text-1);
  background: #f5f5f5;
  background: var(--wk-ui-surface-subtle);
  font: inherit;
}
.wk-ui-input::-moz-placeholder { color: #b2b2b2; color: var(--wk-ui-text-3); }
.wk-ui-input::placeholder { color: #b2b2b2; color: var(--wk-ui-text-3); }
.wk-ui-input:focus { border-color: #07c160; border-color: var(--wk-ui-primary); background: #ffffff; background: var(--wk-ui-surface); }

.wk-ui-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 100040;
  z-index: var(--wk-ui-layer-modal);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(20px, env(safe-area-inset-top, 0px))
    max(16px, env(safe-area-inset-right, 0px))
    max(20px, env(safe-area-inset-bottom, 0px))
    max(16px, env(safe-area-inset-left, 0px));
  padding: max(var(--wk-ui-space-5), var(--wk-ui-safe-top))
    max(var(--wk-ui-space-4), var(--wk-ui-safe-right))
    max(var(--wk-ui-space-5), var(--wk-ui-safe-bottom))
    max(var(--wk-ui-space-4), var(--wk-ui-safe-left));
  background: rgba(0, 0, 0, 0.42);
  background: var(--wk-ui-mask);
}
.wk-ui-modal-card {
  width: min(520px, 100%);
  max-height: min(620px, calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 40px));
  max-height: min(620px, calc(100dvh - var(--wk-ui-safe-top) - var(--wk-ui-safe-bottom) - 40px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 14px;
  border-radius: var(--wk-ui-radius-modal);
  color: #111111;
  color: var(--wk-ui-text-1);
  background: #ffffff;
  background: var(--wk-ui-surface);
  box-shadow: 0 18px 56px rgba(0, 0, 0, 0.28);
  box-shadow: var(--wk-ui-shadow-modal);
  animation: wk-ui-modal-in 180ms cubic-bezier(0.2, 0, 0, 1);
  animation: wk-ui-modal-in var(--wk-ui-ease);
}
@keyframes wk-ui-modal-in {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}
.wk-ui-modal-header {
  min-height: 52px;
  min-height: var(--wk-ui-nav-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  gap: var(--wk-ui-space-3);
  padding: 0 16px;
  padding: 0 var(--wk-ui-space-4);
  border-bottom: 1px solid #e5e5e5;
  border-bottom: 1px solid var(--wk-ui-line);
  font-size: 17px;
  font-size: var(--wk-ui-font-overlay-title);
  font-weight: 600;
}
.wk-no-flex-gap .wk-ui-modal-header > *:not(:last-child) {
  margin-right: var(--wk-ui-space-3);
}
.wk-ui-modal-close {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #7f7f7f;
  color: var(--wk-ui-text-2);
  background: #f5f5f5;
  background: var(--wk-ui-surface-subtle);
  font: inherit;
  font-size: 22px;
  cursor: pointer;
}

.wk-ui-bottom-sheet {
  width: min(520px, 100%);
  max-height: min(70dvh, 620px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  border-radius: var(--wk-ui-radius-sheet) var(--wk-ui-radius-sheet) 0 0;
  color: #111111;
  color: var(--wk-ui-text-1);
  background: #f5f5f5;
  background: var(--wk-ui-surface-subtle);
  box-shadow: 0 18px 56px rgba(0, 0, 0, 0.28);
  box-shadow: var(--wk-ui-shadow-modal);
}
.wk-ui-list-cell {
  min-height: 56px;
  display: flex;
  align-items: center;
  gap: 12px;
  gap: var(--wk-ui-space-3);
  padding: 8px 16px;
  padding: var(--wk-ui-space-2) var(--wk-ui-space-4);
  border-bottom: 1px solid #e5e5e5;
  border-bottom: 1px solid var(--wk-ui-line);
  color: #111111;
  color: var(--wk-ui-text-1);
  background: #ffffff;
  background: var(--wk-ui-surface);
}
.wk-no-flex-gap .wk-ui-list-cell > *:not(:last-child) {
  margin-right: var(--wk-ui-space-3);
}

.wk-ui-status {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 2px 8px;
  padding: 2px var(--wk-ui-space-2);
  border-radius: 999px;
  border-radius: var(--wk-ui-radius-pill);
  color: #7f7f7f;
  color: var(--wk-ui-text-2);
  background: #f5f5f5;
  background: var(--wk-ui-surface-subtle);
  font-size: 11px;
  line-height: 1.5;
  white-space: nowrap;
}
.wk-ui-status.is-pending { color: #b67a13; color: var(--wk-ui-warning); background: #fff3d8; background: var(--wk-ui-warning-soft); }
.wk-ui-status.is-error { color: #fa5151; color: var(--wk-ui-danger); background: #ffebeb; background: var(--wk-ui-danger-soft); }
.wk-ui-status.is-success { color: #18a957; color: var(--wk-ui-success); background: #e8f7ee; background: var(--wk-ui-primary-soft); }

.wk-ui-empty,
.wk-ui-loading,
.wk-ui-error {
  min-height: 96px;
  display: grid;
  place-items: center;
  padding: 20px;
  padding: var(--wk-ui-space-5);
  color: #7f7f7f;
  color: var(--wk-ui-text-2);
  text-align: center;
}
.wk-ui-error { color: #fa5151; color: var(--wk-ui-danger); }
.wk-ui-toast {
  max-width: min(80vw, 360px);
  padding: 10px 14px;
  border-radius: 8px;
  border-radius: var(--wk-ui-radius-control);
  color: #fff;
  background: rgba(17, 17, 17, 0.88);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
  box-shadow: var(--wk-ui-shadow-card);
}

@media (max-width: 640px) {
  :root { --wk-ui-touch: 48px; --wk-ui-control-h: 46px; }
  .wk-ui-modal-card { width: min(88vw, 420px); }
  .wk-ui-modal-close { width: 44px; width: var(--wk-ui-touch); height: 44px; height: var(--wk-ui-touch); }
  .wk-ui-bottom-sheet {
    width: 100%;
    margin: auto 0 calc(-1 * max(20px, env(safe-area-inset-bottom, 0px)));
    margin: auto 0 calc(-1 * max(var(--wk-ui-space-5), var(--wk-ui-safe-bottom)));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    padding-bottom: var(--wk-ui-safe-bottom);
  }
}

@media (prefers-reduced-motion: reduce) {
  .wk-ui-press { transition: none; }
  .wk-ui-modal-card { animation: none; }
}



.wk-blacklist {

}

.wk-blacklist-content ul li {
    height: 80px;
    width: 100%;
    background-color: var(--wk-color-item);
    display: flex;
    align-items: center;
    cursor: pointer;
}


.wk-blacklist-content-avatar {
    margin-left: 15px;
}

.wk-blacklist-content-avatar img{
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.wk-blacklist-content-title {
    margin-left: 15px;
    font-size: 15px;
    font-weight: 500;
    color: var(--wk-text-item);
}

.wk-contacts {
    width: 100%;
    height: 100%;
    --wk-height-contacts-content-header:50px;
    border-right: var(--wk-line);
}

.wk-contacts-content-header {
    width: 100%;
    padding: 0px 10px;
    background-color: var(--wk-color-secondary);
}

.wk-contacts-content {
    width: 100%;
    height: calc( 100% - var(--wk-height-navheader));
    overflow: auto;
}

.wk-contacts-content-contacts {
    width: 100%;
}

.wk-contacts-section {

}

.wk-contacts-section-list {
    padding: 0px 5px;
    background-color: var(--wk-color-item);
}


.wk-contacts-section-item-index {
    width: 50px;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
}

body[theme-mode=dark] .wk-contacts-section-item-index  {
    color: white;
}

.wk-contacts-section-item {
    display: flex;
    align-items: center;
    padding: 15px 15px 15px 0px;
    cursor: pointer;
}

body[theme-mode=dark] .wk-contacts-section-item  {
    background-color: var(--wk-color-secondary-2);
}

/* .wk-contacts-section-item:hover {
    background-color: var(--wk-color-hover);
    border-radius: 10px;
} */

.wk-contacts-section-item-selected {
    background-color: var(--wk-color-theme);
    color: white;
    border-radius: 10px;
}

.wk-contacts-section-item-avatar {
    position: relative;
    width: 50px;
    height: 50px;
    flex-shrink: 0;
}

.wk-contacts-section-item-avatar img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

/* 在线状态徽标（对齐 iOS WKOnlineBadgeView） */
.wk-contacts-online-badge {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-contacts-online-badge-inner {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #7CD053;
}

/* 最近离线（有文字提示）*/
.wk-contacts-online-badge-text {
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    background: #eef9e9;
    color: #7CD053;
    font-size: 9px;
    font-weight: 600;
    line-height: 13px;
    padding: 0 4px;
    border-radius: 999px;
    border: 1.5px solid white;
}


.wk-contacts-section-item-name {
    margin-left: 15px;
}

body[theme-mode=dark] .wk-contacts-section-item-name {
    color: white;
}

.wk-contacts-content-fnc {
    width: 100%;
}

.wk-contacts-content-header .wk-search-box{

    background-color: white;
    width: 100%;
    border-radius: 4px;
}

/* 群聊段（搜索时显示在联系人段后，对齐微信 / Telegram） */
.wk-contacts-group-section-title {
    padding: 12px 20px 6px 20px;
    font-size: 13px;
    color: #999;
    color: var(--wk-color-text-secondary, #999);
}

body[theme-mode=dark] .wk-contacts-group-section-title {
    color: #999;
}

.wk-contacts-empty {
    padding: 30px 15px;
    text-align: center;
    color: #999;
    font-size: 14px;
}

.wk-friendadd .wk-search-box {
  border-radius: 0px;
  background-color: white;
}

.wk-friendadd .wk-search-input {
  max-width: 100%;
}

.wk-friendadd .wk-search-input input {
  width: 250px;
}

.wk-friendadd-content-qrcode {
  margin-top: 10px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wk-friendadd-content-tip {
  margin-top: 10px;
  color: var(--semi-color-text-2);
  font-size: 13px;
  text-align: center;
}

.wk-friendadd-result-list {
  margin-top: 12px;
  max-height: calc(100vh - 250px);
  overflow-y: auto;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
}

.wk-friendadd-result-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  transition: background-color 0.18s ease;
}

.wk-no-flex-gap .wk-friendadd-result-item > *:not(:last-child) {
  margin-right: 12px;
}

.wk-friendadd-result-item + .wk-friendadd-result-item {
  border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.wk-friendadd-result-item:hover {
  background: rgba(217, 119, 6, 0.08);
}

.wk-friendadd-result-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex: 0 0 44px;
  -o-object-fit: cover;
     object-fit: cover;
}

.wk-friendadd-result-meta {
  min-width: 0;
  flex: 1 1;
}

.wk-friendadd-result-action {
  flex: 0 0 auto;
}

.wk-friendadd-result-action .semi-button {
  min-width: 84px;
}

.wk-friendadd-result-name {
  color: #0f172a;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  word-break: break-all;
}

.wk-friendadd-result-subtitle {
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
  word-break: break-all;
}

.wk-friendadd-result-empty,
.wk-friendadd-result-more {
  padding: 18px 16px;
  color: #64748b;
  font-size: 13px;
  text-align: center;
}

body[theme-mode="dark"] .wk-friendadd-content-qrcode {
  color: white;
}

body[theme-mode="dark"] .wk-friendadd-content-tip {
  color: rgba(255, 255, 255, 0.72);
}

body[theme-mode="dark"] .wk-friendadd-result-list {
  background: rgba(15, 23, 42, 0.86);
  border-color: rgba(148, 163, 184, 0.18);
}

body[theme-mode="dark"] .wk-friendadd-result-item + .wk-friendadd-result-item {
  border-top-color: rgba(148, 163, 184, 0.14);
}

body[theme-mode="dark"] .wk-friendadd-result-item:hover {
  background: rgba(217, 119, 6, 0.14);
}

body[theme-mode="dark"] .wk-friendadd-result-name {
  color: #f8fafc;
}

body[theme-mode="dark"] .wk-friendadd-result-subtitle,
body[theme-mode="dark"] .wk-friendadd-result-empty,
body[theme-mode="dark"] .wk-friendadd-result-more {
  color: rgba(226, 232, 240, 0.78);
}

.wk-friendadd-content-qrcode img {
  margin-left: 4px;
  width: 18px;
  height: 18px;
  cursor: pointer;
}

/* 2026-05-18：搜索框 + 搜索按钮一行布局 */
.wk-friendadd-search-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;        /* 2026-05-19：留出右侧空间，按钮不会贴边裁切（Mac 窄侧边栏） */
  box-sizing: border-box;
  width: 100%;
}
.wk-no-flex-gap .wk-friendadd-search-row > *:not(:last-child) {
  margin-right: 8px;
}
.wk-friendadd-search-input {
  flex: 1 1;
  min-width: 0;
}
/* 让 Search 组件内部 input 跟随父容器宽度，覆盖默认 250px 固定宽 */
.wk-friendadd-search-input .wk-search-box,
.wk-friendadd-search-input .wk-search-input,
.wk-friendadd-search-input .wk-search-input input {
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.wk-friendadd-search-btn {
  height: 36px;
  padding: 0 16px;
  border: none;
  border-radius: 4px;
  background: #d97706;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.15s;
  flex-shrink: 0;
}
.wk-friendadd-search-btn:hover:not(:disabled) {
  background: #b45309;
}
.wk-friendadd-search-btn:disabled {
  background: #d1d5db;
  cursor: not-allowed;
}



.wk-groupsave {
    width: 100%;
    height: 100%;
    border-right: var(--wk-line);
}

.wk-groupsave-content {
    height: calc(100% - var( --wk-height-viewqueueheader));
    width: 100%;
    overflow-y: auto;
}

.wk-groupsave-content li {
    height: 80px;
    background-color: var(--wk-color-item);
    display: flex;
    align-items: center;
    cursor: pointer;
}

.wk-groupsave-content-avatar {
    margin-left: 15px;
}

.wk-groupsave-content-avatar img{
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.wk-groupsave-content-title {
    margin-left: 15px;
    font-size: 15px;
    font-weight: 500;
    color: var(--wk-text-item);
}

.wk-groupsave-more {
    padding: 16px 20px 24px;
    text-align: center;
    font-size: 12px;
    color: var(--wk-color-text-tip);
}

.wk-newfriend {
    width: 100%;
    height: 100%;
    border-right: var(--wk-line);
}

.wk-newfriend-content {
    height: calc(100% - var(--wk-height-viewqueueheader));
    width: 100%;
    overflow-y: auto;
}

.wk-newfriend-content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.wk-newfriend-content li {
    display: flex;
    width: 100%;
    min-height: 96px;
    padding: 16px 18px;
    box-sizing: border-box;
    background-color: var(--wk-color-item);
    border-bottom: var(--wk-line);
    align-items: flex-start;
    gap: 14px;
}

.wk-no-flex-gap .wk-newfriend-content li > *:not(:last-child) {
    margin-right: 14px;
}

.wk-newfriend-content-avatar img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.wk-newfriend-content-body {
    flex: 1 1;
    min-width: 0;
}

.wk-newfriend-content-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.wk-no-flex-gap .wk-newfriend-content-title-row > *:not(:last-child) {
    margin-right: 12px;
}

.wk-newfriend-content-title-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--wk-text-item);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wk-newfriend-content-time {
    flex-shrink: 0;
    font-size: 12px;
    color: var(--wk-color-text-tip);
}

.wk-newfriend-content-title-remark {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--wk-color-text-secondary);
    word-break: break-word;
}

.wk-newfriend-content-footer {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.wk-no-flex-gap .wk-newfriend-content-footer > *:not(:last-child) {
    margin-right: 12px;
}

.wk-newfriend-content-action {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wk-no-flex-gap .wk-newfriend-content-action > *:not(:last-child) {
    margin-right: 8px;
}

.wk-newfriend-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--wk-color-text-tip);
}

.wk-newfriend-status.accepted {
    color: #0f766e;
    background: rgba(15, 118, 110, 0.12);
}

.wk-newfriend-status.refused,
.wk-newfriend-status.canceled,
.wk-newfriend-status.expired {
    color: #9f1239;
    background: rgba(190, 24, 93, 0.10);
}

.wk-newfriend-status.pending {
    color: #a16207;
    background: rgba(202, 138, 4, 0.12);
}

.wk-newfriend-empty {
    padding: 48px 20px;
    text-align: center;
    color: var(--wk-color-text-tip);
}

.wk-newfriend-more {
    padding: 16px 20px 24px;
    text-align: center;
    font-size: 12px;
    color: var(--wk-color-text-tip);
}

.wk-main-modal-organizational-group-new .semi-modal-body-wrapper {
  margin: 0;
}
.wk-main-modal-organizational-group-new .semi-modal-close {
  display: none;
}
.wk-main-modal-organizational-group-new .semi-modal-body {
  height: 500px;
  display: flex;
}
.wk-main-modal-organizational-group-new .semi-modal-content {
  border: none !important;
  padding: 0px !important;
}

.wk-organizational-group-new-left {
  width: 50%;
  height: 100%;
  background-color: var(--wk-color-secondary);
  padding: 12px;
  display: flex;
  flex-direction: column;
}

.wk-organizational-group-new-left .group-new-left-main {
  flex: 1 1 auto;
  overflow-y: auto;
}

.wk-organizational-group-new-left .group-new-left-search {
  margin-bottom: 12px;
}
.wk-organizational-group-new-left
  .group-new-left-search
  .group-new-left-search-input.semi-input-wrapper-focus {
  border: var(--wk-color-theme) solid 1px;
}
.wk-organizational-group-new-left
  .group-new-left-search
  .group-new-left-search-input.semi-input-wrapper-focus:active {
  border: var(--wk-color-theme) solid 1px;
}
/* 好友选择 */
.group-new-left-main .friend-opt .organization-name {
  display: flex;
  align-items: center;
  padding: 12px 8px;
  color: var(--semi-color-text-0);
  cursor: pointer;
}
.group-new-left-main .friend-opt .organization-name:hover {
  background-color: var(--semi-color-fill-0);
}
.group-new-left-main .friend-opt .friend-opt-main .friend-opt-item {
  display: flex;
  align-items: center;
  padding: 12px 8px;
  font-size: 14px;
  line-height: 20px;
  color: var(--semi-color-text-0);
  row-gap: 0;
}
.group-new-left-main .friend-opt .friend-opt-main .friend-opt-item:hover {
  background-color: var(--semi-color-fill-0);
}

/* 组织架构选择 */
.group-new-left-main .organizational-opt {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.group-new-left-main .organizational-opt-header {
  height: 44px;
  margin-bottom: 12px;
  border-radius: 4px;
}
.group-new-left-main .organizational-opt-header .wk-viewqueueheader {
  background-color: var(--semi-color-fill-0);
  height: 100%;
}
.group-new-left-main .organizational-opt-main {
  flex: 1 1 auto;
  overflow-y: auto;
}
.organizational-tree {
  width: 100%;
  height: 100%;
}
.organizational-tree .semi-input-wrapper-focus {
  border: var(--wk-color-theme) solid 1px;
}
.organizational-tree .semi-input-wrapper-focus:active {
  border: var(--wk-color-theme) solid 1px;
}
.organizational-tree .semi-tree-option-list {
  padding-top: 0;
  flex: 1 1 auto;
  overflow-y: auto;
}
.organizational-tree .semi-tree-option-list li.semi-tree-option {
  box-sizing: border-box;
  padding-top: 12px;
  padding-bottom: 12px;
}

.semi-checkbox:hover .semi-checkbox-inner-display {
  background: var(--semi-color-fill-0);
  box-shadow: inset 0 0 0 1px var(--wk-color-theme);
}

.semi-checkbox:hover .semi-checkbox-inner-checked .semi-checkbox-inner-display {
  background: var(--wk-color-theme);
  border-color: var(--wk-color-theme);
  color: var(--semi-color-white);
}

.organizational-tree .semi-tree-option-list-block .department-icon {
  color: var(--wk-color-theme);
}
.organizational-tree
  .semi-tree-option-list-block
  .semi-tree-option-selected
  .department-icon {
  color: #fff;
}

.organizational-tree .semi-tree-option-list-block .semi-tree-option-selected {
  background-color: var(--wk-color-theme);
  color: #fff;
}

.organizational-tree
  .semi-tree-option-list-block
  .semi-tree-option-selected:hover {
  background-color: var(--wk-color-theme);
  color: #fff;
}

.organizational-tree
  .semi-tree-option-list-block
  .semi-tree-option-selected
  .semi-tree-option-expand-icon {
  color: #fff;
}

.wk-organizational-group-new-right {
  width: 50%;
  height: 100%;
  background-color: var(--wk-color-item);
  padding: 12px;
  display: flex;
  flex-direction: column;
}
.wk-organizational-group-new-right .organizational-group-new-right-title {
  font-size: 15px;
  font-weight: bold;
}
.wk-organizational-group-new-right .organizational-group-new-right-body {
  flex: 1 1 auto;
  overflow-y: auto;
  margin: 12px 0;
}
.wk-organizational-group-new-right
  .organizational-group-new-right-body
  .opt-personnel-item {
  padding: 12px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  line-height: 20px;
  word-break: break-word;
  color: var(--semi-color-text-0);
}

.wk-organizational-group-new-right
  .organizational-group-new-right-body
  .opt-personnel-item
  .user-info {
  display: flex;
  align-items: center;
}

.wk-organizational-group-new-right
  .organizational-group-new-right-body
  .opt-personnel-item
  .close-icon {
  display: flex;
  align-items: center;
}

.wk-organizational-group-new-right
  .organizational-group-new-right-body
  .opt-personnel-item
  .close-icon
  .semi-icon {
  cursor: pointer;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wk-organizational-group-new-right
  .organizational-group-new-right-body
  .opt-personnel-item
  .close-icon
  .semi-icon:hover {
  background-color: rgb(112, 117, 121, 0.08);
}

.wk-organizational-group-new-right .organizational-group-new-right-footer {
  display: flex;
  justify-content: flex-end;
}

.wk-but-ok:hover {
  background-color: var(--wk-color-theme) !important;
}

#root {
  width: 100%;
  height: 100%;
}

.App {
  text-align: center;
}

.App-logo {
  height: 40vmin;
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .App-logo {
    animation: App-logo-spin infinite 20s linear;
  }
}

.App-header {
  background-color: #282c34;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: calc(10px + 2vmin);
  color: white;
}

.App-link {
  color: #61dafb;
}

@keyframes App-logo-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.wk-app-tab-glyph {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8f949c;
  background: rgba(143, 148, 156, 0.18);
  font-size: 12px;
  font-weight: 600;
  -webkit-user-select: none;
          user-select: none;
}

.wk-app-tab-glyph.selected {
  color: #ffffff;
  background: #07C160;
}

.m-shell {
  position: relative;
  /* iOS WKWebView 的布局视口不会随软键盘收缩，只会更新 visualViewport。
     index.html 将它同步到 --app-vh；根壳必须使用该高度，否则 WebKit 为了露出
     输入框会平移整个文档，连顶部导航一起顶走。Android adjustResize 下两者相等。 */
  height: 100%;
  height: var(--app-vh, 100%);
  width: 100%;
  max-width: 100%;
  background: var(--m-color-bg);
  overflow: hidden;
}

/* tab 根容器 */
.m-shell__root {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* 导航栈推入的页见 MobileNavStack.css(.m-nav-page,带转场/侧滑)*/

/* 顶部导航栏(含状态栏安全区)*/
.m-navbar {
  position: relative;
  flex-shrink: 0;
  height: calc(var(--m-navbar-h) + var(--safe-top));
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: var(--m-color-surface);
  border-bottom: 0.5px solid var(--m-color-line);
}
.m-navbar__action {
  position: absolute;
  right: 6px;
  bottom: 0;
  width: 44px;
  height: var(--m-navbar-h);
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  color: var(--m-color-text);
}
.m-navbar__action-left {
  right: auto;
  left: 6px;
}
.m-navbar__title {
  height: var(--m-navbar-h);
  line-height: var(--m-navbar-h);
  font-size: var(--m-font-title);
  font-weight: 600;
  color: var(--m-color-text);
}

/* 内容区(keep-alive:容纳 4 个常驻 tab pane)*/
.m-shell__body {
  flex: 1 1;
  min-height: 0;
  position: relative;
}
.m-shell__pane {
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.m-shell__pane.is-hidden {
  display: none;
}

/* 底部 tab 栏(含 home 条安全区)*/
.m-tabbar {
  flex-shrink: 0;
  height: calc(62px + var(--safe-bottom));
  display: flex;
  padding-top: 4px;
  background: #ededed;
  border-top: 1px solid #e7e7e7;
  position: relative;
  z-index: 20;
}
/* 键盘弹出时隐藏底部 tab(对齐微信:搜索/输入时 tab 不上浮)*/
.m-tabbar.is-kbd-hidden {
  display: none;
}
.m-tabbar__item {
  flex: 1 1;
  border: none;
  background: none;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  padding: 4px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  color: var(--m-color-text-secondary);
  font-size: 11px;
}
.wk-no-flex-gap .m-tabbar__item > *:not(:last-child) {
  margin-bottom: 2px;
}
.m-tabbar__item.is-active {
  color: #059948;
}
.m-tabbar__icon {
  width: 24px;
  height: 24px;
  position: relative;
}
/* 激活 tab:图标后面一颗浅紫 pill(贴设计稿)*/
.m-tabbar__item.is-active .m-tabbar__icon::before { content:none }
.m-tabbar__icon svg {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  z-index: 1;
}
.m-tabbar__label {
  line-height: 1.15;
  font-size: 11px;
}
/* 「消息」tab 未读角标(对齐原生 app badge,免打扰不计入)*/
.m-tabbar__badge {
  position: absolute;
  top: -5px;
  left: 50%;
  margin-left: 6px;
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  box-sizing: border-box;
  background: #ff3b30;
  background: var(--m-color-danger, #ff3b30);
  color: #fff;
  border-radius: 9px;
  font-size: 11px;
  line-height: 17px;
  text-align: center;
  font-weight: 600;
  z-index: 2;
}

/* 占位(其余 tab / 聊天骨架共用)*/
.m-placeholder {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--m-color-text-secondary);
  text-align: center;
  padding: 24px;
}
.wk-no-flex-gap .m-placeholder > *:not(:last-child) {
  margin-bottom: 8px;
}
.m-placeholder__tag {
  font-size: 22px;
  font-weight: 600;
  color: var(--m-color-text);
}
.m-placeholder__hint {
  font-size: var(--m-font-sm);
  line-height: 1.6;
}

/* ===== 各 tab 的微信式中性顶栏 ===== */
/* 通讯录 / 发现：中性顶栏。 */
.m-navbar--brand {
  /* solid 主色打底 + 渐变叠加:iOS WKWebView 在 transform 滑入子页时,渐变层会晚一帧栅格化,
     shorthand background 会把 background-color 清成透明 → 透出页面浅底导致顶栏「先闪白」。
     固定色打底后即便渐变晚栅格化也先显紫,跳转无闪白(同款见 .m-brandhead / .m-chat__nav)。*/
  background-color: #ededed;
  background-image: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.m-navbar--brand .m-navbar__title {
  color: #111;
}
/* 子页外壳（SubPageShell/MobileSubPage 复用 m-chat__ 类）使用深色文字。 */
.m-navbar--brand .m-chat__title,
.m-navbar--brand .m-chat__back,
.m-navbar--brand .m-chat__nav-right {
  color: #111;
}
/* 消息:渐变 + 嵌磨砂搜索(brandhead)*/
.m-brandhead {
  flex-shrink: 0;
  background-color: #ededed;
  background-image: none;
  padding-top: var(--safe-top);
}
.m-bhnav {
  position: relative;
  height: var(--m-navbar-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px 0 14px;
}
.m-bhnav__side {
  width: 40px;
  flex-shrink: 0;
}
/* 企业标识只显示总控 Logo，不暴露企业名或企业码。 */
.m-bhnav__ent {
  display: flex;
  align-items: center;
  min-width: 0;
  color: #111;
}
.m-bhnav__ent-logo {
  width: 44px;
  height: 44px;
  border-radius: 11px;
  object-fit: cover;
  flex-shrink: 0;
  background: rgba(0, 0, 0, 0.06);
}
/* 标题绝对居中,不被左侧企业 Logo 宽度影响 */
.m-bhnav__title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: var(--m-font-title);
  font-weight: 600;
  color: #111;
  pointer-events: none;
}
.m-bhnav__btn {
  margin-left: auto;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  color: #111;
}
.m-bhsearch {
  margin: 7px 12px 12px;
  height: 36px;
  border-radius: 6px;
  background: #fff;
  color: #b2b2b2;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  font-size: 14px;
}
.wk-no-flex-gap .m-bhsearch > *:not(:last-child) {
  margin-right: 6px;
}

/* 一级导航与搜索使用设计稿的 49px 标题栏、1.7px 线性图标。 */
.m-shell__root > .m-navbar { --m-navbar-h: 49px; border-bottom-color: transparent; }
.m-shell__root > .m-navbar .m-navbar__title { font-size: 18px; }
.m-brandhead .m-bhnav { height: 49px; }
.m-brandhead .m-bhnav__title { font-size: 18px; }
.m-brandhead svg, .m-tabbar__icon svg { stroke-width: 1.7; }
.m-bhsearch { gap: 8px; padding: 0 10px; color: var(--m-color-text-tertiary); }
.m-tabbar__item { color: var(--m-color-text); }

.wk-session-float { position:relative; display:flex; align-items:center; gap:10px; width:190px; min-height:72px; box-sizing:border-box; padding:12px; border:1px solid #e7e7e7; border-radius:12px; background:#fff; color:#202124; box-shadow:0 3px 12px #00000012; text-align:left; cursor:grab; touch-action:none; visibility:visible; pointer-events:auto; font:inherit; }.wk-no-flex-gap .wk-session-float > *:not(:last-child) { margin-right:10px; }
.wk-session-float:active { cursor:grabbing; }
.wk-session-float__avatar { display:grid; place-items:center; width:44px; height:44px; flex:none; border-radius:10px; overflow:hidden; background:#e9f8ef; color:#07a653; }
.wk-session-float__avatar img,.wk-session-float__avatar>div { width:100%!important; height:100%!important; -o-object-fit:cover; object-fit:cover; }
.wk-session-float__copy { min-width:0; display:flex; flex-direction:column; gap:6px; }
.wk-no-flex-gap .wk-session-float__copy > *:not(:last-child) { margin-bottom:6px; }
.wk-session-float strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:500; }
.wk-session-float small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; color:#81858b; font-feature-settings:"tnum"; font-variant-numeric:tabular-nums; }
.wk-session-float__badge { position:absolute; top:-5px; right:-5px; background:#e5484d; color:white; min-width:18px; border-radius:10px; padding:2px; font-size:11px; text-align:center; }
.wk-session-float.is-video { width:116px; height:160px; min-height:160px; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; overflow:hidden; background:#252a2d; border-color:#404549; color:white; }
.wk-session-float__video-name { height:28px; flex:none; box-sizing:border-box; padding:6px 8px; }
.wk-session-float__media { position:relative; flex:1 1; min-height:0; display:flex; align-items:center; justify-content:center; overflow:hidden; pointer-events:none; }
.wk-session-float__media video,.wk-session-float__media img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover; }
.wk-session-float__video-detail { height:28px; flex:none; padding:7px 8px; box-sizing:border-box; color:#e6e8e9!important; }

.wk-session-float.is-join strong { color:#07a653; }

.wk-session-float__video-detail { display:flex; align-items:center; gap:4px; }

.wk-no-flex-gap .wk-session-float__video-detail > *:not(:last-child) { margin-right:4px; }
.wk-session-float__video-detail svg { flex:none; }
.wk-session-float__video-detail span { overflow:hidden; text-overflow:ellipsis; }


.wk-p2pcall {
    width: 100%;
    height: 665px;
    overflow: hidden;
    background-color: rgb(0, 0, 0,0.90);
    position: relative;

}

.wk-p2pcall-localvideo {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    border-radius: 8px;
    transition: all 250ms ease-in-out;
    -o-object-fit: cover;
       object-fit: cover;
}

.wk-p2pcall-content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 0px;
    pointer-events:none;
}

.wk-p2pcall-modal .semi-modal-content{
    padding: 0px !important;
}

.wk-p2pcall-modal .semi-modal-body-wrapper {
    margin: 0px;
}

/* SS-72：P2P 通话改用非阻塞悬浮窗（showFloatingWindow，无 Modal/遮罩），与群会议一致。
   之前用 Semi Modal + DOM hack 隐藏遮罩，但遮罩是 modal 的前兄弟、CSS 用了 + 选后兄弟没命中，
   所以仍然全屏阻塞。现在直接渲染浮窗节点，背后 IM 主界面可正常打字操作。 */
.wk-p2pcall-floating {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 380px;
    height: 480px;
    z-index: 2147483600;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.wk-p2pcall-floating .wk-p2pcall {
    width: 100%;
    height: 100%;
}

/* 缩小按钮(左上角) */
.wk-p2pcall-minbtn {
    position: absolute;
    top: calc(14px + env(safe-area-inset-top, 0px));
    left: 14px;
    z-index: 1001; /* 必须高于视频层(changebig/small 997/998),否则视频通话时缩小按钮被画面盖住、看不见点不到 */
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* 微信式小窗:浮窗收成一个小药丸,后台可继续聊天;点一下恢复 */
.wk-p2pcall-floating.is-min {
    width: 168px;
    height: 58px;
    right: 16px;
    bottom: 120px;
    border-radius: 29px;
    background: #23202e;
    /* 关键:小窗只让药丸本身吃事件,容器透传 → 背后 IM 可正常滚动/打字(真·非阻塞)。
       拖动监听挂在容器上,但事件由药丸(pointer-events:auto)冒泡上来,故拖动/点击恢复仍生效。 */
    pointer-events: none;
}
.wk-p2pcall-floating.is-min .wk-p2pcall-mini {
    pointer-events: auto;
}
.wk-p2p-min {
    cursor: pointer;
}
.wk-p2p-min .wk-p2pcall-content,
.wk-p2p-min .wk-p2pcall-footer,
.wk-p2p-min .wk-p2pcall-localvideo,
.wk-p2p-min .wk-p2pcall-remotevideo {
    display: none !important;
}
.wk-p2pcall-mini {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    box-sizing: border-box;
}
.wk-no-flex-gap .wk-p2pcall-mini > *:not(:last-child) {
    margin-right: 10px;
}
.wk-p2pcall-mini-tip {
    color: #fff;
    font-size: 13.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

/* Win→Win 通话窗口不再全屏阻塞：右下角小窗，可让用户继续操作 IM 主界面 */
.wk-p2pcall-modal {
    position: fixed !important;
    right: 24px !important;
    bottom: 24px !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 380px !important;
    max-width: 380px !important;
    margin: 0 !important;
    pointer-events: auto !important;
}
/* 通话窗口本体高度收紧 */
.wk-p2pcall-modal .wk-p2pcall {
    height: 480px !important;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.45);
}
/* 弱化 modal 遮罩，不再黑屏阻塞主界面（保留 dim 让通话区视觉清楚） */
.wk-p2pcall-modal + .semi-modal-mask,
.wk-p2pcall-modal-mask {
    background: transparent !important;
    pointer-events: none !important;
}

.wk-p2pcall-userbox {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 100px;

    opacity: 1;
    transition: opacity 500ms ease-in-out;
}

.wk-userbox-name, .wk-userbox-tip{
    font-size: 17px;
    font-weight: bold;
    color: white;
    margin-top: 10px;
}

.wk-userbox-tip {
    font-size: 15px;
    margin-top: 10px;
}

.wk-p2pcall-footer {
    width: 100%;
    height: 150px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: absolute;
    bottom: 0px;
    transition:all 250ms ease-in-out;
    transform: translateY(0px);
}

.wk-p2pcall-remotevideo {
    background-color: rgb(0, 0, 0,0.90);
    transition: all 250ms ease-in-out;
    border-radius: 8px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    opacity: 0;
    width: 120px;
    height: 160px;
    cursor: pointer;
    -o-object-fit: cover;
       object-fit: cover;

}

.wk-p2pcall .wk-p2pcall-footer {
    z-index: 999;
}

.wk-p2p-answering,.wk-p2p-talking .wk-p2pcall-userbox{
    opacity: 0;
}

.wk-p2p-answering,.wk-p2p-talking .wk-p2pcall-remotevideo{
    opacity: 1;
}

.wk-p2p-calltype-audio .wk-p2pcall-userbox {
    opacity: 1;
}

.wk-p2pcall-localvideo:hover .wk-p2pcall-footer,
.wk-p2pcall-remotevideo:hover .wk-p2pcall-footer,
.wk-p2p-answering:hover .wk-p2pcall-footer,
.wk-p2p-talking:hover .wk-p2pcall-footer {
  transform: translateY(0px);
}

.wk-p2p-calltype-audio video {
    visibility: hidden;
}



.wk-p2p-calling .wk-p2pcall-content {
    z-index: 1000;
}

.wk-p2p-talking .wk-p2pcall-footer {
    transform: translateY(150px);
}

.wk-p2p-talking.wk-p2p-calltype-video .wk-p2pcall-footer,
.wk-p2p-answering.wk-p2p-calltype-video .wk-p2pcall-footer {
    transform: translateY(0px);
}

.wk-p2p-calltype-audio .wk-p2pcall-footer {
    transform: translateY(0px);
}

@media (hover: none), (pointer: coarse), (max-width: 520px) {
    .wk-p2p-answering .wk-p2pcall-footer,
    .wk-p2p-talking .wk-p2pcall-footer {
        transform: translateY(0px);
    }
}

.wk-p2p-changesmall {
    top: 20px;
    right: 20px;
    z-index: 998;
}


.wk-p2p-changebig {
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 997;
}

/* 移动端:P2P 单聊通话(去呼/来电同容器)改全屏,覆盖桌面右下角悬浮窗 + 拖动写的 inline left/top。
   ⚠ 只在「非小窗」时全屏:加 :not(.is-min) —— 否则全屏 !important 会盖掉小窗药丸,导致 minimized 仍占满
   全屏 + 吃掉所有触摸(背后 IM 死)。小窗态(.is-min)走上面那条无 !important 的药丸规则,inline 拖动可覆盖。 */
@media (max-width: 520px) {
    .wk-p2pcall-floating:not(.is-min) {
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        top: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    .wk-p2pcall-floating:not(.is-min) .wk-p2pcall {
        width: 100% !important;
        height: 100% !important;
    }
}
/* 免提(扬声器)切换:接通后显示,在挂断按钮上方居中(微信式)。容器透传点击,只按钮吃事件。 */
.wk-p2pcall-controls {
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(150px + env(safe-area-inset-bottom, 0px));
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 22px 26px; /* 视频通话有 麦克风/免提/摄像头/翻转 4 个,缩小间距以适配窄屏(必要时换行) */
    padding: 0 16px;
    box-sizing: border-box;
    z-index: 1001; /* 高于视频层(997/998),否则视频通话时控制按钮被画面盖住、看不见 */
    pointer-events: none;
}
.wk-p2pcall-ctrl {
    pointer-events: auto;
    background: none;
    border: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    color: #fff;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.wk-no-flex-gap .wk-p2pcall-ctrl > *:not(:last-child) {
    margin-bottom: 7px;
}
.wk-p2pcall-ctrl-ic {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, color 0.15s ease;
}
.wk-p2pcall-ctrl.is-on .wk-p2pcall-ctrl-ic {
    background: #fff;
    color: #1a1a1a;
}
.wk-p2pcall-ctrl-label {
    font-size: 12.5px;
    color: rgba(255, 255, 255, 0.9);
}

/* 视频通话缩小:小窗显示远端视频画面(微信式竖向缩略图);窗小,窗外是 App 可正常操作。
   覆盖 .wk-p2p-min 把 remotevideo display:none 的规则(本规则 3 类选择器,特异性更高)。 */
.wk-p2pcall-floating.is-min-video {
    width: 108px !important;
    height: 176px !important;
    border-radius: 12px !important;
    background: #000 !important;
    pointer-events: auto !important;
}
.wk-p2pcall-floating.is-min-video .wk-p2pcall { pointer-events: auto !important; }
.wk-p2pcall-floating.is-min-video .wk-p2pcall-mini { display: none !important; }
.wk-p2pcall-floating.is-min-video .wk-p2pcall-localvideo { display: none !important; }
.wk-p2pcall-floating.is-min-video .wk-p2pcall-remotevideo {
    display: block !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 12px !important;
    -o-object-fit: cover !important;
       object-fit: cover !important;
    z-index: 1 !important;
}

.wk-call-btn {
    width: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.wk-call-btn button {
    width: 64px;
    height: 64px;
    border-radius: 100%;
    border: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.wk-call-btn img {
    width: 32px;
    height: 32px;
}

.wk-call-btn .hangup {
    background-color: rgb(230, 90, 70);
}

.wk-call-btn .label {
    color: white;
    margin-top: 10px;
}

.wk-call-btn .answer {
    background-color: green;
}


.wk-message-callsystem {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.wk-callsystem-content {
    margin-left: 6px;
    margin-right: 6px;
}

/* 图标跟随气泡文字色(发送白/接收深),微信风电话/摄像机线性图标 */
.wk-callsystem-icon {
    display: inline-flex;
    align-items: center;
    color: inherit;
    opacity: 0.92;
}

.wk-message-callsystem-authority {
    padding: 2px 0;
    gap: 9px;
}

.wk-message-callsystem-authority .wk-callsystem-content {
    margin: 0;
    font-size: 15px;
    line-height: 1.35;
}

.wk-message-callsystem-authority.is-missed .wk-callsystem-content,
.wk-message-callsystem-authority.is-missed .wk-callsystem-icon {
    color: #ee4d4f;
}

.wk-call-record-choices { display: flex; flex-direction: column; gap: 10px; padding: 8px 0 16px; }

.wk-no-flex-gap .wk-call-record-choices > *:not(:last-child) {
    margin-bottom: 10px; }
.wk-call-record-choices button { min-height: 44px; }
.wk-message-callsystem[role="button"] { cursor: pointer; }
.wk-message-callsystem[role="button"]:focus-visible { outline: 2px solid var(--wk-ui-primary); outline-offset: 3px; }

.wk-call-switch-note {
    width: 100%;
    box-sizing: border-box;
    padding: 4px 10px;
    color: #8a8a8a;
    color: var(--wk-color-font-tip, #8a8a8a);
    font-size: 12px;
    line-height: 20px;
    text-align: center;
}

/* 群会议主界面占满有效视口；最小化后才回到可拖动药丸。 */
.wk-waiting-invite-banner {
  position: fixed;
  z-index: 100060;
  top: max(12px, calc(env(safe-area-inset-top) + 8px));
  right: 16px;
  left: 16px;
  box-sizing: border-box;
  max-width: 560px;
  min-height: 82px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid var(--wk-ui-line);
  border-radius: var(--wk-ui-radius-card);
  color: var(--wk-ui-text-1);
  background: var(--wk-ui-surface);
  box-shadow: var(--wk-ui-shadow-modal);
  text-align: left;
}
.wk-no-flex-gap .wk-waiting-invite-banner > *:not(:last-child) {
  margin-right: 16px;
}
.wk-waiting-invite-banner__copy { min-width: 0; display: flex; flex: 1 1; flex-direction: column; gap: 4px; }
.wk-no-flex-gap .wk-waiting-invite-banner__copy > *:not(:last-child) {
  margin-bottom: 4px; }
.wk-waiting-invite-banner__copy strong { font-size: 15px; }
.wk-waiting-invite-banner__copy span { color: var(--wk-ui-text-2); font-size: 13px; line-height: 19px; }
.wk-waiting-invite-banner__actions { flex: 0 0 auto; display: flex; gap: 8px; }
.wk-no-flex-gap .wk-waiting-invite-banner__actions > *:not(:last-child) {
  margin-right: 8px; }
.wk-waiting-invite-banner__actions button { min-width: 62px; min-height: 36px; border: 0; border-radius: var(--wk-ui-radius-control); }
.wk-waiting-invite-banner__actions button.is-primary { color: #fff; background: var(--wk-ui-primary); }

.wk-conf-window {
  position: fixed;
  inset: 0;
  z-index: 9999;
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  background: var(--wk-ui-call-surface);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  color: var(--wk-ui-call-text);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.wk-conf-header {
  box-sizing: border-box;
  /* 导航栏:内容区 44px,顶部再叠状态栏安全区(刘海/状态栏下),全屏时标题不被状态栏盖住 */
  min-height: calc(44px + env(safe-area-inset-top, 0px));
  min-height: calc(44px + var(--safe-top, env(safe-area-inset-top, 0px)));
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: env(safe-area-inset-top, 0px) 10px 0 14px;
  padding: var(--safe-top, env(safe-area-inset-top, 0px)) 10px 0 14px;
  background: var(--wk-ui-call-surface-raised);
  cursor: default;
}
.wk-conf-title {
  font-size: 13px;
  font-weight: 500;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.wk-conf-header-btns {
  display: flex;
  align-items: center;
  gap: 8px;
}
.wk-no-flex-gap .wk-conf-header-btns > *:not(:last-child) {
  margin-right: 8px;
}
.wk-conf-rejoin-entry {
  height: 28px;
  padding: 0 11px;
  border: 0;
  border-radius: var(--wk-ui-radius-pill);
  color: #fff;
  background: var(--wk-ui-primary);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
}
.wk-conf-rejoin-entry:hover { background: var(--wk-ui-primary-press); }
.wk-conf-manage-entry {
  height: 28px;
  padding: 0 11px;
  border: 0;
  border-radius: 14px;
  color: var(--wk-ui-text-1);
  background: var(--wk-ui-surface);
  font-size: 12px;
  cursor: pointer;
}
.wk-conf-manage-entry:hover { background: var(--wk-ui-surface-subtle); }
.wk-conf-direct-entry {
  height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--wk-ui-radius-pill);
  color: var(--wk-ui-call-text);
  background: var(--wk-ui-call-control);
  font-size: 12px;
  cursor: pointer;
}
.wk-no-flex-gap .wk-conf-direct-entry > *:not(:last-child) {
  margin-right: 4px;
}
.wk-conf-direct-entry:hover { background: var(--wk-ui-call-control-press); }
.wk-conf-direct-entry svg { width: 16px; height: 16px; }
.wk-conf-more-entry { font-size: 16px; letter-spacing: 1px; }
.wk-conf-more-mask {
  position: absolute;
  inset: 0;
  z-index: 100030;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
  background: var(--wk-ui-mask);
}
.wk-conf-more-card {
  width: min(380px, 100%);
  overflow: hidden;
  border-radius: var(--wk-ui-radius-modal);
  color: var(--wk-ui-text-1);
  background: var(--wk-ui-surface-subtle);
  box-shadow: var(--wk-ui-shadow-modal);
}
.wk-conf-more-title {
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px 0 18px;
  border-bottom: 1px solid var(--wk-ui-line);
  background: var(--wk-ui-surface);
  font-size: 17px;
}
.wk-conf-more-title button {
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--wk-ui-text-2);
  background: var(--wk-ui-surface-subtle);
  font-size: 22px;
}
.wk-conf-more-card > button {
  width: 100%;
  min-height: 66px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 18px;
  border: 0;
  border-bottom: 1px solid var(--wk-ui-line);
  color: var(--wk-ui-text-1);
  background: var(--wk-ui-surface);
  text-align: left;
  cursor: pointer;
}
.wk-no-flex-gap .wk-conf-more-card > button > *:not(:last-child) {
  margin-right: 12px;
}
.wk-conf-more-card > button > span { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: var(--wk-ui-radius-control); background: var(--wk-ui-bg); font-size: 20px; }
.wk-conf-more-card > button > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.wk-no-flex-gap .wk-conf-more-card > button > div > *:not(:last-child) {
  margin-bottom: 2px; }
.wk-conf-more-card > button strong { font-size: 15px; }
.wk-conf-more-card > button small { color: var(--wk-ui-text-2); font-size: 12px; }

.wk-meeting-moderation-mask {
  position: fixed;
  inset: 0;
  z-index: 100040;
  display: flex;
  align-items: stretch;
  justify-content: center;
  box-sizing: border-box;
  padding: 0;
  background: var(--wk-ui-surface);
}
.wk-meeting-moderation-shell { width: 100%; height: 100vh; height: 100dvh; min-width: 0; }
.wk-meeting-moderation {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0;
  background: var(--wk-ui-surface);
  color: var(--wk-ui-text-1);
  box-shadow: none;
}
.wk-meeting-moderation-title {
  min-height: 52px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  padding: 0 16px 0 10px;
  font-size: 17px;
  font-weight: 600;
  border-bottom: 1px solid var(--wk-ui-line);
}
.wk-meeting-moderation-title > span { text-align: left; }
.wk-meeting-moderation-title > small { color: var(--wk-ui-text-2); font-size: 12px; font-weight: 400; }
.wk-meeting-moderation-title button {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: var(--wk-ui-surface-subtle);
  color: var(--wk-ui-text-2);
  display: grid;
  place-items: center;
  padding: 0;
  cursor: pointer;
}
.wk-meeting-moderation-tip { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 20px 4px; color: var(--wk-ui-text-2); font-size: 12px; }
.wk-no-flex-gap .wk-meeting-moderation-tip > *:not(:last-child) {
  margin-right: 12px; }
.wk-meeting-moderation-tip button { flex: 0 0 auto; min-height: 32px; padding: 0 12px; border: 0; border-radius: var(--wk-ui-radius-control); color: #fff; background: var(--wk-ui-primary); }
.wk-meeting-moderation-search { display: flex; align-items: center; gap: 10px; padding: 6px 20px; color: var(--wk-ui-text-2); font-size: 12px; }
.wk-no-flex-gap .wk-meeting-moderation-search > *:not(:last-child) {
  margin-right: 10px; }
.wk-meeting-moderation-search input, .wk-conf-host-picker > input { min-width: 0; height: 34px; flex: 1 1; }
.wk-meeting-moderation-list { min-height: 0; flex: 1 1 auto; overflow-y: auto; padding: 6px 12px 14px; -webkit-overflow-scrolling: touch; }
.wk-meeting-moderation-row { min-height: 58px; display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-bottom: 1px solid var(--wk-ui-line); }
.wk-no-flex-gap .wk-meeting-moderation-row > *:not(:last-child) {
  margin-right: 10px; }
.wk-meeting-moderation-member-copy { min-width: 72px; flex: 1 1; display: flex; flex-direction: column; gap: 3px; overflow: hidden; }
.wk-no-flex-gap .wk-meeting-moderation-member-copy > *:not(:last-child) {
  margin-bottom: 3px; }
.wk-meeting-moderation-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wk-meeting-moderation-state { overflow: hidden; color: var(--wk-ui-text-2); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.wk-meeting-moderation-status { flex: 0 0 auto; }
.wk-meeting-moderation-status.is-inviting,
.wk-meeting-moderation-status.is-rejoin_pending { color: var(--wk-ui-warning); background: var(--wk-ui-warning-soft); }
.wk-meeting-moderation-status.is-refused,
.wk-meeting-moderation-status.is-expired,
.wk-meeting-moderation-status.is-removed { color: var(--wk-ui-danger); background: var(--wk-ui-danger-soft); }
.wk-meeting-moderation-actions { display: flex; gap: 6px; }
.wk-no-flex-gap .wk-meeting-moderation-actions > *:not(:last-child) {
  margin-right: 6px; }
.wk-meeting-moderation-actions.is-roster-state { align-items: center; }
.wk-meeting-moderation-actions button { min-height: 30px; height: 30px; padding: 0 10px; white-space: nowrap; }
.wk-meeting-moderation-actions button.is-danger { color: var(--wk-ui-danger); background: var(--wk-ui-surface); }
.wk-meeting-moderation-actions button.is-primary { color: #fff; background: var(--wk-ui-primary); }
.wk-meeting-moderation-actions button:disabled { opacity: .5; cursor: default; }
.wk-meeting-moderation-empty { padding: 40px 12px; text-align: center; color: var(--wk-ui-text-2); }
.wk-meeting-moderation-pages { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 4px 12px 10px; color: var(--wk-ui-text-2); font-size: 12px; }
.wk-no-flex-gap .wk-meeting-moderation-pages > *:not(:last-child) {
  margin-right: 12px; }
.wk-meeting-moderation-pages button { min-height: 28px; height: 28px; padding: 0 12px; border-radius: var(--wk-ui-radius-pill); }
.wk-meeting-moderation-pages button:disabled { opacity: .4; }
.wk-meeting-moderation-confirm-mask { position: absolute; inset: 0; z-index: 5; display: flex; align-items: center; justify-content: center; padding: 24px; }
.wk-meeting-moderation-confirm { width: min(320px, 100%); overflow: hidden; color: var(--wk-ui-text-1); background: var(--wk-ui-surface); text-align: center; }
.wk-meeting-moderation-confirm > strong { display: block; padding: 24px 20px 8px; font-size: 17px; }
.wk-meeting-moderation-confirm > p { margin: 0; padding: 0 20px 22px; color: var(--wk-ui-text-2); font-size: 13px; line-height: 1.55; }
.wk-meeting-moderation-confirm > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--wk-ui-line); }
.wk-meeting-moderation-confirm button { min-height: 52px; border: 0; color: var(--wk-ui-text-1); background: var(--wk-ui-surface); font-size: 16px; }
.wk-meeting-moderation-confirm button + button { border-left: 1px solid var(--wk-ui-line); }
.wk-meeting-moderation-confirm button.is-danger { color: var(--wk-ui-danger); font-weight: 600; }
.wk-conf-hbtn {
  width: 32px;
  height: 28px;
  border: none;
  border-radius: 7px;
  background: var(--wk-ui-call-control);
  color: var(--wk-ui-call-text);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wk-conf-hbtn:hover {
  background: var(--wk-ui-call-control-press);
}

.wk-conf-grid {
  flex: 1 1 auto;
  overflow-y: auto; /* SS-72：格子多时内部滚动，不溢出盖住控制条 */
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  padding: 4px;
  background: var(--wk-ui-call-bg);
  min-height: 200px;
  grid-template-columns: repeat(2, 1fr);
}
/* 人数自适应列数 */
.wk-conf-grid-1 {
  grid-template-columns: 1fr;
}
.wk-conf-grid-2,
.wk-conf-grid-3,
.wk-conf-grid-4 {
  grid-template-columns: repeat(2, 1fr);
}
.wk-conf-grid-5,
.wk-conf-grid-6,
.wk-conf-grid-7,
.wk-conf-grid-8,
.wk-conf-grid-9 {
  grid-template-columns: repeat(3, 1fr);
}
.wk-conf-grid-many { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); align-content: start; }

.wk-conf-tile {
  position: relative;
  background: var(--wk-ui-call-tile);
  border-radius: var(--wk-ui-radius-control);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wk-conf-tile-video {
  position: absolute;
  inset: 0;
  min-width: 0;
  min-height: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background: #000;
}
.wk-conf-tile-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #3a3a42;
  font-size: 26px;
  color: #fff;
}
.wk-conf-tile-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.wk-conf-tile-name {
  position: absolute;
  left: 6px;
  bottom: 6px;
  font-size: 12px;
  padding: 2px 6px;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 4px;
  max-width: 90%;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.wk-no-flex-gap .wk-conf-tile-name > *:not(:last-child) {
  margin-right: 3px;
}
.wk-conf-tile-name-txt {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wk-conf-tile-mute {
  display: inline-flex;
  align-items: center;
  color: var(--wk-ui-danger);
  flex-shrink: 0;
}
.wk-conf-tile-status {
  flex: 0 0 auto;
  padding: 1px 5px;
  border-radius: 7px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.14);
  font-size: 9px;
  white-space: nowrap;
}
.wk-conf-tile-status.is-joined { color: #dff7e8; background: rgba(7,193,96,.28); }
.wk-conf-tile-status.is-inviting,
.wk-conf-tile-status.is-rejoin_pending { color: #fff0c7; background: rgba(242,184,75,.22); }
.wk-conf-tile-status.is-refused,
.wk-conf-tile-status.is-expired,
.wk-conf-tile-status.is-removed { color: #ffdede; background: rgba(250,81,81,.24); }
.wk-conf-joining {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #aaa;
  font-size: 14px;
}

/* 微信式底部控制栏:圆图标 + 文字标签(复用 P2pcall 通话窗风格) */
.wk-conf-bar {
  min-height: 92px;
  flex-shrink: 0; /* SS-72：控制条不被压缩/盖住 */
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 12px 22px;
  padding: 14px 10px calc(14px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, rgba(43,43,49,.96), #2b2b31 26%);
}
.wk-no-flex-gap .wk-conf-bar > *:not(:last-child) {
  margin-right: 22px;
}
.wk-conf-cbtn {
  border: none;
  background: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  color: #fff;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.wk-no-flex-gap .wk-conf-cbtn > *:not(:last-child) {
  margin-bottom: 7px;
}
.wk-conf-cbtn-ic {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, color 0.15s ease;
}
.wk-conf-cbtn:hover .wk-conf-cbtn-ic {
  background: rgba(255, 255, 255, 0.28);
}
/* 激活态(静音中 / 免提开 / 摄像头关):白底深色 */
.wk-conf-cbtn.is-on .wk-conf-cbtn-ic {
  background: #fff;
  color: #1a1a1a;
}
/* 挂断:红色 */
.wk-conf-cbtn--danger .wk-conf-cbtn-ic {
  background: #e2453b;
  color: #fff;
}
.wk-conf-cbtn--danger:hover .wk-conf-cbtn-ic {
  background: #f0584e;
}
.wk-conf-cbtn-label {
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.9);
}

/* 最小化:微信式可拖动药丸(168x58),后台 App 可正常操作;点一下恢复 */
.wk-conf-pill {
  position: fixed;
  z-index: 9999;
  width: 168px;
  height: 58px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  box-sizing: border-box;
  background: #23202e;
  color: #fff;
  border-radius: 29px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  font-size: 13.5px;
  touch-action: none; /* pointer 拖动:禁用触摸滚动手势 */
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.wk-no-flex-gap .wk-conf-pill > *:not(:last-child) {
  margin-right: 8px;
}
.wk-conf-pill-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--wk-ui-primary);
  flex-shrink: 0;
  animation: wk-conf-pulse 1.4s infinite;
}
@keyframes wk-conf-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.wk-conf-pill-tip {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
.wk-conf-pill-count {
  opacity: 0.7;
  margin-left: auto;
  flex-shrink: 0;
}

/* 群会议成员选择器 */
.wk-conf-member-picker {
  display: flex;
  flex-direction: column;
  height: 420px;
}
.wk-conf-member-list {
  flex: 1 1;
  overflow-y: auto;
  min-height: 0;
}
.wk-conf-member-footer {
  padding: 12px 0 4px;
  text-align: center;
  border-top: 1px solid var(--wk-ui-line);
}
.wk-conf-member-start {
  width: 90%;
  height: 38px;
  border: none;
  border-radius: var(--wk-ui-radius-control);
  background: var(--wk-ui-primary);
  color: #fff;
  font-size: 15px;
  cursor: pointer;
}
.wk-conf-member-start:disabled {
  background: var(--wk-ui-text-3);
  cursor: not-allowed;
}

.wk-conf-host-picker { padding: 0 0 8px; }
.wk-conf-host-picker button {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 58px;
  padding: 8px 18px; border: 0; border-bottom: 1px solid var(--wk-ui-line); background: var(--wk-ui-surface);
  color: var(--wk-ui-text-1); font-size: 16px; text-align: left; cursor: pointer;
}
.wk-no-flex-gap .wk-conf-host-picker button > *:not(:last-child) {
  margin-right: 12px;
}
.wk-conf-host-picker button:active { background: var(--wk-ui-surface-subtle); }
.wk-conf-host-picker img, .wk-conf-host-fallback { width: 40px; height: 40px; border-radius: 4px; -o-object-fit: cover; object-fit: cover; }
.wk-conf-host-fallback { display: inline-flex; flex: 0 0 40px; align-items: center; justify-content: center; background: var(--wk-ui-primary); color: #fff; }
.wk-conf-host-empty { padding: 28px 16px; color: var(--wk-ui-text-2); text-align: center; }
.wk-conf-rejoin-modal .semi-modal-content {
  overflow: hidden;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--wk-ui-radius-modal) !important;
  background: var(--wk-ui-surface) !important;
  box-shadow: var(--wk-ui-shadow-modal) !important;
}
.wk-conf-rejoin-modal .semi-modal-header {
  min-height: 0;
  margin: 0 !important;
  padding: 22px 24px 0 !important;
  border: 0 !important;
  text-align: center;
}
.wk-conf-rejoin-modal .semi-modal-title {
  width: 100%;
  color: var(--wk-ui-text-1);
  font-size: 17px;
  font-weight: 600;
  text-align: center;
}
.wk-conf-rejoin-modal .semi-modal-close {
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  color: var(--wk-ui-text-2) !important;
}
.wk-conf-rejoin-modal .semi-modal-close:hover { background: rgba(0, 0, 0, 0.05) !important; }
.wk-conf-rejoin-modal .semi-modal-body-wrapper,
.wk-conf-rejoin-modal .semi-modal-body {
  margin: 0 !important;
  padding: 0 !important;
}
.wk-conf-rejoin-approval { color: var(--wk-ui-text-1); font-size: 15px; text-align: center; }
.wk-conf-rejoin-approval__summary { padding: 14px 24px 12px; color: var(--wk-ui-text-2); font-size: 14px; line-height: 1.45; }
.wk-conf-rejoin-approval__list { max-height: min(420px, 52vh); overflow-y: auto; -webkit-overflow-scrolling: touch; }
.wk-conf-rejoin-approval__request { border-top: 1px solid rgba(0, 0, 0, 0.08); }
.wk-conf-rejoin-approval__name { padding: 15px 20px 13px; font-size: 16px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.wk-conf-rejoin-approval__actions { display: flex; border-top: 1px solid rgba(0, 0, 0, 0.08); }
.wk-conf-rejoin-approval__actions button {
  flex: 1 1; height: 50px; margin: 0; padding: 0 12px; border: 0; border-radius: 0;
  background: transparent; color: var(--wk-ui-text-1); font-size: 16px; font-weight: 500; cursor: pointer;
}
.wk-conf-rejoin-approval__actions button + button { border-left: 1px solid rgba(0, 0, 0, 0.1); }
.wk-conf-rejoin-approval__actions button:active { background: rgba(0, 0, 0, 0.05); }
.wk-conf-rejoin-approval__actions button:disabled { color: var(--wk-ui-text-3); cursor: default; }
.wk-conf-rejoin-approval__actions .wk-conf-rejoin-approval__approve { color: var(--wk-ui-primary); }
.wk-conf-rejoin-approval__actions .wk-conf-rejoin-approval__approve:disabled { color: #9fdcb8; }

/* 群会议工具栏按钮 */
.wk-conf-toolbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  cursor: pointer;
  border-radius: 6px;
}
.wk-conf-toolbar-btn:hover {
  background: rgba(0, 0, 0, 0.06);
}

/* 统一右侧轨道中的群会议圆形入口。 */
.wk-conf-banner {
  position: relative;
  z-index: 1;
  touch-action: none;
}
.wk-conf-banner-card {
  position: relative;
  margin-bottom: 8px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  width: 190px;
  box-sizing: border-box;
  padding: 14px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
  color: #202622;
  font-size: 13px;
}
.wk-no-flex-gap .wk-conf-banner-card > *:not(:last-child) {
  margin-bottom: 7px;
}
.wk-conf-banner-card strong { font-size: 14px; }
.wk-conf-banner-card__actions { display: flex; gap: 8px; margin-top: 4px; }
.wk-no-flex-gap .wk-conf-banner-card__actions > *:not(:last-child) {
  margin-right: 8px; }
.wk-conf-banner-card__actions button {
  flex: 1 1;
  min-height: 34px;
  border: 1px solid #dfe5e1;
  border-radius: 9px;
  background: #fff;
  color: #344139;
}
.wk-conf-banner-card__actions button.is-primary {
  border-color: var(--wk-ui-primary);
  background: var(--wk-ui-primary);
  color: #fff;
}

/* 来电小卡（右下角悬浮，非阻塞） */
/* 来电邀请:微信/单聊通话风格——桌面右下角竖窗,移动端全屏;大头像 + 名字 + 提示 + 底部 接听/拒绝。 */
.wk-conf-incoming {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 10000;
  width: 340px;
  height: 500px;
  background: var(--wk-ui-call-surface);
  color: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.wk-conf-incoming-minimize {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 18px;
  background: rgba(255, 255, 255, .1);
  color: #fff;
}
.wk-conf-incoming-pill {
  position: fixed;
  z-index: 10000;
  top: max(14px, calc(env(safe-area-inset-top) + 8px));
  right: 14px;
  width: min(198px, calc(100vw - 28px));
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border: 0;
  border-radius: 29px;
  background: #23202e;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .34);
  color: #fff;
  text-align: left;
}
.wk-no-flex-gap .wk-conf-incoming-pill > *:not(:last-child) {
  margin-right: 10px;
}
.wk-conf-incoming-pill .wk-conf-pill-dot.is-ringing { background: #fa5151; }
.wk-conf-incoming-pill > span:last-child { min-width: 0; display: flex; flex: 1 1; flex-direction: column; gap: 2px; }
.wk-no-flex-gap .wk-conf-incoming-pill > span:last-child > *:not(:last-child) {
  margin-bottom: 2px; }
.wk-conf-incoming-pill strong { font-size: 14px; line-height: 20px; }
.wk-conf-incoming-pill small { overflow: hidden; color: rgba(255, 255, 255, .7); font-size: 12px; line-height: 16px; text-overflow: ellipsis; white-space: nowrap; }
.wk-conf-incoming-box {
  margin-top: 84px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.wk-conf-incoming-av {
  width: 96px;
  height: 96px;
  border-radius: 18px;
  overflow: hidden;
  background: #3a3a42;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 38px;
  color: #fff;
}
.wk-conf-incoming-av img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.wk-conf-incoming-sub {
  max-width: 286px;
  margin-top: 20px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
  color: #fff;
  text-align: center;
}
.wk-conf-incoming-footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(48px + env(safe-area-inset-bottom, 0px));
  display: flex;
  justify-content: space-around;
  padding: 0 36px;
}

/* 发起方等待(只有自己、还没人加入):单聊呼叫风格——居中大头像 + 状态文案。 */
.wk-conf-waiting {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: var(--wk-ui-call-bg);
  color: var(--wk-ui-call-text);
}
.wk-no-flex-gap .wk-conf-waiting > *:not(:last-child) {
  margin-bottom: 16px;
}
.wk-conf-waiting-av {
  width: 92px;
  height: 92px;
  border-radius: 18px;
  overflow: hidden;
  background: #3a3a42;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
}
.wk-conf-waiting-av img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.wk-conf-waiting-tip {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.7);
}

/* 移动端:群会议悬浮窗改全屏(覆盖拖动写的 inline left/top + 桌面限宽限高)。 */
@media (max-width: 520px) {
  .wk-conf-window {
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }
  .wk-conf-grid {
    max-height: none;
    overflow-y: auto;
  }
  .wk-conf-tile { aspect-ratio: 1; }
  /* 手机单页沿用微信式九宫格；人数不限，超出当前视区继续滚动/虚拟化。 */
  .wk-conf-grid-5,
  .wk-conf-grid-6,
  .wk-conf-grid-7,
  .wk-conf-grid-8,
  .wk-conf-grid-9 {
    grid-template-columns: repeat(3, 1fr);
  }
  .wk-conf-bar { gap: 0; justify-content: space-around; }
  .wk-conf-cbtn { min-width: 0; flex: 1 1 25%; }
  .wk-conf-cbtn-ic { width: 50px; height: 50px; }
  .wk-conf-identity { display: none; }
  .wk-conf-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .wk-conf-header-btns { gap: 4px; }
  .wk-conf-direct-entry { width: 40px; justify-content: center; padding: 0; }
  .wk-conf-direct-entry svg { display: block; }
  .wk-meeting-moderation-mask { align-items: stretch; padding: 0; background: var(--wk-ui-surface); }
  .wk-meeting-moderation-shell { width: 100%; height: 100dvh; }
  .wk-meeting-moderation { height: 100dvh; max-height: none; border-radius: 0; box-shadow: none; }
  .wk-meeting-moderation-title { min-height: calc(52px + env(safe-area-inset-top)); padding-top: env(safe-area-inset-top); }
  .wk-meeting-moderation-search { padding: 8px 14px; }
  .wk-meeting-moderation-list { padding: 0 12px max(14px, env(safe-area-inset-bottom)); }
  .wk-meeting-moderation-row { min-height: 64px; gap: 6px; padding: 8px 2px; }
  .wk-meeting-moderation-member-copy { min-width: 0; }
  .wk-meeting-moderation-actions { flex: 0 0 auto; gap: 2px; }
  .wk-meeting-moderation-actions button { min-width: 42px; padding: 0 6px; }
  /* 来电邀请改全屏(单聊通话同款) */
  .wk-conf-incoming {
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding-top: env(safe-area-inset-top, 0px);
    padding-top: var(--safe-top, env(safe-area-inset-top, 0px));
  }
}

.wk-waiting-invite-banner { animation: wk-invite-enter 180ms ease-out both; }
.wk-waiting-invite-banner__avatar { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 10px; background: var(--wk-ui-primary); color: #fff; display: grid; place-items: center; }
.wk-waiting-invite-banner__copy small { color: var(--wk-ui-text-2); font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.wk-waiting-invite-banner__actions button.is-danger { color: #fff; background: var(--wk-ui-danger); }
@keyframes wk-invite-enter { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .wk-waiting-invite-banner { animation: none; } }
@media (max-width: 640px) { .wk-waiting-invite-banner { gap: 8px; padding: 10px; } .wk-waiting-invite-banner__copy strong { font-size: 13px; } .wk-waiting-invite-banner__copy span, .wk-waiting-invite-banner__copy small { font-size: 11px; line-height: 15px; } .wk-waiting-invite-banner__actions { gap: 5px; } .wk-waiting-invite-banner__actions button { min-width: 46px; min-height: 32px; padding: 0 8px; } }

.wk-conf-tile-identity { position: absolute; top: 8px; left: 8px; right: 64px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; color: white; text-shadow: 0 1px 3px #000; font-size: 12px; }
.wk-conf-tile-identity > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.wk-conf-tile-identity small { background: rgba(0,0,0,.48); border-radius: 4px; padding: 1px 4px; }
.wk-conf-tile-join { position: absolute; top: 8px; right: 8px; padding: 2px 5px; border-radius: 5px; background: rgba(0,0,0,.55); color: #f3bd68; font-size: 10px; }
.wk-conf-tile-join.is-joined { color: #64d799; }
.wk-conf-tile-media-controls { position: absolute; bottom: 8px; left: 8px; display: flex; gap: 6px; }
.wk-no-flex-gap .wk-conf-tile-media-controls > *:not(:last-child) {
  margin-right: 6px; }
.wk-conf-media-state { position: relative; width: 28px; height: 28px; border: 0; border-radius: 50%; padding: 5px; background: rgba(28,30,34,.78); color: #fff; display: grid; place-items: center; }
.wk-conf-media-state svg { width: 18px; height: 18px; }
.wk-conf-media-state:disabled { opacity: 1; cursor: default; }
.wk-conf-media-state.is-muted { background: #73777d; }
.wk-conf-media-state.is-speaking { color: #48d488; animation: wk-speaking-pulse 1s ease-in-out infinite alternate; }
.wk-conf-media-state.is-unavailable { color: #efbb68; }
.wk-conf-media-state b { position: absolute; right: 0; top: -3px; }
.wk-conf-tile-remove { position: absolute; right: 8px; bottom: 8px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--wk-ui-danger); color: white; font-size: 23px; line-height: 26px; }
@keyframes wk-speaking-pulse { from { box-shadow: 0 0 0 0 rgba(72,212,136,.08); } to { box-shadow: 0 0 0 3px rgba(72,212,136,.19); } }
@media (prefers-reduced-motion: reduce) { .wk-conf-media-state.is-speaking { animation: none; } }

.wk-rtc-mobile-orb, .wk-native-call-pill.wk-rtc-mobile-orb { position: relative; inset: auto; width: 64px; height: 64px; min-height: 64px; padding: 8px 3px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; display: flex; flex-direction: column; justify-content: center; gap: 3px; background: var(--wk-ui-call-surface-raised); color: white; box-shadow: 0 4px 16px rgba(0,0,0,.25); touch-action: none; cursor: pointer; text-align: center; }

.wk-no-flex-gap .wk-rtc-mobile-orb > *:not(:last-child),
.wk-no-flex-gap .wk-native-call-pill.wk-rtc-mobile-orb > *:not(:last-child) {
  margin-bottom: 3px; }
.wk-rtc-mobile-orb strong { font-size: 12px; font-weight: 500; }
.wk-rtc-mobile-orb small { display: block; max-width: 56px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.wk-rtc-mobile-orb .wk-native-call-pill-dot { display: none; }
.wk-p2pcall.wk-p2p-min { visibility: hidden; pointer-events: none; }
.wk-base-floating-rail .wk-rtc-mobile-orb { visibility: visible; pointer-events: auto; }

.wk-meeting-moderation-avatar { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 8px; overflow: hidden; display: grid; place-items: center; background: var(--wk-ui-bg); }
.wk-meeting-moderation-avatar img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.wk-meeting-moderation-name small { margin-left: 3px; font-size: 10px; color: var(--wk-ui-text-2); }
.wk-meeting-moderation-state.is-speaking { color: #299b5d; }
.wk-meeting-first-requests { flex: 0 1 auto; max-height: 30%; overflow-y: auto; border-bottom: 1px solid var(--wk-ui-line); }
.wk-meeting-first-requests .wk-meeting-moderation-member-copy small { display: block; color: var(--wk-ui-text-2); font-size: 11px; }

.wk-waiting-invite-banner__avatar { overflow: hidden; }
.wk-waiting-invite-banner__avatar img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.wk-waiting-invite-banner.is-expired { pointer-events: none; animation: wk-invite-exit 180ms ease-in forwards; }
@keyframes wk-invite-exit { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .wk-waiting-invite-banner.is-expired { animation: none; opacity: 0; } }

/* Keep the switch at the local tile's lower left; media status remains on its own row. */
.wk-conf-tile .wk-meeting-camera-switch { position: absolute; z-index: 4; left: 8px; bottom: 48px; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; color: #fff; background: rgba(0,0,0,.55); }
.wk-conf-direct-entry { min-width: 40px; justify-content: center; }
.wk-conf-direct-entry svg { width: 22px; height: 22px; }

/* Member management uses the app navigation and a separate meeting summary. */
.wk-meeting-moderation-nav { flex: 0 0 auto; padding-top: env(safe-area-inset-top); border-bottom: 1px solid var(--wk-ui-line); }
.wk-meeting-moderation-nav .wk-viewqueueheader { background: var(--wk-ui-surface); }
.wk-meeting-moderation-invite { position: absolute; right: 10px; width: 36px; height: 36px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 8px; color: var(--wk-ui-text-1); background: transparent; }
.wk-meeting-moderation-summary { display: flex; justify-content: space-between; padding: 12px 20px 4px; color: var(--wk-ui-text-2); font-size: 13px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.wk-meeting-moderation-row { text-align: left; }
.wk-meeting-moderation-member-copy { min-width: 0; text-align: left; align-items: flex-start; }
.wk-meeting-moderation-name { max-width: 100%; }
.wk-meeting-moderation-state { white-space: normal; overflow-wrap: anywhere; line-height: 1.45; }
.wk-meeting-moderation-actions { flex: 0 0 104px; justify-content: flex-end; align-items: center; gap: 4px; }
.wk-meeting-moderation-actions .wk-meeting-member-icon { width: 32px; min-width: 32px; height: 34px; min-height: 34px; padding: 0; display: grid; place-items: center; border-radius: 6px; }

.wk-meeting-moderation-nav, .wk-meeting-moderation-nav .wk-viewqueueheader, .wk-meeting-moderation-summary, .wk-meeting-moderation-search { background: var(--wk-ui-bg); }
.wk-meeting-moderation-summary { justify-content: center; gap: 12px; padding: 14px 16px 10px; }
.wk-meeting-moderation-summary > span:first-child::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: 7px; vertical-align: middle; border-radius: 50%; background: #07c160; }
.wk-meeting-summary-separator { opacity: .4; }
.wk-meeting-moderation-search { padding-bottom: 12px; }
.wk-meeting-moderation-avatar { width: 44px; height: 44px; flex-basis: 44px; border-radius: 50%; }
.wk-meeting-moderation-row { min-height: 86px; gap: 12px; }
.wk-meeting-moderation-name { font-size: 15px; font-weight: 500; }
.wk-meeting-moderation-state { font-size: 12px; }
.wk-meeting-moderation-actions .wk-meeting-member-icon { background: transparent; color: var(--wk-ui-text-2); }
.wk-meeting-member-remove-space { width: 32px; flex: 0 0 32px; }
.wk-meeting-moderation-actions .wk-meeting-member-remove { width: 32px; min-width: 32px; padding: 0; display: grid; place-items: center; border: 0; color: #ff5157; background: transparent; }
.wk-meeting-moderation-avatar.is-speaking, .wk-conf-tile.is-speaking .wk-conf-tile-avatar > img, .wk-conf-tile.is-speaking .wk-conf-tile-avatar > span { outline: 2px solid #07c160; outline-offset: 3px; animation: wk-speaking-pulse 1s ease-in-out infinite alternate; }
.wk-conf-tile-identity { right: 40px; flex-wrap: nowrap; }
.wk-conf-tile-identity > span { min-width: 0; }
.wk-conf-tile-identity small { flex-shrink: 0; }
.wk-conf-tile-join.is-joined { display: none; }
.wk-conf-tile-media-controls { left: auto; right: 8px; }
.wk-conf-tile-remove { top: 8px; bottom: auto; width: 22px; height: 22px; line-height: 20px; background: #ff5157; }
.wk-conf-media-state.is-off, .wk-conf-media-state.is-muted { color: #969da3; background: #272d3344; }
.wk-meeting-camera-switch { left: 8px; right: auto; bottom: 8px; }
.wk-meeting-tile-confirm { text-align: center; }
.wk-meeting-tile-confirm > div { display: grid; grid-template-columns: 1fr 1fr; }
@media (prefers-reduced-motion: reduce) { .wk-meeting-moderation-avatar.is-speaking, .wk-conf-tile.is-speaking .wk-conf-tile-avatar > img, .wk-conf-tile.is-speaking .wk-conf-tile-avatar > span { animation: none; } }

/* Confirmed compact foreground waiting invitation; authority/actions unchanged. */
.wk-waiting-invite-banner { min-height: 84px; gap: 11px; padding: 12px; border: 0; border-radius: 12px; background: #f8f8f8; color: #191919; box-shadow: 0 3px 12px #0002; }
.wk-waiting-invite-banner__avatar { width: 44px; height: 44px; flex-basis: 44px; border-radius: 50%; background: #e5e5e5; color: #777; }
.wk-waiting-invite-banner__copy strong { font-size: 16px; font-weight: 600; line-height: 22px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wk-waiting-invite-banner__copy > span { font-size: 12px; line-height: 18px; color: #888; }
.wk-waiting-invite-banner__actions { gap: 11px; }
.wk-waiting-invite-banner__actions button, .wk-waiting-invite-banner__actions button.is-danger, .wk-waiting-invite-banner__actions button.is-primary { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 34px; padding: 0; background: transparent; color: #777; font-size: 10px; line-height: 14px; }
.wk-no-flex-gap .wk-waiting-invite-banner__actions button > *:not(:last-child),
.wk-no-flex-gap .wk-waiting-invite-banner__actions button.is-danger > *:not(:last-child),
.wk-no-flex-gap .wk-waiting-invite-banner__actions button.is-primary > *:not(:last-child) {
  margin-bottom: 4px; }
.wk-waiting-invite-banner__circle { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: white; }
.is-danger > .wk-waiting-invite-banner__circle { background: #fa5151; }
.is-primary > .wk-waiting-invite-banner__circle { background: #07c160; }
.wk-waiting-invite-banner__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.wk-native-call {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  z-index: 99990;
  overflow: hidden;
  color: var(--wk-ui-call-text);
  background: var(--wk-ui-call-surface);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif;
  text-align: center;
}

.wk-native-call-minimize {
  position: absolute;
  z-index: 6;
  top: max(12px, env(safe-area-inset-top));
  right: 14px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 19px;
  background: rgba(0, 0, 0, .28);
  color: #fff;
}

.wk-native-call-pill {
  position: fixed;
  z-index: 99990;
  top: max(14px, calc(env(safe-area-inset-top) + 8px));
  right: 14px;
  width: min(210px, calc(100vw - 28px));
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border: 0;
  border-radius: 29px;
  background: var(--wk-ui-call-surface-raised);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .34);
  color: #fff;
  text-align: left;
}

.wk-no-flex-gap .wk-native-call-pill > *:not(:last-child) {
  margin-right: 10px;
}

.wk-native-call-pill-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  background: var(--wk-ui-primary);
  animation: wk-native-call-pill-pulse 1.4s infinite;
}

.wk-native-call-pill-dot.is-ringing { background: var(--wk-ui-danger); }
.wk-native-call-pill-copy { min-width: 0; display: flex; flex: 1 1; flex-direction: column; gap: 2px; }
.wk-no-flex-gap .wk-native-call-pill-copy > *:not(:last-child) {
  margin-bottom: 2px; }
.wk-native-call-pill-copy strong { font-size: 14px; font-weight: 600; line-height: 20px; }
.wk-native-call-pill-copy small { overflow: hidden; color: rgba(255, 255, 255, .7); font-size: 12px; line-height: 16px; text-overflow: ellipsis; white-space: nowrap; }
.wk-native-call-pill-badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: var(--wk-ui-radius-pill); background: var(--wk-ui-danger); color: #fff; font-size: 12px; line-height: 20px; text-align: center; }

@keyframes wk-native-call-pill-pulse { 50% { opacity: .3; } }

.wk-native-call-backdrop {
  position: absolute;
  inset: -38px;
  opacity: .3;
  filter: blur(34px) saturate(.8);
  transform: scale(1.18);
}

.wk-native-call-backdrop .wk-avatar {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.wk-native-call-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(12, 14, 18, .45), rgba(13, 15, 19, .76));
}

.wk-native-call.is-video {
  background: #050505;
}

.wk-native-call.is-video .wk-native-call-backdrop {
  opacity: 0;
}

.wk-native-call.is-video .wk-native-call-shade {
  background: linear-gradient(180deg, rgba(0, 0, 0, .44) 0%, transparent 32%, transparent 62%, rgba(0, 0, 0, .65) 100%);
}

.wk-native-call.is-meeting-grid {
  --wk-meeting-top-bound: max(80px, calc(env(safe-area-inset-top) + 66px));
  --wk-meeting-bottom-bound: max(148px, calc(env(safe-area-inset-bottom) + 128px));
  background: var(--wk-ui-call-bg);
}
.wk-native-call.is-meeting-grid.has-waiting-invite {
  --wk-meeting-top-bound: max(156px, calc(env(safe-area-inset-top) + 142px));
}
.wk-native-call.is-meeting-grid.has-waiting-invite .wk-native-meeting-topbar {
  top: max(96px, calc(env(safe-area-inset-top) + 90px));
}
.wk-native-call.is-meeting-grid .wk-native-call-backdrop,
.wk-native-call.is-meeting-grid .wk-native-call-shade { display: none; }
.wk-native-call.is-meeting-grid .wk-native-call-minimize { z-index: 14; top: max(9px, calc(env(safe-area-inset-top) + 7px)); }
.wk-native-meeting-topbar {
  position: absolute;
  z-index: 12;
  top: max(8px, calc(env(safe-area-inset-top) + 6px));
  right: 62px;
  left: 14px;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
}
.wk-no-flex-gap .wk-native-meeting-topbar > *:not(:last-child) {
  margin-right: 10px;
}
.wk-native-meeting-heading { display: flex; min-width: 0; flex-direction: column; gap: 2px; text-align: left; }
.wk-no-flex-gap .wk-native-meeting-heading > *:not(:last-child) {
  margin-bottom: 2px; }
.wk-native-meeting-heading strong { max-width: 68vw; overflow: hidden; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.wk-native-meeting-heading span { color: rgba(255,255,255,.62); font-size: 12px; }
.wk-native-meeting-top-actions { min-width: 0; margin-left: auto; display: flex; align-items: center; gap: 7px; }
.wk-no-flex-gap .wk-native-meeting-top-actions > *:not(:last-child) {
  margin-right: 7px; }
.wk-native-meeting-request-entry,
.wk-native-meeting-direct-entry,
.wk-native-meeting-more-entry {
  height: 34px;
  flex: 0 0 auto;
  padding: 0 11px;
  border: 0;
  border-radius: 17px;
  color: #fff;
  background: rgba(255,255,255,.13);
  font-size: 12px;
}
.wk-native-meeting-request-entry { background: var(--wk-ui-primary); }
.wk-native-meeting-direct-entry { padding: 0 10px; }
.wk-native-meeting-more-entry { width: 38px; padding: 0; font-size: 18px; letter-spacing: 1px; }
.wk-native-meeting-grid {
  position: absolute;
  z-index: 2;
  top: var(--wk-meeting-top-bound);
  right: 8px;
  max-height: calc(100dvh - var(--wk-meeting-top-bound) - var(--wk-meeting-bottom-bound));
  left: 8px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  grid-auto-rows: auto;
  align-content: start;
  grid-gap: 6px;
  gap: 6px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.wk-native-meeting-grid.count-1 { grid-template-columns: 1fr; }
.wk-native-meeting-grid.count-5,
.wk-native-meeting-grid.count-6,
.wk-native-meeting-grid.count-7,
.wk-native-meeting-grid.count-8,
.wk-native-meeting-grid.count-9 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.wk-native-meeting-pagination {
  position: absolute;
  z-index: 5;
  right: 12px;
  bottom: max(116px, calc(env(safe-area-inset-bottom) + 96px));
  left: 12px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: rgba(255,255,255,.72);
  font-size: 12px;
}
.wk-no-flex-gap .wk-native-meeting-pagination > *:not(:last-child) {
  margin-right: 12px;
}
.wk-native-meeting-pagination button { height: 28px; padding: 0 12px; border: 0; border-radius: 14px; color: #fff; background: rgba(255,255,255,.14); }
.wk-native-meeting-pagination button:disabled { opacity: .35; }
.wk-native-meeting-tile {
  position: relative;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: var(--wk-ui-radius-control);
  background: var(--wk-ui-call-surface-raised);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.wk-native-meeting-tile.is-reconnecting { box-shadow: inset 0 0 0 1px rgba(242,184,75,.54); }
.wk-native-meeting-tile.is-speaking { box-shadow: inset 0 0 0 2px var(--wk-ui-primary); }
.wk-native-meeting-media { position: relative; height: calc(100% - 34px); min-height: 42px; display: grid; place-items: center; overflow: hidden; }
.wk-native-meeting-avatar { width: min(72px,42%); aspect-ratio: 1; overflow: hidden; border-radius: 50%; background: #34373d; }
.wk-native-meeting-avatar .wk-avatar { width: 100% !important; height: 100% !important; -o-object-fit: cover; object-fit: cover; }
.wk-native-meeting-meta { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; height: 34px; display: flex; align-items: center; gap: 5px; padding: 0 8px; background: rgba(32,34,39,.94); }
.wk-no-flex-gap .wk-native-meeting-meta > *:not(:last-child) {
  margin-right: 5px; }
.wk-native-meeting-mic { width: 16px; height: 18px; flex: 0 0 16px; display: grid; place-items: center; color: var(--wk-ui-primary); }
.wk-native-meeting-mic.is-muted { color: var(--wk-ui-danger); }
.wk-native-meeting-video { width: 16px; height: 18px; flex: 0 0 16px; display: grid; place-items: center; color: rgba(255,255,255,.76); }
.wk-native-meeting-video.is-off { color: rgba(255,255,255,.4); }
.wk-native-meeting-network { width: 16px; height: 18px; flex: 0 0 16px; display: grid; place-items: center; color: #f2b84b; }
.wk-native-meeting-name { min-width: 0; flex: 1 1 auto; overflow: hidden; color: #fff; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.wk-native-meeting-host { flex: 0 0 auto; padding: 1px 5px; border-radius: 7px; color: #17191c; background: #f2b84b; font-size: 9px; }
.wk-native-meeting-status { flex: 0 0 auto; max-width: 54px; overflow: hidden; padding: 1px 5px; border-radius: 7px; color: rgba(255,255,255,.82); background: rgba(255,255,255,.12); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.wk-native-meeting-status.is-joined { color: #dff7e8; background: rgba(7,193,96,.24); }
.wk-native-meeting-status.is-refused,
.wk-native-meeting-status.is-expired,
.wk-native-meeting-status.is-removed { color: #ffdede; background: rgba(250,81,81,.2); }
.wk-native-meeting-status.is-inviting,
.wk-native-meeting-status.is-rejoin_pending { color: #fff0c7; background: rgba(242,184,75,.18); }
.wk-native-meeting-member-menu { width: 24px; height: 26px; flex: 0 0 auto; padding: 0; border: 0; color: #fff; background: transparent; font-size: 18px; line-height: 20px; }
.wk-native-call-controls.is-meeting-primary {
  z-index: 10;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 104px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  flex-wrap: nowrap;
  align-items: start;
  grid-gap: 0;
  gap: 0;
  padding: 12px 8px max(10px, calc(env(safe-area-inset-bottom) + 6px));
  background: linear-gradient(180deg, rgba(31,33,38,.96), #202227 28%);
}
.wk-native-call-controls.is-meeting-primary .wk-native-call-control { min-width: 0; width: 100%; }
.wk-native-call-controls.is-meeting-primary .wk-native-call-control-icon { width: 50px; height: 50px; }
.wk-native-call-controls.is-meeting-primary .wk-native-call-control-label { margin-top: 7px; }

.wk-native-meeting-more-mask {
  position: absolute;
  inset: 0;
  z-index: 30;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-top: max(16px, env(safe-area-inset-top));
  background: var(--wk-ui-mask);
}
.wk-native-meeting-more-card {
  width: 100%;
  max-height: calc(100dvh - max(24px, env(safe-area-inset-top)));
  box-sizing: border-box;
  overflow: hidden;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
  border-radius: var(--wk-ui-radius-sheet) var(--wk-ui-radius-sheet) 0 0;
  color: var(--wk-ui-text-1);
  background: var(--wk-ui-surface-subtle);
  box-shadow: var(--wk-ui-shadow-modal);
  text-align: left;
}
.wk-native-meeting-more-title {
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px 0 20px;
  border-bottom: 1px solid var(--wk-ui-line);
  background: var(--wk-ui-surface);
  font-size: 17px;
}
.wk-native-meeting-more-title button {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--wk-ui-text-2);
  background: var(--wk-ui-surface-subtle);
  font-size: 23px;
}
.wk-native-meeting-more-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  grid-gap: 10px;
  gap: 10px;
  padding: 14px;
}
.wk-native-meeting-more-actions > button {
  min-width: 0;
  min-height: 88px;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  grid-template-rows: auto auto;
  grid-column-gap: 10px;
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-content: center;
  padding: 12px;
  border: 0;
  border-radius: var(--wk-ui-radius-card);
  color: var(--wk-ui-text-1);
  background: var(--wk-ui-surface);
  text-align: left;
}
.wk-native-meeting-more-actions > button > span {
  grid-row: 1 / 3;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: var(--wk-ui-radius-control);
  color: var(--wk-ui-text-1);
  background: var(--wk-ui-bg);
  font-size: 20px;
}
.wk-native-meeting-more-actions strong { align-self: end; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.wk-native-meeting-more-actions small { align-self: start; overflow: hidden; color: var(--wk-ui-text-2); font-size: 11px; line-height: 16px; text-overflow: ellipsis; white-space: nowrap; }

.wk-native-call-identity {
  position: absolute;
  z-index: 2;
  top: max(76px, calc(env(safe-area-inset-top) + 46px));
  left: 22px;
  right: 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.wk-native-call-identity.is-compact {
  top: max(36px, calc(env(safe-area-inset-top) + 14px));
  align-items: flex-start;
  text-align: left;
}

.wk-native-call-avatar {
  width: 96px;
  height: 96px;
  margin-bottom: 22px;
  overflow: hidden;
  border-radius: 50%;
  background: rgba(255, 255, 255, .14);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .26);
}

.wk-native-call-avatar .wk-avatar {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}

.wk-native-call-avatar > span {
  display: grid;
  height: 100%;
  place-items: center;
  font-size: 38px;
  font-weight: 600;
}

.wk-native-call-name {
  max-width: 80vw;
  overflow: hidden;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .25);
}

.wk-native-call-identity.is-compact .wk-native-call-name {
  font-size: 18px;
}

.wk-native-call-kind {
  margin-top: 10px;
  color: rgba(255, 255, 255, .76);
  font-size: 15px;
}

.wk-native-call-identity.is-compact .wk-native-call-kind {
  display: none;
}

.wk-native-call-status {
  margin-top: 7px;
  color: rgba(255, 255, 255, .68);
  font-size: 14px;
}

.wk-native-call-rejoin-entry {
  min-height: 34px;
  margin-top: 16px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 17px;
  color: #fff;
  background: rgba(0, 0, 0, .22);
  font-size: 14px;
  font-weight: 500;
  backdrop-filter: blur(10px);
  -webkit-tap-highlight-color: transparent;
}

.wk-native-call-rejoin-entry:active { background: rgba(255, 255, 255, .18); }

.wk-native-call-controls {
  position: absolute;
  z-index: 3;
  right: 18px;
  bottom: max(28px, calc(env(safe-area-inset-bottom) + 18px));
  left: 18px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px 30px;
}

.wk-native-call-controls.is-incoming {
  justify-content: space-around;
  gap: 54px;
  padding: 0 22px;
}

.wk-native-call-control {
  display: flex;
  min-width: 70px;
  padding: 0;
  flex-direction: column;
  align-items: center;
  border: 0;
  color: #fff;
  background: transparent;
  -webkit-tap-highlight-color: transparent;
}

.wk-native-call-control-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, .2);
  backdrop-filter: blur(12px);
  transition: transform .12s ease, background .12s ease;
}

.wk-native-call-control:active .wk-native-call-control-icon {
  transform: scale(.92);
}

.wk-native-call-control.is-active .wk-native-call-control-icon {
  color: #222;
  background: #fff;
}

.wk-native-call-control.is-danger .wk-native-call-control-icon {
  background: var(--wk-ui-danger);
}

.wk-native-call-control.is-answer .wk-native-call-control-icon {
  background: var(--wk-ui-primary);
}

.wk-native-call-control-label {
  margin-top: 9px;
  color: rgba(255, 255, 255, .9);
  font-size: 12px;
  line-height: 1.25;
}

.wk-native-call-host-mask {
  position: absolute;
  inset: 0;
  z-index: 20;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: max(18px, env(safe-area-inset-top)) 0 0;
  background: var(--wk-ui-mask);
}

.wk-native-call-host-sheet {
  width: min(520px, 100%);
  max-height: calc(100dvh - max(72px, calc(env(safe-area-inset-top) + env(safe-area-inset-bottom) + 36px)));
  overflow-y: auto;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
  color: var(--wk-ui-text-1);
  background: var(--wk-ui-surface-subtle);
  border-radius: var(--wk-ui-radius-sheet) var(--wk-ui-radius-sheet) 0 0;
  box-shadow: var(--wk-ui-shadow-modal);
}

.wk-native-call-host-title,
.wk-native-call-host-empty,
.wk-native-call-host-sheet button {
  width: 100%;
  min-height: 54px;
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, .08);
  background: var(--wk-ui-surface);
  color: var(--wk-ui-text-1);
  font-size: 16px;
  text-align: center;
}

.wk-native-call-host-title {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--wk-ui-text-2);
  font-size: 13px;
}

.wk-native-call-host-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--wk-ui-text-2);
}

.wk-native-call-host-sheet button.is-cancel {
  margin-top: 8px;
  border-bottom: 0;
  font-weight: 600;
}

.wk-native-call-host-sheet button.is-danger {
  color: var(--wk-ui-danger);
  font-weight: 600;
}

.wk-native-call-host-sheet button.wk-native-call-host-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 18px;
  text-align: left;
}

.wk-no-flex-gap .wk-native-call-host-sheet button.wk-native-call-host-option > *:not(:last-child) {
  margin-right: 12px;
}

.wk-native-call-host-avatar {
  width: 38px;
  height: 38px;
  overflow: hidden;
  border-radius: 4px;
}

.wk-native-call-host-avatar img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }

.wk-native-meeting-member-mask {
  position: absolute;
  inset: 0;
  z-index: 32;
  align-items: flex-end;
  padding: max(18px, env(safe-area-inset-top)) 0 0;
}
.wk-native-meeting-member-sheet { width: 100%; max-height: calc(100dvh - max(72px, env(safe-area-inset-top))); padding-bottom: max(12px, env(safe-area-inset-bottom)); overflow-y: auto; }
.wk-native-meeting-member-title,
.wk-native-meeting-member-sheet button {
  width: 100%;
  min-height: 54px;
  border: 0;
  border-bottom: 1px solid var(--wk-ui-line);
  color: var(--wk-ui-text-1);
  background: var(--wk-ui-surface);
  font-size: 16px;
  text-align: center;
}
.wk-native-meeting-member-title { display: flex; align-items: center; justify-content: center; color: var(--wk-ui-text-2); font-size: 13px; }
.wk-native-meeting-member-sheet button:disabled { opacity: .42; }
.wk-native-meeting-member-sheet button.is-danger { color: var(--wk-ui-danger); font-weight: 600; }
.wk-native-meeting-member-sheet button.is-cancel { margin-top: 8px; border-bottom: 0; font-weight: 600; }
.wk-native-meeting-member-confirm-mask { position: absolute; inset: 0; z-index: 33; padding: 24px; }
.wk-native-meeting-member-confirm { width: min(320px, 100%); overflow: hidden; color: var(--wk-ui-text-1); background: var(--wk-ui-surface); text-align: center; }
.wk-native-meeting-member-confirm > strong { display: block; padding: 24px 20px 8px; font-size: 17px; }
.wk-native-meeting-member-confirm > p { margin: 0; padding: 0 20px 22px; color: var(--wk-ui-text-2); font-size: 13px; line-height: 1.55; }
.wk-native-meeting-member-confirm > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--wk-ui-line); }
.wk-native-meeting-member-confirm button { min-height: 52px; border: 0; color: var(--wk-ui-text-1); background: var(--wk-ui-surface); font-size: 16px; }
.wk-native-meeting-member-confirm button + button { border-left: 1px solid var(--wk-ui-line); }
.wk-native-meeting-member-confirm button.is-danger { color: var(--wk-ui-danger); font-weight: 600; }

@media (max-height: 620px) {
  .wk-native-call-identity { top: max(52px, calc(env(safe-area-inset-top) + 24px)); }
  .wk-native-call-avatar { width: 76px; height: 76px; margin-bottom: 14px; }
  .wk-native-call-controls { gap: 14px 20px; }
  .wk-native-call-control-icon { width: 52px; height: 52px; }
  .wk-native-call.is-meeting-grid {
    --wk-meeting-top-bound: max(58px, calc(env(safe-area-inset-top) + 50px));
    --wk-meeting-bottom-bound: max(96px, calc(env(safe-area-inset-bottom) + 86px));
  }
  .wk-native-meeting-topbar { min-height: 40px; }
  .wk-native-call-controls.is-meeting-primary { min-height: 82px; padding-top: 7px; }
  .wk-native-call-controls.is-meeting-primary .wk-native-call-control-icon { width: 42px; height: 42px; }
  .wk-native-meeting-pagination { bottom: max(76px, calc(env(safe-area-inset-bottom) + 66px)); }
}

.wk-native-meeting-media { position: absolute; top: 40px; right: 0; bottom: 44px; left: 0; height: auto; min-height: 0; }
.wk-native-meeting-identity { position: absolute; z-index: 4; top: 8px; left: 8px; right: 62px; display: flex; gap: 4px; align-items: center; white-space: nowrap; color: white; font-size: 12px; text-shadow: 0 1px 3px #000; }
.wk-no-flex-gap .wk-native-meeting-identity > *:not(:last-child) {
  margin-right: 4px; }
.wk-native-meeting-identity > span { min-width: 0; flex: 1 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.wk-native-meeting-identity small { flex-shrink: 0; background: rgba(0,0,0,.48); border-radius: 4px; padding: 1px 4px; }
.wk-native-meeting-tile > .wk-native-meeting-status { position: absolute; z-index: 4; top: 8px; right: 8px; }
.wk-native-meeting-media-controls { position: absolute; z-index: 4; left: 8px; bottom: 8px; display: flex; gap: 6px; }
.wk-no-flex-gap .wk-native-meeting-media-controls > *:not(:last-child) {
  margin-right: 6px; }
.wk-native-meeting-mic, .wk-native-meeting-video { width: 28px; height: 28px; flex-basis: 28px; border: 0; border-radius: 50%; background: rgba(28,30,34,.78); color: white; }
.wk-native-meeting-mic.is-muted { color: white; background: #73777d; }
.wk-native-meeting-mic.is-speaking { color: #48d488; animation: wk-speaking-pulse 1s ease-in-out infinite alternate; }
.wk-native-meeting-remove { position: absolute; z-index: 4; right: 8px; bottom: 8px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--wk-ui-danger); color: white; font-size: 23px; line-height: 26px; }
@media (prefers-reduced-motion: reduce) { .wk-native-meeting-mic.is-speaking { animation: none; } }

.wk-native-meeting-tile .wk-meeting-camera-switch { position: absolute; z-index: 4; left: 8px; bottom: 8px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; color: #fff; background: rgba(0,0,0,.55); }
.wk-native-meeting-direct-entry { width: 40px; padding: 0; display: flex; align-items: center; justify-content: center; }

/* Native pixels sit above the WebView; keep all tile actions outside their rectangle. */
.wk-native-meeting-tile.is-local .wk-native-meeting-media-controls { left: 48px; }

.wk-native-meeting-identity { right: 36px; }
.wk-native-meeting-status.is-joined { display: none; }
.wk-native-meeting-media-controls, .wk-native-meeting-tile.is-local .wk-native-meeting-media-controls { left: auto; right: 8px; }
.wk-native-meeting-remove { top: 8px; bottom: auto; width: 22px; height: 22px; line-height: 20px; background: #ff5157; }
.wk-native-meeting-member-confirm-mask { display: flex; align-items: center; justify-content: center; }
.wk-native-meeting-tile.is-speaking .wk-native-meeting-avatar { outline: 2px solid #07c160; outline-offset: 3px; border-radius: 50%; animation: wk-speaking-pulse 1s ease-in-out infinite alternate; }
@media (prefers-reduced-motion: reduce) { .wk-native-meeting-tile.is-speaking .wk-native-meeting-avatar { animation: none; } }

/* Group meeting design; preserve native video bounds and all host controls. */
.wk-native-call.is-meeting-grid { background: #181c1f; -webkit-text-size-adjust: 100%; }
.wk-native-meeting-heading { gap: 6px; }
.wk-native-meeting-heading strong { font-weight: 500; line-height: 1.5; }
.wk-native-meeting-heading span { color: #a4a9ad; font-size: 13px; }
.wk-native-meeting-top-actions { gap: 2px; }
.wk-native-meeting-direct-entry { width: 31px; height: 38px; border-radius: 4px; background: transparent; }
.wk-native-call.is-meeting-grid .wk-native-call-minimize { width: 31px; height: 38px; border-radius: 4px; background: transparent; }
.wk-native-meeting-grid { left: 10px; right: 10px; gap: 8px; }
.wk-native-meeting-tile { border-radius: 9px; background: #252a30; }
.wk-native-meeting-avatar { width: min(60px,42%); }
.wk-native-meeting-identity { left: 10px; top: 9px; font-size: 14px; }
.wk-native-meeting-identity small { font-size: 11px; background: #ffffff22; border: 1px solid #ffffff66; border-radius: 3px; }
.wk-native-meeting-media-controls { gap: 0; border-radius: 5px; background: #242a3050; }
.wk-native-meeting-mic, .wk-native-meeting-video { width: 29px; height: 30px; flex-basis: 29px; border-radius: 4px; background: transparent; }
.wk-native-call-controls.is-meeting-primary { background: #181c1f; }
.wk-native-call-controls.is-meeting-primary .wk-native-call-control-icon { width: 52px; height: 52px; background: #30363b; }
.wk-native-call-controls.is-meeting-primary .is-active .wk-native-call-control-icon { background: #eef0f1; }
.wk-native-call-controls.is-meeting-primary .is-danger .wk-native-call-control-icon { background: #ee4a52; }
.wk-native-call-controls.is-meeting-primary .wk-native-call-control-label { margin-top: 9px; color: #c5c8ca; }
@media (max-height: 640px) {
  .wk-native-call-controls.is-meeting-primary .wk-native-call-control-icon { width: 42px; height: 42px; }
}

.wk-native-meeting-identity { text-align: left; }

.wk-native-call-video-unavailable {
  position: absolute;
  top: 44%;
  left: 0;
  right: 0;
  text-align: center;
  color: rgba(255, 255, 255, .75);
  font-size: 16px;
  pointer-events: none;
}

.wk-native-video-request { position:absolute; bottom:100%; left:8px; right:8px; padding:12px; border-radius:12px; background:rgba(0,0,0,.85); color:#fff; text-align:center; z-index:2; }
.wk-native-video-request button { margin:10px 8px 0; padding:8px 18px; border:0; border-radius:8px; background:#fff; color:#222; }

/* 导航栈页:全屏覆盖。⚠ 静止态(idle/settled)不保留 transform / will-change ——
   否则页面是「transform 容器」,iOS 在其中聚焦输入框会错位(键盘滚动算错 → 布局裂开)。
   transform / will-change 只在 进/出场动画 + 侧滑拖动 时加。

   ⚠ 闪白根因(2026-06-13):入场用 will-change:transform 把页面提到独立合成层,
   切到 idle 时把 will-change 和 transform **同一帧一起去掉**,WebKit 认为该层不再需要
   backing store → 销毁旧层、为正在跑的过渡新建一层。销毁→重建之间有一帧 backing 为空,
   而 WKWebView 默认 isOpaque=白,空层直接透出宿主白底 → 「滑入时闪一下白」。

   修法(对齐 Framework7 / Ionic / Onsen 三库共识):**动画全程保持提层,只在动画结束
   (transitionend)后才降层**。流程:enter(屏外+提层)→ is-animating(滑入中,仍提层,
   且 JS 先强制重排把屏外页栅格化进新层)→(350ms 后)settled(去掉 will-change/transform)。
   关键:降层发生在「屏幕静止后」,其重绘不可见;且静止态无 transform/will-change containing
   block,故不触发 iOS 聚焦输入框错位。backface-visibility 仅作锦上添花的弱提示(各 WebKit
   版本强弱不一,不能单独依赖,真正稳的是 will-change 跨整段动画常驻 + transitionend 才清)。 */
.m-nav-page {
  position: absolute;
  inset: 0;
  z-index: 20;
  background: var(--m-color-bg);
  transition: transform var(--m-trans-push);
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12);
  /* 弱提层提示(辅助,主力是 is-animating 的 will-change);不建 containing block,不影响聚焦。 */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 入场起点:在右侧屏外且无过渡(下一帧切到 is-animating 即滑入)*/
.m-nav-page.is-enter {
  transform: translateX(100%);
  transition: none;
  will-change: transform;
}

/* 滑入中:仍处提层态(will-change 常驻整段动画,层永不销毁重建 → 无空帧、无闪白);
   transform 回到 0 走基础过渡。动画结束(transitionend / 兜底定时器)后 JS 去掉本类 → 降层。 */
.m-nav-page.is-animating {
  will-change: transform;
}

/* 出场:滑到右侧屏外(用基础过渡;出场页本就要被移除,提层无副作用)*/
.m-nav-page.is-leave {
  transform: translateX(100%);
  will-change: transform;
}

.cqt-toast-host {
  position: fixed; top: 50%; left: 0; right: 0; z-index: 100100;
  display: flex; flex-direction: column; align-items: center; transform: translateY(-50%);
  padding: 0 24px; pointer-events: none;
}
.cqt-toast {
  box-sizing: border-box; width: -webkit-max-content; width: max-content; max-width: min(268px, calc(100vw - 64px)); margin: 5px 0;
  padding: 15px 19px; background: rgba(35, 35, 35, .96); backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px); border: 0; border-radius: 8px; box-shadow: none;
  color: #fff; font-size: 15px; font-weight: 400; line-height: 22px; text-align: center;
  opacity: 0; transform: translateY(4px); transition: opacity .14s ease, transform .14s ease;
  pointer-events: none;
}
.cqt-toast.is-in { opacity: 1; transform: translateY(0); }
.cqt-toast--with-icon { width: 136px; min-height: 124px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; padding: 19px 12px 17px; }
.wk-no-flex-gap .cqt-toast--with-icon > *:not(:last-child) {
  margin-bottom: 13px; }
.cqt-toast__icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex-shrink: 0; }
.cqt-toast__icon svg { width: 100%; height: 100%; }
.cqt-toast--error .cqt-toast__icon { color: #fa6868; }
.cqt-toast--warning .cqt-toast__icon { color: #f5c068; }
.cqt-toast__text { min-width: 0; max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; }
.cqt-toast--with-icon .cqt-toast__text { font-size: 14px; line-height: 21px; }
.cqt-toast__spinner { position: relative; width: 38px; height: 38px; animation: cqt-toast-spin 1.15s steps(12) infinite; }
.cqt-toast__spinner i { position: absolute; width: 3px; height: 9px; left: 17.5px; top: 1px; border-radius: 2px; background: #fff; transform-origin: 1.5px 18px; transform: rotate(calc(var(--n) * 30deg)); opacity: calc(.2 + var(--n) * .068); }
.cqt-toast--action { display: flex; align-items: center; gap: 10px; padding: 10px 12px 10px 16px; max-width: calc(100vw - 48px); font-size: 14px; line-height: 22px; text-align: left; }
.wk-no-flex-gap .cqt-toast--action > *:not(:last-child) {
  margin-right: 10px; }
.cqt-toast--action .cqt-toast__icon { width: 19px; height: 19px; }
.cqt-toast__action { flex-shrink: 0; margin: 0 0 0 3px; padding: 0 0 0 13px; min-width: 48px; height: 34px; border: 0; border-left: .5px solid #ffffff28; background: transparent; color: #79dca8; font: inherit; font-weight: 500; cursor: pointer; pointer-events: auto; }
.cqt-toast__action:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@keyframes cqt-toast-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .cqt-toast__spinner { animation: none; } .cqt-toast { transition: none; transform: none; } }

/* 统一空状态 */
.m-empty {
  height: 100%;
  min-height: 240px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 40px 32px;
  text-align: center;
}
.wk-no-flex-gap .m-empty > *:not(:last-child) {
  margin-bottom: 10px;
}
.m-empty__ic {
  width: 64px;
  height: 64px;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-empty__title {
  font-size: 15px;
  color: var(--m-color-text-secondary);
  font-weight: 500;
}
.m-empty__hint {
  font-size: 13px;
  color: var(--m-color-text-tertiary);
  line-height: 1.6;
}

/* 统一加载态 */
.m-loading {
  height: 100%;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.wk-no-flex-gap .m-loading > *:not(:last-child) {
  margin-bottom: 12px;
}
.m-loading__t {
  font-size: 13px;
  color: var(--m-color-text-tertiary);
}

/* 通用旋转指示(其余页也可复用)*/
.m-spin {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2.5px solid #e7f8ef;
  border: 2.5px solid var(--m-color-primary-soft, #e7f8ef);
  border-top-color: #07c160;
  border-top-color: var(--m-color-primary, #07c160);
  animation: m-spin-rot 0.7s linear infinite;
}
@keyframes m-spin-rot {
  to {
    transform: rotate(360deg);
  }
}

.m-merged-record__body { overflow: hidden; min-height: 0; display: flex; }
.m-merged-record .wk-mergeforwardmessagelist-content { padding-bottom: env(safe-area-inset-bottom); }

.wk-message-base-bubble-box.fileBox .wk-message-base-bubble {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.wk-message-base-bubble-box.fileBox .svgAppendix {
    display: none;
}

.wk-message-file {
    position: relative;
    width: min(280px, calc(100vw - 118px));
    min-height: 88px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 14px;
    padding: 14px 16px 18px;
    clear: both;
    cursor: pointer;
    overflow: hidden;
    border: 0;
    border-radius: 8px;
    background: #fff;
    background: var(--qq-bubble-other, #fff);
    box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
    color: #191919;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
         user-select: none;
    -webkit-touch-callout: none;
}

.wk-no-flex-gap .wk-message-file > *:not(:last-child) {
    margin-bottom: 14px;
}

.wk-message-file.is-uploading,
.wk-message-file.is-downloading {
    cursor: default;
}

.wk-message-base-bubble-box.fileBox .fileContent {
    min-width: 0;
    flex: 1 1;
}

.wk-message-base-bubble-box.fileBox .fileContent .name {
    color: #20242f;
    font-size: 15px;
    line-height: 20px;
    font-weight: 500;
    -webkit-user-select: none;
    -moz-user-select: none;
         user-select: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: 0;
}

.wk-message-base-bubble-box.fileBox .fileContent .fileMeta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
}

.wk-no-flex-gap .wk-message-base-bubble-box.fileBox .fileContent .fileMeta > *:not(:last-child) {
    margin-right: 16px;
}

.wk-message-base-bubble-box.fileBox .fileContent .size,
.wk-message-base-bubble-box.fileBox .fileContent .status {
    font-size: 12px;
    line-height: 16px;
    color: #8f959e;
}

.wk-message-base-bubble-box.fileBox .fileContent .status {
    color: #8f959e;
}

.wk-message-base-bubble-box.fileBox .fileContent .status.is-failed { color: #d93025; }

.wk-message-base-bubble-box.fileBox .fileHeader {
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: 9px;
    flex: 0 0 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

.wk-message-base-bubble-box.fileBox .fileHeader img {
    width: 28px;
    height: 28px;
    display: block;
}

.wk-message-base-bubble-box.fileBox .fileProgressRing {
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    background: conic-gradient(#07c160 var(--file-progress), rgba(255, 255, 255, 0.54) 0);
    background: conic-gradient(var(--wk-color-theme, #07c160) var(--file-progress), rgba(255, 255, 255, 0.54) 0);
    pointer-events: none;
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 0);
    mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 0);
    animation: wk-file-progress-pulse 1.1s ease-in-out infinite;
}

.wk-message-base-bubble-box.fileBox .fileProgressRing span {
    display: none;
}

.wk-message-base-bubble-box.fileBox .fileRetryMark {
    position: absolute;
    right: -5px;
    top: -5px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #ff4d4f;
    color: #fff;
    font-size: 12px;
    line-height: 18px;
    text-align: center;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(255, 77, 79, 0.35);
}

.wk-message-base-bubble-box.fileBox .wk-message-file .progressBar {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 10px;
    height: 3px;
    background: rgba(7, 193, 96, 0.1);
    overflow: hidden;
}

.wk-message-base-bubble-box.fileBox .wk-message-file .progressBarValue {
    height: 100%;
    width: 0%;
    border-radius: 999px;
    background: #07c160;
    background: var(--wk-color-theme, #07c160);
    transition: width 120ms ease-in-out;
}

.wk-message-base-bubble-box.fileBox .wk-message-file .progressBarValue.download {
    background: #07c160;
}

.wk-message-file .fileCancelDownload {
    padding: 3px 8px;
    margin-top: 5px;
    border: 1px solid currentColor;
    border-radius: 5px;
    color: #07c160;
    color: var(--wk-color-theme, #07c160);
    background: transparent;
    font-size: 12px;
    cursor: pointer;
}

.wk-message-file .fileCancelDownload:disabled {
    opacity: 0.5;
    cursor: default;
}

body[theme-mode="dark"] .wk-message-file {
    background: #2c2c2c;
    color: #f2f2f2;
}

body[theme-mode="dark"] .wk-message-base-bubble-box.fileBox .fileContent .name {
    color: #f6f7fb;
}

body[theme-mode="dark"] .wk-message-base-bubble-box.fileBox .fileContent .size {
    color: #b3b6bc;
}

@keyframes wk-file-progress-pulse {
    0%,
    100% {
        transform: scale(1);
        opacity: 0.92;
    }
    50% {
        transform: scale(1.05);
        opacity: 1;
    }
}

.wk-file-media-card { width: 280px; max-width: 100%; padding: 8px; box-sizing: border-box; }
.wk-file-media-poster { position: relative; width: 100%; height: 160px; padding: 0; border: 0; color: #fff; background: #25272c; border-radius: 6px; overflow: hidden; cursor: pointer; }
.wk-file-media-poster img { width: 100%; height: 100%; -o-object-fit: contain; object-fit: contain; }
.wk-file-media-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 8px 12px; border-radius: 50%; background: #0008; }
.wk-file-media-card video, .wk-file-media-card audio { width: 100%; max-height: 300px; }
.wk-file-media-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding-top: 6px; font-size: 12px; }
.wk-file-media-actions button { border: 0; border-radius: 4px; padding: 6px 8px; cursor: pointer; }




.wk-filetoolbar {

}

.wk-file-batch-selection { max-height: 140px; overflow-y: auto; padding-left: 18px; text-align: left; overflow-wrap: anywhere; }

.wk-filetoolbar-content {
    padding: 10px;
}

.wk-filetoolbar-content-icon  img{
    width: 20px;
    height: 20px;
}

.wk-filetoolbar-content-icon {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}


.wk-imagedialog {
    display: flex;
    justify-content: center;
    align-items: center;

    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-app-region: no-drag;
    z-index: 100;
}

.wk-imagedialog-mask {
    position: absolute;
    background-color: rgba(0,0,0,.3);
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.wk-imagedialog-content {
    width: 420px;
    position: relative;
    padding: 28px;
    background: var(--wk-color-item);
    box-shadow: 0 2px 8px 0 rgba(0,0,0,.2);
    border-radius: 4px;
    overflow: hidden;
    box-sizing: border-box;
    max-height: 580px;
}

.wk-imagedialog-content-close {
    position: absolute;
    width: 20px;
    height: 20px;
    top: 28px;
    right: 28px;
    font-size: 18px;
    text-align: center;
    border-radius: 50%;
    cursor: pointer;
    z-index: 1;
    line-height: 18px;
}

.wk-imagedialog-content-close svg {
    fill: var(--wk-text-item);
}

.wk-imagedialog-content-title {
    font-size: 16px;
    font-weight: 600;
}

.wk-imagedialog-content-body {
    width: 100%;
    font-size: 14px;
    text-align: center;
    margin-top: 28px;
}

.wk-imagedialog-content-preview {
    box-sizing: border-box;
    text-align: left;
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
    border-radius: 4px 4px 4px 4px;
}

.wk-imagedialog-content-previewImg {
    width: auto;
    height: auto;
    max-width: 240px;
    max-height: 240px;
    background-size: auto 100%;
    background-position: 50%;
    margin: 0 auto 16px;
}

.wk-imagedialog-content-preview-file {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
}

.wk-imagedialog-content-preview--filecontent {
    flex: 1 1;
    width: 100%;
    height: 78px;
    padding: 12px 0px 12px 20px;
    overflow: hidden;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    background-color: rgb(247, 247, 247);
}

body[theme-mode=dark] .wk-imagedialog-content-preview--filecontent {
    background-color: var(--wk-color-secondary);
}

.wk-imagedialog-content-preview-file-icon {
    height: 78px;
    width: 78px;
    display: flex;
    align-items: center;
    border-radius: 0px 0px 0px 10px;
}

.wk-imagedialog-content-preview-file-thumbnail {
    width: 48px;
    height: 48px;
    margin: auto 16px auto auto;
}

.wk-imagedialog-content-preview--filecontent-name {
    color: var(--wk-text-item);
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
    line-height: normal;
}

.wk-imagedialog-content-preview--filecontent-size {
    font-size: 12px;
    color: var(--wk-color-font-tip);
}

.wk-imagedialog-footer {
    margin-top: 28px;
    justify-content: flex-end;
    display: flex;
}

.wk-imagedialog-footer button{
    background-color: #fff;
    border: 1px solid #dee0e3;
    color: #111111;
    color: var(--wk-color-text, #111111);
    border-radius: 4px;
    height: 32px;
    min-width: 100px;
    padding: 0 16px;
    cursor: pointer;
}

.wk-imagedialog-footer-okbtn {
    margin-left: 16px;
    color: white !important;
    border: none !important;
}

/* 红包消息气泡 - 仿微信风格 + 适配主题 */
.wk-redpacket-cell {
    display: inline-block;
    max-width: 260px;
    min-width: 190px;
    background: #fa9d3b;
    border-radius: 7px;
    overflow: hidden;
    cursor: pointer;
    transition: filter 0.2s ease;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
}

.wk-redpacket-cell:hover {
    filter: brightness(.98);
}

.wk-redpacket-cell:active {
    filter: brightness(.94);
}

/* 已领取状态 - 灰色 */
.wk-redpacket-cell.grabbed {
    background: #c4a67a;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
}

.wk-redpacket-cell.grabbed:hover {
    filter: brightness(.98);
}

/* 内容区域 */
.wk-redpacket-content {
    display: flex;
    align-items: center;
    padding: 11px 12px;
    gap: 10px;
}
.wk-no-flex-gap .wk-redpacket-content > *:not(:last-child) {
    margin-right: 10px;
}

/* 红包图标 */
.wk-redpacket-icon {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-redpacket-icon-art {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* 信息区域 */
.wk-redpacket-info {
    flex: 1 1;
    min-width: 0;
}

.wk-redpacket-remark {
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    word-break: break-all;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.wk-redpacket-tip {
    margin-top: 4px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.78);
}

/* 暗色模式适配 */
body[theme-mode=dark] .wk-redpacket-cell {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

body[theme-mode=dark] .wk-redpacket-cell:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

/* 转账消息气泡 - 仿微信风格 + 适配主题 */
.wk-transfer-cell {
    display: inline-block;
    max-width: 260px;
    min-width: 190px;
    background: #fa9d3b;
    border-radius: 7px;
    overflow: hidden;
    cursor: pointer;
    transition: filter 0.2s ease;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
}

.wk-transfer-cell:hover {
    filter: brightness(.98);
}

.wk-transfer-cell:active {
    filter: brightness(.94);
}

/* 已领取/已处理状态 */
.wk-transfer-cell.received {
    background: #bfa77d;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
}

.wk-transfer-cell.received:hover {
    filter: brightness(.98);
}

/* 内容区域 */
.wk-transfer-content {
    display: flex;
    align-items: center;
    padding: 11px 12px;
    gap: 10px;
}
.wk-no-flex-gap .wk-transfer-content > *:not(:last-child) {
    margin-right: 10px;
}

/* 转账图标 */
.wk-transfer-icon {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-transfer-icon-art {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* 信息区域 */
.wk-transfer-info {
    flex: 1 1;
    min-width: 0;
}

.wk-transfer-amount {
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

.wk-transfer-remark {
    margin-top: 4px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.78);
    word-break: break-all;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 暗色模式适配 */
body[theme-mode=dark] .wk-transfer-cell {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

body[theme-mode=dark] .wk-transfer-cell:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

/* 红包开启弹窗样式 */
.wk-redpacket-open-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.wk-redpacket-open-container {
    width: min(300px, 84vw);
    box-sizing: border-box;
    background: linear-gradient(180deg, #F4604F 0%, #E2492F 100%);
    border-radius: 16px;
    padding: 32px 28px;
    position: relative;
    text-align: center;
}

.wk-redpacket-open-close {
    position: absolute;
    bottom: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 40px;
    border: 2px solid rgba(255, 255, 255, 0.5);
    background: transparent;
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.8);
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-redpacket-open-loading,
.wk-redpacket-open-error {
    color: rgba(255, 255, 255, 0.8);
    padding: 40px 0;
}

/* 发送者信息 */
.wk-redpacket-open-header {
    margin-bottom: 30px;
}

.wk-redpacket-open-avatar {
    width: 56px;
    height: 56px;
    border-radius: 9px; /* 微信圆角方头像 */
    border: none;
    -o-object-fit: cover;
       object-fit: cover;
    background: rgba(255, 255, 255, 0.2);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    margin-bottom: 10px;
}

.wk-redpacket-open-name {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
}

.wk-redpacket-open-remark {
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
}

/* 金额区域 */
.wk-redpacket-open-amount-section {
    margin: 30px 0;
}

.wk-redpacket-open-amount {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
}

.wk-no-flex-gap .wk-redpacket-open-amount > *:not(:last-child) {
    margin-right: 4px;
}

.wk-open-amount-value {
    font-size: 48px;
    font-weight: 700;
    color: #FBE3B6;
}

.wk-open-amount-unit {
    font-size: 16px;
    color: #FBE3B6;
}

/* 开按钮 */
.wk-redpacket-open-btn {
    width: 90px;
    height: 90px;
    border: none;
    background: linear-gradient(135deg, #FFD93D 0%, #F9A825 100%);
    border-radius: 50%;
    color: #C0392B;
    font-size: 36px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.3s;
    margin: 30px 0;
}

.wk-redpacket-open-btn:hover {
    transform: scale(1.05);
}

.wk-redpacket-open-btn.opening {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* 提示信息 */
.wk-redpacket-open-tip {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    margin: 20px 0;
}

/* 查看详情链接 */
.wk-redpacket-open-detail-link {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    cursor: pointer;
    margin-top: 20px;
    text-decoration: underline;
}

.wk-redpacket-open-detail-link:hover {
    color: #fff;
}


/* 红包详情页样式 — 复用 wk-wallet-modal-overlay(透明遮罩+flex居中),紧凑卡片 hug 内容。 */
.wk-redpacket-detail-page {
    width: min(300px, 82vw);
    box-sizing: border-box;
    max-height: 80vh;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.wk-redpacket-detail-loading,
.wk-redpacket-detail-error {
    padding: 60px 20px;
    text-align: center;
    color: #999;
}

/* 顶部区域 —— 与金额区共用一条连续暖红渐变,无生硬分界(微信风) */
.wk-redpacket-detail-header {
    background: linear-gradient(180deg, #F4604F 0%, #EC5038 100%);
    padding: 24px 18px 14px;
    text-align: center;
    position: relative;
}

.wk-redpacket-detail-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    border: none;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-redpacket-detail-sender {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.wk-no-flex-gap .wk-redpacket-detail-sender > *:not(:last-child) {
    margin-bottom: 8px;
}

.wk-redpacket-detail-avatar {
    width: 52px;
    height: 52px;
    border-radius: 9px; /* 微信圆角方头像 */
    border: none;
    -o-object-fit: cover;
       object-fit: cover;
    background: rgba(255, 255, 255, 0.2);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.wk-redpacket-detail-name {
    color: #fff;
    font-size: 17px;
    font-weight: 600;
}

.wk-redpacket-detail-remark {
    color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
    margin-top: 4px;
}

/* 金额区域 —— 接续 header 渐变,无分界线 */
.wk-redpacket-detail-amount-section {
    background: linear-gradient(180deg, #EC5038 0%, #E2492F 100%);
    padding: 6px 18px 22px;
    text-align: center;
}

.wk-redpacket-detail-amount {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
}

.wk-no-flex-gap .wk-redpacket-detail-amount > *:not(:last-child) {
    margin-right: 4px;
}

/* 作用域限定在红包金额区,避免与 TransferDetail 的 .wk-amount-value(#333)全局撞车 */
.wk-redpacket-detail-amount-section .wk-amount-value {
    font-size: 44px;
    font-weight: 700;
    color: #FBE3B6; /* 微信奶油金 */
    line-height: 1.1;
}

.wk-redpacket-detail-amount-section .wk-amount-unit {
    font-size: 15px;
    color: #FBE3B6;
}

.wk-redpacket-detail-tip {
    color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
    margin-top: 6px;
}

/* 领取记录 */
.wk-redpacket-detail-records {
    flex: 1 1;
    overflow-y: auto;
}

.wk-redpacket-detail-records-header {
    padding: 14px 18px 10px;
    background: #fff;
    color: #999;
    font-size: 12px;
}

.wk-redpacket-detail-records-list {
    padding: 0 18px;
}

.wk-redpacket-detail-record-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid #f4f4f4;
}

.wk-no-flex-gap .wk-redpacket-detail-record-item > *:not(:last-child) {
    margin-right: 12px;
}

.wk-redpacket-detail-record-item:last-child {
    border-bottom: none;
}

.wk-record-avatar {
    width: 40px;
    height: 40px;
    border-radius: 6px; /* 微信圆角方头像 */
    -o-object-fit: cover;
       object-fit: cover;
    background: #eee;
    flex-shrink: 0;
}

.wk-record-info {
    flex: 1 1;
    min-width: 0;
}

.wk-record-name {
    font-size: 15px;
    color: #333;
    display: flex;
    align-items: center;
    gap: 6px;
}

.wk-no-flex-gap .wk-record-name > *:not(:last-child) {
    margin-right: 6px;
}

/* 手气最佳:小巧金色 pill,不再是大方框 */
.wk-lucky-tag {
    font-size: 11px;
    line-height: 16px;
    color: #FF9F2E;
    background: rgba(255, 159, 46, 0.12);
    border: none;
    padding: 0 6px;
    border-radius: 3px;
    font-weight: 400;
    flex-shrink: 0;
}

.wk-record-time {
    font-size: 12px;
    color: #b2b2b2;
    margin-top: 3px;
}

.wk-record-amount {
    font-size: 15px;
    color: #333;
    font-weight: 500;
    flex-shrink: 0;
}

.wk-redpacket-detail-empty {
    padding: 40px 0;
    text-align: center;
    color: #999;
    font-size: 13px;
}


/* Published wallet detail: white information panels with a separate receipt list. */
.wk-redpacket-detail-page { background: #fff; background: var(--wk-color-item, #fff); border-radius: 4px; }
.wk-redpacket-detail-header { background: #fff; background: var(--wk-color-item, #fff); padding: 26px 20px 12px; }
.wk-redpacket-detail-close { color: #171717; color: var(--wk-color-font, #171717); background: transparent; }
.wk-redpacket-detail-name { color: #777; font-size: 14px; font-weight: 400; }
.wk-redpacket-detail-remark { color: #171717; color: var(--wk-color-font, #171717); font-size: 16px; overflow-wrap: anywhere; }
.wk-redpacket-detail-amount-section { background: #fff; background: var(--wk-color-item, #fff); padding: 16px 20px 32px; }
.wk-redpacket-detail-amount-section .wk-amount-value { font-size: 37px; font-weight: 500; color: #171717; color: var(--wk-color-font, #171717); }
.wk-redpacket-detail-amount-section .wk-amount-unit { font-size: 18px; color: #171717; color: var(--wk-color-font, #171717); }
.wk-redpacket-detail-tip { color: #777; font-size: 13px; }
.wk-redpacket-detail-records { min-height: 0; border-top: 8px solid #ededed; border-top: 8px solid var(--wk-color-secondary, #ededed); }
.wk-redpacket-detail-records-header { padding: 16px 18px; background: #fff; background: var(--wk-color-item, #fff); color: #888; border-bottom: 1px solid #dedede; border-bottom: 1px solid var(--wk-ui-line, #dedede); }
.wk-redpacket-detail-page .wk-record-name { color: #171717; color: var(--wk-color-font, #171717); }
.wk-redpacket-detail-page .wk-record-amount { color: #171717; color: var(--wk-color-font, #171717); font-weight: 400; }
.wk-redpacket-detail-record-item { min-height: 56px; box-sizing: border-box; }
.wk-redpacket-detail-page { width: min(390px, 92vw); max-height: 85vh; }

/* 转账详情页样式 — 复用红包开包页的 wk-wallet-modal-overlay(透明遮罩+flex居中),
   卡片紧凑 hug 内容,不再用 Semi 90%/450px 那套撑得又大又空。 */
.wk-transfer-detail-page {
    width: min(300px, 82vw);
    box-sizing: border-box;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.wk-transfer-detail-loading,
.wk-transfer-detail-error {
    padding: 60px 20px;
    text-align: center;
    color: #999;
}

/* 顶部区域 */
.wk-transfer-detail-header {
    background: linear-gradient(135deg, #FF9800 0%, #F57C00 100%);
    padding: 18px 18px 16px;
    text-align: center;
    position: relative;
}

.wk-transfer-detail-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    border: none;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-transfer-detail-icon {
    font-size: 34px;
    margin-bottom: 4px;
}

.wk-transfer-detail-title {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}

/* 金额区域 */
.wk-transfer-detail-amount-section {
    padding: 18px 18px;
    text-align: center;
    background: #fafafa;
    border-bottom: 1px solid #f0f0f0;
}

.wk-transfer-detail-amount {
    display: flex;
    align-items: baseline;
    justify-content: center;
}

.wk-amount-symbol {
    font-size: 20px;
    font-weight: 500;
    color: #333;
}

.wk-amount-value {
    font-size: 40px;
    font-weight: 600;
    color: #333;
}

.wk-transfer-detail-remark {
    color: #666;
    font-size: 14px;
    margin-top: 10px;
}

.wk-transfer-detail-status {
    margin-top: 12px;
    font-size: 14px;
    padding: 4px 12px;
    border-radius: 12px;
    display: inline-block;
}

.wk-transfer-detail-status.status-0 {
    background: #FFF3E0;
    color: #F57C00;
}

.wk-transfer-detail-status.status-1 {
    background: #E8F5E9;
    color: #4CAF50;
}

.wk-transfer-detail-status.status-2,
.wk-transfer-detail-status.status-3 {
    background: #F5F5F5;
    color: #999;
}

/* 详细信息 */
.wk-transfer-detail-info {
    padding: 6px 18px 14px;
}

.wk-transfer-detail-info-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}

.wk-no-flex-gap .wk-transfer-detail-info-item > *:not(:last-child) {
    margin-right: 12px;
}

.wk-transfer-detail-info-item:last-child {
    border-bottom: none;
}

.wk-info-label {
    color: #999;
    font-size: 14px;
    flex-shrink: 0;
}

.wk-info-value {
    color: #333;
    font-size: 14px;
    text-align: right;
    min-width: 0;
    word-break: break-all;
}

.wk-info-mono {
    font-family: monospace;
    font-size: 12px;
}

/* 操作按钮 */
.wk-transfer-detail-actions {
    padding: 20px;
}

.wk-transfer-receive-btn {
    width: 100%;
    height: 48px;
    background: linear-gradient(135deg, #FF9800 0%, #F57C00 100%);
    border: none;
    border-radius: 24px;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.2s;
}

.wk-transfer-receive-btn:hover {
    opacity: 0.9;
}

.wk-transfer-receive-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* 退回按钮:次级样式(与主操作「领取」区分) */
.wk-transfer-refund-btn {
    width: 100%;
    height: 48px;
    background: #fff;
    border: 1px solid #F57C00;
    border-radius: 24px;
    color: #F57C00;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.2s;
}

/* 同时出现「领取」与「退回」时,退回按钮顶部留出间距 */
.wk-transfer-receive-btn + .wk-transfer-refund-btn {
    margin-top: 12px;
}

.wk-transfer-refund-btn:hover {
    opacity: 0.9;
}

.wk-transfer-refund-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


/* Align the existing detail dialog with the published funds design. */
.wk-transfer-detail-page { border-radius: 4px; max-height: 85vh; overflow-y: auto; }
.wk-transfer-detail-header { background: #fff; padding: 24px 20px 4px; }
.wk-transfer-detail-close { background: transparent; color: #111; border-radius: 4px; }
.wk-transfer-detail-icon { color: #07c160; color: var(--wk-ui-primary, #07c160); margin-bottom: 12px; line-height: 22px; }
.wk-transfer-detail-title { color: #777; font-size: 14px; font-weight: 400; }
.wk-transfer-detail-amount-section { background: #fff; padding: 16px 20px 28px; border-bottom: 8px solid #ededed; }
.wk-transfer-detail-page .wk-amount-value { font-size: 37px; font-weight: 500; color: #111; }
.wk-transfer-detail-page .wk-amount-symbol { font-size: 24px; font-weight: 400; color: #111; }
.wk-transfer-detail-remark { overflow-wrap: anywhere; }
.wk-transfer-detail-info { padding: 8px 20px 16px; }
.wk-transfer-detail-info-item { gap: 16px; }
.wk-transfer-detail-page .wk-info-label { flex-shrink: 0; }
.wk-transfer-detail-page .wk-info-value { text-align: right; overflow-wrap: anywhere; min-width: 0; }
.wk-transfer-detail-actions { padding: 20px; text-align: center; }
.wk-transfer-detail-page .wk-transfer-receive-btn { width: 120px; height: 42px; background: #07c160; background: var(--wk-ui-primary, #07c160); border-radius: 4px; }
.wk-transfer-detail-page .wk-transfer-refund-btn { display: block; width: 120px; height: 42px; margin: 16px auto 0; border: 0; border-radius: 4px; color: #07c160; color: var(--wk-ui-primary, #07c160); }

.wk-transfer-detail-page { width: min(390px, 92vw); }

/* 支付键盘 */
.wk-pay-keyboard {
    background: #fff;
    background: var(--wk-color-item, #fff);
    padding: 12px;
    border-radius: 8px;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    width: 280px;
}

.wk-pay-keyboard-row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}

.wk-no-flex-gap .wk-pay-keyboard-row > *:not(:last-child) {
    margin-right: 8px;
}

.wk-pay-keyboard-row:last-child {
    margin-bottom: 0;
}

.wk-pay-key {
    flex: 1 1;
    height: 48px;
    background: #f5f5f5;
    background: var(--wk-color-secondary, #f5f5f5);
    border: 1px solid #e8e8e8;
    border: 1px solid var(--wk-line-color, #e8e8e8);
    border-radius: 6px;
    font-size: 20px;
    font-weight: 500;
    color: #333;
    color: var(--wk-text-item, #333);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.1s ease;
}

.wk-pay-key:hover:not(.disabled) {
    background: #eee;
    background: var(--wk-color-hover, #eee);
}

.wk-pay-key.pressed {
    background: #ddd;
    background: var(--wk-line-color, #ddd);
    transform: scale(0.96);
}

.wk-pay-key.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.wk-pay-key-action {
    background: #e5e5e5;
    background: var(--wk-line-color, #e5e5e5);
    color: #666;
    color: var(--wk-color-font-tip, #666);
    font-size: 13px;
}

.wk-pay-key-action:hover:not(.disabled) {
    background: #ddd;
}

.wk-pay-key-action svg {
    width: 20px;
    height: 20px;
}

.wk-pay-key-text {
    font-size: 13px;
    font-weight: 500;
}

/* 暗色模式 */
body[theme-mode=dark] .wk-pay-keyboard {
    background: #212121;
    background: var(--wk-color-item, #212121);
}

body[theme-mode=dark] .wk-pay-key {
    background: #333;
    background: var(--wk-color-secondary, #333);
    border-color: #444;
    border-color: var(--wk-line-color, #444);
}

body[theme-mode=dark] .wk-pay-key:hover:not(.disabled) {
    background: #444;
}

body[theme-mode=dark] .wk-pay-key-action {
    background: #383838;
}

/* 红包发送页面 - 适配主题 */
.wk-rp-send {
    background: #fff;
    background: var(--wk-color-item, #fff);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    max-width: 400px;
    margin: 0 auto;
}

/* ========== Header ========== */
.wk-rp-header {
    background: linear-gradient(145deg, #E74C3C 0%, #C0392B 100%);
    padding: 28px 20px 24px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.wk-rp-header-bg {
    position: absolute;
    top: -50%;
    left: -20%;
    width: 140%;
    height: 200%;
    background: radial-gradient(ellipse at center, rgba(255,255,255,0.1) 0%, transparent 70%);
    pointer-events: none;
}

.wk-rp-close {
    position: absolute;
    right: 16px;
    top: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.15);
    border: none;
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: all 0.2s;
    z-index: 1;
}

.wk-rp-close:hover {
    background: rgba(0, 0, 0, 0.25);
    transform: scale(1.05);
}

.wk-rp-header-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 12px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-rp-title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.5px;
}

.wk-rp-subtitle {
    margin: 6px 0 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
}

/* ========== Body ========== */
.wk-rp-body {
    padding: 20px;
}

/* 红包类型切换 */
.wk-rp-type-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}
.wk-no-flex-gap .wk-rp-type-tabs > *:not(:last-child) {
    margin-right: 10px;
}

.wk-rp-type-tab {
    flex: 1 1;
    padding: 12px 16px;
    border: 1.5px solid #E8E8E8;
    border: 1.5px solid var(--wk-line-color, #E8E8E8);
    background: #FAFAFA;
    background: var(--wk-color-secondary, #FAFAFA);
    border-radius: 10px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: #666;
    color: var(--wk-text-item, #666);
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.wk-no-flex-gap .wk-rp-type-tab > *:not(:last-child) {
    margin-right: 6px;
}

.wk-rp-type-tab:hover {
    border-color: #E74C3C;
    background: rgba(231, 76, 60, 0.05);
}

.wk-rp-type-tab.active {
    background: rgba(231, 76, 60, 0.1);
    border-color: #E74C3C;
    color: #E74C3C;
}

.wk-rp-type-icon {
    font-size: 16px;
}

/* 输入字段 */
.wk-rp-field {
    display: flex;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid #F0F0F0;
    border-bottom: var(--wk-line, 1px solid #F0F0F0);
}

.wk-rp-field label {
    width: 80px;
    font-size: 15px;
    font-weight: 500;
    color: #333;
    color: var(--wk-text-item, #333);
    flex-shrink: 0;
}

.wk-rp-input-wrap {
    flex: 1 1;
    display: flex;
    align-items: center;
}

.wk-rp-input-wrap input {
    flex: 1 1;
    border: none;
    outline: none;
    font-size: 18px;
    font-weight: 500;
    text-align: right;
    padding: 0 8px;
    color: #333;
    color: var(--wk-text-item, #333);
    background: transparent;
}

.wk-rp-input-wrap input::-moz-placeholder {
    color: #CCC;
    color: var(--wk-color-font-tip, #CCC);
    font-weight: 400;
}

.wk-rp-input-wrap input::placeholder {
    color: #CCC;
    color: var(--wk-color-font-tip, #CCC);
    font-weight: 400;
}

.wk-rp-unit {
    font-size: 15px;
    color: #666;
    color: var(--wk-text-item, #666);
    margin-left: 4px;
}

/* 祝福语 */
.wk-rp-remark {
    padding: 16px 0;
    border-bottom: 1px solid #F0F0F0;
    border-bottom: var(--wk-line, 1px solid #F0F0F0);
}

.wk-rp-remark input {
    width: 100%;
    border: none;
    outline: none;
    font-size: 14px;
    text-align: center;
    color: #666;
    color: var(--wk-text-item, #666);
    background: transparent;
}

.wk-rp-remark input::-moz-placeholder {
    color: #BBB;
    color: var(--wk-color-font-tip, #BBB);
}

.wk-rp-remark input::placeholder {
    color: #BBB;
    color: var(--wk-color-font-tip, #BBB);
}

/* 错误提示 */
.wk-rp-error {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #E74C3C;
    font-size: 13px;
    padding: 12px;
    background: rgba(231, 76, 60, 0.1);
    border-radius: 8px;
    margin-top: 16px;
}
.wk-no-flex-gap .wk-rp-error > *:not(:last-child) {
    margin-right: 6px;
}

/* 金额显示 */
.wk-rp-total {
    text-align: center;
    padding: 28px 0 8px;
}

.wk-rp-total-currency {
    font-size: 24px;
    color: #E74C3C;
    font-weight: 500;
    vertical-align: top;
    margin-right: 2px;
}

.wk-rp-total-amount {
    font-size: 48px;
    font-weight: 600;
    color: #E74C3C;
    letter-spacing: -1px;
}

/* 余额 */
.wk-rp-balance {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    color: #999;
    color: var(--wk-color-font-tip, #999);
    margin-bottom: 20px;
}
.wk-no-flex-gap .wk-rp-balance > *:not(:last-child) {
    margin-right: 8px;
}

.wk-rp-recharge {
    border: none;
    background: transparent;
    color: #E74C3C;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    padding: 2px 4px;
    cursor: pointer;
}

.wk-rp-recharge:hover {
    text-decoration: underline;
}

/* 提交按钮 */
.wk-rp-submit {
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, #E74C3C 0%, #C0392B 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 17px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(231, 76, 60, 0.35);
}

.wk-rp-submit:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(231, 76, 60, 0.45);
}

.wk-rp-submit:active:not(:disabled) {
    transform: translateY(0);
}

.wk-rp-submit:disabled {
    background: #CCC;
    background: var(--wk-line-color, #CCC);
    box-shadow: none;
    cursor: not-allowed;
}

/* ========== 密码输入步骤 ========== */
.wk-rp-password-step {
    background: #F8F9FA;
    background: var(--wk-color-secondary, #F8F9FA);
}

.wk-rp-pwd-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: #fff;
    background: var(--wk-color-item, #fff);
    border-bottom: 1px solid #EAEAEA;
    border-bottom: var(--wk-line, 1px solid #EAEAEA);
}

.wk-rp-pwd-header h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    color: #333;
    color: var(--wk-text-item, #333);
}

.wk-rp-back {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #666;
    color: var(--wk-text-item, #666);
    cursor: pointer;
    border-radius: 50%;
    transition: background 0.2s;
}

.wk-rp-back:hover {
    background: #F0F0F0;
    background: var(--wk-color-hover, #F0F0F0);
}

.wk-rp-close-sm {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #666;
    color: var(--wk-text-item, #666);
    cursor: pointer;
    border-radius: 50%;
    transition: background 0.2s;
}

.wk-rp-close-sm:hover {
    background: #F0F0F0;
    background: var(--wk-color-hover, #F0F0F0);
}

/* 密码输入区域 */
.wk-rp-pwd-body {
    padding: 32px 24px 20px;
    text-align: center;
    background: #fff;
    background: var(--wk-color-item, #fff);
}

.wk-rp-pwd-amount {
    margin-bottom: 32px;
}

.wk-rp-pwd-currency {
    font-size: 28px;
    font-weight: 500;
    color: #333;
    color: var(--wk-text-item, #333);
    vertical-align: top;
}

.wk-rp-pwd-value {
    font-size: 52px;
    font-weight: 600;
    color: #333;
    color: var(--wk-text-item, #333);
    letter-spacing: -2px;
}

.wk-rp-pwd-label {
    font-size: 14px;
    color: #999;
    color: var(--wk-color-font-tip, #999);
    margin-bottom: 16px;
}

/* 密码框 */
.wk-rp-pwd-boxes {
    display: flex;
    justify-content: center;
    gap: 10px;
    position: relative;
    margin-bottom: 16px;
}
.wk-no-flex-gap .wk-rp-pwd-boxes > *:not(:last-child) {
    margin-right: 10px;
}

.wk-rp-pwd-box {
    width: 48px;
    height: 52px;
    background: #fff;
    background: var(--wk-color-item, #fff);
    border: 2px solid #E0E0E0;
    border: 2px solid var(--wk-line-color, #E0E0E0);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.wk-rp-pwd-box.active {
    border-color: #E74C3C;
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1);
}

.wk-rp-pwd-box.filled {
    border-color: #E74C3C;
}

.wk-rp-pwd-dot {
    width: 12px;
    height: 12px;
    background: #333;
    background: var(--wk-text-item, #333);
    border-radius: 50%;
}

/* 密码错误 */
.wk-rp-pwd-error {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #E74C3C;
    font-size: 14px;
    padding: 12px;
    background: rgba(231, 76, 60, 0.1);
    border-radius: 8px;
    margin-bottom: 16px;
}
.wk-no-flex-gap .wk-rp-pwd-error > *:not(:last-child) {
    margin-right: 6px;
}

/* 加载中 */
.wk-rp-pwd-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #666;
    color: var(--wk-text-item, #666);
    font-size: 14px;
    padding: 16px;
}
.wk-no-flex-gap .wk-rp-pwd-loading > *:not(:last-child) {
    margin-right: 10px;
}

.wk-rp-spinner {
    width: 20px;
    height: 20px;
    border: 2px solid #E0E0E0;
    border: 2px solid var(--wk-line-color, #E0E0E0);
    border-top-color: #E74C3C;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* 忘记密码 */
.wk-rp-pwd-tip {
    font-size: 13px;
    color: #07C160;
    color: var(--wk-color-theme, #07C160);
    cursor: pointer;
    margin-top: 24px;
}

.wk-rp-pwd-tip:hover {
    text-decoration: underline;
}

/* 暗色模式 */
body[theme-mode=dark] .wk-rp-send {
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* ========== Modal 样式覆盖 ========== */
.wk-wallet-send-modal .ant-modal-content {
    padding: 0 !important;
    border-radius: 12px !important;
    overflow: hidden;
    background: transparent !important;
}

.wk-wallet-send-modal .ant-modal-body {
    padding: 0 !important;
}

/* 自适应 */
@media (max-width: 480px) {
    .wk-rp-send {
        max-width: 100%;
        border-radius: 0;
    }
    
    .wk-rp-total-amount {
        font-size: 40px;
    }
    
    .wk-rp-pwd-value {
        font-size: 44px;
    }
    
    .wk-rp-pwd-box {
        width: 42px;
        height: 46px;
    }
    
    .wk-rp-pwd-boxes {
        gap: 8px;
    }
}

/* Match the published neutral funds forms without changing their flow. */
.wk-rp-send { border-radius: 4px; box-shadow: none; }
.wk-rp-header { background: #ededed; padding: 18px 44px; }
.wk-rp-header-bg, .wk-rp-header-icon { display: none; }
.wk-rp-title { color: #111; font-size: 17px; font-weight: 500; }
.wk-rp-subtitle { color: #777; }
.wk-rp-close { background: transparent; color: #111; border-radius: 4px; }
.wk-rp-submit { display: block; width: auto; min-width: 112px; max-width: 100%; height: 42px; padding: 0 24px; margin: 24px auto 0; background: #07c160; background: var(--wk-ui-primary, #07c160); border-radius: 4px; box-shadow: none; font-size: 14px; }
.wk-rp-type-tab { border-radius: 4px; font-weight: 400; }
.wk-rp-type-tab.active { border-color: #07c160; border-color: var(--wk-ui-primary, #07c160); background: #f0faf4; color: #07c160; color: var(--wk-ui-primary, #07c160); }
.wk-rp-type-icon { display: none; }
.wk-rp-total-amount { font-size: 37px; font-weight: 500; color: #111; }
.wk-rp-total-currency { color: #111; }
.wk-rp-input-wrap input { min-width: 0; font-size: 16px; text-align: left; }
.wk-rp-field label { font-weight: 400; font-size: 14px; }

/* ===== 左侧菜单 ===== */
.wk-wallet-page {
    width: 100%;
    height: 100%;
    border-right: var(--wk-line);
    display: flex;
    flex-direction: column;
}

.wk-wallet-menu {
    overflow-y: auto;
    flex: 1 1;
    padding: 8px 0;
}

.wk-wallet-menu-item {
    width: 100%;
    height: 48px;
    display: flex;
    align-items: center;
    cursor: pointer;
    color: #888;
    transition: background-color 0.12s, color 0.12s;
    position: relative;
}

.wk-wallet-menu-item:hover {
    background-color: rgba(0,0,0,0.04);
    background-color: var(--wk-color-hover, rgba(0,0,0,0.04));
    color: #555;
}

.wk-wallet-menu-item-selected {
    color: #07C160;
    color: var(--wk-color-theme, #07C160);
    background-color: rgba(7, 193, 96, 0.08);
}

.wk-wallet-menu-item-selected::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    background: #07C160;
    background: var(--wk-color-theme, #07C160);
    border-radius: 0 2px 2px 0;
}

.wk-wallet-menu-icon {
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.wk-wallet-menu-item span {
    font-size: 14px;
    font-weight: 500;
    color: inherit;
}

/* ===== 右侧内容区 ===== */
.wk-wallet-content {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.wk-wallet-content-body {
    overflow-y: auto;
    flex: 1 1;
    padding: 20px;
    background: #f2f3f5;
    box-sizing: border-box;
}

body[theme-mode=dark] .wk-wallet-content-body {
    background: #181818;
}

/* ===== 余额卡片 ===== */
.wk-wallet-balance-card {
    background: linear-gradient(145deg, #FF9F5A 0%, #FF6B35 60%, #e8521f 100%);
    border-radius: 16px;
    max-width: 480px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(255, 107, 53, 0.35);
    margin-bottom: 16px;
}

.wk-wallet-balance-inner {
    padding: 28px 24px 20px;
}

.wk-wallet-balance-label {
    font-size: 13px;
    color: rgba(255,255,255,0.8);
    letter-spacing: 0.3px;
    margin-bottom: 10px;
}

.wk-wallet-balance-value {
    font-size: 44px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    letter-spacing: -1px;
}

.wk-wallet-balance-value span {
    font-size: 22px;
    font-weight: 500;
    margin-right: 2px;
    vertical-align: 6px;
}

.wk-wallet-frozen {
    font-size: 12px;
    color: rgba(255,255,255,0.65);
    margin-top: 8px;
}

/* ===== 总览信息网格 ===== */
.wk-wallet-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid rgba(255,255,255,0.18);
}

.wk-wallet-info-item {
    padding: 14px 20px;
    border-right: 1px solid rgba(255,255,255,0.15);
    border-bottom: 1px solid rgba(255,255,255,0.15);
}

.wk-wallet-info-item:nth-child(2n) { border-right: none; }
.wk-wallet-info-item:nth-child(3),
.wk-wallet-info-item:nth-child(4) { border-bottom: none; }

.wk-wallet-info-label {
    font-size: 11px;
    color: rgba(255,255,255,0.65);
    margin-bottom: 5px;
    letter-spacing: 0.2px;
}

.wk-wallet-info-value {
    font-size: 15px;
    font-weight: 600;
    color: #fff;
}

.wk-wallet-info-value.income {
    color: #c8ffc0;
}

/* ===== 表单卡片 ===== */
.wk-wallet-form {
    max-width: 480px;
    background: #fff;
    background: var(--wk-color-item, #fff);
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

body[theme-mode=dark] .wk-wallet-form {
    background: #242424;
    box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

.wk-wallet-form-tip {
    font-size: 12px;
    color: #888;
    line-height: 1.6;
    margin-bottom: 16px;
    padding: 10px 12px;
    background: rgba(7, 193, 96, 0.06);
    border-left: 3px solid #07C160;
    border-left: 3px solid var(--wk-color-theme, #07C160);
    border-radius: 0 6px 6px 0;
}

body[theme-mode=dark] .wk-wallet-form-tip {
    background: rgba(7, 193, 96, 0.1);
}

.wk-wallet-form-balance {
    font-size: 14px;
    font-weight: 600;
    color: #07C160;
    color: var(--wk-color-theme, #07C160);
    margin-bottom: 16px;
    padding: 10px 14px;
    background: rgba(7, 193, 96, 0.06);
    border-radius: 8px;
}

.wk-wallet-form-item {
    margin-bottom: 14px;
}

.wk-wallet-form-label {
    font-size: 12px;
    color: #888;
    margin-bottom: 6px;
    font-weight: 500;
}

.wk-wallet-form-warning {
    padding: 10px 14px;
    background: #fff7e6;
    border-radius: 8px;
    color: #d46b08;
    font-size: 12px;
    margin-bottom: 14px;
    border-left: 3px solid #fa8c16;
}

body[theme-mode=dark] .wk-wallet-form-warning {
    background: rgba(250,140,22,0.12);
}

.wk-wallet-form-submit {
    margin-top: 20px;
}

.wk-wallet-form-submit .semi-button {
    width: 100%;
    height: 44px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
}

/* ===== 密码输入 ===== */
.wk-wallet-pwd-section {
    max-width: 480px;
    background: #fff;
    background: var(--wk-color-item, #fff);
    border-radius: 14px;
    padding: 32px 24px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    text-align: center;
}

body[theme-mode=dark] .wk-wallet-pwd-section {
    background: #242424;
}

.wk-wallet-pwd-amount {
    font-size: 36px;
    font-weight: 700;
    color: #1a1a1a;
    color: var(--wk-text-item, #1a1a1a);
    margin-bottom: 4px;
}

.wk-wallet-pwd-amount span {
    font-size: 20px;
    font-weight: 500;
    vertical-align: 4px;
    margin-right: 2px;
}

.wk-wallet-pwd-tip {
    font-size: 14px;
    color: #888;
    margin-bottom: 24px;
}

.wk-wallet-pwd-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 8px;
}

.wk-no-flex-gap .wk-wallet-pwd-dots > *:not(:last-child) {
    margin-right: 10px;
}

.wk-wallet-pwd-dot {
    width: 44px;
    height: 44px;
    border: 1.5px solid #e0e0e0;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fafafa;
    transition: border-color 0.15s;
}

body[theme-mode=dark] .wk-wallet-pwd-dot {
    border-color: #3a3a3a;
    background: #2a2a2a;
}

.wk-wallet-pwd-dot.filled {
    border-color: #07C160;
    border-color: var(--wk-color-theme, #07C160);
    background: #fff;
}

.wk-wallet-pwd-dot.filled span {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #1a1a1a;
    display: block;
}

body[theme-mode=dark] .wk-wallet-pwd-dot.filled span {
    background: #fff;
}

.wk-wallet-keyboard {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

/* ===== 账单明细 ===== */
.wk-wallet-bills {
    max-width: 480px;
    background: #fff;
    background: var(--wk-color-item, #fff);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

body[theme-mode=dark] .wk-wallet-bills {
    background: #242424;
}

.wk-wallet-bills-loading,
.wk-wallet-bills-empty {
    padding: 60px 0;
    text-align: center;
    color: #aaa;
    font-size: 14px;
}

.wk-wallet-bill-item {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

body[theme-mode=dark] .wk-wallet-bill-item {
    border-bottom-color: rgba(255,255,255,0.06);
}

.wk-wallet-bill-item:last-child { border-bottom: none; }

.wk-wallet-bill-info {
    flex: 1 1;
    min-width: 0;
}

.wk-wallet-bill-type {
    font-size: 14px;
    font-weight: 500;
    color: #222;
    color: var(--wk-text-item, #222);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.wk-wallet-bill-remark {
    font-size: 12px;
    color: #aaa;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wk-wallet-bill-time {
    font-size: 11px;
    color: #bbb;
    margin-top: 4px;
}

.wk-wallet-bill-right {
    text-align: right;
    flex-shrink: 0;
    margin-left: 12px;
}

.wk-wallet-bill-amount {
    font-size: 15px;
    font-weight: 600;
    color: #333;
}

body[theme-mode=dark] .wk-wallet-bill-amount { color: #ddd; }

.wk-wallet-bill-amount.income { color: #2ecc71; }

.wk-wallet-bill-tag {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 500;
}

.wk-wallet-bill-tag.pending {
    background: #fff7e6;
    color: #fa8c16;
}

.wk-wallet-bill-tag.rejected {
    background: #fff1f0;
    color: #ff4d4f;
}

/* ===== 实名认证状态页 ===== */
.wk-wallet-realname-status {
    text-align: center;
    padding: 48px 20px 32px;
}

.wk-wallet-realname-icon {
    font-size: 52px;
    margin-bottom: 16px;
    line-height: 1;
}

.wk-wallet-realname-title {
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    color: var(--wk-text-item, #1a1a1a);
    margin-bottom: 10px;
}

.wk-wallet-realname-desc {
    font-size: 13px;
    color: #888;
    line-height: 1.7;
    max-width: 280px;
    margin: 0 auto;
}

/* ===== 深色模式 ===== */
body[theme-mode=dark] .wk-wallet-menu-item { color: #666; }
body[theme-mode=dark] .wk-wallet-menu-item:hover { background-color: rgba(255,255,255,0.05); color: #999; }
body[theme-mode=dark] .wk-wallet-menu-item-selected { color: #07C160; color: var(--wk-color-theme, #07C160); background-color: rgba(7, 193, 96,0.12); }
body[theme-mode=dark] .wk-wallet-balance-card { box-shadow: 0 8px 28px rgba(0,0,0,0.4); }
body[theme-mode=dark] .wk-wallet-bill-type { color: #ddd; }
body[theme-mode=dark] .wk-wallet-realname-title { color: #e0e0e0; }

/* ===== WalletFullPage: 完整钱包页布局 ===== */
.wk-wallet-fullpage {
    width: 100%;
    height: 100%;
    display: flex;
    overflow: hidden;
    background: #f2f3f5;
    background: var(--wk-color-secondary, #f2f3f5);
}

.wk-wallet-fullpage-sidebar {
    width: 200px;
    min-width: 200px;
    height: 100%;
    background: #fff;
    background: var(--wk-color-item, #fff);
    border-right: 1px solid #ebebeb;
    border-right: var(--wk-line, 1px solid #ebebeb);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

body[theme-mode=dark] .wk-wallet-fullpage-sidebar {
    background: #1e1e1e;
    border-right-color: #2a2a2a;
}

.wk-wallet-fullpage-title {
    height: 50px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    font-size: 16px;
    font-weight: 600;
    color: #1a1a1a;
    color: var(--wk-text-item, #1a1a1a);
    border-bottom: 1px solid #ebebeb;
    border-bottom: var(--wk-line, 1px solid #ebebeb);
    flex-shrink: 0;
}

body[theme-mode=dark] .wk-wallet-fullpage-title {
    color: #e0e0e0;
    border-bottom-color: #2a2a2a;
}

.wk-wallet-fullpage-content {
    flex: 1 1;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.wk-wallet-fullpage-content .wk-wallet-content {
    height: 100%;
}

.wk-wallet-content-body-embedded {
    height: 100% !important;
}

/* 钱包工具栏按钮通用样式 */
.wk-wallet-toolbar-btn {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s ease;
    position: relative;
}

.wk-wallet-toolbar-btn:hover {
    background-color: rgba(0, 0, 0, 0.06);
    transform: scale(1.05);
}

.wk-wallet-toolbar-btn:active {
    transform: scale(0.98);
}

.wk-wallet-toolbar-btn svg {
    transition: transform 0.2s;
}

.wk-wallet-toolbar-btn:hover svg {
    transform: scale(1.08);
}

/* 红包按钮特殊效果 */
.wk-redpacket-btn:hover {
    background-color: rgba(231, 76, 60, 0.08);
}

/* 转账发送页面 - 专业设计 */
.wk-tf-send {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    max-width: 400px;
    margin: 0 auto;
}

/* ========== Header ========== */
.wk-tf-header {
    background: linear-gradient(145deg, #FFA940 0%, #FA8C16 100%);
    padding: 28px 20px 24px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.wk-tf-header-bg {
    position: absolute;
    top: -50%;
    left: -20%;
    width: 140%;
    height: 200%;
    background: radial-gradient(ellipse at center, rgba(255,255,255,0.15) 0%, transparent 70%);
    pointer-events: none;
}

.wk-tf-close {
    position: absolute;
    right: 16px;
    top: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.1);
    border: none;
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: all 0.2s;
    z-index: 1;
}

.wk-tf-close:hover {
    background: rgba(0, 0, 0, 0.2);
    transform: scale(1.05);
}

.wk-tf-header-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 12px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-tf-title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.5px;
}

.wk-tf-subtitle {
    margin: 6px 0 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
}

/* ========== Body ========== */
.wk-tf-body {
    padding: 32px 24px;
}

/* 金额输入区域 */
.wk-tf-amount-section {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
    border-bottom: 2px solid #F5F5F5;
    margin-bottom: 16px;
}

.wk-tf-currency {
    font-size: 32px;
    font-weight: 500;
    color: #333;
    margin-right: 4px;
}

.wk-tf-amount-input {
    border: none;
    outline: none;
    font-size: 48px;
    font-weight: 600;
    width: 200px;
    text-align: left;
    color: #333;
    background: transparent;
}

.wk-tf-amount-input::-moz-placeholder {
    color: #DDD;
    font-weight: 400;
}

.wk-tf-amount-input::placeholder {
    color: #DDD;
    font-weight: 400;
}

/* 余额提示 */
.wk-tf-balance {
    text-align: center;
    font-size: 13px;
    color: #999;
    margin-bottom: 20px;
}

/* 转账说明 */
.wk-tf-remark {
    background: #F8F9FA;
    border-radius: 10px;
    padding: 4px;
    margin-bottom: 24px;
}

.wk-tf-remark input {
    width: 100%;
    border: none;
    outline: none;
    font-size: 14px;
    padding: 12px 16px;
    color: #333;
    background: transparent;
    text-align: center;
}

.wk-tf-remark input::-moz-placeholder {
    color: #AAA;
}

.wk-tf-remark input::placeholder {
    color: #AAA;
}

/* 错误提示 */
.wk-tf-error {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #E74C3C;
    font-size: 13px;
    padding: 12px;
    background: #FFF5F5;
    border-radius: 8px;
    margin-bottom: 20px;
}
.wk-no-flex-gap .wk-tf-error > *:not(:last-child) {
    margin-right: 6px;
}

/* 提交按钮 */
.wk-tf-submit {
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, #FFA940 0%, #FA8C16 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 17px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(250, 140, 22, 0.35);
}

.wk-tf-submit:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(250, 140, 22, 0.45);
}

.wk-tf-submit:active:not(:disabled) {
    transform: translateY(0);
}

.wk-tf-submit:disabled {
    background: #CCC;
    box-shadow: none;
    cursor: not-allowed;
}

/* ========== 密码输入步骤 ========== */
.wk-tf-password-step {
    background: #F8F9FA;
}

.wk-tf-pwd-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: #fff;
    border-bottom: 1px solid #EAEAEA;
}

.wk-tf-pwd-header h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    color: #333;
}

.wk-tf-back {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #666;
    cursor: pointer;
    border-radius: 50%;
    transition: background 0.2s;
}

.wk-tf-back:hover {
    background: #F0F0F0;
}

.wk-tf-close-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #666;
    cursor: pointer;
    border-radius: 50%;
    transition: background 0.2s;
}

.wk-tf-close-btn:hover {
    background: #F0F0F0;
}

/* 密码输入区域 */
.wk-tf-pwd-body {
    padding: 32px 24px 20px;
    text-align: center;
    background: #fff;
}

.wk-tf-pwd-amount {
    margin-bottom: 32px;
}

.wk-tf-pwd-currency {
    font-size: 28px;
    font-weight: 500;
    color: #333;
    vertical-align: top;
}

.wk-tf-pwd-value {
    font-size: 52px;
    font-weight: 600;
    color: #333;
    letter-spacing: -2px;
}

.wk-tf-pwd-label {
    font-size: 14px;
    color: #999;
    margin-bottom: 16px;
}

/* 密码框 */
.wk-tf-pwd-boxes {
    display: flex;
    justify-content: center;
    gap: 10px;
    position: relative;
    margin-bottom: 16px;
}
.wk-no-flex-gap .wk-tf-pwd-boxes > *:not(:last-child) {
    margin-right: 10px;
}

.wk-tf-pwd-box {
    width: 48px;
    height: 52px;
    background: #fff;
    border: 2px solid #E0E0E0;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.wk-tf-pwd-box.active {
    border-color: #FFA940;
    box-shadow: 0 0 0 3px rgba(255, 169, 64, 0.15);
}

.wk-tf-pwd-box.filled {
    border-color: #FFA940;
}

.wk-tf-pwd-dot {
    width: 12px;
    height: 12px;
    background: #333;
    border-radius: 50%;
}

/* 密码错误 */
.wk-tf-pwd-error {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #E74C3C;
    font-size: 14px;
    padding: 12px;
    background: #FFF5F5;
    border-radius: 8px;
    margin-bottom: 16px;
}
.wk-no-flex-gap .wk-tf-pwd-error > *:not(:last-child) {
    margin-right: 6px;
}

/* 加载中 */
.wk-tf-pwd-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #666;
    font-size: 14px;
    padding: 16px;
}
.wk-no-flex-gap .wk-tf-pwd-loading > *:not(:last-child) {
    margin-right: 10px;
}

.wk-tf-spinner {
    width: 20px;
    height: 20px;
    border: 2px solid #E0E0E0;
    border-top-color: #FFA940;
    border-radius: 50%;
    animation: tf-spin 0.8s linear infinite;
}

@keyframes tf-spin {
    to { transform: rotate(360deg); }
}

/* 忘记密码 */
.wk-tf-pwd-tip {
    font-size: 13px;
    color: #2196F3;
    cursor: pointer;
    margin-top: 24px;
}

.wk-tf-pwd-tip:hover {
    text-decoration: underline;
}

/* Match the published neutral funds forms without changing their flow. */
.wk-tf-send { border-radius: 4px; box-shadow: none; }
.wk-tf-header { background: #ededed; padding: 18px 44px; }
.wk-tf-header-bg, .wk-tf-header-icon { display: none; }
.wk-tf-title { color: #111; font-size: 17px; font-weight: 500; }
.wk-tf-subtitle { color: #777; }
.wk-tf-close { background: transparent; color: #111; border-radius: 4px; }
.wk-tf-submit { display: block; width: auto; min-width: 112px; max-width: 100%; height: 42px; padding: 0 24px; margin: 24px auto 0; background: #07c160; background: var(--wk-ui-primary, #07c160); border-radius: 4px; box-shadow: none; font-size: 14px; }
.wk-tf-amount-input { font-size: 32px; font-weight: 500; min-width: 0; max-width: 100%; }
.wk-tf-currency { font-size: 24px; }
.wk-tf-remark { background: #fff; border-radius: 0; border-bottom: 1px solid #ddd; }

/* 转账按钮特殊效果 */
.wk-transfer-btn:hover {
    background-color: rgba(250, 140, 22, 0.1);
}

/* 钱包模块全局样式 - 适配主题 */

/* 红包弹窗覆盖层 */
.wk-wallet-modal-overlay {
    background: rgba(0, 0, 0, 0.5) !important;
}

.wk-wallet-modal-overlay .semi-modal-content {
    background: transparent !important;
    box-shadow: none !important;
}

/* 钱包卡片弹框:屏幕正中、不可上下滑动(模仿微信)。
   关键:我的 className 落在 Semi 最外层容器上,真正的滚动容器是 .semi-modal-wrap(overflow:auto),
   顶部偏移来自 .semi-modal{margin:80px auto}。故必须用「后代选择器」命中它们,而非 .xxx.semi-modal 复合。 */
.wk-wallet-modal-overlay .semi-modal-wrap {
    overflow: hidden !important;     /* 禁止上下滑动 */
    display: flex !important;
    align-items: center !important;  /* 垂直居中 */
    justify-content: center !important;
}
.wk-wallet-modal-overlay .semi-modal {
    margin: 0 !important;            /* 去掉默认 80px 顶部偏移 */
    top: 0 !important;
    max-width: 100% !important;
}
.wk-wallet-modal-overlay .semi-modal-body {
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important; /* .semi-modal 是 width:100%,把卡片水平居中 */
}

/* 详情弹窗 */
.wk-wallet-detail-modal .semi-modal-content {
    border-radius: 16px;
    overflow: hidden;
    background: #fff !important;
    background: var(--wk-color-item, #fff) !important;
}

.wk-wallet-detail-modal .semi-modal-body {
    padding: 0 !important;
}

.wk-wallet-history-readonly-modal .semi-modal-content {
    border-radius: 20px;
    overflow: hidden;
    background: transparent !important;
    box-shadow: none !important;
}

.wk-wallet-history-readonly-modal .semi-modal-body {
    padding: 0 !important;
}

/* 钱包全屏弹窗 */
.wk-wallet-fullpage-modal {
    padding: 0 !important;
}

.wk-wallet-fullpage-modal .semi-modal {
    max-width: 100% !important;
    width: 100% !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wk-wallet-fullpage-modal .semi-modal-content {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    border-radius: 0 !important;
    background: #f5f6fa !important;
    background: var(--wk-color-secondary, #f5f6fa) !important;
}

.wk-wallet-fullpage-modal .semi-modal-body {
    padding: 0 !important;
    height: 100% !important;
    overflow-y: auto !important;
}

/* 优化移动端适配 */
@media (max-width: 768px) {
    .wk-wallet-detail-modal .semi-modal-content {
        width: 90% !important;
        max-width: 400px !important;
    }
}

/* 通用滚动条美化 - 亮色 */
.wk-wallet-page::-webkit-scrollbar,
.wk-wallet-main::-webkit-scrollbar,
.wk-wallet-container::-webkit-scrollbar,
.wk-bills-list::-webkit-scrollbar {
    width: 6px;
}

.wk-wallet-page::-webkit-scrollbar-thumb,
.wk-wallet-main::-webkit-scrollbar-thumb,
.wk-wallet-container::-webkit-scrollbar-thumb,
.wk-bills-list::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 3px;
}

.wk-wallet-page::-webkit-scrollbar-thumb:hover,
.wk-wallet-main::-webkit-scrollbar-thumb:hover,
.wk-wallet-container::-webkit-scrollbar-thumb:hover,
.wk-bills-list::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.2);
}

/* 暗色模式滚动条 */
body[theme-mode=dark] .wk-wallet-page::-webkit-scrollbar-thumb,
body[theme-mode=dark] .wk-wallet-main::-webkit-scrollbar-thumb,
body[theme-mode=dark] .wk-wallet-container::-webkit-scrollbar-thumb,
body[theme-mode=dark] .wk-bills-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
}

body[theme-mode=dark] .wk-wallet-page::-webkit-scrollbar-thumb:hover,
body[theme-mode=dark] .wk-wallet-main::-webkit-scrollbar-thumb:hover,
body[theme-mode=dark] .wk-wallet-container::-webkit-scrollbar-thumb:hover,
body[theme-mode=dark] .wk-bills-list::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.2);
}

.wk-wallet-disabled-page {
    width: 100%;
    height: 100%;
}

.wk-wallet-disabled-shell {
    height: calc(100% - var(--wk-height-navheader));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.wk-wallet-disabled-card {
    width: min(420px, 100%);
    padding: 32px 28px;
    border-radius: 16px;
    background: #fff;
    background: var(--wk-color-item, #fff);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
    text-align: center;
}

.wk-wallet-disabled-title {
    font-size: 20px;
    font-weight: 600;
    color: #111827;
    color: var(--wk-color-text, #111827);
}

.wk-wallet-disabled-desc {
    margin-top: 12px;
    font-size: 14px;
    line-height: 22px;
    color: #6b7280;
    color: var(--wk-color-subtitle, #6b7280);
}

.wk-wallet-disabled-actions {
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

.wk-wallet-history-readonly-page {
    padding: 8px;
}

.wk-wallet-history-readonly-card {
    padding: 28px 24px 24px;
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(244, 114, 92, 0.18), transparent 40%),
        linear-gradient(180deg, rgba(255, 247, 237, 0.98), rgba(255, 255, 255, 0.98));
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.18);
}

.wk-wallet-history-readonly-badge {
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(234, 88, 12, 0.12);
    color: #c2410c;
    font-size: 12px;
    font-weight: 600;
}

.wk-wallet-history-readonly-title {
    margin-top: 14px;
    font-size: 22px;
    font-weight: 700;
    color: #111827;
}

.wk-wallet-history-readonly-desc {
    margin-top: 12px;
    color: #4b5563;
    font-size: 14px;
    line-height: 22px;
}

.wk-wallet-history-readonly-meta {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.18);
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: #475569;
    font-size: 13px;
}

.wk-no-flex-gap .wk-wallet-history-readonly-meta > *:not(:last-child) {
    margin-bottom: 8px;
}

.wk-wallet-history-readonly-meta code {
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.06);
    color: #0f172a;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    word-break: break-all;
}

.wk-wallet-history-readonly-actions {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
}

body[theme-mode=dark] .wk-wallet-history-readonly-card {
    background:
        radial-gradient(circle at top right, rgba(249, 115, 22, 0.2), transparent 42%),
        linear-gradient(180deg, rgba(30, 41, 59, 0.98), rgba(15, 23, 42, 0.98));
}

body[theme-mode=dark] .wk-wallet-history-readonly-badge {
    background: rgba(251, 146, 60, 0.16);
    color: #fdba74;
}

body[theme-mode=dark] .wk-wallet-history-readonly-title {
    color: #f8fafc;
}

body[theme-mode=dark] .wk-wallet-history-readonly-desc,
body[theme-mode=dark] .wk-wallet-history-readonly-meta {
    color: #cbd5e1;
}

body[theme-mode=dark] .wk-wallet-history-readonly-meta {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(148, 163, 184, 0.16);
}

body[theme-mode=dark] .wk-wallet-history-readonly-meta code {
    background: rgba(255, 255, 255, 0.08);
    color: #f8fafc;
}

/* 发红包 / 转账 全页(微信风)。红包橙金按钮、转账绿按钮;输入 + 支付密码两步。 */
.m-wsend {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #f5f5f7;
}

/* 导航沿用全站标准 .m-navbar--brand 中性顶栏，不再自定义红/白头。 */

.m-wsend__body {
  flex: 1 1;
  overflow-y: auto;
  padding: 14px;
}

/* 群红包类型切换 */
.m-wsend__tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.wk-no-flex-gap .m-wsend__tabs > *:not(:last-child) {
  margin-right: 8px;
}
.m-wsend__tab {
  flex: 1 1;
  height: 38px;
  border: none;
  border-radius: 10px;
  background: var(--m-color-surface);
  color: var(--m-color-text-secondary);
  font-size: 14px;
}
.m-wsend__tab.is-on {
  background: #e8554e;
  color: #fff;
}

/* 白卡片 + 行 */
.m-wsend__card {
  background: var(--m-color-surface);
  border-radius: 12px;
  padding: 0 16px;
}
.m-wsend__row {
  display: flex;
  align-items: center;
  min-height: 54px;
  position: relative;
}
.m-wsend__row:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.5px;
  background: var(--m-color-line);
}
.m-wsend__label {
  font-size: 16px;
  color: var(--m-color-text);
  width: 84px;
  flex-shrink: 0;
}
.m-wsend__inp {
  flex: 1 1;
  border: none;
  outline: none;
  background: none;
  font-size: 16px;
  text-align: right;
  color: var(--m-color-text);
  min-width: 0;
}
.m-wsend__inp--amt {
  font-size: 22px;
  font-weight: 600;
}
.m-wsend__unit {
  margin-left: 8px;
  font-size: 15px;
  color: var(--m-color-text);
}
.m-wsend__inp--blessing {
  text-align: left;
  font-size: 15px;
}

/* 总额 + 余额 */
.m-wsend__total {
  text-align: center;
  margin: 30px 0 4px;
  font-size: 42px;
  font-weight: 600;
  color: var(--m-color-text);
}
.m-wsend__totalcur {
  font-size: 22px;
  margin-right: 2px;
}
.m-wsend__balance {
  text-align: center;
  font-size: 12.5px;
  color: var(--m-color-text-tertiary);
}

/* 提交按钮 */
.m-wsend__submit {
  display: block;
  width: 62%;
  max-width: 240px;
  margin: 30px auto 0;
  height: 46px;
  border: none;
  border-radius: 8px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
}
.m-wsend__submit--rp {
  background: #fa9d3b;
}
.m-wsend__submit--transfer {
  background: #07c160;
}
.m-wsend__submit:disabled {
  opacity: 0.4;
}

/* 转账金额输入块 */
.m-wsend__tamt {
  background: var(--m-color-surface);
  border-radius: 12px;
  padding: 20px 16px 16px;
  margin-bottom: 14px;
}
.m-wsend__tamtlabel {
  font-size: 13px;
  color: var(--m-color-text-tertiary);
}
.m-wsend__tamtrow {
  display: flex;
  align-items: flex-end;
  margin-top: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--m-color-line);
}
.m-wsend__tamtcur {
  font-size: 30px;
  font-weight: 600;
  margin-right: 8px;
  line-height: 1.2;
  color: var(--m-color-text);
}
.m-wsend__tamtinp {
  flex: 1 1;
  border: none;
  outline: none;
  background: none;
  font-size: 44px;
  font-weight: 600;
  min-width: 0;
  color: var(--m-color-text);
  line-height: 1;
}
.m-wsend__tamt .m-wsend__balance {
  text-align: left;
  margin-top: 12px;
}

/* 支付密码步骤 */
.m-wsend--pwd {
  background: var(--m-color-surface);
}
.m-wsend__pwdbody {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 26px 16px;
}
.m-wsend__pwdsub {
  font-size: 14px;
  color: var(--m-color-text-secondary);
  margin-bottom: 8px;
}
.m-wsend__pwdamt {
  font-size: 40px;
  font-weight: 600;
  color: var(--m-color-text);
}
.m-wsend__pwdcur {
  font-size: 24px;
  margin-right: 2px;
}
.m-wsend__pwdtip {
  margin: 16px 0 22px;
  font-size: 12.5px;
  color: var(--m-color-text-tertiary);
}
.m-wsend__dots {
  display: flex;
  border: 1px solid var(--m-color-line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--m-color-surface);
}
.m-wsend__dot {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid var(--m-color-line);
}
.m-wsend__dot:last-child {
  border-right: none;
}
.m-wsend__dot.is-active {
  box-shadow: inset 0 0 0 1.5px var(--m-color-primary-grad);
}
.m-wsend__dotfill {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #333;
}
.m-wsend__sending {
  margin-top: 18px;
  font-size: 14px;
  color: var(--m-color-text-tertiary);
}

/* Keep the existing send flow, aligned with the published funds palette. */
.m-wsend { background: var(--m-color-bg); }
.m-wsend__body { padding: 14px 0; }
.m-wsend__card, .m-wsend__tamt { border-radius: 0; }
.m-wsend__tab { border-radius: 4px; }
.m-wsend__tab.is-on { background: var(--m-color-primary); }
.m-wsend__total { font-size: 37px; font-weight: 500; }
.m-wsend__submit { width: auto; min-width: 112px; max-width: calc(100% - 36px); height: 42px; padding: 0 28px; border-radius: 4px; font-size: 14px; font-weight: 400; }
.m-wsend__submit--rp { background: var(--m-color-primary); }
.m-wsend__tamtinp { font-size: 32px; font-weight: 500; }

/* 微信式全屏拍摄页:相机预览铺满 + 顶部关闭/切换 + 底部快门(轻触拍照/按住录像) */
.m-cam {
  position: fixed;
  inset: 0;
  z-index: 3000;
  background: #000;
  overflow: hidden;
}
.m-cam__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #000;
}
.m-cam__video.is-front {
  transform: scaleX(-1); /* 前置预览镜像(更自然);抽帧/录像方向已在 JS 处理 */
}
.m-cam__close,
.m-cam__switch {
  position: absolute;
  top: calc(16px + 0px);
  top: calc(16px + var(--safe-top, 0px));
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.32);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
}
.m-cam__close {
  left: 16px;
}
.m-cam__switch {
  right: 16px;
}
.m-cam__timer {
  position: absolute;
  top: calc(22px + 0px);
  top: calc(22px + var(--safe-top, 0px));
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 15px;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  background: rgba(0, 0, 0, 0.35);
  padding: 4px 12px;
  border-radius: 14px;
  z-index: 5;
}
.m-cam__timer::first-letter {
  color: #ff4d4f; /* 红点 */
}
.m-cam__bottom {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(34px + 0px);
  bottom: calc(34px + var(--safe-bottom, 0px));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  z-index: 5;
}
.wk-no-flex-gap .m-cam__bottom > *:not(:last-child) {
  margin-bottom: 16px;
}
.m-cam__hint {
  color: rgba(255, 255, 255, 0.92);
  font-size: 13px;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}
.m-cam__shutter {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  border: 4px solid rgba(255, 255, 255, 0.9);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
  touch-action: none;
  transition: transform 0.2s ease;
}
.m-cam__shutter-inner {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #fff;
  transition: all 0.2s ease;
}
/* 录像中:外圈放大、内核缩成红色圆角方块(微信式) */
.m-cam__shutter.is-rec {
  transform: scale(1.18);
  border-color: rgba(255, 77, 79, 0.5);
}
.m-cam__shutter.is-rec .m-cam__shutter-inner {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #ff4d4f;
}
/* 相机打开中:居中 loading(多镜头机枚举挑主摄 + 取流约 1-2s,免黑屏干等) */
.m-cam__loading {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  z-index: 4;
  background: #000;
}
.wk-no-flex-gap .m-cam__loading > *:not(:last-child) {
  margin-bottom: 14px;
}
.m-cam__spinner {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.25);
  border-top-color: #fff;
  animation: m-cam-spin 0.8s linear infinite;
}
.m-cam__loading-txt {
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
}
@keyframes m-cam-spin {
  to {
    transform: rotate(360deg);
  }
}

/* 移动表情面板(微信式):内容区(最近使用/所有表情 或 贴纸网格)+ 底部图标分类条 + 表情页右下浮动 删除/发送 */
.m-ep {
  position: relative;
  flex-shrink: 0;
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  height: 300px;
  background: var(--m-color-surface);
  border-top: 0.5px solid var(--m-color-line);
}

/* 内容区 */
.m-ep__body {
  flex: 1 1;
  min-height: 0;
  padding: 4px 10px 8px;
}
.m-ep__sec {
  padding: 10px 4px 4px;
  font-size: 12px;
  color: var(--m-color-text-tertiary);
}
.m-ep__egrid {
  display: flex;
  flex-wrap: wrap;
}
.m-ep__emoji {
  width: 12.5%;
  height: 42px;
  border: none;
  background: none;
  font-size: 25px;
  line-height: 1;
}
.m-ep__sgrid {
  display: flex;
  flex-wrap: wrap;
  padding-top: 6px;
}
.m-ep__sticker {
  width: 25%;
  height: 80px;
  padding: 8px;
  border: none;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-ep__sticker img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.m-ep__favorite,
.m-ep__favorite img {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
.m-ep__sticker-failed {
  color: var(--m-color-text-tertiary);
  font-size: 11px;
}
.m-ep__empty {
  width: 100%;
  text-align: center;
  color: var(--m-color-text-tertiary);
  font-size: 13px;
  padding: 44px 0;
  line-height: 1.9;
}
.m-ep__empty-sub {
  font-size: 11.5px;
}

/* 右下浮动:删除 + 发送(只在表情页,对齐微信)*/
.m-ep__send {
  position: absolute;
  right: 10px;
  bottom: calc(50px + var(--safe-bottom)); /* 浮在底部分类条之上 */
  display: flex;
  align-items: center;
  gap: 10px;
}
.wk-no-flex-gap .m-ep__send > *:not(:last-child) {
  margin-right: 10px;
}
.m-ep__del {
  width: 46px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 8px;
  background: var(--m-color-bg);
  color: var(--m-color-text-secondary);
  box-shadow: 0 2px 8px -3px rgba(30, 16, 80, 0.25);
}
.m-ep__sendbtn {
  height: 34px;
  padding: 0 18px;
  border: none;
  border-radius: 8px;
  background: var(--m-color-primary-grad);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  box-shadow: var(--m-color-primary-halo);
}
.m-ep__sendbtn.is-disabled {
  opacity: 0.4;
}

/* 底部图标分类条:表情 / 我的 / 各动态表情包封面(横向滚动)*/
.m-ep__tabs {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  /* Keep the 50px tab row above the iOS home-indicator inset. */
  height: calc(50px + var(--safe-bottom));
  padding: 0 8px;
  padding-bottom: var(--safe-bottom);
  overflow-x: auto;
  border-top: 0.5px solid var(--m-color-line);
  background: var(--m-color-bg);
}
.wk-no-flex-gap .m-ep__tabs > *:not(:last-child) {
  margin-right: 4px;
}
.m-ep__tab {
  flex: 1 0 40px;
  min-width: 40px;
  max-width: 48px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 8px;
  background: none;
  color: var(--m-color-text-secondary);
}
.m-ep__tab.is-on {
  background: var(--m-color-surface);
  color: var(--m-color-text);
}
.m-ep__tab--pack {
  padding: 6px;
}
.m-ep__tab--pack img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.m-convlist {
  background: var(--m-color-surface);
  overflow-x: hidden;
}
.m-convlist__empty {
  padding: 48px 24px;
  text-align: center;
  color: var(--m-color-text-secondary);
  font-size: var(--m-font-sm);
}

/* 首页空态(对齐原生 ChatFragment:无会话且无好友 → 找好友聊天吧 + 添加好友)*/
.m-convempty {
  height: 100%;
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.m-convempty__icon {
  margin-bottom: 18px;
  opacity: 0.95;
}
.m-convempty__title {
  font-size: 16px;
  font-weight: 600;
  color: var(--m-color-text);
  margin-bottom: 8px;
}
.m-convempty__hint {
  font-size: 13px;
  color: var(--m-color-text-secondary);
  margin-bottom: 20px;
  text-align: center;
  padding: 0 32px;
  line-height: 1.6;
}
.m-convempty__btn {
  padding: 10px 28px;
  border-radius: 6px;
  background: var(--m-color-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  box-shadow: none;
}

.m-convrow {
  display: flex;
  align-items: center;
  min-height: 76px;
  padding: 13px 16px;
  gap: 13px;
  box-sizing: border-box;
  position: relative;
  content-visibility: auto;
  /* The placeholder is the content box; row min-height remains 76px. */
  contain-intrinsic-size: auto 48px;
  /* iOS 长按会弹系统选择/复制气泡并打断我们的 touch 长按 → 禁掉 callout 与选择 */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  background: var(--m-color-surface);
  touch-action: pan-y;
}

.wk-no-flex-gap .m-convrow > *:not(:last-child) {
  margin-right: 13px;
}
.m-convrow:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 77px;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--m-color-line);
}
.m-convrow__avatar {
  position: relative;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
.m-convrow__avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.m-convrow__avatar img.m-convrow__system-logo {
  border-radius: 10px;
}
.m-convrow__avatar.is-group img,
.m-convrow__avatar.is-group .m-convrow__avatar-fb {
  border-radius: 8px;
}
.m-convrow__avatar-fb {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 600;
}
.m-convrow__badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  box-sizing: border-box;
  background: var(--m-color-danger);
  color: #fff;
  border-radius: 9px;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  border: 1px solid var(--m-color-surface);
}
.m-convrow__main {
  flex: 1 1;
  min-width: 0;
}
.m-convrow__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.wk-no-flex-gap .m-convrow__top > *:not(:last-child) {
  margin-right: 8px;
}
.m-convrow__name {
  font-size: 16px;
  font-weight: 500;
  color: var(--m-color-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-convrow__time {
  font-size: 11px;
  color: var(--m-color-text-tertiary);
  flex-shrink: 0;
  margin-left: 0;
}
.m-convrow__bottom {
  display: flex;
  align-items: center;
  margin-top: 3px;
  gap: 6px;
}
.wk-no-flex-gap .m-convrow__bottom > *:not(:last-child) {
  margin-right: 6px;
}
.m-convrow__preview {
  flex: 1 1;
  min-width: 0;
  font-size: 13px;
  color: var(--m-color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-convrow__preview.is-draft,
.m-convrow__preview.is-reminder {
  color: var(--m-color-danger);
}
.m-convrow__preview.is-typing {
  color: var(--m-color-primary);
}
.m-convrow__tag {
  color: var(--m-color-danger);
  font-style: normal;
  margin-right: 2px;
}
.m-convrow__mute {
  flex-shrink: 0;
  color: var(--m-color-text-tertiary);
  margin-left: 2px;
}
/* 置顶背景(对齐原生 pinned 浅灰底)*/
.m-convrow.is-top {
  background: color-mix(in srgb, var(--m-color-bg) 55%, var(--m-color-surface));
}
/* 免打扰:角标变灰(对齐原生)*/
.m-convrow__badge.is-muted {
  background: var(--m-color-text-tertiary);
}
/* 免打扰且有未读：按设计稿保留红点，但隐藏数字。 */
.m-convrow__badge.is-muted-dot {
  min-width: 9px;
  width: 9px;
  height: 9px;
  padding: 0;
  border-radius: 50%;
  background: var(--m-color-danger);
  top: -1px;
  right: auto;
  left: 41px;
}
/* 草稿前缀与正文统一使用新版设计的红色。 */
.m-convrow__draft {
  color: var(--m-color-danger);
  font-style: normal;
  margin-right: 2px;
}
/* 在线绿点:头像右下(对齐原生单聊在线/离线<60min)*/
.m-convrow__online {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #34c759;
  border: 2px solid #fff;
  box-sizing: border-box;
}

/* 会话列表:发送态(发送中/失败) */
.m-convrow__sendstat {
  flex-shrink: 0;
  margin-right: 3px;
  font-style: normal;
  font-size: 11px;
}
.m-convrow__sendstat.is-fail {
  color: #e8506e;
  color: var(--m-color-danger, #e8506e);
  font-weight: 500;
  white-space: nowrap;
}
.m-convrow__sendstat.is-sending {
  color: var(--m-color-text-tertiary);
}

.m-convrow__meta { display: flex; align-items: center; gap: 7px; flex-shrink: 0; color: var(--m-color-text-tertiary); }

.wk-no-flex-gap .m-convrow__meta > *:not(:last-child) {
  margin-right: 7px; }
.m-convrow__pin { flex-shrink: 0; }

/* 多选联系人(发起群聊/加成员)—— 设计稿屏 35。token 映射到 app 变量 */

/* 已选条(横向滚动头像)*/
.m-mp__selbar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--m-color-surface);
  border-bottom: 0.5px solid var(--m-color-line);
  overflow-x: auto;
}
.wk-no-flex-gap .m-mp__selbar > *:not(:last-child) {
  margin-right: 8px;
}
.m-mp__selav {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  object-fit: cover;
  flex-shrink: 0;
}
.m-mp__selav-fb {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}

/* 搜索 */
.m-mp__search {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 14px;
  height: 40px;
  border-radius: 10px;
  /* 原 surface-2(#f4f3f8)与页面底色(--m-color-bg 同为 #f4f3f8)同色 → 搜索框隐形、看着像提示。
     改白底 + 细边框 + 浅阴影,在页面上拉开对比,清晰是个搜索输入框。 */
  background: var(--m-color-surface);
  border: 0.5px solid var(--m-color-line);
  box-shadow: 0 1px 2px rgba(30, 16, 80, 0.05);
  padding: 0 12px;
  color: var(--m-color-text-tertiary);
}
.wk-no-flex-gap .m-mp__search > *:not(:last-child) {
  margin-right: 8px;
}
.m-mp__search-input {
  flex: 1 1;
  min-width: 0;
  border: none;
  outline: none;
  background: none;
  font-size: 14px;
  color: var(--m-color-text);
}
.m-mp__search-input::placeholder {
  color: var(--m-color-text-tertiary);
}

/* 分组索引 */
.m-mp__idx {
  padding: 5px 16px;
  font-size: 12px;
  font-weight: 600;
  color: var(--m-color-text-secondary);
  background: var(--m-color-surface-2);
}

/* 分段标题(最近聊天 / 联系人 / 群聊),对齐安卓 ChooseChatEntity.section */
.m-mp__section {
  padding: 6px 16px;
  font-size: 12px;
  color: #888;
  color: var(--m-color-text-sub, #888);
  background: #f5f5f7;
  background: var(--m-color-bg, #f5f5f7);
}

/* 勾选行 */
.m-mp__row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 16px;
  background: var(--m-color-surface);
  position: relative;
}
.wk-no-flex-gap .m-mp__row > *:not(:last-child) {
  margin-right: 12px;
}
.m-mp__row:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 86px;
  right: 0;
  bottom: 0;
  height: 0.5px;
  background: var(--m-color-line);
}
.m-mp__check {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1.5px var(--m-color-line);
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-mp__check.is-on {
  background: var(--m-color-primary);
  box-shadow: none;
}
.m-mp__av {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  object-fit: cover;
  flex-shrink: 0;
}
.m-mp__av-fb {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
.m-mp__name {
  font-size: 15px;
  color: var(--m-color-text);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 底部确认条 */
.m-mp__bar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: var(--m-color-surface);
  border-top: 0.5px solid var(--m-color-line);
}
.m-mp__bar-sel {
  font-size: 13px;
  color: var(--m-color-text-secondary);
}
.m-mp__bar-btn {
  height: 36px;
  padding: 0 20px;
  border: none;
  border-radius: 10px;
  background: var(--m-color-primary-grad);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  box-shadow: var(--m-color-primary-halo);
}
.m-mp__bar-btn.is-disabled {
  opacity: 0.4;
  box-shadow: none;
}

/* 第二步:设置群名称 */
.m-mp__namewrap {
  padding: 18px 16px;
}
.m-mp__nameinput {
  width: 100%;
  height: 50px;
  border: none;
  outline: none;
  border-radius: 12px;
  background: var(--m-color-surface);
  padding: 0 16px;
  font-size: 16px;
  color: var(--m-color-text);
}
.m-mp__namehint {
  margin-top: 12px;
  padding: 0 4px;
  font-size: 12.5px;
  color: var(--m-color-text-tertiary);
}

/* 视觉微调:A-Z 头去重底色更轻、行更紧凑、勾选更精致 */
.m-mp__idx {
  background: transparent;
  padding: 8px 16px 2px;
  font-size: 12px;
  font-weight: 600;
  color: var(--m-color-text-tertiary);
}
.m-mp__check {
  width: 21px;
  height: 21px;
  box-shadow: inset 0 0 0 1.5px var(--m-color-line);
}
.m-mp__av {
  width: 40px;
  height: 40px;
  border-radius: 8px;
}
.m-mp__row {
  padding: 8px 16px;
}


/* Published create-group baseline; other member-picking flows remain unchanged. */
.m-mp--create,
.m-mp--create .m-chat__body {
  background: var(--m-color-surface);
}
.m-mp--create .m-mp__search {
  height: 56px;
  margin: 0;
  padding: 0 22px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.m-mp--create .m-mp__row {
  min-height: 72px;
  padding: 12px 18px;
  box-sizing: border-box;
}
.m-mp--create .m-mp__av {
  width: 48px;
  height: 48px;
  border-radius: 50%;
}
.m-mp--create .m-mp__row::after {
  left: 18px;
}
.m-mp--create .m-mp__bar-btn {
  height: 42px;
  border-radius: 6px;
  box-shadow: none;
}

/* Group management pickers use the circular member-avatar design baseline. */
.m-mp--round-avatars .m-mp__av,
.m-mp--round-avatars .m-mp__selav {
  border-radius: 50%;
}

/* 移动端全屏图片预览(对齐安卓 CustomImageViewerPopup):全屏黑底 + 顶栏(关闭/计数/更多)+ 相册滑动 + 缩放 */
.m-imgviewer {
  position: fixed;
  inset: 0;
  z-index: 3000;
  background: #000;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.m-imgviewer__bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  height: calc(46px + 0px);
  height: calc(46px + var(--safe-top, 0px));
  padding: 0px 6px 0 6px;
  padding: var(--safe-top, 0px) 6px 0 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  pointer-events: none;
}
.m-imgviewer__bar > * {
  pointer-events: auto;
}

.m-imgviewer__btn {
  width: 42px;
  height: 42px;
  border: none;
  background: none;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.m-imgviewer__count {
  color: #fff;
  font-size: 15px;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.m-imgviewer__track {
  flex: 1 1;
  display: flex;
  width: 100%;
  height: 100%;
  will-change: transform;
}

.m-imgviewer__slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.m-imgviewer__img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transform-origin: center center;
  will-change: transform;
  -webkit-touch-callout: none;
}
.m-imgviewer__placeholder {
  width: min(72vw, 280px);
  aspect-ratio: 1;
  border-radius: 6px;
  background: #202020;
}

.m-video-cover,
.m-video-cover-state {
  display: block;
  width: 100%;
  height: 100%;
}

.m-video-cover-state {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  overflow: hidden;
  background: #24272c;
  color: rgba(255, 255, 255, 0.9);
  text-align: center;
}

.m-video-cover-state.is-error {
  cursor: pointer;
  background: #34383f;
}

.m-video-cover-state.is-error .messageFailIcon {
  position: absolute;
  left: 50%;
  top: 42%;
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  transform: translate(-50%, -50%);
}

.m-video-cover-state.is-error .messageFailIcon svg {
  width: 18px;
  height: 18px;
}

.m-video-cover-state__label {
  position: absolute;
  left: 4px;
  right: 4px;
  top: calc(42% + 17px);
  overflow: hidden;
  font-size: 10px;
  line-height: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.m-fr__profile{display:flex;align-items:center;gap:18px;padding:28px 22px;background:#fff}.wk-no-flex-gap .m-fr__profile > *:not(:last-child){margin-right:18px}
.m-fr__profile img,.m-fr__avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
.m-fr__avatar{display:flex;align-items:center;justify-content:center;background:#e3e8ed;color:#677b8a;font-size:24px}
.m-fr__profile h2{font-size:22px;font-weight:600;margin:0 0 8px}.m-fr__profile p{font-size:14px;color:#999;margin:0}
.m-fr__form{padding:20px 22px;background:#fff;margin-top:12px}.m-fr__field{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #e5e5e5;font-size:14px}.wk-no-flex-gap .m-fr__field > *:not(:last-child){margin-right:12px}.m-fr__field span{flex:none;padding-top:3px}.m-fr__field textarea{width:100%;min-width:0;min-height:76px;resize:none;border:0;outline:none;font:inherit;font-size:16px;background:transparent;color:#191919}.m-fr__count{text-align:right;font-size:12px;color:#999;padding-top:8px}.m-fr__error{font-size:13px;color:#fa5151;margin-top:8px}.m-fr__submit{display:block;width:100%;height:44px;margin-top:22px;border:0;border-radius:6px;background:#07c160;color:white;font-size:16px;font-weight:600}.m-fr__submit:disabled{opacity:.45}

.m-version-page { background: #ededed; }
.m-version-page__brand { display: flex; align-items: center; flex-direction: column; gap: 18px; padding: 80px 20px 30px; text-align: center; }
.wk-no-flex-gap .m-version-page__brand > *:not(:last-child) { margin-bottom: 18px; }
.m-version-page__brand img { width: 68px; height: 68px; margin: 0 auto 18px; object-fit: contain; }
.m-version-page__brand h2 { margin: 0; font-size: 19px; font-weight: 600; line-height: 1.4; }
.m-version-page__brand p { margin: 0; color: #777; font-size: 14px; }
.m-version-page__retry { display: block; min-height: 42px; padding: 9px 28px; margin: 26px auto; border: 0; border-radius: 6px; background: #07c160; color: #fff; font-size: 15px; font-weight: 500; }
.m-version-page__retry:disabled { opacity: .55; }

/* 新的朋友 右上「添加朋友」快捷按钮(对齐原生 NewFriendsActivity 右上)。继承品牌导航栏的白色前景 */
.m-nf__addbtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.m-cx__search--solo {
  gap: 0;
}
.m-cx__mylabel--center {
  justify-content: center;
  text-align: center;
}
.m-cx__mylabel--center .m-cx__mynohint {
  display: none;
}
.m-nf__section-label {
  padding: 12px 16px 6px;
  font-size: 13px;
  color: var(--m-color-text-secondary);
}
.m-nf__section {
  background: var(--m-color-surface);
}
/* 添加朋友 / 新的朋友 共用 */
.m-cx__search {
  display: flex;
  gap: 8px;
  padding: 10px 16px;
  background: var(--m-color-surface);
  border-bottom: 0.5px solid var(--m-color-line);
}
.wk-no-flex-gap .m-cx__search > *:not(:last-child) {
  margin-right: 8px;
}
.m-cx__search-field {
  flex: 1 1;
  height: 38px;
  border: none;
  border-radius: 8px;
  background: #f2f2f2;
  padding: 0 12px;
  font-size: var(--m-font);
  color: var(--m-color-text);
  outline: none;
}
.m-cx__search-btn {
  flex-shrink: 0;
  height: 38px;
  padding: 0 14px;
  border: none;
  border-radius: 4px;
  background: var(--m-color-primary);
  color: #fff;
  font-size: var(--m-font-sm);
}
.m-cx__row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: var(--m-color-surface);
  position: relative;
}
.wk-no-flex-gap .m-cx__row > *:not(:last-child) {
  margin-right: 12px;
}
.m-cx__row:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 60px;
  right: 0;
  bottom: 0;
  height: 0.5px;
  background: var(--m-color-line);
}
.m-cx__av {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 4px;
  object-fit: cover;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 600;
}
.m-cx__mylabel {
  padding: 16px 16px 7px;
  font-size: 12.5px;
  color: var(--m-color-text-secondary);
  display: flex;
  align-items: center;
  gap: 6px;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none; /* iOS 长按不弹系统「拷贝」气泡,交给我们自己的长按 */
}
.wk-no-flex-gap .m-cx__mylabel > *:not(:last-child) {
  margin-right: 6px;
}
.m-cx__myno {
  color: var(--m-color-text);
  font-weight: 600;
  letter-spacing: 0.3px;
}
.m-cx__mynohint {
  margin-left: auto;
  font-size: 11px;
  color: #7d5cff;
  color: var(--m-color-primary, #7d5cff);
  opacity: 0.8;
}
.m-cx__main {
  flex: 1 1;
  min-width: 0;
}
.m-cx__name {
  font-size: var(--m-font);
  color: var(--m-color-text);
}
.m-cx__sub {
  font-size: var(--m-font-sm);
  color: var(--m-color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-cx__add,
.m-cx__refuse {
  flex-shrink: 0;
  height: 32px;
  padding: 0 15px;
  border: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
}
.m-cx__add {
  background: var(--m-color-primary-grad);
  color: #fff;
  box-shadow: var(--m-color-primary-halo);
}
.m-cx__add:disabled {
  opacity: 0.45;
  box-shadow: none;
}
.m-cx__refuse {
  background: var(--m-color-surface-2);
  color: var(--m-color-text-secondary);
  box-shadow: none;
}
.m-cx__actions {
  display: flex;
  gap: 8px;
}
.wk-no-flex-gap .m-cx__actions > *:not(:last-child) {
  margin-right: 8px;
}
.m-cx__status {
  flex-shrink: 0;
  font-size: var(--m-font-sm);
  color: var(--m-color-text-secondary);
}
/* 危险操作(黑名单「移出」)用红色,区别于「已申请/这是你自己」等普通状态文字 */
.m-cx__status--danger {
  color: #fa5151;
  color: var(--m-color-danger, #fa5151);
}
.m-cx__empty {
  padding: 24px;
  text-align: center;
  color: var(--m-color-text-secondary);
  font-size: var(--m-font-sm);
}

/* 添加好友:加载更多 + 申请验证弹层 */
.m-cx__more {
  display: block;
  width: calc(100% - 32px);
  margin: 14px 16px;
  height: 40px;
  border: none;
  border-radius: 10px;
  background: var(--m-color-surface-2);
  color: var(--m-color-text-secondary);
  font-size: 14px;
}
.m-cx__more:disabled {
  opacity: 0.6;
}
.m-cx__applymask {
  position: fixed;
  inset: 0;
  z-index: 100040;
  background: var(--wk-ui-mask);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(20px, var(--wk-ui-safe-top)) max(16px, var(--wk-ui-safe-right)) max(20px, var(--wk-ui-safe-bottom)) max(16px, var(--wk-ui-safe-left));
  box-sizing: border-box;
}
.m-cx__applycard {
  width: min(100%, 326px);
  background: var(--m-color-surface);
  border-radius: var(--wk-ui-radius-modal);
  padding: 20px 18px 16px;
  box-shadow: var(--wk-ui-shadow-modal);
  box-sizing: border-box;
  max-height: min(620px, calc(100dvh - var(--wk-ui-safe-top) - var(--wk-ui-safe-bottom) - 40px));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%;
}
.m-cx__applytitle {
  font-size: var(--wk-ui-font-overlay-title);
  font-weight: 600;
  color: var(--m-color-text);
  text-align: center;
}
.m-cx__applysub {
  font-size: var(--wk-ui-font-overlay-caption);
  color: var(--m-color-text-tertiary);
  margin-top: 4px;
  text-align: center;
}
.m-cx__applyinput {
  width: 100%;
  height: 44px;
  margin-top: 16px;
  border: 0.5px solid var(--m-color-line);
  border-radius: 10px;
  padding: 0 12px;
  font-size: var(--wk-ui-font-overlay-body);
  background: var(--m-color-surface-2);
  color: var(--m-color-text);
  outline: none;
}
.m-cx__applyinput:focus {
  border-color: rgba(7, 193, 96, 0.45);
  box-shadow: 0 0 0 3px rgba(7, 193, 96, 0.1);
}
.m-cx__applybtns {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}
.wk-no-flex-gap .m-cx__applybtns > *:not(:last-child) {
  margin-right: 12px;
}
.m-cx__applycancel,
.m-cx__applyok {
  flex: 1 1;
  min-height: var(--wk-ui-touch);
  border: none;
  border-radius: 11px;
  font-size: var(--wk-ui-font-overlay-body);
}
.m-cx__applycancel {
  background: var(--m-color-surface-2);
  color: var(--m-color-text-secondary);
}
.m-cx__applyok {
  background: var(--m-color-primary-grad);
  color: #fff;
  font-weight: 600;
  box-shadow: var(--m-color-primary-halo);
}

/* 添加朋友:扫一扫入口行 */
.m-cx__scan {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 6px 0;
  padding: 13px 16px;
  background: var(--m-color-surface);
}
.wk-no-flex-gap .m-cx__scan > *:not(:last-child) {
  margin-right: 12px;
}
.m-cx__scan-ico {
  width: 38px;
  height: 38px;
  border-radius: 4px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #2c8cf0;
}
.m-cx__scan-main {
  flex: 1 1;
  min-width: 0;
}
.m-cx__scan-name {
  font-size: 15px;
  color: var(--m-color-text);
}
.m-cx__scan-sub {
  font-size: 12px;
  color: var(--m-color-text-tertiary);
  margin-top: 2px;
}
.m-cx__scan-chev {
  color: var(--m-color-text-tertiary);
  font-size: 20px;
  flex-shrink: 0;
}

/* 登录页：与移动端设计稿保持平面、居中的微信式登录布局。 */
.m-login {
  position: relative;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--m-color-surface);
  overflow: hidden;
}

.m-login__hero {
  position: relative;
  height: calc(196px + var(--safe-top));
  flex-shrink: 0;
  background: var(--m-color-surface);
}
.m-login__brandmark {
  position: absolute;
  top: calc(54px + var(--safe-top));
  left: 0;
  right: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  color: var(--m-color-text);
}
.wk-no-flex-gap .m-login__brandmark > *:not(:last-child) {
  margin-bottom: 14px;
}
.m-login__logo {
  width: 62px;
  height: 62px;
  border-radius: 17px;
  background: var(--m-color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-weight: 700;
  overflow: hidden;
}
.m-login__logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-login__logo--default {
  color: #fff;
  background: var(--m-color-primary);
  box-shadow: none;
}
.m-login__logo-fallback {
  width: 48px;
  height: 48px;
}
.m-login__wm .wel {
  display: inline;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0;
}
.m-login__wm .ent {
  display: inline;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0;
}

.m-login__card {
  position: relative;
  z-index: 3;
  margin: 0;
  padding: 0 30px calc(28px + var(--safe-bottom));
  background: var(--m-color-surface);
  border-radius: 0;
  box-shadow: none;
  flex: 1 1;
}
.m-login__tabs {
  display: flex;
  gap: 24px;
  margin-bottom: 22px;
}
.wk-no-flex-gap .m-login__tabs > *:not(:last-child) {
  margin-right: 24px;
}
.m-login__tab {
  font-size: 16px;
  color: var(--m-color-text-secondary);
  padding-bottom: 7px;
  position: relative;
}
.m-login__tab.on {
  color: var(--m-color-text);
  font-weight: 600;
}
.m-login__tab.on::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  border-radius: 2px;
  background: var(--m-color-primary-grad);
}
.m-login__field {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 50px;
  border-bottom: 1px solid var(--m-color-line);
}
.wk-no-flex-gap .m-login__field > *:not(:last-child) {
  margin-right: 10px;
}
.m-login__pfx {
  font-size: 15px;
  color: var(--m-color-text);
  display: flex;
  align-items: center;
  gap: 7px;
}
.wk-no-flex-gap .m-login__pfx > *:not(:last-child) {
  margin-right: 7px;
}
.m-login__pfx::after {
  content: "";
  width: 1px;
  height: 18px;
  background: var(--m-color-line);
}
.wk-no-flex-gap .m-login__pfx::after {
  margin-left: 7px; /* 区号文本 + ::after 同为 flex item,需显式补间距。 */
}
.m-login__input {
  border: none;
  outline: none;
  background: none;
  font-size: 15px;
  color: var(--m-color-text);
  flex: 1 1;
  min-width: 0;
}
.m-login__input[type="password"] {
  font-size: 12px;
  letter-spacing: -1px;
}
.m-login__input[type="password"]:placeholder-shown {
  font-size: 15px;
  letter-spacing: 0;
}
.m-login__input::placeholder {
  color: var(--m-color-text-tertiary);
}
.m-login__code {
  font-size: 13.5px;
  color: var(--m-color-primary);
  font-weight: 600;
  flex-shrink: 0;
}
.m-login__code.off {
  color: var(--m-color-text-tertiary);
}
.m-login__err {
  color: var(--m-color-danger);
  font-size: var(--m-font-sm);
  margin-top: 12px;
}
.m-login__submit {
  margin-top: 22px;
  height: 50px;
  border-radius: 6px;
  background: var(--m-color-primary);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}
.m-login__submit.is-loading {
  opacity: 0.7;
}
.m-login__submit.is-disabled {
  opacity: 0.45;
  pointer-events: none;
}
.m-login__submit--secondary {
  margin-top: 14px;
  background: var(--m-color-surface);
  color: var(--m-color-primary);
  box-shadow: inset 0 0 0 1px var(--m-color-line);
}
.m-login__one-click {
  margin-top: 28px;
  padding-top: 24px;
  position: relative;
}
.m-login__one-click::before {
  content: "其他登录方式";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  color: var(--m-color-text-tertiary);
  font-size: 12px;
  text-align: center;
}
.m-login__one-click .m-login__submit {
  margin-top: 12px;
  background: var(--m-color-surface);
  color: var(--m-color-primary);
  box-shadow: inset 0 0 0 1px var(--m-color-primary);
}
.m-login__one-click-tip {
  margin-top: 8px;
  color: var(--m-color-text-tertiary);
  font-size: var(--m-font-sm);
  text-align: center;
}
.m-login__one-click-credentials-title {
  color: var(--m-color-text);
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}
.m-login__one-click-credentials-warning {
  margin-top: 10px;
  color: var(--m-color-danger);
  font-size: var(--m-font-sm);
  line-height: 1.45;
}
.m-login__one-click-credentials dl {
  margin: 18px 0 0;
}
.m-login__one-click-credentials dl > div {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f5f7fa;
  background: var(--m-color-surface-muted, #f5f7fa);
}
.m-login__one-click-credentials dt {
  color: var(--m-color-text-tertiary);
  font-size: 12px;
}
.m-login__one-click-credentials dd {
  margin: 5px 0 0;
  color: var(--m-color-text);
  font-family: monospace;
  font-size: 16px;
  word-break: break-all;
}
.m-login__one-click-save-status {
  margin-top: 8px;
  color: #07a956;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
}
.m-login__one-click-save-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.44);
}
.m-login__one-click-save-dialog {
  width: min(100%, 320px);
  box-sizing: border-box;
  padding: 24px;
  border-radius: 14px;
  background: #fff;
  text-align: center;
}
.m-login__one-click-save-dialog-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: #07c160;
  color: #fff;
  font-size: 30px;
  line-height: 48px;
}
.m-login__one-click-save-dialog-title {
  color: #191919;
  font-size: 18px;
  font-weight: 600;
}
.m-login__one-click-save-dialog-message {
  margin-top: 8px;
  color: #666;
  font-size: 14px;
  line-height: 20px;
}
.m-login__one-click-save-dialog button {
  width: 100%;
  height: 42px;
  margin-top: 22px;
  border: 0;
  border-radius: 8px;
  background: #07c160;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
}
/* 注册 / 忘记密码(设计稿 .login__alt,居中)*/
.m-login__alt {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-size: 12.5px;
  color: var(--m-color-primary);
}
.wk-no-flex-gap .m-login__alt > *:not(:last-child) {
  margin-right: 14px;
}
.m-login__alt-sep {
  width: 1px;
  height: 11px;
  background: var(--m-color-line);
}
/* 注册全屏 auth 页（品牌绿顶栏 + iOS 风右滑入）。 */
.m-auth {
  position: fixed;
  inset: 0;
  z-index: 1300;
  background: var(--m-color-surface);
  display: flex;
  flex-direction: column;
  animation: m-auth-in 0.24s ease-out;
}
@keyframes m-auth-in {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}
.m-auth__nav {
  flex-shrink: 0;
  height: calc(var(--m-navbar-h) + var(--safe-top));
  padding-top: var(--safe-top);
  display: flex;
  align-items: center;
  background: var(--m-color-primary-grad);
}
.m-auth__back {
  width: 44px;
  height: var(--m-navbar-h);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  color: #fff;
}
.m-auth__title {
  flex: 1 1;
  text-align: center;
  font-size: var(--m-font-title);
  font-weight: 600;
  color: #fff;
}
.m-auth__navr {
  width: 44px;
  flex-shrink: 0;
}
.m-auth__body {
  flex: 1 1;
  padding: 22px 22px calc(22px + var(--safe-bottom));
  overflow-y: auto;
}
.m-auth__lead {
  font-size: 13.5px;
  color: var(--m-color-text-secondary);
  margin-bottom: 20px;
}
.m-auth__foot {
  margin-top: 20px;
  text-align: center;
  font-size: 13px;
  color: var(--m-color-text-tertiary);
}
.m-auth__foot a {
  color: var(--m-color-primary);
  font-weight: 600;
}

@media (max-width: 340px) {
  .m-login__card {
    margin-left: 14px;
    margin-right: 14px;
    padding-left: 18px;
    padding-right: 18px;
  }
}

/* 钱包/收藏/组织 共用页面样式 */
.m-page__hint {
  padding: 16px;
  color: var(--m-color-text-secondary);
  font-size: var(--m-font-sm);
}
.m-page__val {
  color: var(--m-color-text-secondary);
  font-size: var(--m-font-sm);
}

/* 钱包 */
.m-wallet__card {
  margin: 16px 12px;
  padding: 24px 20px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--m-color-primary), #f08a6e);
  color: #fff;
}
.m-wallet__label {
  font-size: var(--m-font-sm);
  opacity: 0.9;
}
.m-wallet__balance {
  margin-top: 8px;
  font-size: 34px;
  font-weight: 700;
}
.m-wallet__sub {
  margin-top: 6px;
  font-size: var(--m-font-sm);
  opacity: 0.9;
}

/* 收藏(设计稿屏 16:文字 / 图片 / 文件卡片)*/
.m-fav {
  padding: 16px 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.wk-no-flex-gap .m-fav > *:not(:last-child) {
  margin-bottom: 10px;
}
.m-fav__item {
  margin: 0;
  padding: 16px;
  background: var(--m-color-surface);
  border: 1px solid var(--m-color-line);
  border-radius: 9px;
  touch-action: pan-y;
}
.m-fav__txt {
  font-size: 14px;
  color: var(--m-color-text);
  line-height: 1.5;
  word-break: break-word;
}
.m-fav__voice {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--m-color-text);
  font-size: 14px;
}
.wk-no-flex-gap .m-fav__voice > *:not(:last-child) {
  margin-right: 10px;
}
.m-fav__voice svg { width: 24px; height: 24px; flex: none; color: var(--m-color-primary); }
.m-fav__voice small { margin-left: auto; color: var(--m-color-text-tertiary); font-size: 12px; }
.m-fav__img {
  display: block;
  width: 100%;
  height: 96px;
  border-radius: 8px;
  background-color: var(--m-color-surface-2);
  object-fit: cover;
}
.m-fav__img--ph {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #999;
  color: var(--m-color-subtitle, #999);
  font-size: 13px;
}
.wk-no-flex-gap .m-fav__img--ph > *:not(:last-child) {
  margin-right: 6px;
}
.m-fav__video {
  position: relative;
}
.m-fav__video-play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 38px;
  height: 38px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.42);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  pointer-events: none;
}
.m-fav__video-play svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}
.m-fav__meta {
  font-size: 12px;
  color: var(--m-color-text-tertiary);
  display: flex;
  justify-content: space-between;
  flex: 1 1;
  min-width: 0;
}
.m-fav__footer { margin-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wk-no-flex-gap .m-fav__footer > *:not(:last-child) {
  margin-right: 10px; }
.m-fav__remove { flex: none; padding: 4px 0; border: 0; background: none; color: var(--m-color-text-tertiary); font-size: 12px; }
/* 收藏文本详情页 */
.m-favdetail {
  padding: 18px 16px;
}
.m-favdetail__text {
  font-size: 16px;
  line-height: 1.6;
  color: var(--m-color-text);
  word-break: break-word;
  white-space: pre-wrap;
  -webkit-user-select: text;
  user-select: text;
}
.m-favdetail__voice-player { margin-top: 20px; }
.m-favdetail__voice-player audio { display: block; width: 100%; }
.m-favdetail__voice-player button { min-height: 40px; padding: 0 16px; border: 0; border-radius: 8px; background: var(--m-color-primary); color: #fff; font-size: 14px; }
.m-favdetail__meta {
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  border-top: 1px solid var(--m-color-border, rgba(0, 0, 0, 0.08));
  font-size: 12px;
  color: var(--m-color-text-tertiary);
  display: flex;
  justify-content: space-between;
}
.m-fav__more {
  margin: 14px 16px 0;
  text-align: center;
  font-size: 13px;
  color: var(--m-color-primary);
  padding: 10px;
}

/* 组织架构(设计稿屏 65:部门树 + 成员)*/
.m-org__crumb {
  padding: 11px 16px;
  font-size: 13px;
  color: var(--m-color-text-secondary);
  background: var(--m-color-bg);
  word-break: break-all;
}
.m-org__crumb b {
  color: var(--m-color-primary);
  font-weight: 400;
}
.m-org__crumb-sep {
  color: var(--m-color-text-tertiary);
}
.m-org__row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  background: var(--m-color-surface);
  position: relative;
}
.wk-no-flex-gap .m-org__row > *:not(:last-child) {
  margin-right: 12px;
}
.m-org__row:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 54px;
  right: 0;
  bottom: 0;
  height: 0.5px;
  background: var(--m-color-line);
}
.m-org__ico {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-org__ico.dept {
  background: var(--m-color-primary-soft);
  color: var(--m-color-primary);
}
.m-org__av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.m-org__av-fb {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
.m-org__main {
  flex: 1 1;
  min-width: 0;
}
.m-org__name {
  font-size: 15px;
  color: var(--m-color-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-org__sub {
  font-size: 12px;
  color: var(--m-color-text-tertiary);
  margin-top: 2px;
}
.m-org__count {
  font-size: 13px;
  color: var(--m-color-text-tertiary);
  flex-shrink: 0;
}
.m-org__chev {
  color: var(--m-color-text-tertiary);
  display: flex;
  flex-shrink: 0;
}
/* 绑定 / 更换手机号 */
.m-pb {
  padding: 18px 16px;
}
.m-pb__cur {
  font-size: 13px;
  color: var(--m-color-text-secondary);
  margin-bottom: 14px;
}
.m-pb__field {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--m-color-surface);
  border-radius: 12px;
  padding: 0 14px;
  margin-bottom: 12px;
}
.wk-no-flex-gap .m-pb__field > *:not(:last-child) {
  margin-right: 10px;
}
.m-pb__input {
  flex: 1 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  font-size: 15px;
  height: 48px;
  color: var(--m-color-text);
}
.m-pb__sms {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: var(--m-color-primary);
  font-size: 14px;
}
.m-pb__sms:disabled {
  color: var(--m-color-text-tertiary);
}
.m-pb__btn {
  width: 100%;
  height: 48px;
  border: none;
  border-radius: 24px;
  background: var(--m-color-primary);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  margin-top: 6px;
}
.m-pb__btn:disabled {
  opacity: 0.5;
}
.m-pb__hint {
  font-size: 12px;
  color: var(--m-color-text-tertiary);
  margin-top: 14px;
  line-height: 1.6;
}

/* 「我」：微信式白色资料头 + 分组行。 */
.m-me {
  min-height: 100%;
  background: var(--m-color-bg);
  padding-bottom: 24px;
}

/* 微信式个人资料头：纯白、黑字，不使用品牌大色块。 */
.m-me__cover {
  background: #fff;
  padding-top: var(--safe-top);
}
.m-me__title {
  height: 49px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--m-color-bg);
  color: var(--m-color-text);
  font-size: 18px;
  font-weight: 600;
}
.m-me__cover-nav {
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 8px;
}
.m-me__gear {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  color: #111;
}
.m-me__card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 30px 22px;
}
.wk-no-flex-gap .m-me__card > *:not(:last-child) {
  margin-right: 12px;
}
.m-me__card-l {
  flex: 1 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 18px;
}
.wk-no-flex-gap .m-me__card-l > *:not(:last-child) {
  margin-right: 18px;
}
.m-me__av {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.2);
  box-shadow: none;
}
.m-me__av-fb {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 26px;
  font-weight: 600;
}
.m-me__profile-tap {
  display: flex;
  flex-shrink: 0;
}
.m-me__info {
  flex: 1 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.m-me__name {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 19px;
  font-weight: 600;
  color: #111;
}
.m-me__name--tap {
  display: block;
  max-width: 100%;
}
.m-me__id {
  display: block;
  margin-top: 7px;
  font-size: 13px;
  color: #7f7f7f;
  background: transparent;
  padding: 0;
  border-radius: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-me__idline { max-width: 100%; display: flex; align-items: center; gap: 4px; margin-top: 7px; }
.wk-no-flex-gap .m-me__idline > *:not(:last-child) {
  margin-right: 4px; }
.m-me__idline .m-me__id { margin-top: 0; }
.m-me__copy { width: 24px; height: 24px; flex: 0 0 24px; padding: 0; border: 0; background: transparent; color: #8a8a8a; display: inline-flex; align-items: center; justify-content: center; }
.m-me__copy-pill {
  width: -webkit-fit-content;
  width: fit-content;
  max-width: 100%;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  touch-action: manipulation;
}
.m-me__qr {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 1px;
  color: #7f7f7f;
}
.wk-no-flex-gap .m-me__qr > *:not(:last-child) {
  margin-right: 1px;
}

/* 分组行(全宽白块,左 52 起分隔线)*/
.m-me__group {
  margin-top: 10px;
  background: var(--m-color-surface);
}
.m-merow {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 55px;
  box-sizing:border-box;
  padding: 11px 16px;
  position: relative;
  font-size: 15px;
  color: var(--m-color-text);
}
.wk-no-flex-gap .m-merow > *:not(:last-child) {
  margin-right: 13px;
}
.m-merow:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 0;
  bottom: 0;
  height: 0.5px;
  background: var(--m-color-line);
}
/* 带图标的行(我 tab)分隔线从图标右侧起 */
.m-merow:has(.m-merow__ico):not(:last-child)::after {
  left: 52px;
}
.m-merow__ico {
  width: 24px;
  height: 24px;
  color: var(--m-color-text);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-merow__name {
  flex: 1 1;
  min-width: 0;
}
.m-merow__val {
  font-size: 13px;
  color: var(--m-color-text-tertiary);
  margin-right: 4px;
  max-width: 55%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-merow__chev {
  color: var(--m-color-text-tertiary);
  display: flex;
  flex-shrink: 0;
}
.m-merow--logout {
  justify-content: center;
  color: var(--m-color-danger);
}

.m-profile-edit .m-chat__body {
  background: #f5f5f5;
  padding: 14px 16px calc(24px + env(safe-area-inset-bottom));
  box-sizing: border-box;
}
.m-bio-edit__save {
  border: 0;
  background: transparent;
  color: var(--m-color-brand);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  padding: 10px 4px;
}
.m-bio-edit__save:disabled { color: #b7d9c5; }
.m-bio-edit__panel {
  position: relative;
  background: var(--m-color-surface);
  border-radius: 8px;
  padding: 12px 12px 34px;
}
.m-profile-edit__panel {
  position: relative;
  background: var(--m-color-surface);
  border-radius: 8px;
  padding: 0 12px 34px;
}
.m-profile-edit__row {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.wk-no-flex-gap .m-profile-edit__row > *:not(:last-child) {
  margin-right: 8px;
}
.m-profile-edit__input {
  flex: 1 1;
  min-width: 0;
  border: 0;
  outline: 0;
  padding: 12px 0;
  background: transparent;
  color: var(--m-color-text);
  font: inherit;
  font-size: 16px;
}
.m-profile-edit__input::placeholder { color: #b2b2b2; }
.m-profile-edit__clear {
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: #c7c7cc;
  color: white;
  font-size: 18px;
  line-height: 20px;
}
.m-bio-edit__input {
  display: block;
  width: 100%;
  min-height: 104px;
  resize: none;
  box-sizing: border-box;
  border: 0;
  outline: 0;
  padding: 0;
  background: transparent;
  color: var(--m-color-text);
  font: inherit;
  font-size: 16px;
  line-height: 1.55;
}
.m-bio-edit__input::placeholder { color: #b2b2b2; }
.m-bio-edit__count {
  position: absolute;
  right: 12px;
  bottom: 10px;
  color: var(--m-color-text-tertiary);
  font-size: 13px;
}
.m-bio-edit__hint {
  padding: 9px 4px;
  color: var(--m-color-text-tertiary);
  font-size: 13px;
}

/* iOS 风开关(设置子页用)*/
.m-switch {
  flex-shrink: 0;
  width: 46px;
  height: 28px;
  border-radius: 14px;
  background: var(--m-color-line);
  position: relative;
  transition: background 0.2s ease;
}
.m-switch.is-on {
  background: var(--m-color-primary); /* 开启态统一使用品牌绿。 */
}
.m-switch__dot {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease;
}
.m-switch.is-on .m-switch__dot {
  transform: translateX(18px);
}

.m-me__hint {
  padding: 14px 16px;
  color: var(--m-color-text-secondary);
  font-size: var(--m-font-sm);
}

/* 个人资料(设计稿⑬:头像行缩略图 + 二维码图标)*/
.m-profile__thumb {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.m-profile__thumb-fb {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
}
.m-profile__group .m-merow {
  gap: 6px;
}
.m-profile__group .m-merow__val {
  margin-right: 0;
}
.m-merow__qr {
  color: var(--m-color-text-tertiary);
  display: flex;
  flex-shrink: 0;
}

/* 我的二维码(设计稿屏⑭:居中名片卡)*/
.m-qrwrap {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
}
.m-qrcard {
  width: 100%;
  background: var(--m-color-surface);
  border-radius: 6px;
  padding: 20px 20px 30px;
  box-sizing: border-box;
}
.m-qrcard__top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.wk-no-flex-gap .m-qrcard__top > *:not(:last-child) {
  margin-right: 12px;
}
.m-qrcard__av {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  object-fit: cover;
  flex-shrink: 0;
}
.m-qrcard__av-fb {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
}
.m-qrcard__name {
  font-size: 17px;
  font-weight: 600;
  color: var(--m-color-text);
}
.m-qrcard__id {
  font-size: 12px;
  color: var(--m-color-text-secondary);
  margin-top: 3px;
}
.m-qrcard__idline { display: flex; align-items: center; gap: 3px; }
.wk-no-flex-gap .m-qrcard__idline > *:not(:last-child) {
  margin-right: 3px; }
.m-qrcard__copy, .m-merow__copy { width: 24px; height: 24px; flex: 0 0 24px; padding: 0; border: 0; background: transparent; color: var(--m-color-text-secondary); display: inline-flex; align-items: center; justify-content: center; }
.m-merow__copy { margin-left: -5px; margin-right: -2px; }
.m-qrcard__qr {
  width: min(220px, 100%);
  aspect-ratio: 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-qrcard__qr canvas,
.m-qrcard__qr svg {
  width: 100% !important;
  height: auto !important;
}
.m-qrcard__qr-ph {
  width: 100%;
  height: 100%;
  border-radius: 12px;
  background: var(--m-color-surface-2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px;
  box-sizing: border-box;
  color: var(--m-color-text-tertiary);
  font-size: 13px;
  text-align: center;
  word-break: break-word;
}
.wk-no-flex-gap .m-qrcard__qr-ph > *:not(:last-child) {
  margin-bottom: 10px;
}
.m-qrcard__retry {
  border: 0;
  padding: 6px 12px;
  border-radius: 14px;
  color: var(--m-color-primary);
  background: rgba(116, 89, 217, 0.1);
  font-size: 13px;
}
.m-qrcard__hint {
  margin-top: 16px;
  font-size: 12px;
  color: var(--m-color-text-tertiary);
  text-align: center;
}
/* 保存按钮位于二维码名片外，与在线原型一致。 */
.m-qrcard__save {
  display: block;
  margin: 20px auto 0;
  border: none;
  border-radius: 6px;
  padding: 9px 28px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  background: var(--m-color-primary);
}

/* 关于页 */
.m-about {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px 24px;
}
.m-about__logo {
  width: 72px;
  height: 72px;
  border-radius: 16px;
  background: var(--m-color-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  margin-bottom: 16px;
}
.m-about__name {
  font-size: var(--m-font-lg);
  font-weight: 600;
  color: var(--m-color-text);
}
.m-about__ver,
.m-about__note {
  margin-top: 6px;
  font-size: var(--m-font-sm);
  color: var(--m-color-text-secondary);
}

/* 聊天背景选色网格(通用→聊天背景)*/
.m-chatbg__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 14px 10px;
  gap: 14px 10px;
  padding: 18px 16px;
}
.m-chatbg__cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.wk-no-flex-gap .m-chatbg__cell > *:not(:last-child) {
  margin-bottom: 6px;
}
.m-chatbg__swatch {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 10px;
  border: 1px solid var(--m-color-line);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.m-chatbg__cell.is-on .m-chatbg__swatch {
  border: 2px solid var(--m-color-primary);
}
.m-chatbg__none {
  color: var(--m-color-text-tertiary);
  font-size: 13px;
}
.m-chatbg__check {
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--m-color-primary);
  color: #fff;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-chatbg__label {
  font-size: 12px;
  color: var(--m-color-text-secondary);
}

/* 一级「我的」按原型对齐；子页共用行保持原有布局。 */
.m-me > .m-me__group { margin-top: 8px; }
.m-me > .m-me__group:empty { display: none; }
.m-me > .m-me__group > .m-merow { min-height: 56px; padding: 12px 18px; gap: 12px; }
.m-me > .m-me__group .m-merow__ico { width: 22px; height: 22px; }
.m-me > .m-me__group .m-merow__ico svg { stroke-width: 1.7; }
.m-me > .m-me__group .m-merow::after { left: 54px; height: 1px; }
.m-me > .m-me__group .m-merow__chev svg { width: 16px; height: 16px; stroke-width: 1.7; color: #b5b5b5; }
.m-me > .m-me__group > .m-merow--logout { width: 100%; border: 0; background: var(--m-color-surface); font: inherit; font-size: 14px; color: var(--m-color-danger); }

/* 日志页使用原型中的居中主操作，截图附件保留既定业务。 */
.m-me-log-submit {
  display: block;
  align-self: center;
  margin: 20px auto;
  border: 0;
  border-radius: 6px;
  padding: 9px 28px;
  background: var(--m-color-primary);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}
.m-me-log-submit:disabled { opacity: 0.6; }

/* 好友资料(设计稿屏 33)+ 备注和标签(屏 34)。token 映射到 app 变量 */

/* 资料头(白底 · 头像 + 名/号)*/
.m-up__head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 16px;
  background: var(--m-color-surface);
}
.wk-no-flex-gap .m-up__head > *:not(:last-child) {
  margin-right: 14px;
}
.m-up__av {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.m-up__av-fb {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
}
.m-up__meta {
  flex: 1 1;
  min-width: 0;
}
.m-up__name {
  font-size: 19px;
  font-weight: 600;
  color: var(--m-color-text);
  display: flex;
  align-items: center;
  gap: 8px;
}
.wk-no-flex-gap .m-up__name > *:not(:last-child) {
  margin-right: 8px;
}
.m-up__tag {
  font-size: 11px;
  font-weight: 400;
  color: var(--m-color-primary);
  background: var(--m-color-primary-soft);
  padding: 2px 8px;
  border-radius: 6px;
}
.m-up__id {
  font-size: 12.5px;
  color: var(--m-color-text-secondary);
  margin-top: 6px;
}

/* 发消息 / 音视频通话 */
.m-up__btns {
  display: flex;
  gap: 12px;
  padding: 16px;
}
.wk-no-flex-gap .m-up__btns > *:not(:last-child) {
  margin-right: 12px;
}
.m-up__btns--final {
  flex-direction: column;
  gap: 0;
  padding: 0;
  margin-top: 10px;
  background: var(--m-color-surface);
}
.m-up__btn {
  flex: 1 1;
  height: 46px;
  border: none;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
.wk-no-flex-gap .m-up__btn > *:not(:last-child) {
  margin-right: 7px;
}
.m-up__btn--primary {
  background: var(--m-color-primary);
  color: #fff;
  box-shadow: none;
}
.m-up__btn--ghost {
  background: var(--m-color-surface);
  color: var(--m-color-text);
  box-shadow: inset 0 0 0 1px var(--m-color-line);
}
.m-up__btn--link {
  flex: none;
  width: 100%;
  min-height: 54px;
  height: auto;
  border-radius: 0;
  font-weight: 500;
  font-size: 16px;
  color: #576b95;
  background: var(--m-color-surface);
  box-shadow: inset 0 1px 0 var(--m-color-line);
}

/* 分组行 */
.m-up__grp {
  margin-top: 10px;
  background: var(--m-color-surface);
}
.m-up__row {
  display: flex;
  align-items: center;
  min-height: 55px;
  box-sizing:border-box;
  padding: 11px 16px;
  position: relative;
  font-size: 15px;
  color: var(--m-color-text);
}
.m-up__row:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 0;
  bottom: 0;
  height: 0.5px;
  background: var(--m-color-line);
}
.m-up__row-name {
  flex: 1 1;
  min-width: 0;
}
.m-up__row-val {
  font-size: 13px;
  color: var(--m-color-text-tertiary);
  margin-right: 6px;
  max-width: 55%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-up__chev {
  color: var(--m-color-text-tertiary);
  display: flex;
  flex-shrink: 0;
}
.m-up__row--danger {
  /* 危险行(删除好友/移出群聊)左对齐(与上方普通行左缘一致),字体保持红色 */
  color: var(--m-color-danger);
}

/* 备注编辑(屏 34)*/
.m-up__done {
  border: none;
  border-radius: 4px;
  padding: 6px;
  white-space: nowrap;
  flex-shrink: 0;
  background: var(--m-color-primary);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}
.m-up__seclabel {
  padding: 18px 16px 8px;
  font-size: 12.5px;
  color: var(--m-color-text-secondary);
}
.m-up__iptbox {
  background: var(--m-color-surface);
  padding: 0 16px;
}
.m-up__ipt {
  width: 100%;
  height: 48px;
  border: none;
  outline: none;
  background: none;
  font-size: 15px;
  color: var(--m-color-text);
}
.m-up__ipt::placeholder {
  color: var(--m-color-text-tertiary);
}
.m-up__hint {
  padding: 14px 16px;
  font-size: 12px;
  color: var(--m-color-text-tertiary);
  line-height: 1.6;
}

/* 被对方拉黑提示 */
.m-up__warn {
  margin: 0 16px 10px;
  padding: 9px 12px;
  border-radius: 8px;
  background: rgba(232, 80, 110, 0.1);
  color: #e8506e;
  color: var(--m-color-danger, #e8506e);
  font-size: 12.5px;
}

/* 好友验证弹层 */
.m-up__applymask {
  position: fixed;
  inset: 0;
  z-index: 100040;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(20px, var(--wk-ui-safe-top)) max(16px, var(--wk-ui-safe-right)) max(20px, var(--wk-ui-safe-bottom)) max(16px, var(--wk-ui-safe-left));
  box-sizing: border-box;
  background: var(--wk-ui-mask);
}
.m-up__applycard {
  width: min(100%, 326px);
  padding: 20px 18px 16px;
  box-sizing: border-box;
  border-radius: var(--wk-ui-radius-modal);
  background: var(--m-color-surface);
  box-shadow: var(--wk-ui-shadow-modal);
  max-height: min(620px, calc(100dvh - var(--wk-ui-safe-top) - var(--wk-ui-safe-bottom) - 40px));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%;
}
.m-up__applytitle {
  font-size: var(--wk-ui-font-overlay-title);
  font-weight: 600;
  text-align: center;
  color: var(--m-color-text);
}
.m-up__applysub {
  margin-top: 4px;
  font-size: var(--wk-ui-font-overlay-caption);
  text-align: center;
  color: var(--m-color-text-tertiary);
}
.m-up__applyinput {
  width: 100%;
  height: 44px;
  margin-top: 16px;
  padding: 0 12px;
  box-sizing: border-box;
  border: 0.5px solid var(--m-color-line);
  border-radius: 10px;
  outline: none;
  background: var(--m-color-surface-2);
  color: var(--m-color-text);
  font-size: var(--wk-ui-font-overlay-body);
}
.m-up__applyinput:focus {
  border-color: rgba(7, 193, 96, 0.45);
  box-shadow: none;
}
.m-up__applybtns {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}
.wk-no-flex-gap .m-up__applybtns > *:not(:last-child) {
  margin-right: 12px;
}
.m-up__applycancel,
.m-up__applyok {
  flex: 1 1;
  min-height: var(--wk-ui-touch);
  border: none;
  border-radius: 6px;
  font-size: var(--wk-ui-font-overlay-body);
}
.m-up__applycancel {
  background: var(--m-color-surface-2);
  color: var(--m-color-text-secondary);
}
.m-up__applyok {
  background: var(--m-color-primary);
  color: #fff;
  font-weight: 600;
  box-shadow: none;
}

/* 搜索栏(顶部导航位)*/
.m-search__bar {
  align-items: center !important;
  gap: 8px;
  padding: 0 12px;
  padding-top: var(--safe-top);
}
.m-search__field {
  flex: 1 1;
  display: flex;
  align-items: center;
  gap: 7px;
  height: 36px;
  border-radius: 12px;
  background: var(--m-color-surface-2);
  padding: 0 11px;
  color: var(--m-color-text-tertiary);
}
.wk-no-flex-gap .m-search__field > *:not(:last-child) {
  margin-right: 7px;
}
.m-search__input {
  flex: 1 1;
  min-width: 0;
  border: none;
  background: none;
  font-size: 14px;
  color: var(--m-color-text);
  outline: none;
}
.m-search__input::placeholder {
  color: var(--m-color-text-tertiary);
}
.m-search__cancel {
  flex-shrink: 0;
  border: none;
  background: none;
  color: var(--m-color-primary);
  font-size: var(--m-font);
}

/* 分类 Tab(设计稿 stabs)*/
.m-search__tabs {
  flex-shrink: 0;
  display: flex;
  gap: 22px;
  padding: 10px 16px;
  background: var(--m-color-surface);
  border-bottom: 0.5px solid var(--m-color-line);
}
.wk-no-flex-gap .m-search__tabs > *:not(:last-child) {
  margin-right: 22px;
}
.m-search__tab {
  font-size: 14px;
  color: var(--m-color-text-secondary);
  position: relative;
  padding-bottom: 5px;
}
.m-search__tab.on {
  color: var(--m-color-text);
  font-weight: 600;
}
.m-search__tab.on::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 18px;
  height: 2.5px;
  border-radius: 2px;
  background: var(--m-color-primary-grad);
}

.m-search__sec {
  padding: 12px 16px 6px;
  font-size: var(--m-font-sm);
  color: var(--m-color-text-secondary);
}
.m-search__row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: var(--m-color-surface);
  position: relative;
}
.wk-no-flex-gap .m-search__row > *:not(:last-child) {
  margin-right: 12px;
}
.m-search__row:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 68px;
  right: 0;
  bottom: 0;
  height: 0.5px;
  background: var(--m-color-line);
}
.m-search__av {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
}
.m-search__name {
  font-size: 15px;
  color: var(--m-color-text);
}
.m-search__hl {
  color: var(--m-color-primary);
}
/* 真头像图片 */
.m-search__av-img {
  object-fit: cover;
  background: var(--m-color-bg);
}
/* 聊天记录:名字 + 摘要两行 */
.m-search__rec {
  flex: 1 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.wk-no-flex-gap .m-search__rec > *:not(:last-child) {
  margin-bottom: 2px;
}
.m-search__rec .m-search__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-search__snippet {
  font-size: 13px;
  color: var(--m-color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-search__snippet mark {
  background: transparent;
  color: var(--m-color-primary);
  padding: 0;
}
.m-search__empty {
  padding: 24px;
  text-align: center;
  color: var(--m-color-text-secondary);
  font-size: var(--m-font-sm);
}

/* 聊天图片/视频/文件清单页 */
.m-cmedia {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.m-cmedia__tabs {
  display: flex;
  gap: 8px;
  padding: 10px 12px;
  background: #fff;
  background: var(--m-color-surface, #fff);
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.08);
  border-bottom: 0.5px solid var(--m-color-border, rgba(0, 0, 0, 0.08));
  flex-shrink: 0;
}
.wk-no-flex-gap .m-cmedia__tabs > *:not(:last-child) {
  margin-right: 8px;
}
.m-cmedia__tab {
  flex: 1 1;
  border: none;
  border-radius: 18px;
  padding: 8px 0;
  font-size: 14px;
  font-weight: 500;
  color: #666;
  color: var(--m-color-text-secondary, #666);
  background: #f2f2f5;
  background: var(--m-color-surface-2, #f2f2f5);
}
.m-cmedia__tab.is-on {
  color: #fff;
  background: var(--m-color-primary);
}
.m-cmedia__body {
  flex: 1 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* 图片/视频网格 */
.m-cmedia__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 3px;
  gap: 3px;
  padding: 3px;
}
.m-cmedia__cell {
  position: relative;
  border: none;
  padding: 0;
  aspect-ratio: 1 / 1;
  background: #f2f2f5;
  background: var(--m-color-surface-2, #f2f2f5);
  overflow: hidden;
}
.m-cmedia__cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.m-cmedia__cell-ph {
  display: block;
  width: 100%;
  height: 100%;
  background: #f2f2f5;
  background: var(--m-color-surface-2, #f2f2f5);
}
.m-cmedia__playicon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

/* 文件列表 */
.m-cmedia__filelist {
  padding: 8px 0;
}
.m-cmedia__filerow {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  border: none;
  background: #fff;
  background: var(--m-color-surface, #fff);
  padding: 12px 16px;
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.06);
  border-bottom: 0.5px solid var(--m-color-border, rgba(0, 0, 0, 0.06));
  text-align: left;
}
.wk-no-flex-gap .m-cmedia__filerow > *:not(:last-child) {
  margin-right: 12px;
}
.m-cmedia__fileicon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.m-cmedia__fileicon img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}
.m-cmedia__filemeta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1 1;
}
.m-cmedia__filename {
  font-size: 15px;
  color: #1a1626;
  color: var(--m-color-text, #1a1626);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.m-cmedia__filesize {
  margin-top: 3px;
  font-size: 12px;
  color: #999;
  color: var(--m-color-text-tertiary, #999);
}

.m-cmedia__state {
  padding: 16px;
  text-align: center;
  font-size: 13px;
  color: #999;
  color: var(--m-color-text-tertiary, #999);
}
.m-cmedia__state--end {
  color: #bbb;
  color: var(--m-color-text-tertiary, #bbb);
}

.m-cmedia__entry { min-width: 0; }
.m-cmedia__entry .m-cmedia__cell { width: 100%; display: block; }
.m-cmedia__locate { display: block; width: 100%; padding: 9px 4px; border: 0; background: #fff; background: var(--m-color-surface,#fff); color: #07c160; color: var(--m-color-primary,#07c160); font-size: 12px; }

.m-cbg__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 14px;
  gap: 14px;
  padding: 16px;
}
.m-cbg__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
}
.wk-no-flex-gap .m-cbg__item > *:not(:last-child) {
  margin-bottom: 7px;
}
.m-cbg__swatch {
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 12px;
  border: 1px solid #e6e6ea;
  border: 1px solid var(--m-color-line, #e6e6ea);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.m-cbg__item.is-on .m-cbg__swatch {
  border: 2px solid #07c160;
  border: 2px solid var(--m-color-primary, #07c160);
}
.m-cbg__check {
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
}
.m-cbg__label {
  font-size: 12.5px;
  color: var(--m-color-text-secondary);
}
.m-cbg__item.is-on .m-cbg__label {
  color: #07c160;
  color: var(--m-color-primary, #07c160);
}
.m-cbg__hint {
  padding: 4px 18px 18px;
  font-size: 12px;
  color: var(--m-color-text-tertiary);
}

/* 会话设置(设计稿屏 22 单聊 / 23 群聊 / 24 群成员)。token 映射到 app 变量 */

/* 单聊资料头(chset-head)*/
.m-cs__head {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 16px;
  background: var(--m-color-surface);
  position: relative;
}
.wk-no-flex-gap .m-cs__head > *:not(:last-child) {
  margin-right: 13px;
}
.m-cs__head-av {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.m-cs__head-av-fb {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
}
.m-cs__on {
  position: absolute;
  left: 56px;
  top: 58px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #18c3a0;
  border: 2.5px solid var(--m-color-surface);
}
.m-cs__head-name {
  font-size: 17px;
  font-weight: 600;
  color: var(--m-color-text);
}
.m-cs__head-sub {
  font-size: 12.5px;
  color: var(--m-color-text-secondary);
  margin-top: 4px;
}
/* 头像行点开资料:meta 撑开,箭头靠右 */
.m-cs__head-meta {
  flex: 1 1;
  min-width: 0;
}

/* 成员网格(mgrid)*/
.m-cs__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-gap: 14px 6px;
  gap: 14px 6px;
  padding: 14px 16px 10px;
  background: var(--m-color-surface);
}
.m-cs__grid--full {
  gap: 16px 6px;
  margin-top: 0;
}
.m-cs__gitem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  min-width: 0;
}
.wk-no-flex-gap .m-cs__gitem > *:not(:last-child) {
  margin-bottom: 5px;
}
.m-cs__gav {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  object-fit: cover;
}
.m-cs__gav-fb {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
}
.m-cs__gitem > span {
  font-size: 11px;
  color: var(--m-color-text-secondary);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-cs__owner {
  color: var(--m-color-primary);
  font-style: normal;
}

/* 成员身份标(群主/管理员/水军)+ 运营 ♥VIP 头像标:叠在头像上(对齐原生 AvatarView/角色标)*/
.m-cs__gavwrap {
  position: relative;
  width: 46px;
  height: 46px;
  margin-bottom: 6px;
}
/* SVIP 角标:金色渐变药丸(参考主流 IM 会员标,去掉心形)*/
.m-cs__vip {
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #ffe9a8 0%, #ffc94d 48%, #ff9d2e 100%);
  color: #5a3500;
  font-size: 8.5px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.2px;
  padding: 2px 5px;
  border-radius: 7px;
  white-space: nowrap;
  border: 0.5px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 1px 3px rgba(196, 124, 0, 0.45), inset 0 0.5px 0 rgba(255, 255, 255, 0.7);
}
.m-cs__rtag {
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  font-style: normal;
  font-size: 9px;
  line-height: 1;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 8px;
  white-space: nowrap;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
}
.m-cs__rtag--owner {
  background: #ffb52e;
  color: #fff;
}
.m-cs__rtag--manager {
  background: #2c7fe6;
  color: #fff;
}
.m-cs__rtag--operator {
  background: #ff8a3d;
  color: #fff;
}
.m-cs__gadd {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  border: 1.4px dashed var(--m-color-line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--m-color-text-tertiary);
}
.m-cs__gadd.is-active {
  border-color: var(--m-color-primary);
  color: var(--m-color-primary);
}

/* 分组 + 行(grp / row)*/
.m-cs__grp {
  margin-top: 10px;
  background: var(--m-color-surface);
}
.m-cs__row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 55px;
  box-sizing:border-box;
  padding: 11px 16px;
  position: relative;
}
.wk-no-flex-gap .m-cs__row > *:not(:last-child) {
  margin-right: 12px;
}
.m-cs__row:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 0;
  bottom: 0;
  height: 0.5px;
  background: var(--m-color-line);
}
.m-cs__name {
  flex: 1 1;
  min-width: 0;
  font-size: 15px;
  color: var(--m-color-text);
}
.m-cs__sub {
  flex: 1 1;
  min-width: 0;
  font-size: 13.5px;
  color: var(--m-color-text-secondary);
}
.m-cs__val {
  font-size: 13.5px;
  color: var(--m-color-text-tertiary);
  margin-right: 2px;
  max-width: 56%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-cs__chev {
  color: var(--m-color-text-tertiary);
  display: flex;
  flex-shrink: 0;
}
.m-cs__chev.is-dim {
  color: var(--m-color-text-secondary);
}
.m-cs__center {
  justify-content: center;
}
.m-cs__danger {
  color: var(--m-color-danger);
}
.m-cs__rmhint {
  padding: 12px 16px;
  text-align: center;
  font-size: 12.5px;
  color: var(--m-color-text-tertiary);
}

/* 群公告(设计稿屏 67)*/
.m-cs__done {
  width: 44px;
  min-height: 44px;
  flex-shrink: 0;
  padding: 0;
  white-space: nowrap;
  border: none;
  background: none;
  color: var(--m-color-primary);
  font-size: 15px;
  font-weight: 600;
}
.m-cs__notice-card {
  margin: 14px 16px;
  background: var(--m-color-surface);
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 6px 18px -10px rgba(30, 16, 80, 0.16);
}
.m-cs__notice-txt {
  font-size: 14.5px;
  color: var(--m-color-text);
  line-height: 1.65;
  white-space: pre-wrap;
  word-break: break-word;
}
.m-cs__notice-edit {
  width: calc(100% - 32px);
  margin: 14px 16px;
  min-height: 160px;
  border: none;
  outline: none;
  border-radius: 14px;
  background: var(--m-color-surface);
  padding: 16px;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--m-color-text);
  resize: none;
  box-shadow: 0 6px 18px -10px rgba(30, 16, 80, 0.16);
}
.m-cs__notice-edit::placeholder {
  color: var(--m-color-text-tertiary);
}

/* 群名内联编辑 */
.m-cs__rename {
  display: flex;
  align-items: center;
}
.m-cs__rename-input {
  width: 150px;
  height: 30px;
  border: none;
  border-bottom: 1px solid var(--m-color-primary);
  background: none;
  font-size: 15px;
  color: var(--m-color-text);
  outline: none;
  text-align: right;
}

/* ===== Batch C 群管理 ===== */
/* 分组小标题(群管理 等)*/
.m-cs__grp-title {
  padding: 9px 16px 4px;
  font-size: 12px;
  color: var(--m-color-text-tertiary);
}
/* 管理员角标(橙,与群主紫区分)*/
.m-cs__mgr {
  color: #f0883e;
  color: var(--m-color-warning, #f0883e);
  font-style: normal;
}
/* 群二维码行右侧小图标 */
.m-cs__qrico {
  color: var(--m-color-text-tertiary);
  display: flex;
  align-items: center;
}
/* 成员搜索框 */
.m-cs__msearch {
  padding: 10px 16px;
  background: var(--m-color-surface);
}
.m-cs__msearch-input {
  width: 100%;
  height: 36px;
  box-sizing: border-box;
  padding: 0 12px;
  border: none;
  border-radius: 10px;
  background: var(--m-color-bg);
  font-size: 14px;
  color: var(--m-color-text);
  outline: none;
}
/* 文本编辑子页(我在本群昵称)*/
.m-cs__editwrap {
  margin-top: 10px;
  padding: 13px 16px;
  background: var(--m-color-surface);
}
.m-cs__editinput {
  width: 100%;
  border: none;
  background: none;
  font-size: 16px;
  color: var(--m-color-text);
  outline: none;
}
.m-cs__edithint {
  padding: 10px 16px;
  font-size: 12.5px;
  color: var(--m-color-text-tertiary);
  line-height: 1.6;
}

/* 群二维码卡片 */
.m-gqr {
  margin: 24px 16px;
  padding: 28px 20px 22px;
  background: var(--m-color-surface);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 8px 26px -14px rgba(30, 16, 80, 0.2);
}
.m-gqr__head {
  display: flex;
  align-items: center;
  gap: 12px;
  align-self: stretch;
  margin-bottom: 22px;
}
.wk-no-flex-gap .m-gqr__head > *:not(:last-child) {
  margin-right: 12px;
}
.m-gqr__av {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  object-fit: cover;
}
.m-gqr__av-fb {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
}
.m-gqr__name {
  font-size: 17px;
  font-weight: 600;
  color: var(--m-color-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.m-gqr__qr {
  width: 188px;
  height: 188px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-gqr__ph {
  font-size: 13px;
  color: var(--m-color-text-tertiary);
}
.m-gqr__hint {
  margin-top: 18px;
  font-size: 12.5px;
  color: var(--m-color-text-tertiary);
}
.m-gqr__expire {
  margin-top: 6px;
  font-size: 11.5px;
  color: var(--m-color-text-tertiary);
  opacity: 0.85;
}
.m-gqr__save {
  margin-top: 22px;
  border: none;
  border-radius: 22px;
  padding: 10px 34px;
  font-size: 14.5px;
  font-weight: 600;
  color: #fff;
  background: var(--m-color-primary);
}

/* 群聊头像 行内缩略图 */
.m-cs__rowav {
  width: 34px;
  height: 34px;
  border-radius: 7px;
  object-fit: cover;
  margin-left: auto;
  margin-right: 6px;
  flex-shrink: 0;
}
.m-cs__rowav-fb {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}

/* 群高级设置:底部保存条(对齐原生 全部恢复默认 + 保存配置) */
/* 底部操作条:吸底(对齐安卓 J92 常驻底栏),带上边框 + 背景,滚动时不消失 */
.m-ga__footer {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: center; /* 批K:按钮不再撑满整行,居中 → 更窄 */
  gap: 12px;
  padding: 10px 16px;
  background: var(--m-color-surface);
  border-top: 0.5px solid var(--m-color-line);
}
.wk-no-flex-gap .m-ga__footer > *:not(:last-child) {
  margin-right: 12px;
}
.m-ga__reset {
  flex: 0 1 auto;
  min-width: 92px;
  padding: 0 16px;
  height: 42px;
  white-space: nowrap;
  border: 0.5px solid var(--m-color-line);
  border-radius: 10px;
  background: var(--m-color-surface);
  color: var(--m-color-text-secondary);
  font-size: 14px;
}
.m-ga__save {
  flex: 0 1 auto;
  min-width: 124px;
  padding: 0 22px;
  height: 42px;
  white-space: nowrap;
  border: none;
  border-radius: 10px;
  background: var(--m-color-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
.m-ga__save.is-disabled {
  background: var(--m-color-surface-2);
  color: var(--m-color-text-tertiary);
}
/* 返回二次确认弹框(有未保存改动) */
.m-ga__mask {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: var(--wk-ui-mask);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: max(20px, var(--wk-ui-safe-top)) max(16px, var(--wk-ui-safe-right)) max(20px, var(--wk-ui-safe-bottom)) max(16px, var(--wk-ui-safe-left));
}
.m-ga__dialog {
  width: 100%;
  max-width: 320px;
  box-sizing: border-box;
  background: var(--m-color-surface);
  border-radius: var(--wk-ui-radius-modal);
  padding: 22px 20px 14px;
  box-shadow: var(--wk-ui-shadow-modal);
  max-height: min(620px, calc(100dvh - var(--wk-ui-safe-top) - var(--wk-ui-safe-bottom) - 40px));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%;
}
.m-ga__dialog-title {
  font-size: var(--wk-ui-font-overlay-title);
  font-weight: 600;
  text-align: center;
  color: var(--m-color-text);
}
.m-ga__dialog-sub {
  font-size: var(--wk-ui-font-overlay-body);
  line-height: 1.5;
  text-align: center;
  color: var(--m-color-text-secondary);
  margin-top: 8px;
}
.m-ga__dialog-btns {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}
.wk-no-flex-gap .m-ga__dialog-btns > *:not(:last-child) {
  margin-right: 10px;
}
.m-ga__dialog-btn {
  flex: 1 1;
  min-height: var(--wk-ui-touch);
  border: none;
  border-radius: 10px;
  font-size: var(--wk-ui-font-overlay-body);
}
.m-ga__dialog-btn--danger {
  background: var(--m-color-surface-2);
  color: var(--m-color-danger);
}
.m-ga__dialog-btn--primary {
  background: var(--m-color-primary);
  color: #fff;
  font-weight: 600;
}
.m-ga__dialog-cancel {
  width: 100%;
  min-height: var(--wk-ui-touch);
  margin-top: 8px;
  border: none;
  background: none;
  color: var(--m-color-text-secondary);
  font-size: 14px;
}
/* 开关请求中:轻微变淡 + 禁再点(JS 已忽略再点;乐观翻转已即时显示新态,这里只给一点请求中反馈)。 */
.m-switch.is-busy {
  opacity: 0.6;
  pointer-events: none;
}

/* 大群解散输入确认弹层 */
.m-cs__disband-mask {
  position: fixed;
  inset: 0;
  z-index: 2200;
  background: var(--wk-ui-mask);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: max(20px, var(--wk-ui-safe-top)) max(16px, var(--wk-ui-safe-right)) max(20px, var(--wk-ui-safe-bottom)) max(16px, var(--wk-ui-safe-left));
}
.m-cs__disband-dialog {
  width: 100%;
  max-width: 320px;
  background: var(--m-color-surface);
  border-radius: var(--wk-ui-radius-modal);
  padding: 20px 18px 14px;
  box-shadow: var(--wk-ui-shadow-modal);
  max-height: min(620px, calc(100dvh - var(--wk-ui-safe-top) - var(--wk-ui-safe-bottom) - 40px));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%;
}
.m-cs__disband-title {
  font-size: var(--wk-ui-font-overlay-title);
  font-weight: 600;
  color: var(--m-color-text);
  text-align: center;
}
.m-cs__disband-desc {
  margin: 10px 0 14px;
  font-size: var(--wk-ui-font-overlay-body);
  line-height: 1.5;
  color: var(--m-color-text-secondary);
}
.m-cs__disband-input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border: 1px solid var(--m-color-border, rgba(0, 0, 0, 0.12));
  border-radius: 10px;
  padding: 9px 12px;
  font-size: var(--wk-ui-font-overlay-body);
  color: var(--m-color-text);
  background: transparent;
}
.m-cs__disband-btns {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}
.wk-no-flex-gap .m-cs__disband-btns > *:not(:last-child) {
  margin-right: 12px;
}
.m-cs__disband-btn {
  flex: 1 1;
  min-height: var(--wk-ui-touch);
  border: none;
  border-radius: 10px;
  padding: 10px 0;
  font-size: var(--wk-ui-font-overlay-body);
  font-weight: 600;
  background: rgba(127, 127, 127, 0.12);
  color: var(--m-color-text);
}
.m-cs__disband-btn--danger {
  background: var(--m-color-danger);
  color: #fff;
}
.m-cs__disband-btn--danger.is-disabled {
  opacity: 0.45;
  pointer-events: none;
}

/* 群高级配置数字范围与在线原型一致；只作用于本页。 */
.m-group-advanced .m-ga__number {
  width: 100px;
  min-width: 0;
  height: 40px;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid var(--m-color-line);
  border-radius: 4px;
  background: var(--m-color-surface);
  color: var(--m-color-text);
  font: inherit;
  font-size: 16px;
  text-align: right;
}
.m-group-advanced .m-ga__unit {
  color: var(--m-color-text-secondary);
  font-size: 14px;
}
.m-group-advanced .m-ga__number:focus {
  outline: 1px solid var(--m-color-primary);
}

/* Advanced settings follows the published mobile design at its intended text scale. */
.m-group-advanced { -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; text-size-adjust: 100%; }
.m-group-advanced .m-cs__row { min-height: 56px; padding: 12px 18px; }
.m-group-advanced .m-cs__row:not(:last-child)::after { left: 18px; }
.m-group-advanced .m-cs__name { font-size: 14px; }
.m-group-advanced .m-cs__val { font-size: 13px; }
.m-group-advanced .m-cs__grp { margin-top: 8px; }
.m-group-advanced .m-cs__grp:first-child { margin-top: 0; }

.m-connstat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
.m-connstat__state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  font: inherit;
  color: inherit;
}
.wk-no-flex-gap .m-connstat__state > *:not(:last-child) {
  margin-right: 6px;
}
.m-connstat__spin {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-top-color: transparent;
  opacity: 0.72;
  animation: m-connstat-spin 0.8s linear infinite;
}
@keyframes m-connstat-spin {
  to {
    transform: rotate(360deg);
  }
}

.m-chat {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--m-color-bg);
  position: relative; /* 回到底部浮钮绝对定位的参照 */
}

/* 置顶消息横幅(单聊和群聊):导航栏与消息列表之间,flex 子项不被压缩 */
.m-chat__pinned {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  height: 44px;
  background: #fff;
  background: var(--m-color-surface, #fff);
  border-bottom: 0.5px solid #ececec;
  border-bottom: 0.5px solid var(--m-color-line, #ececec);
  overflow: hidden;
}
.m-chat__pinned-main {
  flex: 1 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 6px 0 12px;
  height: 100%;
}
.wk-no-flex-gap .m-chat__pinned-main > *:not(:last-child) {
  margin-right: 8px;
}
.m-chat__pinned-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  color: #7d5cff;
  color: var(--m-color-primary, #7d5cff);
}
.m-chat__pinned-text {
  flex: 1 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.25;
}
.m-chat__pinned-title {
  font-size: 11px;
  color: #7d5cff;
  color: var(--m-color-primary, #7d5cff);
  font-weight: 500;
}
.m-chat__pinned-desc {
  font-size: 13px;
  color: #333;
  color: var(--m-color-text, #333);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.m-chat__pinned-list {
  flex-shrink: 0;
  width: 44px;
  height: 100%;
  border: none;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #888;
  color: var(--m-color-text-secondary, #888);
}

/* 置顶列表浮层(底部弹出)*/
.m-pinned-modal {
  position: absolute;
  inset: 0;
  z-index: 40;
  background: var(--wk-ui-mask);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.m-pinned-sheet {
  background: #fff;
  background: var(--m-color-surface, #fff);
  border-radius: var(--wk-ui-radius-sheet) var(--wk-ui-radius-sheet) 0 0;
  max-height: min(64%, calc(100dvh - var(--wk-ui-safe-top) - 20px));
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
  padding-bottom: var(--safe-bottom, 0);
  box-shadow: var(--wk-ui-shadow-modal);
  animation: m-pinned-sheet-in var(--wk-ui-ease);
  -webkit-text-size-adjust: 100%;
}
@keyframes m-pinned-sheet-in {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
.m-pinned-sheet__head {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 10px;
  font-size: var(--wk-ui-font-overlay-title);
  font-weight: 600;
  color: #333;
  color: var(--m-color-text, #333);
  border-bottom: 0.5px solid #ececec;
  border-bottom: 0.5px solid var(--m-color-line, #ececec);
}
.m-pinned-sheet__x {
  width: var(--wk-ui-touch);
  height: var(--wk-ui-touch);
  border: none;
  background: none;
  font-size: 22px;
  line-height: 1;
  color: #888;
  color: var(--m-color-text-secondary, #888);
  padding: 0;
}
.m-pinned-sheet__list {
  flex: 1 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.m-pinned-row {
  display: flex;
  align-items: center;
  padding: 0 12px 0 16px;
  border-bottom: 0.5px solid #f2f2f2;
  border-bottom: 0.5px solid var(--m-color-line, #f2f2f2);
}
.m-pinned-row__main {
  flex: 1 1;
  min-width: 0;
  padding: 13px 0;
}
.m-pinned-row__digest {
  font-size: var(--wk-ui-font-overlay-body);
  color: #333;
  color: var(--m-color-text, #333);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.m-pinned-row__unpin {
  flex-shrink: 0;
  margin-left: 10px;
  border: none;
  background: none;
  min-height: var(--wk-ui-touch);
  font-size: var(--wk-ui-font-overlay-caption);
  color: #7d5cff;
  color: var(--m-color-primary, #7d5cff);
  padding: 6px 4px;
}
.m-pinned-sheet__clear {
  flex-shrink: 0;
  margin: 8px 16px 12px;
  min-height: var(--wk-ui-touch);
  border: none;
  border-radius: 10px;
  background: #f5f5f7;
  background: var(--m-color-bg, #f5f5f7);
  color: #fa5151;
  color: var(--m-color-danger, #fa5151);
  font-size: var(--wk-ui-font-overlay-body);
}

/* 「以下为新消息」分隔线(开屏停在第一条未读时插在它前面) */
.m-msg-newdivider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px 2px;
}
.m-msg-newdivider span {
  font-size: 12px;
  color: #9aa0a8;
  color: var(--m-color-text-tertiary, #9aa0a8);
  background: rgba(0, 0, 0, 0.045);
  padding: 3px 12px;
  border-radius: 10px;
}

/* 回到底部浮钮:不在底部时显示,右下角悬浮在输入条上方,带未读角标 */
.m-chat__jumpbottom {
  position: absolute;
  right: 14px;
  bottom: calc(80px + 0px);
  bottom: calc(80px + var(--safe-bottom, 0px));
  z-index: 20;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 0.5px solid var(--m-color-line);
  background: #fff;
  background: var(--m-color-surface, #fff);
  color: #6b7280;
  color: var(--m-color-text-secondary, #6b7280);
  box-shadow: 0 3px 12px rgba(30, 16, 80, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}
.m-chat__jumpbottom-badge {
  position: absolute;
  top: -7px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: #ff3b30;
  color: #fff;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  box-sizing: border-box;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.m-chat__back,
.m-chat__nav-right {
  width: 44px;
  height: var(--m-navbar-h);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  color: var(--m-color-text);
}
.m-chat__title {
  flex: 1 1;
  min-width: 0;
  height: var(--m-navbar-h);
  line-height: var(--m-navbar-h);
  text-align: center;
  font-size: var(--m-font-title);
  font-weight: 600;
  color: var(--m-color-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Keep long chat titles inside the center slot instead of centering clipped text. */
.m-chat__title > .m-connstat {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.m-chat__body {
  flex: 1 1;
  min-height: 0;
  position: relative;
  z-index: 0;
  overflow: hidden; /* Virtuoso owns vertical scrolling; clip message hit targets to the message viewport. */
  /* 聊天背景由 MobileChatPage chatBgStyle() 内联应用到「真聊天」body(getChatBgCSS:本会话覆盖→全局默认),
     不要在这里用全局 var --m-chat-bg —— m-chat__body 被所有子页(设置/搜索/选人/发现)复用,会整片串色。 */
}
.m-msglist {
  padding: 18px 8px 24px;
}
.m-msg {
  padding: 0 0 20px;
  box-sizing: border-box;
  max-width: 100%;
  /* 虚拟化已交给 react-virtuoso(只挂载可见项)→ 去掉 content-visibility:auto,
     否则 contain-intrinsic-size 会干扰 virtuoso 的行高测量(气泡高度算错、滚动跳)。 */
}
/* 气泡贴近屏幕边缘(对齐原生:base 的 send margin-right:5 + box margin-right:10 + recv margin-left:15
   叠加后离边太远)。发出气泡:去掉 send 容器/box 的右外边距,只留 .m-msg 的 8px padding;
   收到气泡:去掉 recv 容器左外边距(群聊头像位由 bubble-box.recv margin-left 单独保留,不受影响)。 */
.m-chat__body .m-msg--send .wk-message-base-send {
  margin-right: 0 !important;
}
.m-chat__body .m-msg--send .wk-message-base-send .wk-message-base-box {
  margin-right: 0 !important;
}
.m-chat__body .wk-message-base-recv {
  margin-left: 0 !important;
}
/* 横向适配:气泡内媒体(图/视频/贴图)不超视口宽、长串强制换行 → 杜绝横向溢出 */
.m-chat__body .wk-message-base-bubble img,
.m-chat__body .wk-message-base-bubble video,
.m-chat__body .wk-message-base-bubble canvas {
  max-width: 62vw !important;
}
/* SDK 外层已按消息元数据预留稳定尺寸，内部图片必须严格服从槽位。
   竖图若按自身高度溢出，会让 Virtuoso 的行高与实际绘制不一致。 */
.m-chat__body .wk-message-image {
  max-width: 62vw !important;
  max-height: 220px !important;
  overflow: hidden !important;
}
.m-chat__body .wk-message-image > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
}
.m-chat__body .wk-message-image-placeholder {
  width: 100%;
  height: 100%;
  border-radius: 7px;
  background: #d8d8d8;
}
/* 微信式气泡尾注：时间弱化，已读/送达图标略小并下沉，避免抢正文视觉。 */
.m-chat__body .messageMeta,
.m-chat__body .wk-message-base-bubble-box.send .messageMeta {
  top: 4px;
  height: 14px;
  line-height: 14px;
}
.m-chat__body .messageTime {
  font-size: 10px;
  line-height: 14px;
}
.m-chat__body .messageStatus {
  width: 14px;
  height: 14px;
  font-size: 14px;
  transform: none;
  vertical-align: bottom;
}
.m-chat__body .messageStatus:has(.messagePendingIcon) {
  width: 19px;
  height: 19px;
  overflow: visible;
}
.m-chat__body .icon-message-read::before,
.m-chat__body .icon-message-succeeded::before,
.m-chat__body .icon-message-pending::before {
  bottom: -2px;
}
/* 微信式消息缩略图：视频不能沿用桌面端 380px 容器，否则在 375px
   手机上单条消息几乎占满整屏。容器和真实封面同步收敛，避免只缩图片、
   外层仍保留巨大行高；已知宽高继续按原始比例展示。 */
.m-chat__body .wk-message-video {
  max-width: min(48vw, 180px);
}
.m-chat__body .wk-message-video-content {
  position: relative;
}
.m-chat__body .wk-message-video-content-time {
  width: -webkit-max-content;
  width: max-content;
  min-width: 42px;
  white-space: nowrap;
  justify-content: center;
  box-sizing: border-box;
}
.m-chat__body .wk-message-video-content-video > div,
.m-chat__body .wk-message-video-content-video img,
.m-chat__body .wk-message-video-content-video video {
  max-width: 100% !important;
  max-height: 220px !important;
  object-fit: cover;
}
.m-video-card {
  position: relative;
  display: block;
  flex: none;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background-color: #1f1f1f;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  contain: layout paint;
  appearance: none;
  -webkit-appearance: none;
}

.m-video-card__cover {
  position: absolute;
  inset: 0;
}

.m-video-card__play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 32px;
  height: 32px;
  transform: translate(-50%, -50%);
  border-radius: 0;
  background: transparent;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .55));
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.m-video-card__duration {
  position: absolute;
  right: 7px;
  bottom: 6px;
  padding: 0;
  border-radius: 0;
  color: #fff;
  background: transparent;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .55);
  font-size: 11px;
  line-height: 16px;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

.m-chat__body .wk-message-base-bubble {
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* 文件名至少保留两行。单行省略会把扩展名一起吃掉，接收方无法确认
   文件类型；两行仍保持微信式紧凑卡片，不让超长名称横向撑页。 */
.m-chat__body .wk-message-base-bubble-box.fileBox .fileContent .name {
  white-space: normal !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  overflow-wrap: anywhere;
}
/* 长按消息走我们自己的底部动作表 → 禁用浏览器原生文本选择 + iOS 长按 callout(复制/全选 那条横向系统条),
   避免和长按菜单冲突。只作用于消息气泡,输入框/可编辑区不受影响。 */
.m-chat__body .wk-message-base-bubble,
.m-chat__body .wk-message-base-content,
.m-chat__body .wk-message-base-bubble * {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.m-msg-time {
  text-align: center;
  color: var(--m-color-text-secondary);
  font-size: 12px;
  padding: 10px 0;
}

/* 全消息设计稿：普通系统/群治理消息居中、小号、浅灰标签；
   可操作审批/账单仍由各自的 notice-card 样式承载。 */
.m-msg--sys {
  display: flex;
  justify-content: center;
  padding: 8px 24px;
}
.m-msg--sys .wk-message-system,
.m-msg--sys [data-system-msg-type] {
  display: inline-block;
  max-width: 100%;
  padding: 3px 7px;
  border-radius: 4px;
  background: #d5d5d5;
  color: #8a8a8a;
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
  word-break: break-word;
}

body[theme-mode="dark"] .m-msg--sys .wk-message-system,
body[theme-mode="dark"] .m-msg--sys [data-system-msg-type] {
  background: #333;
  color: #999;
}
.m-msg--sys [data-system-msg-type] * {
  color: inherit !important;
  font-weight: 400 !important;
  background: none !important;
}

/* 自己发的「文字」气泡:微信式浅绿色 + 深色字(.m-chat 作用域覆盖 base 气泡;
   只命中 send 文本,媒体/文件/图片气泡不动)*/
.m-msg--send.m-msg--text .wk-message-base-bubble-box.send {
  box-shadow: none;
}
/* 内层气泡(base 默认 background-color:var(--wk-color-theme) 租户色)→ 覆盖成微信式浅绿 */
.m-msg--send.m-msg--text .wk-message-base-bubble-box.send .wk-message-base-bubble {
  background: #95ec69 !important;
  background-color: #95ec69 !important;
}
.m-msg--send.m-msg--text .wk-message-base-bubble-box.send,
.m-msg--send.m-msg--text .wk-message-base-bubble-box.send * {
  color: #111 !important;
}
.m-msg--send.m-msg--text .wk-message-text-richmention {
  color: #576b95 !important;
}
.m-msg--send.m-msg--text .wk-message-text-reply-author {
  color: #347b22 !important;
}
.m-msg--send.m-msg--text .wk-message-text-reply-content {
  color: #42513d !important;
}
/* ── 气泡尾巴(移动微信式)──
   base 自带的 SVG 尾巴(.svgAppendix)有两个问题:① 只在分组 last/single 显示(连续同人
   消息只有最后一条有尾巴);② 锚在 bubble-box 右沿、与气泡有缝。移动端隐藏它,改用伪元素
   三角:每条文本气泡都画、与气泡重叠 2px 无缝、send 绿 / recv 白。*/
.m-chat__body .svgAppendix {
  display: none !important;
}

/* 自己（send 文本）：按固定全消息设计使用 7px 浅绿气泡和右侧中部尾巴。 */
.m-msg--send.m-msg--text .wk-message-base-bubble {
  border-radius: var(--qq-radius-bubble) !important;
  overflow: visible !important;
}
.m-msg--send.m-msg--text .wk-message-base-bubble::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 13px;
  margin-left: -1px;
  width: 6px;
  height: 10px;
  background: #95ec69;
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
          clip-path: polygon(0 0, 0 100%, 100% 50%);
}
/* 杜绝发出气泡左下角残留白:base 的 bubble-box / send 容器有默认白底,会从气泡圆角处透出来;
   appendix / checkBox 再彻底清一次(防漏)。 */
.m-chat__body .wk-message-base-bubble-box,
.m-chat__body .wk-message-base-bubble-box.send,
.m-chat__body .wk-message-base-send,
.m-chat__body .wk-message-base-box {
  background: transparent !important;
}

/* 媒体消息(图片/视频/gif/贴图/名片 —— 都走 base hiddeBubble,无气泡底)按「发/收」左右对齐
   (仿微信/安卓:我发的靠右、对方发的靠左,一眼区分发送者)。
   ⚠️ 实测教训(真机量过每层宽度):把 .m-msg 设成 flex 会让它自己 shrink-wrap 成内容宽(296px)、
   整块贴左,justify-end 只在那 296px 内部生效 → 没用。所以**不动 .m-msg 的 display**(保持块级满宽),
   改用「块级 margin:auto」对齐:把 .wk-message-base 收成内容宽(fit-content),send → margin-left:auto
   推到右,recv → margin-right:auto 推到左;子树其余层 width:auto 收窄,消除 base `content{width:100%}`。
   方向由 bubble-box 自带的 .hide.send / .hide.recv 决定(cell 自身布局类,绝对可靠;不依赖 .m-msg--send)。
   注:目标 webview(iOS Safari 15.4+)支持 :has,base 自身也已用 :has。 */
/* 复用 base 文字气泡同款机制:发送容器 .wk-message-base-send 是满宽的 flex 列、align-items:flex-end,
   文字气泡靠它右对齐(真机实测文字确实右对齐 → 机制好使)。媒体之所以贴左,只是因为 base
   `.wk-message-base-content{width:100%}` 把媒体撑满整列、align-items 没有空间可推。
   所以只需把媒体内层(box/bubble-box/bubble/content)收成图片本身宽,base 自己的 align-items:flex-end
   就会把它推到右——**完全不碰 .m-msg / .wk-message-base / 发送容器的宽度**,不破坏它们本就好的满宽布局。
   send 复用 base align-items:flex-end(再 !important 加固);recv 用 flex-start 留在左。 */
.m-chat__body .m-msg:has(.wk-message-base-bubble-box.hide.send) .wk-message-base-send {
  align-items: flex-end !important;
}
.m-chat__body .m-msg:has(.wk-message-base-bubble-box.hide.recv) .wk-message-base-recv {
  align-items: flex-start !important;
}
.m-chat__body .m-msg:has(.wk-message-base-bubble-box.hide) .wk-message-base-box,
.m-chat__body .m-msg:has(.wk-message-base-bubble-box.hide) .wk-message-base-bubble-box,
.m-chat__body .m-msg:has(.wk-message-base-bubble-box.hide) .wk-message-base-bubble,
.m-chat__body .m-msg:has(.wk-message-base-bubble-box.hide) .wk-message-base-content {
  width: auto !important;
  max-width: 100% !important;
  flex: 0 1 auto !important;
}
/* 媒体收窄到 ≤62vw(对齐微信图片尺寸):base imageScale 给媒体包裹 div 设的是「绝对 250px」内联宽,
   窄屏(如 DevTools 挤到 300)下 250/300≈83% 几乎占满,右对齐挪不动、肉眼看不出发/收差别。
   这里用 max-width(压过内联 width)把媒体包裹层收到 ≤62vw,height:auto 保比例 → 始终留出右侧空白,
   配合上面的 align-items:flex-end,发→明显靠右、收→明显靠左,一眼可辨。 */
.m-chat__body .m-msg:has(.wk-message-base-bubble-box.hide) .wk-message-base-content > * {
  max-width: 62vw !important;
}

/* 移动群消息头像与会话 Cell 共用 46px 视觉基线；同步补偿昵称、气泡起点和最大宽度。 */
.m-chat__body:not(.m-chat__body--single) .senderAvatar {
  width: 46px;
  height: 46px;
  bottom: 3px;
}
.m-chat__body:not(.m-chat__body--single) .senderAvatar img,
.m-chat__body:not(.m-chat__body--single) .senderAvatar .wk-avatar-wrapper {
  width: 46px;
  height: 46px;
}
.m-chat__body:not(.m-chat__body--single) .wk-message-base-bubble-box.recv {
  margin-left: 52px;
}
.m-chat__body:not(.m-chat__body--single) .wk-message-base-recv .senderName {
  padding-left: 53px;
}
.m-chat__body:not(.m-chat__body--single) .wk-message-base-bubble-box.recv .wk-message-base-bubble {
  max-width: calc(100vw - 104px);
}

/* 全消息设计稿：单聊方向头像 34px，与气泡保留 8px 间距。 */
.m-chat__body--single .senderAvatar {
  display: block !important;
  width: 34px;
  height: 34px;
  bottom: auto;
}
.m-chat__body--single .senderAvatar img,
.m-chat__body--single .senderAvatar .wk-avatar-wrapper {
  width: 34px;
  height: 34px;
}
.m-chat__body--single .wk-message-base-bubble-box.recv {
  margin-left: 42px !important;
}

/* 对方(recv 文本):7px 白色气泡和左侧中部尾巴。 */
.m-msg--text:not(.m-msg--send) .wk-message-base-bubble {
  border-radius: var(--qq-radius-bubble) !important;
  overflow: visible !important;
}
.m-msg--text:not(.m-msg--send) .wk-message-base-bubble::after {
  content: "";
  position: absolute;
  right: 100%;
  top: 13px;
  margin-right: -1px;
  width: 6px;
  height: 10px;
  background: #fff; /* recv 白气泡 */
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 50%);
          clip-path: polygon(100% 0, 100% 100%, 0 50%);
}

/* 语音发送态与文字使用同一浅绿气泡。 */
.m-chat__body .m-msg--send .wk-message-base-bubble-box.send .wk-message-base-bubble:has(.wk-message-voice) {
  background: #95ec69 !important;
}
.m-chat__body .m-msg--send .wk-message-voice,
.m-chat__body .m-msg--send .wk-message-voice * {
  color: #111 !important;
  fill: #111 !important;
}
.m-chat__body .m-msg--send .wk-message-voice .voicePlay i,
.m-chat__body .m-msg--send .wk-message-voice .voicePlay {
  color: #111 !important;
}
/* 全消息设计稿的语音气泡保留 138px 最小宽度，长语音仍可按内容继续伸展。 */
.m-chat__body .wk-message-voice {
  min-width: 138px;
}
/* 全消息设计稿：语音使用 22px 音频线图标。 */
.m-chat__body .wk-message-voice .voicePlay {
  width: 22px;
  height: 22px;
  flex-basis: 22px;
}
.m-chat__body .wk-message-voice .voicePlay .icon-play::before,
.m-chat__body .wk-message-voice .voicePlay .icon-pause::before {
  font-size: 16px;
}
.m-chat__body .wk-message-voice-info {
  margin-left: 0;
}

/* 消息表情回应:干净圆角小药丸(参考微信/Telegram),替换原白方块 */
.m-chat__body .wk-reaction-bar {
  margin-top: 3px;
  gap: 4px;
}
/* 发出的消息:表情回应放到气泡「左侧」(气泡仍贴右沿),与收到消息(气泡左、表情右)左右对称。
   做法:发出气泡的 bubble-box 用 row-reverse,把排在气泡之后的 ReactionBar 翻到气泡前面。
   无表情的气泡是单子项,反转无视觉影响。 */
.m-chat__body .m-msg--send .wk-message-base-bubble-box.send {
  flex-direction: row-reverse;
  align-items: flex-end; /* 表情条贴气泡底部,消除徽章下方留白(否则 bubble-box stretch 把表情条拉满高、徽章浮在中间) */
}
.m-chat__body .wk-reaction-bar-badge {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px 7px;
  border-radius: 12px;
  background: #fff;
  background: var(--m-color-surface, #fff);
  border: 1px solid var(--m-color-line);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .067);
  font-size: 11px;
  line-height: 1.2;
}
.wk-no-flex-gap .m-chat__body .wk-reaction-bar-badge > *:not(:last-child) {
  margin-right: 2px;
}
.m-chat__body .wk-reaction-bar-badge-self {
  background: #fff;
  background: var(--m-color-surface, #fff);
  border-color: var(--m-color-line);
}
.m-chat__body .wk-reaction-bar-badge-emoji {
  font-size: 13px;
}
.m-chat__body .wk-reaction-bar-badge-count {
  color: var(--m-color-text-secondary);
  font-size: 11px;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
/* 全消息设计稿不按收发方或是否本人回应改变徽章底色。 */
.m-chat__body .m-msg--send .wk-reaction-bar-badge {
  background: #fff;
  background: var(--m-color-surface, #fff);
  border-color: var(--m-color-line);
}
.m-chat__body .m-msg--send .wk-reaction-bar-badge-count {
  color: var(--m-color-text-secondary) !important;
}

/* 复用的消息 cell 每条都渲染 .wk-message-base-checkBox(多选用)。桌面靠绝对定位+0宽容器藏侧边,
   移动端没那套布局会漏成气泡左下角一个空白圈(`.wk-check`)。→ 平时**彻底**隐藏(不依赖 base 内部
   `.wk-message-base-check-open` 类,那个在移动端不一定挂得上),只在多选态 .m-chat__body.is-selecting 显示。*/
.m-chat__body .wk-message-base-checkBox {
  display: none !important;
}
.m-chat__body.is-selecting .wk-message-base-checkBox {
  display: flex !important;
}
/* 多选态布局修正:base 的勾选框是桌面那套(translate3d 滑入 + .wk-check 绝对 bottom + send/recv 仍 width:100%),
   移动端直接显示会:① 勾选框错位/不居中 ② 发送(紫)气泡被多出来的勾选列挤出右边被裁。
   这里重排成「左侧固定 34px 勾选列(垂直居中)+ 消息占剩余宽」。 */
.m-chat__body.is-selecting .wk-message-base {
  align-items: center; /* 勾选框与气泡垂直居中 */
}
.m-chat__body.is-selecting .wk-message-base-checkBox {
  transform: none !important; /* 去掉桌面 translate3d(-10px) */
  flex: 0 0 34px;
  width: 34px;
  align-self: center;
  margin: 0 !important;
}
.m-chat__body.is-selecting .wk-message-base-checkBox .wk-check {
  position: static !important; /* 去掉 absolute bottom:10px,让圆圈在列内居中 */
  bottom: auto !important;
}
.m-chat__body.is-selecting .wk-message-base-send,
.m-chat__body.is-selecting .wk-message-base-recv {
  width: auto !important; /* 不再 100%:占勾选列之外的剩余宽,发送气泡不被挤出右边 */
  flex: 1 1 auto !important;
  min-width: 0;
  transform: none !important; /* 去掉 check-open 的 translate3d(30px) 残留 */
}
.m-chat__body--single.is-selecting .wk-message-base-picked { background: #dedede; }
.m-chat__body--single.is-selecting .wk-message-base-checkBox .wk-check { width: 18px; height: 18px; }
.m-chat__body.is-selecting .wk-message-base-recv {
  margin-left: 4px !important; /* 勾选列已提供间距,缩小原 15px 缩进 */
}

/* 引用条(回复某条消息时显示在输入条上方)*/
.m-reply-bar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--m-color-bg);
  border-top: 0.5px solid var(--m-color-line);
  font-size: var(--m-font-sm);
  color: var(--m-color-text-secondary);
}
.wk-no-flex-gap .m-reply-bar > *:not(:last-child) {
  margin-right: 8px;
}
.m-reply-bar__text {
  flex: 1 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.m-reply-bar__name {
  color: var(--m-color-text);
}
.m-reply-bar__close {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border: none;
  background: none;
  color: var(--m-color-text-secondary);
  font-size: 20px;
  line-height: 1;
}

/* 多选底部操作条(取代输入条)*/
.m-select-bar {
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-around;
  min-height: 104px;
  padding: 28px 10px calc(10px + var(--safe-bottom));
  background: var(--m-color-surface);
  border-top: 0.5px solid var(--m-color-line);
}
.m-select-bar__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 50px;
  min-height: 56px;
  padding: 0 4px;
  border: none;
  background: none;
  color: var(--m-color-text);
  font-size: 12px;
}
.wk-no-flex-gap .m-select-bar__btn > *:not(:last-child) {
  margin-bottom: 7px;
}
.m-select-bar__btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.m-select-bar__btn:disabled { opacity: .4; }
.m-select-bar__del {
  color: #fa5151;
}
.m-select-bar__del:disabled {
  opacity: 0.4;
}
.m-select-bar__count {
  position: absolute;
  top: 8px;
  left: 16px;
  color: #999;
  font-size: 11px;
}
.m-select-bar__toggle {
  position: absolute;
  top: 4px;
  right: 14px;
  min-width: 44px;
  min-height: 22px;
  padding: 0;
  color: #576b95;
  font-size: 12px;
  text-align: right;
  background: none;
  border: 0;
}
.m-select-bar__actions {
  display: flex;
  width: 100%;
  justify-content: space-around;
  gap: 4px;
}
.wk-no-flex-gap .m-select-bar__actions > *:not(:last-child) {
  margin-right: 4px;
}

/* 移动输入条(含 home 条安全区)*/
.m-chat__input {
  flex-shrink: 0;
  position: relative;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 0;
  min-height: 60px;
  box-sizing: border-box;
  padding: 8px 4px;
  padding-bottom: calc(8px + var(--safe-bottom));
  background: color-mix(in srgb, var(--m-color-surface) 55%, var(--m-color-bg));
  border-top: 0.5px solid var(--m-color-line);
}
/* 面板(表情/+)展开时:输入条去掉底部安全区 padding——否则那段 padding 夹在输入条与面板之间,
   看着像输入条下面一大块空白(真机实测 iOS 安全区 ~42px)。底部安全区改由下方面板承担。 */
.m-chat--panel .m-chat__input {
  padding-bottom: 8px;
}
/* 面板展开时隐藏「回到底部」浮钮——否则它绝对定位在 bottom:80px 处会浮在面板上(应只属于聊天内容区) */
.m-chat--panel .m-chat__jumpbottom {
  display: none;
}
/* 跳转定位高亮:搜索/引用点进后,目标气泡短暂高亮一下再消退(对齐原生 locate 闪烁) */
.m-msg--highlight {
  animation: m-msg-hl 1.8s ease-out;
  border-radius: 10px;
}
@keyframes m-msg-hl {
  0%,
  35% {
    background: rgba(7, 193, 96, 0.14);
  }
  100% {
    background: transparent;
  }
}

/* 禁言横幅:全员禁言/个人禁言时替换整条输入条(对齐原生灰条不可输入) */
.m-chat__forbidden {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 48px;
  padding: 12px;
  padding-bottom: calc(12px + var(--safe-bottom));
  background: var(--m-color-surface-2);
  border-top: 0.5px solid var(--m-color-line);
  color: var(--m-color-text-tertiary);
  font-size: 13.5px;
}
.wk-no-flex-gap .m-chat__forbidden > *:not(:last-child) {
  margin-right: 6px;
}
.m-chat__field {
  flex: 1 1;
  min-width: 0; /* 输入元素默认 min-width:auto 会把右侧 + 挤出屏外，必须允许收缩 */
  height: 38px;
  min-height: 38px;
  /* REQ-CHAT-INPUT-AUTOGROW: 5 visible lines (5 * 20 + 2 * 9).
     A bounded design choice pending Android/iOS candidate acceptance. */
  max-height: 118px;
  box-sizing: border-box;
  resize: none;
  overflow-y: hidden;
  border: 1px solid var(--m-color-line);
  border-radius: 19px;
  background: var(--m-color-surface-2);
  padding: 9px 15px;
  font-size: 14px;
  line-height: 20px;
  font-family: inherit;
  color: var(--m-color-text);
  outline: none;
}
.m-chat__field:focus {
  border-color: var(--m-color-primary);
  background: var(--m-color-surface);
}
/* 语音/表情/更多：视觉图标放大，三个命中区统一扩大但不挤压输入框。 */
.m-chat__voice,
.m-chat__emoji,
.m-chat__more {
  flex-shrink: 0;
  width: 40px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  color: var(--m-color-text);
}
/* 「按住 说话」条(替换输入框)*/
.m-chat__holdtalk {
  flex: 1 1;
  min-width: 0;
  height: 38px;
  border: 1px solid var(--m-color-line);
  border-radius: 19px;
  background: var(--m-color-surface-2);
  font-size: 14px;
  font-weight: 500;
  color: var(--m-color-text);
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}
.m-chat__holdtalk:active,
.m-chat__holdtalk.is-recording {
  background: var(--m-color-line);
}
.m-chat__holdtalk.is-cancel {
  color: var(--m-color-danger);
}

/* 录音浮层(微信式:中央卡片 + 上滑取消) */
.m-voicerec {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.m-voicerec__card {
  min-width: 150px;
  padding: 22px 26px 16px;
  border-radius: var(--wk-ui-radius-card);
  background: rgba(17, 17, 17, 0.88);
  box-shadow: var(--wk-ui-shadow-card);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.wk-no-flex-gap .m-voicerec__card > *:not(:last-child) {
  margin-bottom: 14px;
}
.m-voicerec.is-cancel .m-voicerec__card {
  background: rgba(250, 81, 81, 0.92);
}
.m-voicerec__wave {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 30px;
}
.wk-no-flex-gap .m-voicerec__wave > *:not(:last-child) {
  margin-right: 4px;
}
.m-voicerec__wave span {
  width: 4px;
  border-radius: 2px;
  background: #fff;
  animation: m-voicerec-bar 0.9s ease-in-out infinite;
}
.m-voicerec__wave span:nth-child(1) { height: 10px; animation-delay: 0s; }
.m-voicerec__wave span:nth-child(2) { height: 20px; animation-delay: 0.1s; }
.m-voicerec__wave span:nth-child(3) { height: 28px; animation-delay: 0.2s; }
.m-voicerec__wave span:nth-child(4) { height: 16px; animation-delay: 0.3s; }
.m-voicerec__wave span:nth-child(5) { height: 26px; animation-delay: 0.4s; }
.m-voicerec__wave span:nth-child(6) { height: 18px; animation-delay: 0.5s; }
.m-voicerec__wave span:nth-child(7) { height: 12px; animation-delay: 0.6s; }
.m-voicerec.is-cancel .m-voicerec__wave {
  visibility: hidden;
}
@keyframes m-voicerec-bar {
  0%, 100% { transform: scaleY(0.5); opacity: 0.7; }
  50% { transform: scaleY(1); opacity: 1; }
}
.m-voicerec__hint {
  font-size: var(--wk-ui-font-overlay-caption);
  color: #fff;
  opacity: 0.92;
}
.m-chat__send {
  flex-shrink: 0;
  min-height: 36px;
  height: 36px;
  padding: 0 10px;
  border: none;
  border-radius: 6px;
  background: #07c160;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  box-shadow: none;
}
.m-chat__send:disabled {
  opacity: 0.4;
}
.m-emoji-panel {
  flex-shrink: 0;
  height: 220px;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  padding: 8px;
  padding-bottom: calc(8px + var(--safe-bottom));
  background: var(--m-color-surface);
  border-top: 0.5px solid var(--m-color-line);
}
.m-emoji {
  width: 12.5%;
  height: 44px;
  border: none;
  background: none;
  font-size: 24px;
}

/* 媒体面板(相册 / 拍摄,后续可扩展文件/视频)*/
.m-more-panel {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  row-gap: 8px;
  padding: 16px 8px;
  padding-bottom: calc(16px + var(--safe-bottom));
  background: var(--m-color-surface);
  border-top: 0.5px solid var(--m-color-line);
}

/* 唯一的换行 flex gap:旧 WebView 的通用 sibling 后备无法判断换行点,按每行 4 项补齐。 */
.wk-no-flex-gap .m-more-panel > :nth-child(n + 5) {
  margin-top: 8px;
}
.m-more-item {
  width: 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  border: none;
  background: none;
  color: var(--m-color-text-secondary);
}
.wk-no-flex-gap .m-more-item > *:not(:last-child) {
  margin-bottom: 6px;
}
.m-more-item__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--m-color-bg);
  color: var(--m-color-text);
}
.m-more-item__label {
  font-size: 12px;
}

/* 图片发送前确认预览(全屏黑底)*/
.m-img-preview {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  flex-direction: column;
  background: #000;
}
.m-img-preview__body {
  flex: 1 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(12px + var(--safe-top)) 12px 12px;
}
.m-img-preview__img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.m-img-preview__bar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  padding-bottom: calc(12px + var(--safe-bottom));
  background: rgba(0, 0, 0, 0.85);
}
.m-img-preview__cancel {
  height: 38px;
  padding: 0 18px;
  border: none;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: var(--m-font);
}
.m-img-preview__send {
  height: 38px;
  padding: 0 22px;
  border: none;
  border-radius: 6px;
  background: var(--m-color-primary);
  color: #fff;
  font-size: var(--m-font);
}

/* 媒体发送中遮罩(视频先上传后发,无消息占位)*/
.m-media-sending {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--wk-ui-mask);
}
.m-media-sending__box {
  padding: 16px 22px;
  border-radius: var(--wk-ui-radius-control);
  background: rgba(17, 17, 17, 0.88);
  color: #fff;
  font-size: var(--wk-ui-font-overlay-body);
  box-shadow: var(--wk-ui-shadow-card);
}

/* 个人名片消息：保持“全部消息 · 类型与状态”页的 App 220px / 7px 卡片；窄屏时才响应式收缩。
   仅在 .m-chat__body 内补头像等移动端细节，不覆盖 base 的平台尺寸。 */
.m-chat__body .wk-message-card {
  width: min(220px, calc(100vw - 118px));
  max-width: 100%;
  min-width: 176px;
  border-radius: 7px;
  overflow: hidden;
}
.m-chat__body .wk-message-card-content {
  padding: 10px 12px;
}
.m-chat__body .wk-message-card-content .wk-avatar,
.m-chat__body .wk-message-card-content .wk-avatar-wrapper {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important; /* Owner 现行规则：个人名片头像也为正圆形。 */
  flex-shrink: 0;
}
.m-chat__body .wk-message-card-content-name {
  margin-left: 10px;
  font-size: 15px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.m-chat__body .wk-message-card-bottom {
  border-top: 0.5px solid #ececec;
  border-top: 0.5px solid var(--m-color-line, #ececec);
  padding: 6px 12px;
}
.m-chat__body .wk-message-card-bottom-flag {
  font-size: 11px;
  color: #999;
}

/* 全消息设计稿的回复引用块：绿色竖线、3px 圆角、11px 两级文字。 */
.m-chat__body .wk-message-text-reply {
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 6px 8px;
  border-radius: 3px;
  border-left: 3px solid #4f9b36;
  background: rgba(0, 0, 0, 0.06);
  color: #42513d;
  font-size: 11px;
  line-height: 1.5;
  max-width: 100%;
  overflow: hidden;
}
.m-chat__body .wk-message-text-reply.wk-message-text-reply-recv {
  border-left-color: #4f9b36;
  background: rgba(0, 0, 0, 0.06);
  color: #42513d;
}
.m-chat__body .wk-message-text-reply-authoravatar {
  display: none;
}
.m-chat__body .wk-message-text-reply-author {
  margin: 0;
}
.m-chat__body .wk-message-text-reply-authorname {
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  color: #347b22;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.m-chat__body .wk-message-text-reply-recv .wk-message-text-reply-authorname {
  color: #347b22;
}
.m-chat__body .wk-message-text-reply-content {
  color: #42513d !important;
  font-size: 11px;
  line-height: 1.5;
  -webkit-line-clamp: 1;
}
.m-msg--pending-media{display:flex;justify-content:flex-end;padding-top:4px;padding-bottom:4px}.m-chat__pending-media-bubble{position:relative;width:128px;height:128px;border-radius:8px;background:#d8d8d8;box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden}.m-chat__pending-media-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(90,90,90,.38);font-size:42px}.m-chat__pending-media-ring{position:absolute;left:50%;top:50%;width:52px;height:52px;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center}.m-chat__pending-media-ring:before{content:"";position:absolute;inset:4px;border-radius:50%;background:rgba(45,45,45,.72)}.m-chat__pending-media-ring span{position:relative;color:#fff;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.m-chat__pending-media-bubble.is-failed{background:#eee}.m-chat__pending-media-failed{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.78);color:#fff;font-size:28px;cursor:pointer}.m-chat__pending-media-failed small{font-size:12px;margin-top:4px}
.m-chat__pending-voice{display:flex;align-items:center;gap:10px;min-width:216px;max-width:min(78vw,320px);min-height:68px;padding:10px 12px;border-radius:8px;background:#07c160;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.wk-no-flex-gap .m-chat__pending-voice > *:not(:last-child){
  margin-right: 10px}
.m-chat__pending-voice.is-failed{background:#eef0f2;color:#e64340}
.m-chat__pending-voice-action{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:#fff;color:#07c160;font-size:12px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.m-chat__pending-voice.is-failed .m-chat__pending-voice-action{color:#e64340;font-size:24px}
.m-chat__pending-voice-main{min-width:0;flex:1 1}
.m-chat__pending-voice-wave{height:22px;overflow:hidden;white-space:nowrap;letter-spacing:1px;font-size:16px;line-height:22px;opacity:.72}
.m-chat__pending-voice-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.wk-no-flex-gap .m-chat__pending-voice-meta > *:not(:last-child){
  margin-right: 12px}
.m-chat__pending-voice-meta span:last-child{font-size:11px;opacity:.78}

.m-chat__pending-media-failed small{max-width:112px;padding:0 6px;text-align:center;line-height:1.4;white-space:normal;overflow-wrap:anywhere}

.m-chat__pending-media-failed strong{font-size:12px;font-weight:500;line-height:24px;padding:0 12px;margin-top:8px;border:1px solid rgba(255,255,255,.8);border-radius:4px;white-space:nowrap}
.m-chat__pending-media-bubble.is-failed:focus-visible{outline:2px solid #1677ff;outline-offset:2px}

/* Single-chat pinned messages use the existing navigation stack and safe areas. */
.m-single-pinned-page .m-chat__body { background: #ededed; }
.m-single-pinned-page__count { padding: 9px 18px 5px; color: #777; font-size: 12px; }
.m-single-pinned-page .m-pinned-row { background: #fff; min-height: 56px; padding: 0 18px; }
.m-single-pinned-page .m-pinned-row__main {
  border: 0; background: none; color: #191919; font-size: 15px; text-align: left;
  white-space: normal; overflow-wrap: anywhere;
}
.m-single-pinned-page .m-pinned-row__unpin { color: #fa5151; font-size: 12px; }
.m-single-pinned-page__empty { padding: 44px 16px; color: #888; text-align: center; font-size: 13px; }

/* Group sender heading shares the bubble's horizontal gutter. */
.m-chat__body:not(.m-chat__body--single) .textTitle {
  max-width: calc(100vw - 52px);
  color: var(--m-color-text-secondary);
}

.m-scanner {
  position: absolute;
  inset: 0;
  background: #000;
  overflow: hidden;
}
.m-scanner__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-scanner__mask {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* 四周压暗,中间镂空靠 frame 的描边 */
  background: rgba(0, 0, 0, 0.35);
}
.m-scanner__frame {
  position: relative;
  width: 64vw;
  max-width: 280px;
  height: 64vw;
  max-height: 280px;
  border-radius: 12px;
  box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.45);
  overflow: hidden;
}
.m-scanner__corner {
  position: absolute;
  width: 22px;
  height: 22px;
  border: 3px solid #7d5cff;
  border: 3px solid var(--m-color-primary, #7d5cff);
}
.m-scanner__corner.tl { top: 0; left: 0; border-right: none; border-bottom: none; border-top-left-radius: 12px; }
.m-scanner__corner.tr { top: 0; right: 0; border-left: none; border-bottom: none; border-top-right-radius: 12px; }
.m-scanner__corner.bl { bottom: 0; left: 0; border-right: none; border-top: none; border-bottom-left-radius: 12px; }
.m-scanner__corner.br { bottom: 0; right: 0; border-left: none; border-top: none; border-bottom-right-radius: 12px; }
.m-scanner__line {
  position: absolute;
  left: 6%;
  right: 6%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #7d5cff, transparent);
  background: linear-gradient(90deg, transparent, var(--m-color-primary, #7d5cff), transparent);
  animation: m-scan-sweep 2.2s linear infinite;
}
@keyframes m-scan-sweep {
  0% { top: 6%; }
  50% { top: 92%; }
  100% { top: 6%; }
}
.m-scanner__hint {
  margin-top: 22px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 14px;
  text-align: center;
  padding: 0 30px;
  line-height: 1.5;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}
.m-scanner__nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: calc(48px + 0px);
  height: calc(48px + var(--safe-top, 0px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px;
  z-index: 2;
}
.m-scanner__back {
  border: none;
  background: none;
  display: flex;
  align-items: center;
  padding: 4px;
}
.m-scanner__title {
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
.m-scanner__album {
  position: absolute;
  bottom: calc(28px + 0px);
  bottom: calc(28px + var(--safe-bottom, 0px));
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  border: none;
  background: none;
  color: #fff;
  font-size: 13px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}
.wk-no-flex-gap .m-scanner__album > *:not(:last-child) {
  margin-bottom: 5px;
}
/* 多后置镜头机:手动切换镜头兜底(自动挑主摄不准时用)。放右下,与居中的「相册」错开。 */
.m-scanner__lens {
  position: absolute;
  bottom: calc(28px + 0px);
  bottom: calc(28px + var(--safe-bottom, 0px));
  right: 22px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  border: none;
  background: none;
  color: #fff;
  font-size: 13px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}
.wk-no-flex-gap .m-scanner__lens > *:not(:last-child) {
  margin-bottom: 5px;
}

/* 通讯录：头像 + A-Z 分组头 + 右侧品牌绿索引条。 */
.m-contacts {
  position: relative;
  background: var(--m-color-bg);
  min-height: 100%;
}
.m-contacts__entries {
  margin-bottom: 0;
  background: var(--m-color-surface);
}
/* 顶部入口图标：设计稿中的中性细线图标。 */
.m-contacts__eico {
  width: 22px;
  height: 22px;
  color: var(--m-color-text);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 新的朋友未读红点 */
.m-contactrow__badge {
  margin-left: auto;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  box-sizing: border-box;
  background: #ff3b30;
  background: var(--m-color-danger, #ff3b30);
  color: #fff;
  border-radius: 9px;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  font-weight: 600;
}
/* A-Z 分组头 */
.m-contacts__index {
  height: 25px;
  box-sizing: border-box;
  padding: 3px 16px;
  line-height: 19px;
  font-size: 12px;
  font-weight: 600;
  color: var(--m-color-text-secondary);
  background: var(--m-color-bg);
}
.m-contactrow {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 16px;
  min-height: 56px;
  position: relative;
  content-visibility: auto;
  contain-intrinsic-size: auto 56px;
}
.wk-no-flex-gap .m-contactrow > *:not(:last-child) {
  margin-right: 12px;
}
.m-contactrow:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 56px;
  right: 0;
  bottom: 0;
  height: 0.5px;
  background: var(--m-color-line);
}
.m-contactrow__avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.m-contactrow__avatar-fb {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
}
.m-contactrow__name {
  font-size: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--m-color-text);
}
/* 名字 + 在线/最后在线文字两行(对齐原生 FriendAdapter);无在线数据时只渲染名字 */
.m-contactrow__namebox {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1 1;
}
.m-contactrow__presence {
  margin-top: 2px;
  font-size: 11px;
  line-height: 15px;
  color: var(--m-color-text-tertiary);
}
.m-contactrow__presence.is-online {
  color: var(--m-color-primary);
}
/* 右侧 A-Z 品牌绿索引条（固定在视口右中，点击跳分组）。 */
.m-idxbar {
  position: fixed;
  right: 3px;
  top: 48%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  max-height: calc(100% - 180px);
  overflow-y: auto;
  z-index: 4;
}
.m-idxbar button {
  border: 0;
  background: transparent;
  width: 24px;
  min-height: 26px;
  padding: 0;
  font-size: 12px;
  line-height: 26px;
  color: var(--m-color-primary);
}

/* 通讯录搜索框 */
.m-contacts__search {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 7px 12px 12px;
  height: 36px;
  box-sizing: border-box;
  padding: 0 10px;
  border-radius: 6px;
  background: #fff;
  color: var(--m-color-text-tertiary);
}
.wk-no-flex-gap .m-contacts__search > *:not(:last-child) {
  margin-right: 8px;
}
.m-contacts__search input {
  flex: 1 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  font-size: 14px;
  color: var(--m-color-text);
}
.m-contacts__search-x {
  flex-shrink: 0;
  font-size: 12px;
  color: var(--m-color-text-tertiary);
  padding: 0 2px;
}
.m-contacts__filtered {
  background: var(--m-color-surface);
}

/* 头像在线点 + 账号角标 */
.m-contactrow__avwrap {
  position: relative;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
}
.m-contactrow__online {
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--m-color-primary);
  border: 2px solid var(--m-color-surface);
}
.m-contactrow__cat {
  flex-shrink: 0;
  margin-left: 8px;
  font-size: 11px;
  line-height: 16px;
  padding: 0 6px;
  border-radius: 4px;
  color: #fff;
}
.m-contactrow__cat--bot {
  background: #2dcb78;
}
.m-contactrow__cat--cs {
  background: #18c3a0;
}
.m-contactrow__cat--official {
  background: #f0a020;
}

/* 下拉刷新指示 */
.m-contacts__pull {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: 12.5px;
  color: var(--m-color-text-tertiary);
  transition: height 0.15s ease;
}

.m-contacts__entries .m-contactrow { padding: 12px 18px; }
.m-contacts__entries .m-contactrow::after { left: 54px; }
.m-contacts__entries .m-contactrow__name { flex: 1 1; }
.m-contacts__entry-chevron { width: 16px; height: 16px; flex-shrink: 0; color: #b5b5b5; }

/* 联系人行也被「我的群聊」子页复用，一级页的紧凑尺寸仅限定在通讯录内。 */
.m-contacts .m-contactrow { padding: 8px 32px 8px 16px; box-sizing: border-box; background: var(--m-color-surface); }
.m-contacts .m-contactrow::after { left: 64px; }
.m-contacts .m-contactrow__avatar, .m-contacts .m-contactrow__avwrap { width: 36px; height: 36px; }
.m-contacts .m-contacts__entries .m-contactrow { padding: 12px 18px; }
.m-contacts .m-contacts__entries .m-contactrow::after { left: 54px; }

.m-discover {
  padding-top: 8px;
  background:#ededed;
  min-height:100%;
}
.m-discover--single {
  height: 100%;
  min-height: 0;
  padding-top: 0;
  background: #fff;
}
.m-discover--single iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}
.m-discover__loading {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: var(--m-color-text-secondary);
  font-size: 13px;
}
.m-discover__group {
  margin-bottom: 12px;
  background: var(--m-color-surface);
}
.m-discover__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  box-sizing:border-box;
  padding: 12px 18px;
  font-size: 15px;
  color: var(--m-color-text);
}
.wk-no-flex-gap .m-discover__item > *:not(:last-child) {
  margin-right: 12px;
}
.m-discover__item + .m-discover__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 54px;
  right: 0;
  height: 1px;
  background: var(--m-color-line);
}
.m-discover__ic {
  width: 24px;
  height: 24px;
  border-radius: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 当前设计使用中性的线性功能图标。 */
.m-discover__ic--moments {
  background: transparent;
  color: var(--m-color-text);
}
.m-discover__ic--scan {
  background: transparent;
  color: var(--m-color-text);
}
.m-discover__label {
  flex: 1 1;
}
.m-discover__arrow {
  color: #b2b2b2;
  font-size: 18px;
}
@media (max-width: 400px) {
  .m-discover__item { padding: 12px 15px; }
}

.m-sheet-mask {
  position: fixed;
  inset: 0;
  height: 100dvh;
  height: var(--app-full-vh, 100dvh);
  background: var(--wk-ui-mask);
  z-index: 2600;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.m-sheet {
  width: 100%;
  max-height: 100dvh;
  max-height: var(--app-full-vh, 100dvh);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: 8px;
  padding-bottom: calc(8px + var(--safe-bottom));
  animation: m-sheet-up 0.2s ease;
  overflow: hidden;
  -webkit-text-size-adjust: 100%;
}
@keyframes m-sheet-up {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.m-sheet__group {
  flex: 0 0 auto;
  background: var(--m-color-surface);
  border-radius: var(--wk-ui-radius-card);
  overflow: hidden;
  margin-bottom: 8px;
}
/* 选项组(第一个 group)项目多时(如消息长按 9 项)会顶出屏幕 → 限高 + 内部滚动,
   保证「取消」(第二个 group)始终可见、整体不超出 iOS 小屏。少量项时高度不足上限,不出现滚动。 */
.m-sheet__group:first-of-type {
  flex: 0 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.m-sheet__item {
  width: 100%;
  height: 48px;
  min-height: var(--wk-ui-touch);
  border: none;
  background: none;
  font-size: var(--wk-ui-font-overlay-action);
  color: var(--m-color-text);
  border-bottom: 0.5px solid var(--m-color-line);
}
.m-sheet__item:last-child {
  border-bottom: none;
}
.m-sheet__item.is-danger {
  color: var(--m-color-danger);
}
.m-sheet-mask.is-message-menu {
  display: block;
  padding: 0;
  background: transparent;
}
.m-sheet.is-message-menu {
  position: fixed;
  left: 18px;
  left: var(--m-message-menu-left, 18px);
  top: 50%;
  top: var(--m-message-menu-top, 50%);
  width: calc(100% - 36px);
  width: var(--m-message-menu-width, calc(100% - 36px));
  padding: 0;
  overflow: visible;
  animation: m-message-menu-in 0.14s ease-out;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.24));
  transform-origin: 50% bottom;
  transform-origin: var(--m-message-menu-arrow-left, 50%) bottom;
}
.m-sheet.is-message-menu.is-above::after,
.m-sheet.is-message-menu.is-below::before {
  content: "";
  position: absolute;
  left: 50%;
  left: var(--m-message-menu-arrow-left, 50%);
  transform: translateX(-50%);
  border: 9px solid transparent;
}
.m-sheet.is-message-menu.is-above::after {
  bottom: -8px;
  border-top-color: #4c4c4c;
  border-bottom: 0;
}
.m-sheet.is-message-menu.is-below::before {
  top: -8px;
  border-bottom-color: #4c4c4c;
  border-top: 0;
}
.m-sheet.is-message-menu.is-below {
  transform-origin: 50% top;
  transform-origin: var(--m-message-menu-arrow-left, 50%) top;
}
.m-sheet.is-message-menu .m-sheet__group {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-columns: repeat(var(--m-message-menu-columns, 5), minmax(0, 1fr));
  margin: 0;
  padding: 10px 6px;
  border-radius: 10px;
  background: #4c4c4c;
  overflow: hidden;
}
.m-sheet.is-message-menu .m-sheet__item {
  height: 61px;
  padding: 7px 2px 5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}
.wk-no-flex-gap .m-sheet.is-message-menu .m-sheet__item > *:not(:last-child) {
  margin-bottom: 5px;
}
.m-sheet.is-message-menu .m-sheet__item.is-danger {
  color: rgba(255, 255, 255, 0.94);
}
.m-sheet.is-message-menu .m-sheet__item:active {
  background: rgba(255, 255, 255, 0.12);
}
@keyframes m-message-menu-in {
  from { opacity: 0; transform: scale(0.94); }
  to { opacity: 1; transform: scale(1); }
}
.m-sheet-mask.is-plus-menu { align-items:flex-start;justify-content:flex-end;padding:calc(var(--safe-top) + 50px) calc(var(--safe-right) + 10px) 0 10px;box-sizing:border-box;background:rgba(0,0,0,.08) }
.m-sheet.is-plus-menu { position:relative;width:166px;padding:4px 0;overflow:visible;animation:m-message-menu-in .14s ease-out;filter:drop-shadow(0 7px 18px rgba(0,0,0,.16)) }
.m-sheet.is-plus-menu::before { content:"";position:absolute;right:13px;top:-7px;border:8px solid transparent;border-bottom-color:#4c4c4c;border-top:0 }
.m-sheet.is-plus-menu .m-sheet__group { margin:0;border-radius:7px;background:#4c4c4c;overflow:hidden }
.m-sheet.is-plus-menu .m-sheet__item { height:49px;min-height:49px;padding:0 19px;display:flex;align-items:center;gap:14px;border-bottom-color:rgba(255,255,255,.12);color:#fff;font-size:var(--wk-ui-font-overlay-body);text-align:left }
.wk-no-flex-gap .m-sheet.is-plus-menu .m-sheet__item > *:not(:last-child) {
  margin-right: 14px }
.m-sheet.is-plus-menu .m-sheet__item svg { flex:0 0 22px;width:22px;height:22px;stroke-width:1.7 }
.m-sheet:not(.is-message-menu):not(.is-plus-menu) .m-sheet__item.has-icon { display:flex;align-items:center;justify-content:center;gap:9px;font-size:var(--wk-ui-font-overlay-body) }
.wk-no-flex-gap .m-sheet:not(.is-message-menu):not(.is-plus-menu) .m-sheet__item.has-icon > *:not(:last-child) {
  margin-right: 9px }

/* mobile.css — h5 移动端基础层:设计 token + reset + 安全区
 * 见 docs/native-redesign-plan.md §5.3。在移动入口最先引入。 */

:root {
  /* 安全区(刘海/状态栏/home 条);宿主沉浸式 webview 下生效,普通环境降级为 0 */
  --safe-top: var(--wk-ui-safe-top);
  --safe-bottom: var(--wk-ui-safe-bottom);
  --safe-left: var(--wk-ui-safe-left);
  --safe-right: var(--wk-ui-safe-right);

  /* 微信式视觉基线：功能强调使用克制绿色，页面主体保持中性灰白。 */
  --m-color-primary: var(--wk-ui-primary);
  --m-color-primary-press: var(--wk-ui-primary-press);
  --m-color-primary-soft: var(--wk-ui-primary-soft);
  --m-color-primary-grad: var(--wk-ui-primary);
  --m-color-primary-halo: none;
  --m-color-bg: var(--wk-ui-bg);
  --m-color-surface: var(--wk-ui-surface);
  --m-color-surface-2: var(--wk-ui-surface-subtle);
  --m-color-text: var(--wk-ui-text-1);
  --m-color-text-secondary: var(--wk-ui-text-2);
  --m-color-text-tertiary: var(--wk-ui-text-3);
  --m-color-line: var(--wk-ui-line);
  --m-color-danger: var(--wk-ui-danger);
  --m-color-teal: var(--wk-ui-success);          /* 在线 / 成功 */

  /* 结构尺寸(不含安全区,布局时再叠加 --safe-*)*/
  --m-navbar-h: 53px;               /* 顶部导航栏，移动端统一放大 20% */
  --m-tabbar-h: 60px;               /* 底部 tab 栏 */
  --m-touch: 53px;                  /* 最小命中区 */
  --m-radius: var(--wk-ui-radius-control);

  /* 间距 / 字阶 */
  --m-gap-xs: var(--wk-ui-space-1); --m-gap-sm: var(--wk-ui-space-2); --m-gap: var(--wk-ui-space-3); --m-gap-lg: var(--wk-ui-space-5);
  --m-font-sm: 16px; --m-font: 18px; --m-font-lg: 20px;
  --m-font-title: var(--wk-ui-font-nav-title);

  /* 转场曲线(贴 iOS push)*/
  --m-trans-push: 350ms cubic-bezier(0.32, 0.72, 0, 1);
}

body[theme-mode="dark"] {
  --m-color-primary: var(--wk-ui-primary);
  --m-color-primary-soft: var(--wk-ui-primary-soft);
  --m-color-primary-grad: var(--wk-ui-primary);
  --m-color-bg: var(--wk-ui-bg);
  --m-color-surface: var(--wk-ui-surface);
  --m-color-surface-2: var(--wk-ui-surface-subtle);
  --m-color-text: var(--wk-ui-text-1);
  --m-color-text-secondary: var(--wk-ui-text-2);
  --m-color-text-tertiary: var(--wk-ui-text-3);
  --m-color-line: var(--wk-ui-line);
  --m-color-teal: var(--wk-ui-success);
}

/* ── 移动 reset ── */
html, body, #root { height: 100%; }
/* 锁死文档滚动:键盘弹出时 iOS 默认会把整个 document 上滚(连导航栏一起顶走)。
   把 body 固定 + overflow:hidden,使页面永不整体滚动;只有内部 .m-scroll 容器滚动。
   配合 Layout 根 height:var(--app-vh) → 键盘弹出时内容区收缩、导航栏纹丝不动。 */
html { overflow: hidden; }
body {
  position: fixed;
  inset: 0;
  width: 100%;
  overflow: hidden;
  margin: 0;
  background: var(--wk-ui-bg);
  background: var(--m-color-bg);
  color: var(--wk-ui-text-1);
  color: var(--m-color-text);
  font-size: 18px;
  font-size: var(--m-font);
  -webkit-text-size-adjust: 120%;
  -webkit-tap-highlight-color: transparent;   /* 去掉点击灰块 */
  overscroll-behavior: none;                   /* 去掉橡皮筋露白 */
  touch-action: manipulation;                  /* 消除 300ms 双击延迟 */
  user-select: none;                           /* 原生感:默认不可选 */
  -webkit-user-select: none;
}

/* 输入与消息文本单独放开选择 */
input, textarea, [contenteditable], .m-selectable {
  user-select: text;
  -webkit-user-select: text;
}

/* 可滚动容器:惯性滚动 + 滚动不冒泡给父级 */
.m-scroll {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* 细滚动条 + 仅滚动时显示(默认透明,JS 给正在滚动的元素加 .wk-scrolling 才上色)。
   ⚠ 只用 ::-webkit-scrollbar:移动 webview / Chrome / WebKit 全支持。**不要**写 scrollbar-width/
   scrollbar-color——Chrome 121+ 一旦看到标准属性就**停用** ::-webkit-scrollbar,4px 失效退回默认粗细。*/
*::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
*::-webkit-scrollbar-track {
  background: transparent;
}
*::-webkit-scrollbar-thumb {
  background: transparent; /* 平时透明 = 不显示 */
  border-radius: 4px;
}
*::-webkit-scrollbar-corner {
  background: transparent;
}
/* 滚动中(JS 给滚动元素加 .wk-scrolling)才上色显示那条细灰 */
.wk-scrolling::-webkit-scrollbar-thumb {
  background: rgba(120, 120, 132, 0.5);
}

/* 点按反馈(替代桌面 hover)*/
.m-tap { transition: opacity 0.1s ease; }
.m-tap:active { opacity: 0.6; }

/* 安全区便捷类 */
.m-safe-top { padding-top: var(--wk-ui-safe-top); padding-top: var(--safe-top); }
.m-safe-bottom { padding-bottom: var(--wk-ui-safe-bottom); padding-bottom: var(--safe-bottom); }

/* ── Semi 通用提示弹框移动端适配 ───────────────────────────────
   showAlert / 默认 Semi Modal 在 PC 是 448px 固定宽 + margin:80px auto,
   在 ~300px 逻辑视口下会溢出屏幕(实测 width 448px、left -73px)。
   按既有 Semi 覆盖配方(钱包弹框踩过):用户 className 落「最外层容器」
   (.wk-base-modal-alert 即在此),其内是滚动/定位容器 .semi-modal-wrap,
   再内才是带 margin 的 .semi-modal。必须用「后代选择器」命中:
   wrap → flex 居中、modal → 收 margin + 限宽 84vw。
   仅作用于本基座「通用提示弹框」(.wk-base-modal-alert),不波及钱包
   (showGlobalModal 自带专属 className 覆盖)等其它弹框。 */
.wk-base-modal-alert .semi-modal-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.wk-base-modal-alert .semi-modal {
  margin: 0 auto;
  max-width: 84vw;
}
/* 兜底:任何未挂专属 className 的小尺寸默认弹框,至少限宽 + 横向重新居中
   (margin:80px auto 配 max-width:84vw 即把 left 负溢出拉回视口内)。 */
.semi-modal.semi-modal-small {
  max-width: 84vw;
}
.m-safe-x { padding-left: var(--wk-ui-safe-left); padding-left: var(--safe-left); padding-right: var(--wk-ui-safe-right); padding-right: var(--safe-right); }

.wk-startup-shell {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background:
    radial-gradient(circle at top, rgba(255, 196, 90, 0.34), transparent 42%),
    linear-gradient(180deg, #fff5df 0%, #fffaf2 48%, #ffffff 100%);
}

.wk-startup-shell__glow {
  position: absolute;
  width: min(72vw, 560px);
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 153, 68, 0.22) 0%, rgba(255, 153, 68, 0) 70%);
  filter: blur(12px);
}

.wk-startup-shell__brand {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.wk-no-flex-gap .wk-startup-shell__brand > *:not(:last-child) {
  margin-bottom: 18px;
}

.wk-startup-shell__logo {
  width: 84px;
  height: 84px;
  border-radius: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  font-weight: 700;
  color: #ffffff;
  background: linear-gradient(135deg, #2DCB78 0%, #07C160 100%);
  box-shadow: 0 20px 48px rgba(244, 92, 50, 0.28);
}

.wk-startup-shell__title {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #3a2a1f;
}

.wk-discover-page {
  width: 100%;
  height: 100%;
}

.wk-discover-page-content {
  height: calc(100% - 64px);
  padding: 18px;
  overflow: auto;
  background: #ededed;
  background: var(--wk-color-bg, #ededed);
}

.wk-discover-page-empty {
  background: #ffffff;
  border-radius: 12px;
  padding: 48px 24px;
}

.wk-discover-page-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wk-no-flex-gap .wk-discover-page-list > *:not(:last-child) {
  margin-bottom: 12px;
}

.wk-discover-page-frame {
  height: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-color-line, #e5e5e5);
  background: #ffffff;
}

.wk-discover-page-frame-header {
  min-height: 46px;
  border-bottom: 1px solid #e5e5e5;
  border-bottom: 1px solid var(--wk-color-line, #e5e5e5);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  color: #111111;
  color: var(--wk-color-text, #111111);
}

.wk-discover-page-frame iframe {
  width: 100%;
  height: calc(100% - 46px);
  border: none;
}

.wk-discover-page-card {
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-color-line, #e5e5e5);
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.wk-no-flex-gap .wk-discover-page-card > *:not(:last-child) {
  margin-right: 12px;
}

.wk-discover-page-card-main {
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 1 1;
}

.wk-discover-page-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
  margin-right: 12px;
  overflow: hidden;
}

/* 仅在没有 admin 图标时展示首字色块（与 admin discover-icon--fallback 同步） */
.wk-discover-page-icon--fallback {
  background: linear-gradient(135deg, #07C160, #2DCB78);
  color: #fff;
}

.wk-discover-page-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wk-discover-page-info {
  min-width: 0;
}

.wk-discover-page-title {
  font-size: 15px;
  color: #111111;
  color: var(--wk-color-text, #111111);
}

.wk-discover-page-url {
  margin-top: 4px;
  color: #7f7f7f;
  color: var(--wk-color-text-desc, #7f7f7f);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wk-discover-modal .semi-modal-content {
  padding: 0;
}

.wk-discover-modal-body {
  height: 75vh;
  display: flex;
  flex-direction: column;
}

.wk-discover-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0 14px;
  border-bottom: 1px solid #e5e5e5;
  border-bottom: 1px solid var(--wk-color-line, #e5e5e5);
  background: #ededed;
  background: var(--wk-color-bg, #ededed);
}

.wk-discover-modal-header span[data-testid="discover-frame-title"] {
  font-size: 15px;
  font-weight: 600;
  color: #111111;
  color: var(--wk-color-text, #111111);
  flex: 1 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-right: 12px;
}

.wk-discover-modal-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.wk-no-flex-gap .wk-discover-modal-actions > *:not(:last-child) {
  margin-right: 8px;
}

.wk-discover-modal-close {
  width: 32px;
  height: 32px;
  border-radius: 16px;
  border: none;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  color: #7f7f7f;
  color: var(--wk-color-text-desc, #7f7f7f);
  cursor: pointer;
}

.wk-discover-modal-close:hover {
  background: #e5e5e5;
  background: var(--wk-color-line, #e5e5e5);
}

.wk-discover-modal-body iframe {
  flex: 1 1;
  width: 100%;
  border: none;
}

.wk-feature-blocked-page {
  min-height: 100%;
  background: #ededed;
  background: var(--wk-ui-bg, #ededed);
}

.wk-feature-blocked-page-content {
  min-height: calc(100vh - 64px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.wk-feature-blocked-card {
  min-width: min(520px, 100%);
  padding: 28px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-ui-line, #e5e5e5);
  box-shadow: none;
}

.wk-feature-blocked-actions {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}

.wk-me-page {
  width: 100%;
  height: 100%;
}

.wk-me-page-content {
  height: calc(100% - 64px);
  overflow: auto;
  padding: 18px;
  background: #ededed;
  background: var(--wk-color-bg, #ededed);
}

.wk-me-profile-card {
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 12px;
  padding: 16px;
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-color-line, #e5e5e5);
}

.wk-me-profile-card img {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  margin-right: 14px;
  object-fit: cover;
}

.wk-me-profile-name {
  color: #111111;
  color: var(--wk-color-text, #111111);
  font-size: 16px;
  font-weight: 600;
}

.wk-me-profile-id {
  margin-top: 6px;
  color: #7f7f7f;
  color: var(--wk-color-text-desc, #7f7f7f);
  font-size: 12px;
}

.wk-me-menu-group {
  margin-top: 14px;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-color-line, #e5e5e5);
  overflow: hidden;
}

.wk-me-menu-item {
  width: 100%;
  min-height: 50px;
  border: none;
  background: #ffffff;
  text-align: left;
  font-size: 14px;
  color: #111111;
  color: var(--wk-color-text, #111111);
  padding: 0 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.wk-no-flex-gap .wk-me-menu-item > *:not(:last-child) {
  margin-right: 12px;
}

.wk-me-menu-item + .wk-me-menu-item {
  border-top: 1px solid #e5e5e5;
  border-top: 1px solid var(--wk-color-line, #e5e5e5);
}

.wk-me-menu-item-danger {
  margin-top: 14px;
  border-radius: 12px;
  border: 1px solid rgba(244, 63, 94, 0.2);
  color: #fa5151;
  text-align: center;
  justify-content: center;
}

.wk-me-menu-item-main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.wk-no-flex-gap .wk-me-menu-item-main > *:not(:last-child) {
  margin-right: 12px;
}

.wk-me-menu-item-right {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.wk-no-flex-gap .wk-me-menu-item-right > *:not(:last-child) {
  margin-right: 8px;
}

.wk-me-menu-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.wk-me-menu-icon-customer-service {
  background: linear-gradient(135deg, #30c2a2 0%, #18a886 100%);
}

.wk-me-menu-icon-wallet {
  background: linear-gradient(135deg, #f7b44c 0%, #ec7f2c 100%);
}

.wk-me-menu-icon-broadcast {
  background: linear-gradient(135deg, #ffb34f 0%, #f26f3d 100%);
}

.wk-me-menu-icon-favorite {
  background: linear-gradient(135deg, var(--wk-ui-primary) 0%, var(--wk-ui-primary-press) 100%);
}

.wk-me-menu-icon-notice {
  background: linear-gradient(135deg, #55a8ff 0%, #2d7ff0 100%);
  font-size: 13px;
}

.wk-me-menu-icon-security {
  background: linear-gradient(135deg, #ff8775 0%, #f05f52 100%);
  font-size: 12px;
}

.wk-me-menu-icon-general {
  background: linear-gradient(135deg, #39c7b4 0%, #269d91 100%);
  font-size: 13px;
}

.wk-me-menu-icon-profile,
.wk-me-menu-icon-qrcode,
.wk-me-menu-icon-sticker,
.wk-me-menu-icon-version,
.wk-me-menu-icon-about,
.wk-me-menu-icon-moments {
  background: linear-gradient(135deg, #aab4c3 0%, #7f8da2 100%);
  font-size: 12px;
}

.wk-me-menu-arrow {
  color: #7f7f7f;
  color: var(--wk-color-text-desc, #7f7f7f);
  font-size: 20px;
  line-height: 1;
}

.wk-me-menu-item-badge {
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  padding: 0 8px;
  background: #fa5151;
  background: var(--wk-ui-danger, #fa5151);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ============================================================
 * Modern IM overrides (2026-04-25 UX audit)
 * 个人中心：profile 卡片更饱满、菜单 hover 态、logout 降权重。
 * 保留 [data-testid="me-menu-*"] / .wk-me-menu-item-danger 不动。
 * ============================================================ */
.wk-me-page-content {
  padding: 20px 22px;
  max-width: 720px;
  margin: 0 auto;
}
.wk-me-profile-card {
  padding: 20px;
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  gap: 4px;
}
.wk-me-profile-card img {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  margin-right: 16px;
}
.wk-me-profile-name {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
}
.wk-me-profile-id {
  margin-top: 8px;
  font-size: 12px;
  display: inline-block;
  background: #f0f1f3;
  color: #667085;
  padding: 2px 10px;
  border-radius: 999px;
  align-self: flex-start;
}
body[theme-mode="dark"] .wk-me-profile-id {
  background: rgba(255, 255, 255, 0.08);
  color: #c4c7cc;
}
.wk-me-menu-item {
  transition: background-color 0.12s ease;
}
.wk-me-menu-item:hover:not(.wk-me-menu-item-danger) {
  background: #f5f6f7;
}
body[theme-mode="dark"] .wk-me-menu-item:hover:not(.wk-me-menu-item-danger) {
  background: rgba(255, 255, 255, 0.04);
}
/* 退出登录：从"红框全宽危险按钮"降为"普通行 + 红色文字"，降低误触 */
.wk-me-menu-item-danger {
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-color-line, #e5e5e5);
  background: #ffffff;
  color: #fa5151;
  font-weight: 500;
}
.wk-me-menu-item-danger:hover {
  background: rgba(209, 67, 67, 0.06);
}

/* ================================================================
 * Moments Page – Desktop-first redesign
 * Aesthetic: editorial / newspaper column meets desktop IM
 * Two-pane layout: fixed left rail + scrollable content column
 * ================================================================ */

/* ---------- CSS Variables ---------- */
.wk-moments-page {
  --m-bg:        #ededed;
  --m-surface:   #ffffff;
  --m-surface2:  #f7f7f7;
  --m-border:    #e5e5e5;
  --m-text:      #111111;
  --m-text-sub:  #7f7f7f;
  --m-text-link: #576b95;
  --m-accent:    var(--wk-color-theme, #07C160);
  --m-accent-lt: #e8f7ee;
  --m-accent2:   var(--wk-ui-primary, #07c160);
  --m-danger:    #fa5151;
  --m-shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --m-shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);
  --m-shadow-lg: 0 12px 32px rgba(0,0,0,.10), 0 4px 8px rgba(0,0,0,.06);
  --m-radius:    12px;
  --m-rail-w:    240px;
  --m-content-w: 680px;
}

body[theme-mode="dark"] .wk-moments-page {
  --m-bg:        #0d0f12;
  --m-surface:   #1a1d23;
  --m-surface2:  #22262e;
  --m-border:    #2e3340;
  --m-text:      #e8eaf0;
  --m-text-sub:  #8a92a3;
  --m-text-link: #7ba4e8;
  --m-accent-lt: rgba(7, 193, 96,.16);
  --m-shadow-sm: 0 1px 3px rgba(0,0,0,.3);
  --m-shadow-md: 0 4px 12px rgba(0,0,0,.4);
  --m-shadow-lg: 0 12px 32px rgba(0,0,0,.5);
}

/* ---------- Page Shell ---------- */
.wk-moments-page {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.wk-moments-page-content {
  flex: 1 1;
  min-height: 0;
  display: flex;
  background: var(--m-bg);
  overflow: hidden;
}

/* ---------- Left Rail ---------- */
.wk-moments-rail {
  width: var(--m-rail-w);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--m-border);
  background: var(--m-surface);
  overflow-y: auto;
  padding: 20px 12px 24px;
  gap: 4px;
}
.wk-no-flex-gap .wk-moments-rail > *:not(:last-child) {
  margin-bottom:        4px;
}

/* Profile block inside rail */
.wk-moments-rail-profile {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 8px 16px;
  border-bottom: 1px solid var(--m-border);
  margin-bottom: 8px;
}
.wk-no-flex-gap .wk-moments-rail-profile > *:not(:last-child) {
  margin-right:        10px;
}

.wk-moments-rail-avatar {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid var(--m-border);
}

.wk-moments-rail-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--m-text);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wk-moments-rail-sub {
  font-size: 11px;
  color: var(--m-text-sub);
  margin-top: 2px;
}

/* Rail section label */
.wk-moments-rail-section {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--m-text-sub);
  padding: 12px 8px 4px;
}

/* Rail nav item */
.wk-moments-rail-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  border-radius: 8px;
  border: none;
  background: transparent;
  color: var(--m-text-sub);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s, color 0.15s;
  position: relative;
}
.wk-no-flex-gap .wk-moments-rail-item > *:not(:last-child) {
  margin-right:        8px;
}

.wk-moments-rail-item:hover {
  background: var(--m-surface2);
  color: var(--m-text);
}

.wk-moments-rail-item.active {
  background: var(--m-accent-lt);
  color: var(--m-accent);
  font-weight: 600;
}

body[theme-mode="dark"] .wk-moments-rail-item.active {
  background: rgba(7, 193, 96,.15);
}

.wk-moments-rail-item-icon {
  font-size: 15px;
  width: 18px;
  text-align: center;
  flex-shrink: 0;
}

.wk-moments-rail-badge {
  margin-left: auto;
  background: var(--m-danger);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 999px;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
}

/* Publish button in rail */
.wk-moments-rail-publish {
  margin-top: 8px;
  width: 100%;
  padding: 9px 10px;
  border-radius: 8px;
  border: none;
  background: var(--m-accent);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: opacity 0.15s, transform 0.1s;
}
.wk-no-flex-gap .wk-moments-rail-publish > *:not(:last-child) {
  margin-right:        6px;
}

.wk-moments-rail-publish:hover { opacity: 0.88; }
.wk-moments-rail-publish:active { transform: scale(0.97); }

/* ---------- Content Column ---------- */
.wk-moments-content {
  flex: 1 1;
  min-width: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 20px 48px;
  gap: 0;
}

/* Hero header banner */
.wk-moments-hero {
  width: 100%;
  max-width: var(--m-content-w);
  border-radius: var(--m-radius);
  overflow: hidden;
  position: relative;
  margin-bottom: 16px;
  box-shadow: var(--m-shadow-md);
  min-height: 200px;
}

.wk-moments-cover-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: linear-gradient(135deg, #c86637 0%, #f0c080 50%, #6aafe6 100%);
}

.wk-moments-cover-placeholder {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #c86637 0%, #f0c080 50%, #6aafe6 100%);
}

.wk-moments-hero-overlay {
  position: relative;
  min-height: 200px;
  padding: 24px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  background: linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.45) 100%);
}

.wk-moments-hero-left {
  display: flex;
  align-items: flex-end;
  gap: 14px;
}

.wk-no-flex-gap .wk-moments-hero-left > *:not(:last-child) {
  margin-right:        14px;
}

.wk-moments-hero-avatar {
  width: 64px;
  height: 64px;
  border-radius: 12px;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,.9);
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
  flex-shrink: 0;
}

.wk-moments-hero-name {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,.4);
  line-height: 1.2;
}

.wk-moments-hero-sub {
  margin-top: 4px;
  font-size: 12px;
  color: rgba(255,255,255,.75);
}

.wk-moments-hero-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.wk-no-flex-gap .wk-moments-hero-actions > *:not(:last-child) {
  margin-right:        8px;
}

.wk-moments-hero-btn {
  padding: 7px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.5);
  background: rgba(255,255,255,.15);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s;
}

.wk-moments-hero-btn:hover {
  background: rgba(255,255,255,.28);
}

.wk-moments-hero-btn.primary {
  background: var(--m-accent);
  border-color: var(--m-accent);
}

.wk-moments-hero-btn.primary:hover {
  background: #d4562f;
}

/* ---------- Filter / toolbar ---------- */
.wk-moments-toolbar {
  width: 100%;
  max-width: var(--m-content-w);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}
.wk-no-flex-gap .wk-moments-toolbar > *:not(:last-child) {
  margin-right:        6px;
}

.wk-moments-filter-btn {
  padding: 5px 13px;
  border-radius: 999px;
  border: 1px solid var(--m-border);
  background: var(--m-surface);
  color: var(--m-text-sub);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
}

.wk-moments-filter-btn:hover {
  border-color: var(--m-accent);
  color: var(--m-accent);
}

.wk-moments-filter-btn.active {
  background: var(--m-accent);
  border-color: var(--m-accent);
  color: #fff;
}

.wk-moments-toolbar-count {
  margin-left: auto;
  font-size: 12px;
  color: var(--m-text-sub);
}

/* ---------- Feed list ---------- */
.wk-moments-list {
  width: 100%;
  max-width: var(--m-content-w);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.wk-no-flex-gap .wk-moments-list > *:not(:last-child) {
  margin-bottom:        12px;
}

/* ---------- Empty / Loading ---------- */
.wk-moments-empty,
.wk-moments-loading {
  width: 100%;
  max-width: var(--m-content-w);
  background: var(--m-surface);
  border-radius: var(--m-radius);
  padding: 64px 24px;
  text-align: center;
  border: 1px solid var(--m-border);
}

.wk-moments-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
}

/* ---------- Moment Card ---------- */
.wk-moments-card {
  background: var(--m-surface);
  border: 1px solid var(--m-border);
  border-radius: var(--m-radius);
  padding: 16px;
  box-shadow: var(--m-shadow-sm);
  transition: box-shadow 0.2s;
  position: relative;
}

.wk-moments-card:hover {
  box-shadow: var(--m-shadow-md);
}

.wk-moments-card.highlighted {
  border-color: var(--m-accent);
  box-shadow: 0 0 0 2px rgba(7, 193, 96,.15), var(--m-shadow-md);
}

.wk-moments-card.detail {
  box-shadow: none;
  border: none;
  padding: 0;
  background: transparent;
}

/* Card header */
.wk-moments-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.wk-no-flex-gap .wk-moments-card-header > *:not(:last-child) {
  margin-right:        10px;
}

.wk-moments-card-user {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.wk-no-flex-gap .wk-moments-card-user > *:not(:last-child) {
  margin-right:        10px;
}

.wk-moments-avatar-btn {
  flex-shrink: 0;
  border: none;
  padding: 0;
  background: transparent;
  cursor: pointer;
  border-radius: 10px;
  overflow: hidden;
}

.wk-moments-avatar-btn img {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  object-fit: cover;
  display: block;
  border: 1px solid var(--m-border);
}

.wk-moments-card-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--m-text-link);
  line-height: 1.3;
}

.wk-moments-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 3px;
  font-size: 11px;
  color: var(--m-text-sub);
}

.wk-moments-card-meta-sep {
  opacity: 0.4;
}

.wk-moments-privacy-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 1px 7px;
  border-radius: 999px;
  background: var(--m-surface2);
  font-size: 10px;
  font-weight: 500;
  color: var(--m-text-sub);
  border: 1px solid var(--m-border);
}

.wk-no-flex-gap .wk-moments-privacy-badge > *:not(:last-child) {
  margin-right:        3px;
}

.wk-moments-card-delete-btn {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: var(--m-text-sub);
  font-size: 12px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: all 0.15s;
}

.wk-moments-card-delete-btn:hover {
  color: var(--m-danger);
  background: rgba(239,68,68,.08);
}

/* Card text */
.wk-moments-card-text {
  font-size: 14px;
  color: var(--m-text);
  line-height: 1.7;
  white-space: pre-wrap;
  word-break: break-word;
  margin-bottom: 10px;
}

/* ---------- Image Gallery ---------- */
.wk-moments-gallery {
  display: grid;
  grid-gap: 3px;
  gap: 3px;
  margin-bottom: 10px;
  border-radius: 8px;
  overflow: hidden;
}

/* 1 image: natural aspect, max width */
.wk-moments-gallery[data-count="1"] {
  max-width: 340px;
}

.wk-moments-gallery[data-count="1"] .wk-moments-gallery-cell {
  aspect-ratio: unset;
}

.wk-moments-gallery[data-count="1"] .wk-moments-gallery-img {
  max-height: 360px;
  width: 100%;
  object-fit: contain;
  background: var(--m-surface2);
}

/* A single pending span has no intrinsic image height. */
.wk-moments-gallery[data-count="1"] .m-moment-image-state {
  height: auto;
  aspect-ratio: 1 / 1;
}


/* 2 images: side by side */
.wk-moments-gallery[data-count="2"] {
  grid-template-columns: repeat(2, 1fr);
}

/* 3 images */
.wk-moments-gallery[data-count="3"] {
  grid-template-columns: repeat(3, 1fr);
}

/* 4 images: 2×2 */
.wk-moments-gallery[data-count="4"] {
  grid-template-columns: repeat(2, 1fr);
}

/* 5 images: 3 top + 2 bottom */
.wk-moments-gallery[data-count="5"] {
  grid-template-columns: repeat(3, 1fr);
}

.wk-moments-gallery[data-count="5"] .wk-moments-gallery-cell:nth-child(4),
.wk-moments-gallery[data-count="5"] .wk-moments-gallery-cell:nth-child(5) {
  grid-column: span 1;
}

/* 6 images: 3×2 */
.wk-moments-gallery[data-count="6"] {
  grid-template-columns: repeat(3, 1fr);
}

/* 7,8,9: 3 columns */
.wk-moments-gallery[data-count="7"],
.wk-moments-gallery[data-count="8"],
.wk-moments-gallery[data-count="9"] {
  grid-template-columns: repeat(3, 1fr);
}

.wk-moments-gallery-cell {
  aspect-ratio: 1;
  overflow: hidden;
  cursor: zoom-in;
  background: var(--m-surface2);
  position: relative;
}

.wk-moments-gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.2s ease;
}

.wk-moments-gallery-cell:hover .wk-moments-gallery-img {
  transform: scale(1.04);
}

/* ---------- Video ---------- */
.wk-moments-video {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  max-width: 480px;
  background: #000;
  margin-bottom: 10px;
  cursor: pointer;
}

.wk-moments-video-cover {
  width: 100%;
  max-height: 300px;
  object-fit: cover;
  display: block;
}

.wk-moments-video-player {
  width: 100%;
  max-height: 300px;
  display: block;
  outline: none;
}

.wk-moments-video-play-btn {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.3);
  border: none;
  cursor: pointer;
  transition: background 0.15s;
}

.wk-moments-video-play-btn:hover {
  background: rgba(0,0,0,.45);
}

.wk-moments-video-play-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  box-shadow: 0 4px 16px rgba(0,0,0,.3);
  transition: transform 0.15s;
}

.wk-moments-video-play-btn:hover .wk-moments-video-play-icon {
  transform: scale(1.08);
}

/* ---------- Like + Comment area ---------- */
.wk-moments-interaction {
  margin-top: 4px;
  border-top: 1px solid var(--m-border);
  padding-top: 10px;
}

.wk-moments-like-bar {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 13px;
  margin-bottom: 8px;
}

.wk-no-flex-gap .wk-moments-like-bar > *:not(:last-child) {
  margin-right:        6px;
}

.wk-moments-like-icon {
  color: var(--m-danger);
  flex-shrink: 0;
  margin-top: 1px;
}

.wk-moments-like-names {
  color: var(--m-text-link);
  line-height: 1.6;
  flex: 1 1;
  word-break: break-word;
}

/* Comment list */
.wk-moments-comments {
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: var(--m-surface2);
  border-radius: 8px;
  padding: 8px 12px;
}
.wk-no-flex-gap .wk-moments-comments > *:not(:last-child) {
  margin-bottom:        2px;
}

.wk-moments-comment-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  padding: 2px 0;
}

.wk-no-flex-gap .wk-moments-comment-row > *:not(:last-child) {
  margin-right:        8px;
}

.wk-moments-comment-body {
  border: none;
  padding: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font-size: 13px;
  color: var(--m-text);
  line-height: 1.6;
  flex: 1 1;
}

.wk-moments-comment-author {
  font-weight: 600;
  color: var(--m-text-link);
}

.wk-moments-comment-reply-to {
  color: var(--m-text-sub);
}

.wk-moments-comment-actions {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
  align-items: center;
  opacity: 0;
  transition: opacity 0.15s;
}

.wk-no-flex-gap .wk-moments-comment-actions > *:not(:last-child) {
  margin-right:        4px;
}

.wk-moments-comment-row:hover .wk-moments-comment-actions {
  opacity: 1;
}

.wk-moments-comment-time {
  font-size: 11px;
  color: var(--m-text-sub);
}

.wk-moments-comment-del-btn {
  border: none;
  background: transparent;
  color: var(--m-danger);
  font-size: 11px;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
  transition: background 0.15s;
}

.wk-moments-comment-del-btn:hover {
  background: rgba(239,68,68,.1);
}

/* ---------- Card action bar ---------- */
.wk-moments-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid var(--m-border);
}
.wk-no-flex-gap .wk-moments-actions > *:not(:last-child) {
  margin-right:        4px;
}

.wk-moments-action-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 6px;
  border: none;
  background: transparent;
  font-size: 12px;
  color: var(--m-text-sub);
  cursor: pointer;
  font-weight: 500;
  transition: background 0.15s, color 0.15s;
}

.wk-no-flex-gap .wk-moments-action-btn > *:not(:last-child) {
  margin-right:        5px;
}

.wk-moments-action-btn:hover {
  background: var(--m-surface2);
  color: var(--m-text);
}

.wk-moments-action-btn.liked {
  color: var(--m-danger);
}

.wk-moments-action-btn.liked:hover {
  background: rgba(239,68,68,.08);
}

.wk-moments-action-count {
  font-size: 11px;
  opacity: 0.7;
}

.wk-moments-actions-spacer {
  flex: 1 1;
}

/* ---------- Inline comment composer ---------- */
.wk-moments-inline-composer {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding-top: 8px;
  border-top: 1px solid var(--m-border);
}
.wk-no-flex-gap .wk-moments-inline-composer > *:not(:last-child) {
  margin-right:        8px;
}

.wk-moments-inline-composer-wrap {
  flex: 1 1;
}

.wk-moments-inline-reply-label {
  font-size: 11px;
  color: var(--m-text-sub);
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.wk-no-flex-gap .wk-moments-inline-reply-label > *:not(:last-child) {
  margin-right:        6px;
}

.wk-moments-inline-reply-cancel {
  border: none;
  background: transparent;
  color: var(--m-text-sub);
  font-size: 11px;
  cursor: pointer;
  padding: 1px 6px;
  border-radius: 4px;
  transition: background 0.15s;
}

.wk-moments-inline-reply-cancel:hover {
  background: var(--m-surface2);
}

.wk-moments-inline-input {
  width: 100%;
  resize: none;
  border: 1px solid var(--m-border);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 13px;
  color: var(--m-text);
  background: var(--m-surface2);
  outline: none;
  line-height: 1.5;
  min-height: 60px;
  font-family: inherit;
  transition: border-color 0.15s;
}

.wk-moments-inline-input:focus {
  border-color: var(--m-accent);
  background: var(--m-surface);
}

.wk-moments-inline-input::placeholder {
  color: var(--m-text-sub);
  opacity: 0.6;
}

.wk-moments-inline-send {
  padding: 7px 14px;
  border-radius: 8px;
  border: none;
  background: var(--m-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  flex-shrink: 0;
  align-self: flex-end;
  transition: opacity 0.15s;
}

.wk-moments-inline-send:hover { opacity: 0.85; }
.wk-moments-inline-send:disabled { opacity: 0.5; cursor: not-allowed; }

/* ---------- Composer Modal ---------- */
.wk-moments-composer-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.wk-no-flex-gap .wk-moments-composer-body > *:not(:last-child) {
  margin-bottom:        14px;
}

.wk-moments-composer-text {
  width: 100%;
  resize: none;
  border: 1px solid var(--m-border);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 14px;
  color: var(--m-text);
  background: var(--m-surface);
  outline: none;
  line-height: 1.6;
  min-height: 88px;
  font-family: inherit;
  transition: border-color 0.15s;
}

.wk-moments-composer-text:focus {
  border-color: var(--m-accent);
}

.wk-moments-composer-text::placeholder {
  color: var(--m-text-sub);
  opacity: 0.6;
}

/* Image grid in composer */
.wk-moments-composer-images {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wk-moments-composer-img-cell {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  border: 1px solid var(--m-border);
}

.wk-moments-composer-img-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wk-moments-composer-img-remove {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(0,0,0,.55);
  border: none;
  color: #fff;
  font-size: 11px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background 0.15s;
}

.wk-moments-composer-img-remove:hover {
  background: rgba(239,68,68,.85);
}

.wk-moments-composer-add-cell {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  border: 2px dashed var(--m-border);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  cursor: pointer;
  color: var(--m-text-sub);
  font-size: 11px;
  transition: border-color 0.15s, color 0.15s;
}

.wk-no-flex-gap .wk-moments-composer-add-cell > *:not(:last-child) {
  margin-bottom:        4px;
}

.wk-moments-composer-add-cell:hover {
  border-color: var(--m-accent);
  color: var(--m-accent);
}

.wk-moments-composer-add-cell .icon {
  font-size: 20px;
  line-height: 1;
}

/* Video preview in composer */
.wk-moments-composer-video-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--m-surface2);
  border: 1px solid var(--m-border);
  border-radius: 8px;
  padding: 10px 14px;
  min-height: 82px;
  position: relative;
}
.wk-no-flex-gap .wk-moments-composer-video-preview > *:not(:last-child) {
  margin-right:        10px;
}

.wk-moments-composer-video-preview.is-retryable {
  cursor: pointer;
  border-color: rgba(239,68,68,.5);
}

.wk-moments-composer-video-preview.is-retryable:focus-visible {
  outline: 2px solid var(--m-danger);
  outline-offset: 2px;
}

.wk-moments-composer-video-thumb {
  width: 60px;
  height: 60px;
  border-radius: 6px;
  object-fit: cover;
  background: #000;
}

.wk-moments-composer-video-info {
  flex: 1 1;
  font-size: 13px;
  color: var(--m-text-sub);
}

.wk-moments-composer-video-progress,
.wk-moments-composer-video-failed {
  flex: 1 1;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--m-text-sub);
}

.wk-no-flex-gap .wk-moments-composer-video-progress > *:not(:last-child),
.wk-no-flex-gap .wk-moments-composer-video-failed > *:not(:last-child) {
  margin-right:        8px;
}

.wk-moments-composer-video-failed {
  color: var(--m-danger);
  font-weight: 600;
}

.wk-moments-composer-video-spinner {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(34,197,94,.2);
  border-top-color: var(--m-accent);
  animation: wk-moments-video-upload-spin .8s linear infinite;
}

.wk-moments-composer-video-error-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--m-danger);
  font-weight: 800;
}

@keyframes wk-moments-video-upload-spin {
  to { transform: rotate(360deg); }
}

.wk-moments-composer-video-remove {
  border: none;
  background: transparent;
  color: var(--m-danger);
  cursor: pointer;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 6px;
  transition: background 0.15s;
}

.wk-moments-composer-video-remove:hover {
  background: rgba(239,68,68,.08);
}

/* Composer toolbar row */
.wk-moments-composer-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.wk-moments-composer-tool-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid var(--m-border);
  background: var(--m-surface);
  color: var(--m-text-sub);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
}

.wk-no-flex-gap .wk-moments-composer-tool-btn > *:not(:last-child) {
  margin-right:        5px;
}

.wk-moments-composer-tool-btn:hover {
  border-color: var(--m-accent);
  color: var(--m-accent);
}

.wk-moments-composer-tool-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Uploading spinner note */
.wk-moments-uploading-note {
  font-size: 12px;
  color: var(--m-text-sub);
  display: flex;
  align-items: center;
  gap: 6px;
}
.wk-no-flex-gap .wk-moments-uploading-note > *:not(:last-child) {
  margin-right:        6px;
}

/* Privacy row */
.wk-moments-composer-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.wk-moments-composer-meta-label {
  font-size: 12px;
  color: var(--m-text-sub);
  display: flex;
  align-items: center;
  gap: 4px;
}

.wk-no-flex-gap .wk-moments-composer-meta-label > *:not(:last-child) {
  margin-right:        4px;
}

/* ---------- Alerts / Inbox ---------- */
.wk-moments-alerts-wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.wk-no-flex-gap .wk-moments-alerts-wrap > *:not(:last-child) {
  margin-bottom:        12px;
}

.wk-moments-alerts-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.wk-no-flex-gap .wk-moments-alerts-header-row > *:not(:last-child) {
  margin-right:        10px;
}

.wk-moments-alerts-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--m-text);
}

.wk-moments-alerts-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 480px;
  overflow-y: auto;
}

.wk-no-flex-gap .wk-moments-alerts-list > *:not(:last-child) {
  margin-bottom:        8px;
}

.wk-moments-alert-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid var(--m-border);
  background: var(--m-surface);
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s, box-shadow 0.15s;
}

.wk-no-flex-gap .wk-moments-alert-card > *:not(:last-child) {
  margin-right:        12px;
}

.wk-moments-alert-card:hover {
  background: var(--m-surface2);
  box-shadow: var(--m-shadow-sm);
}

.wk-moments-alert-info {
  flex: 1 1;
  min-width: 0;
}

.wk-moments-alert-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--m-text);
  margin-bottom: 3px;
}

.wk-moments-alert-desc {
  font-size: 12px;
  color: var(--m-text-sub);
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.wk-moments-alert-time {
  font-size: 11px;
  color: var(--m-text-sub);
  margin-top: 4px;
}

.wk-moments-alert-thumb {
  width: 52px;
  height: 52px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
}

.wk-moments-alert-del-btn {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: var(--m-text-sub);
  font-size: 12px;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.15s;
  align-self: center;
}

.wk-moments-alert-del-btn:hover {
  color: var(--m-danger);
  background: rgba(239,68,68,.08);
}

.wk-moments-alerts-empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--m-text-sub);
  font-size: 13px;
}

/* ---------- Detail panel ---------- */
.wk-moments-detail-loading {
  display: flex;
  justify-content: center;
  padding: 40px;
}

/* ---------- Privacy picker ---------- */
.wk-moments-privacy-picker-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.wk-no-flex-gap .wk-moments-privacy-picker-wrap > *:not(:last-child) {
  margin-bottom:        10px;
}

.wk-moments-privacy-tip {
  font-size: 12px;
  color: var(--m-text-sub);
  padding: 8px 12px;
  background: var(--m-surface2);
  border-radius: 6px;
  border: 1px solid var(--m-border);
}

.wk-moments-privacy-list-wrap {
  max-height: 360px;
  overflow: auto;
  border-radius: 8px;
  border: 1px solid var(--m-border);
}

.wk-moments-privacy-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--m-border);
}

.wk-no-flex-gap .wk-moments-privacy-footer > *:not(:last-child) {
  margin-right:        10px;
}

.wk-moments-privacy-selected-count {
  font-size: 13px;
  color: var(--m-text-sub);
}

/* Cover edit overlay */
.wk-moments-cover-edit-overlay {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 8px;
  display: flex;
  gap: 6px;
  opacity: 0;
  transition: opacity 0.2s;
}
.wk-no-flex-gap .wk-moments-cover-edit-overlay > *:not(:last-child) {
  margin-right:        6px;
}

.wk-moments-hero:hover .wk-moments-cover-edit-overlay {
  opacity: 1;
}

.wk-moments-cover-btn {
  padding: 5px 10px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.4);
  background: rgba(0,0,0,.35);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  color: #fff;
  font-size: 11px;
  cursor: pointer;
  transition: background 0.15s;
}

.wk-moments-cover-btn:hover {
  background: rgba(0,0,0,.55);
}

/* Test-only hidden buttons for Playwright */
.wk-moments-privacy-test-btn { display: none !important; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .wk-moments-rail {
    width: 200px;
  }
  :root {
    --m-content-w: 560px;
  }
}

@media (max-width: 720px) {
  .wk-moments-rail {
    display: none;
  }
}

.wk-moments-gallery-video {
  position: relative;
  background: #000;
}
.wk-moments-gallery-video .wk-moments-video-play-btn {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.wk-moments-gallery-video .wk-moments-video-player {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wk-scan-page {
  min-height: 100%;
  background: #ededed;
  background: var(--wk-ui-bg, #ededed);
}

.wk-scan-page-content {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.9fr);
  grid-gap: 24px;
  gap: 24px;
  padding: 24px;
}

.wk-scan-panel,
.wk-scan-result-panel {
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-ui-line, #e5e5e5);
}

.wk-scan-panel {
  padding: 24px;
}

.wk-scan-panel-header,
.wk-scan-result-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.wk-no-flex-gap .wk-scan-panel-header > *:not(:last-child),
.wk-no-flex-gap .wk-scan-result-header > *:not(:last-child) {
  margin-right: 16px;
}

.wk-scan-panel-header h2,
.wk-scan-result-header h3 {
  margin: 0;
  color: #111111;
}

.wk-scan-panel-header p,
.wk-scan-result-header span,
.wk-scan-result-desc {
  margin: 6px 0 0;
  color: #7f7f7f;
  line-height: 1.6;
}

.wk-scan-actions,
.wk-scan-manual-actions,
.wk-scan-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.wk-scan-actions {
  margin-top: 20px;
}

.wk-scan-camera-shell {
  margin-top: 18px;
  min-height: 320px;
  border-radius: 8px;
  overflow: hidden;
  background: #111111;
  border: 1px solid #e5e5e5;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.wk-scan-camera-shell.drop-active {
  border-color: rgba(7, 193, 96, 0.42);
  box-shadow: inset 0 0 0 1px rgba(7, 193, 96, 0.08), 0 16px 36px rgba(7, 193, 96, 0.08);
  transform: translateY(-1px);
}

.wk-scan-camera-shell video,
.wk-scan-camera-empty {
  width: 100%;
  height: 320px;
}

.wk-scan-camera-shell video {
  object-fit: cover;
  background: #111111;
}

.wk-scan-camera-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  color: #7f7f7f;
  text-align: center;
}

.wk-scan-manual {
  margin-top: 18px;
}

.wk-scan-manual-actions {
  margin-top: 12px;
}

.wk-scan-result-panel {
  padding: 24px;
}

.wk-scan-result-card {
  margin-top: 18px;
  padding: 20px;
  border-radius: 8px;
  background: #f7f7f7;
  border: 1px solid #e5e5e5;
}

.wk-scan-result-type {
  font-size: 18px;
  font-weight: 700;
  color: #111111;
}

.wk-scan-result-raw,
.wk-scan-result-extra {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 8px;
  background: #f5f5f5;
  color: #111111;
  word-break: break-word;
  line-height: 1.6;
}

.wk-scan-result-actions {
  margin-top: 16px;
}

.wk-scan-result-empty {
  margin-top: 18px;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1080px) {
  .wk-scan-page-content {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .wk-scan-page-content {
    gap: 16px;
    padding: 16px;
  }

  .wk-scan-panel,
  .wk-scan-result-panel {
    padding: 18px;
    border-radius: 8px;
  }

  .wk-scan-panel-header,
  .wk-scan-result-header {
    flex-direction: column;
  }
}

.wk-broadcast-page {
  width: 100%;
  height: 100%;
  background: #ededed;
  background: var(--wk-color-bg, #ededed);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.wk-broadcast-header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
  border-bottom: 1px solid var(--wk-color-line, #e5e5e5);
  min-height: 48px;
  box-sizing: border-box;
}

.wk-no-flex-gap .wk-broadcast-header > *:not(:last-child) {
  margin-right: 12px;
}

.wk-broadcast-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1 1;
}

.wk-no-flex-gap .wk-broadcast-header-left > *:not(:last-child) {
  margin-right: 10px;
}

.wk-broadcast-header-back {
  cursor: pointer;
  font-size: 18px;
  color: #111111;
  -webkit-user-select: none;
          user-select: none;
  padding: 4px 8px;
  border-radius: 6px;
}

.wk-broadcast-header-back:hover {
  background: #f0f1f3;
}

.wk-broadcast-header-title {
  font-size: 16px;
  font-weight: 600;
  color: #111111;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wk-broadcast-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.wk-no-flex-gap .wk-broadcast-header-actions > *:not(:last-child) {
  margin-right: 8px;
}

/* === Body 滚动容器 === */
.wk-broadcast-body {
  flex: 1 1;
  min-height: 0;
  overflow-y: auto;
  padding: 12px;
  box-sizing: border-box;
}

/* === 列表卡片 === */
.wk-broadcast-card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-color-line, #e5e5e5);
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.wk-broadcast-card:hover {
  border-color: #07C160;
  border-color: var(--wk-color-theme, #07C160);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.wk-broadcast-card-text {
  color: #111111;
  font-size: 14px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

.wk-broadcast-card-thumbs {
  margin-top: 10px;
  display: flex;
  gap: 4px;
}

.wk-no-flex-gap .wk-broadcast-card-thumbs > *:not(:last-child) {
  margin-right: 4px;
}

.wk-broadcast-card-thumb {
  position: relative;
  width: 64px;
  height: 64px;
  background: #f0f1f3;
  border-radius: 4px;
  overflow: hidden;
  flex: 0 0 auto;
}

.wk-broadcast-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wk-broadcast-card-thumb-more {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
}

.wk-broadcast-card-meta {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #7f7f7f;
  color: var(--wk-color-text-desc, #7f7f7f);
  font-size: 12px;
}

.wk-broadcast-card-meta-arrow {
  color: #c7c8cc;
  font-size: 16px;
}

/* === 空态 === */
.wk-broadcast-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  color: #7f7f7f;
  text-align: center;
}

.wk-broadcast-empty-title {
  font-size: 16px;
  margin-bottom: 6px;
  color: #111111;
}

.wk-broadcast-empty-desc {
  font-size: 13px;
}

/* === 详情页 === */
.wk-broadcast-detail-content {
  background: #fff;
  border-radius: 12px;
  padding: 18px;
  margin-bottom: 10px;
  word-break: break-word;
  white-space: pre-wrap;
  color: #111111;
  font-size: 15px;
  line-height: 1.6;
}

.wk-broadcast-detail-images {
  background: #fff;
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.wk-broadcast-detail-image {
  position: relative;
  width: 100px;
  height: 100px;
  background: #f0f1f3;
  border-radius: 6px;
  overflow: hidden;
  flex: 0 0 auto;
}

.wk-broadcast-detail-image--video {
  background: #000;
}

.wk-broadcast-detail-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wk-broadcast-detail-meta {
  text-align: center;
  color: #7f7f7f;
  font-size: 12px;
  margin: 16px 0;
}

.wk-broadcast-detail-actions {
  display: flex;
  gap: 8px;
  padding: 0 4px 12px;
}

.wk-no-flex-gap .wk-broadcast-detail-actions > *:not(:last-child) {
  margin-right: 8px;
}

.wk-broadcast-detail-actions > .semi-button {
  flex: 1 1;
}

/* === 编辑页 === */
.wk-broadcast-compose {
  background: #fff;
  border-radius: 12px;
  padding: 14px;
}

/* 有序媒体缩略图网格（图/视频混排） */
.wk-broadcast-compose-media-list {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wk-broadcast-compose-media {
  position: relative;
  width: 72px;
  height: 72px;
  border-radius: 6px;
  overflow: hidden;
  background: #f0f1f3;
  flex: 0 0 auto;
}

.wk-broadcast-compose-media img,
.wk-broadcast-compose-media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #000;
}

.wk-broadcast-compose-media.is-failed {
  cursor: pointer;
}

.wk-broadcast-compose-media .wk-broadcast-video-status {
  gap: 4px;
  font-size: 11px;
}

.wk-broadcast-compose-media .wk-broadcast-video-status--failed > span {
  width: 22px;
  height: 22px;
  font-size: 14px;
  line-height: 22px;
}

.wk-broadcast-compose-media .wk-broadcast-video-status--failed > strong {
  font-size: 11px;
}

.wk-broadcast-compose-media .wk-broadcast-img-spin {
  width: 16px;
  height: 16px;
  margin: 0;
  border-width: 2px;
}

.wk-broadcast-compose-media-x {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 10px;
  line-height: 18px;
  text-align: center;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  border: 0;
  padding: 0;
  z-index: 2;
}

.wk-broadcast-compose-actions {
  margin-top: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.wk-no-flex-gap .wk-broadcast-compose-actions > *:not(:last-child) {
  margin-right: 8px;
}

/* === 发送结果汇总 === */
.wk-broadcast-summary {
  margin-top: 12px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-color-line, #e5e5e5);
  border-radius: 10px;
  padding: 12px;
  font-size: 13px;
}

.wk-broadcast-summary-line {
  margin-bottom: 6px;
  color: #111111;
}

.wk-broadcast-failure {
  margin-top: 4px;
  color: #b42318;
  font-size: 12px;
}

.wk-broadcast-recipient-progress {
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid #e5e5e5;
  border: 1px solid var(--wk-color-line, #e5e5e5);
  border-radius: 10px;
  background: #fff;
  padding: 12px;
}

.wk-broadcast-recipient-row {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-top: 1px solid #f0f0f0;
}

.wk-no-flex-gap .wk-broadcast-recipient-row > *:not(:last-child) {
  margin-right: 10px;
}

.wk-broadcast-recipient-avatar {
  width: 34px;
  height: 34px;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #fff;
  background: #7b61ff;
  font-size: 14px;
}

.wk-broadcast-recipient-name {
  min-width: 0;
  flex: 1 1;
  color: #111;
  font-size: 14px;
}

.wk-broadcast-recipient-name small {
  display: block;
  margin-top: 2px;
  color: #999;
  font-size: 12px;
}

.wk-broadcast-recipient-name small.is-failed { color: #e64340; }
.wk-broadcast-recipient-name small.is-unknown { color: #d48806; }

.wk-broadcast-recipient-row button {
  min-width: 48px;
  height: 28px;
  border: 1px solid #e64340;
  border-radius: 5px;
  color: #e64340;
  background: #fff;
}

/* === 说明文字 === */
.wk-broadcast-hint {
  margin-top: 12px;
  color: #7f7f7f;
  color: var(--wk-color-text-desc, #7f7f7f);
  font-size: 12px;
  line-height: 1.6;
}

/* === 上传中转圈 === */
.wk-broadcast-img-spin {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: wk-broadcast-spin 0.8s linear infinite;
}

@keyframes wk-broadcast-spin {
  to {
    transform: rotate(360deg);
  }
}

/* === 视频预览（编辑态）=== */
.wk-broadcast-video {
  position: relative;
  margin-top: 12px;
  border-radius: 8px;
  overflow: hidden;
  background: #000;
  min-height: 160px;
}

.wk-broadcast-video video {
  display: block;
  width: 100%;
  max-height: 44vh;
  background: #000;
}

.wk-broadcast-video img {
  display: block;
  width: 100%;
  max-height: 44vh;
  object-fit: cover;
  background: #000;
}

.wk-broadcast-video-x {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 12px;
  line-height: 22px;
  text-align: center;
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  border: 0;
  padding: 0;
}

.wk-broadcast-video.is-failed {
  cursor: pointer;
}

.wk-broadcast-video-status {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.48);
  color: #fff;
  font-size: 13px;
}

.wk-no-flex-gap .wk-broadcast-video-status > *:not(:last-child) {
  margin-bottom: 10px;
}

.wk-broadcast-video-status .wk-broadcast-img-spin {
  position: static;
  margin: 0;
}

.wk-broadcast-video-status--failed {
  background: rgba(0, 0, 0, 0.62);
}

.wk-broadcast-video-status--failed > span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #ff4d4f;
  font-size: 24px;
  font-weight: 700;
  line-height: 34px;
  text-align: center;
}

.wk-broadcast-video-status--failed > strong {
  font-size: 14px;
}

/* === 列表卡片：视频缩略 === */
/* Authorized private thumb: fill existing fixed tile; keep loaded img sizing above. */
.wk-broadcast-card-thumb .wk-broadcast-image-state,
.wk-broadcast-detail-image .wk-broadcast-image-state,
.wk-broadcast-compose-media .wk-broadcast-image-state {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.wk-broadcast-image-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden;
  background: linear-gradient(135deg, #f2f2f2, #e5e5e5);
  color: #5c6066;
  text-align: center;
  gap: 4px;
  padding: 4px;
}

.wk-no-flex-gap .wk-broadcast-image-state > *:not(:last-child) {
  margin-bottom: 4px;
}

.wk-broadcast-image-state.is-loading::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.55) 48%, transparent 66%);
  transform: translateX(-100%);
  animation: wk-broadcast-image-loading 1.2s ease-in-out infinite;
  pointer-events: none;
}

.wk-broadcast-image-state.is-error {
  cursor: pointer;
  background: #e8eaed;
  color: #111111;
}

.wk-broadcast-image-state.is-idle {
  background: #f0f1f3;
}

.wk-broadcast-image-state__icon {
  position: relative;
  z-index: 1;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  min-height: 14px;
}

.wk-broadcast-image-state__label {
  position: relative;
  z-index: 1;
  font-size: 11px;
  line-height: 1.2;
  max-width: 90%;
}

@keyframes wk-broadcast-image-loading {
  to {
    transform: translateX(100%);
  }
}

.wk-broadcast-card-thumb-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #e9e5fb, #d9cfff);
}

.wk-broadcast-card-thumb-play,
.wk-broadcast-detail-video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 12px;
  line-height: 28px;
  text-align: center;
  pointer-events: none;
}

/* === 详情态：视频封面 === */
.wk-broadcast-detail-video {
  position: relative;
  margin-bottom: 10px;
  border-radius: 10px;
  overflow: hidden;
  background: #000;
  max-width: 280px;
}

.wk-broadcast-detail-video img {
  display: block;
  width: 100%;
  max-height: 44vh;
  object-fit: cover;
}

.wk-broadcast-detail-video .wk-broadcast-card-thumb-placeholder {
  height: 180px;
}

.wk-enterprise-curfew {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 24px;
  background: rgba(12, 18, 16, 0.94);
  color: #fff;
}

.wk-enterprise-curfew__panel {
  width: min(440px, 100%);
  padding: 36px 28px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 20px;
  background: #18211d;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.36);
  text-align: center;
}

.wk-enterprise-curfew__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: rgba(250, 173, 20, 0.16);
  color: #faad14;
  font-size: 40px;
  line-height: 64px;
}

.wk-enterprise-curfew h1 {
  margin: 0;
  font-size: 24px;
  line-height: 1.4;
}

.wk-enterprise-curfew p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  line-height: 1.7;
}

.wk-enterprise-curfew__time {
  color: #fff !important;
  font-weight: 600;
}

.wk-enterprise-curfew__hint {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.56) !important;
}

.wk-enterprise-curfew__retry {
  min-height: 40px;
  margin-top: 20px;
  padding: 0 20px;
  border: 0;
  border-radius: 10px;
  background: #07c160;
  color: #fff;
  font-size: 15px;
  cursor: pointer;
}

.wk-curfew-warning { position: relative; }
.wk-curfew-warning__orb {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  background: #c77d0a;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.26);
  color: #fff;
}
.wk-curfew-warning__orb span { font-size: 11px; }
.wk-curfew-warning__orb strong { font-size: 12px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.wk-curfew-warning__detail {
  position: absolute;
  right: 68px;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
  width: min(260px, calc(100vw - 100px));
  box-sizing: border-box;
  padding: 14px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
  color: #202622;
  font-size: 13px;
  line-height: 1.45;
}
.wk-no-flex-gap .wk-curfew-warning__detail > *:not(:last-child) {
  margin-bottom: 7px;
}
.wk-curfew-warning__detail button {
  min-height: 34px;
  margin-top: 4px;
  border: 0;
  border-radius: 9px;
  background: #07c160;
  color: #fff;
}

/* Keep the DOM input gate while the acknowledged native modal owns presentation. */
.wk-enterprise-curfew--native {
  opacity: 0;
}

/* Pending checks retain input protection without replacing the current screen. */
.wk-enterprise-curfew--pending {
  background: transparent;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
}



.wk-login {
    display: table;
    height: 100%;
    width: 100%;
    min-height: 600px;
    padding-bottom: 50px;
    position: absolute;
    background-color: rgb(255, 255, 255);
    overflow: hidden;
}

.wk-login-content {
    display: table-cell;
    vertical-align: middle;
    position: relative;
    z-index: 1;
}


.wk-login-content-logo {
    align-items: center;
    display: flex;
    height: 120px;
    justify-content: center;
    min-width: 100%;
    width: 120px;
}

.wk-login-content-logo img {
    width: 75px;
    height: 75px;
}

.wk-login-content-slogan {
    color: rgba(0, 0, 0, 1);
    font-size: 36px;
    font-weight: 450;
    line-height: 40px;
    margin-bottom: 45px;
    margin-top: 24px;
    text-align: center;
}

.wk-login-content-form {
    margin-top: 32px;
}

.wk-login-auth-switch {
    width: 320px;
    margin: 0 auto 16px;
    padding: 4px;
    display: flex;
    gap: 6px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
}

.wk-no-flex-gap .wk-login-auth-switch > *:not(:last-child) {
    margin-right: 6px;
}

.wk-login-auth-switch-btn {
    flex: 1 1;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #667085;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.wk-login-auth-switch-btn-active {
    background: linear-gradient(135deg, #ff8a3d 0%, #ef5f3c 100%);
    color: #fff;
    box-shadow: 0 10px 24px rgba(239, 95, 60, 0.25);
}

.wk-login-content-form input {
    border: 1px solid rgba(0, 0, 0, .20);
    border-radius: 4px;
    color: rgba(0, 0, 0, 1);
    display: block;
    font-family: inherit;
    font-size: 18px;
    letter-spacing: 0;
    height: 42px;
    margin-bottom: 12px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 16px;
    width: 286px;
}

.wk-login-content-form-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
}


.wk-login-content-form-ok {
    border-radius: 50px;
    display: flex;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
    padding: 9.5px 20px;
    margin-top: 24px;
}

.wk-login-content-form-others {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 28px;
    width: 320px;
}

.wk-login-content-form-register,
.wk-login-content-form-forget {
    color: #606266;
    font-size: 14px;
    text-align: center;
    margin-bottom: 10px;
    cursor: pointer;
}
.wk-login-tabs {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 6px auto 12px;
    width: 320px;
}
.wk-no-flex-gap .wk-login-tabs > *:not(:last-child) {
    margin-right: 8px;
}

.wk-login-tab-btn {
    border: 1px solid #dcdfe6;
    background: #fff;
    border-radius: 18px;
    color: #606266;
    padding: 4px 12px;
    cursor: pointer;
    font-size: 13px;
}

.wk-login-tab-btn-active {
    border-color: var(--wk-color-theme);
    color: var(--wk-color-theme);
    background: rgba(24, 144, 255, 0.08);
}

.wk-login-inline-inputs {
    width: 320px;
    margin: 0 auto 12px;
    display: flex;
    gap: 8px;
}

.wk-no-flex-gap .wk-login-inline-inputs > *:not(:last-child) {
    margin-right: 8px;
}

.wk-login-inline-inputs input {
    margin: 0;
    width: auto;
    flex: 1 1;
}

.wk-login-zone-input {
    max-width: 92px;
}

.wk-login-code-btn {
    height: 42px;
    min-width: 108px;
}

.wk-login-one-click {
    width: 320px;
    margin: 0 auto 18px;
    text-align: center;
}

.wk-login-one-click-button {
    width: 100%;
    height: 44px;
    border-radius: 22px;
    font-size: 16px;
}

.wk-login-one-click-tip {
    margin-top: 8px;
    color: #909399;
    font-size: 12px;
}

.wk-login-one-click-credentials {
    width: 320px;
    margin: 0 auto;
    padding: 22px;
    border: 1px solid #ebeef5;
    border-radius: 10px;
    background: #fff;
    box-sizing: border-box;
}

.wk-login-one-click-credentials-title {
    color: #303133;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}

.wk-login-one-click-credentials-warning {
    margin-top: 10px;
    color: #b42318;
    font-size: 13px;
    line-height: 20px;
}

.wk-login-one-click-credentials dl {
    margin: 18px 0;
}

.wk-login-one-click-credentials dl > div {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f5f7fa;
}

.wk-login-one-click-credentials dt {
    color: #909399;
    font-size: 12px;
}

.wk-login-one-click-credentials dd {
    margin: 5px 0 0;
    color: #303133;
    font-family: monospace;
    font-size: 16px;
    word-break: break-all;
}

.wk-login-one-click-save,
.wk-login-one-click-continue {
    width: 100%;
    margin-top: 10px;
}

.wk-login-one-click-save-status {
    margin-top: 8px;
    color: #07a956;
    font-size: 13px;
    line-height: 20px;
    text-align: center;
}

.wk-login-one-click-save-overlay {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, 0.44);
}

.wk-login-one-click-save-dialog {
    width: min(100%, 320px);
    box-sizing: border-box;
    padding: 24px;
    border-radius: 14px;
    background: #fff;
    text-align: center;
}

.wk-login-one-click-save-dialog-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #07c160;
    color: #fff;
    font-size: 30px;
    line-height: 48px;
}

.wk-login-one-click-save-dialog-title {
    color: #191919;
    font-size: 18px;
    font-weight: 600;
}

.wk-login-one-click-save-dialog-message {
    margin-top: 8px;
    color: #666;
    font-size: 14px;
    line-height: 20px;
}

.wk-login-one-click-save-dialog button {
    width: 100%;
    height: 42px;
    margin-top: 22px;
    border: 0;
    border-radius: 8px;
    background: #07c160;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.wk-login-register-panel,
.wk-login-verify-panel {
    width: 360px;
    margin: 14px auto 0;
    border: 1px solid #ebeef5;
    border-radius: 10px;
    padding: 12px 10px 10px;
    background: #fafafa;
}

.wk-login-panel-embedded {
    width: 100%;
    margin-top: 0;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
}

.wk-login-register-panel input,
.wk-login-verify-panel input {
    width: 320px;
}

.wk-login-register-title,
.wk-login-verify-title {
    text-align: center;
    font-size: 14px;
    color: #303133;
    margin-bottom: 10px;
}

.wk-login-verify-tip {
    width: 320px;
    margin: 0 auto 10px;
    color: #909399;
    font-size: 13px;
    line-height: 20px;
}

.wk-login-register-close,
.wk-login-verify-close {
    margin-top: 10px;
    text-align: center;
}

.wk-login-register-close button,
.wk-login-verify-close button {
    border: 0;
    background: transparent;
    color: var(--wk-color-theme);
    cursor: pointer;
}

.wk-login-footer {
    color: #262626;
    font-size: 16px;
    font-weight: 400;

    bottom: 0;
    margin-bottom: 66px;
    position: absolute;
    text-align: center;
    width: 100%;
}

.wk-login-footer ul {
    display: flex;
    justify-content: center;
    margin-bottom: 0px;
}

.wk-login-footer ul li {
    margin-left: 40px;
}

.wk-login-content-phonelogin {
    margin: 0 auto;
    max-width: 420px;
    padding: 48px 36px 40px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(255, 255, 255, 0.66);
    border-radius: 28px;
    backdrop-filter: blur(14px);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
}

.wk-login-footer-buttons button{
    background-color: transparent;
    color: var(--wk-color-theme);
    outline: none !important;
    border: 0;
    height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem;
    cursor: pointer;
}


.wk-favorites {
    width: 100%;
    height: 100%;
    border-right: var(--wk-line);
}

.wk-favorites-blocked {
    height: calc(100% - var(--wk-height-navheader));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.wk-favorites-blocked-card {
    width: min(420px, 100%);
    padding: 32px 28px;
    border-radius: 16px;
    background: var(--wk-color-item);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
    text-align: center;
}

.wk-favorites-blocked-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--wk-color-text);
}

.wk-favorites-blocked-desc {
    margin-top: 12px;
    font-size: 14px;
    line-height: 22px;
    color: var(--wk-color-subtitle);
}

.wk-favorites-blocked-actions {
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

.wk-favorites-content li {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    cursor: pointer;
    background-color: var(--wk-color-item);
}

.wk-favorites-icon {
    height: 100%;
    display: flex;
    align-items: center;
    margin-left: 15px;
}

.wk-favorites-title {
    margin-left: 15px;
    font-size: 14px;
    font-weight: 500;
}

.wk-favorites-content-item-selected {
    background-color: #ddd;
}

.wk-favritemain {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.wk-favritemain-content {
    overflow-y: auto;
    width: 100%;
    height: calc(100% - var(--wk-height-viewqueueheader));
}

.wk-favritemain-content li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 20px;
    background-color: var(--wk-color-item);
}

.wk-favritemain-empty {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 14px;
}

.wk-favritemain-item-info {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    
}

.wk-favritemain-item-info p {
    margin-bottom: 0px;
}

.wk-wk-favritemain-item-content {
    flex: 1 1;
    padding-right: 40px;
}

.wk-favritemain-item-info {
    font-size: 13px;
    color: #999;
}

.wk-favorite-media-summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #333;
}

.wk-no-flex-gap .wk-favorite-media-summary > *:not(:last-child) {
    margin-right: 8px;
}

.wk-favorite-video-cover {
    width: 160px;
    height: 90px;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    background: #f3f4f5;
}

.wk-favorite-video-cover img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

.wk-favorite-video-cover span {
    position: absolute;
    right: 6px;
    bottom: 6px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    border-radius: 10px;
    font-size: 12px;
    line-height: 18px;
    padding: 0 6px;
}

.wk-favritemain-footer {
    justify-content: center !important;
    gap: 8px;
    color: #999;
    font-size: 13px;
}

.wk-channelblacklist {
    width: 100%;
    height: 100%;
    padding: 20px;
    background-color: var(--wk-color-secondary);
} 
.wk-channelmanagerlist {
    width: 100%;
    height: 100%;
    padding: 20px;
    background-color: var(--wk-color-secondary);
} 
.wk-advcfg {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    box-sizing: border-box;
}

.wk-advcfg-body {
    background: #ffffff;
    background: var(--semi-color-bg-2, #ffffff);
    border-radius: 8px;
    margin: 8px;
    overflow: hidden;
}

.wk-advcfg-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid #e5e5e5;
    border-bottom: 1px solid var(--semi-color-border, #e5e5e5);
}

.wk-advcfg-row:last-child {
    border-bottom: none;
}

.wk-advcfg-row--sub {
    padding-left: 28px;
}

.wk-advcfg-label {
    font-size: 14px;
    color: #1c1c1e;
    color: var(--semi-color-text-0, #1c1c1e);
    flex: 1 1;
    margin-right: 12px;
}

.wk-advcfg-control {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.wk-advcfg-footer {
    position: sticky;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: #f5f5f5;
    background: var(--semi-color-bg-1, #f5f5f5);
    border-top: 1px solid #e5e5e5;
    border-top: 1px solid var(--semi-color-border, #e5e5e5);
    gap: 8px;
}

.wk-no-flex-gap .wk-advcfg-footer > *:not(:last-child) {
    margin-right: 8px;
}

