/**
* =====================================
* 滚动条美化
* 颜色通过 --wk-scrollbar-global-* 令牌变量驱动，自动适配所有主题
**/

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-thumb {
  background-color: var(--wk-scrollbar-global-thumb);
  background-clip: padding-box;
  border-radius: 8px;
}

::-webkit-scrollbar-thumb:hover {
  background-color: var(--wk-scrollbar-global-thumb-hover);
}

/**
 * 消息时间分隔线样式
 * 
 * 优化说明：
 * - 高度 28px - 需求 14.1
 * - 时间文字字号 11px - 需求 14.2
 * - 时间文字颜色 - 需求 14.3
 * - 背景色 - 需求 14.4
 * - 内边距 4px 12px - 需求 14.5
 * - 圆角 12px - 需求 14.6
 * - 居中显示 - 需求 14.7
 * - 暗色模式通过令牌自动适配 - 需求 14.8
 * 
 * 需求引用：14.1-14.8
 */

/* 时间分隔线容器 */
.wk-message-time-box {
    width: 100%;
    /* 高度 28px - 需求 14.1 */
    height: 28px;
    margin: 0 auto;
    padding: 8px 0;
    padding: var(--wk-spacing-sm, 8px) 0;
    /* 居中显示 - 需求 14.7 */
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 时间文字样式 */
.wk-message-time {
    /* 时间文字颜色 - 需求 14.3 */
    color: var(--wk-color-text-hint);
    /* 内边距 4px 12px - 需求 14.5 */
    padding: 4px 12px;
    padding: var(--wk-spacing-xs, 4px) var(--wk-spacing-md, 12px);
    white-space: nowrap;
    width: auto;
    /* 时间文字字号 11px - 需求 14.2 */
    font-size: 11px;
    font-weight: 500;
    /* 背景色通过令牌驱动 - 需求 14.4, 14.8 */
    background-color: var(--wk-time-bg);
    /* 圆角 12px - 需求 14.6 */
    border-radius: 12px;
    border-radius: var(--wk-radius-lg, 12px);
    /* 阴影通过令牌驱动 */
    box-shadow: var(--wk-time-shadow);
}

/* 移除旧的渐变线条样式，使用更简洁的设计 */
.wk-message-time-line1,
.wk-message-time-line2 {
    display: none;
}



.wk-message-split-box {
    width: 85%;
    margin: 0 auto;
    padding: 20px;
    text-align: center;
    display: table;
}

.wk-message-split-content {
    /* 分隔线文字使用发送者名称令牌（同为 rgba(9,30,66,.74) 语义） */
    color: var(--wk-bubble-sender-name);
    padding: 5px 8px 0;
    white-space: nowrap;
    width: auto;
    font-size: 12px;
    font-weight: 600;
}

.wk-message-split-line1 {
    background-image: linear-gradient(360deg,transparent,rgba(9,30,66,.12));
    background-position: 0 0,0 100%;
    background-repeat: no-repeat;
    background-size: 100% 1px;
    top: 13px;
    width: 50%;
    display: table-cell;
    position: relative;
}

.wk-message-split-line2 {
    background-image: linear-gradient(360deg,rgba(9,30,66,.12),transparent);
    background-position: 0 0,0 100%;
    background-repeat: no-repeat;
    background-size: 100% 1px;
    top: 13px;
    width: 50%;
    display: table-cell;
    position: relative;
}
/* shadow */
/* sizing */
/* spacing */
body, :host {
  --semi-transition_duration-slowest:0ms;
  --semi-transition_duration-slower:0ms;
  --semi-transition_duration-slow:0ms;
  --semi-transition_duration-normal:0ms;
  --semi-transition_duration-fast:0ms;
  --semi-transition_duration-faster:0ms;
  --semi-transition_duration-fastest:0ms;
  --semi-transition_duration-none:0ms;
  --semi-transition_function-linear:linear;
  --semi-transition_function-ease:ease;
  --semi-transition_function-easeIn:ease-in;
  --semi-transition_function-easeOut:ease-out;
  --semi-transition_function-easeInIOut:ease-in-out;
  --semi-transition_delay-none: 0ms;
  --semi-transition_delay-slowest:0ms;
  --semi-transition_delay-slower:0ms;
  --semi-transition_delay-slow:0ms;
  --semi-transition_delay-normal:0ms;
  --semi-transition_delay-fast:0ms;
  --semi-transition_delay-faster:0ms;
  --semi-transition_delay-fastest:0ms;
  --semi-transform_scale-none:scale(1,1);
  --semi-transform_scale-small:scale(1,1);
  --semi-transform_scale-medium:scale(1,1);
  --semi-transform_scale-large:scale(1,1);
  --semi-transform-rotate-none:rotate(0deg);
  --semi-transform_rotate-clockwise90deg:rotate(90deg);
  --semi-transform_rotate-clockwise180deg:rotate(180deg);
  --semi-transform_rotate-clockwise270deg:rotate(270deg);
  --semi-transform_rotate-clockwise360deg:rotate(360deg);
  --semi-transform_rotate-anticlockwise90deg:rotate(-90deg);
  --semi-transform_rotate-anticlockwise180deg:rotate(-180deg);
  --semi-transform_rotate-anticlockwise270deg:rotate(-270deg);
  --semi-transform_rotate-anticlockwise360deg:rotate(-360deg);
}

body, body .semi-always-light, :host, :host .semi-always-light {
  --semi-amber-0: 254,251,235;
  --semi-amber-1: 252,245,206;
  --semi-amber-2: 249,232,158;
  --semi-amber-3: 246,216,111;
  --semi-amber-4: 243,198,65;
  --semi-amber-5: 240,177,20;
  --semi-amber-6: 200,138,15;
  --semi-amber-7: 160,102,10;
  --semi-amber-8: 120,70,6;
  --semi-amber-9: 80,43,3;
  --semi-black: 0,0,0;
  --semi-blue-0: 234,245,255;
  --semi-blue-1: 203,231,254;
  --semi-blue-2: 152,205,253;
  --semi-blue-3: 101,178,252;
  --semi-blue-4: 50,149,251;
  --semi-blue-5: 0,100,250;
  --semi-blue-6: 0,98,214;
  --semi-blue-7: 0,79,179;
  --semi-blue-8: 0,61,143;
  --semi-blue-9: 0,44,107;
  --semi-cyan-0: 229,247,248;
  --semi-cyan-1: 194,239,240;
  --semi-cyan-2: 138,221,226;
  --semi-cyan-3: 88,203,211;
  --semi-cyan-4: 44,184,197;
  --semi-cyan-5: 5,164,182;
  --semi-cyan-6: 3,134,152;
  --semi-cyan-7: 1,105,121;
  --semi-cyan-8: 0,77,91;
  --semi-cyan-9: 0,50,61;
  --semi-green-0: 236,247,236;
  --semi-green-1: 208,240,209;
  --semi-green-2: 164,224,167;
  --semi-green-3: 125,209,130;
  --semi-green-4: 90,194,98;
  --semi-green-5: 59,179,70;
  --semi-green-6: 48,149,59;
  --semi-green-7: 37,119,47;
  --semi-green-8: 27,89,36;
  --semi-green-9: 17,60,24;
  --semi-grey-0: 249,249,249;
  --semi-grey-1: 230,232,234;
  --semi-grey-2: 198,202,205;
  --semi-grey-3: 167,171,176;
  --semi-grey-4: 136,141,146;
  --semi-grey-5: 107,112,117;
  --semi-grey-6: 85,91,97;
  --semi-grey-7: 65,70,76;
  --semi-grey-8: 46,50,56;
  --semi-grey-9: 28,31,35;
  --semi-indigo-0: 236,239,248;
  --semi-indigo-1: 209,216,240;
  --semi-indigo-2: 167,179,225;
  --semi-indigo-3: 128,144,211;
  --semi-indigo-4: 94,111,196;
  --semi-indigo-5: 63,81,181;
  --semi-indigo-6: 51,66,161;
  --semi-indigo-7: 40,52,140;
  --semi-indigo-8: 31,40,120;
  --semi-indigo-9: 23,29,99;
  --semi-light-blue-0: 233,247,253;
  --semi-light-blue-1: 201,236,252;
  --semi-light-blue-2: 149,216,248;
  --semi-light-blue-3: 98,195,245;
  --semi-light-blue-4: 48,172,241;
  --semi-light-blue-5: 0,149,238;
  --semi-light-blue-6: 0,123,202;
  --semi-light-blue-7: 0,99,167;
  --semi-light-blue-8: 0,75,131;
  --semi-light-blue-9: 0,53,95;
  --semi-light-green-0: 243,248,236;
  --semi-light-green-1: 227,240,208;
  --semi-light-green-2: 200,226,165;
  --semi-light-green-3: 173,211,126;
  --semi-light-green-4: 147,197,91;
  --semi-light-green-5: 123,182,60;
  --semi-light-green-6: 100,152,48;
  --semi-light-green-7: 78,121,38;
  --semi-light-green-8: 57,91,27;
  --semi-light-green-9: 37,61,18;
  --semi-lime-0: 242,250,230;
  --semi-lime-1: 227,246,197;
  --semi-lime-2: 203,237,142;
  --semi-lime-3: 183,227,91;
  --semi-lime-4: 167,218,44;
  --semi-lime-5: 155,209,0;
  --semi-lime-6: 126,174,0;
  --semi-lime-7: 99,139,0;
  --semi-lime-8: 72,104,0;
  --semi-lime-9: 47,70,0;
  --semi-orange-0: 255,248,234;
  --semi-orange-1: 254,238,204;
  --semi-orange-2: 254,217,152;
  --semi-orange-3: 253,193,101;
  --semi-orange-4: 253,166,51;
  --semi-orange-5: 252,136,0;
  --semi-orange-6: 210,103,0;
  --semi-orange-7: 168,74,0;
  --semi-orange-8: 126,49,0;
  --semi-orange-9: 84,29,0;
  --semi-pink-0: 253,236,239;
  --semi-pink-1: 251,207,216;
  --semi-pink-2: 246,160,181;
  --semi-pink-3: 242,115,150;
  --semi-pink-4: 237,72,123;
  --semi-pink-5: 233,30,99;
  --semi-pink-6: 197,19,86;
  --semi-pink-7: 162,11,72;
  --semi-pink-8: 126,5,58;
  --semi-pink-9: 90,1,43;
  --semi-purple-0: 247,233,247;
  --semi-purple-1: 239,202,240;
  --semi-purple-2: 221,155,224;
  --semi-purple-3: 201,111,209;
  --semi-purple-4: 180,73,194;
  --semi-purple-5: 158,40,179;
  --semi-purple-6: 135,30,158;
  --semi-purple-7: 113,22,138;
  --semi-purple-8: 92,15,117;
  --semi-purple-9: 73,10,97;
  --semi-red-0: 254,242,237;
  --semi-red-1: 254,221,210;
  --semi-red-2: 253,183,165;
  --semi-red-3: 251,144,120;
  --semi-red-4: 250,102,76;
  --semi-red-5: 249,57,32;
  --semi-red-6: 213,37,21;
  --semi-red-7: 178,20,12;
  --semi-red-8: 142,8,5;
  --semi-red-9: 106,1,3;
  --semi-teal-0: 228,247,244;
  --semi-teal-1: 192,240,232;
  --semi-teal-2: 135,224,211;
  --semi-teal-3: 84,209,193;
  --semi-teal-4: 39,194,176;
  --semi-teal-5: 0,179,161;
  --semi-teal-6: 0,149,137;
  --semi-teal-7: 0,119,111;
  --semi-teal-8: 0,89,85;
  --semi-teal-9: 0,60,58;
  --semi-violet-0: 243,237,249;
  --semi-violet-1: 226,209,244;
  --semi-violet-2: 196,167,233;
  --semi-violet-3: 166,127,221;
  --semi-violet-4: 136,91,210;
  --semi-violet-5: 106,58,199;
  --semi-violet-6: 87,47,179;
  --semi-violet-7: 70,37,158;
  --semi-violet-8: 54,28,138;
  --semi-violet-9: 40,20,117;
  --semi-white: 255,255,255;
  --semi-yellow-0: 255,253,234;
  --semi-yellow-1: 254,251,203;
  --semi-yellow-2: 253,243,152;
  --semi-yellow-3: 252,232,101;
  --semi-yellow-4: 251,218,50;
  --semi-yellow-5: 250,200,0;
  --semi-yellow-6: 208,170,0;
  --semi-yellow-7: 167,139,0;
  --semi-yellow-8: 125,106,0;
  --semi-yellow-9: 83,72,0;
  --semi-ai-purple-0: 248,237,255;
  --semi-ai-purple-1: 242,218,255;
  --semi-ai-purple-2: 227,181,255;
  --semi-ai-purple-3: 209,145,255;
  --semi-ai-purple-4: 189,108,255;
  --semi-ai-purple-5: 166,71,255;
  --semi-ai-purple-6: 134,54,219;
  --semi-ai-purple-7: 105,40,184;
  --semi-ai-purple-8: 78,28,148;
  --semi-ai-purple-9: 54,18,112;
  --semi-ai-general-0-3: 239,247,255;
  --semi-ai-general-0-2: 244,244,255;
  --semi-ai-general-0-1: 248,237,255;
  --semi-ai-general-0-0: 255,242,255;
  --semi-ai-general-1-3: 213,235,255;
  --semi-ai-general-1-2: 223,224,255;
  --semi-ai-general-1-1: 242,218,255;
  --semi-ai-general-1-0: 255,218,254;
  --semi-ai-general-2-3: 171,213,255;
  --semi-ai-general-2-2: 193,192,255;
  --semi-ai-general-2-1: 227,181,255;
  --semi-ai-general-2-0: 254,181,255;
  --semi-ai-general-3-3: 130,190,255;
  --semi-ai-general-3-2: 163,160,255;
  --semi-ai-general-3-1: 209,145,255;
  --semi-ai-general-3-0: 249,143,255;
  --semi-ai-general-4-3: 88,166,255;
  --semi-ai-general-4-2: 134,129,255;
  --semi-ai-general-4-1: 189,108,255;
  --semi-ai-general-4-0: 242,106,255;
  --semi-ai-general-5-3: 46,140,255;
  --semi-ai-general-5-2: 107,97,255;
  --semi-ai-general-5-1: 166,71,255;
  --semi-ai-general-5-0: 233,69,255;
  --semi-ai-general-6-3: 33,114,219;
  --semi-ai-general-6-2: 88,77,219;
  --semi-ai-general-6-1: 134,54,219;
  --semi-ai-general-6-0: 194,53,219;
  --semi-ai-general-7-3: 22,89,184;
  --semi-ai-general-7-2: 71,59,184;
  --semi-ai-general-7-1: 105,40,184;
  --semi-ai-general-7-0: 157,39,184;
  --semi-ai-general-8-3: 13,67,148;
  --semi-ai-general-8-2: 55,43,148;
  --semi-ai-general-8-1: 78,28,148;
  --semi-ai-general-8-0: 121,27,148;
  --semi-ai-general-9-3: 7,47,112;
  --semi-ai-general-9-2: 40,29,112;
  --semi-ai-general-9-1: 54,18,112;
  --semi-ai-general-9-0: 88,17,112;
  --semi-ai-general-0: linear-gradient(278deg, rgba(var(--semi-ai-general-0-0)) 0%, rgba(var(--semi-ai-general-0-1)) 30%, rgba(var(--semi-ai-general-0-2)) 60%, rgba(var(--semi-ai-general-0-3)) 100%);
  --semi-ai-general-1: linear-gradient(278deg, rgba(var(--semi-ai-general-1-0)) 0%, rgba(var(--semi-ai-general-1-1)) 30%, rgba(var(--semi-ai-general-1-2)) 60%, rgba(var(--semi-ai-general-1-3)) 100%);
  --semi-ai-general-2: linear-gradient(278deg, rgba(var(--semi-ai-general-2-0)) 0%, rgba(var(--semi-ai-general-2-1)) 30%, rgba(var(--semi-ai-general-2-2)) 60%, rgba(var(--semi-ai-general-2-3)) 100%);
  --semi-ai-general-3: linear-gradient(278deg, rgba(var(--semi-ai-general-3-0)) 0%, rgba(var(--semi-ai-general-3-1)) 30%, rgba(var(--semi-ai-general-3-2)) 60%, rgba(var(--semi-ai-general-3-3)) 100%);
  --semi-ai-general-4: linear-gradient(278deg, rgba(var(--semi-ai-general-4-0)) 0%, rgba(var(--semi-ai-general-4-1)) 30%, rgba(var(--semi-ai-general-4-2)) 60%, rgba(var(--semi-ai-general-4-3)) 100%);
  --semi-ai-general-5: linear-gradient(278deg, rgba(var(--semi-ai-general-5-0)) 0%, rgba(var(--semi-ai-general-5-1)) 30%, rgba(var(--semi-ai-general-5-2)) 60%, rgba(var(--semi-ai-general-5-3)) 100%);
  --semi-ai-general-6: linear-gradient(278deg, rgba(var(--semi-ai-general-6-0)) 0%, rgba(var(--semi-ai-general-6-1)) 30%, rgba(var(--semi-ai-general-6-2)) 60%, rgba(var(--semi-ai-general-6-3)) 100%);
  --semi-ai-general-7: linear-gradient(278deg, rgba(var(--semi-ai-general-7-0)) 0%, rgba(var(--semi-ai-general-7-1)) 30%, rgba(var(--semi-ai-general-7-2)) 60%, rgba(var(--semi-ai-general-7-3)) 100%);
  --semi-ai-general-8: linear-gradient(278deg, rgba(var(--semi-ai-general-8-0)) 0%, rgba(var(--semi-ai-general-8-1)) 30%, rgba(var(--semi-ai-general-8-2)) 60%, rgba(var(--semi-ai-general-8-3)) 100%);
  --semi-ai-general-9: linear-gradient(278deg, rgba(var(--semi-ai-general-9-0)) 0%, rgba(var(--semi-ai-general-9-1)) 30%, rgba(var(--semi-ai-general-9-2)) 60%, rgba(var(--semi-ai-general-9-3)) 100%);
}

body[theme-mode=dark], body .semi-always-dark, :host([theme-mode=dark]), :host .semi-always-dark {
  --semi-red-0: 108,9,11;
  --semi-red-1: 144,17,16;
  --semi-red-2: 180,32,25;
  --semi-red-3: 215,51,36;
  --semi-red-4: 251,73,50;
  --semi-red-5: 252,114,90;
  --semi-red-6: 253,153,131;
  --semi-red-7: 253,190,172;
  --semi-red-8: 254,224,213;
  --semi-red-9: 255,243,239;
  --semi-pink-0: 92,7,48;
  --semi-pink-1: 128,14,65;
  --semi-pink-2: 164,23,81;
  --semi-pink-3: 199,34,97;
  --semi-pink-4: 235,47,113;
  --semi-pink-5: 239,86,134;
  --semi-pink-6: 243,126,159;
  --semi-pink-7: 247,168,188;
  --semi-pink-8: 251,211,220;
  --semi-pink-9: 253,238,241;
  --semi-purple-0: 74,16,97;
  --semi-purple-1: 94,23,118;
  --semi-purple-2: 115,31,138;
  --semi-purple-3: 137,40,159;
  --semi-purple-4: 160,51,179;
  --semi-purple-5: 181,83,194;
  --semi-purple-6: 202,120,209;
  --semi-purple-7: 221,160,225;
  --semi-purple-8: 239,206,240;
  --semi-purple-9: 247,235,247;
  --semi-violet-0: 64,27,119;
  --semi-violet-1: 76,36,140;
  --semi-violet-2: 88,46,160;
  --semi-violet-3: 100,57,181;
  --semi-violet-4: 114,70,201;
  --semi-violet-5: 136,101,212;
  --semi-violet-6: 162,136,223;
  --semi-violet-7: 190,173,233;
  --semi-violet-8: 221,212,244;
  --semi-violet-9: 241,238,250;
  --semi-indigo-0: 23,30,101;
  --semi-indigo-1: 32,41,122;
  --semi-indigo-2: 41,54,142;
  --semi-indigo-3: 52,68,163;
  --semi-indigo-4: 64,83,183;
  --semi-indigo-5: 95,113,197;
  --semi-indigo-6: 129,145,212;
  --semi-indigo-7: 167,180,226;
  --semi-indigo-8: 209,216,241;
  --semi-indigo-9: 237,239,248;
  --semi-blue-0: 5,49,112;
  --semi-blue-1: 10,70,148;
  --semi-blue-2: 19,92,184;
  --semi-blue-3: 29,117,219;
  --semi-blue-4: 41,144,255;
  --semi-blue-5: 84,169,255;
  --semi-blue-6: 127,193,255;
  --semi-blue-7: 169,215,255;
  --semi-blue-8: 212,236,255;
  --semi-blue-9: 239,248,255;
  --semi-light-blue-0: 0,55,97;
  --semi-light-blue-1: 0,77,133;
  --semi-light-blue-2: 3,102,169;
  --semi-light-blue-3: 10,129,204;
  --semi-light-blue-4: 19,159,240;
  --semi-light-blue-5: 64,180,243;
  --semi-light-blue-6: 110,200,246;
  --semi-light-blue-7: 157,220,249;
  --semi-light-blue-8: 206,238,252;
  --semi-light-blue-9: 235,248,254;
  --semi-cyan-0: 4,52,61;
  --semi-cyan-1: 7,79,92;
  --semi-cyan-2: 10,108,123;
  --semi-cyan-3: 14,137,153;
  --semi-cyan-4: 19,168,184;
  --semi-cyan-5: 56,187,198;
  --semi-cyan-6: 98,205,212;
  --semi-cyan-7: 145,223,227;
  --semi-cyan-8: 198,239,241;
  --semi-cyan-9: 231,247,248;
  --semi-teal-0: 2,60,57;
  --semi-teal-1: 4,90,85;
  --semi-teal-2: 7,119,111;
  --semi-teal-3: 10,149,136;
  --semi-teal-4: 14,179,161;
  --semi-teal-5: 51,194,176;
  --semi-teal-6: 94,209,193;
  --semi-teal-7: 142,225,211;
  --semi-teal-8: 196,240,232;
  --semi-teal-9: 230,247,244;
  --semi-green-0: 18,60,25;
  --semi-green-1: 28,90,37;
  --semi-green-2: 39,119,49;
  --semi-green-3: 50,149,61;
  --semi-green-4: 62,179,73;
  --semi-green-5: 93,194,100;
  --semi-green-6: 127,209,132;
  --semi-green-7: 166,225,168;
  --semi-green-8: 208,240,209;
  --semi-green-9: 236,247,236;
  --semi-light-green-0: 38,61,19;
  --semi-light-green-1: 59,92,29;
  --semi-light-green-2: 81,123,40;
  --semi-light-green-3: 103,153,52;
  --semi-light-green-4: 127,184,64;
  --semi-light-green-5: 151,198,95;
  --semi-light-green-6: 176,212,129;
  --semi-light-green-7: 201,227,167;
  --semi-light-green-8: 228,241,209;
  --semi-light-green-9: 243,248,237;
  --semi-lime-0: 49,70,3;
  --semi-lime-1: 75,105,5;
  --semi-lime-2: 103,141,9;
  --semi-lime-3: 132,176,12;
  --semi-lime-4: 162,211,17;
  --semi-lime-5: 174,220,58;
  --semi-lime-6: 189,229,102;
  --semi-lime-7: 207,237,150;
  --semi-lime-8: 229,246,201;
  --semi-lime-9: 243,251,233;
  --semi-yellow-0: 84,73,3;
  --semi-yellow-1: 126,108,6;
  --semi-yellow-2: 168,142,10;
  --semi-yellow-3: 210,175,15;
  --semi-yellow-4: 252,206,20;
  --semi-yellow-5: 253,222,67;
  --semi-yellow-6: 253,235,113;
  --semi-yellow-7: 254,245,160;
  --semi-yellow-8: 254,251,208;
  --semi-yellow-9: 255,254,236;
  --semi-amber-0: 81,46,9;
  --semi-amber-1: 121,75,15;
  --semi-amber-2: 161,107,22;
  --semi-amber-3: 202,143,30;
  --semi-amber-4: 242,183,38;
  --semi-amber-5: 245,202,80;
  --semi-amber-6: 247,219,122;
  --semi-amber-7: 250,234,166;
  --semi-amber-8: 252,246,210;
  --semi-amber-9: 254,251,237;
  --semi-orange-0: 85,31,3;
  --semi-orange-1: 128,53,6;
  --semi-orange-2: 170,80,10;
  --semi-orange-3: 213,111,15;
  --semi-orange-4: 255,146,20;
  --semi-orange-5: 255,174,67;
  --semi-orange-6: 255,199,114;
  --semi-orange-7: 255,221,161;
  --semi-orange-8: 255,239,208;
  --semi-orange-9: 255,249,237;
  --semi-grey-0: 28,31,35;
  --semi-grey-1: 46,50,56;
  --semi-grey-2: 65,70,76;
  --semi-grey-3: 85,91,97;
  --semi-grey-4: 107,112,117;
  --semi-grey-5: 136,141,146;
  --semi-grey-6: 167,171,176;
  --semi-grey-7: 198,202,205;
  --semi-grey-8: 230,232,234;
  --semi-grey-9: 249,249,249;
  --semi-white: 255, 255, 255;
  --semi-black: 0, 0, 0;
  --semi-ai-purple-0: 58,23,112;
  --semi-ai-purple-1: 83,35,148;
  --semi-ai-purple-2: 111,49,184;
  --semi-ai-purple-3: 141,65,219;
  --semi-ai-purple-4: 167,68,255;
  --semi-ai-purple-5: 195,117,255;
  --semi-ai-purple-6: 213,152,255;
  --semi-ai-purple-7: 229,186,255;
  --semi-ai-purple-8: 243,221,255;
  --semi-ai-purple-9: 251,243,255;
  --semi-ai-general-0-0: 9,44,100;
  --semi-ai-general-0-1: 39,29,108;
  --semi-ai-general-0-2: 58,23,112;
  --semi-ai-general-0-3: 80,18,101;
  --semi-ai-general-1-0: 17,64,136;
  --semi-ai-general-1-1: 54,43,144;
  --semi-ai-general-1-2: 83,35,148;
  --semi-ai-general-1-3: 113,28,137;
  --semi-ai-general-2-0: 26,86,172;
  --semi-ai-general-2-1: 70,59,180;
  --semi-ai-general-2-2: 111,49,184;
  --semi-ai-general-2-3: 148,41,173;
  --semi-ai-general-3-0: 38,111,207;
  --semi-ai-general-3-1: 88,78,215;
  --semi-ai-general-3-2: 141,65,219;
  --semi-ai-general-3-3: 185,55,208;
  --semi-ai-general-4-0: 35,127,240;
  --semi-ai-general-4-1: 94,84,248;
  --semi-ai-general-4-2: 167,68,255;
  --semi-ai-general-4-3: 219,56,241;
  --semi-ai-general-5-0: 91,162,245;
  --semi-ai-general-5-1: 134,129,252;
  --semi-ai-general-5-2: 195,117,255;
  --semi-ai-general-5-3: 234,107,246;
  --semi-ai-general-6-0: 131,187,248;
  --semi-ai-general-6-1: 163,160,253;
  --semi-ai-general-6-2: 213,152,255;
  --semi-ai-general-6-3: 243,143,248;
  --semi-ai-general-7-0: 172,210,250;
  --semi-ai-general-7-1: 192,192,253;
  --semi-ai-general-7-2: 229,186,255;
  --semi-ai-general-7-3: 249,180,251;
  --semi-ai-general-8-0: 213,233,253;
  --semi-ai-general-8-1: 223,223,254;
  --semi-ai-general-8-2: 243,221,255;
  --semi-ai-general-8-3: 253,217,252;
  --semi-ai-general-9-0: 239,247,254;
  --semi-ai-general-9-1: 244,244,255;
  --semi-ai-general-9-2: 251,243,255;
  --semi-ai-general-9-3: 254,241,254;
  --semi-ai-general-0: linear-gradient(278deg, rgba(var(--semi-ai-general-0-0)) 0%, rgba(var(--semi-ai-general-0-1)) 30%, rgba(var(--semi-ai-general-0-2)) 60%, rgba(var(--semi-ai-general-0-3)) 100%);
  --semi-ai-general-1: linear-gradient(278deg, rgba(var(--semi-ai-general-1-0)) 0%, rgba(var(--semi-ai-general-1-1)) 30%, rgba(var(--semi-ai-general-1-2)) 60%, rgba(var(--semi-ai-general-1-3)) 100%);
  --semi-ai-general-2: linear-gradient(278deg, rgba(var(--semi-ai-general-2-0)) 0%, rgba(var(--semi-ai-general-2-1)) 30%, rgba(var(--semi-ai-general-2-2)) 60%, rgba(var(--semi-ai-general-2-3)) 100%);
  --semi-ai-general-3: linear-gradient(278deg, rgba(var(--semi-ai-general-3-0)) 0%, rgba(var(--semi-ai-general-3-1)) 30%, rgba(var(--semi-ai-general-3-2)) 60%, rgba(var(--semi-ai-general-3-3)) 100%);
  --semi-ai-general-4: linear-gradient(278deg, rgba(var(--semi-ai-general-4-0)) 0%, rgba(var(--semi-ai-general-4-1)) 30%, rgba(var(--semi-ai-general-4-2)) 60%, rgba(var(--semi-ai-general-4-3)) 100%);
  --semi-ai-general-5: linear-gradient(278deg, rgba(var(--semi-ai-general-5-0)) 0%, rgba(var(--semi-ai-general-5-1)) 30%, rgba(var(--semi-ai-general-5-2)) 60%, rgba(var(--semi-ai-general-5-3)) 100%);
  --semi-ai-general-6: linear-gradient(278deg, rgba(var(--semi-ai-general-6-0)) 0%, rgba(var(--semi-ai-general-6-1)) 30%, rgba(var(--semi-ai-general-6-2)) 60%, rgba(var(--semi-ai-general-6-3)) 100%);
  --semi-ai-general-7: linear-gradient(278deg, rgba(var(--semi-ai-general-7-0)) 0%, rgba(var(--semi-ai-general-7-1)) 30%, rgba(var(--semi-ai-general-7-2)) 60%, rgba(var(--semi-ai-general-7-3)) 100%);
  --semi-ai-general-8: linear-gradient(278deg, rgba(var(--semi-ai-general-8-0)) 0%, rgba(var(--semi-ai-general-8-1)) 30%, rgba(var(--semi-ai-general-8-2)) 60%, rgba(var(--semi-ai-general-8-3)) 100%);
  --semi-ai-general-9: linear-gradient(278deg, rgba(var(--semi-ai-general-9-0)) 0%, rgba(var(--semi-ai-general-9-1)) 30%, rgba(var(--semi-ai-general-9-2)) 60%, rgba(var(--semi-ai-general-9-3)) 100%);
}

body, body[theme-mode=dark] .semi-always-light, :host, :host .semi-always-light {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  --semi-color-white: rgba(var(--semi-white), 1);
  --semi-color-black: rgba(var(--semi-black), 1);
  --semi-color-primary: rgba(var(--semi-blue-5), 1);
  --semi-color-primary-hover: rgba(var(--semi-blue-6), 1);
  --semi-color-primary-active: rgba(var(--semi-blue-7), 1);
  --semi-color-primary-disabled: rgba(var(--semi-blue-2), 1);
  --semi-color-primary-light-default: rgba(var(--semi-blue-0), 1);
  --semi-color-primary-light-hover: rgba(var(--semi-blue-1), 1);
  --semi-color-primary-light-active: rgba(var(--semi-blue-2), 1);
  --semi-color-secondary: rgba(var(--semi-light-blue-5), 1);
  --semi-color-secondary-hover: rgba(var(--semi-light-blue-6), 1);
  --semi-color-secondary-active: rgba(var(--semi-light-blue-7), 1);
  --semi-color-secondary-disabled: rgba(var(--semi-light-blue-2), 1);
  --semi-color-secondary-light-default: rgba(var(--semi-light-blue-0), 1);
  --semi-color-secondary-light-hover: rgba(var(--semi-light-blue-1), 1);
  --semi-color-secondary-light-active: rgba(var(--semi-light-blue-2), 1);
  --semi-color-tertiary: rgba(var(--semi-grey-5), 1);
  --semi-color-tertiary-hover: rgba(var(--semi-grey-6), 1);
  --semi-color-tertiary-active: rgba(var(--semi-grey-7), 1);
  --semi-color-tertiary-light-default: rgba(var(--semi-grey-0), 1);
  --semi-color-tertiary-light-hover: rgba(var(--semi-grey-1), 1);
  --semi-color-tertiary-light-active: rgba(var(--semi-grey-2), 1);
  --semi-color-default: rgba(var(--semi-grey-0), 1);
  --semi-color-default-hover: rgba(var(--semi-grey-1), 1);
  --semi-color-default-active: rgba(var(--semi-grey-2), 1);
  --semi-color-info: rgba(var(--semi-blue-5), 1);
  --semi-color-info-hover: rgba(var(--semi-blue-6), 1);
  --semi-color-info-active: rgba(var(--semi-blue-7), 1);
  --semi-color-info-disabled: rgba(var(--semi-blue-2), 1);
  --semi-color-info-light-default: rgba(var(--semi-blue-0), 1);
  --semi-color-info-light-hover: rgba(var(--semi-blue-1), 1);
  --semi-color-info-light-active: rgba(var(--semi-blue-2), 1);
  --semi-color-success: rgba(var(--semi-green-5), 1);
  --semi-color-success-hover: rgba(var(--semi-green-6), 1);
  --semi-color-success-active: rgba(var(--semi-green-7), 1);
  --semi-color-success-disabled: rgba(var(--semi-green-2), 1);
  --semi-color-success-light-default: rgba(var(--semi-green-0), 1);
  --semi-color-success-light-hover: rgba(var(--semi-green-1), 1);
  --semi-color-success-light-active: rgba(var(--semi-green-2), 1);
  --semi-color-danger: rgba(var(--semi-red-5), 1);
  --semi-color-danger-hover: rgba(var(--semi-red-6), 1);
  --semi-color-danger-active: rgba(var(--semi-red-7), 1);
  --semi-color-danger-light-default: rgba(var(--semi-red-0), 1);
  --semi-color-danger-light-hover: rgba(var(--semi-red-1), 1);
  --semi-color-danger-light-active: rgba(var(--semi-red-2), 1);
  --semi-color-warning: rgba(var(--semi-orange-5), 1);
  --semi-color-warning-hover: rgba(var(--semi-orange-6), 1);
  --semi-color-warning-active: rgba(var(--semi-orange-7), 1);
  --semi-color-warning-light-default: rgba(var(--semi-orange-0), 1);
  --semi-color-warning-light-hover: rgba(var(--semi-orange-1), 1);
  --semi-color-warning-light-active: rgba(var(--semi-orange-2), 1);
  --semi-color-focus-border: rgba(var(--semi-blue-5), 1);
  --semi-color-disabled-text: rgba(var(--semi-grey-9), .35);
  --semi-color-disabled-border: rgba(var(--semi-grey-1), 1);
  --semi-color-disabled-bg: rgba(var(--semi-grey-1), 1);
  --semi-color-disabled-fill: rgba(var(--semi-grey-8), .04);
  --semi-color-shadow: rgba(var(--semi-black), .04);
  --semi-color-link: rgba(var(--semi-blue-5), 1);
  --semi-color-link-hover: rgba(var(--semi-blue-6), 1);
  --semi-color-link-active: rgba(var(--semi-blue-7), 1);
  --semi-color-link-visited: rgba(var(--semi-blue-5), 1);
  --semi-color-border: rgba(var(--semi-grey-9), .08);
  --semi-color-nav-bg: rgba(var(--semi-white), 1);
  --semi-color-overlay-bg: rgba(22, 22, 26, .6);
  --semi-color-fill-0: rgba(var(--semi-grey-8), .05);
  --semi-color-fill-1: rgba(var(--semi-grey-8), .09);
  --semi-color-fill-2: rgba(var(--semi-grey-8), .13);
  --semi-color-bg-0: rgba(var(--semi-white), 1);
  --semi-color-bg-1: rgba(var(--semi-white), 1);
  --semi-color-bg-2: rgba(var(--semi-white), 1);
  --semi-color-bg-3: rgba(var(--semi-white), 1);
  --semi-color-bg-4: rgba(var(--semi-white), 1);
  --semi-color-text-0: rgba(var(--semi-grey-9), 1);
  --semi-color-text-1: rgba(var(--semi-grey-9), .8);
  --semi-color-text-2: rgba(var(--semi-grey-9), .62);
  --semi-color-text-3: rgba(var(--semi-grey-9), .35);
  --semi-shadow-elevated: 0 0 1px rgba(0, 0, 0, .3), 0 4px 14px rgba(0, 0, 0, .1);
  --semi-border-radius-extra-small: 3px;
  --semi-border-radius-small: 3px;
  --semi-border-radius-medium: 6px;
  --semi-border-radius-large: 12px;
  --semi-border-radius-circle: 50%;
  --semi-border-radius-full: 9999px;
  --semi-color-highlight-bg: rgba(var(--semi-yellow-4), 1);
  --semi-color-highlight: rgba(var(--semi-black), 1);
  --semi-color-data-0: rgba(87, 105, 255, 1);
  --semi-color-data-1: rgba(142, 212, 231, 1);
  --semi-color-data-2: rgba(245, 135, 0, 1);
  --semi-color-data-3: rgba(220, 183, 252, 1);
  --semi-color-data-4: rgba(74, 156, 247, 1);
  --semi-color-data-5: rgba(243, 204, 53, 1);
  --semi-color-data-6: rgba(254, 128, 144, 1);
  --semi-color-data-7: rgba(139, 215, 210, 1);
  --semi-color-data-8: rgba(131, 176, 35, 1);
  --semi-color-data-9: rgba(233, 165, 229, 1);
  --semi-color-data-10: rgba(48, 167, 206, 1);
  --semi-color-data-11: rgba(249, 192, 100, 1);
  --semi-color-data-12: rgba(177, 113, 249, 1);
  --semi-color-data-13: rgba(119, 182, 249, 1);
  --semi-color-data-14: rgba(200, 143, 2, 1);
  --semi-color-data-15: rgba(255, 170, 178, 1);
  --semi-color-data-16: rgba(51, 176, 171, 1);
  --semi-color-data-17: rgba(182, 215, 129, 1);
  --semi-color-data-18: rgba(212, 88, 212, 1);
  --semi-color-data-19: rgba(188, 198, 255, 1);
  --semi-color-ai-general: var(--semi-ai-general-5);
  --semi-color-ai-general-hover: var(--semi-ai-general-6);
  --semi-color-ai-general-active: var(--semi-ai-general-7);
  --semi-color-ai-general-disabled: var(--semi-ai-general-2);
  --semi-color-ai-purple: rgba(var(--semi-ai-purple-5));
  --semi-color-ai-purple-hover: rgba(var(--semi-ai-purple-6));
  --semi-color-ai-purple-active: rgba(var(--semi-ai-purple-7));
  --semi-color-ai-purple-disabled: rgba(var(--semi-ai-purple-2));
  --semi-color-ai-background-bottom: linear-gradient(201.15deg, rgba(255, 255, 255, 0.04) 6.58%, rgba(255, 226, 138, 0.04) 32.88%, rgba(231, 45, 255, 0.04) 67.93%, rgba(0, 115, 255, 0.04) 94.23%);
  --semi-color-ai-background-bottom-hover: linear-gradient(201.15deg, rgba(255, 255, 255, 0.08) 6.58%, rgba(255, 226, 138, 0.08) 32.88%, rgba(231, 45, 255, 0.08) 67.93%, rgba(0, 115, 255, 0.08) 94.23%);
  --semi-color-ai-background-bottom-active: linear-gradient(201.15deg, rgba(255, 255, 255, 0.12) 6.58%, rgba(255, 226, 138, 0.12) 32.88%, rgba(231, 45, 255, 0.12) 67.93%, rgba(0, 115, 255, 0.12) 94.23%);
  --semi-color-ai-background-top: linear-gradient(201.15deg, rgba(83, 56, 255, 0.16) 6.58%, rgba(176, 48, 240, 0.096) 32.88%, rgba(231, 45, 255, 0.048) 59.17%, rgba(255, 255, 255, 0) 94.23%);
  --semi-color-ai-background-top-hover: linear-gradient(201.15deg, rgba(83, 56, 255, 0.24) 6.58%, rgba(176, 48, 240, 0.144) 32.88%, rgba(231, 45, 255, 0.072) 59.17%, rgba(255, 255, 255, 0) 94.23%);
  --semi-color-ai-background-top-hover: linear-gradient(201.15deg, rgba(83, 56, 255, 0.32) 6.58%, rgba(176, 48, 240, 0.192) 32.88%, rgba(231, 45, 255, 0.096) 59.17%, rgba(255, 255, 255, 0) 94.23%);
}

body[theme-mode=dark], body .semi-always-dark, :host([theme-mode=dark]), :host .semi-always-dark {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  --semi-color-white: rgba(228, 231, 245, 1);
  --semi-color-black: rgba(var(--semi-black), 1);
  --semi-color-primary: rgba(var(--semi-blue-5), 1);
  --semi-color-primary-hover: rgba(var(--semi-blue-6), 1);
  --semi-color-primary-active: rgba(var(--semi-blue-7), 1);
  --semi-color-primary-disabled: rgba(var(--semi-blue-2), 1);
  --semi-color-primary-light-default: rgba(var(--semi-blue-5), .2);
  --semi-color-primary-light-hover: rgba(var(--semi-blue-5), .3);
  --semi-color-primary-light-active: rgba(var(--semi-blue-5), .4);
  --semi-color-secondary: rgba(var(--semi-light-blue-5), 1);
  --semi-color-secondary-hover: rgba(var(--semi-light-blue-6), 1);
  --semi-color-secondary-active: rgba(var(--semi-light-blue-7), 1);
  --semi-color-secondary-disabled: rgba(var(--semi-light-blue-2), 1);
  --semi-color-secondary-light-default: rgba(var(--semi-light-blue-5), .2);
  --semi-color-secondary-light-hover: rgba(var(--semi-light-blue-5), .3);
  --semi-color-secondary-light-active: rgba(var(--semi-light-blue-5), .4);
  --semi-color-tertiary: rgba(var(--semi-grey-5), 1);
  --semi-color-tertiary-hover: rgba(var(--semi-grey-6), 1);
  --semi-color-tertiary-active: rgba(var(--semi-grey-7), 1);
  --semi-color-tertiary-light-default: rgba(var(--semi-grey-5), .2);
  --semi-color-tertiary-light-hover: rgba(var(--semi-grey-5), .3);
  --semi-color-tertiary-light-active: rgba(var(--semi-grey-5), .4);
  --semi-color-default: rgba(var(--semi-grey-0), 1);
  --semi-color-default-hover: rgba(var(--semi-grey-1), 1);
  --semi-color-default-active: rgba(var(--semi-grey-2), 1);
  --semi-color-info: rgba(var(--semi-blue-5), 1);
  --semi-color-info-hover: rgba(var(--semi-blue-6), 1);
  --semi-color-info-active: rgba(var(--semi-blue-7), 1);
  --semi-color-info-disabled: rgba(var(--semi-blue-2), 1);
  --semi-color-info-light-default: rgba(var(--semi-blue-5), .2);
  --semi-color-info-light-hover: rgba(var(--semi-blue-5), .3);
  --semi-color-info-light-active: rgba(var(--semi-blue-5), .4);
  --semi-color-success: rgba(var(--semi-green-5), 1);
  --semi-color-success-hover: rgba(var(--semi-green-6), 1);
  --semi-color-success-active: rgba(var(--semi-green-7), 1);
  --semi-color-success-disabled: rgba(var(--semi-green-2), 1);
  --semi-color-success-light-default: rgba(var(--semi-green-5), .2);
  --semi-color-success-light-hover: rgba(var(--semi-green-5), .3);
  --semi-color-success-light-active: rgba(var(--semi-green-5), .4);
  --semi-color-danger: rgba(var(--semi-red-5), 1);
  --semi-color-danger-hover: rgba(var(--semi-red-6), 1);
  --semi-color-danger-active: rgba(var(--semi-red-7), 1);
  --semi-color-danger-light-default: rgba(var(--semi-red-5), .2);
  --semi-color-danger-light-hover: rgba(var(--semi-red-5), .3);
  --semi-color-danger-light-active: rgba(var(--semi-red-5), .4);
  --semi-color-warning: rgba(var(--semi-orange-5), 1);
  --semi-color-warning-hover: rgba(var(--semi-orange-6), 1);
  --semi-color-warning-active: rgba(var(--semi-orange-7), 1);
  --semi-color-warning-light-default: rgba(var(--semi-orange-5), .2);
  --semi-color-warning-light-hover: rgba(var(--semi-orange-5), .3);
  --semi-color-warning-light-active: rgba(var(--semi-orange-5), .4);
  --semi-color-focus-border: rgba(var(--semi-blue-5), 1);
  --semi-color-disabled-text: rgba(var(--semi-grey-9), .35);
  --semi-color-disabled-border: rgba(var(--semi-grey-1), 1);
  --semi-color-disabled-bg: rgba(var(--semi-grey-1), 1);
  --semi-color-disabled-fill: rgba(var(--semi-grey-8), .04);
  --semi-color-link: rgba(var(--semi-blue-5), 1);
  --semi-color-link-hover: rgba(var(--semi-blue-6), 1);
  --semi-color-link-active: rgba(var(--semi-blue-7), 1);
  --semi-color-link-visited: rgba(var(--semi-blue-5), 1);
  --semi-color-nav-bg: rgba(35, 36, 41, 1);
  --semi-shadow-elevated: inset 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 14px rgba(0, 0, 0, .25);
  --semi-color-overlay-bg: rgba(22, 22, 26, .6);
  --semi-color-fill-0: rgba(var(--semi-white), .12);
  --semi-color-fill-1: rgba(var(--semi-white), .16);
  --semi-color-fill-2: rgba(var(--semi-white), .20);
  --semi-color-border: rgba(var(--semi-white), .08);
  --semi-color-shadow: rgba(var(--semi-black), .04);
  --semi-color-bg-0: rgba(22, 22, 26, 1);
  --semi-color-bg-1: rgba(35, 36, 41, 1);
  --semi-color-bg-2: rgba(53, 54, 60, 1);
  --semi-color-bg-3: rgba(67, 68, 74, 1);
  --semi-color-bg-4: rgba(79, 81, 89, 1);
  --semi-color-text-0: rgba(var(--semi-grey-9), 1);
  --semi-color-text-1: rgba(var(--semi-grey-9), .8);
  --semi-color-text-2: rgba(var(--semi-grey-9), .6);
  --semi-color-text-3: rgba(var(--semi-grey-9), .35);
  --semi-border-radius-extra-small: 3px;
  --semi-border-radius-small: 3px;
  --semi-border-radius-medium: 6px;
  --semi-border-radius-large: 12px;
  --semi-border-radius-circle: 50%;
  --semi-border-radius-full: 9999px;
  --semi-color-highlight-bg: rgba(var(--semi-yellow-2), 1);
  --semi-color-highlight: rgba(var(--semi-white), 1);
  --semi-color-data-0: rgba(94, 109, 194, 1);
  --semi-color-data-1: rgba(8, 104, 120, 1);
  --semi-color-data-2: rgba(250, 173, 63, 1);
  --semi-color-data-3: rgba(76, 43, 156, 1);
  --semi-color-data-4: rgba(16, 125, 248, 1);
  --semi-color-data-5: rgba(248, 202, 16, 1);
  --semi-color-data-6: rgba(195, 30, 87, 1);
  --semi-color-data-7: rgba(5, 119, 115, 1);
  --semi-color-data-8: rgba(154, 207, 13, 1);
  --semi-color-data-9: rgba(117, 29, 138, 1);
  --semi-color-data-10: rgba(16, 162, 180, 1);
  --semi-color-data-11: rgba(208, 110, 11, 1);
  --semi-color-data-12: rgba(113, 66, 197, 1);
  --semi-color-data-13: rgba(7, 100, 212, 1);
  --semi-color-data-14: rgba(251, 232, 110, 1);
  --semi-color-data-15: rgba(160, 19, 73, 1);
  --semi-color-data-16: rgba(11, 179, 167, 1);
  --semi-color-data-17: rgba(98, 138, 6, 1);
  --semi-color-data-18: rgba(162, 48, 179, 1);
  --semi-color-data-19: rgba(40, 51, 138, 1);
  --semi-color-ai-general: var(--semi-ai-general-5);
  --semi-color-ai-general-hover: var(--semi-ai-general-6);
  --semi-color-ai-general-active: var(--semi-ai-general-7);
  --semi-color-ai-general-disabled: var(--semi-ai-general-2);
  --semi-color-ai-purple: rgba(var(--semi-ai-purple-5));
  --semi-color-ai-purple-hover: rgba(var(--semi-ai-purple-6));
  --semi-color-ai-purple-active: rgba(var(--semi-ai-purple-7));
  --semi-color-ai-purple-disabled: rgba(var(--semi-ai-purple-2));
  --semi-color-ai-background-bottom: linear-gradient(201.15deg, rgba(255, 226, 138, 0.2) 6.58%, rgba(231, 45, 255, 0.2) 50.4%, rgba(0, 115, 255, 0.2) 94.23%);
  --semi-color-ai-background-bottom-hover: linear-gradient(201.15deg, rgba(255, 226, 138, 0.3) 6.58%, rgba(231, 45, 255, 0.3) 50.4%, rgba(0, 115, 255, 0.3) 94.23%);
  --semi-color-ai-background-bottom-active: linear-gradient(201.15deg, rgba(255, 226, 138, 0.4) 6.58%, rgba(231, 45, 255, 0.4) 50.4%, rgba(0, 115, 255, 0.4) 94.23%);
  --semi-color-ai-background-top: linear-gradient(201.15deg, rgba(83, 56, 255, 0.36) 6.58%, rgba(176, 48, 240, 0.216) 32.88%, rgba(154, 0, 174, 0.108) 59.17%, rgba(0, 0, 0, 0) 94.23%);
  --semi-color-ai-background-top-hover: linear-gradient(201.15deg, rgba(83, 56, 255, 0.54) 6.58%, rgba(176, 48, 240, 0.324) 32.88%, rgba(154, 0, 174, 0.162) 59.17%, rgba(0, 0, 0, 0) 94.23%);
  --semi-color-ai-background-top-hover: linear-gradient(201.15deg, rgba(83, 56, 255, 0.72) 6.58%, rgba(176, 48, 240, 0.432) 32.88%, rgba(154, 0, 174, 0.216) 59.17%, rgba(0, 0, 0, 0) 94.23%);
}

.semi-light-scrollbar::-webkit-scrollbar, .semi-light-scrollbar *::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.semi-light-scrollbar::-webkit-scrollbar-track, .semi-light-scrollbar *::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0);
}
.semi-light-scrollbar::-webkit-scrollbar-corner, .semi-light-scrollbar *::-webkit-scrollbar-corner {
  background-color: rgba(0, 0, 0, 0);
}
.semi-light-scrollbar::-webkit-scrollbar-thumb, .semi-light-scrollbar *::-webkit-scrollbar-thumb {
  border-radius: 6px;
  background: transparent;
  -webkit-transition: all 1s;
  transition: all 1s;
}
.semi-light-scrollbar:hover::-webkit-scrollbar-thumb, .semi-light-scrollbar *:hover::-webkit-scrollbar-thumb {
  background: var(--semi-color-fill-2);
}
.semi-light-scrollbar::-webkit-scrollbar-thumb:hover, .semi-light-scrollbar *::-webkit-scrollbar-thumb:hover {
  background: var(--semi-color-fill-1);
}
/* shadow */
/* sizing */
/* spacing */
.semi-button-split {
  display: inline-block;
}
.semi-button-split .semi-button {
  border-radius: 0;
  margin-right: 1px;
}
.semi-button-split .semi-button-first {
  border-top-left-radius: var(--semi-border-radius-small);
  border-bottom-left-radius: var(--semi-border-radius-small);
}
.semi-button-split .semi-button-last {
  border-top-right-radius: var(--semi-border-radius-small);
  border-bottom-right-radius: var(--semi-border-radius-small);
  margin-right: 0;
  margin-right: initial;
}
.semi-button-split:hover .semi-button-borderless:active {
  background-color: var(--semi-color-fill-1);
}

.semi-button {
  --semi-button-colorful-multiple-fill-0: rgba(var(--semi-ai-general-5-3));
  --semi-button-colorful-multiple-fill-1: rgba(var(--semi-ai-general-5-2));
  --semi-button-colorful-multiple-fill-2: rgba(var(--semi-ai-general-5-1));
  --semi-button-colorful-multiple-fill-3: rgba(var(--semi-ai-general-5-0));
  --semi-button-colorful-disabled-fill: var(--semi-color-disabled-text);
  --semi-button-colorful-fill-primary: var(--semi-color-ai-purple);
  --semi-button-colorful-fill-secondary: var(--semi-color-text-0);
}

.semi-button {
  box-shadow: none;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 0 transparent solid;
  border-radius: var(--semi-border-radius-small);
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  outline: none;
  vertical-align: middle;
  white-space: nowrap;
}
.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(--semi-color-primary-light-active);
}
.semi-button-content {
  display: flex;
  align-items: center;
}
.semi-button-danger {
  background-color: var(--semi-color-danger);
  color: rgba(var(--semi-white), 1);
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-button-danger-disabled {
  background-color: var(--semi-color-disabled-bg);
}
.semi-button-danger-disabled.semi-button-outline {
  background-color: transparent;
  border: 1px solid var(--semi-color-border);
}
.semi-button-danger-disabled.semi-button-light {
  background-color: var(--semi-color-fill-0);
}
.semi-button-danger:hover {
  background-color: var(--semi-color-danger-hover);
}
.semi-button-danger:active {
  background-color: var(--semi-color-danger-active);
}
.semi-button-danger.semi-button-outline {
  background-color: transparent;
  border: 1px solid var(--semi-color-danger);
}
.semi-button-danger.semi-button-light, .semi-button-danger.semi-button-outline, .semi-button-danger.semi-button-borderless {
  color: var(--semi-color-danger);
}
.semi-button-danger:not(.semi-button-borderless):not(.semi-button-light):focus-visible {
  outline: 2px solid var(--semi-color-danger-light-active);
}
.semi-button-warning {
  background-color: var(--semi-color-warning);
  color: rgba(var(--semi-white), 1);
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-button-warning-disabled {
  background-color: var(--semi-color-disabled-bg);
}
.semi-button-warning-disabled.semi-button-outline {
  background-color: transparent;
  border: 1px solid var(--semi-color-border);
}
.semi-button-warning-disabled.semi-button-light {
  background-color: var(--semi-color-fill-0);
}
.semi-button-warning:hover {
  background-color: var(--semi-color-warning-hover);
}
.semi-button-warning:active {
  background-color: var(--semi-color-warning-active);
}
.semi-button-warning.semi-button-outline {
  background-color: transparent;
  border: 1px solid var(--semi-color-warning);
}
.semi-button-warning.semi-button-light, .semi-button-warning.semi-button-outline, .semi-button-warning.semi-button-borderless {
  color: var(--semi-color-warning);
}
.semi-button-warning:not(.semi-button-borderless):not(.semi-button-light):focus-visible {
  outline: 2px solid var(--semi-color-warning-light-active);
}
.semi-button-tertiary {
  background-color: var(--semi-color-tertiary);
  color: rgba(var(--semi-white), 1);
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-button-tertiary.semi-button-colorful.semi-button-solid {
  background: var(--semi-ai-general-0);
}
.semi-button-tertiary.semi-button-colorful.semi-button-solid:hover {
  background: var(--semi-ai-general-1);
}
.semi-button-tertiary.semi-button-colorful.semi-button-solid:active {
  background: var(--semi-ai-general-2);
}
.semi-button-tertiary.semi-button-colorful.semi-button-solid .semi-button-content-right, .semi-button-tertiary.semi-button-colorful.semi-button-solid .semi-button-content:not(:has(> .semi-button-content-right)) {
  background: var(--semi-color-ai-general);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.semi-button-tertiary-disabled {
  background-color: var(--semi-color-disabled-bg);
}
.semi-button-tertiary-disabled.semi-button-outline {
  background-color: transparent;
  border: 1px solid var(--semi-color-border);
}
.semi-button-tertiary-disabled.semi-button-light {
  background-color: var(--semi-color-fill-0);
}
.semi-button-tertiary:hover {
  background-color: var(--semi-color-tertiary-hover);
}
.semi-button-tertiary:active {
  background-color: var(--semi-color-tertiary-active);
}
.semi-button-tertiary.semi-button-outline {
  background-color: transparent;
  border: 1px solid var(--semi-color-border);
}
.semi-button-tertiary.semi-button-light, .semi-button-tertiary.semi-button-outline, .semi-button-tertiary.semi-button-borderless {
  color: var(--semi-color-text-1);
}
.semi-button-primary {
  background-color: var(--semi-color-primary);
  color: rgba(var(--semi-white), 1);
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-button-primary.semi-button-colorful.semi-button-solid {
  background: var(--semi-color-ai-general);
}
.semi-button-primary.semi-button-colorful.semi-button-solid:not(.semi-button-borderless):not(.semi-button-light):not(.semi-button-outline):hover {
  background: var(--semi-color-ai-general-hover);
}
.semi-button-primary.semi-button-colorful.semi-button-solid:not(.semi-button-borderless):not(.semi-button-light):not(.semi-button-outline):active {
  background: var(--semi-color-ai-general-active);
}
.semi-button-primary.semi-button-colorful.semi-button-light .semi-button-content-right, .semi-button-primary.semi-button-colorful.semi-button-light .semi-button-content:not(:has(> .semi-button-content-right)) {
  background: var(--semi-color-ai-general);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.semi-button-primary.semi-button-colorful.semi-button-outline {
  color: var(--semi-color-ai-purple);
  border-color: var(--semi-color-ai-purple);
}
.semi-button-primary.semi-button-colorful.semi-button-borderless .semi-button-content-right, .semi-button-primary.semi-button-colorful.semi-button-borderless .semi-button-content:not(:has(> .semi-button-content-right)) {
  background: var(--semi-color-ai-general);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.semi-button-primary-disabled {
  background-color: var(--semi-color-disabled-bg);
}
.semi-button-primary-disabled.semi-button-light {
  background: var(--semi-color-fill-0);
}
.semi-button-primary-disabled.semi-button-outline {
  background-color: transparent;
  border: 1px solid var(--semi-color-border);
}
.semi-button-primary:not(.semi-button-borderless):not(.semi-button-light):not(.semi-button-outline):hover {
  background-color: var(--semi-color-primary-hover);
}
.semi-button-primary.semi-button-outline {
  background-color: transparent;
  border: 1px solid var(--semi-color-border);
}
.semi-button-primary:not(.semi-button-borderless):not(.semi-button-light):not(.semi-button-outline):active {
  background-color: var(--semi-color-primary-active);
}
.semi-button-primary.semi-button-light, .semi-button-primary.semi-button-outline, .semi-button-primary.semi-button-borderless {
  color: var(--semi-color-primary);
}
.semi-button-secondary {
  background-color: var(--semi-color-secondary);
  outline-color: var(--semi-color-secondary);
  color: rgba(var(--semi-white), 1);
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-button-secondary-disabled {
  background-color: var(--semi-color-disabled-bg);
}
.semi-button-secondary-disabled.semi-button-outline {
  background-color: transparent;
  border: 1px solid var(--semi-color-border);
}
.semi-button-secondary-disabled.semi-button-light {
  background-color: var(--semi-color-fill-0);
}
.semi-button-secondary.semi-button-outline {
  background-color: transparent;
  border: 1px solid var(--semi-color-border);
}
.semi-button-secondary:hover {
  background-color: var(--semi-color-secondary-hover);
}
.semi-button-secondary:active {
  background-color: var(--semi-color-secondary-active);
}
.semi-button-secondary.semi-button-light, .semi-button-secondary.semi-button-outline, .semi-button-secondary.semi-button-borderless {
  color: var(--semi-color-secondary);
}
.semi-button-disabled {
  color: var(--semi-color-disabled-text);
  cursor: not-allowed;
}
.semi-button-disabled:not(.semi-button-borderless):not(.semi-button-light):not(.semi-button-outline):hover {
  color: var(--semi-color-disabled-text);
}
.semi-button-disabled.semi-button-light, .semi-button-disabled.semi-button-borderless {
  color: var(--semi-color-disabled-text);
}
.semi-button-disabled.semi-button-outline {
  color: var(--semi-color-disabled-text);
}
.semi-button-borderless {
  background-color: transparent;
  border: 0 transparent solid;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-button-borderless:not(.semi-button-disabled):hover {
  background-color: var(--semi-color-fill-0);
  border: 0 transparent solid;
}
.semi-button-borderless:not(.semi-button-disabled):active {
  background-color: var(--semi-color-fill-1);
  border: 0 transparent solid;
}
.semi-button-outline {
  background-color: transparent;
}
.semi-button-outline:not(.semi-button-disabled):hover {
  background-color: var(--semi-color-fill-0);
}
.semi-button-outline:not(.semi-button-disabled):active {
  background-color: var(--semi-color-fill-1);
}
.semi-button-light {
  background-color: var(--semi-color-fill-0);
  border: 0 transparent solid;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-button-light:not(.semi-button-disabled):hover {
  background-color: var(--semi-color-fill-1);
  border: 0 transparent solid;
}
.semi-button-light:not(.semi-button-disabled):active {
  background-color: var(--semi-color-fill-2);
  border: 0 transparent solid;
}
.semi-button-size-small {
  height: 24px;
  padding-top: 2px;
  padding-bottom: 2px;
  padding-left: 12px;
  padding-right: 12px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}
.semi-button-size-large {
  height: 40px;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 16px;
  padding-right: 16px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}
.semi-button-block {
  width: 100%;
}
.semi-button-group {
  display: flex;
  flex-wrap: wrap;
}
.semi-button-group > .semi-button {
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  border-radius: 0;
}
.semi-button-group > .semi-button .semi-button-content {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-button-group > .semi-button-size-large .semi-button-content {
  padding-left: 16px;
  padding-right: 16px;
}
.semi-button-group > .semi-button-size-small .semi-button-content {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-button-group > .semi-button.semi-button-with-icon-only {
  padding-left: 0;
  padding-right: 0;
}
.semi-button-group > .semi-button.semi-button-with-icon-only .semi-button-content {
  padding-left: 8px;
  padding-right: 8px;
}
.semi-button-group > .semi-button.semi-button-with-icon-only.semi-button-size-small .semi-button-content {
  padding-left: 4px;
  padding-right: 4px;
}
.semi-button-group > .semi-button.semi-button-with-icon-only.semi-button-size-large .semi-button-content {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-button-group > .semi-button:first-child {
  border-top-left-radius: var(--semi-border-radius-small);
  border-bottom-left-radius: var(--semi-border-radius-small);
}
.semi-button-group > .semi-button:last-child {
  border-top-right-radius: var(--semi-border-radius-small);
  border-bottom-right-radius: var(--semi-border-radius-small);
}
.semi-button-group > .semi-button-outline:not(:last-child) {
  border-right-color: transparent;
  margin-right: -1px;
}
.semi-button-group-line {
  display: inline-flex;
  align-items: center;
  background-color: var(--semi-color-border);
}
.semi-button-group-line-primary {
  background-color: var(--semi-color-primary);
}
.semi-button-group-line-secondary {
  background-color: var(--semi-color-secondary);
}
.semi-button-group-line-tertiary {
  background-color: var(--semi-color-tertiary);
}
.semi-button-group-line-warning {
  background-color: var(--semi-color-warning);
}
.semi-button-group-line-danger {
  background-color: var(--semi-color-danger);
}
.semi-button-group-line-disabled {
  background-color: var(--semi-color-disabled-bg);
}
.semi-button-group-line-light {
  background-color: var(--semi-color-fill-0);
}
.semi-button-group-line-borderless {
  background-color: transparent;
}
.semi-button-group-line::before {
  display: block;
  content: "";
  width: 1px;
  height: 20px;
  background-color: var(--semi-color-border);
}

.semi-rtl .semi-button,
.semi-portal-rtl .semi-button {
  direction: rtl;
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-size-small,
.semi-portal-rtl .semi-button-size-small {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-size-large,
.semi-portal-rtl .semi-button-size-large {
  padding-left: 16px;
  padding-right: 16px;
}
.semi-rtl .semi-button-group,
.semi-portal-rtl .semi-button-group {
  direction: rtl;
}
.semi-rtl .semi-button-group > .semi-button,
.semi-portal-rtl .semi-button-group > .semi-button {
  padding-left: 0;
  padding-right: 0;
}
.semi-rtl .semi-button-group > .semi-button .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button .semi-button-content {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-group > .semi-button-size-large .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button-size-large .semi-button-content {
  padding-left: 16px;
  padding-right: 16px;
}
.semi-rtl .semi-button-group > .semi-button-size-small .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button-size-small .semi-button-content {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-group > .semi-button.semi-button-with-icon-only,
.semi-portal-rtl .semi-button-group > .semi-button.semi-button-with-icon-only {
  padding-left: 0;
  padding-right: 0;
}
.semi-rtl .semi-button-group > .semi-button.semi-button-with-icon-only .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button.semi-button-with-icon-only .semi-button-content {
  padding-left: 8px;
  padding-right: 8px;
}
.semi-rtl .semi-button-group > .semi-button.semi-button-with-icon-only.semi-button-size-small .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button.semi-button-with-icon-only.semi-button-size-small .semi-button-content {
  padding-left: 4px;
  padding-right: 4px;
}
.semi-rtl .semi-button-group > .semi-button.semi-button-with-icon-only.semi-button-size-large .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button.semi-button-with-icon-only.semi-button-size-large .semi-button-content {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-group > .semi-button:first-child,
.semi-portal-rtl .semi-button-group > .semi-button:first-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: var(--semi-border-radius-small);
  border-bottom-right-radius: var(--semi-border-radius-small);
}
.semi-rtl .semi-button-group > .semi-button:not(:last-child) .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button:not(:last-child) .semi-button-content {
  border-left: 1px var(--semi-color-border) solid;
  border-right: 0;
}
.semi-rtl .semi-button-group > .semi-button:last-child,
.semi-portal-rtl .semi-button-group > .semi-button:last-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: var(--semi-border-radius-small);
  border-bottom-left-radius: var(--semi-border-radius-small);
}
.semi-rtl .semi-button.semi-button-with-icon-only,
.semi-portal-rtl .semi-button.semi-button-with-icon-only {
  padding-left: 8px;
  padding-right: 8px;
}
.semi-rtl .semi-button.semi-button-with-icon-only.semi-button-size-small,
.semi-portal-rtl .semi-button.semi-button-with-icon-only.semi-button-size-small {
  padding-left: 4px;
  padding-right: 4px;
}
.semi-rtl .semi-button.semi-button-with-icon-only.semi-button-size-large,
.semi-portal-rtl .semi-button.semi-button-with-icon-only.semi-button-size-large {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-content-left,
.semi-portal-rtl .semi-button-content-left {
  margin-left: 8px;
  margin-right: 0;
}
.semi-rtl .semi-button-content-right,
.semi-portal-rtl .semi-button-content-right {
  margin-right: 8px;
  margin-left: 0;
}
/* shadow */
/* sizing */
/* spacing */
.semi-icon {
  display: inline-block;
  font-style: normal;
  line-height: 0;
  text-align: center;
  text-transform: none;
  text-rendering: optimizeLegibility;
  fill: currentColor;
}

.semi-icon-extra-small {
  font-size: 8px;
}

.semi-icon-small {
  font-size: 12px;
}

.semi-icon-default {
  font-size: 16px;
}

.semi-icon-large {
  font-size: 20px;
}

.semi-icon-extra-large {
  font-size: 24px;
}

.semi-icon-spinning {
  animation: 0.6s linear infinite semi-icon-animation-rotate;
  animation-fill-mode: forwards;
}

@keyframes semi-icon-animation-rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
/* shadow */
/* sizing */
/* spacing */
@keyframes semi-animation-rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.semi-button.semi-button-with-icon {
  display: inline-flex;
  align-items: center;
}
.semi-button.semi-button-with-icon .semi-button-content {
  display: flex;
  align-items: center;
  justify-content: center;
}
.semi-button.semi-button-loading {
  pointer-events: none;
  cursor: not-allowed;
}
.semi-button.semi-button-loading .semi-button-content > svg, .semi-button.semi-button-loading .semi-button-content-loading-icon {
  width: 16px;
  height: 16px;
  animation: 600ms linear infinite semi-animation-rotate;
  animation-fill-mode: forwards;
}
.semi-button.semi-button-with-icon-only {
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  height: 32px;
  width: 32px;
  justify-content: center;
  align-items: center;
}
.semi-button.semi-button-with-icon-only.semi-button-size-small {
  padding-left: 4px;
  padding-right: 4px;
  padding-top: 4px;
  padding-bottom: 4px;
  height: 24px;
  width: 24px;
}
.semi-button.semi-button-with-icon-only.semi-button-size-large {
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 12px;
  padding-bottom: 12px;
  height: 40px;
  width: 40px;
}
.semi-button-content-left {
  margin-right: 8px;
  display: flex;
  align-items: center;
}
.semi-button-content-right {
  margin-left: 8px;
  display: flex;
  align-items: center;
}

.semi-rtl .semi-button,
.semi-portal-rtl .semi-button {
  direction: rtl;
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-size-small,
.semi-portal-rtl .semi-button-size-small {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-size-large,
.semi-portal-rtl .semi-button-size-large {
  padding-left: 16px;
  padding-right: 16px;
}
.semi-rtl .semi-button-group,
.semi-portal-rtl .semi-button-group {
  direction: rtl;
}
.semi-rtl .semi-button-group > .semi-button,
.semi-portal-rtl .semi-button-group > .semi-button {
  padding-left: 0;
  padding-right: 0;
}
.semi-rtl .semi-button-group > .semi-button .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button .semi-button-content {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-group > .semi-button-size-large .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button-size-large .semi-button-content {
  padding-left: 16px;
  padding-right: 16px;
}
.semi-rtl .semi-button-group > .semi-button-size-small .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button-size-small .semi-button-content {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-group > .semi-button.semi-button-with-icon-only,
.semi-portal-rtl .semi-button-group > .semi-button.semi-button-with-icon-only {
  padding-left: 0;
  padding-right: 0;
}
.semi-rtl .semi-button-group > .semi-button.semi-button-with-icon-only .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button.semi-button-with-icon-only .semi-button-content {
  padding-left: 8px;
  padding-right: 8px;
}
.semi-rtl .semi-button-group > .semi-button.semi-button-with-icon-only.semi-button-size-small .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button.semi-button-with-icon-only.semi-button-size-small .semi-button-content {
  padding-left: 4px;
  padding-right: 4px;
}
.semi-rtl .semi-button-group > .semi-button.semi-button-with-icon-only.semi-button-size-large .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button.semi-button-with-icon-only.semi-button-size-large .semi-button-content {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-group > .semi-button:first-child,
.semi-portal-rtl .semi-button-group > .semi-button:first-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: var(--semi-border-radius-small);
  border-bottom-right-radius: var(--semi-border-radius-small);
}
.semi-rtl .semi-button-group > .semi-button:not(:last-child) .semi-button-content,
.semi-portal-rtl .semi-button-group > .semi-button:not(:last-child) .semi-button-content {
  border-left: 1px var(--semi-color-border) solid;
  border-right: 0;
}
.semi-rtl .semi-button-group > .semi-button:last-child,
.semi-portal-rtl .semi-button-group > .semi-button:last-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: var(--semi-border-radius-small);
  border-bottom-left-radius: var(--semi-border-radius-small);
}
.semi-rtl .semi-button.semi-button-with-icon-only,
.semi-portal-rtl .semi-button.semi-button-with-icon-only {
  padding-left: 8px;
  padding-right: 8px;
}
.semi-rtl .semi-button.semi-button-with-icon-only.semi-button-size-small,
.semi-portal-rtl .semi-button.semi-button-with-icon-only.semi-button-size-small {
  padding-left: 4px;
  padding-right: 4px;
}
.semi-rtl .semi-button.semi-button-with-icon-only.semi-button-size-large,
.semi-portal-rtl .semi-button.semi-button-with-icon-only.semi-button-size-large {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-button-content-left,
.semi-portal-rtl .semi-button-content-left {
  margin-left: 8px;
  margin-right: 0;
}
.semi-rtl .semi-button-content-right,
.semi-portal-rtl .semi-button-content-right {
  margin-right: 8px;
  margin-left: 0;
}
/* shadow */
/* sizing */
/* spacing */
.semi-carousel {
  position: relative;
  overflow: hidden;
}
.semi-carousel-content {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.semi-carousel-content-item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.semi-carousel-content-item-current {
  z-index: 1;
}
.semi-carousel-content-fade > * {
  opacity: 0;
}
.semi-carousel-content-fade .semi-carousel-content-item-current {
  opacity: 1;
}
.semi-carousel-content-slide > *:not(.semi-carousel-content-item-current) {
  visibility: hidden;
}
.semi-carousel-content-slide .semi-carousel-content-item-slide-out {
  display: block;
  animation: semi-carousel-content-item-keyframe-slide-out;
  animation-fill-mode: forwards;
}
.semi-carousel-content-slide .semi-carousel-content-item-slide-in {
  display: block;
  animation: semi-carousel-content-item-keyframe-slide-in;
  animation-fill-mode: forwards;
}
.semi-carousel-content-reverse .semi-carousel-content-item-slide-out {
  animation: semi-carousel-content-item-keyframe-slide-out-reverse;
  animation-fill-mode: forwards;
}
.semi-carousel-content-reverse .semi-carousel-content-item-slide-in {
  animation: semi-carousel-content-item-keyframe-slide-in-reverse;
  animation-fill-mode: forwards;
}
.semi-carousel-indicator {
  display: flex;
  align-items: flex-end;
  z-index: 2;
}
.semi-carousel-indicator-left {
  position: absolute;
  left: 32px;
  bottom: 32px;
}
.semi-carousel-indicator-center {
  position: absolute;
  left: 50%;
  bottom: 32px;
  transform: translate(-50%);
}
.semi-carousel-indicator-right {
  position: absolute;
  right: 32px;
  bottom: 32px;
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item {
  border-radius: 50%;
  cursor: pointer;
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item:not(:last-child) {
  margin-right: 8px;
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-small {
  width: 8px;
  height: 8px;
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-medium {
  width: 12px;
  height: 12px;
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-primary {
  background-color: rgba(var(--semi-blue-6), 0.4);
  transition: background-color var(--semi-transition_delay-none) var(--semi-transition_function-easeOut) var(--semi-transition_delay-none);
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-primary.semi-carousel-indicator-item-active {
  background: rgba(var(--semi-blue-6), 1);
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-primary:hover {
  background-color: rgba(var(--semi-blue-6), 0.7);
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-primary:active {
  background: rgba(var(--semi-blue-6), 1);
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-light {
  background-color: rgba(var(--semi-white), 0.4);
  transition: background-color var(--semi-transition_delay-none) var(--semi-transition_function-easeOut) var(--semi-transition_delay-none);
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-light.semi-carousel-indicator-item-active {
  background: rgba(var(--semi-white), 1);
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-light:hover {
  background-color: rgba(var(--semi-white), 0.7);
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-light:active {
  background: rgba(var(--semi-white), 1);
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-dark {
  background-color: rgba(var(--semi-black), 0.5);
  transition: background-color var(--semi-transition_delay-none) var(--semi-transition_function-easeOut) var(--semi-transition_delay-none);
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-dark.semi-carousel-indicator-item-active {
  background-color: rgba(var(--semi-black), 1);
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-dark:hover {
  background-color: rgba(var(--semi-black), 0.7);
}
.semi-carousel-indicator-dot .semi-carousel-indicator-item-dark:active {
  background: rgba(var(--semi-black), 1);
}
.semi-carousel-indicator-line {
  width: 240px;
}
.semi-carousel-indicator-line .semi-carousel-indicator-item {
  flex: 1 1;
  cursor: pointer;
}
.semi-carousel-indicator-line .semi-carousel-indicator-item:not(:last-child) {
  margin-right: 4px;
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-small {
  height: 4px;
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-medium {
  height: 6px;
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-primary {
  background-color: rgba(var(--semi-blue-6), 0.4);
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-primary.semi-carousel-indicator-item-active {
  background: rgba(var(--semi-blue-6), 1);
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-primary:hover {
  background-color: rgba(var(--semi-blue-6), 0.7);
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-primary:active {
  background: rgba(var(--semi-blue-6), 1);
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-light {
  background-color: rgba(var(--semi-white), 0.4);
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-light.semi-carousel-indicator-item-active {
  background: rgba(var(--semi-white), 1);
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-light:hover {
  background-color: rgba(var(--semi-white), 0.7);
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-light:active {
  background: rgba(var(--semi-white), 1);
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-dark {
  background-color: rgba(var(--semi-black), 0.5);
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-dark.semi-carousel-indicator-item-active {
  background: rgba(var(--semi-black), 1);
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-dark:hover {
  background-color: rgba(var(--semi-black), 0.7);
}
.semi-carousel-indicator-line .semi-carousel-indicator-item-dark:active {
  background: rgba(var(--semi-black), 1);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item {
  cursor: pointer;
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item:not(:last-child) {
  margin-right: 4px;
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-small {
  width: 4px;
  height: 12px;
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-small.semi-carousel-indicator-item-active {
  height: 20px;
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-medium {
  width: 6px;
  height: 20px;
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-medium.semi-carousel-indicator-item-active {
  height: 28px;
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-primary {
  background-color: rgba(var(--semi-blue-6), 0.4);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-primary.semi-carousel-indicator-item-active {
  background: rgba(var(--semi-blue-6), 1);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-primary:hover {
  background-color: rgba(var(--semi-blue-6), 0.7);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-primary:active {
  background: rgba(var(--semi-blue-6), 1);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-light {
  background-color: rgba(var(--semi-white), 0.4);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-light.semi-carousel-indicator-item-active {
  background: rgba(var(--semi-white), 1);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-light:hover {
  background-color: rgba(var(--semi-white), 0.7);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-light:active {
  background: rgba(var(--semi-white), 1);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-dark {
  background-color: rgba(var(--semi-black), 0.5);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-dark.semi-carousel-indicator-item-active {
  background: rgba(var(--semi-black), 1);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-dark:hover {
  background-color: rgba(var(--semi-black), 0.7);
}
.semi-carousel-indicator-columnar .semi-carousel-indicator-item-dark:active {
  background: rgba(var(--semi-black), 1);
}
.semi-carousel-arrow {
  display: flex;
  font-size: 32px;
  cursor: pointer;
}
.semi-carousel-arrow-prev {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  z-index: 2;
}
.semi-carousel-arrow-next {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  z-index: 2;
}
.semi-carousel-arrow-light {
  color: rgba(var(--semi-white), 0.4);
  transition: color var(--semi-transition_delay-none) var(--semi-transition_function-easeOut) var(--semi-transition_delay-none);
}
.semi-carousel-arrow-light:hover {
  color: rgba(var(--semi-white), 1);
}
.semi-carousel-arrow-primary {
  color: rgba(var(--semi-blue-6), 0.4);
  transition: color var(--semi-transition_delay-none) var(--semi-transition_function-easeOut) var(--semi-transition_delay-none);
}
.semi-carousel-arrow-primary:hover {
  color: rgba(var(--semi-blue-6), 1);
}
.semi-carousel-arrow-dark {
  color: rgba(var(--semi-black), 0.5);
  transition: color var(--semi-transition_delay-none) var(--semi-transition_function-easeOut) var(--semi-transition_delay-none);
}
.semi-carousel-arrow-dark:hover {
  color: rgba(var(--semi-black), 1);
}
.semi-carousel-arrow-hover div {
  z-index: 2;
  opacity: 0;
}
.semi-carousel:hover .semi-carousel-arrow-hover div {
  opacity: 1;
}

@keyframes semi-carousel-content-item-keyframe-slide-in {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes semi-carousel-content-item-keyframe-slide-out {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes semi-carousel-content-item-keyframe-slide-in-reverse {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes semi-carousel-content-item-keyframe-slide-out-reverse {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}
.semi-rtl .semi-carousel,
.semi-portal-rtl .semi-carousel {
  direction: rtl;
}
.semi-rtl .semi-carousel-indicator,
.semi-portal-rtl .semi-carousel-indicator {
  display: flex;
}
.semi-rtl .semi-carousel-indicator-dot .semi-carousel-indicator-item:not(:last-child),
.semi-portal-rtl .semi-carousel-indicator-dot .semi-carousel-indicator-item:not(:last-child) {
  margin-right: 0;
  margin-left: 8px;
}
.semi-rtl .semi-carousel-indicator-columnar .semi-carousel-indicator-item:not(:last-child),
.semi-portal-rtl .semi-carousel-indicator-columnar .semi-carousel-indicator-item:not(:last-child) {
  margin-right: 0;
  margin-left: 4px;
}
.semi-rtl .semi-carousel-arrow,
.semi-portal-rtl .semi-carousel-arrow {
  flex-direction: row-reverse;
}
.semi-rtl .semi-carousel-arrow-prev,
.semi-portal-rtl .semi-carousel-arrow-prev {
  left: auto;
  right: 20px;
  transform: scaleX(-1) translateY(-50%);
  z-index: 2;
}
.semi-rtl .semi-carousel-arrow-next,
.semi-portal-rtl .semi-carousel-arrow-next {
  left: 20px;
  transform: scaleX(-1) translateY(-50%);
  right: auto;
  z-index: 2;
}
/* shadow */
/* sizing */
/* spacing */
.semi-checkbox {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: flex-start;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: pointer;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
  -moz-column-gap: 8px;
       column-gap: 8px;
}
.semi-checkbox input[type=checkbox] {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
}
.semi-checkbox-content {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  row-gap: 4px;
}
.semi-checkbox-addon {
  display: flex;
  flex: 1 1;
  align-items: center;
  color: var(--semi-color-text-0);
  line-height: 20px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.semi-checkbox:hover .semi-checkbox-inner-display {
  background: var(--semi-color-fill-0);
  box-shadow: inset 0 0 0 1px var(--semi-color-focus-border);
}
.semi-checkbox:hover .semi-checkbox-inner-checked .semi-checkbox-inner-display {
  background: var(--semi-color-primary-hover);
  box-shadow: none;
}
.semi-checkbox:active .semi-checkbox-inner-display {
  background: var(--semi-color-fill-1);
}
.semi-checkbox:active .semi-checkbox-inner-checked .semi-checkbox-inner-display {
  background: var(--semi-color-primary-active);
  box-shadow: none;
}
.semi-checkbox.semi-checkbox-disabled:hover .semi-checkbox-inner-display, .semi-checkbox.semi-checkbox-disabled:active .semi-checkbox-inner-display {
  background: var(--semi-color-disabled-fill);
  box-shadow: inset 0 0 0 1px var(--semi-color-border);
}
.semi-checkbox.semi-checkbox-disabled:hover .semi-checkbox-inner-checked .semi-checkbox-inner-display, .semi-checkbox.semi-checkbox-disabled:active .semi-checkbox-inner-checked .semi-checkbox-inner-display {
  color: var(--semi-color-white);
  background: var(--semi-color-primary-disabled);
  box-shadow: none;
}
.semi-checkbox-inner {
  position: relative;
  display: flex;
  align-items: center;
  width: 16px;
  height: 20px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
}
.semi-checkbox-inner-display {
  box-sizing: border-box;
  position: relative;
  width: 16px;
  height: 16px;
  margin: 0;
  background: transparent;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  box-shadow: inset 0 0 0 1px var(--semi-color-text-3);
  border-radius: var(--semi-border-radius-extra-small);
}
.semi-checkbox-inner-display .semi-icon {
  font-size: 16px;
}
.semi-checkbox-inner-checked .semi-checkbox-inner-display {
  background: var(--semi-color-primary);
  color: var(--semi-color-white);
  box-shadow: inset 0 0 0 1px var(--semi-color-primary);
  border-radius: var(--semi-border-radius-extra-small);
}
.semi-checkbox-inner-checked > .semi-checkbox-addon {
  color: var(--semi-color-text-0);
}
.semi-checkbox:hover .semi-checkbox-inner-display {
  background: var(--semi-color-fill-0);
}
.semi-checkbox:hover.semi-checkbox-indeterminate .semi-checkbox-inner-display {
  background: var(--semi-color-primary-hover);
  box-shadow: none;
  color: var(--semi-color-white);
}
.semi-checkbox:hover .semi-checkbox-inner-checked .semi-checkbox-inner-display {
  background: var(--semi-color-primary-hover);
  border-color: var(--semi-color-primary-hover);
  color: var(--semi-color-white);
}
.semi-checkbox:hover.semi-checkbox-cardType.semi-checkbox-unChecked.semi-checkbox-cardType_enable .semi-checkbox-inner-display {
  background: var(--semi-color-white);
}
.semi-checkbox:active .semi-checkbox-inner-display {
  background: var(--semi-color-fill-1);
}
.semi-checkbox:active.semi-checkbox-indeterminate .semi-checkbox-inner-display {
  background: var(--semi-color-primary-active);
  border-color: var(--semi-color-primary-active);
  color: var(--semi-color-white);
  box-shadow: none;
}
.semi-checkbox:active .semi-checkbox-inner-checked .semi-checkbox-inner-display {
  background: var(--semi-color-primary-active);
  border-color: var(--semi-color-primary-active);
  color: var(--semi-color-white);
}
.semi-checkbox:active.semi-checkbox-cardType.semi-checkbox-unChecked.semi-checkbox-cardType_enable .semi-checkbox-inner-display {
  background: var(--semi-color-white);
}
.semi-checkbox-cardType {
  flex-wrap: nowrap;
  align-items: flex-start;
  border-radius: 3px;
  padding: 12px 16px;
  background: transparent;
  border: 1px solid transparent;
}
.semi-checkbox-cardType .semi-checkbox-inner {
  position: relative;
  flex-shrink: 0;
}
.semi-checkbox-cardType .semi-checkbox-inner-display {
  background: var(--semi-color-white);
}
.semi-checkbox-cardType .semi-checkbox-inner-pureCardType {
  opacity: 0;
  width: 0;
}
.semi-checkbox-cardType .semi-checkbox-addon {
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: var(--semi-color-text-0);
}
.semi-checkbox-cardType .semi-checkbox-extra {
  font-weight: normal;
  font-size: 14px;
  line-height: 20px;
  color: var(--semi-color-text-2);
}
.semi-checkbox-cardType .semi-checkbox-extra.semi-checkbox-cardType_extra_noChildren {
  margin-top: 0;
}
.semi-checkbox-cardType:hover {
  background: var(--semi-color-fill-0);
}
.semi-checkbox-cardType:active {
  background: var(--semi-color-fill-1);
}
.semi-checkbox-cardType_checked {
  background: var(--semi-color-primary-light-default);
  border: 1px solid var(--semi-color-primary);
}
.semi-checkbox-cardType_checked:hover {
  background: var(--semi-color-primary-light-default);
  border-color: var(--semi-color-primary-hover);
}
.semi-checkbox-cardType_checked:hover .semi-checkbox-inner-checked .semi-checkbox-inner-display {
  box-shadow: none;
}
.semi-checkbox-cardType_checked:active {
  background: var(--semi-color-primary-light-default);
  border-color: var(--semi-color-primary-active);
}
.semi-checkbox-cardType_disabled:active {
  background: transparent;
}
.semi-checkbox-cardType_disabled:hover {
  background: transparent;
}
.semi-checkbox-cardType_checked_disabled.semi-checkbox-cardType {
  background: var(--semi-color-primary-light-default);
  border: 1px solid var(--semi-color-primary-disabled);
}
.semi-checkbox-cardType_checked_disabled.semi-checkbox-cardType:hover .semi-checkbox-inner-checked .semi-checkbox-inner-display {
  box-shadow: none;
}
.semi-checkbox-indeterminate .semi-checkbox-inner-display, .semi-checkbox-checked .semi-checkbox-inner-display {
  background: var(--semi-color-primary);
  color: var(--semi-color-white);
  box-shadow: inset 0 0 0 1px var(--semi-color-primary);
  border-radius: var(--semi-border-radius-extra-small);
}
.semi-checkbox-indeterminate .semi-checkbox-inner-display:hover, .semi-checkbox-checked .semi-checkbox-inner-display:hover {
  background: var(--semi-color-primary-hover);
  border-color: var(--semi-color-primary-hover);
  color: var(--semi-color-white);
}
.semi-checkbox-indeterminate .semi-checkbox-inner-display:active, .semi-checkbox-checked .semi-checkbox-inner-display:active {
  background: var(--semi-color-primary-active);
  border-color: var(--semi-color-primary-active);
  color: var(--semi-color-white);
}
.semi-checkbox-indeterminate .semi-checkbox-inner-addon, .semi-checkbox-checked .semi-checkbox-inner-addon {
  color: var(--semi-color-text-0);
}
.semi-checkbox-disabled {
  cursor: not-allowed;
}
.semi-checkbox-disabled .semi-checkbox-inner {
  cursor: not-allowed;
}
.semi-checkbox-disabled .semi-checkbox-inner-display {
  color: var(--semi-color-white);
  background: var(--semi-color-disabled-fill);
  box-shadow: inset 0 0 0 1px var(--semi-color-border);
}
.semi-checkbox-disabled .semi-checkbox-inner-display:hover {
  color: var(--semi-color-white);
  background: transparent;
}
.semi-checkbox-disabled .semi-checkbox-inner-checked {
  color: var(--semi-color-white);
}
.semi-checkbox-disabled .semi-checkbox-inner-checked .semi-checkbox-inner-display {
  opacity: 0.75;
  background: var(--semi-color-primary-disabled);
  box-shadow: inset 0 0 0 1px var(--semi-color-primary-disabled);
}
.semi-checkbox-disabled .semi-checkbox-inner-checked .semi-checkbox-inner-display:hover {
  color: var(--semi-color-white);
  background: var(--semi-color-primary-disabled);
}
.semi-checkbox-disabled .semi-checkbox-addon {
  color: var(--semi-color-disabled-text);
}
.semi-checkbox-disabled .semi-checkbox-extra {
  color: var(--semi-color-disabled-text);
}
.semi-checkbox.semi-checkbox-disabled.semi-checkbox-indeterminate .semi-checkbox-inner-display {
  opacity: 0.75;
  background: var(--semi-color-primary-disabled);
  box-shadow: inset 0 0 0 1px var(--semi-color-primary-disabled);
  color: var(--semi-color-white);
}
.semi-checkbox-extra {
  flex-shrink: 0;
  flex-grow: 1;
  flex-basis: 100%;
  box-sizing: border-box;
  color: var(--semi-color-text-2);
}
.semi-checkbox-focus {
  outline: 2px solid var(--semi-color-primary-light-active);
}
.semi-checkbox-focus-border {
  box-shadow: inset 0 0 0 1px var(--semi-color-focus-border);
}

.semi-checkboxGroup {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 14px;
}
.semi-checkboxGroup .semi-checkbox.semi-checkbox-vertical {
  margin-bottom: 16px;
}
.semi-checkboxGroup-horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.semi-checkboxGroup-horizontal .semi-checkbox {
  display: inline-flex;
}
.semi-checkboxGroup-vertical {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}
.semi-checkboxGroup-vertical-cardType {
  row-gap: 16px;
}
.semi-checkboxGroup-vertical-pureCardType .semi-checkbox {
  -moz-column-gap: 0;
       column-gap: 0;
}

.semi-rtl .semi-checkbox,
.semi-portal-rtl .semi-checkbox {
  direction: rtl;
}
.semi-rtl .semi-checkbox input[type=checkbox],
.semi-portal-rtl .semi-checkbox input[type=checkbox] {
  left: auto;
  right: 0;
}
.semi-rtl .semi-checkboxGroup,
.semi-portal-rtl .semi-checkboxGroup {
  direction: rtl;
}
/* shadow */
/* sizing */
/* spacing */
.semi-modal {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  position: relative;
  margin: 80px auto;
  color: var(--semi-color-text-0);
}
.semi-modal-mask {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: var(--semi-color-overlay-bg);
  backdrop-filter: none;
  height: 100%;
  z-index: 1000;
}
.semi-modal-mask-hidden {
  display: none;
}
.semi-modal-icon-wrapper {
  display: inline-flex;
  margin-right: 12px;
  width: 24px;
}
.semi-modal-wrap {
  position: fixed;
  overflow: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.semi-modal-wrap-center {
  display: flex;
  align-items: center;
}
.semi-modal-title {
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  margin: 0;
}
.semi-modal-content {
  position: relative;
  display: flex;
  height: -moz-max-content;
  height: max-content;
  width: 100%;
  box-sizing: border-box;
  flex-direction: column;
  background-color: var(--semi-color-bg-2);
  backdrop-filter: none;
  border: 1px solid var(--semi-color-border);
  border-radius: var(--semi-border-radius-large);
  padding: 0 24px;
  background-clip: padding-box;
  overflow: hidden;
  box-shadow: var(--semi-shadow-elevated);
}
.semi-modal-footerfill {
  display: flex;
}
.semi-modal-content-height-set {
  height: 100%;
}
.semi-modal-content-fullScreen {
  border-radius: 0;
  border: none;
  height: 100%;
  top: 0px;
}
.semi-modal-header {
  display: flex;
  align-items: flex-start;
  margin: 24px 0;
  padding: 0 0;
  font-size: 14px;
  font-weight: 600;
  background-color: transparent;
  color: var(--semi-color-text-0);
  border-bottom: 0 solid transparent;
}
.semi-modal-body-wrapper {
  display: flex;
  align-items: flex-start;
  margin: 24px 0;
}
.semi-modal-body {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
}
.semi-modal-withIcon {
  margin-left: 36px;
}
.semi-modal-footer {
  margin: 24px 0;
  padding: 0 0;
  text-align: right;
  border-radius: 0 0 5px 5px;
  border-top: 0 solid transparent;
  background-color: transparent;
}
.semi-modal-footer .semi-button {
  margin-left: 12px;
  margin-right: 0;
}
.semi-modal-confirm .semi-modal-header {
  margin-bottom: 8px;
}
.semi-modal-confirm-icon-wrapper {
  display: inline-flex;
  margin-right: 12px;
  width: 24px;
}
.semi-modal-confirm-icon {
  display: inline-flex;
  color: var(--semi-color-primary);
}
.semi-modal-info-icon {
  color: var(--semi-color-info);
}
.semi-modal-success-icon {
  color: var(--semi-color-success);
}
.semi-modal-error-icon {
  color: var(--semi-color-danger);
}
.semi-modal-warning-icon {
  color: var(--semi-color-warning);
}
.semi-modal-small {
  width: 448px;
}
.semi-modal-medium {
  width: 684px;
}
.semi-modal-large {
  width: 920px;
}
.semi-modal-full-width {
  width: calc(100vw - 64px);
}

.semi-modal-centered {
  margin: 0 auto;
}

.semi-modal-popup .semi-modal-mask,
.semi-modal-popup .semi-modal-wrap {
  position: absolute;
  overflow: hidden;
}

.semi-modal-fixed .semi-modal-mask,
.semi-modal-fixed .semi-modal-wrap {
  position: fixed;
  overflow: hidden;
}

.semi-modal-displayNone {
  display: none;
}

.semi-modal-content-animate-show {
  animation: 120ms semi-modal-content-keyframe-show cubic-bezier(0.215, 0.61, 0.355, 1) 0ms forwards;
  animation-fill-mode: forwards;
}

.semi-modal-content-animate-hide {
  animation: 120ms semi-modal-content-keyframe-hide cubic-bezier(0.215, 0.61, 0.355, 1) 0ms forwards;
  animation-fill-mode: forwards;
}

.semi-modal-mask-animate-show {
  animation: 90ms semi-modal-mask-keyframe-show cubic-bezier(0.215, 0.61, 0.355, 1) 0ms forwards;
  animation-fill-mode: forwards;
}

.semi-modal-mask-animate-hide {
  animation: 90ms semi-modal-mask-keyframe-hide cubic-bezier(0.215, 0.61, 0.355, 1) 0ms forwards;
  animation-fill-mode: forwards;
}

@keyframes semi-modal-content-keyframe-show {
  0% {
    opacity: 0;
    transform: scale(0.7);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes semi-modal-content-keyframe-hide {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0.7);
  }
}
@keyframes semi-modal-mask-keyframe-show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes semi-modal-mask-keyframe-hide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.semi-modal-rtl {
  direction: rtl;
}
.semi-modal-rtl .semi-modal-icon-wrapper, .semi-modal-confirm-rtl .semi-modal-icon-wrapper {
  margin-right: 0;
  margin-left: 12px;
}
.semi-modal-rtl .semi-modal-withIcon, .semi-modal-confirm-rtl .semi-modal-withIcon {
  margin-left: 0;
  margin-right: 36px;
}
.semi-modal-rtl .semi-modal-footer, .semi-modal-confirm-rtl .semi-modal-footer {
  text-align: left;
}
.semi-modal-rtl .semi-modal-footer .semi-button, .semi-modal-confirm-rtl .semi-modal-footer .semi-button {
  margin-left: 0;
  margin-right: 12px;
}
.semi-modal-confirm-rtl {
  direction: rtl;
}
.semi-modal-confirm .semi-modal-confirm-rtl .semi-button {
  margin-left: 0;
  margin-right: 12px;
}
/* shadow */
/* sizing */
/* spacing */
.semi-portal {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}
.semi-portal-inner {
  position: absolute;
  background-color: transparent;
  min-width: -moz-max-content;
  min-width: max-content;
}
/* shadow */
/* sizing */
/* spacing */
.semi-typography {
  color: var(--semi-color-text-0);
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.semi-typography.semi-typography-secondary {
  color: var(--semi-color-text-1);
}
.semi-typography.semi-typography-tertiary {
  color: var(--semi-color-text-2);
}
.semi-typography.semi-typography-quaternary {
  color: var(--semi-color-text-3);
}
.semi-typography.semi-typography-warning {
  color: var(--semi-color-warning);
}
.semi-typography.semi-typography-success {
  color: var(--semi-color-success);
}
.semi-typography.semi-typography-danger {
  color: var(--semi-color-danger);
}
.semi-typography.semi-typography-link {
  color: var(--semi-color-link);
  font-weight: 600;
}
.semi-typography.semi-typography-disabled {
  color: var(--semi-color-disabled-text);
  cursor: not-allowed;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.semi-typography.semi-typography-disabled.semi-typography-link {
  color: var(--semi-color-link);
}
.semi-typography-icon {
  margin-right: 4px;
  vertical-align: middle;
  color: inherit;
}
.semi-typography-small {
  font-size: 12px;
  line-height: 16px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
}
.semi-typography-small.semi-typography-paragraph {
  font-weight: 400;
}
.semi-typography code {
  border: 1px solid var(--semi-color-border);
  border-radius: 2px;
  color: var(--semi-color-text-2);
  background-color: var(--semi-color-fill-1);
  padding: 2px 4px;
}
.semi-typography mark {
  background-color: var(--semi-color-primary-light-default);
}
.semi-typography u {
  text-decoration: underline;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
.semi-typography del {
  text-decoration: line-through;
}
.semi-typography strong {
  font-weight: 600;
}
.semi-typography a {
  display: inline;
  color: var(--semi-color-link);
  cursor: pointer;
  text-decoration: none;
}
.semi-typography a:visited {
  color: var(--semi-color-link-visited);
}
.semi-typography a:hover {
  color: var(--semi-color-link-hover);
}
.semi-typography a:active {
  color: var(--semi-color-link-active);
}
.semi-typography a .semi-typography-link-underline:hover {
  border-bottom: 1px solid var(--semi-color-link-hover);
  margin-bottom: -1px;
}
.semi-typography a .semi-typography-link-underline:active {
  border-bottom: 1px solid var(--semi-color-link-active);
  margin-bottom: -1px;
}
.semi-typography-ellipsis-single-line {
  overflow: hidden;
}
.semi-typography-ellipsis-multiple-line {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.semi-typography-ellipsis-multiple-line.semi-typography-ellipsis-multiple-line-text {
  display: -webkit-inline-box;
}
.semi-typography-ellipsis-overflow-ellipsis {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.semi-typography-ellipsis-overflow-ellipsis.semi-typography-ellipsis-overflow-ellipsis-text {
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}
.semi-typography-ellipsis-expand {
  display: inline;
  margin-left: 8px;
}
.semi-typography-action-copy {
  display: inline-flex;
  vertical-align: middle;
  padding: 0;
  margin-left: 4px;
}
.semi-typography a.semi-typography-action-copy-icon {
  display: inline-flex;
}
.semi-typography-action-copied {
  display: inline-flex;
  padding: 0;
  margin-left: 4px;
  color: var(--semi-color-text-2);
}
.semi-typography-action-copied .semi-icon {
  vertical-align: middle;
  color: var(--semi-color-success);
}
.semi-typography-paragraph {
  margin: 0;
}

h1.semi-typography,
.semi-typography-h1.semi-typography {
  font-size: 32px;
  line-height: 44px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  margin: 0;
}
h1.semi-typography.semi-typography-h1-weight-light,
.semi-typography-h1.semi-typography.semi-typography-h1-weight-light {
  font-weight: 200;
}
h1.semi-typography.semi-typography-h1-weight-regular,
.semi-typography-h1.semi-typography.semi-typography-h1-weight-regular {
  font-weight: 400;
}
h1.semi-typography.semi-typography-h1-weight-medium,
.semi-typography-h1.semi-typography.semi-typography-h1-weight-medium {
  font-weight: 500;
}
h1.semi-typography.semi-typography-h1-weight-semibold,
.semi-typography-h1.semi-typography.semi-typography-h1-weight-semibold {
  font-weight: 600;
}
h1.semi-typography.semi-typography-h1-weight-bold,
.semi-typography-h1.semi-typography.semi-typography-h1-weight-bold {
  font-weight: 700;
}

h2.semi-typography,
.semi-typography-h2.semi-typography {
  font-size: 28px;
  line-height: 40px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  margin: 0;
}
h2.semi-typography.semi-typography-h2-weight-light,
.semi-typography-h2.semi-typography.semi-typography-h2-weight-light {
  font-weight: 200;
}
h2.semi-typography.semi-typography-h2-weight-regular,
.semi-typography-h2.semi-typography.semi-typography-h2-weight-regular {
  font-weight: 400;
}
h2.semi-typography.semi-typography-h2-weight-medium,
.semi-typography-h2.semi-typography.semi-typography-h2-weight-medium {
  font-weight: 500;
}
h2.semi-typography.semi-typography-h2-weight-semibold,
.semi-typography-h2.semi-typography.semi-typography-h2-weight-semibold {
  font-weight: 600;
}
h2.semi-typography.semi-typography-h2-weight-bold,
.semi-typography-h2.semi-typography.semi-typography-h2-weight-bold {
  font-weight: 700;
}

h3.semi-typography,
.semi-typography-h3.semi-typography {
  font-size: 24px;
  line-height: 32px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  margin: 0;
}
h3.semi-typography.semi-typography-h3-weight-light,
.semi-typography-h3.semi-typography.semi-typography-h3-weight-light {
  font-weight: 200;
}
h3.semi-typography.semi-typography-h3-weight-regular,
.semi-typography-h3.semi-typography.semi-typography-h3-weight-regular {
  font-weight: 400;
}
h3.semi-typography.semi-typography-h3-weight-medium,
.semi-typography-h3.semi-typography.semi-typography-h3-weight-medium {
  font-weight: 500;
}
h3.semi-typography.semi-typography-h3-weight-semibold,
.semi-typography-h3.semi-typography.semi-typography-h3-weight-semibold {
  font-weight: 600;
}
h3.semi-typography.semi-typography-h3-weight-bold,
.semi-typography-h3.semi-typography.semi-typography-h3-weight-bold {
  font-weight: 700;
}

h4.semi-typography,
.semi-typography-h4.semi-typography {
  font-size: 20px;
  line-height: 28px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  margin: 0;
}
h4.semi-typography.semi-typography-h4-weight-light,
.semi-typography-h4.semi-typography.semi-typography-h4-weight-light {
  font-weight: 200;
}
h4.semi-typography.semi-typography-h4-weight-regular,
.semi-typography-h4.semi-typography.semi-typography-h4-weight-regular {
  font-weight: 400;
}
h4.semi-typography.semi-typography-h4-weight-medium,
.semi-typography-h4.semi-typography.semi-typography-h4-weight-medium {
  font-weight: 500;
}
h4.semi-typography.semi-typography-h4-weight-semibold,
.semi-typography-h4.semi-typography.semi-typography-h4-weight-semibold {
  font-weight: 600;
}
h4.semi-typography.semi-typography-h4-weight-bold,
.semi-typography-h4.semi-typography.semi-typography-h4-weight-bold {
  font-weight: 700;
}

h5.semi-typography,
.semi-typography-h5.semi-typography {
  font-size: 18px;
  line-height: 24px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  margin: 0;
}
h5.semi-typography.semi-typography-h5-weight-light,
.semi-typography-h5.semi-typography.semi-typography-h5-weight-light {
  font-weight: 200;
}
h5.semi-typography.semi-typography-h5-weight-regular,
.semi-typography-h5.semi-typography.semi-typography-h5-weight-regular {
  font-weight: 400;
}
h5.semi-typography.semi-typography-h5-weight-medium,
.semi-typography-h5.semi-typography.semi-typography-h5-weight-medium {
  font-weight: 500;
}
h5.semi-typography.semi-typography-h5-weight-semibold,
.semi-typography-h5.semi-typography.semi-typography-h5-weight-semibold {
  font-weight: 600;
}
h5.semi-typography.semi-typography-h5-weight-bold,
.semi-typography-h5.semi-typography.semi-typography-h5-weight-bold {
  font-weight: 700;
}

h6.semi-typography,
.semi-typography-h6.semi-typography {
  font-size: 16px;
  line-height: 22px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  margin: 0;
}
h6.semi-typography.semi-typography-h6-weight-light,
.semi-typography-h6.semi-typography.semi-typography-h6-weight-light {
  font-weight: 200;
}
h6.semi-typography.semi-typography-h6-weight-regular,
.semi-typography-h6.semi-typography.semi-typography-h6-weight-regular {
  font-weight: 400;
}
h6.semi-typography.semi-typography-h6-weight-medium,
.semi-typography-h6.semi-typography.semi-typography-h6-weight-medium {
  font-weight: 500;
}
h6.semi-typography.semi-typography-h6-weight-semibold,
.semi-typography-h6.semi-typography.semi-typography-h6-weight-semibold {
  font-weight: 600;
}
h6.semi-typography.semi-typography-h6-weight-bold,
.semi-typography-h6.semi-typography.semi-typography-h6-weight-bold {
  font-weight: 700;
}

p.semi-typography-extended,
.semi-typography-paragraph.semi-typography-extended {
  line-height: 24px;
  font-weight: 400;
}

.semi-rtl .semi-typography,
.semi-portal-rtl .semi-typography {
  direction: rtl;
}
.semi-rtl .semi-typography-link a,
.semi-rtl .semi-typography a,
.semi-portal-rtl .semi-typography-link a,
.semi-portal-rtl .semi-typography a {
  display: inline-block;
}
.semi-rtl .semi-typography-icon,
.semi-portal-rtl .semi-typography-icon {
  margin-right: auto;
  margin-left: 4px;
}
.semi-rtl .semi-typography-ellipsis-expand,
.semi-portal-rtl .semi-typography-ellipsis-expand {
  margin-left: auto;
}
.semi-rtl .semi-typography-action-copy,
.semi-portal-rtl .semi-typography-action-copy {
  margin-left: auto;
  margin-right: 4px;
}
.semi-rtl .semi-typography-action-copied,
.semi-portal-rtl .semi-typography-action-copied {
  margin-left: auto;
  margin-right: 4px;
}
/* shadow */
/* sizing */
/* spacing */
@keyframes semi-tooltip-zoomIn {
  from {
    opacity: 0;
    transform: scale(0.8, 0.8);
  }
  50% {
    opacity: 1;
  }
}
@keyframes semi-tooltip-bounceIn {
  from {
    opacity: 0;
    transform: scale(0.6, 0.6);
  }
  70% {
    opacity: 1;
    transform: scale(1.01, 1.01);
  }
  to {
    opacity: 1;
    transform: scale(1, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
@keyframes semi-tooltip-zoomOut {
  from {
    opacity: 1;
  }
  60% {
    opacity: 0;
    transform: scale(0.8, 0.8);
  }
  to {
    opacity: 0;
  }
}
.semi-tooltip-wrapper {
  position: relative;
  background-color: rgba(var(--semi-grey-7), 1);
  backdrop-filter: none;
  color: var(--semi-color-bg-0);
  border-radius: var(--semi-border-radius-medium);
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  font-size: 14px;
  left: 0;
  top: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  opacity: 0;
  max-width: 240px;
}
.semi-tooltip-wrapper-show {
  opacity: 1;
}
.semi-tooltip-content {
  min-width: 0;
}
.semi-tooltip-trigger {
  display: inline-block;
  width: auto;
  height: auto;
}
.semi-tooltip-with-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.semi-tooltip-animation-show {
  animation: semi-tooltip-zoomIn 100ms cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-fill-mode: forwards;
}
.semi-tooltip-animation-hide {
  animation: semi-tooltip-zoomOut 100ms cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-fill-mode: forwards;
}

.semi-tooltip-wrapper .semi-tooltip-icon-arrow {
  height: 7px;
  width: 24px;
  position: absolute;
  color: rgba(var(--semi-grey-7), 1);
}
.semi-tooltip-wrapper[x-placement=top] .semi-tooltip-icon-arrow {
  left: 50%;
  transform: translateX(-50%);
  bottom: -6px;
}
.semi-tooltip-wrapper[x-placement=top].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=top] .semi-tooltip-with-arrow {
  min-width: 36px;
}
.semi-tooltip-wrapper[x-placement=topLeft] .semi-tooltip-icon-arrow {
  bottom: -6px;
  left: 6px;
}
.semi-tooltip-wrapper[x-placement=topLeft].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=topLeft] .semi-tooltip-with-arrow {
  min-width: 36px;
}
.semi-tooltip-wrapper[x-placement=topRight] .semi-tooltip-icon-arrow {
  bottom: -6px;
  right: 6px;
}
.semi-tooltip-wrapper[x-placement=topRight].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=topRight] .semi-tooltip-with-arrow {
  min-width: 36px;
}
.semi-tooltip-wrapper[x-placement=leftTop] .semi-tooltip-icon-arrow {
  width: 7px;
  height: 24px;
  right: -6px;
  top: 5px;
}
.semi-tooltip-wrapper[x-placement=leftTop].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=leftTop] .semi-tooltip-with-arrow {
  min-height: 34px;
}
.semi-tooltip-wrapper[x-placement=left] .semi-tooltip-icon-arrow {
  width: 7px;
  height: 24px;
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
}
.semi-tooltip-wrapper[x-placement=left].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=left] .semi-tooltip-with-arrow {
  min-height: 34px;
}
.semi-tooltip-wrapper[x-placement=leftBottom] .semi-tooltip-icon-arrow {
  width: 7px;
  height: 24px;
  right: -6px;
  bottom: 5px;
}
.semi-tooltip-wrapper[x-placement=leftBottom].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=leftBottom] .semi-tooltip-with-arrow {
  min-height: 34px;
}
.semi-tooltip-wrapper[x-placement=rightTop] .semi-tooltip-icon-arrow {
  width: 7px;
  height: 24px;
  left: -6px;
  top: 5px;
  transform: rotate(180deg);
}
.semi-tooltip-wrapper[x-placement=rightTop].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=rightTop] .semi-tooltip-with-arrow {
  min-height: 34px;
}
.semi-tooltip-wrapper[x-placement=right] .semi-tooltip-icon-arrow {
  width: 7px;
  height: 24px;
  left: -6px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
}
.semi-tooltip-wrapper[x-placement=right].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=right] .semi-tooltip-with-arrow {
  min-height: 34px;
}
.semi-tooltip-wrapper[x-placement=rightBottom] .semi-tooltip-icon-arrow {
  width: 7px;
  height: 24px;
  left: -6px;
  bottom: 5px;
  transform: rotate(180deg);
}
.semi-tooltip-wrapper[x-placement=rightBottom].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=rightBottom] .semi-tooltip-with-arrow {
  min-height: 34px;
}
.semi-tooltip-wrapper[x-placement=bottomLeft] .semi-tooltip-icon-arrow {
  top: -6px;
  left: 6px;
  transform: rotate(180deg);
}
.semi-tooltip-wrapper[x-placement=bottomLeft].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=bottomLeft] .semi-tooltip-with-arrow {
  min-width: 36px;
}
.semi-tooltip-wrapper[x-placement=bottom] .semi-tooltip-icon-arrow {
  top: -6px;
  left: 50%;
  transform: translateX(-50%) rotate(180deg);
}
.semi-tooltip-wrapper[x-placement=bottom].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=bottom] .semi-tooltip-with-arrow {
  min-width: 36px;
}
.semi-tooltip-wrapper[x-placement=bottomRight] .semi-tooltip-icon-arrow {
  right: 6px;
  top: -6px;
  transform: rotate(180deg);
}
.semi-tooltip-wrapper[x-placement=bottomRight].semi-tooltip-with-arrow,
.semi-tooltip-wrapper[x-placement=bottomRight] .semi-tooltip-with-arrow {
  min-width: 36px;
}

.semi-rtl .semi-tooltip-wrapper,
.semi-portal-rtl .semi-tooltip-wrapper {
  direction: rtl;
  padding-right: 12px;
  padding-left: 12px;
  left: auto;
  right: 0;
}
/* shadow */
/* sizing */
/* spacing */
@keyframes semi-popover-zoomIn {
  from {
    opacity: 0;
    transform: scale(0.8, 0.8);
  }
  50% {
    opacity: 1;
  }
}
@keyframes semi-popover-zoomOut {
  from {
    opacity: 1;
  }
  60% {
    opacity: 0;
    transform: scale(0.8, 0.8);
  }
  to {
    opacity: 0;
  }
}
.semi-popover-wrapper {
  position: relative;
  background-color: var(--semi-color-bg-3);
  backdrop-filter: none;
  box-shadow: var(--semi-shadow-elevated);
  z-index: 1030;
  border-radius: var(--semi-border-radius-medium);
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  opacity: 0;
}
.semi-popover-wrapper-show {
  opacity: 1;
}
.semi-popover-trigger {
  display: inline-block;
  width: auto;
  height: auto;
}
.semi-popover-title {
  padding: 8px;
  border-bottom: 1px solid var(--semi-color-border);
}
.semi-popover-confirm {
  position: absolute;
}
.semi-popover-with-arrow {
  padding: 12px;
  box-sizing: border-box;
}
.semi-popover-animation-show {
  animation: semi-popover-zoomIn 100ms cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-fill-mode: forwards;
}
.semi-popover-animation-hide {
  animation: semi-popover-zoomOut 100ms cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-fill-mode: forwards;
}

.semi-popover-icon-arrow path:nth-child(1) {
  fill: var(--semi-color-border);
}
.semi-popover-icon-arrow path:nth-child(2) {
  fill: var(--semi-color-bg-3);
}

.semi-popover-wrapper .semi-popover-icon-arrow {
  height: 8px;
  width: 24px;
  position: absolute;
  color: inherit;
}
.semi-popover-wrapper[x-placement=top] .semi-popover-icon-arrow {
  left: 50%;
  transform: translateX(-50%);
  bottom: -7px;
}
.semi-popover-wrapper[x-placement=top].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=top] .semi-popover-with-arrow {
  min-width: 36px;
}
.semi-popover-wrapper[x-placement=topLeft] .semi-popover-icon-arrow {
  bottom: -7px;
  left: 6px;
}
.semi-popover-wrapper[x-placement=topLeft].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=topLeft] .semi-popover-with-arrow {
  min-width: 36px;
}
.semi-popover-wrapper[x-placement=topRight] .semi-popover-icon-arrow {
  bottom: -7px;
  right: 6px;
}
.semi-popover-wrapper[x-placement=topRight].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=topRight] .semi-popover-with-arrow {
  min-width: 36px;
}
.semi-popover-wrapper[x-placement=leftTop] .semi-popover-icon-arrow {
  width: 8px;
  height: 24px;
  right: -7px;
  top: 6px;
}
.semi-popover-wrapper[x-placement=leftTop].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=leftTop] .semi-popover-with-arrow {
  min-height: 36px;
}
.semi-popover-wrapper[x-placement=left] .semi-popover-icon-arrow {
  width: 8px;
  height: 24px;
  right: -7px;
  top: 50%;
  transform: translateY(-50%);
}
.semi-popover-wrapper[x-placement=left].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=left] .semi-popover-with-arrow {
  min-height: 36px;
}
.semi-popover-wrapper[x-placement=leftBottom] .semi-popover-icon-arrow {
  width: 8px;
  height: 24px;
  right: -7px;
  bottom: 6px;
}
.semi-popover-wrapper[x-placement=leftBottom].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=leftBottom] .semi-popover-with-arrow {
  min-height: 36px;
}
.semi-popover-wrapper[x-placement=rightTop] .semi-popover-icon-arrow {
  width: 8px;
  height: 24px;
  left: -7px;
  top: 6px;
  transform: rotate(180deg);
}
.semi-popover-wrapper[x-placement=rightTop].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=rightTop] .semi-popover-with-arrow {
  min-height: 36px;
}
.semi-popover-wrapper[x-placement=right] .semi-popover-icon-arrow {
  width: 8px;
  height: 24px;
  left: -7px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
}
.semi-popover-wrapper[x-placement=right].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=right] .semi-popover-with-arrow {
  min-height: 36px;
}
.semi-popover-wrapper[x-placement=rightBottom] .semi-popover-icon-arrow {
  width: 8px;
  height: 24px;
  left: -7px;
  bottom: 6px;
  transform: rotate(180deg);
}
.semi-popover-wrapper[x-placement=rightBottom].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=rightBottom] .semi-popover-with-arrow {
  min-height: 36px;
}
.semi-popover-wrapper[x-placement=bottomLeft] .semi-popover-icon-arrow {
  top: -7px;
  left: 6px;
  transform: rotate(180deg);
}
.semi-popover-wrapper[x-placement=bottomLeft].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=bottomLeft] .semi-popover-with-arrow {
  min-width: 36px;
}
.semi-popover-wrapper[x-placement=bottom] .semi-popover-icon-arrow {
  top: -7px;
  left: 50%;
  transform: translateX(-50%) rotate(180deg);
}
.semi-popover-wrapper[x-placement=bottom].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=bottom] .semi-popover-with-arrow {
  min-width: 36px;
}
.semi-popover-wrapper[x-placement=bottomRight] .semi-popover-icon-arrow {
  right: 6px;
  top: -7px;
  transform: rotate(180deg);
}
.semi-popover-wrapper[x-placement=bottomRight].semi-popover-with-arrow,
.semi-popover-wrapper[x-placement=bottomRight] .semi-popover-with-arrow {
  min-width: 36px;
}

.semi-popover.semi-popover-rtl {
  direction: rtl;
}
/* shadow */
/* sizing */
/* spacing */
@keyframes semi-input-active {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0.97);
  }
}
@keyframes semi-input-inactive {
  from {
    transform: scale(0.97);
  }
  to {
    transform: scale(1);
  }
}
.semi-input {
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}

.semi-input-wrapper {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  box-shadow: none;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-color: var(--semi-color-fill-0);
  border: 1px transparent solid;
  border-radius: var(--semi-border-radius-small);
  width: 100%;
  outline: none;
  cursor: text;
  box-sizing: border-box;
  color: var(--semi-color-text-0);
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-input-wrapper-default {
  height: 32px;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 30px;
}
.semi-input-wrapper-small {
  height: 24px;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 22px;
}
.semi-input-wrapper-large {
  height: 40px;
  font-size: 16px;
  line-height: 22px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 38px;
}
.semi-input-wrapper:hover {
  background-color: var(--semi-color-fill-1);
  border-color: transparent;
}
.semi-input-wrapper-focus {
  background-color: var(--semi-color-fill-0);
  border: var(--semi-color-focus-border) solid 1px;
}
.semi-input-wrapper-focus:hover {
  background-color: var(--semi-color-fill-0);
  border-color: var(--semi-color-focus-border);
}
.semi-input-wrapper-focus:active {
  background-color: var(--semi-color-fill-2);
  border-color: var(--semi-color-focus-border);
}
.semi-input-wrapper.semi-input-readonly {
  cursor: default;
}
.semi-input-wrapper-error {
  background-color: var(--semi-color-danger-light-default);
  border-color: var(--semi-color-danger-light-default);
}
.semi-input-wrapper-error:hover {
  background-color: var(--semi-color-danger-light-hover);
  border-color: var(--semi-color-danger-light-hover);
}
.semi-input-wrapper-error.semi-input-wrapper-focus {
  background-color: var(--semi-color-danger-light-default);
  border-color: var(--semi-color-danger);
}
.semi-input-wrapper-error:active {
  background-color: var(--semi-color-danger-light-active);
  border-color: var(--semi-color-danger);
}
.semi-input-wrapper-warning {
  background-color: var(--semi-color-warning-light-default);
  border-color: var(--semi-color-warning-light-default);
}
.semi-input-wrapper-warning:hover {
  background-color: var(--semi-color-warning-light-hover);
  border-color: var(--semi-color-warning-light-hover);
}
.semi-input-wrapper-warning.semi-input-wrapper-focus {
  background-color: var(--semi-color-warning-light-default);
  border-color: var(--semi-color-warning);
}
.semi-input-wrapper-warning:active {
  background-color: var(--semi-color-warning-light-active);
  border-color: var(--semi-color-warning);
}
.semi-input-wrapper__with-prefix {
  display: inline-flex;
  align-items: center;
}
.semi-input-wrapper__with-prefix .semi-input {
  padding-left: 0;
}
.semi-input-wrapper__with-suffix {
  display: inline-flex;
  align-items: center;
}
.semi-input-wrapper__with-suffix .semi-input {
  padding-right: 0;
}
.semi-input-wrapper-clearable, .semi-input-wrapper-modebtn {
  display: inline-flex;
  align-items: center;
}
.semi-input-wrapper-hidden {
  border: none;
}
.semi-input-wrapper .semi-icon {
  color: var(--semi-color-text-2);
}
.semi-input-wrapper .semi-input-clearbtn,
.semi-input-wrapper .semi-input-modebtn {
  color: var(--semi-color-primary-hover);
}
.semi-input-wrapper .semi-input-clearbtn > svg,
.semi-input-wrapper .semi-input-modebtn > svg {
  pointer-events: none;
}
.semi-input-wrapper .semi-input-clearbtn:hover,
.semi-input-wrapper .semi-input-modebtn:hover {
  cursor: pointer;
}
.semi-input-wrapper .semi-input-clearbtn:hover .semi-icon,
.semi-input-wrapper .semi-input-modebtn:hover .semi-icon {
  color: var(--semi-color-primary-hover);
}
.semi-input-wrapper .semi-input-clearbtn:focus-visible,
.semi-input-wrapper .semi-input-modebtn:focus-visible {
  border-radius: var(--semi-border-radius-small);
  outline: 2px solid var(--semi-color-primary-light-active);
  outline-offset: -1px;
}
.semi-input-wrapper__with-suffix-icon.semi-input-wrapper-clearable:not(.semi-input-wrapper__with-suffix-hidden) .semi-input-clearbtn {
  min-width: 24px;
  justify-content: flex-end;
}
.semi-input-wrapper-modebtn.semi-input-wrapper-clearable .semi-input-clearbtn {
  min-width: 16px;
  justify-content: center;
}
.semi-input-wrapper.semi-input-wrapper__with-append-only .semi-input {
  border-radius: 0 var(--semi-border-radius-small) var(--semi-border-radius-small) 0;
}
.semi-input-wrapper.semi-input-wrapper__with-append-only .semi-input:not(:last-child) {
  border-right-style: none;
  border-radius: 0;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend-only .semi-input {
  border-radius: var(--semi-border-radius-small) 0 0 var(--semi-border-radius-small);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend-only .semi-input:not(:last-child) {
  border-right-style: none;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend, .semi-input-wrapper.semi-input-wrapper__with-append {
  display: inline-flex;
  align-items: center;
  background-color: transparent;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend:hover, .semi-input-wrapper.semi-input-wrapper__with-append:hover {
  background-color: transparent;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-focus, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-focus {
  border: 1px transparent solid;
  background-color: transparent;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input {
  background-color: var(--semi-color-fill-0);
  border: 1px transparent solid;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:hover, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:hover {
  background-color: var(--semi-color-fill-1);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:hover + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:hover ~ .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:hover + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:hover ~ .semi-input-modebtn {
  background-color: var(--semi-color-fill-1);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:focus, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:focus {
  border: 1px var(--semi-color-focus-border) solid;
  background-color: var(--semi-color-fill-0);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:focus.semi-input-sibling-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:focus.semi-input-sibling-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:focus.semi-input-sibling-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:focus.semi-input-sibling-modebtn {
  border-right-style: none;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:focus.semi-input-sibling-modebtn + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:focus.semi-input-sibling-modebtn + .semi-input-clearbtn {
  border-right-style: none;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:focus + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:focus ~ .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:focus + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:focus ~ .semi-input-modebtn {
  box-sizing: border-box;
  background-color: var(--semi-color-fill-0);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:focus + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:focus + .semi-input-clearbtn {
  border: 1px var(--semi-color-focus-border) solid;
  border-radius: 0 var(--semi-border-radius-small) var(--semi-border-radius-small) 0;
  border-left-style: none;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:focus + .semi-input-clearbtn:not(:last-child), .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:focus + .semi-input-clearbtn:not(:last-child) {
  border-radius: 0;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:focus ~ .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:focus ~ .semi-input-modebtn {
  border: 1px var(--semi-color-focus-border) solid;
  border-radius: 0 var(--semi-border-radius-small) var(--semi-border-radius-small) 0;
  border-left-style: none;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:focus ~ .semi-input-modebtn:not(:last-child), .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:focus ~ .semi-input-modebtn:not(:last-child) {
  border-radius: 0;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:active, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:active {
  background-color: var(--semi-color-fill-2);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:active + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input:active ~ .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:active + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input:active ~ .semi-input-modebtn {
  background-color: var(--semi-color-fill-2);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input-clearbtn:hover, .semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input-modebtn:hover, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input-clearbtn:hover, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input-modebtn:hover {
  background-color: var(--semi-color-fill-0);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input-clearbtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input-modebtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input-clearbtn:hover:last-child, .semi-input-wrapper.semi-input-wrapper__with-prepend .semi-input-modebtn:hover:last-child, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input-clearbtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input-modebtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input-clearbtn:hover:last-child, .semi-input-wrapper.semi-input-wrapper__with-append .semi-input-modebtn:hover:last-child {
  border-radius: 0 var(--semi-border-radius-small) var(--semi-border-radius-small) 0;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error {
  border-color: transparent;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input {
  background-color: var(--semi-color-danger-light-default);
  border-color: var(--semi-color-danger-light-default);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input:hover, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input:hover {
  background-color: var(--semi-color-danger-light-hover);
  border-color: var(--semi-color-danger-light-hover);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input:hover + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input:hover + .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input:hover + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input:hover + .semi-input-modebtn {
  background-color: var(--semi-color-danger-light-hover);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input:focus, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input:focus {
  background-color: var(--semi-color-danger-light-default);
  border-color: var(--semi-color-danger);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input:focus + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input:focus + .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input:focus + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input:focus + .semi-input-modebtn {
  background-color: var(--semi-color-danger-light-default);
  border-color: var(--semi-color-danger);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input:active, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input:active {
  background-color: var(--semi-color-danger-light-active);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input:active + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input:active + .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input:active + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input:active + .semi-input-modebtn {
  background-color: var(--semi-color-danger-light-active);
  border-color: var(--semi-color-danger);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input-clearbtn:hover, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input-modebtn:hover, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input-clearbtn:hover, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input-modebtn:hover {
  background-color: var(--semi-color-danger-light-default);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input-clearbtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input-modebtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input-clearbtn:hover:last-child, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-error .semi-input-modebtn:hover:last-child, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input-clearbtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input-modebtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input-clearbtn:hover:last-child, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-error .semi-input-modebtn:hover:last-child {
  border-radius: 0 var(--semi-border-radius-small) var(--semi-border-radius-small) 0;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning {
  border-color: transparent;
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input {
  background-color: var(--semi-color-warning-light-default);
  border-color: var(--semi-color-warning-light-default);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input:hover, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input:hover {
  background-color: var(--semi-color-warning-light-hover);
  border-color: var(--semi-color-warning-light-hover);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input:hover + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input:hover + .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input:hover + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input:hover + .semi-input-modebtn {
  background-color: var(--semi-color-warning-light-hover);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input:focus, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input:focus {
  background-color: var(--semi-color-warning-light-default);
  border-color: var(--semi-color-warning);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input:focus + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input:focus + .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input:focus + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input:focus + .semi-input-modebtn {
  background-color: var(--semi-color-warning-light-default);
  border-color: var(--semi-color-warning);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input:active, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input:active {
  background-color: var(--semi-color-warning-light-active);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input:active + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input:active + .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input:active + .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input:active + .semi-input-modebtn {
  background-color: var(--semi-color-warning-light-active);
  border-color: var(--semi-color-warning);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input-clearbtn:hover, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input-modebtn:hover, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input-clearbtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input-modebtn, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input-clearbtn:hover, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input-modebtn:hover {
  background-color: var(--semi-color-warning-light-default);
}
.semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input-clearbtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input-modebtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input-clearbtn:hover:last-child, .semi-input-wrapper.semi-input-wrapper__with-prepend.semi-input-wrapper-warning .semi-input-modebtn:hover:last-child, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input-clearbtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input-modebtn:last-child, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input-clearbtn:hover:last-child, .semi-input-wrapper.semi-input-wrapper__with-append.semi-input-wrapper-warning .semi-input-modebtn:hover:last-child {
  border-radius: 0 var(--semi-border-radius-small) var(--semi-border-radius-small) 0;
}
.semi-input-wrapper-disabled {
  cursor: not-allowed;
  color: var(--semi-color-disabled-text);
  background-color: var(--semi-color-disabled-fill);
  -webkit-text-fill-color: var(--semi-color-disabled-text);
}
.semi-input-wrapper-disabled:hover {
  background-color: var(--semi-color-disabled-fill);
}
.semi-input-wrapper-disabled .semi-input-append,
.semi-input-wrapper-disabled .semi-input-prepend,
.semi-input-wrapper-disabled .semi-input-suffix,
.semi-input-wrapper-disabled .semi-input-prefix,
.semi-input-wrapper-disabled .semi-icon {
  color: var(--semi-color-disabled-text);
}

.semi-input {
  border: none;
  outline: none;
  width: 100%;
  color: inherit;
  padding-left: 12px;
  padding-right: 12px;
  background-color: transparent;
  box-sizing: border-box;
}
.semi-input:-moz-placeholder {
  text-overflow: ellipsis;
}
.semi-input:placeholder-shown {
  text-overflow: ellipsis;
}
.semi-input[type=password]::-ms-reveal, .semi-input[type=password]::-ms-clear {
  display: none;
}
.semi-input[type=search]::-webkit-search-cancel-button {
  display: none;
}
.semi-input::-moz-placeholder {
  color: var(--semi-color-text-2);
}
.semi-input::placeholder {
  color: var(--semi-color-text-2);
}
.semi-input-large {
  height: 38px;
  font-size: 16px;
  line-height: 22px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 38px;
}
.semi-input-small {
  height: 22px;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 22px;
}
.semi-input-default {
  height: 30px;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 30px;
}
.semi-input-disabled {
  cursor: not-allowed;
  color: inherit;
}
.semi-input-inset-label {
  margin: 0 12px;
  font-weight: 600;
  color: var(--semi-color-text-2);
  flex-shrink: 0;
  white-space: nowrap;
}
.semi-input-prefix, .semi-input-suffix {
  display: flex;
  justify-content: center;
  align-items: center;
}
.semi-input-prefix-text, .semi-input-suffix-text {
  margin: 0 12px;
  color: var(--semi-color-text-2);
  font-weight: 600;
  white-space: nowrap;
}
.semi-input-prefix-icon, .semi-input-suffix-icon {
  color: var(--semi-color-text-2);
  margin: 0 8px;
}
.semi-input-suffix {
  display: flex;
  justify-content: center;
  align-items: center;
}
.semi-input-clearbtn, .semi-input-modebtn {
  display: flex;
  align-items: center;
  height: 100%;
  justify-content: center;
  min-width: 32px;
}
.semi-input-clearbtn + .semi-input-suffix + .semi-input-suffix-text {
  margin-left: 0;
}
.semi-input-clearbtn + .semi-input-suffix + .semi-input-suffix-icon {
  margin-left: 0;
}
.semi-input-suffix-hidden {
  display: none;
}
.semi-input-prepend, .semi-input-append {
  height: 100%;
  display: flex;
  align-items: center;
  background-color: var(--semi-color-fill-0);
  color: var(--semi-color-text-2);
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  flex-shrink: 0;
}
.semi-input-prepend-icon, .semi-input-prepend-text, .semi-input-append-icon, .semi-input-append-text {
  padding: 0 12px;
}
.semi-input-append {
  border-radius: 0 var(--semi-border-radius-small) var(--semi-border-radius-small) 0;
  border-left: 1px transparent solid;
}
.semi-input-prepend {
  border-radius: var(--semi-border-radius-small) 0 0 var(--semi-border-radius-small);
  border-right: 1px transparent solid;
}
.semi-input-disabled::-moz-placeholder {
  color: var(--semi-color-disabled-text);
}
.semi-input-disabled::placeholder {
  color: var(--semi-color-disabled-text);
}
.semi-input-group {
  display: inline-flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}
.semi-input-group .semi-select,
.semi-input-group .semi-tagInput,
.semi-input-group .semi-cascader,
.semi-input-group .semi-tree-select, .semi-input-group > .semi-input-wrapper {
  border-radius: 0;
}
.semi-input-group .semi-select:first-child,
.semi-input-group .semi-tagInput:first-child,
.semi-input-group .semi-cascader:first-child,
.semi-input-group .semi-tree-select:first-child, .semi-input-group > .semi-input-wrapper:first-child {
  border-radius: var(--semi-border-radius-small) 0 0 var(--semi-border-radius-small);
}
.semi-input-group .semi-select:last-child,
.semi-input-group .semi-tagInput:last-child,
.semi-input-group .semi-cascader:last-child,
.semi-input-group .semi-tree-select:last-child, .semi-input-group > .semi-input-wrapper:last-child {
  border-radius: 0 var(--semi-border-radius-small) var(--semi-border-radius-small) 0;
}
.semi-input-group .semi-select:not(:last-child),
.semi-input-group .semi-tagInput:not(:last-child),
.semi-input-group .semi-cascader:not(:last-child),
.semi-input-group .semi-tree-select:not(:last-child), .semi-input-group > .semi-input-wrapper:not(:last-child) {
  position: relative;
}
.semi-input-group .semi-select:not(:last-child)::after,
.semi-input-group .semi-tagInput:not(:last-child)::after,
.semi-input-group .semi-cascader:not(:last-child)::after,
.semi-input-group .semi-tree-select:not(:last-child)::after, .semi-input-group > .semi-input-wrapper:not(:last-child)::after {
  content: "";
  background-color: var(--semi-color-border);
  width: 1px;
  position: absolute;
  right: -1px;
  top: 1px;
  bottom: 1px;
}
.semi-input-group .semi-select {
  overflow-y: visible;
}
.semi-input-group .semi-input-number .semi-input-wrapper,
.semi-input-group .semi-input-number .semi-datepicker-range-input,
.semi-input-group .semi-datepicker .semi-input-wrapper,
.semi-input-group .semi-datepicker .semi-datepicker-range-input,
.semi-input-group .semi-timepicker .semi-input-wrapper,
.semi-input-group .semi-timepicker .semi-datepicker-range-input,
.semi-input-group .semi-autocomplete .semi-input-wrapper,
.semi-input-group .semi-autocomplete .semi-datepicker-range-input {
  border-radius: 0;
}
.semi-input-group .semi-input-number:first-child .semi-input-wrapper,
.semi-input-group .semi-input-number:first-child .semi-datepicker-range-input,
.semi-input-group .semi-datepicker:first-child .semi-input-wrapper,
.semi-input-group .semi-datepicker:first-child .semi-datepicker-range-input,
.semi-input-group .semi-timepicker:first-child .semi-input-wrapper,
.semi-input-group .semi-timepicker:first-child .semi-datepicker-range-input,
.semi-input-group .semi-autocomplete:first-child .semi-input-wrapper,
.semi-input-group .semi-autocomplete:first-child .semi-datepicker-range-input {
  border-radius: var(--semi-border-radius-small) 0 0 var(--semi-border-radius-small);
}
.semi-input-group .semi-input-number:last-child .semi-input-wrapper,
.semi-input-group .semi-input-number:last-child .semi-datepicker-range-input,
.semi-input-group .semi-datepicker:last-child .semi-input-wrapper,
.semi-input-group .semi-datepicker:last-child .semi-datepicker-range-input,
.semi-input-group .semi-timepicker:last-child .semi-input-wrapper,
.semi-input-group .semi-timepicker:last-child .semi-datepicker-range-input,
.semi-input-group .semi-autocomplete:last-child .semi-input-wrapper,
.semi-input-group .semi-autocomplete:last-child .semi-datepicker-range-input {
  border-radius: 0 var(--semi-border-radius-small) var(--semi-border-radius-small) 0;
}
.semi-input-group .semi-input-number:not(:last-child),
.semi-input-group .semi-datepicker:not(:last-child),
.semi-input-group .semi-timepicker:not(:last-child),
.semi-input-group .semi-autocomplete:not(:last-child) {
  position: relative;
}
.semi-input-group .semi-input-number:not(:last-child)::after,
.semi-input-group .semi-datepicker:not(:last-child)::after,
.semi-input-group .semi-timepicker:not(:last-child)::after,
.semi-input-group .semi-autocomplete:not(:last-child)::after {
  content: "";
  background-color: var(--semi-color-border);
  width: 1px;
  position: absolute;
  right: -1px;
  top: 1px;
  bottom: 1px;
}
.semi-input-group-wrapper-with-top-label {
  margin-top: 16px;
  margin-bottom: 16px;
}
.semi-input-group-wrapper-with-top-label .semi-input-group {
  display: flex;
}
.semi-input-group-wrapper-with-top-label .semi-input-group .semi-form-field {
  margin-top: 0;
  margin-bottom: 0;
}

.semi-input-only_border {
  background: transparent;
  border-color: var(--semi-color-border);
}
.semi-input-only_border:hover {
  background: transparent;
  border-color: var(--semi-color-border);
}
.semi-input-only_border:focus-within {
  background: transparent;
}

.semi-input-borderless:not(:focus-within):not(:hover) {
  background-color: transparent;
  border-color: transparent;
}
.semi-input-borderless:focus-within:not(:active) {
  background-color: transparent;
}
.semi-input-borderless.semi-input-wrapper-error:not(:focus-within) {
  border-color: var(--semi-color-danger);
}
.semi-input-borderless.semi-input-wrapper-warning:not(:focus-within) {
  border-color: var(--semi-color-warning);
}

.semi-rtl .semi-input-wrapper,
.semi-portal-rtl .semi-input-wrapper {
  direction: rtl;
}
.semi-rtl .semi-input-wrapper__with-prefix .semi-input,
.semi-portal-rtl .semi-input-wrapper__with-prefix .semi-input {
  padding-left: auto;
  padding-right: 0;
}
.semi-rtl .semi-input-wrapper__with-suffix .semi-input,
.semi-portal-rtl .semi-input-wrapper__with-suffix .semi-input {
  padding-right: auto;
  padding-left: 0;
}
.semi-rtl .semi-input,
.semi-portal-rtl .semi-input {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-input-clearbtn + .semi-rtl .semi-input-suffix + .semi-input-suffix-text,
.semi-rtl .semi-input-clearbtn + .semi-portal-rtl .semi-input-suffix + .semi-input-suffix-text,
.semi-portal-rtl .semi-input-clearbtn + .semi-rtl .semi-input-suffix + .semi-input-suffix-text,
.semi-portal-rtl .semi-input-clearbtn + .semi-portal-rtl .semi-input-suffix + .semi-input-suffix-text {
  margin-left: auto;
  margin-right: 0;
}
.semi-rtl .semi-input-clearbtn + .semi-rtl .semi-input-suffix + .semi-input-suffix-icon,
.semi-rtl .semi-input-clearbtn + .semi-portal-rtl .semi-input-suffix + .semi-input-suffix-icon,
.semi-portal-rtl .semi-input-clearbtn + .semi-rtl .semi-input-suffix + .semi-input-suffix-icon,
.semi-portal-rtl .semi-input-clearbtn + .semi-portal-rtl .semi-input-suffix + .semi-input-suffix-icon {
  margin-left: auto;
  margin-right: 0;
}
.semi-rtl .semi-input-append,
.semi-portal-rtl .semi-input-append {
  border-left: 0;
  border-right: 1px transparent solid;
}
.semi-rtl .semi-input-prepend,
.semi-portal-rtl .semi-input-prepend {
  border-right: 0;
  border-left: 1px transparent solid;
}
.semi-rtl .semi-input-group .semi-select:not(:last-child)::after,
.semi-rtl .semi-input-group .semi-cascader:not(:last-child)::after,
.semi-rtl .semi-input-group .semi-tree-select:not(:last-child)::after, .semi-rtl .semi-input-group > .semi-input-wrapper:not(:last-child)::after,
.semi-portal-rtl .semi-input-group .semi-select:not(:last-child)::after,
.semi-portal-rtl .semi-input-group .semi-cascader:not(:last-child)::after,
.semi-portal-rtl .semi-input-group .semi-tree-select:not(:last-child)::after,
.semi-portal-rtl .semi-input-group > .semi-input-wrapper:not(:last-child)::after {
  right: auto;
  left: -1px;
}
.semi-rtl .semi-input-group .semi-input-number:not(:last-child)::after,
.semi-portal-rtl .semi-input-group .semi-input-number:not(:last-child)::after {
  right: auto;
  left: -1px;
}
.semi-rtl .semi-input-textarea-wrapper,
.semi-portal-rtl .semi-input-textarea-wrapper {
  direction: rtl;
}
.semi-rtl .semi-input-textarea-counter,
.semi-portal-rtl .semi-input-textarea-counter {
  text-align: left;
}
.semi-rtl .semi-input-textarea-showClear,
.semi-portal-rtl .semi-input-textarea-showClear {
  padding-right: 0;
  padding-left: 36px;
}
/* shadow */
/* sizing */
/* spacing */
.semi-input-textarea-wrapper {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 100%;
  border: 1px transparent solid;
  border-radius: var(--semi-border-radius-small);
  vertical-align: bottom;
  background-color: var(--semi-color-fill-0);
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
}
.semi-input-textarea-wrapper:hover {
  background-color: var(--semi-color-fill-1);
}
.semi-input-textarea-wrapper-focus {
  background-color: var(--semi-color-fill-0);
  border: 1px var(--semi-color-focus-border) solid;
}
.semi-input-textarea-wrapper-focus:hover, .semi-input-textarea-wrapper-focus:active {
  background-color: var(--semi-color-fill-0);
}
.semi-input-textarea-wrapper:active {
  background-color: var(--semi-color-fill-2);
}
.semi-input-textarea-wrapper .semi-input-clearbtn {
  position: absolute;
  top: 0;
  min-width: 24px;
  color: var(--semi-color-text-2);
  right: 4px;
  height: 32px;
}
.semi-input-textarea-wrapper .semi-input-clearbtn > svg {
  pointer-events: none;
}
.semi-input-textarea-wrapper .semi-input-clearbtn:hover {
  cursor: pointer;
}
.semi-input-textarea-wrapper .semi-input-clearbtn:hover .semi-icon {
  color: var(--semi-color-primary-hover);
}
.semi-input-textarea-wrapper .semi-input-clearbtn-hidden {
  visibility: hidden;
}
.semi-input-textarea-wrapper-disabled, .semi-input-textarea-wrapper-readonly {
  cursor: not-allowed;
  color: var(--semi-color-disabled-text);
  background-color: var(--semi-color-disabled-fill);
}
.semi-input-textarea-wrapper-disabled:hover, .semi-input-textarea-wrapper-readonly:hover {
  background-color: var(--semi-color-disabled-fill);
}
.semi-input-textarea-wrapper-disabled::-moz-placeholder, .semi-input-textarea-wrapper-readonly::-moz-placeholder {
  color: var(--semi-color-disabled-text);
}
.semi-input-textarea-wrapper-disabled::placeholder, .semi-input-textarea-wrapper-readonly::placeholder {
  color: var(--semi-color-disabled-text);
}
.semi-input-textarea-wrapper-readonly {
  cursor: text;
}
.semi-input-textarea-wrapper-error {
  background-color: var(--semi-color-danger-light-default);
  border-color: var(--semi-color-danger-light-default);
}
.semi-input-textarea-wrapper-error:hover {
  background-color: var(--semi-color-danger-light-hover);
  border-color: var(--semi-color-danger-light-hover);
}
.semi-input-textarea-wrapper-error.semi-input-textarea-wrapper-focus {
  background-color: var(--semi-color-danger-light-default);
  border-color: var(--semi-color-danger);
}
.semi-input-textarea-wrapper-error:active {
  background-color: var(--semi-color-danger-light-active);
  border-color: var(--semi-color-danger);
}
.semi-input-textarea-wrapper-warning {
  background-color: var(--semi-color-warning-light-default);
  border-color: var(--semi-color-warning-light-default);
}
.semi-input-textarea-wrapper-warning:hover {
  background-color: var(--semi-color-warning-light-hover);
  border-color: var(--semi-color-warning-light-hover);
}
.semi-input-textarea-wrapper-warning.semi-input-textarea-wrapper-focus {
  background-color: var(--semi-color-warning-light-default);
  border-color: var(--semi-color-warning);
}
.semi-input-textarea-wrapper-warning:active {
  background-color: var(--semi-color-warning-light-active);
  border-color: var(--semi-color-warning);
}

.semi-input-textarea {
  position: relative;
  resize: none;
  padding: 5px 12px;
  box-shadow: none;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-color: transparent;
  border: 0 solid transparent;
  vertical-align: bottom;
  width: 100%;
  outline: none;
  cursor: text;
  box-sizing: border-box;
  color: var(--semi-color-text-0);
}
.semi-input-textarea:hover {
  border-color: transparent;
}
.semi-input-textarea::-moz-placeholder {
  color: var(--semi-color-text-2);
}
.semi-input-textarea::placeholder {
  color: var(--semi-color-text-2);
}
.semi-input-textarea-showClear {
  padding-right: 36px;
}
.semi-input-textarea-disabled, .semi-input-textarea-readonly {
  cursor: not-allowed;
  color: var(--semi-color-disabled-text);
  background-color: transparent;
}
.semi-input-textarea-disabled:hover, .semi-input-textarea-readonly:hover {
  background-color: transparent;
}
.semi-input-textarea-disabled::-moz-placeholder, .semi-input-textarea-readonly::-moz-placeholder {
  color: var(--semi-color-disabled-text);
}
.semi-input-textarea-disabled::placeholder, .semi-input-textarea-readonly::placeholder {
  color: var(--semi-color-disabled-text);
}
.semi-input-textarea-readonly {
  cursor: text;
}
.semi-input-textarea-autosize {
  overflow: hidden;
}
.semi-input-textarea-counter {
  font-size: 12px;
  line-height: 16px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3px 12px 5px 12px;
  min-height: 24px;
  text-align: right;
  color: var(--semi-color-text-2);
}
.semi-input-textarea-counter-exceed {
  color: var(--semi-color-danger);
}

.semi-input-textarea-borderless:not(:focus-within):not(:hover) {
  background-color: transparent;
  border-color: transparent;
}
.semi-input-textarea-borderless:focus-within:not(:active) {
  background-color: transparent;
}
.semi-input-textarea-borderless.semi-input-textarea-wrapper-error:not(:focus-within) {
  border-color: var(--semi-color-danger);
}
.semi-input-textarea-borderless.semi-input-textarea-wrapper-warning:not(:focus-within) {
  border-color: var(--semi-color-warning);
}
.semi-input-textarea-borderless.semi-input-textarea-wrapper-error .semi-input-textarea-counter {
  color: var(--semi-color-danger);
}
.semi-input-textarea-borderless.semi-input-textarea-wrapper-warning .semi-input-textarea-counter {
  color: var(--semi-color-warning);
}

.semi-rtl .semi-input-wrapper,
.semi-portal-rtl .semi-input-wrapper {
  direction: rtl;
}
.semi-rtl .semi-input-wrapper__with-prefix .semi-input,
.semi-portal-rtl .semi-input-wrapper__with-prefix .semi-input {
  padding-left: auto;
  padding-right: 0;
}
.semi-rtl .semi-input-wrapper__with-suffix .semi-input,
.semi-portal-rtl .semi-input-wrapper__with-suffix .semi-input {
  padding-right: auto;
  padding-left: 0;
}
.semi-rtl .semi-input,
.semi-portal-rtl .semi-input {
  padding-left: 12px;
  padding-right: 12px;
}
.semi-rtl .semi-input-clearbtn + .semi-rtl .semi-input-suffix + .semi-input-suffix-text,
.semi-rtl .semi-input-clearbtn + .semi-portal-rtl .semi-input-suffix + .semi-input-suffix-text,
.semi-portal-rtl .semi-input-clearbtn + .semi-rtl .semi-input-suffix + .semi-input-suffix-text,
.semi-portal-rtl .semi-input-clearbtn + .semi-portal-rtl .semi-input-suffix + .semi-input-suffix-text {
  margin-left: auto;
  margin-right: 0;
}
.semi-rtl .semi-input-clearbtn + .semi-rtl .semi-input-suffix + .semi-input-suffix-icon,
.semi-rtl .semi-input-clearbtn + .semi-portal-rtl .semi-input-suffix + .semi-input-suffix-icon,
.semi-portal-rtl .semi-input-clearbtn + .semi-rtl .semi-input-suffix + .semi-input-suffix-icon,
.semi-portal-rtl .semi-input-clearbtn + .semi-portal-rtl .semi-input-suffix + .semi-input-suffix-icon {
  margin-left: auto;
  margin-right: 0;
}
.semi-rtl .semi-input-append,
.semi-portal-rtl .semi-input-append {
  border-left: 0;
  border-right: 1px transparent solid;
}
.semi-rtl .semi-input-prepend,
.semi-portal-rtl .semi-input-prepend {
  border-right: 0;
  border-left: 1px transparent solid;
}
.semi-rtl .semi-input-group .semi-select:not(:last-child)::after,
.semi-rtl .semi-input-group .semi-cascader:not(:last-child)::after,
.semi-rtl .semi-input-group .semi-tree-select:not(:last-child)::after, .semi-rtl .semi-input-group > .semi-input-wrapper:not(:last-child)::after,
.semi-portal-rtl .semi-input-group .semi-select:not(:last-child)::after,
.semi-portal-rtl .semi-input-group .semi-cascader:not(:last-child)::after,
.semi-portal-rtl .semi-input-group .semi-tree-select:not(:last-child)::after,
.semi-portal-rtl .semi-input-group > .semi-input-wrapper:not(:last-child)::after {
  right: auto;
  left: -1px;
}
.semi-rtl .semi-input-group .semi-input-number:not(:last-child)::after,
.semi-portal-rtl .semi-input-group .semi-input-number:not(:last-child)::after {
  right: auto;
  left: -1px;
}
.semi-rtl .semi-input-textarea-wrapper,
.semi-portal-rtl .semi-input-textarea-wrapper {
  direction: rtl;
}
.semi-rtl .semi-input-textarea-counter,
.semi-portal-rtl .semi-input-textarea-counter {
  text-align: left;
}
.semi-rtl .semi-input-textarea-showClear,
.semi-portal-rtl .semi-input-textarea-showClear {
  padding-right: 0;
  padding-left: 36px;
}
/* shadow */
/* sizing */
/* spacing */
.semi-notification-wrapper {
  position: fixed;
}

.semi-notification-list {
  position: fixed;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  z-index: 1010;
  pointer-events: none;
}
.semi-notification-list[placement=topRight] {
  right: 0;
  top: 0;
}
.semi-notification-list[placement=top] {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.semi-notification-list[placement=topLeft] {
  left: 0;
  top: 0;
}
.semi-notification-list[placement=bottom] {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.semi-notification-list[placement=bottomRight] {
  bottom: 0;
  right: 0;
}
.semi-notification-list[placement=bottomLeft] {
  bottom: 0;
  left: 0;
}

.semi-notification-notice {
  box-shadow: var(--semi-shadow-elevated);
  border-radius: var(--semi-border-radius-medium);
  padding-top: 16px;
  padding-right: 12px;
  padding-bottom: 16px;
  padding-left: 20px;
  margin: 20px;
  width: auto;
  min-width: 320px;
  background-color: var(--semi-color-bg-3);
  position: relative;
  display: flex;
  pointer-events: auto;
}
.semi-notification-notice-icon {
  width: 24px;
  font-size: 16px;
  line-height: 22px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  height: 100%;
  margin-right: 12px;
}
.semi-notification-notice-info {
  color: var(--semi-color-info);
}
.semi-notification-notice-warning {
  color: var(--semi-color-warning);
}
.semi-notification-notice-error {
  color: var(--semi-color-danger);
}
.semi-notification-notice-success {
  color: var(--semi-color-success);
}
.semi-notification-notice-light.semi-notification-notice-warning {
  background-image: linear-gradient(0deg, var(--semi-color-warning-light-default), var(--semi-color-warning-light-default));
  background-color: var(--semi-color-bg-0);
  border: 1px solid var(--semi-color-warning);
}
.semi-notification-notice-light.semi-notification-notice-success {
  background-image: linear-gradient(0deg, var(--semi-color-success-light-default), var(--semi-color-success-light-default));
  background-color: var(--semi-color-bg-0);
  border: 1px solid var(--semi-color-success);
}
.semi-notification-notice-light.semi-notification-notice-info, .semi-notification-notice-light.semi-notification-notice-default {
  background-image: linear-gradient(0deg, var(--semi-color-info-light-default), var(--semi-color-info-light-default));
  background-color: var(--semi-color-bg-0);
  border: 1px solid var(--semi-color-info);
}
.semi-notification-notice-light.semi-notification-notice-error {
  background-image: linear-gradient(0deg, var(--semi-color-danger-light-default), var(--semi-color-danger-light-default));
  background-color: var(--semi-color-bg-0);
  border: 1px solid var(--semi-color-danger);
}
.semi-notification-notice-title {
  font-size: 16px;
  line-height: 22px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  color: var(--semi-color-text-0);
  margin-bottom: 4px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.semi-notification-notice-inner {
  display: flex;
  width: 100%;
  min-width: 0;
}
.semi-notification-notice-content-wrapper {
  flex: 1 1 auto;
  margin-right: 8px;
  min-width: 0;
}
.semi-notification-notice-content {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  color: var(--semi-color-text-1);
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.semi-notification-notice-icon-close {
  height: 24px;
}
.semi-notification-notice-icon-close .semi-icon-close {
  color: var(--semi-color-text-2);
}
.semi-notification-notice-controls {
  display: flex;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: pointer;
}
.semi-notification-notice-detail {
  text-align: center;
  flex-grow: 1;
}
.semi-notification-notice-later {
  text-align: center;
  flex-grow: 1;
}
@keyframes semi-notification-slideShow_top {
  from {
    opacity: 0;
    transform: translateY(-100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes semi-notification-slideHide_top {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100%);
  }
}
@keyframes semi-notification-slideShow_topLeft {
  from {
    opacity: 0;
    transform: translateX(-100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes semi-notification-slideHide_topLeft {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(-100%);
  }
}
@keyframes semi-notification-slideShow_topRight {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes semi-notification-slideHide_topRight {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(100%);
  }
}
@keyframes semi-notification-slideShow_bottom {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes semi-notification-slideHide_bottom {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(100%);
  }
}
@keyframes semi-notification-slideShow_bottomLeft {
  from {
    opacity: 0;
    transform: translateX(-100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes semi-notification-slideHide_bottomLeft {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(-100%);
  }
}
@keyframes semi-notification-slideShow_bottomRight {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes semi-notification-slideHide_bottomRight {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(100%);
  }
}
.semi-notification-notice-animation-show_top {
  animation: semi-notification-slideShow_top 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}
.semi-notification-notice-animation-hide_top {
  animation: semi-notification-slideHide_top 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}
.semi-notification-notice-animation-show_topLeft {
  animation: semi-notification-slideShow_topLeft 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}
.semi-notification-notice-animation-hide_topLeft {
  animation: semi-notification-slideHide_topLeft 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}
.semi-notification-notice-animation-show_topRight {
  animation: semi-notification-slideShow_topRight 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}
.semi-notification-notice-animation-hide_topRight {
  animation: semi-notification-slideHide_topRight 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}
.semi-notification-notice-animation-show_bottom {
  animation: semi-notification-slideShow_bottom 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}
.semi-notification-notice-animation-hide_bottom {
  animation: semi-notification-slideHide_bottom 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}
.semi-notification-notice-animation-show_bottomLeft {
  animation: semi-notification-slideShow_bottomLeft 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}
.semi-notification-notice-animation-hide_bottomLeft {
  animation: semi-notification-slideHide_bottomLeft 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}
.semi-notification-notice-animation-show_bottomRight {
  animation: semi-notification-slideShow_bottomRight 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}
.semi-notification-notice-animation-hide_bottomRight {
  animation: semi-notification-slideHide_bottomRight 300ms cubic-bezier(0.62, 0.63, 0, 1.13) 0ms;
  animation-fill-mode: forwards;
}

.semi-notification-notice.semi-notification-notice-rtl {
  padding-right: 20px;
  padding-left: 12px;
}
.semi-notification-notice-rtl {
  direction: rtl;
}
.semi-notification-notice-rtl .semi-notification-notice-icon {
  margin-right: 12px;
}
.semi-notification-notice-rtl .semi-notification-notice-content-wrapper {
  margin-right: 8px;
}
/* shadow */
/* sizing */
/* spacing */
.semi-popconfirm {
  box-sizing: border-box;
  max-width: 400px;
}
.semi-popconfirm-inner {
  display: flex;
  flex-direction: column;
  padding: 24px 24px 24px 20px;
  position: relative;
}
.semi-popconfirm-header {
  display: flex;
  justify-content: flex-start;
}
.semi-popconfirm-header-title {
  font-size: 16px;
  line-height: 22px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--semi-color-text-0);
}
.semi-popconfirm-header-icon {
  width: 24px;
  height: 24px;
  margin-right: 12px;
}
.semi-popconfirm-header .semi-icon-alert_triangle {
  color: var(--semi-color-warning);
}
.semi-popconfirm-header-body {
  display: inline-flex;
  flex-grow: 1;
  flex-direction: column;
}
.semi-popconfirm-body {
  color: var(--semi-color-text-2);
}
.semi-popconfirm-body-withIcon {
  margin-left: 36px;
}
.semi-popconfirm-body > p {
  margin: 0;
  padding: 0;
}
.semi-popconfirm-footer {
  margin-top: 25px;
  display: flex;
  justify-content: flex-end;
}
.semi-popconfirm-footer > .semi-button:first-child:not(:last-child) {
  margin-right: 8px;
}
.semi-popconfirm-popover {
  border-radius: var(--semi-border-radius-medium);
}

.semi-popover-with-arrow .semi-popconfirm-inner {
  padding: 12px 12px 12px 8px;
}

.semi-popconfirm-rtl {
  direction: rtl;
}
.semi-popconfirm-rtl .semi-popconfirm-inner {
  padding: 24px 20px 24px 24px;
}
.semi-popconfirm-rtl .semi-popconfirm-header {
  margin-right: 0;
}
.semi-popconfirm-rtl .semi-popconfirm-header-icon {
  margin-right: 0;
  margin-left: 12px;
}
.semi-popconfirm-rtl .semi-popconfirm-footer {
  justify-content: flex-end;
}
.semi-popconfirm-rtl .semi-popconfirm-footer > .semi-button:first-child:not(:last-child) {
  margin-right: 0;
  margin-left: 8px;
}

.semi-popover-with-arrow.semi-popconfirm-rtl {
  direction: rtl;
}
.semi-popover-with-arrow.semi-popconfirm-rtl .semi-popconfirm-inner {
  padding: 12px 8px 12px 12px;
}
/* shadow */
/* sizing */
/* spacing */
.semi-progress {
  display: flex;
  align-items: center;
}
.semi-progress-track {
  background-color: var(--semi-color-fill-0);
  border-radius: var(--semi-border-radius-small);
}
.semi-progress-horizontal {
  height: 4px;
  margin-top: 4px;
  margin-bottom: 4px;
}
.semi-progress-horizontal.semi-progress-large {
  height: 6px;
}
.semi-progress-horizontal .semi-progress-track {
  height: 100%;
  width: 100%;
}
.semi-progress-horizontal .semi-progress-track-inner {
  height: 100%;
  background-color: var(--semi-color-success);
  border-radius: var(--semi-border-radius-small);
  transition: width 0.3s;
  transition-timing-function: cubic-bezier(0.62, 0.05, 0.36, 0.95);
}
.semi-progress-horizontal .semi-progress-line-text {
  min-width: 45px;
  font-weight: 600;
  margin-left: 16px;
  color: var(--semi-color-text-0);
}
.semi-progress-vertical {
  width: 4px;
  display: inline-flex;
  height: 100%;
  margin-left: 4px;
  margin-right: 4px;
  flex-direction: column;
}
.semi-progress-vertical.semi-progress-large {
  width: 6px;
}
.semi-progress-vertical .semi-progress-track {
  height: 100%;
  width: 100%;
}
.semi-progress-vertical .semi-progress-track-inner {
  background-color: var(--semi-color-success);
  border-radius: var(--semi-border-radius-small);
  width: 100%;
  transition: height 0.3s;
  transition-timing-function: cubic-bezier(0.62, 0.05, 0.36, 0.95);
}
.semi-progress-vertical .semi-progress-line-text {
  font-weight: 600;
  margin-top: 8px;
}
.semi-progress-circle {
  position: relative;
  display: inline-block;
}
.semi-progress-circle-ring {
  display: block;
}
.semi-progress-circle-ring-track {
  stroke: var(--semi-color-fill-0);
}
.semi-progress-circle-ring-inner {
  transition: stroke-dashoffset 0.3s;
  transition-timing-function: cubic-bezier(0.62, 0.05, 0.36, 0.95);
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  stroke: var(--semi-color-success);
}
.semi-progress-circle-text {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  text-align: center;
  transform: translate(-50%, -50%);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: var(--semi-color-mode-minor-text);
}

.semi-rtl .semi-progress,
.semi-portal-rtl .semi-progress {
  direction: rtl;
}
.semi-rtl .semi-progress-horizontal .semi-progress-line-text,
.semi-portal-rtl .semi-progress-horizontal .semi-progress-line-text {
  margin-left: 0;
  margin-right: 16px;
}
.semi-rtl .semi-progress-circle-ring-inner,
.semi-portal-rtl .semi-progress-circle-ring-inner {
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
}
.semi-rtl .semi-progress-circle-text,
.semi-portal-rtl .semi-progress-circle-text {
  left: auto;
  right: 50%;
  transform: translate(50%, -50%);
}
/* shadow */
/* sizing */
/* spacing */
.semi-avatar {
  position: relative;
  display: inline-flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
}
.semi-avatar:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
}
.semi-avatar-focus {
  outline: 2px solid var(--semi-color-primary-light-active);
}
.semi-avatar-no-focus-visible:focus-visible {
  outline: none;
}
.semi-avatar .semi-avatar-label {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
}
.semi-avatar-content {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.semi-avatar-extra-extra-small {
  width: 20px;
  height: 20px;
  border-radius: 3px;
}
.semi-avatar-extra-extra-small .semi-avatar-content {
  transform-origin: center;
  transform: scale(0.8);
}
.semi-avatar-extra-extra-small .semi-avatar-label {
  font-size: 10px;
  line-height: 15px;
}
.semi-avatar-extra-small {
  width: 24px;
  height: 24px;
  border-radius: 3px;
}
.semi-avatar-extra-small .semi-avatar-content {
  transform-origin: center;
  transform: scale(0.8);
}
.semi-avatar-extra-small .semi-avatar-label {
  font-size: 10px;
  line-height: 15px;
}
.semi-avatar-small {
  width: 32px;
  height: 32px;
  border-radius: 3px;
}
.semi-avatar-small .semi-avatar-label {
  font-size: 12px;
  line-height: 16px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.semi-avatar-default {
  width: 40px;
  height: 40px;
  border-radius: 3px;
}
.semi-avatar-default .semi-avatar-label {
  font-size: 18px;
  line-height: 24px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.semi-avatar-medium {
  width: 48px;
  height: 48px;
  border-radius: 3px;
}
.semi-avatar-medium .semi-avatar-label {
  font-size: 20px;
  line-height: 28px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.semi-avatar-large {
  width: 72px;
  height: 72px;
  border-radius: 6px;
}
.semi-avatar-large .semi-avatar-label {
  font-size: 32px;
  line-height: 44px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.semi-avatar-extra-large {
  width: 128px;
  height: 128px;
  border-radius: 12px;
}
.semi-avatar-extra-large .semi-avatar-label {
  font-size: 64px;
  line-height: 77px;
}
.semi-avatar-circle {
  border-radius: var(--semi-border-radius-circle);
}
.semi-avatar-image {
  background-color: transparent;
}
.semi-avatar > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.semi-avatar-hover {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.semi-avatar:hover {
  cursor: pointer;
}

.semi-avatar-wrapper {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg {
  position: absolute;
  display: flex;
  justify-content: center;
  border-radius: 50%;
  overflow: hidden;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg-small {
  width: 32px;
  height: 32px;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg-default {
  width: 40px;
  height: 40px;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg-medium {
  width: 48px;
  height: 48px;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg-large {
  width: 72px;
  height: 72px;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg-extra-large {
  width: 128px;
  height: 128px;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg-svg {
  position: absolute;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg-svg-small {
  top: -28px;
  scale: 0.4;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg-svg-default {
  top: -32px;
  scale: 0.7;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg-svg-medium {
  top: -30px;
  scale: 0.8;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg-svg-large {
  top: -30px;
  scale: 1.1;
}
.semi-avatar-wrapper .semi-avatar-top_slot-bg-svg-extra-large {
  top: -32px;
  scale: 1.4;
}
.semi-avatar-wrapper .semi-avatar-top_slot-wrapper {
  position: absolute;
  display: flex;
  justify-content: center;
}
.semi-avatar-wrapper .semi-avatar-top_slot-wrapper .semi-avatar-top_slot {
  color: var(--semi-color-bg-0);
  font-weight: 600;
}
.semi-avatar-wrapper .semi-avatar-top_slot-wrapper .semi-avatar-top_slot-content {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  line-height: normal;
}
.semi-avatar-wrapper .semi-avatar-top_slot-wrapper .semi-avatar-top_slot-content-small {
  font-size: 5px;
  margin-top: 0px;
}
.semi-avatar-wrapper .semi-avatar-top_slot-wrapper .semi-avatar-top_slot-content-default {
  font-size: 6px;
  margin-top: -2px;
}
.semi-avatar-wrapper .semi-avatar-top_slot-wrapper .semi-avatar-top_slot-content-medium {
  font-size: 8px;
  margin-top: 0px;
}
.semi-avatar-wrapper .semi-avatar-top_slot-wrapper .semi-avatar-top_slot-content-large {
  font-size: 14px;
  margin-top: 0px;
}
.semi-avatar-wrapper .semi-avatar-top_slot-wrapper .semi-avatar-top_slot-content-extra-large {
  font-size: 16px;
  margin-top: 0px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot {
  color: var(--semi-color-bg-0);
  position: absolute;
  cursor: pointer;
  bottom: 3.5px;
  transform: translateY(50%);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_circle {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--semi-color-primary);
  border-radius: var(--semi-border-radius-circle);
  line-height: normal;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_circle-extra-small {
  width: 12px;
  height: 12px;
  font-size: 5px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_circle-small {
  width: 12px;
  height: 12px;
  font-size: 5px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_circle-default {
  width: 16px;
  height: 16px;
  font-size: 12px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_circle-medium {
  width: 18px;
  height: 18px;
  font-size: 12px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_circle-large {
  width: 28px;
  height: 28px;
  font-size: 12px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_circle-extra-large {
  width: 28px;
  height: 28px;
  font-size: 14px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_square {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--semi-color-primary);
  border-radius: 4px;
  padding: 1px 4px;
  font-weight: 600;
  border-style: solid;
  border-color: var(--semi-color-bg-0);
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_square-extra_small {
  font-size: 5px;
  border-width: 2px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_square-small {
  font-size: 5px;
  border-width: 2px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_square-default {
  font-size: 12px;
  border-width: 2px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_square-medium {
  font-size: 12px;
  border-width: 2px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_square-large {
  font-size: 12px;
  border-width: 2px;
}
.semi-avatar-wrapper .semi-avatar-bottom_slot-shape_square-extra-large {
  font-size: 14px;
  border-width: 2px;
}

.semi-avatar-group {
  display: inline-block;
}
.semi-avatar-group .semi-avatar {
  box-sizing: border-box;
}
.semi-avatar-group .semi-avatar:first-child {
  margin-left: 0;
}
.semi-avatar-group .semi-avatar-extra-large {
  border: 3px var(--semi-color-bg-1) solid;
  margin-left: -32px;
}
.semi-avatar-group .semi-avatar-large {
  border: 3px var(--semi-color-bg-1) solid;
  margin-left: -18px;
}
.semi-avatar-group .semi-avatar-medium {
  border: 2px var(--semi-color-bg-1) solid;
  margin-left: -12px;
}
.semi-avatar-group .semi-avatar-default {
  border: 2px var(--semi-color-bg-1) solid;
  margin-left: -12px;
}
.semi-avatar-group .semi-avatar-small {
  border: 2px var(--semi-color-bg-1) solid;
  margin-left: -12px;
}
.semi-avatar-group .semi-avatar-extra-small {
  border: 1px var(--semi-color-bg-1) solid;
  margin-left: -10px;
}
.semi-avatar-group .semi-avatar-extra-extra-small {
  border: 1px var(--semi-color-bg-1) solid;
  margin-left: -4px;
}
.semi-avatar-group .semi-avatar-item-start-0 {
  z-index: 100;
}
.semi-avatar-group .semi-avatar-item-end-0 {
  z-index: 80;
}
.semi-avatar-group .semi-avatar-item-start-1 {
  z-index: 99;
}
.semi-avatar-group .semi-avatar-item-end-1 {
  z-index: 81;
}
.semi-avatar-group .semi-avatar-item-start-2 {
  z-index: 98;
}
.semi-avatar-group .semi-avatar-item-end-2 {
  z-index: 82;
}
.semi-avatar-group .semi-avatar-item-start-3 {
  z-index: 97;
}
.semi-avatar-group .semi-avatar-item-end-3 {
  z-index: 83;
}
.semi-avatar-group .semi-avatar-item-start-4 {
  z-index: 96;
}
.semi-avatar-group .semi-avatar-item-end-4 {
  z-index: 84;
}
.semi-avatar-group .semi-avatar-item-start-5 {
  z-index: 95;
}
.semi-avatar-group .semi-avatar-item-end-5 {
  z-index: 85;
}
.semi-avatar-group .semi-avatar-item-start-6 {
  z-index: 94;
}
.semi-avatar-group .semi-avatar-item-end-6 {
  z-index: 86;
}
.semi-avatar-group .semi-avatar-item-start-7 {
  z-index: 93;
}
.semi-avatar-group .semi-avatar-item-end-7 {
  z-index: 87;
}
.semi-avatar-group .semi-avatar-item-start-8 {
  z-index: 92;
}
.semi-avatar-group .semi-avatar-item-end-8 {
  z-index: 88;
}
.semi-avatar-group .semi-avatar-item-start-9 {
  z-index: 91;
}
.semi-avatar-group .semi-avatar-item-end-9 {
  z-index: 89;
}
.semi-avatar-group .semi-avatar-item-start-10 {
  z-index: 90;
}
.semi-avatar-group .semi-avatar-item-end-10 {
  z-index: 90;
}
.semi-avatar-group .semi-avatar-item-start-11 {
  z-index: 89;
}
.semi-avatar-group .semi-avatar-item-end-11 {
  z-index: 91;
}
.semi-avatar-group .semi-avatar-item-start-12 {
  z-index: 88;
}
.semi-avatar-group .semi-avatar-item-end-12 {
  z-index: 92;
}
.semi-avatar-group .semi-avatar-item-start-13 {
  z-index: 87;
}
.semi-avatar-group .semi-avatar-item-end-13 {
  z-index: 93;
}
.semi-avatar-group .semi-avatar-item-start-14 {
  z-index: 86;
}
.semi-avatar-group .semi-avatar-item-end-14 {
  z-index: 94;
}
.semi-avatar-group .semi-avatar-item-start-15 {
  z-index: 85;
}
.semi-avatar-group .semi-avatar-item-end-15 {
  z-index: 95;
}
.semi-avatar-group .semi-avatar-item-start-16 {
  z-index: 84;
}
.semi-avatar-group .semi-avatar-item-end-16 {
  z-index: 96;
}
.semi-avatar-group .semi-avatar-item-start-17 {
  z-index: 83;
}
.semi-avatar-group .semi-avatar-item-end-17 {
  z-index: 97;
}
.semi-avatar-group .semi-avatar-item-start-18 {
  z-index: 82;
}
.semi-avatar-group .semi-avatar-item-end-18 {
  z-index: 98;
}
.semi-avatar-group .semi-avatar-item-start-19 {
  z-index: 81;
}
.semi-avatar-group .semi-avatar-item-end-19 {
  z-index: 99;
}
.semi-avatar-group .semi-avatar-item-start-20 {
  z-index: 80;
}
.semi-avatar-group .semi-avatar-item-end-20 {
  z-index: 100;
}
.semi-avatar-group .semi-avatar-item-more {
  background-color: rgba(var(--semi-grey-5), 1);
}

.semi-avatar-amber {
  background-color: rgba(var(--semi-amber-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-blue {
  background-color: rgba(var(--semi-blue-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-cyan {
  background-color: rgba(var(--semi-cyan-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-green {
  background-color: rgba(var(--semi-green-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-grey {
  background-color: rgba(var(--semi-grey-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-indigo {
  background-color: rgba(var(--semi-indigo-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-light-blue {
  background-color: rgba(var(--semi-light-blue-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-light-green {
  background-color: rgba(var(--semi-light-green-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-lime {
  background-color: rgba(var(--semi-lime-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-orange {
  background-color: rgba(var(--semi-orange-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-pink {
  background-color: rgba(var(--semi-pink-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-purple {
  background-color: rgba(var(--semi-purple-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-red {
  background-color: rgba(var(--semi-red-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-teal {
  background-color: rgba(var(--semi-teal-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-violet {
  background-color: rgba(var(--semi-violet-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-yellow {
  background-color: rgba(var(--semi-yellow-3), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-avatar-additionalBorder {
  border-style: solid;
  border-color: var(--semi-color-primary);
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  border-width: 1.5px;
  top: -3.5px;
  left: -3.5px;
}
.semi-avatar-additionalBorder-extra-extra-small {
  width: 27px;
  height: 27px;
}
.semi-avatar-additionalBorder-extra-small {
  width: 31px;
  height: 31px;
}
.semi-avatar-additionalBorder-small {
  width: 39px;
  height: 39px;
}
.semi-avatar-additionalBorder-default {
  width: 47px;
  height: 47px;
}
.semi-avatar-additionalBorder-medium {
  width: 55px;
  height: 55px;
}
.semi-avatar-additionalBorder-large {
  width: 79px;
  height: 79px;
}
.semi-avatar-additionalBorder-extra-large {
  width: 135px;
  height: 135px;
}

.semi-avatar-square.semi-avatar-additionalBorder-extra_extra_small {
  border-radius: 3px;
}

.semi-avatar-square.semi-avatar-additionalBorder-extra_small {
  border-radius: 3px;
}

.semi-avatar-square.semi-avatar-additionalBorder-small {
  border-radius: 3px;
}

.semi-avatar-square.semi-avatar-additionalBorder-default {
  border-radius: 3px;
}

.semi-avatar-square.semi-avatar-additionalBorder-medium {
  border-radius: 3px;
}

.semi-avatar-square.semi-avatar-additionalBorder-large {
  border-radius: 6px;
}

.semi-avatar-additionalBorder-circle {
  border-radius: var(--semi-border-radius-circle);
}

.semi-avatar-additionalBorder-animated {
  animation: 800ms linear infinite semi-avatar-additionalBorder;
}

.semi-avatar-animated {
  animation: 1000ms linear infinite semi-avatar-content;
}

@keyframes semi-avatar-additionalBorder {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  to {
    border-width: 0;
    opacity: 0;
    transform: scale(1.15);
  }
}
@keyframes semi-avatar-content {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.9);
  }
  to {
    transform: scale(1);
  }
}
.semi-rtl .semi-avatar,
.semi-portal-rtl .semi-avatar {
  direction: rtl;
}
.semi-rtl .semi-avatar-extra-extra-small .semi-avatar-content,
.semi-portal-rtl .semi-avatar-extra-extra-small .semi-avatar-content {
  transform: scale(0.8);
}
.semi-rtl .semi-avatar-extra-small .semi-avatar-content,
.semi-portal-rtl .semi-avatar-extra-small .semi-avatar-content {
  transform: scale(0.8);
}
.semi-rtl .semi-avatar-hover,
.semi-portal-rtl .semi-avatar-hover {
  left: auto;
  right: 0;
}
.semi-rtl .semi-avatar-group,
.semi-portal-rtl .semi-avatar-group {
  direction: rtl;
}
.semi-rtl .semi-avatar-group .semi-avatar:first-child,
.semi-portal-rtl .semi-avatar-group .semi-avatar:first-child {
  margin-left: auto;
  margin-right: 0;
}
.semi-rtl .semi-avatar-group .semi-avatar-extra-large,
.semi-portal-rtl .semi-avatar-group .semi-avatar-extra-large {
  margin-left: auto;
  margin-right: -32px;
}
.semi-rtl .semi-avatar-group .semi-avatar-large,
.semi-portal-rtl .semi-avatar-group .semi-avatar-large {
  margin-left: auto;
  margin-right: -18px;
}
.semi-rtl .semi-avatar-group .semi-avatar-medium,
.semi-rtl .semi-avatar-group .semi-avatar-small,
.semi-portal-rtl .semi-avatar-group .semi-avatar-medium,
.semi-portal-rtl .semi-avatar-group .semi-avatar-small {
  margin-left: auto;
  margin-right: -12px;
}
.semi-rtl .semi-avatar-group .semi-avatar-extra-small,
.semi-portal-rtl .semi-avatar-group .semi-avatar-extra-small {
  margin-left: auto;
  margin-right: -10px;
}
.semi-rtl .semi-avatar-group .semi-avatar-extra-extra-small,
.semi-portal-rtl .semi-avatar-group .semi-avatar-extra-extra-small {
  margin-left: auto;
  margin-right: -4px;
}
/* shadow */
/* sizing */
/* spacing */
.semi-tag {
  box-sizing: border-box;
  border-radius: var(--semi-border-radius-small);
  background-color: transparent;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  overflow: hidden;
  white-space: nowrap;
  vertical-align: bottom;
  display: flex;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}
.semi-tag-default, .semi-tag-small {
  font-size: 12px;
  line-height: 16px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  height: 20px;
  padding: 2px 8px;
}
.semi-tag-default:focus-visible, .semi-tag-small:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
}
.semi-tag-square {
  border-radius: var(--semi-border-radius-small);
}
.semi-tag-circle {
  border-radius: var(--semi-border-radius-full);
}
.semi-tag-large {
  font-size: 12px;
  line-height: 16px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  padding: 4px 8px;
  height: 24px;
}
.semi-tag-large:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
}
.semi-tag-invisible {
  display: none;
}
.semi-tag-prefix-icon {
  display: flex;
  padding-right: 4px;
}
.semi-tag-suffix-icon {
  display: flex;
  padding-left: 4px;
}
.semi-tag-content {
  flex: 1 1;
}
.semi-tag-content-ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.semi-tag-content-center {
  display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-width: 0;
}
.semi-tag-close {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--semi-color-text-2);
  padding-left: 4px;
  cursor: pointer;
}
.semi-tag-close:hover {
  color: var(--semi-color-text-1);
}
.semi-tag-close:active {
  color: var(--semi-color-text-0);
}
.semi-tag-closable {
  padding: 4px 4px 4px 8px;
}
.semi-tag-avatar-square .semi-avatar, .semi-tag-avatar-circle .semi-avatar {
  margin-right: 4px;
}
.semi-tag-avatar-square {
  padding: 0 4px 0 0;
}
.semi-tag-avatar-square .semi-avatar > img {
  background-color: var(--semi-color-default);
}
.semi-tag-avatar-circle {
  padding: 2px 4px 2px 2px;
}
.semi-tag-avatar-square.semi-tag-default .semi-avatar, .semi-tag-avatar-square.semi-tag-small .semi-avatar {
  width: 20px;
  height: 20px;
}
.semi-tag-avatar-square.semi-tag-large .semi-avatar {
  width: 24px;
  height: 24px;
}
.semi-tag-avatar-circle.semi-tag-small, .semi-tag-avatar-circle.semi-tag-default {
  border-radius: 11px;
}
.semi-tag-avatar-circle.semi-tag-small .semi-avatar, .semi-tag-avatar-circle.semi-tag-default .semi-avatar {
  width: 16px;
  height: 16px;
}
.semi-tag-avatar-circle.semi-tag-large {
  border-radius: 13px;
}
.semi-tag-avatar-circle.semi-tag-large .semi-avatar {
  width: 20px;
  height: 20px;
}
.semi-tag-colorful {
  font-weight: 600;
}
.semi-tag-colorful.semi-tag-solid {
  background: var(--semi-color-ai-purple);
  color: var(--semi-color-white);
}
.semi-tag-colorful.semi-tag-solid.semi-tag-gradient {
  background: var(--semi-color-ai-general);
}
.semi-tag-colorful.semi-tag-light {
  background: rgba(var(--semi-ai-purple-0), 1);
  color: var(--semi-color-ai-purple);
}
.semi-tag-colorful.semi-tag-light.semi-tag-gradient {
  background: var(--semi-ai-general-0);
}
.semi-tag-colorful.semi-tag-light.semi-tag-gradient .semi-tag-prefix-icon svg stop:nth-child(1) {
  stop-color: rgba(var(--semi-ai-general-5-0), 1);
}
.semi-tag-colorful.semi-tag-light.semi-tag-gradient .semi-tag-prefix-icon svg stop:nth-child(2) {
  stop-color: rgba(var(--semi-ai-general-5-1), 1);
}
.semi-tag-colorful.semi-tag-light.semi-tag-gradient .semi-tag-prefix-icon svg stop:nth-child(3) {
  stop-color: rgba(var(--semi-ai-general-5-2), 1);
}
.semi-tag-colorful.semi-tag-light.semi-tag-gradient .semi-tag-prefix-icon svg stop:nth-child(4) {
  stop-color: rgba(var(--semi-ai-general-5-3), 1);
}
.semi-tag-colorful.semi-tag-light.semi-tag-gradient .semi-tag-content {
  background: var(--semi-color-ai-general);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.semi-tag-colorful.semi-tag-ghost {
  background: var(--semi-color-white);
  color: var(--semi-color-ai-purple);
  border-color: var(--semi-color-ai-general);
}
.semi-tag-colorful.semi-tag-ghost.semi-tag-gradient {
  border: none;
}
.semi-tag-colorful.semi-tag-ghost.semi-tag-gradient .semi-tag-prefix-icon svg stop:nth-child(1) {
  stop-color: rgba(var(--semi-ai-general-5-0), 1);
}
.semi-tag-colorful.semi-tag-ghost.semi-tag-gradient .semi-tag-prefix-icon svg stop:nth-child(2) {
  stop-color: rgba(var(--semi-ai-general-5-1), 1);
}
.semi-tag-colorful.semi-tag-ghost.semi-tag-gradient .semi-tag-prefix-icon svg stop:nth-child(3) {
  stop-color: rgba(var(--semi-ai-general-5-2), 1);
}
.semi-tag-colorful.semi-tag-ghost.semi-tag-gradient .semi-tag-prefix-icon svg stop:nth-child(4) {
  stop-color: rgba(var(--semi-ai-general-5-3), 1);
}
.semi-tag-colorful.semi-tag-ghost.semi-tag-gradient.semi-tag-circle::before {
  border-radius: var(--semi-border-radius-full);
}
.semi-tag-colorful.semi-tag-ghost.semi-tag-gradient::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--semi-border-radius-small);
  padding: 1px;
  background: var(--semi-color-ai-general);
  -webkit-mask: linear-gradient(var(--semi-color-white) 0 0) content-box, linear-gradient(var(--semi-color-white) 0 0);
  mask: linear-gradient(var(--semi-color-white) 0 0) content-box, linear-gradient(var(--semi-color-white) 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.semi-tag-colorful.semi-tag-ghost.semi-tag-gradient .semi-tag-content {
  background: var(--semi-color-ai-general);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}

.semi-tag-group {
  display: block;
  height: auto;
}
.semi-tag-group .semi-tag {
  margin-bottom: 0;
  margin-right: 8px;
}
.semi-tag-group-max.semi-tag-group-small {
  height: 22px;
}
.semi-tag-group-max.semi-tag-group-large {
  height: 26px;
}

.semi-tag-rest-group-popover .semi-tag {
  margin-right: 8px;
  margin-bottom: 0;
}
.semi-tag-rest-group-popover .semi-tag:last-of-type {
  margin-right: 0;
}

.semi-tag-amber-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-amber-4), 1);
  color: rgba(var(--semi-amber-5), 1);
}

.semi-tag-amber-solid {
  background-color: rgba(var(--semi-amber-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-amber-light {
  background-color: rgba(var(--semi-amber-5), 0.15);
  color: rgba(var(--semi-amber-8), 1);
}

.semi-tag-blue-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-blue-4), 1);
  color: rgba(var(--semi-blue-5), 1);
}

.semi-tag-blue-solid {
  background-color: rgba(var(--semi-blue-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-blue-light {
  background-color: rgba(var(--semi-blue-5), 0.15);
  color: rgba(var(--semi-blue-8), 1);
}

.semi-tag-cyan-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-cyan-4), 1);
  color: rgba(var(--semi-cyan-5), 1);
}

.semi-tag-cyan-solid {
  background-color: rgba(var(--semi-cyan-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-cyan-light {
  background-color: rgba(var(--semi-cyan-5), 0.15);
  color: rgba(var(--semi-cyan-8), 1);
}

.semi-tag-green-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-green-4), 1);
  color: rgba(var(--semi-green-5), 1);
}

.semi-tag-green-solid {
  background-color: rgba(var(--semi-green-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-green-light {
  background-color: rgba(var(--semi-green-5), 0.15);
  color: rgba(var(--semi-green-8), 1);
}

.semi-tag-grey-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-grey-4), 1);
  color: rgba(var(--semi-grey-5), 1);
}

.semi-tag-grey-solid {
  background-color: rgba(var(--semi-grey-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-grey-light {
  background-color: rgba(var(--semi-grey-5), 0.15);
  color: rgba(var(--semi-grey-8), 1);
}

.semi-tag-indigo-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-indigo-4), 1);
  color: rgba(var(--semi-indigo-5), 1);
}

.semi-tag-indigo-solid {
  background-color: rgba(var(--semi-indigo-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-indigo-light {
  background-color: rgba(var(--semi-indigo-5), 0.15);
  color: rgba(var(--semi-indigo-8), 1);
}

.semi-tag-light-blue-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-light-blue-4), 1);
  color: rgba(var(--semi-light-blue-5), 1);
}

.semi-tag-light-blue-solid {
  background-color: rgba(var(--semi-light-blue-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-light-blue-light {
  background-color: rgba(var(--semi-light-blue-5), 0.15);
  color: rgba(var(--semi-light-blue-8), 1);
}

.semi-tag-light-green-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-light-green-4), 1);
  color: rgba(var(--semi-light-green-5), 1);
}

.semi-tag-light-green-solid {
  background-color: rgba(var(--semi-light-green-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-light-green-light {
  background-color: rgba(var(--semi-light-green-5), 0.15);
  color: rgba(var(--semi-light-green-8), 1);
}

.semi-tag-lime-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-lime-4), 1);
  color: rgba(var(--semi-lime-5), 1);
}

.semi-tag-lime-solid {
  background-color: rgba(var(--semi-lime-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-lime-light {
  background-color: rgba(var(--semi-lime-5), 0.15);
  color: rgba(var(--semi-lime-8), 1);
}

.semi-tag-orange-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-orange-4), 1);
  color: rgba(var(--semi-orange-5), 1);
}

.semi-tag-orange-solid {
  background-color: rgba(var(--semi-orange-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-orange-light {
  background-color: rgba(var(--semi-orange-5), 0.15);
  color: rgba(var(--semi-orange-8), 1);
}

.semi-tag-pink-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-pink-4), 1);
  color: rgba(var(--semi-pink-5), 1);
}

.semi-tag-pink-solid {
  background-color: rgba(var(--semi-pink-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-pink-light {
  background-color: rgba(var(--semi-pink-5), 0.15);
  color: rgba(var(--semi-pink-8), 1);
}

.semi-tag-purple-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-purple-4), 1);
  color: rgba(var(--semi-purple-5), 1);
}

.semi-tag-purple-solid {
  background-color: rgba(var(--semi-purple-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-purple-light {
  background-color: rgba(var(--semi-purple-5), 0.15);
  color: rgba(var(--semi-purple-8), 1);
}

.semi-tag-red-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-red-4), 1);
  color: rgba(var(--semi-red-5), 1);
}

.semi-tag-red-solid {
  background-color: rgba(var(--semi-red-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-red-light {
  background-color: rgba(var(--semi-red-5), 0.15);
  color: rgba(var(--semi-red-8), 1);
}

.semi-tag-teal-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-teal-4), 1);
  color: rgba(var(--semi-teal-5), 1);
}

.semi-tag-teal-solid {
  background-color: rgba(var(--semi-teal-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-teal-light {
  background-color: rgba(var(--semi-teal-5), 0.15);
  color: rgba(var(--semi-teal-8), 1);
}

.semi-tag-violet-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-violet-4), 1);
  color: rgba(var(--semi-violet-5), 1);
}

.semi-tag-violet-solid {
  background-color: rgba(var(--semi-violet-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-violet-light {
  background-color: rgba(var(--semi-violet-5), 0.15);
  color: rgba(var(--semi-violet-8), 1);
}

.semi-tag-yellow-ghost {
  background-color: transparent;
  border: 1px solid rgba(var(--semi-yellow-4), 1);
  color: rgba(var(--semi-yellow-5), 1);
}

.semi-tag-yellow-solid {
  background-color: rgba(var(--semi-yellow-5), 1);
  color: rgba(var(--semi-white), 1);
}

.semi-tag-yellow-light {
  background-color: rgba(var(--semi-yellow-5), 0.15);
  color: rgba(var(--semi-yellow-8), 1);
}

.semi-tag-white-ghost {
  background-color: var(--semi-color-bg-4);
  border: 1px solid rgba(var(--semi-grey-2), 0.7);
  color: var(--semi-color-text-0);
}

.semi-tag-white-solid {
  background-color: var(--semi-color-bg-4);
  border: 1px solid rgba(var(--semi-grey-2), 0.7);
  color: var(--semi-color-text-0);
}

.semi-tag-white-light {
  background-color: var(--semi-color-bg-4);
  border: 1px solid rgba(var(--semi-grey-2), 0.7);
  color: var(--semi-color-text-0);
}

.semi-tag-white-ghost .semi-tag-close,
.semi-tag-white-light .semi-tag-close,
.semi-tag-white-solid .semi-tag-close {
  color: var(--semi-color-text-2);
}

.semi-tag-avatar-square,
.semi-tag-avatar-circle {
  background-color: var(--semi-color-bg-4);
  border: 1px solid var(--semi-color-border);
  color: var(--semi-color-text-0);
}

.semi-rtl .semi-tag,
.semi-portal-rtl .semi-tag {
  direction: rtl;
}
.semi-rtl .semi-tag-close,
.semi-portal-rtl .semi-tag-close {
  padding-left: auto;
  padding-right: 4px;
}
.semi-rtl .semi-tag-closable,
.semi-portal-rtl .semi-tag-closable {
  padding: 4px 8px 4px 4px;
}
.semi-rtl .semi-tag-avatar-square .semi-avatar, .semi-rtl .semi-tag-avatar-circle .semi-avatar,
.semi-portal-rtl .semi-tag-avatar-square .semi-avatar,
.semi-portal-rtl .semi-tag-avatar-circle .semi-avatar {
  margin-right: auto;
  margin-left: 4px;
}
.semi-rtl .semi-tag-avatar-square,
.semi-portal-rtl .semi-tag-avatar-square {
  padding-right: auto;
  padding-left: 4px;
}
.semi-rtl .semi-tag-avatar-circle,
.semi-portal-rtl .semi-tag-avatar-circle {
  padding: 2px 2px 2px 4px;
}
.semi-rtl .semi-tag-group,
.semi-portal-rtl .semi-tag-group {
  direction: rtl;
}
.semi-rtl .semi-tag-group .semi-tag,
.semi-portal-rtl .semi-tag-group .semi-tag {
  margin-right: auto;
  margin-left: 8px;
}
.semi-rtl .semi-tag-rest-group-popover,
.semi-portal-rtl .semi-tag-rest-group-popover {
  direction: rtl;
}
.semi-rtl .semi-tag-rest-group-popover .semi-tag,
.semi-portal-rtl .semi-tag-rest-group-popover .semi-tag {
  margin-right: 0;
  margin-left: 8px;
}
.semi-rtl .semi-tag-rest-group-popover .semi-tag:last-of-type,
.semi-portal-rtl .semi-tag-rest-group-popover .semi-tag:last-of-type {
  margin-right: auto;
  margin-left: 0;
}
/* shadow */
/* sizing */
/* spacing */
.semi-overflow-list {
  display: flex;
  flex-wrap: nowrap;
  min-width: 0;
}
.semi-overflow-list-spacer {
  flex-shrink: 1;
  width: 1px;
}
.semi-overflow-list-scroll-wrapper {
  display: flex;
  flex: 1 1;
  flex-wrap: nowrap;
  overflow-x: scroll;
}

.semi-rtl .semi-overflow-list,
.semi-portal-rtl .semi-overflow-list {
  direction: rtl;
}
/* shadow */
/* sizing */
/* spacing */
.semi-space {
  display: inline-flex;
}
.semi-space-vertical {
  flex-direction: column;
}
.semi-space-horizontal {
  flex-direction: row;
}
.semi-space-align-center {
  align-items: center;
}
.semi-space-align-end {
  align-items: flex-end;
}
.semi-space-align-start {
  align-items: flex-start;
}
.semi-space-align-baseline {
  align-items: baseline;
}
.semi-space-wrap {
  flex-wrap: wrap;
}
.semi-space-tight-horizontal {
  -moz-column-gap: 8px;
       column-gap: 8px;
}
.semi-space-tight-vertical {
  row-gap: 8px;
}
.semi-space-medium-horizontal {
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.semi-space-medium-vertical {
  row-gap: 16px;
}
.semi-space-loose-horizontal {
  -moz-column-gap: 24px;
       column-gap: 24px;
}
.semi-space-loose-vertical {
  row-gap: 24px;
}

.semi-rtl .semi-space,
.semi-portal-rtl .semi-space {
  direction: rtl;
}
/* shadow */
/* sizing */
/* spacing */
.semi-highlight-tag {
  color: var(--semi-color-highlight);
  background-color: var(--semi-color-highlight-bg);
  font-weight: 600;
}
/* shadow */
/* sizing */
/* spacing */
.semi-spin {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
}
@keyframes semi-animation-rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.semi-spin-wrapper {
  text-align: center;
  position: absolute;
  width: 100%;
  transform: translateY(-50%);
  top: 50%;
  color: var(--semi-color-primary);
}
.semi-spin-wrapper > svg {
  display: inline;
  animation: 600ms linear infinite semi-animation-rotate;
  animation-fill-mode: forwards;
  vertical-align: top;
  width: 20px;
  height: 20px;
}
.semi-spin-animate {
  display: inline-flex;
  animation: 1600ms linear infinite semi-animation-rotate;
  animation-fill-mode: forwards;
}
.semi-spin-children {
  opacity: 0.5;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.semi-spin-block {
  display: block;
}
.semi-spin-block::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.semi-spin-block .semi-spin-wrapper {
  display: block;
}
.semi-spin-block.semi-spin {
  height: auto;
  width: auto;
}
.semi-spin-hidden::after {
  content: none;
}
.semi-spin-hidden > .semi-spin-children {
  opacity: 1;
  -webkit-user-select: auto;
     -moz-user-select: auto;
          user-select: auto;
}

.semi-spin-small {
  width: 14px;
  height: 14px;
}
.semi-spin-small > .semi-spin-wrapper svg {
  width: 14px;
  height: 14px;
}

.semi-spin-middle {
  width: 20px;
  height: 20px;
}
.semi-spin-middle > .semi-spin-wrapper svg {
  width: 20px;
  height: 20px;
}

.semi-spin-large {
  width: 32px;
  height: 32px;
}
.semi-spin-large > .semi-spin-wrapper svg {
  width: 32px;
  height: 32px;
}

.semi-spin-container {
  overflow: hidden;
}

.semi-rtl .semi-spin,
.semi-portal-rtl .semi-spin {
  direction: rtl;
}
.semi-rtl .semi-spin-container,
.semi-portal-rtl .semi-spin-container {
  direction: rtl;
}
/* shadow */
/* sizing */
/* spacing */
.semi-select-option {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  word-break: break-all;
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 8px;
  padding-bottom: 8px;
  color: var(--semi-color-text-0);
  border-radius: 0px;
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
}
.semi-select-option-icon {
  width: 12px;
  color: transparent;
  margin-right: 8px;
  display: flex;
  justify-content: center;
  align-content: center;
}
.semi-select-option-text {
  display: flex;
  flex-wrap: wrap;
  white-space: pre;
}
.semi-select-option-keyword {
  color: var(--semi-color-primary);
  background-color: inherit;
  font-weight: 600;
}
.semi-select-option:active {
  background-color: var(--semi-color-fill-1);
}
.semi-select-option-empty {
  cursor: not-allowed;
  color: var(--semi-color-disabled-text);
  justify-content: center;
}
.semi-select-option-empty:hover {
  background-color: inherit;
}
.semi-select-option-empty:active {
  background-color: inherit;
}
.semi-select-option-disabled {
  color: var(--semi-color-disabled-text);
  cursor: not-allowed;
}
.semi-select-option-disabled:hover {
  background-color: var(--semi-color-fill-0);
}
.semi-select-option-selected {
  font-weight: 600;
  background: transparent;
}
.semi-select-option-selected .semi-select-option-icon {
  color: var(--semi-color-text-2);
}
.semi-select-option-focused {
  background-color: var(--semi-color-fill-0);
}

.semi-select {
  box-sizing: border-box;
  border-radius: var(--semi-border-radius-small);
  border: 1px solid transparent;
  height: 32px;
  font-weight: 400;
  background-color: var(--semi-color-fill-0);
  display: inline-flex;
  vertical-align: middle;
  position: relative;
  outline: none;
  cursor: pointer;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
  max-height: 300px;
  overflow-y: auto;
}
.semi-select:hover {
  background-color: var(--semi-color-fill-1);
  border: 1px solid transparent;
}
.semi-select:focus {
  border: 1px solid var(--semi-color-focus-border);
  background-color: var(--semi-color-fill-0);
  outline: 0;
}
.semi-select:active {
  background-color: var(--semi-color-fill-2);
}
.semi-select-small {
  height: 24px;
  line-height: 24px;
}
.semi-select-large {
  min-height: 40px;
  line-height: 40px;
}
.semi-select-large .semi-select-selection {
  font-size: 16px;
  line-height: 22px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.semi-select-open, .semi-select-focus {
  border: 1px solid var(--semi-color-focus-border);
  outline: 0;
}
.semi-select-open:hover, .semi-select-focus:hover {
  background-color: var(--semi-color-fill-0);
  border: 1px solid var(--semi-color-focus-border);
}
.semi-select-open:active, .semi-select-focus:active {
  background-color: var(--semi-color-fill-2);
  border: 1px solid var(--semi-color-focus-border);
}
.semi-select-warning {
  background-color: var(--semi-color-warning-light-default);
  border-color: var(--semi-color-warning-light-default);
}
.semi-select-warning:hover {
  background-color: var(--semi-color-warning-light-hover);
  border-color: var(--semi-color-warning-light-hover);
}
.semi-select-warning:focus {
  background-color: var(--semi-color-warning-light-default);
  border-color: var(--semi-color-warning);
}
.semi-select-warning:active {
  background-color: var(--semi-color-warning-light-active);
  border-color: var(--semi-color-warning-light-active);
}
.semi-select-error {
  background-color: var(--semi-color-danger-light-default);
  border-color: var(--semi-color-danger-light-default);
}
.semi-select-error:hover {
  background-color: var(--semi-color-danger-light-hover);
  border-color: var(--semi-color-danger-light-hover);
}
.semi-select-error:focus {
  background-color: var(--semi-color-danger-light-default);
  border-color: var(--semi-color-danger);
}
.semi-select-error:active {
  background-color: var(--semi-color-danger-light-active);
  border-color: var(--semi-color-danger-light-active);
}
.semi-select-disabled {
  cursor: not-allowed;
  background-color: var(--semi-color-disabled-fill);
}
.semi-select-disabled:hover {
  background-color: var(--semi-color-disabled-fill);
}
.semi-select-disabled:focus {
  border: 1px solid transparent;
  background-color: var(--semi-color-disabled-fill);
}
.semi-select-disabled .semi-select-selection,
.semi-select-disabled .semi-select-selection-placeholder {
  color: var(--semi-color-disabled-text);
  cursor: not-allowed;
}
.semi-select-disabled .semi-select-arrow,
.semi-select-disabled .semi-select-prefix,
.semi-select-disabled .semi-select-suffix {
  color: var(--semi-color-disabled-text);
}
.semi-select-disabled .semi-tag {
  color: var(--semi-color-disabled-text);
  background-color: transparent;
}
.semi-select-selection {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  height: 100%;
  display: flex;
  align-items: center;
  flex-grow: 1;
  overflow: hidden;
  margin-left: 12px;
  cursor: pointer;
  color: var(--semi-color-text-0);
}
.semi-select-selection-text {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.semi-select-selection-text-inactive {
  display: flex;
  opacity: 0.4;
}
.semi-select-selection-text-hide {
  display: none;
}
.semi-select-selection-placeholder {
  color: var(--semi-color-text-2);
}
.semi-select-selection .semi-tag {
  margin-top: 1px;
  margin-right: 4px;
  margin-bottom: 1px;
}
.semi-select-selection .semi-tag:nth-of-type(1) {
  margin-left: 0;
}
.semi-select-selection .semi-tag-group {
  height: inherit;
}
.semi-select-selection .semi-tag-group .semi-tag {
  margin-top: 1px;
  margin-right: 4px;
  margin-bottom: 1px;
}
.semi-select-content-wrapper {
  white-space: nowrap;
  overflow: hidden;
  display: flex;
  align-items: center;
  height: 100%;
}
.semi-select-content-wrapper-collapse {
  display: inline-flex;
  flex-shrink: 0;
  width: 100%;
}
.semi-select-content-wrapper-collapse .semi-overflow-list-overflow {
  max-width: 100%;
  min-width: 50px;
}
.semi-select-content-wrapper-collapse > .semi-select-content-wrapper-collapse-tag {
  background-color: transparent;
}
.semi-select-content-wrapper-collapse > .semi-select-content-wrapper-collapse-N {
  background-color: transparent;
  padding: 4px;
  color: var(--semi-color-text-0);
  font-size: 12px;
}
.semi-select-multiple {
  height: auto;
}
.semi-select-multiple .semi-select-selection {
  margin-left: 4px;
}
.semi-select-multiple .semi-select-content-wrapper {
  width: 100%;
  min-height: 30px;
  flex-wrap: wrap;
}
.semi-select-multiple .semi-select-content-wrapper-empty {
  margin-left: 8px;
}
.semi-select-multiple .semi-select-content-wrapper .semi-tag-group {
  display: flex;
  align-items: center;
}
.semi-select-multiple .semi-select-content-wrapper-one-line {
  flex-wrap: nowrap;
}
.semi-select-multiple .semi-select-content-wrapper-one-line .semi-tag-group {
  flex-wrap: nowrap;
  justify-content: flex-start;
  overflow: hidden;
  flex-shrink: 0;
}
.semi-select-multiple .semi-select-inline-label-wrapper {
  flex-shrink: 0;
}
.semi-select-multiple.semi-select-large .semi-select-content-wrapper {
  min-height: 38px;
}
.semi-select-multiple.semi-select-small .semi-select-content-wrapper {
  min-height: 22px;
}
.semi-select-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  color: var(--semi-color-text-2);
  flex-shrink: 0;
  transform: rotate(var(--semi-transform-rotate-none));
}
.semi-select-arrow-empty {
  display: flex;
  width: 12px;
}
.semi-select-prefix, .semi-select-suffix {
  display: flex;
  justify-content: center;
  align-items: center;
}
.semi-select-prefix-text, .semi-select-suffix-text {
  margin: 0px 12px;
  color: var(--semi-color-text-2);
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
}
.semi-select-prefix-icon, .semi-select-suffix-icon {
  color: var(--semi-color-text-2);
  margin: 0px 8px;
}
.semi-select-suffix {
  display: flex;
  justify-content: center;
  align-items: center;
}
.semi-select-clear {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  color: var(--semi-color-text-2);
  flex-shrink: 0;
}
.semi-select-clear:hover {
  color: var(--semi-color-primary);
}
.semi-select-inset-label-wrapper {
  display: inline;
}
.semi-select-inset-label {
  margin: 0px 12px;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--semi-color-text-2);
  flex-shrink: 0;
  white-space: nowrap;
}
.semi-select-create-tips {
  color: var(--semi-color-text-2);
  margin-right: 4px;
}

.semi-select-with-prefix .semi-select-selection {
  margin-left: 0;
}

.semi-select-single.semi-select-filterable .semi-select-content-wrapper {
  flex-grow: 1;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.semi-select-single.semi-select-filterable .semi-input-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  border: none;
  background-color: transparent;
}
.semi-select-single.semi-select-filterable .semi-input-wrapper-focus {
  border: none;
}
.semi-select-single.semi-select-filterable .semi-input {
  padding-left: 0;
  padding-right: 0;
  height: 100%;
}

.semi-select-multiple.semi-select-filterable .semi-select-content-wrapper {
  flex-grow: 1;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.semi-select-multiple.semi-select-filterable .semi-select-content-wrapper:not(.semi-select-content-wrapper-empty) .semi-input-wrapper {
  height: 24px;
  line-height: 24px;
}
.semi-select-multiple.semi-select-filterable .semi-select-content-wrapper:not(.semi-select-content-wrapper-empty) .semi-input-wrapper .semi-input-default {
  height: 24px;
}
.semi-select-multiple.semi-select-filterable .semi-select-content-wrapper-empty .semi-input-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}
.semi-select-multiple.semi-select-filterable .semi-select-content-wrapper-empty .semi-input-wrapper .semi-input-default {
  height: 100%;
}
.semi-select-multiple.semi-select-filterable .semi-input-wrapper {
  height: 100%;
  width: 100%;
  border: none;
  background-color: transparent;
}
.semi-select-multiple.semi-select-filterable .semi-input-wrapper-focus {
  border: none;
}
.semi-select-multiple.semi-select-filterable .semi-input {
  padding-left: 0;
  padding-right: 0;
}

.semi-select-multiple.semi-select-filterable.semi-select-large .semi-select-content-wrapper:not(.semi-select-content-wrapper-empty) .semi-input-wrapper-large {
  height: 24px;
  line-height: 24px;
}
.semi-select-multiple.semi-select-filterable.semi-select-large .semi-select-content-wrapper:not(.semi-select-content-wrapper-empty) .semi-input-wrapper-large .semi-input-large {
  height: 24px;
}

.semi-select-multiple.semi-select-filterable.semi-select-small .semi-select-content-wrapper:not(.semi-select-content-wrapper-empty) .semi-input-wrapper {
  height: 20px;
  line-height: 20px;
}
.semi-select-multiple.semi-select-filterable.semi-select-small .semi-select-content-wrapper:not(.semi-select-content-wrapper-empty) .semi-input-wrapper .semi-input-small {
  height: 20px;
}

.semi-select-option-list-wrapper {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 0px;
  padding-right: 0px;
}

.semi-select-option-list {
  overflow-x: hidden;
  overflow-y: auto;
}
.semi-select-option-list-chosen .semi-select-option-icon {
  display: flex;
}

.semi-select-group {
  color: var(--semi-color-text-2);
  padding-top: 12px;
  margin-top: 4px;
  padding-bottom: 4px;
  padding-left: 32px;
  padding-right: 16px;
  font-size: 12px;
  line-height: 16px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: default;
}
.semi-select-group:not(:nth-of-type(1)) {
  border-top: 1px solid var(--semi-color-border);
}

.semi-select-loading-wrapper {
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  cursor: not-allowed;
  height: 20px;
  box-sizing: content-box;
}

.semi-select-borderless:not(:focus-within):not(:hover) {
  background-color: transparent;
  border-color: transparent;
}
.semi-select-borderless:not(:focus-within):not(:hover) .semi-select-arrow {
  opacity: 0;
}
.semi-select-borderless:focus-within:not(:active) {
  background-color: transparent;
}
.semi-select-borderless.semi-select-error:not(:focus-within) {
  border-color: var(--semi-color-danger);
}
.semi-select-borderless.semi-select-warning:not(:focus-within) {
  border-color: var(--semi-color-warning);
}
.semi-select-borderless.semi-select-error:focus-within {
  border-color: var(--semi-color-danger);
}
.semi-select-borderless.semi-select-warning:focus-within {
  border-color: var(--semi-color-warning);
}

.semi-select-dropdown-search-wrapper {
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-top: 8px;
  padding-left: 12px;
  border-bottom: 1px solid transparent;
}

.semi-rtl .semi-select,
.semi-portal-rtl .semi-select {
  direction: rtl;
}
.semi-rtl .semi-select-selection,
.semi-portal-rtl .semi-select-selection {
  margin-left: 0;
  margin-right: 12px;
}
.semi-rtl .semi-select-selection .semi-tag:nth-of-type(1),
.semi-portal-rtl .semi-select-selection .semi-tag:nth-of-type(1) {
  margin-right: 0;
}
.semi-rtl .semi-select-selection .semi-tag-group .semi-tag,
.semi-portal-rtl .semi-select-selection .semi-tag-group .semi-tag {
  margin-left: 4px;
  margin-right: 0;
}
.semi-rtl .semi-select-multiple .semi-select-selection,
.semi-portal-rtl .semi-select-multiple .semi-select-selection {
  margin-left: 0;
  margin-right: 4px;
}
.semi-rtl .semi-select-multiple .semi-select-content-wrapper-empty,
.semi-portal-rtl .semi-select-multiple .semi-select-content-wrapper-empty {
  margin-left: 0;
  margin-right: 8px;
}
.semi-rtl .semi-select-create-tips,
.semi-portal-rtl .semi-select-create-tips {
  margin-right: 0;
  margin-left: 4px;
}
.semi-rtl .semi-select-with-prefix .semi-select-selection,
.semi-portal-rtl .semi-select-with-prefix .semi-select-selection {
  margin-left: auto;
  margin-right: 0;
}
.semi-rtl .semi-select-single.semi-select-filterable .semi-input-wrapper,
.semi-portal-rtl .semi-select-single.semi-select-filterable .semi-input-wrapper {
  left: auto;
  right: 0;
}
.semi-rtl .semi-select-multiple.semi-select-filterable .semi-select-content-wrapper-empty .semi-input-wrapper,
.semi-portal-rtl .semi-select-multiple.semi-select-filterable .semi-select-content-wrapper-empty .semi-input-wrapper {
  left: auto;
  right: 0;
}
.semi-rtl .semi-select-group,
.semi-portal-rtl .semi-select-group {
  padding-left: 32px;
  padding-right: 16px;
}
.semi-rtl .semi-select-option-icon,
.semi-portal-rtl .semi-select-option-icon {
  margin-right: 0;
  margin-left: 8px;
}
/* shadow */
/* sizing */
/* spacing */
.semi-sidesheet {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  position: fixed;
  margin: 0;
  top: 0;
  left: 0;
  height: 100%;
}
.semi-sidesheet-inner:focus, .semi-sidesheet-content:focus {
  outline: none;
}
.semi-sidesheet-inner-wrap {
  position: absolute;
}
.semi-sidesheet-left, .semi-sidesheet-right {
  top: 0;
  width: 0%;
  height: 100%;
}
.semi-sidesheet-left .semi-sidesheet-inner-wrap, .semi-sidesheet-right .semi-sidesheet-inner-wrap {
  height: 100%;
}
.semi-sidesheet-left.semi-sidesheet, .semi-sidesheet-right.semi-sidesheet {
  width: 100%;
}
.semi-sidesheet-right {
  right: 0;
}
.semi-sidesheet-right .semi-sidesheet-inner-wrap {
  right: 0;
}
.semi-sidesheet-top, .semi-sidesheet-bottom {
  left: 0;
  width: 100%;
  height: 0%;
}
.semi-sidesheet-top .semi-sidesheet-inner-wrap, .semi-sidesheet-bottom .semi-sidesheet-inner-wrap {
  width: 100%;
}
.semi-sidesheet-top.semi-sidesheet, .semi-sidesheet-bottom.semi-sidesheet {
  height: 100%;
}
.semi-sidesheet-top {
  top: 0;
}
.semi-sidesheet-bottom {
  bottom: 0;
}
.semi-sidesheet-bottom .semi-sidesheet-inner-wrap {
  bottom: 0;
}
.semi-sidesheet-title {
  flex: 1 0 auto;
  margin: 0;
  font-size: 18px;
  line-height: 24px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  font-size: 18px;
  color: var(--semi-color-text-0);
  text-align: left;
}
.semi-sidesheet-inner {
  z-index: 1;
  overflow: auto;
  background-color: var(--semi-color-bg-2);
  backdrop-filter: none;
  border: 0;
}
.semi-sidesheet-header {
  display: flex;
  align-items: flex-start;
  padding: 24px;
  padding-bottom: 20px;
  border-bottom: 0px solid var(--semi-color-border);
}
.semi-sidesheet-body {
  padding: 0 24px;
  flex: 1 1;
  overflow: auto;
}
.semi-sidesheet-size-small {
  width: 448px;
}
.semi-sidesheet-size-medium {
  width: 684px;
}
.semi-sidesheet-size-large {
  width: 920px;
}
.semi-sidesheet-size-small.semi-sidesheet {
  width: 448px;
}
.semi-sidesheet-size-medium.semi-sidesheet {
  width: 684px;
}
.semi-sidesheet-size-large.semi-sidesheet {
  width: 920px;
}
.semi-sidesheet-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  overflow: hidden;
}
.semi-sidesheet-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--semi-color-overlay-bg);
  backdrop-filter: none;
  opacity: 1;
}
.semi-sidesheet-mask-hidden {
  opacity: 0;
  display: none;
}
.semi-sidesheet-footer {
  padding: 24px;
}
@keyframes semi-sidesheet-slideShow_top {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes semi-sidesheet-slideHide_top {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
@keyframes semi-sidesheet-slideShow_bottom {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes semi-sidesheet-slideHide_bottom {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(100%);
  }
}
@keyframes semi-sidesheet-slideShow_left {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes semi-sidesheet-slideHide_left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes semi-sidesheet-slideShow_right {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes semi-sidesheet-slideHide_right {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes semi-sidesheet-opacityShow {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes semi-sidesheet-opacityHide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.semi-sidesheet-animation-content_show_top {
  animation: semi-sidesheet-slideShow_top 180ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  animation-fill-mode: forwards;
}
.semi-sidesheet-animation-content_hide_top {
  animation: semi-sidesheet-slideHide_top 180ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  animation-fill-mode: forwards;
}
.semi-sidesheet-animation-content_show_bottom {
  animation: semi-sidesheet-slideShow_bottom 180ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  animation-fill-mode: forwards;
}
.semi-sidesheet-animation-content_hide_bottom {
  animation: semi-sidesheet-slideHide_bottom 180ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  animation-fill-mode: forwards;
}
.semi-sidesheet-animation-content_show_left {
  animation: semi-sidesheet-slideShow_left 180ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  animation-fill-mode: forwards;
}
.semi-sidesheet-animation-content_hide_left {
  animation: semi-sidesheet-slideHide_left 180ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  animation-fill-mode: forwards;
}
.semi-sidesheet-animation-content_show_right {
  animation: semi-sidesheet-slideShow_right 180ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  animation-fill-mode: forwards;
}
.semi-sidesheet-animation-content_hide_right {
  animation: semi-sidesheet-slideHide_right 180ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  animation-fill-mode: forwards;
}
.semi-sidesheet-animation-mask_show {
  animation: semi-sidesheet-opacityShow 180ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  animation-fill-mode: forwards;
}
.semi-sidesheet-animation-mask_hide {
  animation: semi-sidesheet-opacityHide 180ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0ms;
  animation-fill-mode: forwards;
}

.semi-sidesheet-fixed .semi-sidesheet-inner {
  box-shadow: var(--semi-shadow-elevated);
}
.semi-sidesheet-fixed.semi-sidesheet-left {
  left: 0;
}
.semi-sidesheet-fixed.semi-sidesheet-left .semi-sidesheet-inner {
  left: 0;
}
.semi-sidesheet-fixed.semi-sidesheet-right {
  left: auto;
}
.semi-sidesheet-fixed.semi-sidesheet-right .semi-sidesheet-inner {
  right: 0;
}
.semi-sidesheet-fixed.semi-sidesheet-top, .semi-sidesheet-fixed.semi-sidesheet-bottom {
  height: auto;
}
.semi-sidesheet-fixed.semi-sidesheet-bottom {
  top: auto;
}
.semi-sidesheet-fixed.semi-sidesheet-bottom .semi-sidesheet-inner {
  bottom: 0;
}

.semi-sidesheet.semi-sidesheet-popup {
  position: absolute;
}

.semi-sidesheet-hidden {
  display: none;
}

.semi-sidesheet-rtl .semi-sidesheet-inner {
  direction: rtl;
}
.semi-sidesheet-rtl .semi-sidesheet-title {
  text-align: right;
}
/* shadow */
/* sizing */
/* spacing */
.semi-switch {
  box-sizing: border-box;
  display: inline-block;
  border-radius: 12px;
  border: 1px transparent solid;
  position: relative;
  cursor: pointer;
  background-color: var(--semi-color-fill-0);
  transition: background-color 200ms var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  width: 40px;
  height: 24px;
}
.semi-switch:hover {
  background-color: var(--semi-color-fill-1);
}
.semi-switch:active {
  border: 1px var(--semi-color-fill-2) solid;
}
.semi-switch:active .semi-switch-knob {
  width: 24px;
}
.semi-switch-focus {
  outline: 2px solid var(--semi-color-primary-light-active);
}
.semi-switch-checked {
  background-color: var(--semi-color-success);
}
.semi-switch-checked:hover {
  background-color: var(--semi-color-success-hover);
}
.semi-switch-checked .semi-switch-knob {
  transform: translateX(18px);
}
.semi-switch-checked:active .semi-switch-knob {
  transform: translateX(12px);
}
.semi-switch-active {
  background-color: var(--semi-color-success-active);
}
.semi-switch-disabled {
  cursor: not-allowed;
  background-color: transparent;
  border: 1px var(--semi-color-border) solid;
}
.semi-switch-disabled:hover {
  background-color: transparent;
}
.semi-switch-disabled:active {
  background-color: transparent;
}
.semi-switch-disabled:active .semi-switch-knob {
  width: 18px;
}
.semi-switch-disabled .semi-switch-knob {
  cursor: not-allowed;
  box-shadow: none;
  border: 1px var(--semi-color-border) solid;
}
.semi-switch-disabled .semi-switch-native-control {
  pointer-events: none;
  cursor: not-allowed;
}
.semi-switch-disabled.semi-switch-checked {
  border-color: transparent;
  background-color: var(--semi-color-success-disabled);
}
.semi-switch-disabled.semi-switch-checked:active .semi-switch-knob {
  transform: translateX(18px);
}
.semi-switch-disabled.semi-switch-checked .semi-switch-knob {
  box-shadow: none;
  border: none;
}
.semi-switch-disabled.semi-switch-loading:not(.semi-switch-checked):hover {
  background-color: var(--semi-color-fill-1);
}
.semi-switch-knob {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 0 1px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  border-radius: 9px;
  background-color: rgba(var(--semi-white), 1);
  box-sizing: border-box;
  position: absolute;
  left: 0px;
  right: auto;
  transition: transform 200ms ease-in-out, width 200ms ease-in-out;
  width: 18px;
  height: 18px;
  top: 2px;
  transform: translateX(2px);
}
.semi-switch-native-control {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: inherit;
  pointer-events: auto;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.semi-switch-native-control[type=checkbox] {
  width: inherit;
  height: inherit;
}
.semi-switch-checked-text, .semi-switch-unchecked-text {
  position: absolute;
  font-size: 12px;
  height: 100%;
  width: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.semi-switch-checked-text {
  color: var(--semi-color-white);
}
.semi-switch-unchecked-text {
  color: var(--semi-color-text-2);
  right: 0;
}
.semi-switch-loading {
  display: inline-flex;
  align-items: center;
  background-color: var(--semi-color-fill-1);
}
.semi-switch-loading-spin .semi-spin-wrapper {
  display: inline-flex;
  align-items: center;
  color: var(--semi-color-white);
}

.semi-switch-loading .semi-switch-loading-spin {
  transform: translateX(2px);
}
.semi-switch-loading .semi-switch-loading-spin > .semi-spin-wrapper > svg {
  width: 18px;
  height: 18px;
}
.semi-switch-loading.semi-switch-checked {
  background-color: var(--semi-color-success-hover);
}
.semi-switch-loading.semi-switch-checked .semi-switch-loading-spin {
  transform: translateX(16px);
}

.semi-switch-loading.semi-switch-small .semi-switch-loading-spin {
  transform: translateX(2px);
}
.semi-switch-loading.semi-switch-small .semi-switch-loading-spin > .semi-spin-wrapper > svg {
  width: 10px;
  height: 10px;
}
.semi-switch-loading.semi-switch-small.semi-switch-checked .semi-switch-loading-spin {
  transform: translateX(10px);
}

.semi-switch-loading.semi-switch-large .semi-switch-loading-spin {
  transform: translateX(2px);
}
.semi-switch-loading.semi-switch-large .semi-switch-loading-spin > .semi-spin-wrapper > svg {
  width: 28px;
  height: 28px;
}
.semi-switch-loading.semi-switch-large.semi-switch-checked .semi-switch-loading-spin {
  transform: translateX(22px);
}

.semi-switch-disabled.semi-switch-checked {
  background-color: var(--semi-color-success-disabled);
}

.semi-switch-large {
  width: 54px;
  height: 32px;
  border-radius: 16px;
}
.semi-switch-large .semi-switch-knob {
  width: 24px;
  height: 24px;
  top: 3px;
  border-radius: 12px;
  transform: translateX(3px);
}
.semi-switch-large.semi-switch-checked .semi-switch-knob {
  transform: translateX(26px);
}
.semi-switch-large.semi-switch-checked:active .semi-switch-knob {
  transform: translateX(16px);
}
.semi-switch-large:active .semi-switch-knob {
  width: 34px;
}
.semi-switch-large .semi-switch-checked-text,
.semi-switch-large .semi-switch-unchecked-text {
  width: 26px;
  font-size: 14px;
}

.semi-switch-small {
  width: 26px;
  height: 16px;
  border-radius: 8px;
}
.semi-switch-small .semi-switch-knob {
  width: 12px;
  height: 12px;
  top: 1px;
  border-radius: 6px;
  transform: translateX(1px);
}
.semi-switch-small.semi-switch-checked .semi-switch-knob {
  transform: translateX(11px);
}
.semi-switch-small.semi-switch-checked:active .semi-switch-knob {
  transform: translateX(9px);
}
.semi-switch-small:active .semi-switch-knob {
  width: 14px;
}

.semi-form .semi-switch-native-control {
  width: 100%;
  height: 100%;
}

.semi-rtl .semi-switch,
.semi-portal-rtl .semi-switch {
  direction: rtl;
}
.semi-rtl .semi-switch-checked .semi-switch-knob,
.semi-portal-rtl .semi-switch-checked .semi-switch-knob {
  transform: translateX(-18px);
}
.semi-rtl .semi-switch-checked:active .semi-switch-knob,
.semi-portal-rtl .semi-switch-checked:active .semi-switch-knob {
  transform: translateX(-12px);
}
.semi-rtl .semi-switch-knob,
.semi-portal-rtl .semi-switch-knob {
  right: 0;
  left: auto;
  transform: translateX(-2px);
}
.semi-rtl .semi-switch-native-control,
.semi-portal-rtl .semi-switch-native-control {
  right: 0;
}
.semi-rtl .semi-switch-unchecked-text,
.semi-portal-rtl .semi-switch-unchecked-text {
  left: 0;
}
.semi-rtl .semi-switch-loading .semi-switch-loading-spin,
.semi-portal-rtl .semi-switch-loading .semi-switch-loading-spin {
  transform: translateX(-2px);
}
.semi-rtl .semi-switch-loading.semi-switch-checked .semi-switch-loading-spin,
.semi-portal-rtl .semi-switch-loading.semi-switch-checked .semi-switch-loading-spin {
  transform: translateX(-16px);
}
.semi-rtl .semi-switch-loading.semi-switch-small .semi-switch-loading-spin,
.semi-portal-rtl .semi-switch-loading.semi-switch-small .semi-switch-loading-spin {
  transform: translateX(-2px);
}
.semi-rtl .semi-switch-loading.semi-switch-small.semi-switch-checked .semi-switch-loading-spin,
.semi-portal-rtl .semi-switch-loading.semi-switch-small.semi-switch-checked .semi-switch-loading-spin {
  transform: translateX(-10px);
}
.semi-rtl .semi-switch-loading.semi-switch-large .semi-switch-loading-spin,
.semi-portal-rtl .semi-switch-loading.semi-switch-large .semi-switch-loading-spin {
  transform: translateX(-2px);
}
.semi-rtl .semi-switch-loading.semi-switch-large.semi-switch-checked .semi-switch-loading-spin,
.semi-portal-rtl .semi-switch-loading.semi-switch-large.semi-switch-checked .semi-switch-loading-spin {
  transform: translateX(-22px);
}
.semi-rtl .semi-switch-large .semi-switch-knob,
.semi-portal-rtl .semi-switch-large .semi-switch-knob {
  transform: translateX(-3px);
}
.semi-rtl .semi-switch-large.semi-switch-checked .semi-switch-knob,
.semi-portal-rtl .semi-switch-large.semi-switch-checked .semi-switch-knob {
  transform: translateX(-26px);
}
.semi-rtl .semi-switch-large.semi-switch-checked:active .semi-switch-knob,
.semi-portal-rtl .semi-switch-large.semi-switch-checked:active .semi-switch-knob {
  transform: translateX(-16px);
}
.semi-rtl .semi-switch-small .semi-switch-knob,
.semi-portal-rtl .semi-switch-small .semi-switch-knob {
  transform: translateX(-1px);
}
.semi-rtl .semi-switch-small.semi-switch-checked .semi-switch-knob,
.semi-portal-rtl .semi-switch-small.semi-switch-checked .semi-switch-knob {
  transform: translateX(-11px);
}
.semi-rtl .semi-switch-small.semi-switch-checked:active .semi-switch-knob,
.semi-portal-rtl .semi-switch-small.semi-switch-checked:active .semi-switch-knob {
  transform: translateX(-9px);
}
/* shadow */
/* sizing */
/* spacing */
.semi-table-panel-operation {
  background-color: var(--semi-color-primary);
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  display: flex;
  justify-content: space-between;
  color: var(--semi-color-text-2);
}
.semi-table-panel-operation-right, .semi-table-panel-operation-left {
  display: flex;
  justify-content: space-between;
}
.semi-table-panel-operation-selected {
  color: var(--semi-color-primary-light-active);
}

.semi-table-pagination-info {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
}
.semi-table-pagination-outer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.semi-table {
  width: 100%;
  text-align: left;
  border-collapse: separate;
  border-spacing: 0;
  font-size: inherit;
  display: table;
}
.semi-table-wrapper {
  zoom: 1;
  position: relative;
  clear: both;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--semi-color-text-0);
  width: 100%;
}
.semi-table-wrapper[data-column-fixed=true] {
  z-index: 1;
}
.semi-table-wrapper-ltr {
  direction: ltr;
}
.semi-table-wrapper-ltr .semi-spin {
  direction: ltr;
}
.semi-table-middle .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
  padding-top: 12px;
  padding-bottom: 12px;
}
.semi-table-small .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
  padding-top: 8px;
  padding-bottom: 8px;
}
.semi-table-title {
  position: relative;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 0;
  padding-right: 0;
}
.semi-table-container {
  position: relative;
}
.semi-table-header {
  overflow: hidden;
  scrollbar-base-color: transparent;
}
.semi-table-header::-webkit-scrollbar {
  background-color: transparent;
  border-bottom: 2px solid var(--semi-color-border);
}
.semi-table-header-sticky {
  position: sticky;
  z-index: 102;
}
.semi-table-header-sticky .semi-table-thead > .semi-table-row > .semi-table-row-head {
  background-color: var(--semi-color-bg-1);
}
.semi-table-header-hidden {
  height: 0;
}
.semi-table-align-center .semi-table-operate-wrapper {
  justify-content: center;
}
.semi-table-align-right .semi-table-operate-wrapper {
  justify-content: flex-end;
}
.semi-table-operate-wrapper {
  display: flex;
  justify-content: flex-start;
}
.semi-table-body {
  overflow: auto;
  width: 100%;
  box-sizing: border-box;
}
.semi-table-colgroup {
  display: table-column-group;
}
.semi-table-colgroup .semi-table-col {
  display: table-column;
}
.semi-table-colgroup .semi-table-column-expand, .semi-table-colgroup .semi-table-column-selection {
  width: 48px;
}
.semi-table-thead > .semi-table-row > .semi-table-row-head {
  background-color: var(--semi-color-bg-1);
  color: var(--semi-color-text-2);
  font-weight: 600;
  text-align: left;
  border-bottom: 2px solid var(--semi-color-border);
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  vertical-align: middle;
  overflow-wrap: break-word;
  position: relative;
  transition: background-color var(--semi-transition_duration-none) linear;
}
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-row-head-clickSort {
  cursor: pointer;
}
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-row-head-clickSort:hover {
  background-image: linear-gradient(0deg, var(--semi-color-fill-0), var(--semi-color-fill-0));
  background-color: var(--semi-color-bg-0);
}
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-left, .semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-right {
  z-index: 101;
  position: sticky;
  background-color: var(--semi-color-bg-1);
}
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-left-last {
  border-right: 1px solid var(--semi-color-border);
  box-shadow: 3px 0 0 0 var(--semi-color-shadow);
}
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-left-last.resizing {
  border-right: 2px solid var(--semi-color-primary);
}
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-left-last.resizing .react-resizable-handle:hover {
  background-color: transparent;
  background-color: initial;
}
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-right-first {
  border-left: 1px solid var(--semi-color-border);
  box-shadow: -3px 0 0 0 var(--semi-color-shadow);
}
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-right-first.resizing {
  border-right: 2px solid var(--semi-color-primary);
}
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-right-first.resizing .react-resizable-handle:hover {
  background-color: transparent;
  background-color: initial;
}
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-right-first[x-type=column-scrollbar] {
  box-shadow: none;
  border-left: transparent;
}
.semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-column-selection {
  text-align: center;
}
.semi-table-thead > .semi-table-row > .semi-table-row-head[colspan]:not([colspan="1"]) {
  text-align: center;
}
.semi-table-thead > .semi-table-row > .semi-table-row-head .semi-table-header-column {
  display: inline-flex;
  align-items: center;
}
.semi-table-thead > .semi-table-row > .semi-table-row-head-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.semi-table-thead > .semi-table-row > .semi-table-row-head-ellipsis .semi-table-row-head-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.semi-table-thead > .semi-table-row .react-resizable {
  position: relative;
  background-clip: padding-box;
}
.semi-table-thead > .semi-table-row .resizing {
  border-right: 2px solid var(--semi-color-primary);
}
.semi-table-thead > .semi-table-row .resizing .react-resizable-handle:hover {
  background-color: transparent;
  background-color: initial;
}
.semi-table-thead > .semi-table-row .react-resizable-handle {
  position: absolute;
  width: 9px;
  height: calc(100% - 4px * 2);
  background-color: var(--semi-color-border);
  bottom: 4px;
  right: -1px;
  cursor: col-resize;
  z-index: 0;
}
.semi-table-thead > .semi-table-row .react-resizable-handle:hover {
  background-color: var(--semi-color-primary);
}
.semi-table-tbody {
  display: table-row-group;
}
.semi-table-tbody > .semi-table-row {
  display: table-row;
  background-color: var(--semi-color-bg-1);
}
.semi-table-tbody > .semi-table-row:hover > .semi-table-row-cell {
  background-image: linear-gradient(0deg, var(--semi-color-fill-0), var(--semi-color-fill-0));
  background-color: var(--semi-color-bg-0);
}
.semi-table-tbody > .semi-table-row:hover > .semi-table-row-cell.semi-table-cell-fixed-left, .semi-table-tbody > .semi-table-row:hover > .semi-table-row-cell.semi-table-cell-fixed-right {
  background-image: linear-gradient(0deg, var(--semi-color-fill-0), var(--semi-color-fill-0));
  background-color: var(--semi-color-bg-1);
}
.semi-table-tbody > .semi-table-row > .semi-table-row-cell {
  display: table-cell;
  overflow-wrap: break-word;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid var(--semi-color-border);
  padding: 16px;
  box-sizing: border-box;
  position: relative;
  vertical-align: middle;
}
.semi-table-tbody > .semi-table-row > .semi-table-row-cell.resizing {
  border-right: 2px solid var(--semi-color-primary);
}
.semi-table-tbody > .semi-table-row > .semi-table-row-cell-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.semi-table-tbody > .semi-table-row.semi-table-row-expand > .semi-table-row-cell {
  background-color: var(--semi-color-fill-0);
}
.semi-table-tbody > .semi-table-row.semi-table-row-hidden {
  display: none;
}
.semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-left, .semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-right {
  z-index: 101;
  position: sticky;
  background-color: var(--semi-color-bg-1);
}
.semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-left-last {
  border-right: 1px solid var(--semi-color-border);
  box-shadow: 3px 0 0 0 var(--semi-color-shadow);
}
.semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-right-first {
  border-left: 1px solid var(--semi-color-border);
  box-shadow: -3px 0 0 0 var(--semi-color-shadow);
}
.semi-table-tbody > .semi-table-row > .semi-table-cell-fixed > * {
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeOut) 0ms;
}
.semi-table-tbody > .semi-table-row > * {
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeOut) 0ms;
}
.semi-table-tbody > .semi-table-row-section {
  display: table-row;
}
.semi-table-tbody > .semi-table-row-section > .semi-table-row-cell {
  background-color: rgba(var(--semi-grey-0), 1);
  border-bottom: 1px solid var(--semi-color-border);
}
.semi-table-tbody > .semi-table-row-section > .semi-table-row-cell:not(.semi-table-column-selection) {
  padding: 10px 16px;
}
.semi-table-tbody > .semi-table-row-section .semi-table-section-inner {
  display: inline-flex;
  align-items: center;
}
.semi-table-virtualized .semi-table-tbody {
  display: block;
}
.semi-table-virtualized .semi-table-tbody > .semi-table-row {
  display: flex;
}
.semi-table-virtualized .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
  word-wrap: inherit;
  word-break: inherit;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
}
.semi-table-virtualized .semi-table-tbody > .semi-table-row-section > .semi-table-row-cell {
  padding-top: 16px;
  padding-bottom: 16px;
  display: flex;
}
.semi-table-virtualized .semi-table-tbody > .semi-table-row-expand > .semi-table-row-cell {
  padding: 0;
  overflow: visible;
  overflow: initial;
}
.semi-table-footer {
  background-color: var(--semi-color-fill-0);
  padding: 16px;
  margin: 0;
  position: relative;
}
.semi-table .semi-table-selection-wrap {
  display: inline-flex;
  vertical-align: bottom;
}
.semi-table .semi-table-selection-disabled {
  cursor: not-allowed;
}
.semi-table .semi-table-selection-disabled > .semi-checkbox {
  pointer-events: none;
}
.semi-table .semi-table-column-hidden {
  display: none;
}
.semi-table .semi-table-column-selection {
  text-align: center;
}
.semi-table .semi-table-column-selection .semi-checkbox-inner-display .semi-icon {
  left: 0;
  top: 0;
}
.semi-table .semi-table-column-expand .semi-table-expand-icon {
  transform: translateY(2px);
}
.semi-table .semi-table-column-expand .semi-table-expand-icon:last-child {
  margin-right: 0;
}
.semi-table .semi-table-column-sorter {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  text-align: center;
}
.semi-table .semi-table-column-sorter-wrapper {
  display: flex;
  gap: 4px;
  align-items: center;
  cursor: pointer;
  overflow: hidden;
}
.semi-table .semi-table-column-sorter-up, .semi-table .semi-table-column-sorter-down {
  height: 0;
  display: block;
  color: var(--semi-color-text-2);
}
.semi-table .semi-table-column-sorter-up:hover .anticon, .semi-table .semi-table-column-sorter-down:hover .anticon {
  color: var(--semi-color-text-2);
}
.semi-table .semi-table-column-sorter-up svg, .semi-table .semi-table-column-sorter-down svg {
  width: 16px;
  height: 16px;
}
.semi-table .semi-table-column-sorter-up.on .semi-icon-caretup,
.semi-table .semi-table-column-sorter-up.on .semi-icon-caretdown, .semi-table .semi-table-column-sorter-down.on .semi-icon-caretup,
.semi-table .semi-table-column-sorter-down.on .semi-icon-caretdown {
  color: var(--semi-color-primary);
}
.semi-table .semi-table-column-filter {
  margin-left: 4px;
  display: inline-flex;
  cursor: pointer;
  color: var(--semi-color-text-2);
  align-items: center;
}
.semi-table .semi-table-column-filter svg {
  width: 16px;
  height: 16px;
}
.semi-table .semi-table-column-filter.on {
  color: var(--semi-color-primary);
}
.semi-table-bordered > .semi-table-title {
  padding-left: 16px;
  padding-right: 16px;
  border-top: 1px solid var(--semi-color-border);
  border-right: 1px solid var(--semi-color-border);
  border-left: 1px solid var(--semi-color-border);
}
.semi-table-bordered > .semi-table-container {
  border: 1px solid var(--semi-color-border);
  border-right: 0;
  border-bottom: 0;
}
:where(.semi-table-bordered) > .semi-table-container > .semi-table-header::-webkit-scrollbar {
  border-right: 1px solid var(--semi-color-border);
}
:where(.semi-table-bordered) > .semi-table-container > .semi-table-footer {
  border-left: 1px solid var(--semi-color-border);
  border-right: 1px solid var(--semi-color-border);
  border-bottom: 1px solid var(--semi-color-border);
}
:where(.semi-table-bordered > .semi-table-container) > .semi-table-body > .semi-table-placeholder {
  border-right: 1px solid var(--semi-color-border);
}
:where(.semi-table-bordered > .semi-table-container > .semi-table-body) > .semi-table > .semi-table-thead > .semi-table-row > .semi-table-row-head .react-resizable-handle {
  background-color: transparent;
}
:where(.semi-table-bordered > .semi-table-container > .semi-table-body) > .semi-table > .semi-table-thead > .semi-table-row > .semi-table-row-head, :where(.semi-table-bordered > .semi-table-container > .semi-table-body) > .semi-table > .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
  border-right: 1px solid var(--semi-color-border);
}
:where(.semi-table-bordered > .semi-table-container > .semi-table-header) > .semi-table > .semi-table-thead > .semi-table-row > .semi-table-row-head {
  border-right: 1px solid var(--semi-color-border);
}
:where(.semi-table-bordered > .semi-table-container > .semi-table-header) > .semi-table > .semi-table-thead > .semi-table-row > .semi-table-row-head .react-resizable-handle {
  background-color: transparent;
}
.semi-table-placeholder {
  position: sticky;
  left: 0px;
  z-index: 1;
  padding: 16px 12px;
  color: var(--semi-color-text-2);
  font-size: 14px;
  text-align: center;
  background: transparent;
  border-bottom: 1px solid var(--semi-color-border);
}
.semi-table-fixed {
  table-layout: fixed;
  min-width: 100%;
}
.semi-table-fixed > .semi-table-tbody > .semi-table-row-expand > .semi-table-row-cell > .semi-table-expand-inner, .semi-table-fixed > .semi-table-tbody > .semi-table-row-section > .semi-table-row-cell > .semi-table-section-inner {
  position: sticky;
  overflow: auto;
  left: 0;
  margin-left: -16px;
  margin-right: -16px;
  padding-left: 16px;
  padding-right: 16px;
  height: 100%;
  display: flex;
  align-items: center;
}
.semi-table-fixed-header table {
  table-layout: fixed;
}
.semi-table-scroll-position-left .semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-left-last,
.semi-table-scroll-position-left .semi-table-thead > .semi-table-row > .semi-table-cell-fixed-left-last {
  box-shadow: none;
}
.semi-table-scroll-position-right .semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-right-first,
.semi-table-scroll-position-right .semi-table-thead > .semi-table-row > .semi-table-cell-fixed-right-first {
  box-shadow: none;
}
.semi-table-pagination-outer {
  color: var(--semi-color-text-2);
  min-height: 60px;
}

.semi-table-expand-icon {
  color: var(--semi-color-text-2);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background: transparent;
  position: relative;
  margin-right: 8px;
}
.semi-table-expand-icon-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.semi-table-expand-icon .semi-table-expandedIcon-show {
  transition: transform 150ms cubic-bezier(0.62, 0.05, 0.36, 0.95);
  transform: rotate(90deg);
}
.semi-table-expand-icon .semi-table-expandedIcon-hide {
  transition: transform 150ms cubic-bezier(0.62, 0.05, 0.36, 0.95);
  transform: rotate(0deg);
}

.semi-table-column-filter-dropdown .semi-dropdown-menu {
  max-height: 290px;
  overflow-y: auto;
}

.semi-table-wrapper-rtl .semi-table {
  direction: rtl;
  text-align: right;
}
.semi-table-wrapper-rtl .semi-table-align-left .semi-table-operate-wrapper {
  justify-content: flex-end;
}
.semi-table-wrapper-rtl .semi-table-align-right .semi-table-operate-wrapper {
  justify-content: flex-start;
}
.semi-table-wrapper-rtl .semi-table-thead > .semi-table-row > .semi-table-row-head {
  text-align: right;
}
.semi-table-wrapper-rtl .semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-left-last {
  border-right: 0;
  border-left: 1px solid var(--semi-color-border);
}
.semi-table-wrapper-rtl .semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-left-last.resizing {
  border-left: 2px solid var(--semi-color-primary);
}
.semi-table-wrapper-rtl .semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-right-first {
  border-left: 0;
  border-right: 1px solid var(--semi-color-border);
}
.semi-table-wrapper-rtl .semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-right-first.resizing {
  border-left: 2px solid var(--semi-color-primary);
}
.semi-table-wrapper-rtl .semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-right-first[x-type=column-scrollbar] {
  box-shadow: none;
  border-right: transparent;
}
.semi-table-wrapper-rtl .semi-table-thead > .semi-table-row .resizing {
  border-left: 2px solid var(--semi-color-primary);
}
.semi-table-wrapper-rtl .semi-table-thead > .semi-table-row .react-resizable-handle {
  right: auto;
  left: -1px;
}
.semi-table-wrapper-rtl .semi-table-tbody {
  display: table-row-group;
}
.semi-table-wrapper-rtl .semi-table-tbody > .semi-table-row > .semi-table-row-cell.resizing {
  border-right: 0;
  border-left: 2px solid var(--semi-color-primary);
}
.semi-table-wrapper-rtl .semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-left-last {
  border-right: 0;
  border-left: 1px solid var(--semi-color-border);
}
.semi-table-wrapper-rtl .semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-right-first {
  border-left: 0;
  border-right: 1px solid var(--semi-color-border);
}
.semi-table-wrapper-rtl .semi-table .semi-table-column-selection .semi-checkbox-inner-display .semi-icon {
  left: auto;
  right: 0;
}
.semi-table-wrapper-rtl .semi-table .semi-table-column-expand .semi-table-expand-icon {
  transform: scaleX(-1) translateY(2px);
}
.semi-table-wrapper-rtl .semi-table .semi-table-column-expand .semi-table-expand-icon:last-child {
  margin-right: auto;
  margin-left: 0;
}
.semi-table-wrapper-rtl .semi-table .semi-table-column-sorter {
  margin-left: 0;
  margin-right: 4px;
}
.semi-table-wrapper-rtl .semi-table .semi-table-column-filter {
  margin-left: 0;
  margin-right: 4px;
}
.semi-table-wrapper-rtl .semi-table-bordered .semi-table-container {
  border-left: 0;
  border-right: 1px solid var(--semi-color-border);
}
.semi-table-wrapper-rtl .semi-table-bordered .semi-table-thead > .semi-table-row > .semi-table-row-head,
.semi-table-wrapper-rtl .semi-table-bordered .semi-table-tbody > .semi-table-row > .semi-table-row-cell {
  border-right: 0;
  border-left: 1px solid var(--semi-color-border);
}
.semi-table-wrapper-rtl .semi-table-bordered .semi-table-placeholder {
  border-left: 1px solid var(--semi-color-border);
  border-right: 0;
}
.semi-table-wrapper-rtl .semi-table-bordered .semi-table-header::-webkit-scrollbar {
  border-right: 0;
  border-left: 1px solid var(--semi-color-border);
}
.semi-table-wrapper-rtl .semi-table-fixed > .semi-table-tbody > .semi-table-row-expand > .semi-table-row-cell > .semi-table-expand-inner, .semi-table-wrapper-rtl .semi-table-fixed > .semi-table-tbody > .semi-table-row-section > .semi-table-row-cell > .semi-table-section-inner {
  left: auto;
  right: 0;
  margin-right: -16px;
  margin-left: -16px;
  padding-right: 16px;
  padding-left: 16px;
}
.semi-table-wrapper-rtl .semi-table-scroll-position-left .semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-left-last,
.semi-table-wrapper-rtl .semi-table-scroll-position-left .semi-table-thead > .semi-table-row > .semi-table-cell-fixed-left-last {
  box-shadow: 3px 0 0 0 var(--semi-color-shadow);
}
.semi-table-wrapper-rtl .semi-table-scroll-position-left .semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-right-first,
.semi-table-wrapper-rtl .semi-table-scroll-position-left .semi-table-thead > .semi-table-row > .semi-table-cell-fixed-right-first {
  box-shadow: none;
}
.semi-table-wrapper-rtl .semi-table-scroll-position-right .semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-left-last,
.semi-table-wrapper-rtl .semi-table-scroll-position-right .semi-table-thead > .semi-table-row > .semi-table-cell-fixed-left-last {
  box-shadow: none;
}
.semi-table-wrapper-rtl .semi-table-scroll-position-right .semi-table-tbody > .semi-table-row > .semi-table-cell-fixed-right-first,
.semi-table-wrapper-rtl .semi-table-scroll-position-right .semi-table-thead > .semi-table-row > .semi-table-cell-fixed-right-first {
  box-shadow: -3px 0 0 0 var(--semi-color-shadow);
}
.semi-table-wrapper-rtl .semi-table-expand-icon {
  margin-right: auto;
  margin-left: 8px;
  transform: scaleX(-1) translateY(2px);
}
.semi-table-wrapper-rtl .semi-spin {
  direction: rtl;
}
/* shadow */
/* sizing */
/* spacing */
.semi-page {
  display: flex;
  list-style: none;
  padding: 0;
  align-items: center;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-block-start: 0;
  margin-block-end: 0;
}
.semi-page-small {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  color: var(--semi-color-text-2);
  padding: 0 0;
}
.semi-page-disabled {
  cursor: not-allowed;
}
.semi-page-disabled .semi-page-total {
  color: var(--semi-color-disabled-text);
}
.semi-page-item {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  min-width: 32px;
  border: 0px solid transparent;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  height: 32px;
  margin-left: 4px;
  margin-right: 4px;
  font-weight: 400;
  color: var(--semi-color-text-0);
  border-radius: var(--semi-border-radius-small);
  text-align: center;
  line-height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-page-item:hover {
  border-color: transparent;
  background-color: var(--semi-color-fill-0);
  color: var(--semi-color-text-0);
}
.semi-page-item-rest-opening {
  background-color: var(--semi-color-fill-0);
  color: var(--semi-color-text-0);
}
.semi-page-item:active {
  border-color: transparent;
  background-color: var(--semi-color-fill-1);
  color: var(--semi-color-text-0);
}
.semi-page-item-active {
  border-color: transparent;
  color: var(--semi-color-primary);
  font-weight: 600;
  background-color: var(--semi-color-primary-light-default);
}
.semi-page-item-active:hover {
  border-color: transparent;
  color: var(--semi-color-primary);
  background-color: var(--semi-color-primary-light-default);
}
.semi-page-item-disabled {
  border-color: transparent;
  color: var(--semi-color-disabled-text);
  background-color: transparent;
  cursor: not-allowed;
}
.semi-page-item-disabled:hover {
  background-color: transparent;
}
.semi-page-item-small {
  min-width: 44px;
  margin: 0;
}
.semi-page-item-all-disabled {
  border-color: transparent;
  color: var(--semi-color-disabled-text);
  background-color: transparent;
  cursor: not-allowed;
}
.semi-page-item-all-disabled:hover {
  background-color: transparent;
  color: var(--semi-color-disabled-text);
}
.semi-page-item-all-disabled-active {
  background-color: var(--semi-color-disabled-fill);
  font-weight: 600;
}
.semi-page-item-all-disabled-active:hover {
  background-color: var(--semi-color-disabled-fill);
}
.semi-page-total {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--semi-color-text-2);
}
.semi-page-prev, .semi-page-next {
  color: var(--semi-color-tertiary);
  cursor: pointer;
}
.semi-page-prev.semi-page-item-disabled, .semi-page-next.semi-page-item-disabled {
  color: var(--semi-color-disabled-text);
  cursor: not-allowed;
}
.semi-page-quickjump {
  margin-left: 24px;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  color: var(--semi-color-text-0);
}
.semi-page-quickjump-input-number {
  max-width: 50px;
  margin-left: 4px;
  margin-right: 4px;
}
.semi-page-quickjump-disabled {
  color: var(--semi-color-disabled-text);
}
.semi-page .semi-select {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.semi-select-dropdown {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.semi-page-rest-list {
  padding-top: 4px;
  padding-bottom: 4px;
}
.semi-page-rest-list > div {
  position: relative;
}
.semi-page-rest-item {
  height: 32px;
  line-height: 32px;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
}
.semi-page-rest-item:hover {
  background-color: var(--semi-color-fill-0);
}
.semi-page-rest-item:active {
  background-color: var(--semi-color-fill-1);
}

.semi-rtl .semi-page,
.semi-portal-rtl .semi-page {
  direction: rtl;
}
.semi-rtl .semi-page-item,
.semi-portal-rtl .semi-page-item {
  margin-right: 4px;
  margin-left: 4px;
}
.semi-rtl .semi-page-prev, .semi-rtl .semi-page-next,
.semi-portal-rtl .semi-page-prev,
.semi-portal-rtl .semi-page-next {
  transform: scaleX(-1);
}
/* shadow */
/* sizing */
/* spacing */
.semi-input-number {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-input-number-suffix-btns {
  display: inline-flex;
  flex-direction: column;
  margin-left: 4px;
  border: 1px solid var(--semi-color-border);
  border-radius: var(--semi-border-radius-small);
  background-color: var(--semi-color-bg-2);
  box-sizing: border-box;
}
.semi-input-number-suffix-btns > .semi-input-number-button {
  height: 50%;
  width: 14px;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border-radius: 0;
  color: var(--semi-color-text-2);
}
.semi-input-number-suffix-btns > .semi-input-number-button-up:not(.semi-input-number-button-up-not-allowed):hover, .semi-input-number-suffix-btns > .semi-input-number-button-down:not(.semi-input-number-button-down-not-allowed):hover {
  cursor: pointer;
  background-color: var(--semi-color-fill-0);
}
.semi-input-number-suffix-btns > .semi-input-number-button-up:not(.semi-input-number-button-up-not-allowed):active, .semi-input-number-suffix-btns > .semi-input-number-button-down:not(.semi-input-number-button-down-not-allowed):active {
  cursor: pointer;
  background-color: var(--semi-color-fill-1);
}
.semi-input-number-suffix-btns > .semi-input-number-button-up.semi-input-number-button-up-disabled, .semi-input-number-suffix-btns > .semi-input-number-button-down.semi-input-number-button-down-disabled {
  background-color: var(--semi-color-disabled-fill);
  color: var(--semi-color-disabled-text);
}
.semi-input-number-suffix-btns > .semi-input-number-button-up.semi-input-number-button-up-not-allowed, .semi-input-number-suffix-btns > .semi-input-number-button-down.semi-input-number-button-down-not-allowed {
  cursor: not-allowed;
}
.semi-input-number-suffix-btns-inner-hover {
  border-color: var(--semi-color-fill-2);
}
.semi-input-number-suffix-btns-inner {
  margin-left: 8px;
  border-radius: var(--semi-border-radius-small);
  overflow: hidden;
}
.semi-input-number .semi-input-clearbtn + .semi-input-suffix {
  margin-left: -4px;
}
.semi-input-number .semi-input-clearbtn + .semi-input-suffix .semi-input-number-suffix-btns-inner {
  margin-left: 0;
}
.semi-input-number-size-default .semi-input-number-suffix-btns {
  height: 32px;
}
.semi-input-number-size-default .semi-input-number-suffix-btns-inner {
  height: 30px;
}
.semi-input-number-size-large .semi-input-number-suffix-btns {
  height: 40px;
}
.semi-input-number-size-large .semi-input-number-suffix-btns-inner {
  height: 38px;
}
.semi-input-number-size-small .semi-input-number-suffix-btns {
  height: 24px;
}
.semi-input-number-size-small .semi-input-number-suffix-btns-inner {
  height: 22px;
}

.semi-input-number:not(:focus-within):not(:hover) .semi-input-borderless + .semi-input-number-suffix-btns {
  opacity: 0;
}

.semi-rtl .semi-input-number,
.semi-portal-rtl .semi-input-number {
  direction: rtl;
}
.semi-rtl .semi-input-number-suffix-btns,
.semi-portal-rtl .semi-input-number-suffix-btns {
  margin-left: auto;
  margin-right: 4px;
}
.semi-rtl .semi-input-number-suffix-btns-inner,
.semi-portal-rtl .semi-input-number-suffix-btns-inner {
  margin-left: auto;
  margin-right: 8px;
}
.semi-rtl .semi-input-number .semi-input-clearbtn + .semi-input-suffix,
.semi-portal-rtl .semi-input-number .semi-input-clearbtn + .semi-input-suffix {
  margin-left: auto;
  margin-right: -4px;
}
.semi-rtl .semi-input-number .semi-input-clearbtn + .semi-input-suffix .semi-input-number-suffix-btns-inner,
.semi-portal-rtl .semi-input-number .semi-input-clearbtn + .semi-input-suffix .semi-input-number-suffix-btns-inner {
  margin-left: auto;
  margin-right: 0;
}
/* shadow */
/* sizing */
/* spacing */
.semi-dropdown {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.semi-dropdown-wrapper {
  overflow-y: auto;
  box-shadow: var(--semi-shadow-elevated);
  position: relative;
  z-index: 1050;
  border-radius: var(--semi-border-radius-medium);
  background: var(--semi-color-bg-3);
  backdrop-filter: none;
  opacity: 0;
}
.semi-dropdown-wrapper-show {
  opacity: 1;
}
.semi-dropdown-trigger {
  display: inline-block;
}
.semi-dropdown-menu {
  list-style: none;
  padding: 4px 0;
  margin: 0;
}
.semi-dropdown-title {
  color: var(--semi-color-text-2);
  padding-top: 8px;
  padding-bottom: 4px;
  padding-left: 16px;
  padding-right: 16px;
  font-size: 12px;
  line-height: 16px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: default;
}
.semi-dropdown-title-withTick {
  padding-left: 31px;
}
.semi-dropdown-item {
  padding: 8px 16px;
  color: var(--semi-color-text-0);
  max-width: 280px;
  display: flex;
  align-items: center;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeOut) 0ms;
  border-radius: 0px;
}
.semi-dropdown-item-hover {
  background-color: var(--semi-color-fill-0);
}
.semi-dropdown-item:not(.semi-dropdown-item-active):hover {
  background-color: var(--semi-color-fill-0);
  cursor: pointer;
}
.semi-dropdown-item:not(.semi-dropdown-item-active):active {
  background-color: var(--semi-color-fill-1);
}
.semi-dropdown-item:focus-visible {
  background-color: var(--semi-color-fill-0);
  outline: 0;
}
.semi-dropdown-item-icon {
  display: inline-flex;
  align-items: center;
  margin-right: 8px;
}
.semi-dropdown-item-danger {
  color: var(--semi-color-danger);
}
.semi-dropdown-item-secondary {
  color: var(--semi-color-secondary);
}
.semi-dropdown-item-warning {
  color: var(--semi-color-warning);
}
.semi-dropdown-item-tertiary {
  color: var(--semi-color-tertiary);
}
.semi-dropdown-item-primary {
  color: var(--semi-color-primary);
}
.semi-dropdown-item-withTick {
  padding-left: 12px;
}
.semi-dropdown-item > .semi-icon {
  flex-shrink: 0;
  margin-right: 9px;
  font-size: 12px;
}
.semi-dropdown-item-active {
  font-weight: 600;
}
.semi-dropdown-item.semi-dropdown-item-disabled {
  color: var(--semi-color-disabled-text);
  cursor: not-allowed;
}
.semi-dropdown-item.semi-dropdown-item-disabled:hover, .semi-dropdown-item.semi-dropdown-item-disabled:active {
  cursor: not-allowed;
  background-color: transparent;
}
.semi-dropdown-divider {
  display: block;
  height: 1px;
  width: 100%;
  min-width: 100%;
  clear: both;
  background: var(--semi-color-border);
  margin: 4px 0;
}

.semi-rtl .semi-dropdown-wrapper,
.semi-portal-rtl .semi-dropdown-wrapper {
  direction: rtl;
}
.semi-rtl .semi-dropdown-title-withTick,
.semi-portal-rtl .semi-dropdown-title-withTick {
  padding-left: 0;
  padding-right: 31px;
}
.semi-rtl .semi-dropdown-item-withTick,
.semi-portal-rtl .semi-dropdown-item-withTick {
  padding-left: auto;
  padding-right: 12px;
}
.semi-rtl .semi-dropdown-item > .semi-icon,
.semi-portal-rtl .semi-dropdown-item > .semi-icon {
  margin-right: 0;
  margin-left: 9px;
}
/* shadow */
/* sizing */
/* spacing */
.semi-radio {
  box-sizing: border-box;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  position: relative;
  display: inline-flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  min-height: 20px;
  min-width: 16px;
  cursor: pointer;
  vertical-align: bottom;
  text-align: left;
}
.semi-radio.semi-radio-vertical {
  display: block;
}
.semi-radio input[type=checkbox],
.semi-radio input[type=radio] {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
}
.semi-radio:hover .semi-radio-inner-display {
  background: var(--semi-color-fill-0);
  border: solid 1px var(--semi-color-focus-border);
}
.semi-radio:hover.semi-radio-cardRadioGroup .semi-radio-inner-display {
  background: var(--semi-color-white);
}
.semi-radio:hover .semi-radio-inner-checked .semi-radio-inner-display {
  background: var(--semi-color-primary-hover);
  border-color: var(--semi-color-primary-hover);
}
.semi-radio:active .semi-radio-inner-display {
  background: var(--semi-color-fill-1);
}
.semi-radio:active.semi-radio-cardRadioGroup .semi-radio-inner-display {
  background: var(--semi-color-white);
}
.semi-radio:active .semi-radio-inner-checked .semi-radio-inner-display {
  background: var(--semi-color-primary-active);
  border-color: var(--semi-color-primary-active);
}
.semi-radio-buttonRadioComponent {
  padding: 4px;
  background: var(--semi-color-fill-0);
  border-radius: var(--semi-border-radius-small);
}
.semi-radio-buttonRadioGroup {
  position: relative;
  padding: 4px;
  border-radius: var(--semi-border-radius-small);
  line-height: 16px;
}
.semi-radio-buttonRadioGroup:not(:last-child) {
  padding-right: 0;
}
.semi-radio-buttonRadioGroup-small {
  padding: 2px 4px;
  line-height: 16px;
}
.semi-radio-buttonRadioGroup-large {
  padding: 4px;
  line-height: 20px;
}
.semi-radio-cardRadioGroup {
  flex-wrap: nowrap;
  border-radius: var(--semi-border-radius-small);
  padding: 12px 16px;
  background: transparent;
  border: 1px solid transparent;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
}
.semi-radio-cardRadioGroup .semi-radio-inner {
  flex-shrink: 0;
}
.semi-radio-cardRadioGroup .semi-radio-inner-display {
  background: var(--semi-color-white);
}
.semi-radio-cardRadioGroup .semi-radio-addon {
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: var(--semi-color-text-0);
}
.semi-radio-cardRadioGroup .semi-radio-extra {
  font-weight: normal;
  font-size: 14px;
  line-height: 20px;
  color: var(--semi-color-text-2);
  padding-left: 0;
}
.semi-radio-cardRadioGroup:active {
  background: var(--semi-color-fill-1);
}
.semi-radio-cardRadioGroup_checked {
  background: var(--semi-color-primary-light-default);
  border: 1px solid var(--semi-color-primary);
}
.semi-radio-cardRadioGroup_checked:hover {
  border: 1px solid var(--semi-color-primary-hover);
}
.semi-radio-cardRadioGroup_checked:hover .semi-radio-inner-checked .semi-radio-inner-display {
  border-color: var(--semi-color-primary-hover);
}
.semi-radio-cardRadioGroup_checked:active {
  background: var(--semi-color-primary-light-default);
  border: 1px solid var(--semi-color-primary-active);
}
.semi-radio-cardRadioGroup_checked:active .semi-radio-inner-checked .semi-radio-inner-display {
  border-color: var(--semi-color-primary-active);
}
.semi-radio-cardRadioGroup_checked:active .semi-radio-inner-checked:hover .semi-radio-inner-display {
  background: var(--semi-color-primary-active);
}
.semi-radio-cardRadioGroup_hover {
  background: var(--semi-color-fill-0);
}
.semi-radio-cardRadioGroup_disabled:active {
  background: transparent;
}
.semi-radio-cardRadioGroup_checked_disabled.semi-radio-cardRadioGroup {
  background: var(--semi-color-primary-light-default);
  border: 1px solid var(--semi-color-primary-disabled);
}
.semi-radio-cardRadioGroup_checked_disabled.semi-radio-cardRadioGroup .semi-radio-inner-checked .semi-radio-inner-display {
  border-color: var(--semi-color-primary-disabled);
}
.semi-radio-cardRadioGroup_checked_disabled.semi-radio-cardRadioGroup:hover .semi-radio-inner-checked .semi-radio-inner-display {
  border-color: var(--semi-color-primary-disabled);
}
.semi-radio.semi-radio-disabled:hover .semi-radio-inner-display, .semi-radio.semi-radio-disabled:active .semi-radio-inner-display {
  background: var(--semi-color-disabled-fill);
  border: solid 1px var(--semi-color-border);
}
.semi-radio.semi-radio-disabled:hover .semi-radio-inner-checked .semi-radio-inner-display, .semi-radio.semi-radio-disabled:active .semi-radio-inner-checked .semi-radio-inner-display {
  color: rgba(var(--semi-white), 1);
  background: var(--semi-color-primary-disabled);
  border-color: var(--semi-color-primary-disabled);
}
.semi-radio-inner {
  display: inline-flex;
  margin-top: 2px;
  position: relative;
  width: 16px;
  height: 16px;
  vertical-align: sub;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.semi-radio-inner-display {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
  border: solid 1px var(--semi-color-text-3);
  border-radius: 16px;
  background: transparent;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
}
.semi-radio-inner-display .semi-icon {
  width: 100%;
  height: 100%;
  font-size: 14px;
}
.semi-radio-content {
  display: flex;
  flex-direction: column;
  row-gap: 4px;
}
.semi-radio:hover .semi-radio-inner-display {
  background: var(--semi-color-fill-0);
}
.semi-radio:active .semi-radio-inner-display {
  background: var(--semi-color-fill-1);
}
.semi-radio-addon {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: var(--semi-color-text-0);
  display: inline-flex;
  align-items: center;
}
.semi-radio-addon-buttonRadio {
  text-align: center;
  border-radius: var(--semi-border-radius-small);
  font-weight: 600;
  color: var(--semi-color-text-1);
  font-size: 12px;
  padding: 4px 16px;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), border var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
}
.semi-radio-addon-buttonRadio-hover {
  font-weight: 600;
  background: var(--semi-color-fill-1);
}
.semi-radio-addon-buttonRadio-checked {
  font-weight: 600;
  background: var(--semi-color-bg-3);
  color: var(--semi-color-primary);
}
.semi-radio-addon-buttonRadio-disabled {
  cursor: not-allowed;
  color: var(--semi-color-disabled-text);
}
.semi-radio-addon-buttonRadio-small {
  font-size: 12px;
  padding: 2px 16px;
}
.semi-radio-addon-buttonRadio-large {
  font-size: 14px;
  padding: 6px 24px;
}
.semi-radio .semi-radio-inner-checked:hover .semi-radio-inner-display {
  background: var(--semi-color-primary-hover);
}
.semi-radio .semi-radio-inner-checked:active .semi-radio-inner-display {
  background: var(--semi-color-primary-active);
}
.semi-radio .semi-radio-inner-checked .semi-radio-inner-display {
  border: solid 1px var(--semi-color-primary);
  background: var(--semi-color-primary);
  color: rgba(var(--semi-white), 1);
  border-radius: 16px;
}
.semi-radio .semi-radio-inner-checked > .semi-radio-addon {
  color: var(--semi-color-text-0);
}
.semi-radio .semi-radio-inner-buttonRadio,
.semi-radio .semi-radio-inner-pureCardRadio {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin-top: 0;
  z-index: -1;
  opacity: 0;
}
.semi-radio-disabled, .semi-radio-disabled:hover {
  cursor: not-allowed;
}
.semi-radio-disabled .semi-radio-inner {
  cursor: not-allowed;
}
.semi-radio-disabled .semi-radio-inner-display {
  opacity: 0.75;
  background: var(--semi-color-disabled-fill);
  border-color: var(--semi-color-border);
}
.semi-radio-disabled .semi-radio-inner-display:hover {
  background: transparent;
}
.semi-radio-disabled .semi-radio-inner-checked .semi-radio-inner-display {
  color: rgba(var(--semi-white), 1);
  background: var(--semi-color-primary-disabled);
  border-color: var(--semi-color-primary-disabled);
}
.semi-radio-disabled .semi-radio-inner-checked .semi-radio-inner-display:hover {
  color: rgba(var(--semi-white), 1);
  background: var(--semi-color-primary-disabled);
  border-color: var(--semi-color-primary-disabled);
}
.semi-radio-disabled .semi-radio-addon {
  color: var(--semi-color-disabled-text);
}
.semi-radio-disabled .semi-radio-extra {
  color: var(--semi-color-disabled-text);
}
.semi-radio-extra {
  color: var(--semi-color-text-2);
  box-sizing: border-box;
}
.semi-radio-focus {
  outline: 2px solid var(--semi-color-primary-light-active);
}
.semi-radio-focus-border {
  border: solid 1px var(--semi-color-focus-border);
}

.semi-radioGroup {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.semi-radioGroup-vertical {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}
.semi-radioGroup-vertical-default .semi-radio {
  display: flex;
}
.semi-radioGroup-vertical-card .semi-radio {
  display: flex;
}
.semi-radioGroup-horizontal {
  display: inline-flex;
  flex-wrap: wrap;
  vertical-align: bottom;
  gap: 16px;
}
.semi-radioGroup-buttonRadio {
  display: inline-block;
  background: var(--semi-color-fill-0);
  border-radius: var(--semi-border-radius-small);
  vertical-align: middle;
}

.semi-rtl .semi-radio,
.semi-portal-rtl .semi-radio {
  direction: rtl;
}
.semi-rtl .semi-radio input[type=checkbox],
.semi-rtl .semi-radio input[type=radio],
.semi-portal-rtl .semi-radio input[type=checkbox],
.semi-portal-rtl .semi-radio input[type=radio] {
  left: auto;
  right: 0;
}
.semi-rtl .semi-radio-buttonRadioGroup:not(:last-child),
.semi-portal-rtl .semi-radio-buttonRadioGroup:not(:last-child) {
  padding-left: 0;
}
.semi-rtl .semi-radioGroup,
.semi-portal-rtl .semi-radioGroup {
  direction: rtl;
}
/* shadow */
/* sizing */
/* spacing */
.semi-tabs {
  box-sizing: border-box;
  position: relative;
}
.semi-tabs-left {
  display: flex;
  flex-direction: row;
}
.semi-tabs-bar {
  position: relative;
  white-space: nowrap;
  outline: none;
}
.semi-tabs-bar-left {
  display: flex;
  flex-direction: column;
}
.semi-tabs-bar-extra {
  padding: 0px 5px;
}
.semi-tabs-bar-more-trigger {
  display: inline-block;
  cursor: pointer;
  color: var(--semi-color-text-2);
}
.semi-tabs-bar-more-trigger-content {
  display: flex;
  align-content: center;
}
.semi-tabs-bar-more-trigger-content-icon:not(:not(.semi-tabs-bar-more-trigger-content-icon)) {
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 8px;
  margin-right: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.semi-tabs-bar-more-trigger-line {
  padding: 16px 4px 14px 4px;
}
.semi-tabs-bar-more-trigger-card {
  padding: 8px 12px;
}
.semi-tabs-bar-more-trigger-button {
  padding: 8px 12px;
}
.semi-tabs-bar .semi-tabs-tab {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: pointer;
  box-sizing: border-box;
  position: relative;
  display: block;
  float: left;
  font-weight: 400;
  color: var(--semi-color-text-2);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.semi-tabs-bar .semi-tabs-tab .semi-icon:not(.semi-icon-checkbox_tick, .semi-icon-radio, .semi-icon-checkbox_indeterminate) {
  position: relative;
  margin-right: 8px;
  top: 3px;
  color: var(--semi-color-text-2);
  transition: color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
}
.semi-tabs-bar .semi-tabs-tab .semi-icon.semi-tabs-tab-icon-close {
  margin-right: 0;
  font-size: 14px;
  color: var(--semi-color-text-2);
  margin-left: 10px;
  cursor: pointer;
}
.semi-tabs-bar .semi-tabs-tab:hover {
  color: var(--semi-color-text-0);
}
.semi-tabs-bar .semi-tabs-tab:hover .semi-icon:not(.semi-icon-checkbox_tick, .semi-icon-radio, .semi-icon-checkbox_indeterminate) {
  color: var(--semi-color-text-0);
}
.semi-tabs-bar .semi-tabs-tab:active {
  color: var(--semi-color-text-0);
}
.semi-tabs-bar .semi-tabs-tab:active .semi-icon:not(.semi-icon-checkbox_tick, .semi-icon-radio, .semi-icon-checkbox_indeterminate) {
  color: var(--semi-color-text-0);
}
.semi-tabs-bar .semi-tabs-tab-active, .semi-tabs-bar .semi-tabs-tab-active:hover {
  cursor: default;
  font-weight: 600;
  color: var(--semi-color-text-0);
}
.semi-tabs-bar .semi-tabs-tab-active .semi-icon:not(.semi-icon-checkbox_tick, .semi-icon-radio, .semi-icon-checkbox_indeterminate), .semi-tabs-bar .semi-tabs-tab-active:hover .semi-icon:not(.semi-icon-checkbox_tick, .semi-icon-radio, .semi-icon-checkbox_indeterminate) {
  color: var(--semi-color-primary);
}
.semi-tabs-bar .semi-tabs-tab-active .semi-icon.semi-tabs-tab-icon-close, .semi-tabs-bar .semi-tabs-tab-active:hover .semi-icon.semi-tabs-tab-icon-close {
  color: var(--semi-color-text-2);
}
.semi-tabs-bar .semi-tabs-tab-active .semi-icon.semi-tabs-tab-icon-close:hover {
  color: var(--semi-color-text-1);
}
.semi-tabs-bar .semi-tabs-tab-disabled {
  cursor: not-allowed;
  color: var(--semi-color-disabled-text);
}
.semi-tabs-bar .semi-tabs-tab-disabled:hover {
  color: var(--semi-color-disabled-text);
  border-bottom: none;
}
.semi-tabs-tab-single.semi-tabs-tab {
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: pointer;
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  font-weight: 400;
  color: var(--semi-color-text-2);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.semi-tabs-tab-single.semi-tabs-tab .semi-icon:not(.semi-icon-checkbox_tick, .semi-icon-radio, .semi-icon-checkbox_indeterminate) {
  position: relative;
  margin-right: 8px;
  top: 3px;
  color: var(--semi-color-text-2);
  transition: color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
}
.semi-tabs-tab-single.semi-tabs-tab .semi-icon.semi-tabs-tab-icon-close {
  margin-right: 0;
  font-size: 14px;
  color: var(--semi-color-text-2);
  margin-left: 10px;
  cursor: pointer;
}
.semi-tabs-tab-single.semi-tabs-tab .semi-icon.semi-tabs-tab-icon-close.semi-icon-close:hover {
  color: var(--semi-color-text-0);
}
.semi-tabs-tab-single.semi-tabs-tab:hover {
  color: var(--semi-color-text-0);
}
.semi-tabs-tab-single.semi-tabs-tab:hover .semi-icon:not(.semi-icon-checkbox_tick, .semi-icon-radio, .semi-icon-checkbox_indeterminate) {
  color: var(--semi-color-text-0);
}
.semi-tabs-tab-single.semi-tabs-tab:hover .semi-icon.semi-tabs-tab-icon-close {
  color: var(--semi-color-text-2);
}
.semi-tabs-tab-single.semi-tabs-tab:active {
  color: var(--semi-color-text-0);
}
.semi-tabs-tab-single.semi-tabs-tab:active .semi-icon:not(.semi-icon-checkbox_tick, .semi-icon-radio, .semi-icon-checkbox_indeterminate) {
  color: var(--semi-color-text-0);
}
.semi-tabs-tab-single.semi-tabs-tab:active .semi-icon.semi-tabs-tab-icon-close {
  color: var(--semi-color-text-2);
}
.semi-tabs-tab-single.semi-tabs-tab-active, .semi-tabs-tab-single.semi-tabs-tab-active:hover {
  cursor: default;
  font-weight: 600;
  color: var(--semi-color-text-0);
}
.semi-tabs-tab-single.semi-tabs-tab-active .semi-icon:not(.semi-icon-checkbox_tick, .semi-icon-radio, .semi-icon-checkbox_indeterminate), .semi-tabs-tab-single.semi-tabs-tab-active:hover .semi-icon:not(.semi-icon-checkbox_tick, .semi-icon-radio, .semi-icon-checkbox_indeterminate) {
  color: var(--semi-color-primary);
}
.semi-tabs-tab-single.semi-tabs-tab-active .semi-icon.semi-tabs-tab-icon-close, .semi-tabs-tab-single.semi-tabs-tab-active:hover .semi-icon.semi-tabs-tab-icon-close {
  color: var(--semi-color-text-2);
}
.semi-tabs-tab-single.semi-tabs-tab-active .semi-icon.semi-tabs-tab-icon-close:hover {
  color: var(--semi-color-text-1);
}
.semi-tabs-tab-single.semi-tabs-tab-disabled {
  cursor: not-allowed;
  color: var(--semi-color-disabled-text);
}
.semi-tabs-tab-single.semi-tabs-tab-disabled:hover {
  color: var(--semi-color-disabled-text);
  border-bottom: none;
}
.semi-tabs-bar-collapse,
.semi-tabs-bar-collapse .semi-tabs-bar-overflow-list {
  display: flex;
  align-items: center;
}
.semi-tabs-bar-collapse .semi-overflow-list {
  flex: 1 1;
}
.semi-tabs-bar-collapse .semi-overflow-list .semi-overflow-list-scroll-wrapper {
  -ms-overflow-style: none; /* Internet Explorer 10+ */
  scrollbar-width: none; /* Firefox */
}
.semi-tabs-bar-collapse .semi-overflow-list .semi-overflow-list-scroll-wrapper::-webkit-scrollbar {
  display: none; /* Safari and Chrome */
  width: 0;
  height: 0;
}
.semi-tabs-bar-collapse .semi-overflow-list .semi-overflow-list-scroll-wrapper:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
  outline-offset: -2px;
}
.semi-tabs-bar-collapse .semi-overflow-list > .semi-button-disabled {
  color: var(--semi-color-disabled-text);
  background-color: transparent;
}
.semi-tabs-bar-collapse .semi-overflow-list > .semi-button-disabled:hover {
  color: var(--semi-color-disabled-text);
  background-color: transparent;
}
.semi-tabs-bar-collapse .semi-tabs-bar-arrow-start {
  margin-right: 4px;
}
.semi-tabs-bar-collapse .semi-tabs-bar-arrow-start > .semi-button[aria-disabled=false] {
  color: var(--semi-color-primary);
  padding: 8px;
  border: 0px solid transparent;
  background-color: transparent;
}
.semi-tabs-bar-collapse .semi-tabs-bar-arrow-start > .semi-button[aria-disabled=false]:hover {
  background-color: var(--semi-color-fill-0);
  color: var(--semi-color-primary);
  border-color: transparent;
}
.semi-tabs-bar-collapse .semi-tabs-bar-arrow-start > .semi-button[aria-disabled=false]:active {
  background-color: var(--semi-color-fill-1);
  color: var(--semi-color-primary);
  border-color: transparent;
}
.semi-tabs-bar-collapse .semi-tabs-bar-arrow-end {
  margin-left: 4px;
}
.semi-tabs-bar-collapse .semi-tabs-bar-arrow-end > .semi-button[aria-disabled=false] {
  color: var(--semi-color-primary);
  padding: 8px;
  border: 0px solid transparent;
  background-color: transparent;
}
.semi-tabs-bar-collapse .semi-tabs-bar-arrow-end > .semi-button[aria-disabled=false]:hover {
  background-color: var(--semi-color-fill-0);
  color: var(--semi-color-primary);
  border-color: transparent;
}
.semi-tabs-bar-collapse .semi-tabs-bar-arrow-end > .semi-button[aria-disabled=false]:active {
  background-color: var(--semi-color-fill-1);
  color: var(--semi-color-primary);
  border-color: transparent;
}
.semi-tabs-bar-dropdown {
  max-height: 300px;
  overflow-y: auto;
}
.semi-tabs-bar:after {
  content: "";
  height: 0;
  display: block;
  clear: both;
}
.semi-tabs-bar-line.semi-tabs-bar-top {
  border-bottom: 1px solid var(--semi-color-border);
  transition: color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab {
  padding: 16px 4px 14px 4px;
  transition: border-bottom-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  border-bottom: 2px solid transparent;
}
.semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab:nth-of-type(1) {
  padding-left: 0;
}
.semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab:hover {
  border-bottom: 2px solid var(--semi-color-fill-0);
}
.semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
  outline-offset: -1px;
}
.semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab:active {
  border-bottom: 2px solid var(--semi-color-fill-1);
}
.semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab:not(:last-of-type) {
  margin-right: 24px;
}
.semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab-small {
  padding: 8px 4px 6px 4px;
}
.semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab-medium {
  padding: 12px 4px 10px 4px;
}
.semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab-active, .semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab-active:hover {
  border-bottom: 2px solid var(--semi-color-primary);
}
.semi-tabs-bar-line.semi-tabs-bar-left {
  border-right: 1px solid var(--semi-color-border);
}
.semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab {
  padding: 12px;
  border-left: 2px solid transparent;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
}
.semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab:hover {
  border-left: 2px solid var(--semi-color-fill-0);
  background-color: var(--semi-color-fill-0);
}
.semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
  outline-offset: -2px;
}
.semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab:active {
  border-left: 2px solid var(--semi-color-fill-1);
  background-color: var(--semi-color-fill-1);
}
.semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab-small {
  padding: 6px;
}
.semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab-medium {
  padding: 10px;
}
.semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab-active {
  background-color: var(--semi-color-primary-light-default);
}
.semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab-active, .semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab-active:hover {
  border-left: 2px solid var(--semi-color-primary);
  background-color: var(--semi-color-primary-light-default);
}
.semi-tabs-bar-line .semi-tabs-bar-extra {
  height: 50px;
  line-height: 50px;
}
.semi-tabs-bar-line .semi-tabs-bar-line-extra-small {
  height: 36px;
  line-height: 36px;
}
.semi-tabs-bar-card.semi-tabs-bar-top::before {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  border-bottom: 1px solid var(--semi-color-border);
  content: "";
}
.semi-tabs-bar-card.semi-tabs-bar-top .semi-tabs-tab {
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: var(--semi-border-radius-small) var(--semi-border-radius-small) 0 0;
}
.semi-tabs-bar-card.semi-tabs-bar-top .semi-tabs-tab:hover {
  border-bottom: none;
}
.semi-tabs-bar-card.semi-tabs-bar-top .semi-tabs-tab:not(:last-of-type) {
  margin-right: 8px;
}
.semi-tabs-bar-card.semi-tabs-bar-top .semi-tabs-tab-active, .semi-tabs-bar-card.semi-tabs-bar-top .semi-tabs-tab-active:hover {
  padding: 8px 12px 7px 12px;
  border: 1px solid var(--semi-color-border);
  border-bottom: 1px solid var(--semi-color-bg-1);
  background: transparent;
}
.semi-tabs-bar-card.semi-tabs-bar-left {
  border-right: 1px solid var(--semi-color-border);
}
.semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab {
  border: 1px solid transparent;
  border-right: none;
  border-radius: var(--semi-border-radius-small) 0 0 var(--semi-border-radius-small);
}
.semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab:hover {
  border-right: none;
}
.semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab:not(:last-of-type) {
  margin-bottom: 8px;
}
.semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab-active:after {
  content: " ";
  width: 1px;
  position: absolute;
  right: -1px;
  top: 0;
  bottom: 0;
  background: var(--semi-color-bg-1);
}
.semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab-active, .semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab-active:hover {
  padding: 8px 12px;
  border: 1px solid var(--semi-color-border);
  border-right: none;
  background: transparent;
}
.semi-tabs-bar-card .semi-tabs-tab {
  padding: 8px 12px;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-tabs-bar-card .semi-tabs-tab:hover {
  background: var(--semi-color-fill-0);
}
.semi-tabs-bar-card .semi-tabs-tab:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
  outline-offset: -2px;
}
.semi-tabs-bar-card .semi-tabs-tab:active {
  background: var(--semi-color-fill-1);
}
.semi-tabs-bar-button {
  border: none;
}
.semi-tabs-bar-button.semi-tabs-bar-left .semi-tabs-tab:not(:last-of-type) {
  margin-bottom: 8px;
}
.semi-tabs-bar-button.semi-tabs-bar-top .semi-tabs-tab:not(:last-of-type) {
  margin-right: 8px;
}
.semi-tabs-bar-button .semi-tabs-tab {
  padding: 8px 12px;
  border-radius: var(--semi-border-radius-small);
  color: var(--semi-color-text-2);
  border: none;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-tabs-bar-button .semi-tabs-tab:hover {
  border: none;
  background-color: var(--semi-color-fill-0);
}
.semi-tabs-bar-button .semi-tabs-tab:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
  outline-offset: -2px;
}
.semi-tabs-bar-button .semi-tabs-tab:active {
  background-color: var(--semi-color-fill-1);
}
.semi-tabs-bar-button .semi-tabs-tab-active, .semi-tabs-bar-button .semi-tabs-tab-active:hover {
  color: var(--semi-color-primary);
  border: none;
  background-color: var(--semi-color-primary-light-default);
}
.semi-tabs-bar-slash .semi-tabs-tab {
  padding: 12px 0px;
}
.semi-tabs-bar-slash .semi-tabs-tab:nth-of-type(1) {
  padding-left: 0;
}
.semi-tabs-bar-slash .semi-tabs-tab:not(:last-of-type) {
  margin-right: 16px;
}
.semi-tabs-bar-slash .semi-tabs-tab:not(:last-of-type):after {
  content: "";
  margin-left: 16px;
  display: inline-block;
  height: 14px;
  width: 8px;
  margin-top: 3px;
  margin-bottom: 3px;
  vertical-align: bottom;
  background: linear-gradient(to bottom right, transparent 0%, transparent calc(50% - 1px), var(--semi-color-text-2) 50%, transparent calc(50% + 1px), transparent 100%);
}
.semi-tabs-content {
  width: 100%;
  padding: 5px 0;
}
.semi-tabs-content-left {
  height: 100%;
  padding: 0 5px;
}
.semi-tabs-pane {
  width: 100%;
  overflow: hidden;
  color: var(--semi-color-text-0);
}
.semi-tabs-pane:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
}
.semi-tabs-pane-inactive, .semi-tabs-content-no-animated .semi-tabs-pane-inactive {
  display: none;
}
@keyframes semi-tabs-panel-keyframe-leftShow {
  0% {
    transform: translateX(60px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes semi-tabs-panel-keyframe-rightShow {
  0% {
    transform: translateX(-60px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes semi-tabs-panel-keyframe-topShow {
  0% {
    transform: translateY(60px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes semi-tabs-panel-keyframe-bottomShow {
  0% {
    transform: translateY(-60px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.semi-tabs-pane-animate-leftShow {
  animation: 200ms semi-tabs-panel-keyframe-leftShow ease-in-out 0s;
  animation-fill-mode: forwards;
}
.semi-tabs-pane-animate-rightShow {
  animation: 200ms semi-tabs-panel-keyframe-rightShow ease-in-out 0s;
  animation-fill-mode: forwards;
}
.semi-tabs-pane-animate-topShow {
  animation: 200ms semi-tabs-panel-keyframe-topShow ease-in-out 0s;
  animation-fill-mode: forwards;
}
.semi-tabs-pane-animate-bottomShow {
  animation: 200ms semi-tabs-panel-keyframe-bottomShow ease-in-out 0s;
  animation-fill-mode: forwards;
}
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab {
  font-size: 14px;
  padding: 16px 4px 14px 4px;
  transition: border-bottom-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  border-bottom: 2px solid transparent;
}
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab:nth-of-type(1) {
  padding-left: 0;
}
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab:hover {
  border-bottom: 2px solid var(--semi-color-fill-0);
}
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
  outline-offset: -1px;
}
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab:active {
  border-bottom: 2px solid var(--semi-color-fill-1);
}
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-small {
  font-size: 14px;
  padding: 8px 4px 6px 4px;
}
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-medium {
  font-size: 14px;
  padding: 12px 4px 10px 4px;
}
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-active, .semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-active:hover {
  border-bottom: 2px solid var(--semi-color-primary);
}
.semi-tabs-tab-line.semi-tabs-tab-left.semi-tabs-tab {
  padding: 12px;
  border-left: 2px solid transparent;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
}
.semi-tabs-tab-line.semi-tabs-tab-left.semi-tabs-tab:hover {
  border-left: 2px solid var(--semi-color-fill-0);
  background-color: var(--semi-color-fill-0);
}
.semi-tabs-tab-line.semi-tabs-tab-left.semi-tabs-tab:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
  outline-offset: -2px;
}
.semi-tabs-tab-line.semi-tabs-tab-left.semi-tabs-tab:active {
  border-left: 2px solid var(--semi-color-fill-1);
  background-color: var(--semi-color-fill-1);
}
.semi-tabs-tab-line.semi-tabs-tab-left.semi-tabs-tab-small {
  padding: 6px;
}
.semi-tabs-tab-line.semi-tabs-tab-left.semi-tabs-tab-medium {
  padding: 10px;
}
.semi-tabs-tab-line.semi-tabs-tab-left.semi-tabs-tab-active {
  background-color: var(--semi-color-primary-light-default);
}
.semi-tabs-tab-line.semi-tabs-tab-left.semi-tabs-tab-active, .semi-tabs-tab-line.semi-tabs-tab-left.semi-tabs-tab-active:hover {
  border-left: 2px solid var(--semi-color-primary);
  background-color: var(--semi-color-primary-light-default);
}
.semi-tabs-tab-card.semi-tabs-tab-top.semi-tabs-tab {
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: var(--semi-border-radius-small) var(--semi-border-radius-small) 0 0;
}
.semi-tabs-tab-card.semi-tabs-tab-top.semi-tabs-tab:hover {
  border-bottom: none;
}
.semi-tabs-tab-card.semi-tabs-tab-top.semi-tabs-tab-active, .semi-tabs-tab-card.semi-tabs-tab-top.semi-tabs-tab-active:hover {
  padding: 8px 12px 7px 12px;
  border: 1px solid var(--semi-color-border);
  border-bottom: 1px solid var(--semi-color-bg-1);
  background: transparent;
}
.semi-tabs-tab-card.semi-tabs-tab-left.semi-tabs-tab {
  border: 1px solid transparent;
  border-right: none;
  border-radius: var(--semi-border-radius-small) 0 0 var(--semi-border-radius-small);
}
.semi-tabs-tab-card.semi-tabs-tab-left.semi-tabs-tab:hover {
  border-right: none;
}
.semi-tabs-tab-card.semi-tabs-tab-left.semi-tabs-tab-active:after {
  content: " ";
  width: 1px;
  position: absolute;
  right: -1px;
  top: 0;
  bottom: 0;
  background: var(--semi-color-bg-1);
}
.semi-tabs-tab-card.semi-tabs-tab-left.semi-tabs-tab-active, .semi-tabs-tab-card.semi-tabs-tab-left.semi-tabs-tab-active:hover {
  padding: 8px 12px;
  border: 1px solid var(--semi-color-border);
  border-right: none;
  background: transparent;
}
.semi-tabs-tab-card.semi-tabs-tab {
  padding: 8px 12px;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-tabs-tab-card.semi-tabs-tab:hover {
  background: var(--semi-color-fill-0);
}
.semi-tabs-tab-card.semi-tabs-tab:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
  outline-offset: -2px;
}
.semi-tabs-tab-card.semi-tabs-tab:active {
  background: var(--semi-color-fill-1);
}
.semi-tabs-tab-button {
  border: none;
}
.semi-tabs-tab-button.semi-tabs-tab {
  padding: 8px 12px;
  border-radius: var(--semi-border-radius-small);
  color: var(--semi-color-text-2);
  border: none;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: scale(var(--semi-transform_scale-none));
}
.semi-tabs-tab-button.semi-tabs-tab:hover {
  border: none;
  background-color: var(--semi-color-fill-0);
}
.semi-tabs-tab-button.semi-tabs-tab:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
  outline-offset: -2px;
}
.semi-tabs-tab-button.semi-tabs-tab:active {
  background-color: var(--semi-color-fill-1);
}
.semi-tabs-tab-button.semi-tabs-tab-active, .semi-tabs-tab-button.semi-tabs-tab-active:hover {
  color: var(--semi-color-primary);
  border: none;
  background-color: var(--semi-color-primary-light-default);
}

.semi-rtl .semi-tabs,
.semi-portal-rtl .semi-tabs {
  direction: rtl;
}
.semi-rtl .semi-tabs-bar .semi-tabs-tab,
.semi-portal-rtl .semi-tabs-bar .semi-tabs-tab {
  float: right;
}
.semi-rtl .semi-tabs-bar .semi-tabs-tab .semi-icon,
.semi-portal-rtl .semi-tabs-bar .semi-tabs-tab .semi-icon {
  margin-right: 0;
  margin-left: 8px;
}
.semi-rtl .semi-tabs-bar-collapse .semi-tabs-bar-arrow-start,
.semi-portal-rtl .semi-tabs-bar-collapse .semi-tabs-bar-arrow-start {
  margin-right: 0;
  margin-left: 4px;
}
.semi-rtl .semi-tabs-bar-collapse .semi-tabs-bar-arrow-end,
.semi-portal-rtl .semi-tabs-bar-collapse .semi-tabs-bar-arrow-end {
  margin-left: 0;
  margin-right: 4px;
}
.semi-rtl .semi-tabs-bar-collapse .semi-icon-chevron_right,
.semi-rtl .semi-tabs-bar-collapse .semi-icon-chevron_left,
.semi-portal-rtl .semi-tabs-bar-collapse .semi-icon-chevron_right,
.semi-portal-rtl .semi-tabs-bar-collapse .semi-icon-chevron_left {
  transform: scaleX(-1);
}
.semi-rtl .semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab:not(:last-of-type),
.semi-portal-rtl .semi-tabs-bar-line.semi-tabs-bar-top .semi-tabs-tab:not(:last-of-type) {
  margin-right: 0;
  margin-left: 24px;
}
.semi-rtl .semi-tabs-bar-line.semi-tabs-bar-left,
.semi-portal-rtl .semi-tabs-bar-line.semi-tabs-bar-left {
  border-right: 0;
  border-left: 1px solid var(--semi-color-border);
}
.semi-rtl .semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab,
.semi-portal-rtl .semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab {
  border-left: 0;
  border-right: 2px solid transparent;
}
.semi-rtl .semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab:hover,
.semi-portal-rtl .semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab:hover {
  border-left: 0;
  border-right: 2px solid var(--semi-color-fill-0);
}
.semi-rtl .semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab:active,
.semi-portal-rtl .semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab:active {
  border-left: 0;
  border-right: 2px solid var(--semi-color-fill-1);
}
.semi-rtl .semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab-active, .semi-rtl .semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab-active:hover,
.semi-portal-rtl .semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab-active,
.semi-portal-rtl .semi-tabs-bar-line.semi-tabs-bar-left .semi-tabs-tab-active:hover {
  border-left: 0;
  border-right: 2px solid var(--semi-color-primary);
}
.semi-rtl .semi-tabs-bar-card.semi-tabs-bar-top .semi-tabs-tab:not(:last-of-type),
.semi-portal-rtl .semi-tabs-bar-card.semi-tabs-bar-top .semi-tabs-tab:not(:last-of-type) {
  margin-left: 0;
  margin-right: 8px;
}
.semi-rtl .semi-tabs-bar-card.semi-tabs-bar-left,
.semi-portal-rtl .semi-tabs-bar-card.semi-tabs-bar-left {
  border-right: 0;
  border-left: 1px solid var(--semi-color-border);
}
.semi-rtl .semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab,
.semi-portal-rtl .semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab {
  border: 1px solid transparent;
  border-left: none;
}
.semi-rtl .semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab:hover,
.semi-portal-rtl .semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab:hover {
  border-left: none;
}
.semi-rtl .semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab-active:after,
.semi-portal-rtl .semi-tabs-bar-card.semi-tabs-bar-left .semi-tabs-tab-active:after {
  right: auto;
  left: -1px;
}
.semi-rtl .semi-tabs-bar-button.semi-tabs-bar-top .semi-tabs-tab:not(:last-of-type),
.semi-portal-rtl .semi-tabs-bar-button.semi-tabs-bar-top .semi-tabs-tab:not(:last-of-type) {
  margin-right: auto;
  margin-left: 8px;
}
/* shadow */
/* sizing */
/* spacing */
.semi-toast {
  pointer-events: none;
}
.semi-toast-wrapper {
  position: fixed;
  height: 0;
  top: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 1010;
}
.semi-toast-wrapper .semi-toast-innerWrapper {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  text-align: center;
}
.semi-toast-wrapper .semi-toast-innerWrapper-hover .semi-toast-zero-height-wrapper {
  perspective: none;
  perspective: initial;
  perspective-origin: center center;
}
.semi-toast-zero-height-wrapper {
  transition: all 300ms cubic-bezier(0.22, 0.57, 0.02, 1.2);
  perspective-origin: center 280px;
  perspective: 280px;
  height: 0;
  overflow: visible;
}
.semi-toast-content {
  pointer-events: all;
  box-shadow: var(--semi-shadow-elevated);
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-color: var(--semi-color-bg-3);
  border-radius: var(--semi-border-radius-medium);
  padding: 12px 8px 12px 8px;
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  margin: 12px;
  font-weight: 600;
  color: var(--semi-color-text-0);
}
.semi-toast-content .semi-toast-close-button {
  margin-top: -2px;
  height: 20px;
}
.semi-toast-content .semi-toast-content-text {
  margin-left: 12px;
  margin-right: 12px;
  text-align: left;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.semi-toast-light.semi-toast-warning .semi-toast-content {
  background-color: var(--semi-color-warning-light-default);
  border: 1px solid var(--semi-color-warning);
}
.semi-toast-light.semi-toast-warning .semi-toast-icon-warning {
  color: var(--semi-color-warning);
}
.semi-toast-light.semi-toast-success .semi-toast-content {
  background-color: var(--semi-color-success-light-default);
  border: 1px solid var(--semi-color-success);
}
.semi-toast-light.semi-toast-success .semi-toast-icon-success {
  color: var(--semi-color-success);
}
.semi-toast-light.semi-toast-info .semi-toast-content {
  background-color: var(--semi-color-info-light-default);
  border: 1px solid var(--semi-color-info);
}
.semi-toast-light.semi-toast-info .semi-toast-icon-info {
  color: var(--semi-color-info);
}
.semi-toast-light.semi-toast-error .semi-toast-content {
  background-color: var(--semi-color-danger-light-default);
  border: 1px solid var(--semi-color-danger);
}
.semi-toast-light.semi-toast-error .semi-toast-icon-error {
  color: var(--semi-color-danger);
}
.semi-toast .semi-toast-icon-warning {
  color: var(--semi-color-warning);
}
.semi-toast .semi-toast-icon-success {
  color: var(--semi-color-success);
}
.semi-toast .semi-toast-icon-info {
  color: var(--semi-color-info);
}
.semi-toast .semi-toast-icon-error {
  color: var(--semi-color-danger);
}
.semi-toast-animation-show {
  animation: 300ms semi-toast-keyframe-toast-show cubic-bezier(0.22, 0.57, 0.02, 1.2) 0s;
  animation-fill-mode: forwards;
}
.semi-toast-animation-hide {
  animation: 300ms semi-toast-keyframe-toast-hide cubic-bezier(0.22, 0.57, 0.02, 1.2) 0s;
  animation-fill-mode: forwards;
}
@keyframes semi-toast-keyframe-toast-show {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
  }
}
@keyframes semi-toast-keyframe-toast-hide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-100%);
  }
}

.semi-toast-rtl {
  direction: rtl;
}
.semi-toast-rtl .semi-toast-content .semi-toast-content-text {
  text-align: right;
  margin-left: 12px;
  margin-right: 12px;
}
/* shadow */
/* sizing */
/* spacing */
.semi-divider {
  margin: 1px 0px 1px 0px;
  border-bottom: 1px solid var(--semi-color-border);
  color: var(--semi-color-text-0);
  box-sizing: border-box;
}
.semi-divider-dashed {
  border-bottom-style: dashed;
}
.semi-divider-horizontal {
  width: 100%;
  display: flex;
}
.semi-divider-vertical {
  border-bottom: 0;
  display: inline-block;
  margin: 0px 1px 0px 1px;
  border-left: 1px solid var(--semi-color-border);
  height: 20px;
  vertical-align: middle;
}
.semi-divider-with-text {
  display: flex;
  border-bottom: 0;
  white-space: nowrap;
  align-items: center;
}
.semi-divider-with-text .semi-divider_inner-text {
  font-weight: 600;
  padding: 0px 8px 0px 8px;
  display: inline-block;
}
.semi-divider-with-text::before, .semi-divider-with-text::after {
  content: "";
  width: 50%;
  border-bottom: 1px solid var(--semi-color-border);
}
.semi-divider-with-text-left::before {
  width: 40px;
}
.semi-divider-with-text-left::after {
  flex: 1 1;
}
.semi-divider-with-text-right::before {
  flex: 1 1;
}
.semi-divider-with-text-right::after {
  width: 40px;
}

.semi-divider-dashed::before, .semi-divider-dashed::after {
  border-bottom: 1px dashed var(--semi-color-border);
}

.semi-divider-vertical.semi-divider-dashed {
  border-left: 1px dashed var(--semi-color-border);
}
/* shadow */
/* sizing */
/* spacing */
.semi-slider {
  padding: 0px 13px;
  margin: 0px;
}
.semi-slider-wrapper {
  box-sizing: border-box;
  position: relative;
  height: 32px;
  width: 100%;
  display: inline-block;
  vertical-align: bottom;
}
.semi-slider-rail {
  box-sizing: border-box;
  margin: 0px;
  padding: 0px;
  color: rgba(0, 0, 0, 0.65);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5;
  list-style: none;
  font-feature-settings: "tnum";
  position: absolute;
  height: 4px;
  cursor: pointer;
  touch-action: none;
  background-color: var(--semi-color-fill-0);
  width: 100%;
  border-radius: var(--semi-border-radius-small);
  top: 14px;
}
.semi-slider-handle {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 0 1px rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
  touch-action: none;
  position: absolute;
  width: 24px;
  height: 24px;
  margin-top: 4px;
  background-color: var(--semi-color-white);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
  transform: var(--semi-transform_scale-small) translateX(-50%) translateY(0px);
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.semi-slider-handle:focus-visible {
  outline: 2px solid var(--semi-color-primary-light-active);
}
.semi-slider-handle-dot {
  background: var(--semi-color-primary);
  width: 4px;
  height: 4px;
  border-radius: var(--semi-border-radius-circle);
}
.semi-slider-handle:hover {
  background-color: var(--semi-color-white);
}
.semi-slider-handle-clicked {
  border: solid 1px var(--semi-color-focus-border);
  cursor: grabbing;
}
.semi-slider-track {
  height: 4px;
  background: var(--semi-color-primary);
  border-radius: var(--semi-border-radius-small);
  position: absolute;
  cursor: pointer;
  top: 14px;
}
.semi-slider-tooltip {
  position: absolute;
  top: -40px;
}
.semi-slider-dots {
  width: 100%;
  background: transparent;
}
.semi-slider-dot {
  position: absolute;
  top: 14px;
  width: 4px;
  height: 4px;
  background-color: var(--semi-color-white);
  border-radius: 50%;
  cursor: pointer;
  transform: translateX(0px);
}
.semi-slider-dot-active {
  background-color: var(--semi-color-white);
}
.semi-slider-marks {
  position: absolute;
  top: 23px;
  left: 0px;
  width: 100%;
  font-size: 14px;
}
.semi-slider-mark {
  position: absolute;
  display: inline-block;
  color: var(--semi-color-text-2);
  text-align: center;
  cursor: pointer;
  transform: translate(-50%, 0);
}
.semi-slider-marks-reverse {
  position: absolute;
  top: 23px;
  left: 0px;
  width: 100%;
  font-size: 14px;
}
.semi-slider-mark-reverse {
  position: absolute;
  display: inline-block;
  color: var(--semi-color-text-2);
  text-align: center;
  cursor: pointer;
  transform: translate(-50%, 0) rotate(-180deg);
}
.semi-slider-boundary {
  position: relative;
  font-size: 12px;
  color: var(--semi-color-text-0);
  visibility: hidden;
  top: 30px;
}
.semi-slider-boundary span {
  position: absolute;
  display: inline-block;
}
.semi-slider-boundary-min {
  left: 0px;
}
.semi-slider-boundary-max {
  right: 0px;
}
.semi-slider-boundary-show {
  visibility: visible;
}

.semi-slider-vertical-wrapper {
  width: 4px;
  height: 100%;
}
.semi-slider-vertical-wrapper .semi-slider-track {
  width: 4px;
}
.semi-slider-vertical-wrapper .semi-slider-marks {
  height: 100%;
  margin-top: -30px;
  margin-left: 29px;
}
.semi-slider-vertical-wrapper .semi-slider-marks-reverse {
  height: 100%;
  margin-top: -30px;
  margin-left: -26px;
}
.semi-slider-vertical-wrapper .semi-slider-rail {
  width: 4px;
  height: 100%;
  top: 0px;
}
.semi-slider-vertical-wrapper .semi-slider-handle {
  margin-top: 0px;
  margin-left: -10px;
  transform: var(--semi-transform_scale-small) translateY(-50%) translateX(0px);
}
.semi-slider-vertical-wrapper .semi-slider-dot {
  transform: translateY(0px);
}

.semi-slider-disabled {
  cursor: not-allowed;
}
.semi-slider-disabled .semi-slider-handle {
  cursor: not-allowed;
  box-shadow: none;
  border: 1px var(--semi-color-border) solid;
}
.semi-slider-disabled .semi-slider-handle:hover {
  background-color: var(--semi-color-white);
}
.semi-slider-disabled .semi-slider-rail {
  cursor: not-allowed;
}
.semi-slider-disabled .semi-slider-track {
  cursor: not-allowed;
  background-color: var(--semi-color-primary-disabled);
}
.semi-slider-disabled .semi-slider-dot {
  cursor: not-allowed;
  background-color: var(--semi-color-white);
  border-color: var(--semi-color-white);
  box-shadow: none;
}

.semi-slider-handle-tooltip {
  text-align: center;
}

.semi-slider-reverse {
  transform: rotate(180deg);
}
/* shadow */
/* sizing */
/* spacing */
.semi-skeleton-avatar, .semi-skeleton-image, .semi-skeleton-title, .semi-skeleton-button {
  background: var(--semi-color-fill-0);
  border-radius: var(--semi-border-radius-small);
}
.semi-skeleton-avatar-circle {
  border-radius: 50%;
}
.semi-skeleton-avatar-extra-extra-small {
  width: 20px;
  height: 20px;
}
.semi-skeleton-avatar-extra-small {
  width: 24px;
  height: 24px;
}
.semi-skeleton-avatar-medium {
  width: 48px;
  height: 48px;
}
.semi-skeleton-avatar-small {
  width: 32px;
  height: 32px;
}
.semi-skeleton-avatar-large {
  width: 72px;
  height: 72px;
}
.semi-skeleton-avatar-extra-large {
  width: 128px;
  height: 128px;
}
.semi-skeleton-paragraph {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.semi-skeleton-paragraph li {
  background: var(--semi-color-fill-0);
  border-radius: var(--semi-border-radius-small);
  width: 100%;
  height: 16px;
  margin-bottom: 10px;
}
.semi-skeleton-paragraph li:last-child {
  width: 60%;
  margin-bottom: 0;
}
.semi-skeleton-paragraph li:first-child {
  width: 100%;
}
.semi-skeleton-title {
  width: 100%;
  height: 24px;
}
.semi-skeleton-button {
  width: 115px;
  height: 32px;
}
.semi-skeleton-image {
  width: 100%;
  height: 100%;
}
.semi-skeleton-active .semi-skeleton-avatar,
.semi-skeleton-active .semi-skeleton-image,
.semi-skeleton-active .semi-skeleton-title,
.semi-skeleton-active .semi-skeleton-button,
.semi-skeleton-active .semi-skeleton-paragraph li {
  background: linear-gradient(90deg, var(--semi-color-fill-0) 25%, var(--semi-color-fill-1) 44%, var(--semi-color-fill-0) 88%);
  background-size: 400% 100%;
  animation: 1400ms skeleton-loading ease infinite;
  animation-fill-mode: forwards;
}
@keyframes skeleton-loading {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}

.semi-rtl .semi-skeleton,
.semi-portal-rtl .semi-skeleton {
  direction: rtl;
}
/* shadow */
/* sizing */
/* spacing */
.semi-image {
  border-radius: var(--semi-border-radius-small);
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.semi-image img {
  /**
      * In tailwind, the max-width of img/video is set to 100%, 
      * which will affect the amplification effect of the picture.
      * So we need to set max-width to none.
  */
  max-width: none;
}
.semi-image-tooltip-children-wrapper {
  display: inline-flex;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  vertical-align: middle;
}
.semi-image-img {
  vertical-align: top;
  border-radius: inherit;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.semi-image-img-preview {
  cursor: zoom-in;
}
.semi-image-img-error {
  opacity: 0;
}
.semi-image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.semi-image-status {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--semi-border-radius-small);
  background-color: var(--semi-color-fill-0);
  color: var(--semi-color-disabled-text);
}

.semi-image-preview {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1070;
  background-color: var(--semi-color-overlay-bg);
  transition: opacity 500ms;
  overflow: hidden;
}
.semi-image-preview-popup {
  position: absolute;
}
.semi-image-preview .semi-image-preview-hide {
  opacity: 0;
}
.semi-image-preview-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.75);
  cursor: pointer;
  color: var(--semi-color-white);
}
.semi-image-preview-prev {
  left: 24px;
}
.semi-image-preview-next {
  right: 24px;
}
.semi-image-preview-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  font-weight: normal;
  font-size: 14px;
  line-height: 20px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--semi-color-white);
  height: 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 24px;
  z-index: 1;
  pointer-events: none;
}
.semi-image-preview-header-title {
  flex: 1 1;
}
.semi-image-preview-header-close {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  pointer-events: auto;
}
.semi-image-preview-header-close:hover {
  background-color: rgba(0, 0, 0, 0.75);
}
.semi-image-preview-footer {
  display: flex;
  align-items: center;
}
.semi-image-preview-footer-content {
  padding: 0 16px;
  background: rgba(0, 0, 0, 0.75);
  border-radius: var(--semi-border-radius-medium);
  height: 48px;
}
.semi-image-preview-footer-wrapper {
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
}
.semi-image-preview-footer-page {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: var(--semi-color-white);
  font-size: 16px;
  line-height: 22px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0 12px;
}
.semi-image-preview-footer .semi-icon {
  color: var(--semi-color-white);
  cursor: pointer;
}
.semi-image-preview-footer-gap {
  margin-left: 16px;
}
.semi-image-preview-footer .semi-slider {
  width: 132px;
  padding: 0 16px;
}
.semi-image-preview-footer .semi-slider .semi-slider-rail {
  color: var(--semi-color-white);
  height: 2px;
}
.semi-image-preview-footer .semi-slider .semi-slider-track {
  height: 2px;
}
.semi-image-preview-footer .semi-slider .semi-slider-handle {
  width: 16px;
  height: 16px;
  margin-top: 8px;
  box-sizing: border-box;
}
.semi-image-preview-footer .semi-divider {
  background: rgba(255, 255, 255, 0.5);
  margin: 0 16px;
}
.semi-image-preview-footer .semi-image-preview-footer-disabled {
  color: rgba(249, 249, 249, 0.35);
  cursor: default;
  pointer-events: none;
}
.semi-image-preview-image {
  position: relative;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.semi-image-preview-image-img {
  position: absolute;
  transform: scale3d(1, 1, 1) var(--semi-transform-rotate-none);
  z-index: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.semi-image-preview-image-spin {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.semi-image-preview-image-spin .semi-spin-wrapper {
  color: #ccc;
}
@keyframes spinner {
  to {
    transform: var(--semi-transform_rotate-clockwise360deg);
  }
}

img[src=""], img:not([src]) {
  opacity: 0;
}

.semi-rtl .semi-image-preview,
.semi-portal-rtl .semi-image-preview {
  direction: rtl;
}
.semi-rtl .semi-image-preview-group,
.semi-portal-rtl .semi-image-preview-group {
  direction: rtl;
}
.semi-rtl .semi-image-preview-prev,
.semi-portal-rtl .semi-image-preview-prev {
  right: 24px;
  left: auto;
  transform: var(--semi-transform_rotate-clockwise180deg);
}
.semi-rtl .semi-image-preview-next,
.semi-portal-rtl .semi-image-preview-next {
  left: 24px;
  right: auto;
  transform: var(--semi-transform_rotate-clockwise180deg);
}
.semi-rtl .semi-image-preview-footer-page,
.semi-portal-rtl .semi-image-preview-footer-page {
  display: flex;
  direction: rtl;
}
.semi-rtl .semi-image-preview-footer-gap,
.semi-portal-rtl .semi-image-preview-footer-gap {
  margin-right: 16px;
  margin-left: 0;
}
.semi-rtl .semi-image-preview-footer .semi-icon-chevron_left,
.semi-portal-rtl .semi-image-preview-footer .semi-icon-chevron_left {
  transform: var(--semi-transform_rotate-clockwise180deg);
}
.semi-rtl .semi-image-preview-footer .semi-icon-chevron_right,
.semi-portal-rtl .semi-image-preview-footer .semi-icon-chevron_right {
  transform: var(--semi-transform_rotate-clockwise180deg);
}
.wk-avatar {
    width: 50px;
    height: 50px;
    border-radius: 40%;
}


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

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

/* Windows Electron: 用伪元素创建 drag 区域，右上角留空 */
body.wk-electron.wk-platform-windows .wk-viewqueueheader {
    -webkit-app-region: no-drag;
}

body.wk-electron.wk-platform-windows .wk-viewqueueheader::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 140px;
    bottom: 0;
    -webkit-app-region: drag;
}

.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;
    color: var(--wk-color-text-primary);
}

.wk-viewqueueheader-back {
    position: absolute;
    height: 100%;
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 0px 15px;
    z-index: 10;
    -webkit-app-region: no-drag;
}

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

.wk-viewqueueheader-content-action {
    position: absolute;
    right: 15px;
    -webkit-app-region: no-drag;
}

/* Windows Electron: 完成按钮右移，避开窗口控制按钮 */
body.wk-electron.wk-platform-windows .wk-viewqueueheader-content-action {
    right: 145px;
}


.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;
}
/**
 * 消息气泡基础样式
 *
 * 所有颜色通过 --wk-bubble-* 令牌变量引用，
 * 主题切换由主题定义文件（theme-dark.css / theme-pink.css）自动覆盖令牌值。
 * 本文件不包含任何 body[theme-mode] 选择器。
 *
 * 需求引用：4.2, 4.3, 7.1, 7.2
 */

: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;
}

/* 发送者名称 - 使用气泡令牌 */
.senderName {
  color: var(--wk-bubble-sender-name);
  font-size: 12px;
  font-weight: 400;
  padding-bottom: 1px;
}

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

.senderAvatar img {
  width: 34px;
  height: 34px;
  border-radius: 40%;
}

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

.wk-message-base-send .wk-message-base-box {
  flex-direction: row-reverse;
  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-send .senderAvatar {
  display: none;
  text-align: center;
}

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

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

/* 气泡基础样式 - 使用令牌变量 */
.wk-message-base-bubble {
  color: var(--wk-bubble-recv-color);
  display: flex;
  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: var(--wk-bubble-box-shadow);
  font-size: 15px;
}

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

@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: var(--wk-bubble-send-bg);
  border-radius: 0.75rem 0.75rem 0rem 0.75rem;
  color: var(--wk-bubble-send-color);
}

/* 接收气泡 - 使用令牌变量 */
.wk-message-base-bubble-box.recv .wk-message-base-bubble {
  border-radius: 0.75rem 0.75rem 0.75rem 0rem;
  background: var(--wk-bubble-recv-bg);
  color: var(--wk-bubble-recv-color);
  border: var(--wk-bubble-recv-border);
}

/* 气泡圆角变体 */
.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;
}

/* 气泡尾巴 SVG - 使用令牌变量 */
.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(--wk-bubble-send-tail);
}

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

/* 消息名称区域 */
.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;
}

/* 消息内容区域 */
.wk-message-base-content {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* 消息元数据（时间戳 + 状态） */
.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;
}

/* 时间戳 - 使用令牌变量 */
.messageTime {
  margin-inline-end: 0.1875rem;
  font-size: 0.75rem;
  white-space: nowrap;
}

.wk-message-base-bubble-box.recv .messageTime {
  color: var(--wk-bubble-recv-time);
}

.wk-message-base-bubble-box.send .messageTime {
  color: var(--wk-bubble-send-time);
}

/* 标题文字 */
.textTitle {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: calc(1rem - 0.125rem);
  font-size: calc(var(--message-text-size, 1rem) - 0.125rem);
  font-weight: 500;
  color: var(--accent-color);
  unicode-bidi: plaintext;
  display: flex;
}

/* 消息状态图标 */
.icon-message-read::before {
  content: "";
  position: absolute;
  bottom: -4px;
  color: var(--wk-bubble-send-time);
}

.icon-message-succeeded::before {
  content: "";
  position: absolute;
  bottom: -4px;
  color: var(--wk-bubble-send-time);
}

.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;
}

.messageFail {
  cursor: pointer;
}

.messageFail img {
  width: 20px;
  height: 20px;
  margin-left: 10px;
}

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

/* 上传进度条 */
.wk-message-upload-progress {
  width: 100%;
  height: 3px;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 0 0 12px 12px;
  overflow: hidden;
  margin-top: 4px;
}

.wk-message-base-bubble-box.recv .wk-message-upload-progress {
  background-color: rgba(0, 0, 0, 0.1);
}

.wk-message-upload-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #f093fb, #f5576c);
  border-radius: 0 0 12px 12px;
  transition: width 0.3s ease;
  min-width: 2px;
}

.wk-message-upload-progress-text {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(0, 0, 0, 0.4);
  padding: 2px 6px;
  border-radius: 8px;
  white-space: nowrap;
  z-index: 1;
  font-weight: 500;
  backdrop-filter: blur(4px);
}

/* ===== 气泡内链接颜色 - 使用令牌变量 ===== */

/* 发送方气泡链接 */
.wk-message-base-bubble-box.send .wk-message-base-bubble a {
  color: var(--wk-bubble-link-send);
  text-decoration: underline;
  text-decoration-color: var(--wk-bubble-link-send-underline);
  text-underline-offset: 2px;
}

.wk-message-base-bubble-box.send .wk-message-base-bubble a:hover {
  text-decoration-color: var(--wk-bubble-link-send-underline-hover);
}

/* 接收方气泡链接 */
.wk-message-base-bubble-box.recv .wk-message-base-bubble a {
  color: var(--wk-bubble-link-recv);
  text-decoration: underline;
  text-decoration-color: var(--wk-bubble-link-recv-underline);
  text-underline-offset: 2px;
}

.wk-message-base-bubble-box.recv .wk-message-base-bubble a:hover {
  color: var(--wk-bubble-link-recv-hover);
  text-decoration-color: var(--wk-bubble-link-recv-underline-hover);
}

/* 弹出菜单容器 */
.popupMenusContaner {
  display: none;
}

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

/* 多选模式 */
.wk-message-base-checkBox {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 0;
  overflow: visible;
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  padding-bottom: 8px;
  flex-shrink: 0;
}

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

.wk-message-base-check-open .wk-message-base-checkBox {
  width: 40px;
  opacity: 1;
  transform: translateX(0);
}

/* 消息选中高亮 */
.wk-message-base-checked {
  background-color: rgba(76, 141, 255, 0.08);
  background-color: var(--wk-color-msg-checked, rgba(76, 141, 255, 0.08));
  border-radius: 8px;
  transition: background-color 0.15s ease;
}

.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: var(--wk-color-text-secondary);
  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);
}


.wk-check {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.15s ease;
}

.wk-check:hover {
    transform: scale(1.1);
}

.wk-check svg {
    display: block;
}

.wk-check-checked svg circle {
    filter: drop-shadow(0 1px 3px rgba(76, 141, 255, 0.4));
}



.wk-mergeforwards {
    width: 300px;
    background-color: var(--wk-message-item);
    border-radius: 8px;
    cursor: pointer;
}



.wk-mergeforwards-content {
    padding: 10px 10px 0px 10px;
    /* 内容文字使用主文字色令牌 */
    color: var(--wk-color-text-primary);
}

.wk-mergeforwards-content-title {
    font-size: 15px;
    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: 13px;
    /* 辅助文字使用令牌变量 */
    color: var(--wk-color-text-hint) !important;
}

.wk-mergeforwards-content-tip {
    display: flex;
    justify-content: space-between;
    /* 辅助文字使用令牌变量 */
    color: var(--wk-color-text-hint) !important;
    font-size: 13px;
    padding: 2px 0px;
}

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

.wk-mergeforwards-content-tip p:last-child {
    margin-top: -4px;
}

.wk-mergeforwards-content-line {
    width: 100%;
    background-color: var(--wk-line-color);
    height: 1px;
}


/**
 * react-mentions 样式覆盖
 */

.mentions {
  margin: 0;
  height: 100%;
  width: 100%;
}

.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: inherit;
  font-size: 14px;
  background: transparent;
  height: 100%;
}

.mentions--multiLine .mentions__highlighter {
  border: none;
  padding: 0;
  height: 100%;
}

.mentions--multiLine .mentions__input {
  border: none;
  padding: 0;
  outline: 0;
  height: 100%;
  background: transparent;
}

.mentions__suggestions__list {
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
  border: 1px solid rgba(0, 0, 0, 0.15);
  font-size: 10pt;
}

.mentions__suggestions__item {
  padding: 5px 15px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.mentions__suggestions__item--focused {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

.mentions__mention {
  position: relative;
  z-index: 1;
  color: var(--wk-color-theme);
  text-shadow: none;
  pointer-events: none;
}

/**
 * 消息输入区域样式 - QQ 风格设计
 * 
 * 布局结构：
 * - 工具栏在上（固定高度 36px）
 * - 输入区域在下（填满剩余空间）
 * - 整个输入区域可点击聚焦
 * 
 * 主题适配：所有颜色通过令牌变量引用，无 body[theme-mode] 覆盖块
 */

/* ===== 主容器 ===== */
.wk-messageinput-box {
  background: transparent;
  width: 100%;
  height: auto;
  min-height: 150px;
  max-height: 240px;
  position: relative;
  display: flex;
  flex-direction: column;
}

/* ===== 工具栏样式 ===== */
.wk-messageinput-bar {
  flex-shrink: 0;
  height: 36px;
  width: 100%;
  display: flex;
  padding: 0 8px;
  box-sizing: border-box;
  background: transparent;
}

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

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

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

.wk-messageinput-actionitem {
  width: 32px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 150ms ease-out;
}

.wk-messageinput-actionitem:hover {
  background-color: var(--wk-menu-hover-bg);
}

/* 工具栏图标颜色 - 通过令牌变量适配主题 */
.wk-messageinput-actionitem svg,
.wk-messageinput-actionitem img {
  width: 24px;
  height: 24px;
  color: var(--wk-color-text-primary) !important;
  fill: var(--wk-color-text-primary) !important;
  stroke: var(--wk-color-text-primary) !important;
  transition: color 150ms ease-out;
}

.wk-messageinput-actionitem:hover svg,
.wk-messageinput-actionitem:hover img {
  color: var(--wk-color-icon-hover) !important;
  fill: var(--wk-color-icon-hover) !important;
  stroke: var(--wk-color-icon-hover) !important;
}

/* ===== 图片预览区域（工具栏上方） ===== */
.wk-messageinput-imagepreview {
  padding: 6px 12px;
  border-bottom: 1px solid var(--wk-color-divider);
  overflow-x: auto;
  overflow-y: hidden;
  flex-shrink: 0;
}

.wk-messageinput-imagepreview-container {
  display: flex;
  gap: 8px;
  width: -moz-max-content;
  width: max-content;
}

.wk-messageinput-imagepreview-item {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--wk-color-divider);
  transition: border-color 150ms ease-out, box-shadow 150ms ease-out;
  flex-shrink: 0;
}

.wk-messageinput-imagepreview-item:hover {
  border-color: var(--wk-color-primary);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.wk-messageinput-imagepreview-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.wk-messageinput-imagepreview-remove {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 14px;
  height: 14px;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 9px;
  font-weight: bold;
  line-height: 1;
  transition: all 150ms ease-out;
  opacity: 0;
}

.wk-messageinput-imagepreview-item:hover .wk-messageinput-imagepreview-remove {
  opacity: 1;
}

.wk-messageinput-imagepreview-remove:hover {
  background-color: #e74c3c;
  background-color: var(--wk-color-error, #e74c3c);
  transform: scale(1.1);
}

/* ===== 输入框容器 - QQ 风格 ===== */
.wk-messageinput-inputbox {
  width: 100%;
  flex: 0 0 114px;
  height: 114px;
  position: relative;
  min-height: 0;
  cursor: text;
  padding: 8px 16px 8px 16px;
  box-sizing: border-box;
}

/* MentionsInput 容器 - 使用绝对定位填满 */
.wk-messageinput-input {
  position: absolute !important;
  top: 8px;
  left: 16px;
  right: 16px;
  bottom: 8px;
}

.wk-messageinput-input--multiLine {
  height: 100% !important;
}

/* react-mentions 内部元素 */
.wk-messageinput-input__control {
  height: 100% !important;
  font-size: 18px;
  font-weight: 500;
  background: transparent !important;
  overflow: auto !important;
}

.wk-messageinput-input__highlighter {
  height: 100% !important;
  padding: 0 0 14px 0 !important;
  border: none !important;
  overflow: auto !important;
  box-sizing: border-box !important;
}

/* 输入框文字颜色 - 通过令牌变量适配主题 */
.wk-messageinput-input__input {
  height: 100% !important;
  padding: 0 0 14px 0 !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  color: var(--wk-color-text-primary);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  resize: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/* 确保 textarea 可以滚动 */
.wk-messageinput-input__input textarea {
  overflow-y: auto !important;
}

/* 消息输入框滚动条样式 - 默认隐藏，hover 时显示 */
.wk-messageinput-inputbox {
  --scrollbar-thumb-color: transparent;
}

.wk-messageinput-inputbox:hover {
  --scrollbar-thumb-color: var(--wk-scrollbar-thumb);
}

.wk-messageinput-inputbox *::-webkit-scrollbar {
  width: 6px !important;
}

.wk-messageinput-inputbox *::-webkit-scrollbar-track {
  background: transparent !important;
}

.wk-messageinput-inputbox *::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb-color) !important;
  border-radius: 3px !important;
}

.wk-messageinput-inputbox:hover *::-webkit-scrollbar-thumb:hover {
  background-color: var(--wk-scrollbar-thumb-hover) !important;
}

/* ===== 发送按钮样式 ===== */
.wk-messageinput-sendbtn {
  height: 28px;
  width: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(180deg, #92a2b1 4.39%, #7b8e9f 94.46%);
  border-radius: 4px;
  cursor: pointer;
  transition: all 150ms ease-out;
}

/* 有输入内容时使用主题色 */
.wk-messageinput-hasValue {
  background: var(--wk-color-primary);
}

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

/* ===== @提及成员样式 ===== */
.wk-messageinput-member {
  height: 100%;
  width: 100%;
  padding: 0 16px;
  align-items: center;
  box-sizing: border-box;
  display: flex;
  transition: background-color 150ms ease-out;
}

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

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

/* 选中的成员项 - 使用主题色 */
.wk-messageinput-selected {
  color: var(--wk-color-item-selected-text);
  background-color: var(--wk-color-primary);
}

/* ===== 快捷回复面板样式 ===== */
.quickReplyPanel {
  position: absolute;
  box-shadow: var(--wk-panel-shadow);
  max-height: 400px;
  overflow-x: hidden;
  bottom: 0;
  background-color: var(--wk-color-card);
  width: 100%;
  border-radius: 8px;
}

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

.quickReplyPanel ul li {
  list-style-type: none;
  height: 60px;
  border-bottom: 1px solid var(--wk-color-divider);
  cursor: pointer;
  transition: background-color 150ms ease-out;
}

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

/* 快捷回复选中项 - 使用主题色 */
.quickReplySelect {
  background-color: var(--wk-color-primary) !important;
  color: var(--wk-color-item-selected-text) !important;
}

/* ===== 回复消息样式 ===== */
.wk-messageinput-reply {
  margin: 8px 8px 0 8px;
  background-color: var(--wk-color-item-hover);
  display: flex;
  color: var(--wk-color-text-hint);
  align-items: center;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 12px;
}

/* 关闭图标 - 通过令牌变量适配主题 */
.wk-messageinput-closeicon {
  margin: 0px 4px;
  cursor: pointer;
  color: var(--wk-color-icon-default);
  transition: color 150ms ease-out;
}

.wk-messageinput-closeicon:hover {
  color: var(--wk-color-icon-hover);
}

.wk-messageinput-replycontent {
  overflow: hidden;
  text-overflow: ellipsis;
  height: 22px;
  white-space: nowrap;
  flex: 1 1;
}

/* ===== 建议列表样式 ===== */
.wk-messageinput-input__suggestions {
  background-color: var(--wk-color-card);
  border-radius: 8px;
  box-shadow: var(--wk-panel-shadow);
}


/* ===== 压缩中遮罩 ===== */
.wk-messageinput-imagepreview-compressing {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
}

.wk-messageinput-sending-dot {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: wk-compress-spin 0.7s linear infinite;
}

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

/**
 * 右键菜单样式 - QQ风格
 * 
 * 主题适配：所有颜色通过 --wk-menu-* 令牌变量引用，无 body[theme-mode] 覆盖块
 */

.wk-contextmenus {
    position: fixed;
    background-color: var(--wk-menu-bg);
    z-index: 9999;
    box-shadow: var(--wk-panel-shadow);
    border-radius: 12px;
    padding: 6px 0;
    min-width: 140px;
    overflow: hidden;
    display: none;
}

.wk-contextmenus-open {
    display: block;
}

/* 表情快捷栏 */
.wk-contextmenus-emoji-bar {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    gap: 4px;
    border-bottom: 1px solid var(--wk-menu-divider);
    margin-bottom: 4px;
}

.wk-contextmenus-emoji-item {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    cursor: pointer;
    border-radius: 6px;
    transition: background-color 100ms ease;
}

.wk-contextmenus-emoji-item:hover {
    background-color: var(--wk-menu-hover-bg);
}

.wk-contextmenus-emoji-more {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 6px;
    color: var(--wk-menu-text-secondary);
    transition: background-color 100ms ease, color 100ms ease;
}

.wk-contextmenus-emoji-more svg {
    width: 20px;
    height: 20px;
}

.wk-contextmenus-emoji-more:hover {
    background-color: var(--wk-menu-hover-bg);
    color: var(--wk-menu-text);
}

/* 菜单列表 */
.wk-contextmenus ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* 菜单项 */
.wk-contextmenus li {
    height: 36px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    cursor: pointer;
    font-size: 13px;
    color: var(--wk-menu-text);
    transition: background-color 100ms ease;
}

.wk-contextmenus li:hover {
    background-color: var(--wk-menu-hover-bg);
}

/* 菜单图标 */
.wk-contextmenus-icon {
    width: 18px;
    height: 18px;
    margin-right: 10px;
    color: var(--wk-menu-text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.wk-contextmenus-icon svg {
    width: 16px;
    height: 16px;
}

.wk-contextmenus li:hover .wk-contextmenus-icon {
    color: var(--wk-menu-text);
}

/* 菜单文字 */
.wk-contextmenus-text {
    flex: 1 1;
}

/* 遮罩层 */
.wk-contextmenus-mask {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9998;
    display: none;
}

.wk-contextmenus-mask-open {
    display: block;
}

/* 分割线 */
.wk-contextmenus-divider {
    height: 1px;
    background-color: var(--wk-menu-divider);
    margin: 4px 0;
}

/**
 * 会话组件样式
 *
 * 重构说明：
 * - 移除所有 body[theme-mode] 覆盖块，颜色通过令牌变量自动适配主题
 * - 硬编码颜色替换为语义化令牌引用
 * - 保留布局、间距等非颜色样式不变
 *
 * 需求引用：4.2, 4.3, 7.1
 */

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

.wk-conversation {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--wk-gradient-chat-bg);
  overflow: hidden;
}

/* ===== 加载状态样式 ===== */
/* 注意：主要样式已移至 styles/loading.css */
/* 这里保留类名以确保向后兼容，样式由 loading.css 提供 */

.wk-conversation-hasreply {
}

.wk-conversation-content {
  width: 100%;
  flex: 1 1;
  min-height: 0;
  position: relative;
  transition: height 150ms ease-out, opacity 150ms ease-out;
  background: transparent;
}

.wk-conversation-hasreply .wk-conversation-content {
  /* flexbox 布局下不需要计算高度 */
}

/* ===== 聊天消息区域 ===== */
.wk-conversation-messages {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
  background: transparent;
}

/* 聊天消息滚动条 - 细 + 鼠标移走隐藏 */
.wk-conversation-messages::-webkit-scrollbar {
  width: 6px !important;
}

.wk-conversation-messages::-webkit-scrollbar-track {
  background: transparent !important;
}

/* 默认隐藏滚动条 */
.wk-conversation-messages::-webkit-scrollbar-thumb {
  background-color: var(--wk-chat-scrollbar-thumb-idle) !important;
  border-radius: 2px !important;
}

/* 鼠标在消息区域时显示滚动条 - 通过令牌自动适配主题 */
.wk-conversation-messages:hover::-webkit-scrollbar-thumb {
  background-color: var(--wk-chat-scrollbar-thumb) !important;
}

.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%;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  background: var(--wk-gradient-chat-bg);
  padding: 0;
  min-height: 150px;
  height: auto;
}

.wk-conversation-footer-content {
  width: 100%;
  height: auto;
  min-height: 150px;
  background: transparent;
  display: flex;
  flex-direction: column;
}

.wk-conversation-forbidden-tip {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 100px;
  color: #999;
  color: var(--wk-color-text-2, #999);
  font-size: 14px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.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 var(--wk-upload-mask-border);
  border-radius: 4px;
  background-color: var(--wk-upload-mask-bg);
  color: var(--wk-upload-mask-text);
  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: var(--wk-color-card);
}

.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: 56px;
  background: #fff;
  background: var(--wk-color-card, #fff);
  border-top: 1px solid var(--wk-color-divider);
  width: 100%;
  z-index: 999;
  position: absolute;
  bottom: 0;
  transform: translate3d(0, 100%, 0);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}

.wk-conversation-multiplepanel-show {
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}

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

.wk-multiplepanel-content {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 12px;
  gap: 4px;
}

/* 关闭按钮 */
.wk-multiplepanel-close-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  cursor: pointer;
  color: #666;
  color: var(--wk-color-text-secondary, #666);
  flex-shrink: 0;
  transition: all 0.15s ease;
}

.wk-multiplepanel-close-btn:hover {
  background-color: rgba(0, 0, 0, 0.05);
  background-color: var(--wk-color-item-hover, rgba(0, 0, 0, 0.05));
  color: #333;
  color: var(--wk-color-text-primary, #333);
}

/* 操作按钮容器 */
.wk-multiplepanel-actions {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* 单个操作按钮 */
.wk-multiplepanel-action {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  color: #333;
  color: var(--wk-color-text-primary, #333);
  transition: all 0.15s ease;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.wk-multiplepanel-action:hover {
  background-color: rgba(0, 0, 0, 0.05);
  background-color: var(--wk-color-item-hover, rgba(0, 0, 0, 0.05));
}

.wk-multiplepanel-action:active {
  transform: scale(0.97);
}

.wk-multiplepanel-action svg {
  flex-shrink: 0;
  color: #666;
  color: var(--wk-color-text-secondary, #666);
}

.wk-multiplepanel-action:hover svg {
  color: #4C8DFF;
  color: var(--wk-color-primary, #4C8DFF);
}

/* 危险操作（删除）样式 */
.wk-multiplepanel-action-danger:hover {
  background-color: rgba(239, 68, 68, 0.08);
  color: #ef4444;
  color: var(--wk-color-error, #ef4444);
}

.wk-multiplepanel-action-danger:hover svg {
  color: #ef4444;
  color: var(--wk-color-error, #ef4444);
}

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

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

/* 定位按钮 - 通过令牌自动适配主题 */
.wk-conversationpositionview-item {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: var(--wk-color-card);
  box-shadow: var(--wk-color-float-shadow);
  color: var(--wk-color-icon-default);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transform: scale(0.5, 0.5);
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
    opacity 0.2s ease;
  opacity: 0;
}

/* 操作图标 */
.wk-conversationpositionview-item img {
  width: 20px;
  width: var(--wk-icon-size-action, 20px);
  height: 20px;
  height: var(--wk-icon-size-action, 20px);
}

.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: 0.875rem;
  line-height: 1.5rem;
  font-weight: 500;
  text-align: center;
  position: absolute;
  top: -0.3rem;
  right: -0.3rem;
  background: var(--wk-color-badge-unread);
  color: var(--wk-color-item-selected-text);
  pointer-events: none;
}

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

/* 置顶定位消息高亮闪烁动画 */
.wk-message-item-reminder {
  animation: wk-message-item-reminder-move 1.5s ease-out;
  -webkit-animation: wk-message-item-reminder-move 1.5s ease-out;
}

@keyframes wk-message-item-reminder-move {
  0% {
    background-color: rgba(0, 147, 245, 0.45);
  }
  30% {
    background-color: rgba(0, 147, 245, 0.3);
  }
  100% {
    background-color: transparent;
  }
}


/* ===== 聊天页面动画效果 ===== */
/* 需求引用：8.4, 8.5, 8.6 */

/* ===== 消息发送滑入动画 ===== */
/* 需求 8.4: 消息发送添加 300ms 的滑入动画 */

/* 发送的消息（右侧）滑入动画 */
@keyframes wk-message-slide-in-right {
    from {
        opacity: 0;
        transform: translateX(20px) translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateX(0) translateY(0);
    }
}

/* 接收的消息（左侧）滑入动画 */
@keyframes wk-message-slide-in-left {
    from {
        opacity: 0;
        transform: translateX(-20px) translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateX(0) translateY(0);
    }
}

/* 消息淡入动画（通用） */
@keyframes wk-message-fade-in {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 新发送的消息动画类 - 需求 8.4: 300ms 滑入动画 */
.wk-message-item.wk-message-sending {
    animation: wk-message-slide-in-right 300ms ease-out;
    animation: wk-message-slide-in-right var(--wk-transition-slow, 300ms ease-out);
}

/* 新接收的消息动画类 */
.wk-message-item.wk-message-receiving {
    animation: wk-message-slide-in-left 300ms ease-out;
    animation: wk-message-slide-in-left var(--wk-transition-slow, 300ms ease-out);
}

/* 通用消息进入动画 */
.wk-message-item.wk-message-enter {
    animation: wk-message-fade-in 300ms ease-out;
    animation: wk-message-fade-in var(--wk-transition-slow, 300ms ease-out);
}

/* 消息气泡悬停效果 */
.wk-message-item {
    transition: transform 150ms ease-out;
    transition: transform var(--wk-transition-fast, 150ms ease-out);
}

/* ===== 侧边栏展开/收起动画 ===== */
/* 需求 8.5: 侧边栏展开/收起添加 150ms 的过渡动画 */

/* 频道设置侧边栏动画 - 使用 150ms 快速过渡 */
.wk-chat-channelsetting {
    /* 覆盖原有的 150ms 过渡，确保使用设计令牌变量 */
    transition: margin-right 150ms ease-out,
                transform 150ms ease-out,
                opacity 150ms ease-out;
    transition: margin-right var(--wk-transition-fast, 150ms ease-out),
                transform var(--wk-transition-fast, 150ms ease-out),
                opacity var(--wk-transition-fast, 150ms ease-out);
}

/* 侧边栏展开时的动画 */
.wk-chat-content-right.wk-chat-channelsetting-open .wk-chat-channelsetting {
    opacity: 1;
    transform: translateX(0);
}

/* 侧边栏收起时的状态 */
.wk-chat-channelsetting:not(.wk-chat-channelsetting-open) {
    opacity: 0.95;
}

/* 聊天内容区域宽度变化动画 */
.wk-chat-content-chat {
    transition: width 150ms ease-out;
    transition: width var(--wk-transition-fast, 150ms ease-out);
}

/* 已读列表侧边栏动画 */
.wk-chat-readed-list {
    transition: margin-right 150ms ease-out,
                transform 150ms ease-out,
                opacity 150ms ease-out;
    transition: margin-right var(--wk-transition-fast, 150ms ease-out),
                transform var(--wk-transition-fast, 150ms ease-out),
                opacity var(--wk-transition-fast, 150ms ease-out);
}

/* 消息内容区域高度变化动画（回复视图展开时） */
.wk-conversation-content {
    transition: height 150ms ease-out,
                opacity 150ms ease-out;
    transition: height var(--wk-transition-fast, 150ms ease-out),
                opacity var(--wk-transition-fast, 150ms ease-out);
}

/* 回复视图展开动画 */
.wk-conversation-topview {
    transition: transform 150ms ease-out,
                opacity 150ms ease-out;
    transition: transform var(--wk-transition-fast, 150ms ease-out),
                opacity var(--wk-transition-fast, 150ms ease-out);
}

/* 多选面板展开动画 */
.wk-conversation-multiplepanel {
    transition: transform 150ms ease-out;
    transition: transform var(--wk-transition-fast, 150ms ease-out);
}

/* 定位按钮显示/隐藏动画 */
.wk-conversationpositionview-item {
    transition: transform 250ms cubic-bezier(0.34, 1.56, 0.64, 1),
                opacity 200ms ease-out;
    transition: transform 250ms cubic-bezier(0.34, 1.56, 0.64, 1),
                opacity var(--wk-transition-normal, 200ms ease-out);
}

/* ===== 消息时间分隔线动画 ===== */
@keyframes wk-time-separator-fade-in {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.wk-message-time-separator {
    animation: wk-time-separator-fade-in 200ms ease-out;
    animation: wk-time-separator-fade-in var(--wk-transition-normal, 200ms ease-out);
}

/* ===== 加载状态动画 ===== */
@keyframes wk-loading-pulse {
    0%, 100% {
        opacity: 0.6;
    }
    50% {
        opacity: 1;
    }
}

.wk-conversation-loading {
    animation: wk-loading-pulse 1.5s ease-in-out infinite;
}


.wk-conversationlist {
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
    background-color: #FFFFFF;
    background-color: var(--wk-color-item-normal, #FFFFFF);
    /* padding: 0px 5px; */
}

/* 会话列表滚动条 - 细 + 鼠标移走隐藏 */
.wk-conversationlist::-webkit-scrollbar {
    width: 4px !important;
}

.wk-conversationlist::-webkit-scrollbar-track {
    background: transparent !important;
}

/* 默认隐藏滚动条 */
.wk-conversationlist::-webkit-scrollbar-thumb {
    background-color: transparent !important;
    border-radius: 2px !important;
}

/* 鼠标在列表区域时显示滚动条 - 使用令牌变量自动适配主题 */
.wk-conversationlist:hover::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.1) !important;
    background-color: var(--wk-chat-scrollbar-thumb, rgba(0, 0, 0, 0.1)) !important;
}

/* 会话项样式 - 需求：2.1 会话项高度设置为 72px */
.wk-conversationlist-item {
    height: 72px;
    width: 100%;
    cursor: pointer;
    padding: 0px 5px;
    background-color: transparent;
    box-sizing: border-box;
    /* 需求：8.1 会话项悬停状态添加 150ms 的过渡动画 */
    /* 使用 design-tokens.css 中定义的 --wk-transition-fast 变量 */
    transition: background-color 150ms ease-out,
                transform 150ms ease-out,
                box-shadow 150ms ease-out;
    transition: background-color var(--wk-transition-fast, 150ms ease-out),
                transform var(--wk-transition-fast, 150ms ease-out),
                box-shadow var(--wk-transition-fast, 150ms ease-out);
}

.wk-conversationlist-live-invoke{
    width: 22px;
    height: 22px;
}

.wk-conversationlist-item-live{
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-left: 10px;
    z-index: 800;
}
.wk-conversationlist-live-reject{
    margin-left: 10px;
    width: 22px;
    height: 22px;
}

/* 置顶项样式 - 需求：2.9, 4.26 置顶项显示浅灰色背景，令牌自动适配主题 */
.wk-conversationlist-item-top {
    background-color: #F0F2F5 !important;
    background-color: var(--wk-color-item-top, #F0F2F5) !important;
}

/* 悬停项样式 - 需求：2.10, 4.27 鼠标悬停时显示悬停背景色，令牌自动适配主题 */
.wk-conversationlist-item:hover {
    background-color: #F5F7FA;
    background-color: var(--wk-color-item-hover, #F5F7FA);
}

/* 置顶项悬停时保持悬停背景色 */
.wk-conversationlist-item-top:hover {
    background-color: #F5F7FA !important;
    background-color: var(--wk-color-item-hover, #F5F7FA) !important;
}

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

/* 会话项左侧区域 - 需求：2.2, 2.3 头像尺寸 48px，头像与内容间距 12px */
.wk-conversationlist-item-left {
    width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* 会话项右侧内容区域 - 需求：2.3 头像与内容间距 12px */
.wk-conversationlist-item-right {
    height: 100%;
    width: calc(100% - 60px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 10px;
    /* 需求：2.3 头像与内容区域的间距设置为 12px */
    padding-left: 12px;
    padding-left: var(--wk-spacing-md, 12px);

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

/* 头像容器 - 需求：2.2 头像尺寸 48px，圆角 12px */
.wk-conversationlist-item-avatar-box {
    margin-left: 4px;
    position: relative;
}

/* 会话列表中的头像样式覆盖 - 需求：2.2 头像尺寸 48px，圆角 12px */
.wk-conversationlist-item-avatar-box .wk-avatar {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    border-radius: var(--wk-radius-lg, 12px);
}

.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;
}

/* 会话名称样式 - 需求：2.4 会话名称字号设置为 15px，字重为 500，令牌自动适配主题 */
.wk-conversationlist-item-name h3 {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: auto;
    max-width: 80%;
    color: #1A1A1A;
    color: var(--wk-color-text-primary, #1A1A1A);
}

.wk-conversationlist-item-selected .wk-conversationlist-item-name h3,
.wk-conversationlist-item-selected .wk-conversationlist-item-name {
    color: #FFFFFF !important;
    color: var(--wk-color-item-selected-text, #FFFFFF) !important;
}

/* 时间戳样式 - 需求：2.6 时间戳字号设置为 11px，颜色为提示文字色 */
.wk-conversationlist-item-time {
    color: #767676;
    color: var(--wk-color-text-hint, #767676);
    padding-left: 10px;
    flex-shrink: 0;
    font-size: 11px;
    line-height: 1;
    display: flex;
    align-items: center;
    margin-left: auto;
}

.wk-conversationlist-item-selected .wk-conversationlist-item-time {
    color: #FFFFFF !important;
    color: var(--wk-color-item-selected-text, #FFFFFF) !important;
}

/* 最后消息预览样式 - 需求：2.5 最后消息预览字号设置为 13px，颜色为次要文字色 */
.wk-conversationlist-item-lastmsg {
    width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #666666;
    color: var(--wk-color-text-secondary, #666666);
    overflow: hidden;
    font-size: 13px;
    min-height: 20px;
    line-height: 1.4;
}

.wk-conversationlist-item-selected .wk-conversationlist-item-lastmsg {
    color: #FFFFFF !important;
    color: var(--wk-color-item-selected-text, #FFFFFF) !important;
}

/* 选中项样式 - 需求：2.8, 4.24, 4.25 选中项显示主题色背景和白色文字 */
/* 使用 --wk-color-item-selected-bg 令牌支持渐变背景（如樱花模式），自动适配主题 */
.wk-conversationlist-item-selected {
    background: #0093f5 !important;
    background: var(--wk-color-item-selected-bg, #0093f5) !important;
    border-radius: 8px;
    border-radius: var(--wk-radius-md, 8px);
    box-shadow: none;
    box-shadow: var(--wk-color-item-selected-shadow, none);
    /* 需求：8.2 会话项选中状态添加过渡动画，与外层 item 保持一致 */
    transition: background-color 150ms ease-out,
                transform 150ms ease-out,
                box-shadow 150ms ease-out,
                border-radius 150ms ease-out;
    transition: background-color var(--wk-transition-fast, 150ms ease-out),
                transform var(--wk-transition-fast, 150ms ease-out),
                box-shadow var(--wk-transition-fast, 150ms ease-out),
                border-radius var(--wk-transition-fast, 150ms ease-out);
}

/* 选中项悬停时保持选中背景色 */
.wk-conversationlist-item-selected:hover {
    background: #0093f5 !important;
    background: var(--wk-color-item-selected-bg, #0093f5) !important;
}

/* 选中项内所有文字使用白色 - 需求：4.25 */
.wk-conversationlist-item-selected,
.wk-conversationlist-item-selected * {
    color: #FFFFFF;
    color: var(--wk-color-item-selected-text, #FFFFFF);
}

.wk-mention {
    color: #FA5151;
    color: var(--wk-color-error, #FA5151);
}

.wk-reminder {
    color: #FA5151;
    color: var(--wk-color-error, #FA5151);
}

/* 未读徽章样式 - 不使用 Semi Badge，直接用 CSS 变量确保夜间模式颜色正确 */
.wk-unread-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    font-size: 11px;
    line-height: 18px;
    padding: 0 5px;
    border-radius: 9999px;
    border-radius: var(--wk-radius-full, 9999px);
    background-color: #FA5151;
    background-color: var(--wk-color-badge-unread, #FA5151);
    color: #FFFFFF;
    font-weight: 500;
    box-sizing: border-box;
    white-space: nowrap;
}

/* 保留旧的 Semi Badge 样式以兼容其他使用场景 */
.wk-conversationlist-item .semi-badge .semi-badge-count {
    min-width: 18px;
    min-height: 18px;
    height: 18px;
    font-size: 11px;
    line-height: 18px;
    padding: 0 5px;
    border-radius: 9999px;
    border-radius: var(--wk-radius-full, 9999px);
    background-color: #FA5151 !important;
    background-color: var(--wk-color-badge-unread, #FA5151) !important;
    box-sizing: border-box;
}

/* 免打扰状态的未读徽章 - 需求：4.29，令牌自动适配主题 */
.wk-conversationlist-item .semi-badge .semi-badge-count[style*="rgb(200,200,200)"],
.wk-conversationlist-item .semi-badge .semi-badge-count[style*="rgb(200, 200, 200)"] {
    background-color: #C8C8C8 !important;
    background-color: var(--wk-color-badge-mute, #C8C8C8) !important;
    color: #FFFFFF !important;
    color: var(--wk-color-item-selected-text, #FFFFFF) !important;
}

/* 在线状态徽章 - 使用令牌变量自动适配主题 */
.wk-onlinestatusbadge {
    position: absolute;
    right: -4px;
    bottom: -2px;
    border-radius: 10px;
    background-color: #FFFFFF;
    background-color: var(--wk-color-card, #FFFFFF);
    padding: 2px;
}

.wk-onlinestatusbadge-empty.wk-onlinestatusbadge {
    border-radius: 50%;
    right: 0px;
    bottom: 0px;
} 

.wk-onlinestatusbadge-content {
    background: linear-gradient(135deg, #52C41A 0%, #73D13D 100%);
    padding: 2px 6px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 2px;
    box-shadow: 0 1px 3px rgba(82, 196, 26, 0.3);
}

.wk-onlinestatusbadge-content-tip {
    font-size: 10px;
    font-weight: 500;
    color: #FFFFFF;
    color: var(--wk-color-item-selected-text, #FFFFFF);
    white-space: nowrap;
    line-height: 1.2;
    letter-spacing: 0.2px;
}

.wk-onlinestatusbadge-empty .wk-onlinestatusbadge-content {
    background: linear-gradient(135deg, #52C41A 0%, #73D13D 100%);
    border-radius: 50%;
    padding: 0px;
    width: 10px;
    height: 10px;
    box-shadow: 0 0 0 2px #FFFFFF, 0 1px 3px rgba(82, 196, 26, 0.4);
    box-shadow: 0 0 0 2px var(--wk-color-card, #FFFFFF), 0 1px 3px rgba(82, 196, 26, 0.4);
}

.wk-onlinestatusbadge-empty .wk-onlinestatusbadge-content-tip {
    display: none;
}


/* ===== 会话列表动画效果 ===== */
/* 需求引用：8.1, 8.2, 8.6 */

/* 悬停时的微妙提升效果 - 需求 8.1: 悬停过渡 150ms */
.wk-conversationlist-item:hover:not(.wk-conversationlist-item-selected) {
    transform: translateX(2px);
}

/* 选中项的强调效果 - 需求 8.2: 选中过渡 200ms */
.wk-conversationlist-item-selected {
    transform: scale(1);
    box-shadow: none;
    box-shadow: var(--wk-color-item-selected-shadow, none);
}

/* 头像过渡动画 */
.wk-conversationlist-item-avatar-box .wk-avatar {
    transition: transform 150ms ease-out;
    transition: transform var(--wk-transition-fast, 150ms ease-out);
}

.wk-conversationlist-item:hover .wk-conversationlist-item-avatar-box .wk-avatar {
    transform: scale(1.02);
}

/* 未读徽章动画 */
.wk-conversationlist-item .semi-badge .semi-badge-count {
    transition: transform 150ms ease-out,
                background-color 150ms ease-out;
    transition: transform var(--wk-transition-fast, 150ms ease-out),
                background-color var(--wk-transition-fast, 150ms ease-out);
}

/* 新消息到达时的徽章脉冲动画 */
@keyframes wk-badge-pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

.wk-conversationlist-item .semi-badge .semi-badge-count.wk-badge-new {
    animation: wk-badge-pulse 300ms ease-out;
}

/* 会话项进入动画 - 用于新会话添加时 */
@keyframes wk-conversation-item-enter {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.wk-conversationlist-item.wk-item-enter {
    animation: wk-conversation-item-enter 200ms ease-out;
    animation: wk-conversation-item-enter var(--wk-transition-normal, 200ms ease-out);
}

/**
 * 会话分组组件样式
 * 所有颜色通过令牌变量引用，自动适配白天/夜间/樱花主题
 */

/* ===== 分组标签栏容器 ===== */
.wk-conversation-group {
  height: 44px;
  min-height: 44px;
  background-color: #FAFBFC;
  background-color: var(--wk-color-sidebar, #FAFBFC);
  border-bottom: 1px solid #E8E8E8;
  border-bottom: 1px solid var(--wk-color-divider, #E8E8E8);
  display: flex;
  align-items: center;
  padding: 0 8px;
  padding: 0 var(--wk-spacing-sm, 8px);
  gap: 4px;
  gap: var(--wk-spacing-xs, 4px);
  flex-shrink: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.wk-conversation-group::-webkit-scrollbar {
  display: none;
}

/* ===== 分组标签项 ===== */
.wk-conversation-group-item {
  padding: 8px 12px;
  padding: var(--wk-spacing-sm, 8px) var(--wk-spacing-md, 12px);
  display: flex;
  align-items: center;
  gap: 4px;
  gap: var(--wk-spacing-xs, 4px);
  color: #666666;
  color: var(--wk-color-text-secondary, #666666);
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border-radius: 4px;
  border-radius: var(--wk-radius-sm, 4px);
  transition: all 200ms ease-out;
  position: relative;
  flex-shrink: 0;
  white-space: nowrap;
}

/* 悬停状态 - 令牌自动适配主题 */
.wk-conversation-group-item:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

/* 选中标签样式 - 令牌自动适配主题 */
.wk-conversation-group-item.active {
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
  font-weight: 500;
}

/* 选中标签底部边框 */
.wk-conversation-group-item.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 12px;
  left: var(--wk-spacing-md, 12px);
  right: 12px;
  right: var(--wk-spacing-md, 12px);
  height: 2px;
  background-color: #0093f5;
  background-color: var(--wk-color-primary, #0093f5);
  border-radius: 1px;
}

/* 焦点状态 */
.wk-conversation-group-item:focus {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: 2px;
}

.wk-conversation-group-item:focus:not(:focus-visible) {
  outline: none;
}

/* ===== 分组标签文字 ===== */
.wk-conversation-group-label {
  font-size: 13px;
  line-height: 1.4;
}

/* ===== 分组计数徽章 - 令牌自动适配主题 ===== */
.wk-conversation-group-count {
  font-size: 10px;
  line-height: 1;
  min-width: 16px;
  height: 16px;
  background-color: #F0F0F0;
  background-color: var(--wk-group-count-bg, #F0F0F0);
  color: #666666;
  color: var(--wk-group-count-color, var(--wk-color-text-secondary, #666666));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border-radius: 9999px;
  border-radius: var(--wk-radius-full, 9999px);
  font-weight: 500;
}

/* 未读分组的计数徽章 */
.wk-conversation-group-count.unread {
  background-color: #FA5151;
  background-color: var(--wk-color-error, #FA5151);
  color: #FFFFFF;
  color: var(--wk-color-item-selected-text, #FFFFFF);
}

/* ===== 拖拽排序样式 ===== */

/* 拖拽时的光标 */
.wk-conversation-group-item[draggable="true"] {
  cursor: grab;
}

.wk-conversation-group-item[draggable="true"]:active {
  cursor: grabbing;
}

/* 拖拽中的标签 - 令牌自动适配主题 */
.wk-conversation-group-item.dragging {
  opacity: 0.5;
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
  transform: scale(1.05);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  box-shadow: var(--wk-group-drag-shadow, 0 2px 8px rgba(0, 0, 0, 0.15));
  z-index: 100;
}

/* 拖拽悬停目标 - 令牌自动适配主题 */
.wk-conversation-group-item.drag-over {
  background-color: rgba(18, 183, 245, 0.1);
  background-color: var(--wk-group-drag-over-bg, rgba(18, 183, 245, 0.1));
}

/* 拖拽悬停 - 左侧指示器 */
.wk-conversation-group-item.drag-left::before {
  content: '';
  position: absolute;
  left: -2px;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background-color: #0093f5;
  background-color: var(--wk-color-primary, #0093f5);
  border-radius: 2px;
  z-index: 10;
}

/* 拖拽悬停 - 右侧指示器 */
.wk-conversation-group-item.drag-right::after {
  content: '';
  position: absolute;
  right: -2px;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background-color: #0093f5;
  background-color: var(--wk-color-primary, #0093f5);
  border-radius: 2px;
  z-index: 10;
}

/* 选中状态的拖拽指示器不覆盖底部边框 */
.wk-conversation-group-item.active.drag-right::after {
  bottom: 8px;
}

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

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

.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: 5px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background-color: var(--wk-color-secondary);
  -webkit-app-region: drag;
  position: relative;
}

/* Windows Electron: 用伪元素创建 drag 区域，右上角留空 */
body.wk-electron.wk-platform-windows .wk-chat-search {
  -webkit-app-region: no-drag;
}

body.wk-electron.wk-platform-windows .wk-chat-search::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 140px;
  bottom: 0;
  -webkit-app-region: drag;
  pointer-events: none;
}

/* 搜索栏添加按钮 */
.wk-chat-search-add {
  width: 38px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  cursor: pointer;
  color: var(--wk-color-icon-default);
  background-color: var(--wk-color-secondary-2);
  -webkit-app-region: no-drag;
}

/* (D9) 胶囊样式：圆角 + 聚焦时高亮边框，对齐企微视觉 */
.wk-chat-search-input {
  padding: 0 8px;
  border-radius: 18px;
  background-color: var(--wk-color-secondary-2);
  -webkit-app-region: no-drag;
  transition: box-shadow 0.18s ease, background-color 0.18s ease;
}

.wk-chat-search-input:focus-within,
.wk-chat-search-input.semi-input-wrapper-focus {
  background-color: var(--wk-color-secondary);
  /* (FIX) 原值 #267EF0)22 是无效语法（半括号），CSS 整条规则被丢弃。
     改用 rgba 保证生效，效果：聚焦时浅蓝色 2px 边框 */
  box-shadow: 0 0 0 2px rgba(38, 126, 240, 0.18);
}

/* (D9) 已移除：搜索 Popover 时的左栏遮罩
   原因：用户反馈点击异常，保险起见先去掉遮罩；胶囊样式保留 */

.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;
  background: transparent;
}

@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%;
  background: var(--wk-gradient-chat-bg);
  overflow: hidden;
  /* 需求 8.5: 侧边栏展开/收起时内容区域宽度变化使用 150ms 过渡 */
  transition: width 150ms ease-out;
  transition: width var(--wk-transition-fast, 150ms ease-out);
}

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

.wk-chat-readed-list-open {
  /* 需求 8.5: 侧边栏展开/收起使用 150ms 过渡 */
  transition: margin-right 150ms ease-out;
  transition: margin-right var(--wk-transition-fast, 150ms ease-out);
  margin-right: 0;
}

/* 置顶消息栏 - 参考iOS WKPinnedMessageBarView */
.wk-chat-pined {
  width: 100%;
  height: 52px;
  display: flex;
  flex-direction: row;
  align-items: center;
  overflow: hidden;
  position: relative;
  border-bottom: 0.5px solid #e5e5e5;
  border-bottom: 0.5px solid var(--wk-color-border, #e5e5e5);
}

/* 左侧指示器容器 */
.wk-chat-pined-left {
  margin-left: 12px;
  width: 3px;
  height: 40px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex-shrink: 0;
}

/* 指示器条目 */
.wk-chat-pin-item {
  flex: 1 1;
  min-height: 4px;
  display: flex;
  cursor: pointer;
}

/* 指示器竖条 */
.wk-chat-pin-item-click {
  width: 3px;
  border-radius: 1.5px;
  transition: background-color 0.2s ease;
}

/* 内容区域 */
.wk-chat-pined-right {
  margin-left: 8px;
  display: flex;
  align-items: center;
  flex: 1 1;
  min-width: 0;
  cursor: pointer;
  height: 100%;
}

/* 置顶消息文字内容 */
.wk-chat-pined-right-content {
  flex: 1 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}

/* 置顶消息数量标签 - 主题色，较小字号 */
.wk-chat-pined-right-title {
  color: var(--wk-color-primary);
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
}

/* 置顶消息内容摘要 - 次要颜色 */
.wk-chat-pined-right-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #999;
  color: var(--wk-color-tip, #999);
  font-size: 13px;
  line-height: 18px;
}

/* 右侧箭头按钮 */
.wk-chat-pined-right-arrow {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  margin-right: 8px;
  border-radius: 50%;
  transition: background-color 0.15s ease;
}

.wk-chat-pined-right-arrow:hover {
  background-color: rgba(0, 0, 0, 0.05);
  background-color: var(--wk-color-hover, rgba(0, 0, 0, 0.05));
}

.wk-chat-pined-right-arrow svg {
  width: 16px;
  height: 16px;
  fill: #999;
  fill: var(--wk-color-tip, #999);
}

/* 取消置顶弹出菜单 */
.wk-chat-pined-right-menus {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  margin-right: 8px;
}

.wk-chat-pined-right-menus-item {
  font-size: 12px;
  color: #999;
  color: var(--wk-color-tip, #999);
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background-color 0.15s ease;
  white-space: nowrap;
}

.wk-chat-pined-right-menus-item:hover {
  background-color: rgba(0, 0, 0, 0.05);
  background-color: var(--wk-color-hover, rgba(0, 0, 0, 0.05));
  color: var(--wk-color-primary);
}

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

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

/* 空白页样式 */
.wk-chat-empty {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: var(--wk-gradient-chat-bg);
  position: relative;
}

/* 空白页顶部拖拽区域 */
.wk-chat-empty::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 64px;
  -webkit-app-region: drag;
}

/* Telegram 风格：logo + 提示文字 */
.wk-chat-empty img {
  width: 120px;
  height: 120px;
  opacity: 0.6;
  margin-bottom: 20px;
}

.wk-chat-empty-text {
  color: var(--wk-color-empty-text);
  font-size: 14px;
  text-align: center;
}

/* ===== 聊天头部样式 ===== */
/* 需求引用：5.1-5.10 */
/* 无障碍支持：使用语义化 header 标签 - 需求 9.2 */
.wk-chat-conversation-header,
header.wk-chat-conversation-header {
  height: 72px;
  width: 100%;
  background: transparent;
  border-bottom: 1px solid var(--wk-chat-header-border);
  display: flex;
  align-items: center;
  z-index: 11;
  padding: 0 16px;
  position: relative;
  cursor: pointer;
  box-sizing: border-box;
  -webkit-app-region: drag;
}

/* Windows Electron: 用伪元素创建 drag 区域，右上角留空 */
body.wk-electron.wk-platform-windows .wk-chat-conversation-header,
body.wk-electron.wk-platform-windows header.wk-chat-conversation-header {
  -webkit-app-region: no-drag;
}

body.wk-electron.wk-platform-windows .wk-chat-conversation-header::before,
body.wk-electron.wk-platform-windows header.wk-chat-conversation-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 140px;
  bottom: 0;
  -webkit-app-region: drag;
  pointer-events: none;
}

.wk-chat-conversation-header-left {
  display: flex;
  align-items: center;
  -webkit-app-region: no-drag;
}

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

.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;
}

/* 需求 5.3：头像尺寸 44px，圆角 8px */
.wk-chat-conversation-header-channel-avatar img {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
}

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

/* 需求 5.4, 5.5：标题字号 17px，字重 500，与头像间距 12px */
.wk-chat-conversation-header-channel-info-name {
  margin-left: 12px; /* 需求 5.5：标题与头像间距 12px */
  font-size: 17px; /* 需求 5.4：标题字号 17px */
  font-weight: 500; /* 需求 5.4：字重 500 */
  color: var(--wk-color-text-primary);
}

.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;
  -webkit-app-region: no-drag;
  margin-left: auto; /* 推到右侧 */
}

/* Windows Electron 环境下：操作按钮放到窗口控制按钮下方 */
body.wk-electron.wk-platform-windows .wk-chat-conversation-header-right {
  position: absolute;
  right: 16px;
  top: 40px; /* 32px(窗口按钮高度) + 8px(间距) */
}

/* 需求 5.7, 5.8：右侧操作图标尺寸 20px，间距 16px */
.wk-chat-conversation-header-right > .wk-chat-conversation-header-right-item {
  margin-right: 16px; /* 需求 5.8：操作图标间距 16px */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px; /* 容器尺寸，图标本身 20px */
  height: 32px;
  overflow: hidden; /* 防止 SVG 溢出 */
}

.wk-chat-conversation-header-right > .wk-chat-conversation-header-right-item:last-of-type {
  margin-right: 0px;
}

/* 需求 5.7：操作图标尺寸 20px */
/* 需求 6.1-6.9：图标颜色状态 */
.wk-chat-conversation-header-right > .wk-chat-conversation-header-right-item svg {
  width: 40px !important;
  height: 40px !important;
  color: var(--wk-color-icon-default);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
}

.wk-chat-conversation-header-right > .wk-chat-conversation-header-right-item:hover svg {
  color: var(--wk-color-icon-hover);
}

.wk-chat-conversation-header-right > .wk-chat-conversation-header-right-item.active svg {
  color: var(--wk-color-icon-active);
}

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

.wk-chat-channelsetting {
  pointer-events: auto;
  width: var(--wk-wdith-chat-channelsetting);
  height: 100%;
  /* 需求 8.5: 侧边栏展开/收起使用 150ms 过渡 */
  transition: margin-right 150ms ease-out,
              box-shadow 150ms ease-out;
  transition: margin-right var(--wk-transition-fast, 150ms ease-out),
              box-shadow var(--wk-transition-fast, 150ms ease-out);
  position: absolute;
  z-index: 99;
  top: 0;
  right: 0;
  margin-right: calc(0px - var(--wk-wdith-chat-channelsetting));
  background-color: var(--wk-chat-panel-bg);
  box-shadow: var(--wk-chat-panel-shadow);
  border-left: none;
}

.wk-message-text-readed-author {
  display: flex;
  align-items: center;
  padding-left: 20px;
}

.wk-message-text-readed-authoravatar {
  margin-right: 4px;
}
.wk-message-text-readed-authorname {
  margin-left: 10px;
  font-size: 16px;
}

/* 已读列表面板 */
.wk-chat-readed-list {
  pointer-events: auto;
  width: var(--wk-wdith-chat-channelsetting);
  height: 100%;
  /* 需求 8.5: 侧边栏展开/收起使用 150ms 过渡 */
  transition: margin-right 150ms ease-out,
              box-shadow 150ms ease-out;
  transition: margin-right var(--wk-transition-fast, 150ms ease-out),
              box-shadow var(--wk-transition-fast, 150ms ease-out);
  position: absolute;
  z-index: 99;
  top: 0;
  right: 0;
  /*margin-right: calc( 0px - var(--wk-wdith-chat-channelsetting));*/
  background-color: var(--wk-chat-panel-bg);
  box-shadow: var(--wk-chat-panel-shadow);
  border-left: none;
}

.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%;
}

/* 聊天弹出菜单 */
.wk-chat-popover {
  background-color: var(--wk-menu-bg);
  color: var(--wk-color-text-primary);
}

.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);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  border-radius: 100%;
}

.wk-conversation-header-mask:hover {
  background-color: rgb(0, 0, 0, 0.1);
}


/* ===== 聊天页面动画效果 ===== */
/* 需求引用：8.4, 8.5, 8.6 */

/* 聊天头部图标悬停动画 */
.wk-chat-conversation-header-right > .wk-chat-conversation-header-right-item {
    transition: transform 150ms ease-out;
    transition: transform var(--wk-transition-fast, 150ms ease-out);
}

.wk-chat-conversation-header-right > .wk-chat-conversation-header-right-item:hover {
    transform: scale(1.1);
}

.wk-chat-conversation-header-right > .wk-chat-conversation-header-right-item:active {
    transform: scale(0.95);
}

/* 搜索框添加按钮悬停动画 */
.wk-chat-search-add {
    transition: background-color 150ms ease-out,
                transform 150ms ease-out,
                color 150ms ease-out;
    transition: background-color var(--wk-transition-fast, 150ms ease-out),
                transform var(--wk-transition-fast, 150ms ease-out),
                color var(--wk-transition-fast, 150ms ease-out);
}

.wk-chat-search-add:hover {
    background-color: var(--wk-color-primary);
    color: var(--wk-color-item-selected-text);
    transform: scale(1.05);
}

.wk-chat-search-add:active {
    transform: scale(0.95);
}

/* 侧边栏展开时的遮罩动画 */
@keyframes wk-sidebar-overlay-fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* 聊天内容区域切换动画 */
.wk-chat-content-right {
    transition: transform 150ms ease-out;
    transition: transform var(--wk-transition-fast, 150ms ease-out);
}

/* 移动端聊天页面滑入动画 */
@media screen and (max-width: 640px) {
    .wk-chat-content-right {
        transition: transform 200ms ease-out;
        transition: transform var(--wk-transition-normal, 200ms ease-out);
    }
}

/* 空白页淡入动画 */
.wk-chat-empty {
    animation: wk-empty-fade-in 300ms ease-out;
    animation: wk-empty-fade-in var(--wk-transition-slow, 300ms ease-out);
}

@keyframes wk-empty-fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* 空白页 logo 动画 */
.wk-chat-empty img {
    transition: opacity 200ms ease-out,
                transform 200ms ease-out;
    transition: opacity var(--wk-transition-normal, 200ms ease-out),
                transform var(--wk-transition-normal, 200ms ease-out);
}

.wk-chat-empty:hover img {
    opacity: 0.8;
    transform: scale(1.02);
}


.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: #FFFFFF;
    background-color: var(--wk-color-card, #FFFFFF);

}

.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: var(--wk-color-text-hint);
   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: #1A1A1A;
    color: var(--wk-color-text-primary, #1A1A1A);
}

.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: #1A1A1A;
    color: var(--wk-color-text-primary, #1A1A1A);
    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);
    -webkit-app-region: drag;
    position: relative;
}

/* Windows Electron: 用伪元素创建 drag 区域，右上角留空 */
body.wk-electron.wk-platform-windows .wk-route-header {
    -webkit-app-region: no-drag;
}

body.wk-electron.wk-platform-windows .wk-route-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 140px;
    bottom: 0;
    -webkit-app-region: drag;
}

.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%;
    -webkit-app-region: no-drag;
}

.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: var(--wk-color-text-hint);
   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: var(--wk-color-text-primary);
}


.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: var(--wk-color-text-primary);
    position: absolute;
    opacity: 0;
    transform: translate3d(100vw, 0, 0);
    transition: transform var(--wk-layer-transition),opacity 500ms ease-in 0s;
    width: 180px;

}

.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;
    -webkit-app-region: no-drag;
}

.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;
}

.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-global-search-modal {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}

.wk-global-search-modal .semi-modal-header {
  margin: 0;
  padding: 12px 20px;
  align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
  background: #fff;
}

.wk-global-search-modal .semi-modal-header .semi-modal-title {
  width: 100%;
}

.wk-global-search-modal .semi-modal-close {
  top: 16px;
  right: 16px;
}

.wk-global-search-modal .semi-modal-content {
  padding: 0;
  background: #fff;
}

.wk-global-search-modal .semi-modal-body-wrapper,
.wk-global-search-modal .semi-modal-body {
  padding: 0;
}

/* ===== 顶部搜索栏 ===== */
.wk-global-search-header {
  width: 100%;
}

.wk-global-search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  background: #f5f6f8;
  background: var(--wk-color-secondary, #f5f6f8);
  border-radius: 8px;
  padding: 4px 12px;
  height: 36px;
  transition: background-color 0.15s, box-shadow 0.15s;
}

.wk-global-search-input-wrapper:focus-within {
  background: #fff;
  box-shadow: 0 0 0 2px rgba(38, 126, 240, 0.18);
}

.wk-global-search-input-wrapper .semi-input,
.wk-global-search-input-wrapper .semi-input-wrapper-focus {
  padding-left: 0;
  background-color: transparent;
}

.wk-global-search-input-wrapper .semi-input:hover,
.wk-global-search-input-wrapper .semi-input-wrapper-focus:hover {
  background-color: transparent;
}

.wk-global-search-icon {
  color: #8a8f99;
  color: var(--wk-color-text-secondary, #8a8f99);
  margin-right: 10px;
  font-size: 16px;
}

.wk-global-search-input,
.wk-global-search-input:hover {
  border: none;
  background: transparent;
  font-size: 15px;
  color: #1d2129;
  color: var(--wk-color-text-primary, #1d2129);
}

.wk-global-search-input:focus {
  outline: none;
}

/* ===== Tabs ===== */
.wk-global-search-tabs .semi-tabs-bar {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
  margin: 0;
  padding: 0 20px;
}

.wk-global-search-tabs .semi-tabs-tab {
  padding: 10px 0;
  margin-right: 24px;
  font-size: 14px;
  color: #4e5969;
  color: var(--wk-color-text-secondary, #4e5969);
  font-weight: 400;
  transition: color 0.15s;
}

.wk-global-search-tabs .semi-tabs-tab:hover {
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
}

.wk-global-search-tabs .semi-tabs-tab-active {
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
  font-weight: 500;
}

.wk-global-search-tab-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1;
}

/* 极简数字徽章：纯文本，不要药丸/圆点 */
.wk-gs-tab-count {
  font-size: 12px;
  font-weight: 400;
  color: #b1b5bd;
  color: var(--wk-color-text-tertiary, #b1b5bd);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.semi-tabs-tab-active .wk-gs-tab-count {
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
}

/* ===== 列表容器 ===== */
.wk-global-search-list {
  padding: 0;
  height: 540px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  background: #fff;
}

.wk-global-search-list::-webkit-scrollbar {
  width: 6px;
}
.wk-global-search-list::-webkit-scrollbar-track {
  background: transparent;
}
.wk-global-search-list::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.12);
  border-radius: 3px;
}
.wk-global-search-list::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.2);
}

/* ===== 单条搜索项（联系人/群组/平铺消息等） ===== */
.wk-global-search-item {
  display: flex;
  align-items: center;
  padding: 7px 20px;
  cursor: pointer;
  transition: background-color 0.12s ease;
  position: relative;
  min-height: 44px;
}

.wk-global-search-item:hover {
  background-color: #f5f6f8;
  background-color: var(--wk-color-secondary, #f5f6f8);
}

.wk-global-search-item-avatar {
  width: 32px;
  height: 32px;
  margin-right: 10px;
  flex-shrink: 0;
}

.wk-global-search-item-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: #e5e6eb;
  background-color: var(--wk-color-placeholder-bg, #e5e6eb);
}

.wk-global-search-item-info {
  flex: 1 1;
  min-width: 0;
  margin-right: 16px;
}

.wk-global-search-item-name {
  font-size: 14px;
  color: #1d2129;
  color: var(--wk-color-text-primary, #1d2129);
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.45;
}

/* 仅当有 desc 时才需要小间距 */
.wk-global-search-item-info:has(.wk-global-search-item-desc) .wk-global-search-item-name {
  margin-bottom: 2px;
  font-weight: 500;
}

.wk-global-search-item-desc {
  font-size: 12px;
  color: #8a8f99;
  color: var(--wk-color-text-secondary, #8a8f99);
  line-height: 1.5;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.wk-global-search-item-time {
  font-size: 12px;
  color: #b1b5bd;
  color: var(--wk-color-text-tertiary, #b1b5bd);
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 2px;
}

.wk-search-highlight {
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
  font-weight: 500;
  background: rgba(38, 126, 240, 0.1);
  padding: 0 2px;
  border-radius: 2px;
}

/* ===== 状态：加载/空 ===== */
.wk-global-search-loading,
.wk-global-search-empty {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  padding: 24px;
  flex: 1 1;
  min-height: 320px;
  color: #8a8f99;
  color: var(--wk-color-text-secondary, #8a8f99);
  font-size: 14px;
}

.wk-global-search-retry {
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
  cursor: pointer;
  font-size: 13px;
  padding: 4px 14px;
  border-radius: 6px;
  border: 1px solid #267EF0;
  border: 1px solid var(--wk-color-primary, #267EF0);
  background: transparent;
  transition: background-color 0.15s;
}
.wk-global-search-retry:hover {
  background: rgba(38, 126, 240, 0.08);
}

.wk-global-search-no-more {
  color: #b1b5bd;
  color: var(--wk-color-text-tertiary, #b1b5bd);
  display: flex;
  align-items: center;
  padding: 14px;
  justify-content: center;
  font-size: 12px;
}

.wk-global-search-load-more {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
  font-size: 13px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.wk-global-search-load-more:hover {
  background-color: #f5f6f8;
  background-color: var(--wk-color-secondary, #f5f6f8);
}
.wk-global-search-load-more .semi-spin {
  margin-right: 8px;
}

.wk-global-search-tabs .semi-empty {
  padding: 32px 20px;
}
.wk-global-search-tabs .semi-empty-description {
  color: #8a8f99;
  color: var(--wk-color-text-secondary, #8a8f99);
  font-size: 14px;
}

/* ===== 远程结果分隔 ===== */
.wk-global-search-remote-trigger {
  margin: 8px 16px 0;
  padding: 10px;
  text-align: center;
  cursor: pointer;
  font-size: 13px;
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-top: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
  transition: background-color 0.15s;
}
.wk-global-search-remote-trigger:hover {
  background-color: #f5f6f8;
  background-color: var(--wk-color-secondary, #f5f6f8);
}
.wk-global-search-remote-divider {
  padding: 12px 20px 6px;
  font-size: 12px;
  color: #b1b5bd;
  color: var(--wk-color-text-tertiary, #b1b5bd);
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  border-top: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.04));
  margin-top: 8px;
  background: #fafbfc;
  background: var(--wk-color-secondary, #fafbfc);
}

/* ===== 过滤器条（消息/文件/图片/链接 Tab 顶部） ===== */
.wk-global-search-filters {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 10px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
  flex-wrap: wrap;
  background: #fff;
  font-size: 13px;
}
.wk-global-search-filter-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #4e5969;
  color: var(--wk-color-text-secondary, #4e5969);
}
.wk-global-search-filter-label {
  font-size: 13px;
  color: #4e5969;
  color: var(--wk-color-text-secondary, #4e5969);
  white-space: nowrap;
}

/* ===== 消息 Tab 顶部工具栏 ===== */
.wk-global-search-toolbar {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 8px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
  background: #fff;
  font-size: 13px;
  color: #4e5969;
  color: var(--wk-color-text-secondary, #4e5969);
}
.wk-global-search-toolbar-item {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* ===== 消息 Tab 双栏布局 ===== */
.wk-global-search-msg-split {
  display: flex;
  flex: 1 1;
  min-height: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-top: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
  background: #fff;
}

/* 左栏：会话列表 */
.wk-global-search-msg-channels {
  width: 280px;
  flex-shrink: 0;
  overflow-y: auto;
  border-right: 1px solid rgba(0, 0, 0, 0.06);
  border-right: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
  background: #fafbfc;
  background: var(--wk-color-secondary, #fafbfc);
  padding: 6px 0;
}

.wk-global-search-msg-channels::-webkit-scrollbar {
  width: 6px;
}
.wk-global-search-msg-channels::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.12);
  border-radius: 3px;
}

.wk-global-search-msg-channel-item {
  display: flex;
  align-items: center;
  padding: 10px 16px;
  cursor: pointer;
  transition: background-color 0.12s ease;
  position: relative;
}

.wk-global-search-msg-channel-item:hover {
  background-color: rgba(0, 0, 0, 0.03);
}

.wk-global-search-msg-channel-item-active {
  background-color: rgba(38, 126, 240, 0.08);
}

.wk-global-search-msg-channel-item-active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background: #267EF0;
  background: var(--wk-color-primary, #267EF0);
  border-radius: 0 2px 2px 0;
}

.wk-global-search-msg-channel-item-active:hover {
  background-color: rgba(38, 126, 240, 0.12);
}

.wk-global-search-msg-channel-item .wk-global-search-item-avatar {
  width: 36px;
  height: 36px;
  margin-right: 10px;
}

.wk-global-search-msg-channel-item .wk-global-search-item-name {
  font-size: 14px;
  font-weight: 500;
  color: #1d2129;
  color: var(--wk-color-text-primary, #1d2129);
}

.wk-global-search-msg-channel-item .wk-global-search-item-desc {
  font-size: 12px;
  color: #8a8f99;
  color: var(--wk-color-text-secondary, #8a8f99);
}

/* 右栏：选中会话的消息详情 */
.wk-global-search-msg-detail {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  min-width: 0;
}

.wk-global-search-msg-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  font-size: 13px;
  color: #8a8f99;
  color: var(--wk-color-text-secondary, #8a8f99);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
  background: #fff;
}

.wk-global-search-msg-enter {
  cursor: pointer;
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 4px 8px;
  border-radius: 4px;
  transition: background-color 0.15s;
}

.wk-global-search-msg-enter:hover {
  background: rgba(38, 126, 240, 0.08);
}

.wk-global-search-msg-detail-list {
  flex: 1 1;
  overflow-y: auto;
  padding: 4px 0;
}

.wk-global-search-msg-detail-list::-webkit-scrollbar {
  width: 6px;
}
.wk-global-search-msg-detail-list::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.12);
  border-radius: 3px;
}

/* 详情列表内的消息项更宽松 */
.wk-global-search-msg-detail-list .wk-global-search-item {
  padding: 12px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  border-bottom: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.04));
}

.wk-global-search-msg-detail-list .wk-global-search-item:last-child {
  border-bottom: none;
}

.wk-global-search-msg-detail-list .wk-global-search-item-avatar {
  width: 36px;
  height: 36px;
}

/* ===== Footer 快捷键提示栏 ===== */
.wk-global-search-footer {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 8px 20px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-top: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
  background: #fafbfc;
  background: var(--wk-color-secondary, #fafbfc);
  font-size: 12px;
  color: #8a8f99;
  color: var(--wk-color-text-secondary, #8a8f99);
  height: 36px;
  flex-shrink: 0;
}
.wk-gs-kbd-group {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.wk-gs-kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.12));
  border-bottom-width: 2px;
  border-radius: 3px;
  font-size: 11px;
  font-family: -apple-system, system-ui, sans-serif;
  color: #4e5969;
  color: var(--wk-color-text-secondary, #4e5969);
}

/* ===== 状态：空 / 加载 ===== */
.wk-gs-empty-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #f5f6f8;
  background: var(--wk-color-secondary, #f5f6f8);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
  position: relative;
}
.wk-gs-empty-icon::after {
  content: "";
  width: 32px;
  height: 32px;
  background: #b1b5bd;
  background: var(--wk-color-text-tertiary, #b1b5bd);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}
.wk-gs-empty-icon-search::after {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27><circle cx=%2711%27 cy=%2711%27 r=%277%27/><path d=%27M20 20l-3-3%27/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27><circle cx=%2711%27 cy=%2711%27 r=%277%27/><path d=%27M20 20l-3-3%27/></svg>");
}
.wk-gs-empty-icon-noresult::after {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27><circle cx=%2711%27 cy=%2711%27 r=%277%27/><path d=%27M20 20l-3-3M8 11h6%27/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27><circle cx=%2711%27 cy=%2711%27 r=%277%27/><path d=%27M20 20l-3-3M8 11h6%27/></svg>");
}
.wk-gs-empty-icon-error {
  background: rgba(245, 63, 63, 0.08);
}
.wk-gs-empty-icon-error::after {
  background: #f53f3f;
  background: var(--wk-color-danger, #f53f3f);
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27><circle cx=%2712%27 cy=%2712%27 r=%2710%27/><path d=%27M12 8v4M12 16h.01%27/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27><circle cx=%2712%27 cy=%2712%27 r=%2710%27/><path d=%27M12 8v4M12 16h.01%27/></svg>");
}
.wk-gs-empty-icon-warn {
  background: rgba(255, 153, 31, 0.1);
}
.wk-gs-empty-icon-warn::after {
  background: #ff991f;
  background: var(--wk-color-warning, #ff991f);
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27><path d=%27M12 2L2 22h20L12 2zM12 9v5M12 18h.01%27/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27><path d=%27M12 2L2 22h20L12 2zM12 9v5M12 18h.01%27/></svg>");
}
.wk-gs-empty-title {
  font-size: 14px;
  font-weight: 500;
  color: #1d2129;
  color: var(--wk-color-text-primary, #1d2129);
  margin-top: 8px;
}
.wk-gs-empty-desc {
  font-size: 12px;
  color: #8a8f99;
  color: var(--wk-color-text-secondary, #8a8f99);
}

/* 顶部进度条 (替代全屏 Spin) */
.wk-gs-progress {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #267EF0, transparent);
  background: linear-gradient(90deg, transparent, var(--wk-color-primary, #267EF0), transparent);
  background-size: 50% 100%;
  background-repeat: no-repeat;
  animation: wk-gs-progress-slide 1.4s ease-in-out infinite;
}
@keyframes wk-gs-progress-slide {
  0% { background-position: -50% 0; }
  100% { background-position: 150% 0; }
}

.wk-global-search-loading {
  position: relative;
  display: block;
  padding: 0;
  height: auto;
  min-height: 320px;
}

.wk-gs-loading-skeleton {
  padding: 14px 20px;
}
.wk-gs-skeleton-row {
  display: flex;
  align-items: center;
  padding: 8px 0;
  gap: 12px;
}
.wk-gs-skeleton-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 37%, #eee 63%);
  background-size: 400% 100%;
  animation: wk-gs-skeleton-shimmer 1.4s ease infinite;
}
.wk-gs-skeleton-lines {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.wk-gs-skeleton-line {
  height: 10px;
  border-radius: 4px;
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 37%, #eee 63%);
  background-size: 400% 100%;
  animation: wk-gs-skeleton-shimmer 1.4s ease infinite;
}
.wk-gs-skeleton-line-w1 { width: 30%; }
.wk-gs-skeleton-line-w2 { width: 60%; }
@keyframes wk-gs-skeleton-shimmer {
  0% { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}

/* ===== 已选筛选条件胶囊 ===== */
.wk-gs-filter-chips {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1 1;
}
.wk-gs-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 4px 2px 10px;
  background: rgba(38, 126, 240, 0.08);
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
  border-radius: 12px;
  font-size: 12px;
  line-height: 20px;
}
.wk-gs-filter-chip-close {
  cursor: pointer;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
  transition: background-color 0.12s;
}
.wk-gs-filter-chip-close:hover {
  background: rgba(38, 126, 240, 0.15);
}
.wk-gs-filter-clear {
  cursor: pointer;
  font-size: 12px;
  color: #8a8f99;
  color: var(--wk-color-text-secondary, #8a8f99);
  margin-left: 4px;
}
.wk-gs-filter-clear:hover {
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
}

/* ===== 「筛选」按钮 ===== */
.wk-gs-filter-btn {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  height: 28px;
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.12));
  border-radius: 6px;
  font-size: 13px;
  color: #4e5969;
  color: var(--wk-color-text-secondary, #4e5969);
  cursor: pointer;
  transition: all 0.12s;
}
.wk-gs-filter-btn:hover {
  border-color: #267EF0;
  border-color: var(--wk-color-primary, #267EF0);
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
}
.wk-gs-filter-btn-active {
  border-color: #267EF0;
  border-color: var(--wk-color-primary, #267EF0);
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
  background: rgba(38, 126, 240, 0.06);
}
.wk-gs-filter-btn-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  background: #267EF0;
  background: var(--wk-color-primary, #267EF0);
  color: #fff;
  border-radius: 8px;
  font-size: 10px;
  margin-left: 2px;
}

/* ===== 筛选抽屉 ===== */
.wk-global-search-list-with-panel .wk-global-search-msg-split {
  margin-right: 240px;
}
.wk-gs-filter-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 240px;
  background: #fff;
  border-left: 1px solid rgba(0, 0, 0, 0.06);
  border-left: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
  display: flex;
  flex-direction: column;
  z-index: 2;
  animation: wk-gs-slide-in-right 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
@keyframes wk-gs-slide-in-right {
  from { transform: translateX(100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}
.wk-gs-filter-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  font-size: 14px;
  font-weight: 500;
  color: #1d2129;
  color: var(--wk-color-text-primary, #1d2129);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
}
.wk-gs-filter-panel-close {
  cursor: pointer;
  font-size: 18px;
  color: #8a8f99;
  color: var(--wk-color-text-secondary, #8a8f99);
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background 0.12s;
}
.wk-gs-filter-panel-close:hover {
  background: #f5f6f8;
  background: var(--wk-color-secondary, #f5f6f8);
  color: #1d2129;
  color: var(--wk-color-text-primary, #1d2129);
}
.wk-gs-filter-panel-body {
  flex: 1 1;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.wk-gs-filter-panel-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wk-gs-filter-panel-label {
  font-size: 12px;
  color: #8a8f99;
  color: var(--wk-color-text-secondary, #8a8f99);
  font-weight: 500;
}
.wk-gs-filter-panel-footer {
  padding: 12px 16px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-top: 1px solid var(--wk-line-color, rgba(0, 0, 0, 0.06));
}
.wk-gs-filter-panel-reset {
  width: 100%;
  height: 32px;
  background: #f5f6f8;
  background: var(--wk-color-secondary, #f5f6f8);
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #4e5969;
  color: var(--wk-color-text-secondary, #4e5969);
  cursor: pointer;
  transition: all 0.12s;
}
.wk-gs-filter-panel-reset:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #1d2129;
  color: var(--wk-color-text-primary, #1d2129);
}

/* 筛选抽屉打开时主区让出空间 */
.wk-global-search-list {
  position: relative;
}
.wk-global-search-list-with-panel > *:not(.wk-gs-filter-panel) {
  margin-right: 240px;
}
.wk-global-search-list-with-panel .wk-gs-filter-panel ~ * {
  margin-right: 0;
}

/* ===== 图片 Tab 网格 ===== */
.wk-gs-image-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 8px;
  gap: 8px;
  padding: 16px 20px;
}
.wk-gs-image-cell {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  background: #f5f6f8;
  background: var(--wk-color-secondary, #f5f6f8);
  transition: transform 0.12s, box-shadow 0.12s;
}
.wk-gs-image-cell:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
.wk-gs-image-cell img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.wk-gs-image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b1b5bd;
  color: var(--wk-color-text-tertiary, #b1b5bd);
}
.wk-gs-image-cell-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 6px 8px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
  color: #fff;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  transition: opacity 0.15s;
}
.wk-gs-image-cell:hover .wk-gs-image-cell-overlay {
  opacity: 1;
}

/* ===== 「全部」Tab 分组 ===== */
.wk-gs-all-section {
  border-bottom: 6px solid #fafbfc;
  border-bottom: 6px solid var(--wk-color-secondary, #fafbfc);
  padding: 8px 0;
}
.wk-gs-all-section:last-child {
  border-bottom: none;
}
.wk-gs-all-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 20px 6px;
}
.wk-gs-all-section-title {
  font-size: 13px;
  color: #4e5969;
  color: var(--wk-color-text-secondary, #4e5969);
  font-weight: 500;
}
.wk-gs-all-section-count {
  color: #b1b5bd;
  color: var(--wk-color-text-tertiary, #b1b5bd);
  font-weight: 400;
  margin-left: 4px;
}
.wk-gs-all-section-more {
  font-size: 12px;
  color: #267EF0;
  color: var(--wk-color-primary, #267EF0);
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
}
.wk-gs-all-section-more:hover {
  background: rgba(38, 126, 240, 0.08);
}

/* ===== Modal 入场动效 ===== */
.wk-global-search-modal .semi-modal {
  animation: wk-gs-modal-in 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
@keyframes wk-gs-modal-in {
  from {
    transform: scale(0.96) translateY(-4px);
    opacity: 0;
  }
  to {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
}

/* Tab 切换微动效 */
.wk-global-search-tabs .semi-tabs-pane-active {
  animation: wk-gs-tab-fade 120ms ease-out;
}
@keyframes wk-gs-tab-fade {
  from { opacity: 0; transform: translateY(2px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== inline 全屏模式（保留兼容） ===== */
.wk-global-search-inline {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.wk-global-search-inline .wk-global-search-header {
  width: 100%;
  padding: 16px 24px 8px;
  border-bottom: 1px solid var(--wk-line-color);
}
.wk-global-search-inline .wk-global-search-tabs {
  flex: 1 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.wk-global-search-inline .wk-global-search-list {
  height: auto;
  flex: 1 1;
  min-height: 0;
}

/**
 * 搜索面板样式
 * 
 * 优化说明：
 * - 面板宽度 320px - 需求 12.1
 * - 圆角 12px - 需求 12.2
 * - 搜索结果项头像 32px - 需求 12.3
 * - 搜索结果项高度 48px - 需求 12.4
 * - 名称字号 14px - 需求 12.5
 * - 描述字号 12px - 需求 12.6
 * - 分组标题字号 12px，提示文字色 - 需求 12.7
 * - 悬停背景色 - 需求 12.8
 * 
 * 需求引用：12.1-12.8
 * 
 * 主题适配：所有颜色通过令牌变量引用，无 body[theme-mode] 覆盖块
 */

/* 搜索面板容器 */
.wk-chat-search-popover {
  /* 面板宽度 320px - 需求 12.1 */
  width: 320px;
  max-height: 80vh;
  overflow-y: auto;
  background-color: var(--wk-color-card);
  padding: 0 16px 12px 16px;
  padding: 0 var(--wk-spacing-lg, 16px) var(--wk-spacing-md, 12px) var(--wk-spacing-lg, 16px);
  
  /* 圆角 12px - 需求 12.2 */
  border-radius: 12px;
  border-radius: var(--wk-radius-lg, 12px);
  
  /* 阴影通过令牌变量适配主题 */
  box-shadow: var(--wk-panel-shadow);
  
  /* 滚动条通过令牌变量适配主题 */
  scrollbar-width: thin;
  scrollbar-color: var(--wk-scrollbar-thumb) transparent;
}

.wk-chat-search-popover::-webkit-scrollbar {
  width: 6px;
}

.wk-chat-search-popover::-webkit-scrollbar-track {
  background: transparent;
}

.wk-chat-search-popover::-webkit-scrollbar-thumb {
  background-color: var(--wk-scrollbar-thumb);
  border-radius: 3px;
}

.wk-chat-search-popover:hover::-webkit-scrollbar-thumb {
  background-color: var(--wk-scrollbar-thumb-hover);
}

/* 搜索加载状态 */
.wk-search-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 0 20px 0;
  gap: 8px;
  gap: var(--wk-spacing-sm, 8px);
}

.wk-search-loading-text {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: var(--wk-color-text-secondary);
}

/* 搜索区域样式 */
.wk-search-section {
  margin-top: 12px;
  margin-top: var(--wk-spacing-md, 12px);
}

/* 分组标题 - 需求 12.7 */
.wk-search-section-title {
  padding: 0 8px;
  padding: 0 var(--wk-spacing-sm, 8px);
  margin: 12px 0 4px 0;
  margin: var(--wk-spacing-md, 12px) 0 var(--wk-spacing-xs, 4px) 0;
  /* 分组标题字号 12px - 需求 12.7 */
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
  line-height: normal;
  /* 提示文字色 - 需求 12.7 */
  color: var(--wk-color-text-hint);
  font-weight: 500;
}

/* 搜索结果项 - 需求 12.3, 12.4 */
.wk-search-item {
  display: flex;
  align-items: center;
  /* 搜索结果项高度 48px - 需求 12.4 */
  height: 48px;
  padding: 0 8px;
  padding: 0 var(--wk-spacing-sm, 8px);
  cursor: pointer;
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
  position: relative;
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

/* 搜索结果项悬停 - 需求 12.8 */
.wk-search-item:hover {
  background-color: var(--wk-color-item-hover);
}

/* 搜索结果项头像 - 需求 12.3 */
.wk-search-item-avatar {
  /* 头像尺寸 32px - 需求 12.3 */
  width: 32px;
  height: 32px;
  margin-right: 12px;
  margin-right: var(--wk-spacing-md, 12px);
  flex-shrink: 0;
}

.wk-search-item-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
  -o-object-fit: cover;
     object-fit: cover;
  background-color: var(--wk-color-text-hint);
}

/* 搜索结果项信息 */
.wk-search-item-info {
  flex: 1 1;
  min-width: 0;
}

/* 搜索结果项名称 - 需求 12.5 */
.wk-search-item-name {
  /* 名称字号 14px - 需求 12.5 */
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  line-height: 1.4;
  color: var(--wk-color-text-primary);
  font-weight: 400;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 搜索结果项描述 - 需求 12.6 */
.wk-search-item-desc {
  /* 描述字号 12px - 需求 12.6 */
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
  color: var(--wk-color-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}

/* 搜索结果项悬停提示 */
.wk-search-item-hover {
  position: absolute;
  right: 8px;
  right: var(--wk-spacing-sm, 8px);
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
  color: var(--wk-color-text-hint);
  opacity: 0;
  transition: opacity 150ms ease-out;
  transition: opacity var(--wk-transition-fast, 150ms ease-out);
}

.wk-search-item:hover .wk-search-item-hover {
  opacity: 1;
}

/* 查看更多链接 */
.wk-search-more {
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
  line-height: normal;
  color: var(--wk-color-primary);
  cursor: pointer;
  padding: 8px;
  padding: var(--wk-spacing-sm, 8px);
  border-radius: 4px;
  border-radius: var(--wk-radius-sm, 4px);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
}

.wk-search-more:hover {
  color: var(--wk-color-primary-hover);
}

/* 顶部常驻入口（仿企微下拉） */
.wk-search-entry {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
  cursor: pointer;
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid var(--wk-color-border, rgba(0, 0, 0, 0.06));
  border-radius: 0;
  padding-bottom: 10px;
}

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

.wk-search-entry-icon {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
  color: var(--wk-color-primary);
  flex-shrink: 0;
}

.wk-search-entry-title {
  flex: 1 1;
  font-size: 14px;
  color: var(--wk-color-text-primary);
}

.wk-search-entry-shortcut {
  font-size: 12px;
  color: var(--wk-color-text-secondary);
  background-color: rgba(0, 0, 0, 0.05);
  background-color: var(--wk-color-item-hover, rgba(0, 0, 0, 0.05));
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 8px;
}

/* 全局搜索入口 */
.wk-search-global {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  padding: var(--wk-spacing-sm, 8px) var(--wk-spacing-md, 12px);
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
  cursor: pointer;
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

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

/* 全局搜索图标 - 需求 6.3 */
.wk-search-global-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--wk-color-primary);
  border-radius: 9999px;
  border-radius: var(--wk-radius-full, 9999px);
  margin-right: 12px;
  margin-right: var(--wk-spacing-md, 12px);
  flex-shrink: 0;
}

.wk-search-global-icon svg {
  color: var(--wk-bubble-send-color);
  /* 小型图标尺寸 16px - 需求 6.3 */
  width: 16px;
  width: var(--wk-icon-size-small, 16px);
  height: 16px;
  height: var(--wk-icon-size-small, 16px);
}

/* 全局搜索信息 */
.wk-search-global-info {
  flex: 1 1;
}

.wk-search-global-title {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: var(--wk-color-text-primary);
  font-weight: 400;
  line-height: normal;
  margin-bottom: 2px;
}

.wk-search-global-desc {
  font-size: 10px;
  color: var(--wk-color-text-secondary);
}

/* v5+: 键盘选中态（高亮当前选中条目） */
.wk-search-item-active {
  background-color: var(--wk-color-item-hover);
}

/* v5+: 分类计数 */
.wk-search-section-count {
  margin-left: 4px;
  color: var(--wk-color-text-hint);
  font-weight: 400;
}

/* v5+: 空状态（未输入或无结果） */
.wk-search-empty {
  padding: 32px 16px;
  text-align: center;
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
  color: var(--wk-color-text-secondary);
}

/* v5+: 搜索历史 */
.wk-search-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.wk-search-history-clear {
  cursor: pointer;
  color: var(--wk-color-primary);
  font-weight: 400;
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
}

.wk-search-history-clear:hover {
  color: var(--wk-color-primary-hover);
}

.wk-search-history-item {
  display: flex;
  align-items: center;
  height: 32px;
  padding: 0 8px;
  padding: 0 var(--wk-spacing-sm, 8px);
  cursor: pointer;
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: var(--wk-color-text-primary);
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

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

/**
 * 当前会话内搜索抽屉（Cmd+F 触发）
 * 360px 右侧 SideSheet，参考企微/微信的会话内查找
 */

.wk-inchannel-sheet .semi-sidesheet-inner {
  background-color: var(--wk-color-card);
}

.wk-inchannel-header {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  padding: var(--wk-spacing-md, 12px) var(--wk-spacing-lg, 16px);
  border-bottom: 1px solid var(--wk-color-border);
  gap: 8px;
  gap: var(--wk-spacing-sm, 8px);
}

.wk-inchannel-input-wrapper {
  flex: 1 1;
  display: flex;
  align-items: center;
  background-color: var(--wk-color-input-bg);
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
  padding: 0 8px;
  padding: 0 var(--wk-spacing-sm, 8px);
}

.wk-inchannel-search-icon {
  color: var(--wk-color-text-hint);
  font-size: 16px;
  margin-right: 4px;
}

.wk-inchannel-input {
  flex: 1 1;
  background: transparent !important;
  border: none !important;
  height: 32px;
}

.wk-inchannel-close {
  cursor: pointer;
  color: var(--wk-color-text-hint);
  font-size: 18px;
  padding: 4px;
  border-radius: 4px;
  border-radius: var(--wk-radius-sm, 4px);
  transition: background-color 150ms ease-out;
}

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

.wk-inchannel-body {
  height: calc(100% - 56px);
  overflow-y: auto;
  padding: 12px 0;
  padding: var(--wk-spacing-md, 12px) 0;
}

.wk-inchannel-empty,
.wk-inchannel-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
  color: var(--wk-color-text-secondary);
  gap: 12px;
}

.wk-inchannel-count {
  padding: 0 16px 8px;
  padding: 0 var(--wk-spacing-lg, 16px) var(--wk-spacing-sm, 8px);
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
  color: var(--wk-color-text-hint);
}

.wk-inchannel-list {
  display: flex;
  flex-direction: column;
}

.wk-inchannel-item {
  display: flex;
  padding: 12px 16px;
  padding: var(--wk-spacing-md, 12px) var(--wk-spacing-lg, 16px);
  cursor: pointer;
  gap: 12px;
  gap: var(--wk-spacing-md, 12px);
  transition: background-color 150ms ease-out;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  border-bottom: 1px solid var(--wk-color-border-light, rgba(0, 0, 0, 0.04));
}

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

.wk-inchannel-item-avatar {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}

.wk-inchannel-item-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: var(--wk-color-text-hint);
}

.wk-inchannel-item-info {
  flex: 1 1;
  min-width: 0;
}

.wk-inchannel-item-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.wk-inchannel-item-from {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  font-weight: 500;
  color: var(--wk-color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wk-inchannel-item-time {
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
  color: var(--wk-color-text-hint);
  flex-shrink: 0;
  margin-left: 8px;
}

.wk-inchannel-item-content {
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
  color: var(--wk-color-text-secondary);
  line-height: 1.5;
  word-break: break-all;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 关键词高亮 */
.wk-inchannel-highlight {
  color: var(--wk-color-primary);
  font-weight: 500;
  background-color: rgba(38, 126, 240, 0.1);
  padding: 0 2px;
  border-radius: 2px;
}

[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] button,[data-lk-theme] input{font:inherit;line-height:inherit}[data-lk-theme] .lk-button{-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, 0.1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--lk-control-fg: var(--lk-fg);--lk-control-bg: var(--lk-bg2);--lk-control-hover-bg: var(--lk-bg3);--lk-control-active-bg: var(--lk-bg4);--lk-control-active-hover-bg: var(--lk-bg5);--lk-connection-excellent: #06db4d;--lk-connection-good: #f9b11f;--lk-connection-poor: #f91f31;--lk-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size: 16px;--lk-line-height: 1.5;--lk-border-radius: 0.5rem;--lk-box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);--lk-drop-shadow: rgba(255, 255, 255, 0.2) 0px 0px 24px;--lk-grid-gap: 0.5rem;--lk-control-bar-height: 69px;--lk-chat-header-height: 69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{display:inline-flex;align-items:stretch;height:100%}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{position:relative;flex-shrink:0}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.lk-button-group-menu>.lk-button::after,.lk-button-group-menu>.lk-start-audio-button::after,.lk-button-group-menu>.lk-chat-toggle::after,.lk-button-group-menu>.lk-disconnect-button::after{margin-left:0}.lk-button-menu::after{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-0.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg: var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg: var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:rgba(0,0,0,.05)}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{width:-moz-max-content;width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:bold;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width: 600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:-moz-fit-content;width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translateX(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count), minmax(0, 1fr));grid-auto-rows:minmax(0, 1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;grid-gap:var(--lk-grid-gap);gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media(max-width: 600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps: calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps: calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{position:relative;width:1rem;width:var(--lk-indicator-size, 1rem);height:1rem;height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg: var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;background-color:#000}.lk-participant-media-video[data-lk-orientation=landscape]{-o-object-fit:cover;object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{-o-object-fit:contain;object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform 100ms cubic-bezier(0.19, 0.02, 0.09, 1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:100ms cubic-bezier(0.19, 0.02, 0.09, 1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:24px;gap:var(--lk-va-bar-gap, 24px)}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:12px;width:var(--lk-va-bar-width, 12px);border-radius:32px;border-radius:var(--lk-va-bar-border-radius, 32px);background-color:rgba(136, 136, 136, 0.2);background-color:var(--lk-va-bar-bg, rgba(136, 136, 136, 0.2));transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:rgb(136, 136, 136);background-color:var(--lk-fg, rgb(136, 136, 136));transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width: 2.5px;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile::after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share])::after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:rgba(0,0,0,.5);border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:rgba(0,0,0,.5);border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@keyframes lk-rotate{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] button,[data-lk-theme] input{font:inherit;line-height:inherit}[data-lk-theme] .lk-button{-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-room-container{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3, 1fr);grid-gap:10px;gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translateX(-50%);background-color:rgba(0,0,0,0)}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{width:100%}@media(max-width: 600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] button,[data-lk-theme] input{font:inherit;line-height:inherit}[data-lk-theme] .lk-button{-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0px;left:0px;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media(max-width: 400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);background:var(--lk-bg);padding:1rem;border-radius:var(--lk-border-radius);display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh}


.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3, 1fr);grid-gap:10px;gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translateX(-50%);background-color:rgba(0,0,0,0)}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{width:100%}@media(max-width: 600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] button,[data-lk-theme] input{font:inherit;line-height:inherit}[data-lk-theme] .lk-button{-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0px;left:0px;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media(max-width: 400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);background:var(--lk-bg);padding:1rem;border-radius:var(--lk-border-radius);display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh}


@charset "UTF-8";/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
 */
:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1;
}
.animate__animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animate__animated.animate__infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.animate__animated.animate__repeat-1 {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: var(--animate-repeat);
  animation-iteration-count: var(--animate-repeat);
}
.animate__animated.animate__repeat-2 {
  -webkit-animation-iteration-count: calc(1 * 2);
  animation-iteration-count: calc(1 * 2);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
  animation-iteration-count: calc(var(--animate-repeat) * 2);
}
.animate__animated.animate__repeat-3 {
  -webkit-animation-iteration-count: calc(1 * 3);
  animation-iteration-count: calc(1 * 3);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
  animation-iteration-count: calc(var(--animate-repeat) * 3);
}
.animate__animated.animate__delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-delay: var(--animate-delay);
  animation-delay: var(--animate-delay);
}
.animate__animated.animate__delay-2s {
  -webkit-animation-delay: calc(1s * 2);
  animation-delay: calc(1s * 2);
  -webkit-animation-delay: calc(var(--animate-delay) * 2);
  animation-delay: calc(var(--animate-delay) * 2);
}
.animate__animated.animate__delay-3s {
  -webkit-animation-delay: calc(1s * 3);
  animation-delay: calc(1s * 3);
  -webkit-animation-delay: calc(var(--animate-delay) * 3);
  animation-delay: calc(var(--animate-delay) * 3);
}
.animate__animated.animate__delay-4s {
  -webkit-animation-delay: calc(1s * 4);
  animation-delay: calc(1s * 4);
  -webkit-animation-delay: calc(var(--animate-delay) * 4);
  animation-delay: calc(var(--animate-delay) * 4);
}
.animate__animated.animate__delay-5s {
  -webkit-animation-delay: calc(1s * 5);
  animation-delay: calc(1s * 5);
  -webkit-animation-delay: calc(var(--animate-delay) * 5);
  animation-delay: calc(var(--animate-delay) * 5);
}
.animate__animated.animate__faster {
  -webkit-animation-duration: calc(1s / 2);
  animation-duration: calc(1s / 2);
  -webkit-animation-duration: calc(var(--animate-duration) / 2);
  animation-duration: calc(var(--animate-duration) / 2);
}
.animate__animated.animate__fast {
  -webkit-animation-duration: calc(1s * 0.8);
  animation-duration: calc(1s * 0.8);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
  animation-duration: calc(var(--animate-duration) * 0.8);
}
.animate__animated.animate__slow {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
}
.animate__animated.animate__slower {
  -webkit-animation-duration: calc(1s * 3);
  animation-duration: calc(1s * 3);
  -webkit-animation-duration: calc(var(--animate-duration) * 3);
  animation-duration: calc(var(--animate-duration) * 3);
}
@media print, (prefers-reduced-motion: reduce) {
  .animate__animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
  }

  .animate__animated[class*='Out'] {
    opacity: 0;
  }
}
/* Attention seekers  */
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }

  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}
@keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }

  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}
.animate__bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}
@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}
.animate__flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}
@-webkit-keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.animate__shakeX {
  -webkit-animation-name: shakeX;
  animation-name: shakeX;
}
@-webkit-keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
}
@keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
}
.animate__shakeY {
  -webkit-animation-name: shakeY;
  animation-name: shakeY;
}
@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.animate__headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake;
}
@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.animate__swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}
@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}
@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.animate__jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.animate__heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: calc(1s * 1.3);
  animation-duration: calc(1s * 1.3);
  -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
  animation-duration: calc(var(--animate-duration) * 1.3);
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
/* Back entrances */
@-webkit-keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInDown {
  -webkit-animation-name: backInDown;
  animation-name: backInDown;
}
@-webkit-keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInLeft {
  -webkit-animation-name: backInLeft;
  animation-name: backInLeft;
}
@-webkit-keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInRight {
  -webkit-animation-name: backInRight;
  animation-name: backInRight;
}
@-webkit-keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInUp {
  -webkit-animation-name: backInUp;
  animation-name: backInUp;
}
/* Back exits */
@-webkit-keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutDown {
  -webkit-animation-name: backOutDown;
  animation-name: backOutDown;
}
@-webkit-keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutLeft {
  -webkit-animation-name: backOutLeft;
  animation-name: backOutLeft;
}
@-webkit-keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutRight {
  -webkit-animation-name: backOutRight;
  animation-name: backOutRight;
}
@-webkit-keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutUp {
  -webkit-animation-name: backOutUp;
  animation-name: backOutUp;
}
/* Bouncing entrances  */
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__bounceIn {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}
@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}
@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}
@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}
@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}
/* Bouncing exits  */
@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.animate__bounceOut {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}
@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}
.animate__bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}
@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}
.animate__bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}
@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}
.animate__bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}
@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}
.animate__bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}
/* Fading entrances  */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.animate__fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}
@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}
@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}
@-webkit-keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInTopLeft {
  -webkit-animation-name: fadeInTopLeft;
  animation-name: fadeInTopLeft;
}
@-webkit-keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInTopRight {
  -webkit-animation-name: fadeInTopRight;
  animation-name: fadeInTopRight;
}
@-webkit-keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInBottomLeft {
  -webkit-animation-name: fadeInBottomLeft;
  animation-name: fadeInBottomLeft;
}
@-webkit-keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInBottomRight {
  -webkit-animation-name: fadeInBottomRight;
  animation-name: fadeInBottomRight;
}
/* Fading exits */
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
.animate__fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}
@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.animate__fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}
@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.animate__fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}
@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.animate__fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}
@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.animate__fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}
@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.animate__fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}
@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.animate__fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}
@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.animate__fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}
@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.animate__fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}
@-webkit-keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}
@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}
.animate__fadeOutTopLeft {
  -webkit-animation-name: fadeOutTopLeft;
  animation-name: fadeOutTopLeft;
}
@-webkit-keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}
@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}
.animate__fadeOutTopRight {
  -webkit-animation-name: fadeOutTopRight;
  animation-name: fadeOutTopRight;
}
@-webkit-keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}
@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}
.animate__fadeOutBottomRight {
  -webkit-animation-name: fadeOutBottomRight;
  animation-name: fadeOutBottomRight;
}
@-webkit-keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}
@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}
.animate__fadeOutBottomLeft {
  -webkit-animation-name: fadeOutBottomLeft;
  animation-name: fadeOutBottomLeft;
}
/* Flippers */
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
.animate__animated.animate__flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}
@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.animate__flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}
@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.animate__flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}
@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.animate__flipOutX {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}
@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.animate__flipOutY {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}
/* Lightspeed */
@-webkit-keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__lightSpeedInRight {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
@-webkit-keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__lightSpeedInLeft {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
@-webkit-keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.animate__lightSpeedOutRight {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
@-webkit-keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}
.animate__lightSpeedOutLeft {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
/* Rotating entrances */
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
/* Rotating exits */
@-webkit-keyframes rotateOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.animate__rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.animate__rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.animate__rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
@-webkit-keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.animate__rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.animate__rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
/* Specials */
@-webkit-keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.animate__hinge {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
  -webkit-animation-name: hinge;
  animation-name: hinge;
  -webkit-transform-origin: top left;
  transform-origin: top left;
}
@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.animate__jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.animate__rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}
/* Zooming entrances */
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}
.animate__zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}
@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}
@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}
@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}
@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}
/* Zooming exits */
@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}
.animate__zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}
@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}
.animate__zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
  -webkit-transform-origin: left center;
  transform-origin: left center;
}
@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
  }
}
.animate__zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
  -webkit-transform-origin: right center;
  transform-origin: right center;
}
@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
/* Sliding entrances */
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}
@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}
@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}
@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}
/* Sliding exits */
@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.animate__slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}
@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.animate__slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}
@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.animate__slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}
@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.animate__slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

/**
 * 基础设计令牌 - CSS 变量定义
 *
 * 本文件仅定义与主题无关的基础设计令牌，包括间距、字号、圆角、阴影、
 * 图标尺寸、动画过渡、加载尺寸等。
 *
 * 所有颜色相关的令牌已迁移到 color-tokens.css 中统一管理。
 *
 * 需求引用：1.5
 */

:root {
  /* ===== 间距变量 ===== */
  /* 用于控制组件内外的间距，确保视觉一致性 */
  --wk-spacing-xs: 4px;   /* 超小间距 - 用于紧凑元素 */
  --wk-spacing-sm: 8px;   /* 小间距 - 用于相关元素之间 */
  --wk-spacing-md: 12px;  /* 中等间距 - 用于一般元素之间 */
  --wk-spacing-lg: 16px;  /* 大间距 - 用于区块之间 */
  --wk-spacing-xl: 20px;  /* 超大间距 - 用于主要区块之间 */
  --wk-spacing-xxl: 24px; /* 最大间距 - 用于页面级别分隔 */

  /* ===== 字号变量 ===== */
  /* 用于控制文字大小，建立清晰的视觉层次 */
  --wk-font-size-caption: 12px;   /* 说明文字 - 用于辅助信息、时间戳 */
  --wk-font-size-body: 14px;      /* 正文 - 用于主要内容文字 */
  --wk-font-size-subtitle: 16px;  /* 副标题 - 用于次级标题 */
  --wk-font-size-title: 18px;     /* 标题 - 用于主要标题 */
  --wk-font-size-headline: 20px;  /* 大标题 - 用于页面标题 */

  /* ===== 圆角变量 ===== */
  /* 用于控制元素的圆角大小，保持设计风格统一 */
  --wk-radius-sm: 4px;     /* 小圆角 - 用于按钮、输入框 */
  --wk-radius-md: 8px;     /* 中等圆角 - 用于卡片、面板 */
  --wk-radius-lg: 12px;    /* 大圆角 - 用于头像、弹窗 */
  --wk-radius-xl: 16px;    /* 超大圆角 - 用于特殊强调元素 */
  --wk-radius-full: 9999px; /* 完全圆角 - 用于圆形元素、药丸形状 */

  /* ===== 阴影变量 ===== */
  /* 用于创建层次感和深度效果 */
  --wk-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);   /* 小阴影 - 用于轻微悬浮效果 */
  --wk-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);   /* 中等阴影 - 用于卡片、下拉菜单 */
  --wk-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.15);  /* 大阴影 - 用于弹窗、模态框 */

  /* ===== 图标尺寸规范 ===== */
  --wk-icon-size-navigation: 24px;        /* 导航图标尺寸 */
  --wk-icon-size-action: 20px;            /* 操作图标尺寸 */
  --wk-icon-size-small: 16px;             /* 小型图标尺寸 */
  --wk-icon-stroke-width: 1.5px;          /* 图标线条粗细 */

  /* ===== 动画过渡 ===== */
  --wk-transition-fast: 150ms ease-out;   /* 快速过渡 - 用于悬停效果 */
  --wk-transition-normal: 200ms ease-out; /* 正常过渡 - 用于选中效果 */
  --wk-transition-slow: 300ms ease-out;   /* 慢速过渡 - 用于消息动画 */

  /* ===== 加载尺寸变量 ===== */
  --wk-loading-size-sm: 24px;             /* 小尺寸加载动画 */
  --wk-loading-size-md: 32px;             /* 中尺寸加载动画 */
  --wk-loading-size-lg: 48px;             /* 大尺寸加载动画 */
}

/**
 * 颜色令牌系统 - CSS 变量定义
 *
 * 本文件定义了所有语义化颜色令牌的名称和白天模式默认值。
 * 颜色令牌与主题相关，每个主题通过独立的主题定义文件覆盖这些变量。
 *
 * 命名规范：
 * - 通用颜色令牌：--wk-color-{category}-{variant}
 * - 组件级复合令牌：--wk-{component}-{property}
 * - 遗留变量别名：保持旧名称，值引用新令牌
 *
 * 需求引用：1.1, 1.2, 1.3, 1.4, 1.5, 7.4, 12.4
 */

:root {
  /* ===== 主色调 ===== */
  --wk-color-primary: #0093f5;
  --wk-color-primary-hover: #0080d6;
  --wk-color-primary-active: #006db8;
  --wk-color-warning: #FAAD14;
  --wk-color-error: #FA5151;

  /* ===== 背景色 ===== */
  --wk-color-bg: #F5F7FA;
  --wk-color-card: #FFFFFF;
  --wk-color-sidebar: #FAFBFC;
  --wk-color-divider: #E8E8E8;

  /* ===== 文字色 ===== */
  --wk-color-text-primary: #1A1A1A;
  --wk-color-text-secondary: #666666;
  --wk-color-text-hint: #767676;
  --wk-color-text-disabled: #CCCCCC;

  /* ===== 渐变 ===== */
  --wk-gradient-chat-bg: linear-gradient(135deg, #E3F2FD 0%, #F3E5F5 100%);
  --wk-html-bg: linear-gradient(135deg, #E3F2FD 0%, #F3E5F5 100%);

  /* ===== 会话列表 ===== */
  --wk-color-item-selected: #0093f5;
  --wk-color-item-selected-bg: #0093f5;
  --wk-color-item-selected-shadow: none;
  --wk-color-item-selected-text: #FFFFFF;
  --wk-color-item-top: #F0F2F5;
  --wk-color-item-hover: #F5F7FA;
  --wk-color-item-normal: #FFFFFF;
  --wk-color-badge-unread: #FA5151;
  --wk-color-badge-mute: #C8C8C8;

  /* ===== 图标 ===== */
  --wk-color-icon-default: #666666;
  --wk-color-icon-hover: #333333;
  --wk-color-icon-active: #0093f5;

  /* ===== 消息气泡 ===== */
  --wk-bubble-send-bg: var(--wk-color-primary);
  --wk-bubble-send-color: #FFFFFF;
  --wk-bubble-send-tail: var(--wk-color-primary);
  --wk-bubble-recv-bg: #FFFFFF;
  --wk-bubble-recv-color: rgba(9, 30, 66, 0.87);
  --wk-bubble-recv-tail: #FFFFFF;
  --wk-bubble-recv-border: none;
  --wk-bubble-sender-name: rgba(9, 30, 66, 0.74);
  --wk-bubble-send-time: rgba(255, 255, 255, 0.75);
  --wk-bubble-recv-time: rgba(104, 108, 114, 0.75);
  --wk-bubble-link-send: #FFFFFF;
  --wk-bubble-link-send-underline: rgba(255, 255, 255, 0.5);
  --wk-bubble-link-send-underline-hover: rgba(255, 255, 255, 0.9);
  --wk-bubble-link-recv: #1A6DD4;
  --wk-bubble-link-recv-underline: rgba(26, 109, 212, 0.3);
  --wk-bubble-link-recv-hover: #1458B0;
  --wk-bubble-link-recv-underline-hover: rgba(20, 88, 176, 0.6);
  --wk-bubble-box-shadow: 0 1px 2px rgba(114, 114, 114, 0.25098);

  /* ===== 搜索 ===== */
  --wk-color-search-icon: #999999;
  --wk-color-search-highlight: #267ef0;
  --wk-color-search-highlight-bg: rgba(38, 126, 240, 0.1);

  /* ===== 链接 ===== */
  --wk-color-link: #267ef0;
  --wk-color-link-send: #FFFFFF;
  --wk-color-link-recv: #5BB8F5;

  /* ===== 滚动条 ===== */
  --wk-scrollbar-thumb: rgba(0, 0, 0, 0.2);
  --wk-scrollbar-thumb-hover: rgba(0, 0, 0, 0.35);
  --wk-scrollbar-global-thumb: rgba(0, 0, 0, 0.3);
  --wk-scrollbar-global-thumb-hover: rgba(0, 0, 0, 0.45);

  /* ===== 媒体 ===== */
  --wk-media-brightness: 1;
  --wk-media-brightness-hover: 1;

  /* ===== 加载 ===== */
  --wk-loading-overlay-bg: rgba(255, 255, 255, 0.8);

  /* ===== 文件上传遮罩 ===== */
  --wk-upload-mask-bg: rgba(255, 255, 255, 0.8);
  --wk-upload-mask-border: #999999;
  --wk-upload-mask-text: var(--wk-color-text-primary);

  /* ===== 聊天头部 ===== */
  --wk-chat-header-border: rgba(0, 0, 0, 0.06);
  --wk-chat-panel-shadow: 0 0.25rem 0.5rem 0.125rem rgba(114, 114, 114, 0.25098);
  --wk-chat-panel-bg: var(--wk-color-card);

  /* ===== 聊天区域滚动条 ===== */
  --wk-chat-scrollbar-thumb: rgba(0, 0, 0, 0.1);
  --wk-chat-scrollbar-thumb-idle: transparent;

  /* ===== 会话分组 ===== */
  --wk-group-count-bg: #F0F0F0;
  --wk-group-count-color: var(--wk-color-text-secondary);
  --wk-group-drag-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  --wk-group-drag-over-bg: rgba(18, 183, 245, 0.1);

  /* ===== 其他 ===== */
  --wk-color-placeholder-bg: #666666;
  --wk-color-empty-text: #999999;
  --wk-color-pin-indicator: #b5b5ef;
  --wk-color-load-more-hover-bg: #f8f9fa;
  --wk-color-message-card: #FFFFFF;
  --wk-color-float-shadow: 0 1px 2px rgba(114, 114, 114, 0.25);

  /* ===== 分组标题 ===== */
  --wk-section-title-color: var(--wk-color-text-hint);
  --wk-section-title-bg: var(--wk-color-bg);

  /* ===== 输入框 ===== */
  --wk-input-bg: #FFFFFF;
  --wk-input-border: #E8E8E8;
  --wk-input-placeholder: #999999;

  /* ===== 右键菜单 ===== */
  --wk-menu-bg: #FFFFFF;
  --wk-menu-text: #333333;
  --wk-menu-text-secondary: #666666;
  --wk-menu-hover-bg: rgba(0, 0, 0, 0.05);
  --wk-menu-divider: #E8E8E8;

  /* ===== 弹窗/对话框 ===== */
  --wk-dialog-bg: #FFFFFF;
  --wk-dialog-btn-bg: #FFFFFF;
  --wk-dialog-btn-border: #dee0e3;
  --wk-dialog-btn-text: #1f2329;

  /* ===== 登录页 ===== */
  --wk-login-bg: linear-gradient(135deg, #E3F2FD 0%, #F3E5F5 100%);
  --wk-login-card-bg: #FFFFFF;
  --wk-login-text: #333333;
  --wk-login-text-secondary: #999999;
  --wk-login-input-bg: #F7F7F7;
  --wk-login-input-border: #F7F7F7;

  /* ===== 语音消息 ===== */
  --wk-voice-play-bg-send: rgba(255, 255, 255, 0.3);
  --wk-voice-play-bg-recv: var(--wk-color-sidebar);
  --wk-voice-icon-send: #FFFFFF;
  --wk-voice-icon-recv: var(--wk-color-primary);
  --wk-voice-time-send: rgba(255, 255, 255, 0.75);
  --wk-voice-time-recv: var(--wk-color-text-secondary);
  --wk-voice-progress-stroke: #2f70f5;

  /* ===== 时间分隔线 ===== */
  --wk-time-bg: rgba(255, 255, 255, 0.8);
  --wk-time-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);

  /* ===== 通话消息 ===== */
  --wk-live-icon-recv-filter: none;

  /* ===== 系统消息 ===== */
  --wk-system-msg-color: rgba(9, 30, 66, 0.87);

  /* ===== 文字消息回复 ===== */
  --wk-text-reply-recv-color: rgba(0, 0, 0, 0.5);

  /* ===== 全局搜索弹窗 ===== */
  --wk-global-search-modal-bg: linear-gradient(180deg, #a9ccf9 0%, #ffffff 160px);

  /* ===== 面板/弹出层 ===== */
  --wk-panel-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  --wk-toolbar-icon-filter: brightness(0) saturate(100%);

  /* ===== Semi Design 桥接（白天模式默认值）===== */
  --semi-color-primary: #0093f5;
  --semi-color-danger: #FA5151;
  --semi-red-5: 250, 81, 81;

  /* ===== 遗留变量别名（向后兼容）===== */
  --wk-color-theme: var(--wk-color-primary);
  --wk-color-secondary: var(--wk-color-card);
  --wk-color-secondary-2: var(--wk-color-sidebar);
  --wk-color-hover: var(--wk-color-item-hover);
  --wk-color-font-tip: var(--wk-color-text-hint);
  --wk-line: 1px solid var(--wk-color-divider);
  --wk-line-color: var(--wk-color-divider);
  --wk-color-item: var(--wk-color-card);
  --wk-text-item: var(--wk-color-text-primary);
  --wk-message-item: var(--wk-color-message-card);
  --wk-message-color: var(--wk-color-text-primary);
}

/* ===== 全局覆盖 Semi Badge danger 颜色 =====
 * Semi Design 的 base.css 在 body[theme-mode=dark] 下会把 --semi-red-5 改为
 * 252,114,90（偏橙色），导致 --semi-color-danger 变成橙红色。
 * 由于 Semi CSS 加载顺序在后，变量级覆盖无效，必须直接覆盖元素背景色。
 */
body[theme-mode="dark"] .semi-badge-danger.semi-badge-count,
body[theme-mode="dark"] .semi-badge-danger.semi-badge-dot,
body[theme-mode="dark"] .semi-badge-danger.semi-badge-solid {
  background-color: #FA5151 !important;
}

/**
 * 夜间模式完整定义
 *
 * 本文件包含夜间模式下所有颜色令牌的覆盖值，是一个完整的、自包含的主题定义。
 * 包括：颜色令牌覆盖、Semi Design 桥接、滚动条、媒体亮度等所有主题相关设置。
 *
 * 选择器规范：统一使用 body[theme-mode="dark"]（带双引号）
 *
 * 需求引用：2.1, 2.3, 2.4, 3.1
 */

body[theme-mode="dark"] {
  /* ===== 主色调 ===== */
  --wk-color-primary: #0167CC;
  --wk-color-primary-hover: #0158B3;
  --wk-color-primary-active: #014A99;
  --wk-color-warning: #FAAD14;
  --wk-color-error: #FA5151;

  /* ===== 背景色 ===== */
  --wk-color-bg: #1C1D1D;
  --wk-color-card: #2A2B2B;
  --wk-color-sidebar: #1C1D1D;
  --wk-color-divider: rgba(255, 255, 255, 0.08);

  /* ===== 文字色 ===== */
  --wk-color-text-primary: #FFFFFF;
  --wk-color-text-secondary: #B0B0B0;
  --wk-color-text-hint: #8A8A8A;
  --wk-color-text-disabled: #555555;

  /* ===== 渐变 ===== */
  --wk-gradient-chat-bg: radial-gradient(ellipse at 50% 50%, #222323 0%, #1C1D1D 100%);
  --wk-html-bg: #1C1D1D;

  /* ===== 会话列表 ===== */
  --wk-color-item-selected: #2F5DB3;
  --wk-color-item-selected-bg: #2F5DB3;
  --wk-color-item-selected-shadow: none;
  --wk-color-item-selected-text: #FFFFFF;
  --wk-color-item-top: #282828;
  --wk-color-item-hover: #2A2B2B;
  --wk-color-item-normal: #1B1B1B;
  --wk-color-badge-unread: #FA5151;
  --wk-color-badge-mute: #555555;

  /* ===== 图标 ===== */
  --wk-color-icon-default: #B0B0B0;
  --wk-color-icon-hover: #FFFFFF;
  --wk-color-icon-active: #0167CC;

  /* ===== 消息气泡 ===== */
  --wk-bubble-send-bg: var(--wk-color-primary);
  --wk-bubble-send-color: #FFFFFF;
  --wk-bubble-send-tail: var(--wk-color-primary);
  --wk-bubble-recv-bg: var(--wk-color-card);
  --wk-bubble-recv-color: #FFFFFF;
  --wk-bubble-recv-tail: var(--wk-color-card);
  --wk-bubble-recv-border: none;
  --wk-bubble-sender-name: rgba(255, 255, 255, 0.55);
  --wk-bubble-send-time: rgba(255, 255, 255, 0.75);
  --wk-bubble-recv-time: rgba(255, 255, 255, 0.45);
  --wk-bubble-link-send: #FFFFFF;
  --wk-bubble-link-send-underline: rgba(255, 255, 255, 0.5);
  --wk-bubble-link-send-underline-hover: rgba(255, 255, 255, 0.9);
  --wk-bubble-link-recv: #5BB8F5;
  --wk-bubble-link-recv-underline: rgba(91, 184, 245, 0.4);
  --wk-bubble-link-recv-hover: #5BB8F5;
  --wk-bubble-link-recv-underline-hover: rgba(91, 184, 245, 0.6);
  --wk-bubble-box-shadow: none;

  /* ===== 搜索 ===== */
  --wk-color-search-icon: #8A8A8A;
  --wk-color-search-highlight: #5BB8F5;
  --wk-color-search-highlight-bg: rgba(91, 184, 245, 0.15);

  /* ===== 链接 ===== */
  --wk-color-link: #5BB8F5;
  --wk-color-link-send: #FFFFFF;
  --wk-color-link-recv: #5BB8F5;

  /* ===== 滚动条 ===== */
  --wk-scrollbar-thumb: rgba(255, 255, 255, 0.2);
  --wk-scrollbar-thumb-hover: rgba(255, 255, 255, 0.35);
  --wk-scrollbar-global-thumb: rgba(255, 255, 255, 0.12);
  --wk-scrollbar-global-thumb-hover: rgba(255, 255, 255, 0.25);

  /* ===== 媒体亮度 ===== */
  --wk-media-brightness: 0.9;
  --wk-media-brightness-hover: 1;

  /* ===== 加载 ===== */
  --wk-loading-overlay-bg: rgba(0, 0, 0, 0.8);

  /* ===== 文件上传遮罩 ===== */
  --wk-upload-mask-bg: rgba(43, 45, 49, 0.9);
  --wk-upload-mask-border: rgba(255, 255, 255, 0.12);
  --wk-upload-mask-text: var(--wk-color-text-primary);

  /* ===== 聊天头部 ===== */
  --wk-chat-header-border: rgba(255, 255, 255, 0.06);
  --wk-chat-panel-shadow: 0 0.25rem 0.5rem 0.125rem rgba(0, 0, 0, 0.4);
  --wk-chat-panel-bg: var(--wk-color-card);

  /* ===== 聊天区域滚动条 ===== */
  --wk-chat-scrollbar-thumb: rgba(255, 255, 255, 0.08);
  --wk-chat-scrollbar-thumb-idle: transparent;

  /* ===== 会话分组 ===== */
  --wk-group-count-bg: #3A3A3A;
  --wk-group-count-color: #D0D0D0;
  --wk-group-drag-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  --wk-group-drag-over-bg: rgba(18, 183, 245, 0.15);

  /* ===== 其他 ===== */
  --wk-color-placeholder-bg: #B0B0B0;
  --wk-color-empty-text: #8A8A8A;
  --wk-color-pin-indicator: #6B6BAF;
  --wk-color-load-more-hover-bg: #2A2B2B;
  --wk-color-message-card: #2A2B2B;
  --wk-color-float-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);

  /* ===== 分组标题 ===== */
  --wk-section-title-bg: var(--wk-color-sidebar);

  /* ===== 输入框 ===== */
  --wk-input-bg: #222323;
  --wk-input-border: rgba(255, 255, 255, 0.1);
  --wk-input-placeholder: #8A8A8A;

  /* ===== 全局搜索弹窗 ===== */
  --wk-global-search-modal-bg: var(--wk-color-sidebar);

  /* ===== 语音消息 ===== */
  --wk-voice-play-bg-send: rgba(255, 255, 255, 0.2);
  --wk-voice-play-bg-recv: rgba(255, 255, 255, 0.1);
  --wk-voice-icon-send: #FFFFFF;
  --wk-voice-icon-recv: #E8E8E8;
  --wk-voice-time-send: rgba(255, 255, 255, 0.75);
  --wk-voice-time-recv: rgba(255, 255, 255, 0.6);
  --wk-voice-progress-stroke: #5B9BF5;

  /* ===== 时间分隔线 ===== */
  --wk-time-bg: rgba(0, 0, 0, 0.3);
  --wk-time-shadow: none;

  /* ===== 通话消息 ===== */
  --wk-live-icon-recv-filter: brightness(0) invert(1);

  /* ===== 系统消息 ===== */
  --wk-system-msg-color: var(--wk-color-text-hint);

  /* ===== 无障碍 ===== */
  --wk-color-text-hint-accessible: #8A8A8A;

  /* ===== 文字消息回复 ===== */
  --wk-text-reply-recv-color: rgba(255, 255, 255, 0.5);

  /* ===== 面板/弹出层 ===== */
  --wk-panel-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
  --wk-toolbar-icon-filter: brightness(0) saturate(100%) invert(80%) sepia(5%) saturate(200%) hue-rotate(180deg);

  /* ===== 右键菜单 ===== */
  --wk-menu-bg: var(--wk-color-card);
  --wk-menu-text: #FFFFFF;
  --wk-menu-text-secondary: #A0A0A0;
  --wk-menu-hover-bg: rgba(255, 255, 255, 0.06);
  --wk-menu-divider: rgba(255, 255, 255, 0.08);

  /* ===== 弹窗/对话框 ===== */
  --wk-dialog-bg: #2A2B2B;
  --wk-dialog-btn-bg: #222323;
  --wk-dialog-btn-border: rgba(255, 255, 255, 0.1);
  --wk-dialog-btn-text: #FFFFFF;

  /* ===== 登录页 ===== */
  --wk-login-bg: #2B2D31;
  /* 暗色模式下用深色渐变替换浅色背景图，避免深色卡片压在浅色图上突兀 */
  --wk-login-page-bg-image: linear-gradient(180deg, #232428 0%, #17181B 100%);
  --wk-login-card-bg: #2A2B2B;
  --wk-login-text: #FFFFFF;
  --wk-login-text-secondary: #8A8A8A;
  --wk-login-input-bg: #2A2B2B;
  --wk-login-input-border: rgba(255, 255, 255, 0.1);

  /* ===== Semi Design 桥接 ===== */
  --semi-color-primary: #0167CC;
  --semi-color-primary-hover: #0158B3;
  --semi-color-danger: #FA5151;
  --semi-red-5: 250, 81, 81;
  --semi-color-bg-0: #2A2B2B;
  --semi-color-bg-1: #222323;
  --semi-color-bg-2: #1C1D1D;
  --semi-color-bg-3: #2A2B2B;
  --semi-color-fill-0: #222323;
  --semi-color-fill-1: #2A2B2B;
  --semi-color-fill-2: #2A2B2B;
  --semi-color-text-0: #FFFFFF;
  --semi-color-text-2: #B0B0B0;

  /* ===== 遗留变量别名覆盖（向后兼容）===== */
  --wk-color-theme: var(--wk-color-primary);
  --wk-color-secondary: #1C1D1D;
  --wk-color-secondary-2: #2A2B2B;
  --wk-color-hover: #2A2B2B;
  --wk-color-font-tip: var(--wk-color-text-hint);
  --wk-line: 1px solid rgba(255, 255, 255, 0.08);
  --wk-line-color: rgba(255, 255, 255, 0.08);
  --wk-color-item: #2A2B2B;
  --wk-text-item: #FFFFFF;
  --wk-message-item: #2A2B2B;
  --wk-message-color: #FFFFFF;

  /* ===== body 文字色 ===== */
  color: #FFFFFF !important;
}

/* ===== html 背景覆盖 ===== */
html[theme-mode="dark"],
body[theme-mode="dark"] html {
  background: var(--wk-html-bg);
  background-attachment: fixed;
}

/* ===== 覆盖 Semi Badge danger 颜色 =====
 * Semi Design 的 base.css 在 body[theme-mode=dark] 下会把 --semi-red-5 改为
 * 252,114,90（偏橙色），导致 Badge 背景色变成橙红色而非正红 #FA5151。
 * 变量级覆盖会被 Semi CSS 加载顺序覆盖，必须直接覆盖元素背景色。
 */
body[theme-mode="dark"] .semi-badge-danger.semi-badge-count,
body[theme-mode="dark"] .semi-badge-danger.semi-badge-dot,
body[theme-mode="dark"] .semi-badge-danger.semi-badge-solid {
  background-color: #FA5151 !important;
  background-color: var(--wk-color-badge-unread, #FA5151) !important;
}

/**
 * 樱花模式完整定义
 *
 * 本文件包含樱花模式下所有颜色令牌的覆盖值，是一个完整的、自包含的主题定义。
 * 包括：颜色令牌覆盖、Semi Design 桥接、滚动条、媒体亮度等所有主题相关设置。
 *
 * 樱花模式是一个浅色系主题，主题色为 #E8457A（樱花粉）。
 * 整体色调偏暖粉色，背景使用淡粉渐变，文字使用深玫红色系保证可读性。
 *
 * 选择器规范：统一使用 body[theme-mode="pink"]（带双引号）
 *
 * 需求引用：2.1, 2.3, 2.4, 3.1
 */

body[theme-mode="pink"] {
  /* ===== 主色调 ===== */
  --wk-color-primary: #E8457A;
  --wk-color-primary-hover: #D63A6E;
  --wk-color-primary-active: #C43062;
  --wk-color-warning: #FAAD14;
  --wk-color-error: #FA5151;

  /* ===== 背景色 ===== */
  --wk-color-bg: #FFF0F5;
  --wk-color-card: #FFFFFF;
  --wk-color-sidebar: #FFF5F8;
  --wk-color-divider: #F5C6D8;

  /* ===== 文字色 ===== */
  --wk-color-text-primary: #3D1A33;
  --wk-color-text-secondary: #6B4560;
  --wk-color-text-hint: #8C6B7F;
  --wk-color-text-disabled: #D4A8BC;

  /* ===== 渐变 ===== */
  --wk-gradient-chat-bg:
    radial-gradient(ellipse at 80% 10%, rgba(255, 182, 213, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 20% 80%, rgba(230, 190, 255, 0.2) 0%, transparent 50%),
    linear-gradient(155deg, #FFF0F5 0%, #FFF5FA 50%, #F8EEF5 100%);
  --wk-html-bg:
    radial-gradient(ellipse at 80% 10%, rgba(255, 182, 213, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 20% 80%, rgba(230, 190, 255, 0.2) 0%, transparent 50%),
    linear-gradient(155deg, #FFF0F5 0%, #FFF5FA 50%, #F8EEF5 100%);

  /* ===== 会话列表 ===== */
  --wk-color-item-selected: #E8457A;
  --wk-color-item-selected-bg: linear-gradient(135deg, #E8457A, #F06B95);
  --wk-color-item-selected-shadow: 0 2px 8px rgba(232, 69, 122, 0.2);
  --wk-color-item-selected-text: #FFFFFF;
  --wk-color-item-top: #FFE8F0;
  --wk-color-item-hover: #FFE8F0;
  --wk-color-item-normal: #FFFFFF;
  --wk-color-badge-unread: #FA5151;
  --wk-color-badge-mute: #D4A8BC;

  /* ===== 图标 ===== */
  --wk-color-icon-default: #8C6B7F;
  --wk-color-icon-hover: #3D1A33;
  --wk-color-icon-active: #E8457A;

  /* ===== 消息气泡 ===== */
  --wk-bubble-send-bg: linear-gradient(135deg, #E8457A, #F06B95);
  --wk-bubble-send-color: #FFFFFF;
  --wk-bubble-send-tail: #F06B95;
  --wk-bubble-recv-bg: #FFFFFF;
  --wk-bubble-recv-color: #3D1A33;
  --wk-bubble-recv-tail: #FFFFFF;
  --wk-bubble-recv-border: 1px solid #F5C6D8;
  --wk-bubble-sender-name: rgba(61, 26, 51, 0.74);
  --wk-bubble-send-time: rgba(255, 255, 255, 0.75);
  --wk-bubble-recv-time: rgba(107, 69, 96, 0.75);
  --wk-bubble-link-send: #FFFFFF;
  --wk-bubble-link-send-underline: rgba(255, 255, 255, 0.5);
  --wk-bubble-link-send-underline-hover: rgba(255, 255, 255, 0.9);
  --wk-bubble-link-recv: #E8457A;
  --wk-bubble-link-recv-underline: rgba(232, 69, 122, 0.3);
  --wk-bubble-link-recv-hover: #D63A6E;
  --wk-bubble-link-recv-underline-hover: rgba(214, 58, 110, 0.6);
  --wk-bubble-box-shadow: 0 1px 3px rgba(232, 69, 122, 0.12);

  /* ===== 搜索 ===== */
  --wk-color-search-icon: #8C6B7F;
  --wk-color-search-highlight: #E8457A;
  --wk-color-search-highlight-bg: rgba(232, 69, 122, 0.1);

  /* ===== 链接 ===== */
  --wk-color-link: #E8457A;
  --wk-color-link-send: #FFFFFF;
  --wk-color-link-recv: #E8457A;

  /* ===== 滚动条 ===== */
  --wk-scrollbar-thumb: rgba(232, 69, 122, 0.2);
  --wk-scrollbar-thumb-hover: rgba(232, 69, 122, 0.35);
  --wk-scrollbar-global-thumb: rgba(232, 69, 122, 0.25);
  --wk-scrollbar-global-thumb-hover: rgba(232, 69, 122, 0.4);

  /* ===== 媒体亮度 ===== */
  --wk-media-brightness: 1;
  --wk-media-brightness-hover: 1;

  /* ===== 加载 ===== */
  --wk-loading-overlay-bg: rgba(255, 240, 245, 0.85);

  /* ===== 文件上传遮罩 ===== */
  --wk-upload-mask-bg: rgba(255, 240, 245, 0.85);
  --wk-upload-mask-border: #F5C6D8;
  --wk-upload-mask-text: var(--wk-color-text-primary);

  /* ===== 聊天头部 ===== */
  --wk-chat-header-border: #F5C6D8;
  --wk-chat-panel-shadow: 0 0.25rem 0.5rem 0.125rem rgba(232, 69, 122, 0.15);
  --wk-chat-panel-bg: var(--wk-color-card);

  /* ===== 聊天区域滚动条 ===== */
  --wk-chat-scrollbar-thumb: rgba(232, 69, 122, 0.15);
  --wk-chat-scrollbar-thumb-idle: transparent;

  /* ===== 会话分组 ===== */
  --wk-group-count-bg: #FFE8F0;
  --wk-group-count-color: var(--wk-color-text-secondary);
  --wk-group-drag-shadow: 0 2px 8px rgba(232, 69, 122, 0.15);
  --wk-group-drag-over-bg: rgba(232, 69, 122, 0.1);

  /* ===== 其他 ===== */
  --wk-color-placeholder-bg: #8C6B7F;
  --wk-color-empty-text: #8C6B7F;
  --wk-color-pin-indicator: #E8A0C0;
  --wk-color-load-more-hover-bg: #FFF5F8;
  --wk-color-message-card: #FFFFFF;
  --wk-color-float-shadow: 0 1px 3px rgba(232, 69, 122, 0.15);

  /* ===== 分组标题 ===== */
  --wk-section-title-bg: #FFE4EE;

  /* ===== 输入框 ===== */
  --wk-input-bg: #FFFFFF;
  --wk-input-border: #F5C6D8;
  --wk-input-placeholder: #8C6B7F;

  /* ===== 全局搜索弹窗 ===== */
  --wk-global-search-modal-bg: linear-gradient(180deg, rgba(232, 69, 122, 0.15) 0%, #FFFFFF 160px);

  /* ===== 语音消息 ===== */
  --wk-voice-play-bg-send: rgba(255, 255, 255, 0.3);
  --wk-voice-play-bg-recv: #FFF5F8;
  --wk-voice-icon-send: #FFFFFF;
  --wk-voice-icon-recv: #E8457A;
  --wk-voice-time-send: rgba(255, 255, 255, 0.75);
  --wk-voice-time-recv: var(--wk-color-text-secondary);
  --wk-voice-progress-stroke: #E8457A;

  /* ===== 时间分隔线 ===== */
  --wk-time-bg: rgba(255, 255, 255, 0.8);
  --wk-time-shadow: 0 1px 2px rgba(232, 69, 122, 0.08);

  /* ===== 通话消息 ===== */
  --wk-live-icon-recv-filter: none;

  /* ===== 系统消息 ===== */
  --wk-system-msg-color: var(--wk-color-text-hint);

  /* ===== 文字消息回复 ===== */
  --wk-text-reply-recv-color: rgba(61, 26, 51, 0.5);

  /* ===== 面板/弹出层 ===== */
  --wk-panel-shadow: 0 8px 24px rgba(232, 69, 122, 0.12);
  --wk-toolbar-icon-filter: brightness(0) saturate(100%);

  /* ===== 右键菜单 ===== */
  --wk-menu-bg: #FFFFFF;
  --wk-menu-text: #3D1A33;
  --wk-menu-text-secondary: #6B4560;
  --wk-menu-hover-bg: rgba(232, 69, 122, 0.06);
  --wk-menu-divider: #F5C6D8;

  /* ===== 弹窗/对话框 ===== */
  --wk-dialog-bg: #FFFFFF;
  --wk-dialog-btn-bg: #FFFFFF;
  --wk-dialog-btn-border: #F5C6D8;
  --wk-dialog-btn-text: #3D1A33;

  /* ===== 登录页 ===== */
  --wk-login-bg:
    radial-gradient(ellipse at 80% 10%, rgba(255, 182, 213, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 20% 80%, rgba(230, 190, 255, 0.2) 0%, transparent 50%),
    linear-gradient(155deg, #FFF0F5 0%, #FFF5FA 50%, #F8EEF5 100%);
  --wk-login-card-bg: #FFFFFF;
  --wk-login-text: #3D1A33;
  --wk-login-text-secondary: #8C6B7F;
  --wk-login-input-bg: #FFF5F8;
  --wk-login-input-border: #F5C6D8;

  /* ===== Semi Design 桥接 ===== */
  --semi-color-primary: #E8457A;
  --semi-color-primary-hover: #D63A6E;
  --semi-color-bg-0: #FFFFFF;
  --semi-color-bg-1: #FFF5F8;
  --semi-color-bg-2: #FFF0F5;
  --semi-color-bg-3: #FFFFFF;
  --semi-color-fill-0: #FFF5F8;
  --semi-color-fill-1: #FFE8F0;
  --semi-color-fill-2: #FFE8F0;
  --semi-color-text-0: #3D1A33;
  --semi-color-text-2: #6B4560;

  /* ===== 遗留变量别名覆盖（向后兼容）===== */
  --wk-color-theme: #E8457A;
  --wk-color-secondary: #FFE4EE;
  --wk-color-secondary-2: #FFE8F0;
  --wk-color-hover: #FFE8F0;
  --wk-color-font-tip: var(--wk-color-text-hint);
  --wk-line: 1px solid #F5C6D8;
  --wk-line-color: #F5C6D8;
  --wk-color-item: #FFFFFF;
  --wk-text-item: #3D1A33;
  --wk-message-item: #FFFFFF;
  --wk-message-color: #3D1A33;

  /* ===== body 文字色 ===== */
  color: #3D1A33;
}

/* ===== html 背景覆盖 ===== */
html[theme-mode="pink"],
body[theme-mode="pink"] html {
  background:
    radial-gradient(ellipse at 80% 10%, rgba(255, 182, 213, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 20% 80%, rgba(230, 190, 255, 0.2) 0%, transparent 50%),
    linear-gradient(155deg, #FFF0F5 0%, #FFF5FA 50%, #F8EEF5 100%);
  background-attachment: fixed;
}

/**
 * 主题索引文件
 *
 * 所有主题定义文件在此注册。添加新主题时，只需：
 * 1. 在 themes/ 目录下创建新的 theme-xxx.css 文件
 * 2. 在此文件中添加 @import 语句
 * 3. 在 ThemeMode 枚举中添加对应值
 * 4. 在 THEME_REGISTRY 中注册主题元数据
 *
 * 需求引用：6.1, 6.2
 */

/**
 * 滚动条基础样式 - QQ 风格细滚动条
 * 
 * 颜色通过 --wk-scrollbar-* 令牌变量控制，
 * 各主题在 themes/theme-dark.css、themes/theme-pink.css 中覆盖令牌值，
 * 此文件不包含任何 body[theme-mode] 选择器。
 */

/* ===== Webkit 浏览器（Chrome、Safari、Edge）滚动条样式 ===== */

/* 滚动条尺寸 */
.wk-scrollbar::-webkit-scrollbar,
.wk-conversationlist::-webkit-scrollbar,
.wk-conversation-messages::-webkit-scrollbar,
.wk-emojipanel-content::-webkit-scrollbar,
.wk-chat-search-popover::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

/* 滚动条轨道 - 透明背景 */
.wk-scrollbar::-webkit-scrollbar-track,
.wk-conversationlist::-webkit-scrollbar-track,
.wk-conversation-messages::-webkit-scrollbar-track,
.wk-emojipanel-content::-webkit-scrollbar-track,
.wk-chat-search-popover::-webkit-scrollbar-track {
  background: transparent;
}

/* 滚动条滑块 - 引用令牌变量 */
.wk-scrollbar::-webkit-scrollbar-thumb,
.wk-conversationlist::-webkit-scrollbar-thumb,
.wk-conversation-messages::-webkit-scrollbar-thumb,
.wk-emojipanel-content::-webkit-scrollbar-thumb,
.wk-chat-search-popover::-webkit-scrollbar-thumb {
  background-color: var(--wk-scrollbar-thumb);
  border-radius: 3px;
  -webkit-transition: background-color 150ms ease-out;
  transition: background-color 150ms ease-out;
  -webkit-transition: background-color var(--wk-transition-fast, 150ms ease-out);
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

/* 悬停时滑块颜色 - 引用令牌变量 */
.wk-scrollbar:hover::-webkit-scrollbar-thumb,
.wk-conversationlist:hover::-webkit-scrollbar-thumb,
.wk-conversation-messages:hover::-webkit-scrollbar-thumb,
.wk-emojipanel-content:hover::-webkit-scrollbar-thumb,
.wk-chat-search-popover:hover::-webkit-scrollbar-thumb {
  background-color: var(--wk-scrollbar-thumb-hover);
}

/* ===== Firefox 滚动条样式 ===== */
/* Firefox 使用 scrollbar-width 和 scrollbar-color 属性 */
.wk-scrollbar,
.wk-conversationlist,
.wk-conversation-messages,
.wk-emojipanel-content,
.wk-chat-search-popover {
  scrollbar-width: thin;
  /* 滑块颜色 轨道颜色 */
  scrollbar-color: var(--wk-scrollbar-thumb) transparent;
}

/* ===== 自动隐藏滚动条效果 ===== */
/* 通过透明度实现不滚动时自动隐藏效果 */
.wk-scrollbar-auto-hide::-webkit-scrollbar-thumb {
  background-color: transparent;
}

.wk-scrollbar-auto-hide:hover::-webkit-scrollbar-thumb {
  background-color: var(--wk-scrollbar-thumb);
}

.wk-scrollbar-auto-hide:hover::-webkit-scrollbar-thumb:hover {
  background-color: var(--wk-scrollbar-thumb-hover);
}

/**
 * 图标系统样式
 * 
 * 本文件定义了图标的尺寸规范和颜色状态样式。
 * 使用 color-tokens.css 中定义的 CSS 变量确保一致性。
 * 图标颜色通过 --wk-color-icon-* 令牌自动适配所有主题，
 * 无需 body[theme-mode] 覆盖块。
 * 
 * 需求引用：6.1-6.14, 7.5, 13.3
 * 
 * 图标尺寸规范：
 * - 导航图标：24px（用于侧边栏导航、主要功能入口）
 * - 操作图标：20px（用于工具栏、头部操作按钮）
 * - 小型图标：16px（用于列表项、辅助功能）
 * - 线条粗细：1.5px（更精致的线条设计）
 * 
 * 图标颜色状态（通过令牌变量自动适配主题）：
 * - 默认色：var(--wk-color-icon-default)
 * - 悬停色：var(--wk-color-icon-hover)
 * - 激活色：var(--wk-color-icon-active)
 */

/* ===== 图标基础样式 ===== */

/* 导航图标 - 24px */
/* 用于侧边栏导航、主要功能入口 */
.wk-icon-nav,
.wk-icon-navigation {
  width: 24px;
  width: var(--wk-icon-size-navigation, 24px);
  height: 24px;
  height: var(--wk-icon-size-navigation, 24px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
}

.wk-icon-nav:hover,
.wk-icon-navigation:hover {
  color: #333333;
  color: var(--wk-color-icon-hover, #333333);
}

.wk-icon-nav.active,
.wk-icon-navigation.active {
  color: #0093f5;
  color: var(--wk-color-icon-active, #0093f5);
}

/* 操作图标 - 20px */
/* 用于工具栏、头部操作按钮、消息输入区域 */
.wk-icon-action {
  width: 20px;
  width: var(--wk-icon-size-action, 20px);
  height: 20px;
  height: var(--wk-icon-size-action, 20px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
}

.wk-icon-action:hover {
  color: #333333;
  color: var(--wk-color-icon-hover, #333333);
}

.wk-icon-action.active {
  color: #0093f5;
  color: var(--wk-color-icon-active, #0093f5);
}

/* 小型图标 - 16px */
/* 用于列表项、辅助功能、右键菜单 */
.wk-icon-small {
  width: 16px;
  width: var(--wk-icon-size-small, 16px);
  height: 16px;
  height: var(--wk-icon-size-small, 16px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
}

.wk-icon-small:hover {
  color: #333333;
  color: var(--wk-color-icon-hover, #333333);
}

.wk-icon-small.active {
  color: #0093f5;
  color: var(--wk-color-icon-active, #0093f5);
}

/* ===== SVG 图标通用样式 ===== */

/* 导航图标 SVG */
.wk-icon-nav svg,
.wk-icon-navigation svg {
  width: 24px;
  width: var(--wk-icon-size-navigation, 24px);
  height: 24px;
  height: var(--wk-icon-size-navigation, 24px);
  stroke-width: 1.5px;
  stroke-width: var(--wk-icon-stroke-width, 1.5px);
}

/* 操作图标 SVG */
.wk-icon-action svg {
  width: 20px;
  width: var(--wk-icon-size-action, 20px);
  height: 20px;
  height: var(--wk-icon-size-action, 20px);
  stroke-width: 1.5px;
  stroke-width: var(--wk-icon-stroke-width, 1.5px);
}

/* 小型图标 SVG */
.wk-icon-small svg {
  width: 16px;
  width: var(--wk-icon-size-small, 16px);
  height: 16px;
  height: var(--wk-icon-size-small, 16px);
  stroke-width: 1.5px;
  stroke-width: var(--wk-icon-stroke-width, 1.5px);
}

/* ===== 图标容器样式 ===== */

/* 图标按钮容器 - 提供点击区域和悬停效果 */
.wk-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  padding: var(--wk-spacing-xs, 4px);
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 4px;
  border-radius: var(--wk-radius-sm, 4px);
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

.wk-icon-btn:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

.wk-icon-btn:active {
  background-color: #E8E8E8;
  background-color: var(--wk-color-divider, #E8E8E8);
}

/* 导航图标按钮 */
.wk-icon-btn-nav {
  padding: 8px;
  padding: var(--wk-spacing-sm, 8px);
}

/* 操作图标按钮 */
.wk-icon-btn-action {
  padding: 4px;
  padding: var(--wk-spacing-xs, 4px);
}

/* ===== 特定场景图标样式 ===== */

/* 消息输入区域工具栏图标 */
.wk-toolbar-icon {
  width: 20px;
  width: var(--wk-icon-size-action, 20px);
  height: 20px;
  height: var(--wk-icon-size-action, 20px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
  cursor: pointer;
}

.wk-toolbar-icon:hover {
  color: #333333;
  color: var(--wk-color-icon-hover, #333333);
}

/* 聊天头部操作图标 */
.wk-header-icon {
  width: 20px;
  width: var(--wk-icon-size-action, 20px);
  height: 20px;
  height: var(--wk-icon-size-action, 20px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
  cursor: pointer;
}

.wk-header-icon:hover {
  color: #333333;
  color: var(--wk-color-icon-hover, #333333);
}

/* 右键菜单图标 */
.wk-menu-icon {
  width: 16px;
  width: var(--wk-icon-size-small, 16px);
  height: 16px;
  height: var(--wk-icon-size-small, 16px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  margin-right: 8px;
  margin-right: var(--wk-spacing-sm, 8px);
  flex-shrink: 0;
}

/* 表情面板标签栏图标 */
.wk-emoji-tab-icon {
  width: 20px;
  width: var(--wk-icon-size-action, 20px);
  height: 20px;
  height: var(--wk-icon-size-action, 20px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
}

.wk-emoji-tab-icon:hover,
.wk-emoji-tab-icon.active {
  color: #0093f5;
  color: var(--wk-color-icon-active, #0093f5);
}

/* 搜索图标 */
.wk-search-icon {
  width: 16px;
  width: var(--wk-icon-size-small, 16px);
  height: 16px;
  height: var(--wk-icon-size-small, 16px);
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
}

/**
 * 加载状态样式 - Loading Spinner
 * 
 * 本文件定义了统一的加载动画样式，使用主题色并提供三种尺寸。
 * 
 * 需求引用：15.1, 15.2, 15.3, 15.4, 15.5
 * 
 * 使用方法：
 * - 小尺寸：<div class="wk-loading-spinner wk-loading-spinner--sm"></div>
 * - 中尺寸：<div class="wk-loading-spinner wk-loading-spinner--md"></div>
 * - 大尺寸：<div class="wk-loading-spinner wk-loading-spinner--lg"></div>
 */

/* ===== 加载动画关键帧 ===== */
/* 旋转动画 - 用于 spinner */
@keyframes wk-spinner-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* 脉冲动画 - 用于加载点 */
@keyframes wk-spinner-pulse {
  0%, 80%, 100% {
    transform: scale(0);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

/* 弹跳动画 - 用于加载点 */
@keyframes wk-spinner-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

/* ===== 基础加载动画样式 ===== */
/* 需求 15.1：使用主题色作为加载动画颜色 */
.wk-loading-spinner {
  display: inline-block;
  position: relative;
  border-radius: 50%;
  border: 2px solid transparent;
  border-top-color: #0093f5;
  border-top-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5));
  border-right-color: #0093f5;
  border-right-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5));
  animation: wk-spinner-rotate 0.8s linear infinite;
}

/* ===== 加载动画尺寸 ===== */
/* 需求 15.2：三种尺寸 - 24px（小）、32px（中）、48px（大） */

/* 小尺寸 - 24px */
.wk-loading-spinner--sm {
  width: 24px;
  width: var(--wk-loading-size-sm, 24px);
  height: 24px;
  height: var(--wk-loading-size-sm, 24px);
  border-width: 2px;
}

/* 中尺寸 - 32px（默认） */
.wk-loading-spinner--md {
  width: 32px;
  width: var(--wk-loading-size-md, 32px);
  height: 32px;
  height: var(--wk-loading-size-md, 32px);
  border-width: 2.5px;
}

/* 大尺寸 - 48px */
.wk-loading-spinner--lg {
  width: 48px;
  width: var(--wk-loading-size-lg, 48px);
  height: 48px;
  height: var(--wk-loading-size-lg, 48px);
  border-width: 3px;
}

/* ===== 加载遮罩层 ===== */
/* 需求 15.3：遮罩背景色 rgba(255,255,255,0.8) */
/* 需求 15.5：暗色模式遮罩背景色 rgba(0,0,0,0.8) */
.wk-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.8);
  background-color: var(--wk-loading-overlay-bg, rgba(255, 255, 255, 0.8));
  z-index: 100;
  backdrop-filter: blur(2px);
}

/* 暗色模式遮罩 - 通过 CSS 变量自动切换 */

/* ===== 加载提示文字 ===== */
/* 需求 15.4：加载提示文字字号 14px */
.wk-loading-text {
  margin-top: 12px;
  margin-top: var(--wk-spacing-md, 12px);
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: #666666;
  color: var(--wk-color-text-secondary, #666666);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* ===== 加载容器 ===== */
/* 用于居中显示加载动画 */
.wk-loading-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px;
  padding: var(--wk-spacing-lg, 16px);
}

/* 全屏加载容器 */
.wk-loading-container--fullscreen {
  width: 100%;
  height: 100%;
  min-height: 200px;
}

/* 内联加载容器 */
.wk-loading-container--inline {
  display: inline-flex;
  padding: 8px;
  padding: var(--wk-spacing-sm, 8px);
}

/* ===== 点状加载动画 ===== */
/* 三个点的弹跳动画，类似 BeatLoader */
.wk-loading-dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.wk-loading-dots__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #0093f5;
  background-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5));
  animation: wk-spinner-bounce 0.6s ease-in-out infinite;
}

.wk-loading-dots__dot:nth-child(1) {
  animation-delay: 0s;
}

.wk-loading-dots__dot:nth-child(2) {
  animation-delay: 0.1s;
}

.wk-loading-dots__dot:nth-child(3) {
  animation-delay: 0.2s;
}

/* 点状加载动画尺寸 - 使用设计令牌 */
.wk-loading-dots--sm .wk-loading-dots__dot {
  width: calc(24px / 4);
  width: calc(var(--wk-loading-size-sm, 24px) / 4);
  height: calc(24px / 4);
  height: calc(var(--wk-loading-size-sm, 24px) / 4);
}

.wk-loading-dots--md .wk-loading-dots__dot {
  width: calc(32px / 4);
  width: calc(var(--wk-loading-size-md, 32px) / 4);
  height: calc(32px / 4);
  height: calc(var(--wk-loading-size-md, 32px) / 4);
}

.wk-loading-dots--lg .wk-loading-dots__dot {
  width: calc(48px / 4);
  width: calc(var(--wk-loading-size-lg, 48px) / 4);
  height: calc(48px / 4);
  height: calc(var(--wk-loading-size-lg, 48px) / 4);
}

/* ===== 脉冲加载动画 ===== */
/* 三个点的脉冲动画 */
.wk-loading-pulse {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.wk-loading-pulse__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #0093f5;
  background-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5));
  animation: wk-spinner-pulse 1.2s ease-in-out infinite;
}

.wk-loading-pulse__dot:nth-child(1) {
  animation-delay: 0s;
}

.wk-loading-pulse__dot:nth-child(2) {
  animation-delay: 0.2s;
}

.wk-loading-pulse__dot:nth-child(3) {
  animation-delay: 0.4s;
}

/* 脉冲加载动画尺寸 - 使用设计令牌 */
.wk-loading-pulse--sm .wk-loading-pulse__dot {
  width: calc(24px / 4);
  width: calc(var(--wk-loading-size-sm, 24px) / 4);
  height: calc(24px / 4);
  height: calc(var(--wk-loading-size-sm, 24px) / 4);
}

.wk-loading-pulse--md .wk-loading-pulse__dot {
  width: calc(32px / 3);
  width: calc(var(--wk-loading-size-md, 32px) / 3);
  height: calc(32px / 3);
  height: calc(var(--wk-loading-size-md, 32px) / 3);
}

.wk-loading-pulse--lg .wk-loading-pulse__dot {
  width: calc(48px / 3.5);
  width: calc(var(--wk-loading-size-lg, 48px) / 3.5);
  height: calc(48px / 3.5);
  height: calc(var(--wk-loading-size-lg, 48px) / 3.5);
}

/* ===== 覆盖 Semi UI Spin 组件样式 ===== */
/* 使 Semi UI 的 Spin 组件使用主题色 */
.semi-spin-wrapper .semi-spin {
  color: #0093f5 !important;
  color: var(--wk-loading-color, var(--wk-color-primary, #0093f5)) !important;
}

.semi-spin-wrapper .semi-spin-dot {
  background-color: #0093f5 !important;
  background-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5)) !important;
}

/* Semi UI Spin 组件直接使用时的样式 */
.semi-spin {
  color: #0093f5 !important;
  color: var(--wk-loading-color, var(--wk-color-primary, #0093f5)) !important;
}

.semi-spin .semi-spin-dot {
  background-color: #0093f5 !important;
  background-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5)) !important;
}

/* 覆盖 react-spinners BeatLoader 颜色 */
/* 注意：BeatLoader 的颜色通常通过 props 传递，这里提供 CSS 变量供参考 */
:root {
  --wk-loading-color: var(--wk-color-primary, #0093f5);
}

/* ===== 现有加载样式优化 ===== */
/* 优化 showLoadingContent 样式 */
.showLoadingContent {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.8);
  background-color: var(--wk-loading-overlay-bg, rgba(255, 255, 255, 0.8));
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(2px);
}

.showLoadingContent-loading {
  min-width: 100px;
  min-height: 100px;
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border-radius: var(--wk-radius-lg, 12px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  box-shadow: var(--wk-shadow-lg, 0 8px 24px rgba(0, 0, 0, 0.15));
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  padding: 16px;
  padding: var(--wk-spacing-lg, 16px);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* 优化会话列表加载样式 */
.wk-chat-conversation-list-loading {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 200px;
  justify-content: center;
  align-items: center;
}

/* 优化搜索加载样式 */
.wk-search-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  padding: var(--wk-spacing-xl, 20px);
}

.wk-search-loading-text {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: #666666;
  color: var(--wk-color-text-secondary, #666666);
  margin-left: 8px;
  margin-left: var(--wk-spacing-sm, 8px);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* 优化全局搜索加载样式 */
.wk-global-search-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  padding: var(--wk-spacing-xxl, 24px);
}

/* 优化用户信息加载样式 */
.wk-userinfo-loading {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  padding: var(--wk-spacing-xl, 20px);
}

/* 优化频道设置加载样式 */
.wk-channelsetting-content-loading {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  padding: var(--wk-spacing-xl, 20px);
}

/* 优化二维码加载样式 */
.wk-channelqrcode-qrcode-loading {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/**
 * 无障碍样式 - WCAG 2.1 AA 对比度合规
 * 
 * 本文件确保所有文字与背景的对比度符合 WCAG 2.1 AA 标准。
 * 
 * WCAG 2.1 AA 标准要求：
 * - 普通文字（小于 18px 或小于 14px 粗体）：对比度至少 4.5:1
 * - 大文字（18px 以上或 14px 粗体）：对比度至少 3:1
 * 
 * 需求引用：9.3
 * 
 * ===== 对比度检查结果 =====
 * 
 * 亮色模式（背景色 #FFFFFF）：
 * - 主文字色 #1A1A1A：对比度 16.1:1 ✓ (符合 AA 标准)
 * - 次要文字色 #666666：对比度 5.74:1 ✓ (符合 AA 标准)
 * - 提示文字色 #999999：对比度 2.85:1 ✗ (不符合普通文字标准)
 *   → 调整为 #767676：对比度 4.54:1 ✓
 * - 禁用文字色 #CCCCCC：对比度 1.61:1 ✗ (不符合标准，但禁用状态可接受)
 * 
 * 亮色模式（侧边栏背景 #FAFBFC）：
 * - 主文字色 #1A1A1A：对比度 15.4:1 ✓
 * - 次要文字色 #666666：对比度 5.49:1 ✓
 * - 提示文字色 #767676：对比度 4.35:1 ✓
 * 
 * 亮色模式（悬停背景 #F5F7FA）：
 * - 主文字色 #1A1A1A：对比度 14.5:1 ✓
 * - 次要文字色 #666666：对比度 5.17:1 ✓
 * - 提示文字色 #767676：对比度 4.09:1 ✓
 * 
 * 暗色模式（背景色 #1A1A1A）：
 * - 主文字色 #E8E8E8：对比度 11.3:1 ✓
 * - 次要文字色 #A0A0A0：对比度 5.32:1 ✓
 * - 提示文字色 #707070：对比度 2.63:1 ✗ (不符合普通文字标准)
 *   → 调整为 #8A8A8A：对比度 4.03:1 ✓
 * 
 * 选中项（背景色 #0093f5，文字色 #FFFFFF）：
 * - 对比度 2.67:1 ✗ (不符合普通文字标准)
 *   → 对于选中状态，使用更深的背景色或确保文字足够大
 *   → 调整选中项文字为粗体，符合大文字标准 3:1
 */

:root {
  /* ===== 无障碍优化的提示文字色 ===== */
  /* 原 #999999 对比度不足，调整为 #767676 以符合 WCAG 2.1 AA */
  --wk-color-text-hint-accessible: #767676;
}

/* ===== 暗色模式无障碍优化 ===== */
/* --wk-color-text-hint-accessible 暗色模式值在 theme-dark.css 中定义 */

/* ===== 时间戳文字对比度优化 ===== */
/* 时间戳使用 11px 字号，属于小文字，需要 4.5:1 对比度 */
/* 需求 2.6：时间戳字号设置为 11px，颜色为提示文字色 */
.wk-conversationlist-item-time {
  /* 使用优化后的提示文字色，确保对比度符合标准 */
  color: #767676;
  color: var(--wk-color-text-hint-accessible, #767676);
}

/* 暗色模式时间戳通过 CSS 变量令牌自动切换 */

/* 选中项时间戳保持白色 */
.wk-conversationlist-item-selected .wk-conversationlist-item-time {
  color: #FFFFFF !important;
  color: var(--wk-color-item-selected-text, #FFFFFF) !important;
}

/* ===== 分组计数徽章对比度优化 ===== */
/* 计数徽章使用 10px 字号，需要确保对比度 */
.wk-conversation-group-count {
  /* 默认背景 #F0F0F0，文字使用优化后的颜色 */
  color: #767676;
  color: var(--wk-color-text-hint-accessible, #767676);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* ===== 选中项文字对比度优化 ===== */
/* 选中项背景 #0093f5 与白色文字对比度为 2.67:1 */
/* 通过增加字重来符合大文字标准（14px 粗体需要 3:1） */
.wk-conversationlist-item-selected .wk-conversationlist-item-name h3 {
  font-weight: 600; /* 增加字重以符合大文字对比度标准 */
}

.wk-conversationlist-item-selected .wk-conversationlist-item-lastmsg {
  font-weight: 500; /* 增加字重以提高可读性 */
}

/* ===== 消息时间分隔线对比度优化 ===== */
/* 需求 14.3：时间文字颜色设置为 #999999 */
/* 调整为符合 WCAG 标准的颜色 */
.wk-message-time-separator {
  color: #767676;
  color: var(--wk-color-text-hint-accessible, #767676);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* ===== 搜索结果描述文字对比度优化 ===== */
/* 需求 12.6：搜索结果项描述字号设置为 12px */
.wk-search-result-description {
  color: #767676;
  color: var(--wk-color-text-hint-accessible, #767676);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* ===== 焦点可见性优化 ===== */
/* 需求 9.4：支持键盘导航操作 */
/* 确保焦点状态清晰可见 */

/* 会话项焦点样式 */
.wk-conversationlist-item:focus {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: -2px;
}

.wk-conversationlist-item:focus:not(:focus-visible) {
  outline: none;
}

.wk-conversationlist-item:focus-visible {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: -2px;
}

/* 分组标签焦点样式 */
.wk-conversation-group-item:focus {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: 2px;
}

.wk-conversation-group-item:focus:not(:focus-visible) {
  outline: none;
}

.wk-conversation-group-item:focus-visible {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: 2px;
}

/* 右键菜单项焦点样式 */
.wk-contextmenus li:focus {
  outline: none;
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

.wk-contextmenus li:focus-visible {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: -2px;
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* 聊天头部焦点样式 */
.wk-chat-conversation-header:focus,
header.wk-chat-conversation-header:focus {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: -2px;
}

.wk-chat-conversation-header:focus:not(:focus-visible),
header.wk-chat-conversation-header:focus:not(:focus-visible) {
  outline: none;
}

.wk-chat-conversation-header:focus-visible,
header.wk-chat-conversation-header:focus-visible {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: -2px;
}

/* ===== 减少动画偏好支持 ===== */
/* 为有前庭障碍的用户提供减少动画选项 */
@media (prefers-reduced-motion: reduce) {
  .wk-conversationlist-item,
  .wk-conversationlist-item-selected,
  .wk-conversation-group-item,
  .wk-contextmenus,
  .wk-chat-conversation-header,
  header.wk-chat-conversation-header {
    transition: none !important;
    animation: none !important;
  }
}

/* ===== 高对比度模式支持 ===== */
/* 为使用高对比度模式的用户提供更好的可见性 */
@media (prefers-contrast: high) {
  :root {
    --wk-color-text-hint-accessible: #595959;
    --wk-color-divider: #000000;
  }
  
  body[theme-mode="dark"] {
    --wk-color-text-hint-accessible: #B0B0B0;
    --wk-color-divider: #FFFFFF;
  }
  
  .wk-conversationlist-item-selected {
    border: 2px solid #000000;
  }
  
  body[theme-mode="dark"] .wk-conversationlist-item-selected {
    border: 2px solid #FFFFFF;
  }
}

/* 媒体亮度调整 - 通过令牌变量驱动，无需硬编码主题选择器 */
/* 白天模式下 brightness 为 1（无变化），暗色主题下由主题定义文件覆盖为 0.9 */

.wk-message-base-bubble img:not(.wk-avatar) {
  filter: brightness(1);
  filter: brightness(var(--wk-media-brightness, 1));
  transition: filter 200ms ease-out;
}

.wk-message-base-bubble img:not(.wk-avatar):hover {
  filter: brightness(1);
  filter: brightness(var(--wk-media-brightness-hover, 1));
}

/* 头像不受亮度调整影响 */
.senderAvatar img,
.wk-avatar {
  filter: none !important;
}

/*
 * 主题切换过渡动画
 *
 * 注意：不再对 body * 全局添加 transition，
 * 因为这会导致所有交互（点击会话、滚动等）都产生不必要的过渡动画，
 * 严重影响性能和流畅度。
 *
 * 主题切换的过渡效果通过 JS 在切换时临时添加 .theme-transitioning 类来实现，
 * 切换完成后移除该类。
 */

/* 主题切换时临时启用过渡（由 JS 控制添加/移除）
 * 只对 body 和关键布局容器做过渡，不用 * 通配符，
 * 避免对数千个 DOM 节点同时计算 transition 导致卡顿。
 */
body.theme-transitioning,
body.theme-transitioning > div,
body.theme-transitioning .wk-main-sider,
body.theme-transitioning .wk-main-sider-content,
body.theme-transitioning .wk-main-tab,
body.theme-transitioning .wk-main-tab-content,
body.theme-transitioning .wk-chat-content-chat,
body.theme-transitioning .wk-chat-empty {
  transition: background-color 250ms ease-out,
              color 250ms ease-out,
              border-color 250ms ease-out !important;
}

/* 尊重用户辅助功能偏好 */
@media (prefers-reduced-motion: reduce) {
  body.theme-transitioning,
  body.theme-transitioning * {
    transition: none !important;
  }
}

/* 排除动画元素，避免性能问题 */
body.theme-transitioning img,
body.theme-transitioning video,
body.theme-transitioning canvas,
body.theme-transitioning svg path,
body.theme-transitioning .semi-spin {
  transition: none !important;
}

/* 导入基础设计令牌（间距、字号、圆角、阴影等非主题变量） */
/* 导入颜色令牌（所有语义化颜色变量 + 白天模式默认值） */
/* 导入主题定义（夜间模式、樱花模式等主题覆盖） */
/* 导入滚动条样式 */
/* 导入图标系统样式 */
/* 导入加载状态样式 */
/* 导入无障碍样式 */
/* 导入媒体内容亮度处理 */
/* 导入主题切换过渡动画 */

/* 注意：颜色变量已迁移到 color-tokens.css */

/* 布局相关变量（非颜色，不属于主题系统） */
:root {
  --wk-width-layout-content-left: 320px;
  --wk-wdith-conversation-list: var(--wk-width-layout-content-left);
  --wk-height-chat-search: 64px;
  --wk-height-chat-conversation-header: 64px;
  --wk-height-chat-conversation-pined: 52px;
  --wk-wdith-chat-channelsetting: 340px;
  --wk-layer-transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --wk-slide-transition: 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

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

/* 注意：夜间模式颜色覆盖已迁移到 themes/theme-dark.css */

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

html {
  height: 100%;
  box-sizing: border-box;
  background: linear-gradient(135deg, #E3F2FD 0%, #F3E5F5 100%);
  background-attachment: fixed;
}

/* 注意：夜间模式 html 背景已迁移到 themes/theme-dark.css */

body {
  height: 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: 14px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background: transparent;
  color: var(--wk-color-text-primary);
}

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

#root {
  height: 100%;
  background: var(--wk-gradient-chat-bg);
}

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

.page {
  width: 100%;
  height: 100%;
  background-color: rgb(236, 239, 243);
}

.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;
}

/* 注意：夜间模式 Semi badge 覆盖已迁移到 themes/theme-dark.css */

/* ============================================
   GPU 加速优化 - 提升动画流畅度
   ============================================ */

/* 侧边栏滑动动画 */
.wk-chat-content-right,
.wk-layout-content-right,
.wk-route-content-route,
.wk-channelsetting-route {
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* 消息列表和会话列表滚动优化 */
.wk-conversation-list,
.wk-message-list {
  will-change: scroll-position;
  -webkit-overflow-scrolling: touch;
}

/* 弹出菜单动画 */
.wk-context-menu,
.wk-sider-setting-list {
  will-change: transform, opacity;
  backface-visibility: hidden;
}

/* 消息项动画 */
.wk-message-base-recv,
.wk-message-base-checkBox {
  will-change: transform;
  backface-visibility: hidden;
}


/* ============================================
   Windows Electron 窗口控制按钮适配
   ============================================ */

/* 窗口控制按钮宽度：46px * 3 = 138px，预留 140px */
body.wk-electron.wk-platform-windows {
  --wk-window-controls-width: 140px;
}

/* 右侧面板（聊天信息等）右上角裁剪，给窗口控制按钮留出空间 */
body.wk-electron.wk-platform-windows .wk-chat-channelsetting,
body.wk-electron.wk-platform-windows .wk-chat-readed-list {
  clip-path: polygon(0 0, calc(100% - 140px) 0, calc(100% - 140px) 32px, 100% 32px, 100% 100%, 0 100%);
}

/* 空白页拖拽区域预留空间 */
body.wk-electron.wk-platform-windows .wk-chat-empty::before {
  right: var(--wk-window-controls-width) !important;
}


/* 注意：樱花模式颜色覆盖已迁移到 themes/theme-pink.css */


.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;
}

.wk-channelqrcode-expire {
    font-size: 12px;
    color: var(--wk-color-text-secondary);
    text-align: center;
    padding: 20px 0px;
}

.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: var(--wk-loading-overlay-bg);
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;

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

}

.wk-channelqrcode-qrcode-mask p {
    font-size: 18px;
    margin-bottom: 0px;
    color: var(--wk-color-text-secondary);
}

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


.wk-inputedit {
    width: 100%;
}

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

.wk-inputedit-placeholder {
    font-size: 13px;
    color: var(--wk-input-placeholder);
    margin: 5px 0px 0px 5px;
}

/* 内置完成按钮区域 */
.wk-inputedit-finish {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
    padding: 0 4px;
}

.wk-inputedit-finish .semi-button {
    min-width: 80px;
}


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

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


.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: var(--wk-color-text-primary);
}


.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: var(--wk-color-text-secondary);
    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-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: 40%;
}

.wk-subscribers-item-name {
    font-size: 12px;
    color: var(--wk-bubble-recv-color);
    text-overflow: ellipsis;
    width: 100%;
    height: 14px;
    overflow: hidden;
    white-space: nowrap;
    text-align: center;
    margin-top: 5px;
    line-height: 12px;
}

.wk-subscribers-more {
    font-size: 14px;
    margin-top: 10px;
    color: var(--wk-color-theme);
    cursor: pointer;
    text-align: center;
}

/* ========== 容器 ========== */
.wk-cs {
    max-height: 560px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ========== 标题 ========== */
.wk-cs-title {
    text-align: center;
    font-weight: 600;
    font-size: 16px;
    padding: 16px 0 12px;
    color: var(--wk-color-text-primary);
    flex-shrink: 0;
}

/* ========== 已选头像栏 ========== */
.wk-cs-selected-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 16px 10px;
    max-height: 80px;
    overflow-y: auto;
    flex-shrink: 0;
    border-bottom: 1px solid #f0f0f0;
    border-bottom: 1px solid var(--wk-color-border, #f0f0f0);
}

.wk-cs-selected-chip {
    position: relative;
    cursor: pointer;
    transition: transform 0.15s;
}

.wk-cs-selected-chip:hover {
    transform: scale(0.92);
}

.wk-cs-selected-remove-icon {
    position: absolute;
    top: -3px;
    right: -3px;
    display: none;
    line-height: 0;
}

.wk-cs-selected-chip:hover .wk-cs-selected-remove-icon {
    display: block;
}

/* ========== 搜索框 ========== */
.wk-cs-search {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 16px 0;
    padding: 0 12px;
    height: 36px;
    border-radius: 18px;
    background: #f5f5f5;
    background: var(--wk-color-bg-input, #f5f5f5);
    flex-shrink: 0;
}

.wk-cs-search-input {
    flex: 1 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px;
    color: var(--wk-color-text-primary);
    height: 36px;
    padding: 0;
}

.wk-cs-search-input::-moz-placeholder {
    color: #bbb;
    color: var(--wk-color-text-hint, #bbb);
}

.wk-cs-search-input::placeholder {
    color: #bbb;
    color: var(--wk-color-text-hint, #bbb);
}

/* ========== Tab 栏 ========== */
.wk-cs-tab-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    margin-top: 10px;
    flex-shrink: 0;
    border-bottom: 1px solid #f0f0f0;
    border-bottom: 1px solid var(--wk-color-border, #f0f0f0);
}

.wk-cs-tabs {
    display: flex;
    gap: 0;
}

.wk-cs-tab {
    padding: 8px 16px;
    font-size: 14px;
    color: #999;
    color: var(--wk-color-text-secondary, #999);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    font-weight: 500;
}

.wk-cs-tab:hover {
    color: var(--wk-color-text-primary);
}

.wk-cs-tab.active {
    color: #4C8DFF;
    color: var(--wk-color-primary, #4C8DFF);
    border-bottom-color: #4C8DFF;
    border-bottom-color: var(--wk-color-primary, #4C8DFF);
}

/* ========== 全选 ========== */
.wk-cs-selectall {
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    padding: 4px 0;
    flex-shrink: 0;
}

.wk-cs-selectall:hover .wk-cs-selectall-text {
    color: #4C8DFF;
    color: var(--wk-color-primary, #4C8DFF);
}

.wk-cs-selectall-text {
    font-size: 13px;
    color: #bbb;
    color: var(--wk-color-text-hint, #bbb);
    transition: color 0.15s;
}

/* ========== 列表 ========== */
.wk-cs-list {
    flex: 1 1;
    overflow-y: auto;
    padding: 4px 0;
}

.wk-cs-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 12px;
    cursor: pointer;
    transition: background-color 0.15s;
    border-radius: 8px;
    margin: 2px 8px;
}

.wk-cs-item:hover {
    background: #f5f7fa;
    background: var(--wk-color-item-hover, #f5f7fa);
}

.wk-cs-item.selected {
    background: rgba(76, 141, 255, 0.08);
}

.wk-cs-item.selected:hover {
    background: rgba(76, 141, 255, 0.12);
}

.wk-cs-item-name {
    font-size: 14px;
    color: var(--wk-color-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1 1;
}

/* ========== 空状态 ========== */
.wk-cs-empty {
    padding: 40px 0;
    text-align: center;
    font-size: 13px;
    color: #ccc;
    color: var(--wk-color-text-hint, #ccc);
}

/* ========== 底部 ========== */
.wk-cs-footer {
    padding: 10px 16px 14px;
    flex-shrink: 0;
}

.wk-cs-btn {
    height: 40px;
    border-radius: 20px;
    background: var(--wk-color-theme);
    color: #fff;
    color: var(--wk-bubble-send-color, #fff);
    font-size: 15px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.15s;
}

.wk-cs-btn:hover {
    opacity: 0.9;
}

.wk-cs-btn.disabled {
    opacity: 0.4;
    cursor: not-allowed;
}




.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: var(--wk-color-card);
    position: absolute;
    bottom: 0px;
}

.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: 40%;
    background-color: var(--wk-color-item);
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

.wk-userinfo-user-info-name {
    font-size: 16px;
    color: var(--wk-text-item);
}

.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-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-loading {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}

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

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

.wk-friendapply-content-tip {
    color: var(--wk-color-text-hint);
}

.wk-friendapply-content-message {
    margin-top: 5px;
}
/* 来电弹窗样式 */

/* 全屏覆盖层 */
.incoming-call-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* 淡出动画 */
.incoming-call-fadeout {
  animation: incomingCallFadeOut 300ms ease forwards;
}

@keyframes incomingCallFadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* 背景：头像模糊效果 */
.incoming-call-bg {
  position: absolute;
  top: -40px;
  left: -40px;
  right: -40px;
  bottom: -40px;
  background-size: cover;
  background-position: center;
  filter: blur(40px) brightness(0.35) saturate(1.3);
  z-index: 0;
}

/* 背景渐变遮罩层 —— 深蓝到深紫渐变 */
.incoming-call-bg-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    160deg,
    rgba(15, 20, 50, 0.65) 0%,
    rgba(30, 15, 60, 0.6) 50%,
    rgba(10, 10, 40, 0.7) 100%
  );
  z-index: 1;
}

/* 内容区域 —— 入场动画 */
.incoming-call-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-top: 120px;
  animation: incomingCallSlideIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes incomingCallSlideIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 头像容器（含脉冲动画） */
.incoming-call-avatar-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 脉冲呼吸动画圈 - 第一圈 */
.incoming-call-pulse {
  position: absolute;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.25);
  animation: incomingCallPulse 2.4s ease-out infinite;
}

/* 脉冲呼吸动画圈 - 第二圈（延迟错开） */
.incoming-call-pulse-2 {
  position: absolute;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  animation: incomingCallPulse 2.4s ease-out 1.2s infinite;
}

@keyframes incomingCallPulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  100% {
    transform: scale(1.4);
    opacity: 0;
  }
}

/* 圆形头像 */
.incoming-call-avatar {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: rgba(255, 255, 255, 0.1);
  border: 3px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 0 24px rgba(255, 255, 255, 0.15), 0 4px 20px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 1;
}

/* 昵称 */
.incoming-call-name {
  margin-top: 24px;
  font-size: 24px;
  font-weight: 600;
  color: white;
  text-align: center;
  max-width: 80%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  letter-spacing: 0.3px;
}

/* 通话类型文本 */
.incoming-call-type {
  margin-top: 12px;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.65);
  display: flex;
  align-items: center;
  gap: 6px;
}

.incoming-call-type svg {
  width: 18px;
  height: 18px;
  fill: rgba(255, 255, 255, 0.6);
}

/* 底部按钮区 */
.incoming-call-actions {
  position: absolute;
  bottom: 80px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 80px;
}

/* 按钮容器 */
.incoming-call-btn-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}

/* 按钮基础样式 */
.incoming-call-btn {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease;
}

.incoming-call-btn:hover {
  transform: scale(1.08);
}

.incoming-call-btn:active {
  transform: scale(0.95);
  opacity: 0.85;
}

.incoming-call-btn svg {
  width: 30px;
  height: 30px;
  fill: white;
}

/* 拒绝按钮（红色 + 红色光晕） */
.incoming-call-btn-reject {
  background: linear-gradient(135deg, #ff4d4d, #e6282e);
  box-shadow: 0 4px 16px rgba(255, 59, 48, 0.4), 0 2px 6px rgba(0, 0, 0, 0.2);
}

.incoming-call-btn-reject:hover {
  box-shadow: 0 6px 24px rgba(255, 59, 48, 0.55), 0 2px 8px rgba(0, 0, 0, 0.25);
}

/* 接听按钮（绿色 + 绿色光晕 + 脉冲吸引动画） */
.incoming-call-btn-accept {
  background: linear-gradient(135deg, #4cd964, #28b44a);
  box-shadow: 0 4px 16px rgba(52, 199, 89, 0.4), 0 2px 6px rgba(0, 0, 0, 0.2);
  animation: incomingCallBtnPulse 2s ease-in-out infinite;
}

.incoming-call-btn-accept:hover {
  box-shadow: 0 6px 24px rgba(52, 199, 89, 0.55), 0 2px 8px rgba(0, 0, 0, 0.25);
  animation: none;
}

@keyframes incomingCallBtnPulse {
  0%, 100% {
    box-shadow: 0 4px 16px rgba(52, 199, 89, 0.4), 0 2px 6px rgba(0, 0, 0, 0.2);
  }
  50% {
    box-shadow: 0 4px 28px rgba(52, 199, 89, 0.6), 0 2px 8px rgba(0, 0, 0, 0.25);
  }
}

/* 按钮下方文本标签 */
.incoming-call-btn-label {
  margin-top: 10px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  letter-spacing: 0.5px;
}

/* 呼叫等待界面样式 */

/* 深色背景容器 */
.calling-view-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #1a1a2e;
}

/* 本地视频预览（视频通话时全屏背景） */
.calling-view-local-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.calling-view-local-video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 内容区域 */
.calling-view-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}

/* 头像容器（含脉冲动画） */
.calling-view-avatar-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 脉冲呼吸动画圈 (Requirements 2.3) */
.calling-view-pulse {
  position: absolute;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.3);
  animation: calling-pulse 2s ease-out infinite;
}

@keyframes calling-pulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  100% {
    transform: scale(1.15);
    opacity: 0;
  }
}

/* 圆形头像 (Requirements 2.2) */
.calling-view-avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: rgba(255, 255, 255, 0.1);
  position: relative;
  z-index: 1;
}

/* 昵称 */
.calling-view-name {
  margin-top: 20px;
  font-size: 20px;
  font-weight: bold;
  color: white;
  text-align: center;
  max-width: 80%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 状态文本 */
.calling-view-status {
  margin-top: 10px;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
}

/* "对方已拒绝"提示 (Requirements 2.7) */
.calling-view-rejected {
  color: #ff3b30;
}

/* 底部按钮区 (Requirements 2.4) */
.calling-view-actions {
  position: absolute;
  bottom: 80px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  z-index: 1;
}

/* 按钮容器 */
.calling-view-btn-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}

/* 红色挂断按钮 */
.calling-view-btn-cancel {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: none;
  background-color: #ff3b30;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.calling-view-btn-cancel:hover {
  transform: scale(1.08);
}

.calling-view-btn-cancel:active {
  transform: scale(0.95);
  opacity: 0.85;
}

.calling-view-btn-cancel svg {
  width: 28px;
  height: 28px;
  fill: white;
}

/* 按钮下方文本标签 */
.calling-view-btn-label {
  margin-top: 8px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* 通话控制面板样式 */

/* 底部固定容器 */
.control-panel {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 0 40px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  transition: opacity 300ms ease;
  opacity: 1;
  z-index: 20; /* 必须高于远端视频层 (z-index: 1) 和本地小窗 (z-index: 10) */
}

/* 隐藏状态 - 淡出 */
.control-panel-hidden {
  opacity: 0;
  pointer-events: none;
}

/* 操作按钮行 */
.control-panel-buttons {
  display: flex;
  justify-content: center;
  gap: 40px;
}

/* 按钮容器（图标 + 文本标签） */
.control-panel-btn-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}

/* 圆形操作按钮（48px） */
.control-panel-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.15s ease, background-color 0.15s ease;
}

.control-panel-btn:hover {
  transform: scale(1.08);
  background: rgba(255, 255, 255, 0.3);
}

.control-panel-btn:active {
  transform: scale(0.95);
}

/* 按钮激活状态（静音/摄像头关闭） */
.control-panel-btn-active {
  background: rgba(255, 255, 255, 0.4);
}

/* 按钮图标 SVG */
.control-panel-btn svg {
  width: 24px;
  height: 24px;
  fill: white;
}

/* 按钮下方文本标签 */
.control-panel-btn-label {
  margin-top: 8px;
  font-size: 14px;
  color: white;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  white-space: nowrap;
}

/* 挂断按钮行 */
.control-panel-hangup {
  display: flex;
  justify-content: center;
}

/* 红色挂断按钮（64px） */
.control-panel-btn-hangup {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: none;
  background-color: #ff3b30;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.control-panel-btn-hangup:hover {
  transform: scale(1.08);
}

.control-panel-btn-hangup:active {
  transform: scale(0.95);
  opacity: 0.85;
}

.control-panel-btn-hangup svg {
  width: 28px;
  height: 28px;
  fill: white;
}

/* InCallView 通话中界面样式 */

/* ========== 根容器 ========== */
.incall-view {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9998;
  background: #000;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* 挂断淡出动画 (Requirements 3.8: 500ms) */
.incall-view-fadeout {
  animation: incallFadeOut 500ms ease forwards;
}

@keyframes incallFadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* ========== 视频通话模式 ========== */

/* 远端视频全屏容器 */
.incall-remote-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; /* 裁剪模糊背景 scale(1.2) 后的溢出 */
}

/* 大小窗切换时的 fallback（普通 useTrackAttach 创建的 video 没有 class） */
.incall-remote-video video {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  pointer-events: none;
}

/* 远端视频 - 模糊背景层（底层，微信风格） */
.incall-remote-video-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  filter: blur(20px);
  transform: scale(1.2); /* 放大避免模糊边缘露出黑边 */
  pointer-events: none; /* 点击穿透到父容器 */
}

/* 远端视频 - 清晰主画面层（上层） */
.incall-remote-video-main {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  z-index: 1;
  pointer-events: none; /* 点击穿透到父容器，确保 ControlPanel 切换正常 */
}

/* 远端视频占位（对方摄像头关闭时） */
.incall-remote-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1a1a2e;
  display: flex;
  align-items: center;
  justify-content: center;
}

.incall-remote-placeholder-avatar {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 本地预览小窗口 (Requirements 3.1: 160px宽, 圆角8px, 可拖动) */
.incall-local-preview {
  position: absolute;
  top: 80px;
  right: 16px;
  width: 160px;
  height: 213px;
  border-radius: 8px;
  overflow: hidden;
  cursor: grab;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  transition: box-shadow 0.2s ease;
}

.incall-local-preview:active {
  cursor: grabbing;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.6);
}

.incall-local-preview video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 本地预览 - 摄像头关闭时头像占位 (Requirements 3.7) */
.incall-local-placeholder {
  width: 100%;
  height: 100%;
  background: #2a2a3e;
  display: flex;
  align-items: center;
  justify-content: center;
}

.incall-local-placeholder-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}


/* ========== 通话计时器 (Requirements 3.3: 等宽字体, 半透明黑色背景圆角矩形) ========== */
.incall-timer {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.5);
  border-radius: 16px;
  padding: 6px 20px;
  color: #fff;
  font-family: 'SF Mono', 'Menlo', 'Consolas', monospace;
  font-size: 15px;
  z-index: 10;
  pointer-events: none;
}

/* ========== 网络质量指示器 (Requirements 7.1) ========== */
.incall-network-quality {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 12px;
  padding: 4px 10px;
  pointer-events: none;
}

.incall-network-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.incall-network-dot--excellent { background-color: #4CAF50; }
.incall-network-dot--good { background-color: #2196F3; }
.incall-network-dot--fair { background-color: #FF9800; }
.incall-network-dot--poor { background-color: #F44336; }

/* ========== 语音通话模式 (Requirements 4.1) ========== */
.incall-voice-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #1a1a2e, #16213e);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* 语音通话头像容器 */
.incall-voice-avatar-wrap {
  position: relative;
  width: 100px;
  height: 100px;
  margin-bottom: 16px;
}

/* 声波脉冲动画 (Requirements 4.2) */
.incall-voice-pulse {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  transform: translate(-50%, -50%);
  animation: voicePulse 2s ease-out infinite;
}

.incall-voice-pulse::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  transform: translate(-50%, -50%);
  animation: voicePulse 2s ease-out 0.5s infinite;
}

@keyframes voicePulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.6;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.6);
    opacity: 0;
  }
}

.incall-voice-avatar {
  position: relative;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}

.incall-voice-name {
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 8px;
}

/* 语音通话计时器 (Requirements 4.4) */
.incall-voice-timer {
  color: rgba(255, 255, 255, 0.7);
  font-family: 'SF Mono', 'Menlo', 'Consolas', monospace;
  font-size: 15px;
}

/* ========== 重连覆盖层 (Requirements 7.2) ========== */
.incall-reconnecting-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  z-index: 20;
}

.incall-reconnecting-spinner {
  width: 36px;
  height: 36px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: reconnectSpin 1s linear infinite;
}

@keyframes reconnectSpin {
  to { transform: rotate(360deg); }
}

.incall-reconnecting-text {
  color: #fff;
  font-size: 15px;
}

/* MiniWindow 悬浮小窗口样式 */

/* ========== 浮动容器 (Requirements 5.2: 280x160px, 圆角12px, 阴影, 可拖动) ========== */
.mini-window {
  position: fixed;
  bottom: 80px;
  right: 24px;
  width: 280px;
  height: 160px;
  border-radius: 12px;
  overflow: hidden;
  z-index: 9999;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: flex;
  flex-direction: column;
  background: #1a1a2e;
}

.mini-window:active {
  cursor: grabbing;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
}

/* ========== 视频通话：远端视频缩略画面 ========== */
.mini-window-video {
  flex: 1 1;
  position: relative;
  overflow: hidden;
}

.mini-window-video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ========== 语音通话：深色背景 + 小头像 ========== */
.mini-window-voice {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(to bottom, #1a1a2e, #16213e);
}

.mini-window-voice-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.2);
}

/* ========== 底部栏：通话时长 + 按钮 (Requirements 5.2, 5.3) ========== */
.mini-window-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  background: rgba(0, 0, 0, 0.6);
}

.mini-window-duration {
  color: #fff;
  font-family: 'SF Mono', 'Menlo', 'Consolas', monospace;
  font-size: 12px;
}

.mini-window-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* 小窗按钮通用样式 */
.mini-window-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s ease;
  padding: 0;
}

.mini-window-btn:hover {
  opacity: 0.85;
}

/* 麦克风按钮 */
.mini-window-btn-mic {
  background: rgba(255, 255, 255, 0.2);
}

.mini-window-btn-mic--muted {
  background: rgba(255, 68, 68, 0.6);
}

/* 挂断按钮 */
.mini-window-btn-hangup {
  background: #f44336;
}

/* 按钮内 SVG 图标 */
.mini-window-btn svg {
  width: 14px;
  height: 14px;
  fill: #fff;
}

/* 通话状态提示条 —— 固定在窗口顶部 */
.call-status-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 36px;
  padding: 0 12px 0 16px;
  background: #19b464;
  color: #fff;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  z-index: 10000;
}

.call-status-bar:hover {
  background: #16a057;
}

.call-status-bar__left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.call-status-bar__icon {
  font-size: 15px;
  flex-shrink: 0;
}

.call-status-bar__info {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.call-status-bar__name {
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}

.call-status-bar__duration {
  font-size: 13px;
  opacity: 0.9;
  flex-shrink: 0;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.call-status-bar__right {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.call-status-bar__btn {
  height: 24px;
  padding: 0 10px;
  border: none;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  font-weight: 500;
  transition: background 0.15s;
}

.call-status-bar__btn--expand {
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
}

.call-status-bar__btn--expand:hover {
  background: rgba(255, 255, 255, 0.4);
}

.call-status-bar__btn--hangup {
  background: rgba(255, 60, 60, 0.85);
  color: #fff;
}

.call-status-bar__btn--hangup:hover {
  background: rgba(220, 30, 30, 0.95);
}

.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;
}

/* 加入组织 */
.wk-base-modal-join-org .semi-modal-content {
  border: none !important;
  padding: 12px !important;
}
.wk-base-modal-join-org .semi-modal-header {
  margin: 12px !important;
}
.wk-base-modal-join-org .semi-modal-body-wrapper {
  margin: 0px;
}
.wk-base-modal-join-org .semi-modal-body {
  height: 420px;
}

.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: none;
}



.wk-subscrierlist {
    background-color: #FFFFFF;
    background-color: var(--wk-color-card, #FFFFFF);
    width: 100%;
    height: 100%;
    overflow: scroll;
}

.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-content {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.wk-subscrierlist-item-desc {
    font-size: 14px;
    color: var(--wk-color-text-secondary);
}

.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;
    background-color: var(--wk-color-card);
}

.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;
    color: var(--wk-color-text-primary);
}

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

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

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

.wk-indextable-search-box {
    display: flex;
    min-width: 100px;
    height: 50px;
    background-color: var(--wk-color-bg);
}

.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: var(--wk-color-text-primary);
    outline: none;
    border: none;
    height: 100%;
    padding-left: 25px;
}

.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-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-message-card {
    background-color: var(--wk-color-card);
    width: 300px;
    cursor: pointer;
    border-radius: 8px;
}

.wk-message-card-content {
    display: flex;
    padding: 10px;
    align-items: center;
}

.wk-message-card-content-name {
    margin-left: 20px;
    color: var(--wk-text-item);
}

.wk-message-card-bottom {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0px 10px 5px 10px;
} 

.wk-message-card-bottom-flag {
    font-size: 12px;
    /* 辅助文字使用令牌变量 */
    color: var(--wk-color-text-hint);
}

.wk-message-card-bottom-time {
    position: absolute;
    right: 10px;
    top: -5px;
    /* 辅助文字使用令牌变量 */
    color: var(--wk-color-text-hint) !important;
}

.wk-message-share {
    display: flex;
    flex-direction: column;
    width: 230px;
    padding: 10px;
    cursor: pointer;
}

.wk-message-share-title {
    font-size: 15px;
    font-weight: 600;
    word-break: break-word;
}

.wk-message-share-subtitle {
    margin-top: 4px;
    font-size: 12px;
    color: var(--wk-color-text-hint);
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.wk-message-share-url {
    margin-top: 4px;
    font-size: 12px;
    color: var(--accent-color);
    word-break: break-all;
}

.wk-message-share-bottom {
    margin-top: 6px;
    padding-top: 4px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    border-top: 1px solid var(--wk-color-line, rgba(0, 0, 0, 0.08));
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.wk-message-share-flag {
    font-size: 12px;
    color: var(--wk-color-text-hint);
}

.wk-message-mobileonly {
    display: flex;
    flex-direction: column;
    padding: 10px;
    max-width: 230px;
}

.wk-message-mobileonly-title {
    font-size: 15px;
    font-weight: 600;
}

.wk-message-mobileonly-tip {
    margin-top: 4px;
    font-size: 12px;
    color: var(--wk-color-text-hint);
}


.wk-message-system {
    padding: 10px 20px;
    width: 85%;
    margin: 0 auto;
    text-align: center;
    margin-top: 15px;
    font-size: 12px;
    /* 使用令牌变量，夜间/樱花模式自动适配 */
    color: var(--wk-system-msg-color);
    white-space:  pre-line;
}

.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-richmention {
    cursor: pointer;
    text-decoration: underline;
}

/* 发送方文字颜色通过气泡令牌驱动 */
.wk-message-text-send {
    color: var(--wk-bubble-send-color);
}

/* 接收方文字颜色通过气泡令牌驱动 */
.wk-message-text-recv {
    color: var(--wk-bubble-recv-color);
}

.wk-message-text-richemoji img {
    width: 22px;
    height: 22px;
}

.wk-message-text-reply {
    display: flex;
    color: rgb(255, 255, 255,0.5);
    font-size: 14px;
    flex-direction: column;
    cursor: pointer;
}

/* 接收方回复文字颜色通过令牌驱动 */
.wk-message-text-reply.wk-message-text-reply-recv {
    color: var(--wk-text-reply-recv-color);
}

.wk-message-text-reply-author {
    display: flex;
    align-items: center;
}

.wk-message-text-reply-authoravatar {
    margin-right: 4px;
}

.wk-message-text-reply-content {
    width: 100%;
	word-break: break-all;
	display: block;
}

.wk-message-text-content {
    margin: 0;
    word-break: break-word;
    line-height: 1.3125;
    text-align: left;
    text-align: initial;
    display: flow-root;
    unicode-bidi: plaintext;
}

/* 通话窗口根容器 */
.call-window-app {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
  background: #1a1a1a;
}

/* 无边框窗口拖拽区域（顶部 32px） */
.call-window-dragbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 32px;
  z-index: 9999;
  pointer-events: auto;
}

/* 加载状态 */
.call-window-loading {
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #1a1a1a;
  color: #fff;
  gap: 16px;
}

.call-window-loading__spinner {
  width: 40px;
  height: 40px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.call-window-loading__text {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
}

/* 通话结束状态 */
.call-window-ended {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1a1a1a;
  color: rgba(255, 255, 255, 0.6);
  font-size: 16px;
}

/* mini 模式 */
.call-window-mini {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: rgba(26, 26, 26, 0.95);
  color: #fff;
  cursor: pointer;
  border-radius: 8px;
}

.call-window-mini__icon {
  font-size: 20px;
}

.call-window-mini__name {
  font-size: 14px;
  font-weight: 500;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.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;
}
/**
 * 表情面板样式
 * 
 * 优化说明：
 * - 面板尺寸 400x320px（更紧凑）- 需求 11.1
 * - 圆角 12px - 需求 11.2
 * - 表情图标 24px - 需求 11.3
 * - 间距 8px - 需求 11.4
 * - 标签栏高度 36px - 需求 11.5
 * - 悬停放大效果 1.2 倍 - 需求 11.8
 * - 阴影通过令牌变量适配 - 需求 11.7
 * 
 * 需求引用：11.1-11.8
 * 
 * 主题适配：所有颜色通过令牌变量引用，无 body[theme-mode] 覆盖块
 */

.wk-emojitoolbar {
    padding: 8px;
    padding: var(--wk-spacing-sm, 8px);
}

/* 工具栏触发图标 - 通过令牌变量适配主题 */
.wk-emojitoolbar-content > img {
    width: 22px;
    height: 22px;
    filter: var(--wk-toolbar-icon-filter);
}

/* 表情面板容器 */
.wk-emojitoolbar-emojipanel {
    /* 面板尺寸 400x320px - 需求 11.1 */
    width: 400px;
    max-width: 400px;
    height: 320px;
    
    background-color: var(--wk-color-card);
    position: absolute;
    left: 20px;
    top: calc(-320px - 15px);
    
    /* 阴影通过令牌变量适配主题 - 需求 11.7 */
    box-shadow: var(--wk-panel-shadow);
    
    /* 圆角 12px - 需求 11.2 */
    border-radius: 12px;
    border-radius: var(--wk-radius-lg, 12px);
   
    /* 弹出动画 */
    transition: opacity 200ms ease-out, transform 200ms ease-out !important;
    transform-origin: left bottom;
    visibility: hidden;
    z-index: 999;
    
    overflow: hidden;
}

/* 表情面板显示动画 */
.wk-emojitoolbar-emojipanel-show {
    animation: emojiPanelAnimationShow 0.2s ease-out;
    -webkit-animation: emojiPanelAnimationShow 0.2s ease-out;
    visibility: visible;
}

/* 表情面板隐藏动画 */
.wk-emojitoolbar-emojipanel-hide {
    animation: emojiPanelAnimationHide 0.2s ease-out;
    -webkit-animation: emojiPanelAnimationHide 0.2s ease-out;
    visibility: visible;
}

@keyframes emojiPanelAnimationShow {
    from {
        transform: scale(0.8);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

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

/* 表情面板主体 */
.wk-emojipanel {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* 标签栏 - 需求 11.5, 11.6 */
.wk-emojipanel-tab {
    width: 100%;
    /* 标签栏高度 36px - 需求 11.5 */
    height: 36px;
    min-height: 36px;
    background-color: var(--wk-color-sidebar);
    /* 圆角只在底部 */
    border-bottom-left-radius: 12px;
    border-bottom-left-radius: var(--wk-radius-lg, 12px);
    border-bottom-right-radius: 12px;
    border-bottom-right-radius: var(--wk-radius-lg, 12px);

    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    
    /* 隐藏滚动条 */
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.wk-emojipanel-tab::-webkit-scrollbar {
    display: none;
}

/* 表情内容区域 */
.wk-emojipanel-content {
    width: 100%;
    /* 内容区域高度 = 总高度 - 标签栏高度 */
    height: calc(100% - 36px);
    overflow: hidden;
    overflow-y: auto;
    
    /* 滚动条通过令牌变量适配主题 */
    scrollbar-width: thin;
    scrollbar-color: var(--wk-scrollbar-thumb) transparent;
}

.wk-emojipanel-content::-webkit-scrollbar {
    width: 6px;
}

.wk-emojipanel-content::-webkit-scrollbar-track {
    background: transparent;
}

.wk-emojipanel-content::-webkit-scrollbar-thumb {
    background-color: var(--wk-scrollbar-thumb);
    border-radius: 3px;
}

.wk-emojipanel-content:hover::-webkit-scrollbar-thumb {
    background-color: var(--wk-scrollbar-thumb-hover);
}

/* 表情列表 */
.wk-emojipanel-content ul {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    /* 内边距使用间距变量 */
    padding: 12px;
    padding: var(--wk-spacing-md, 12px);
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    list-style: none;
}

/* 表情项 - 需求 11.3, 11.4 */
.wk-emojipanel-content ul li {
    cursor: pointer;
    /* 间距 8px - 需求 11.4 */
    padding: 8px;
    padding: var(--wk-spacing-sm, 8px);
    border-radius: 4px;
    border-radius: var(--wk-radius-sm, 4px);
    transition: background-color 150ms ease-out;
    transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

/* 表情项悬停背景 - 通过令牌变量适配主题 */
.wk-emojipanel-content ul li:hover {
    background-color: var(--wk-menu-hover-bg);
}

/* 表情图标 - 需求 11.3, 11.8 */
.wk-emojipanel-content ul li img {
    /* 表情图标 24px - 需求 11.3 */
    height: 24px;
    width: 24px;
    margin: auto;
    display: block;

    /* 悬停放大效果过渡 */
    transition: transform 200ms ease-out;
    -moz-transition: transform 200ms ease-out;
    -webkit-transition: transform 200ms ease-out;
    -o-transition: transform 200ms ease-out;
}

/* 悬停放大效果 1.2 倍 - 需求 11.8 */
.wk-emojipanel-content ul li:hover img {
    transform: scale(1.2);
}

/* 标签项 - 需求 11.6 */
.wk-emojipanel-tab-item {
    width: 48px;
    /* 标签栏高度 36px - 需求 11.5 */
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    cursor: pointer;
    transition: background-color 150ms ease-out;
    transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

/* 标签项图标 - 需求 11.6, 6.1-6.9 */
.wk-emojipanel-tab-item img {
    /* 标签栏图标尺寸 20px - 需求 11.6, 6.2 */
    width: 20px;
    width: var(--wk-icon-size-action, 20px);
    height: 20px;
    height: var(--wk-icon-size-action, 20px);
    /* 图标颜色过渡 */
    transition: filter 150ms ease-out;
    transition: filter var(--wk-transition-fast, 150ms ease-out);
}

/* 标签项 SVG 图标颜色 - 通过令牌变量适配主题 */
.wk-emojipanel-tab-item svg {
    width: 20px;
    width: var(--wk-icon-size-action, 20px);
    height: 20px;
    height: var(--wk-icon-size-action, 20px);
    color: var(--wk-color-icon-default);
    transition: color 150ms ease-out;
    transition: color var(--wk-transition-fast, 150ms ease-out);
}

.wk-emojipanel-tab-item:hover svg {
    color: var(--wk-color-icon-hover);
}

.wk-emojipanel-tab-item-selected svg {
    color: var(--wk-color-icon-active);
}

/* 选中的标签项 */
.wk-emojipanel-tab-item-selected {
    background-color: var(--wk-color-card);
}

/* 标签项悬停效果 - 通过令牌变量适配主题 */
.wk-emojipanel-tab-item:hover:not(.wk-emojipanel-tab-item-selected) {
    background-color: var(--wk-menu-hover-bg);
}

/* 表情面板遮罩层 */
.wk-emojitoolbar-mask {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 998;
    cursor: default;
}

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

.wk-imagetoolbar-content-icon img {
  width: 20px;
  height: 20px;
  filter: var(--wk-toolbar-icon-filter);
}

.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, 0.3);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

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

.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 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  grid-gap: 16px;
  gap: 16px;
  max-height: 560px;
  overflow-y: auto;
  padding: 16px;
  border: 1px solid var(--wk-color-divider);
  border-radius: 8px;
  background-color: var(--wk-color-bg);
}

.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: var(--wk-color-bg);
}

.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: var(--wk-dialog-btn-bg);
  border: 1px solid var(--wk-dialog-btn-border);
  color: var(--wk-dialog-btn-text);
  border-radius: 4px;
  height: 32px;
  min-width: 100px;
  padding: 0 16px;
  cursor: pointer;
}

.wk-imagedialog-footer-okbtn {
  margin-left: 16px;
  color: var(--wk-bubble-send-color) !important;
  border: none !important;
}

/* ===== 文件发送确认弹窗 ===== */
.wk-filedialog-preview {
  display: flex;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--wk-color-divider);
  border-radius: 8px;
  background-color: var(--wk-color-bg);
  text-align: left;
}

.wk-filedialog-icon {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.wk-filedialog-ext {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.wk-filedialog-info {
  flex: 1 1;
  margin-left: 14px;
  overflow: hidden;
}

.wk-filedialog-name {
  font-size: 14px;
  color: var(--wk-text-item);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}

.wk-filedialog-size {
  font-size: 12px;
  color: var(--wk-color-font-tip);
  margin-top: 4px;
}

.wk-forbidden-time-select {
  padding: 16px;
}

.wk-forbidden-time-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 0;
}

.wk-forbidden-time-list {
  background: #fff;
  background: var(--wk-color-bg-1, #fff);
  border-radius: 8px;
  overflow: hidden;
}

.wk-forbidden-time-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  border-bottom: 1px solid var(--wk-color-border, #f0f0f0);
  transition: background-color 0.2s;
}

.wk-forbidden-time-item:last-child {
  border-bottom: none;
}

.wk-forbidden-time-item:hover {
  background-color: #f5f5f5;
  background-color: var(--wk-color-bg-2, #f5f5f5);
}

.wk-forbidden-time-item-selected {
  background-color: #f0f7ff;
  background-color: var(--wk-color-bg-2, #f0f7ff);
}

.wk-forbidden-time-item-text {
  font-size: 14px;
  color: #333;
  color: var(--wk-color-text-0, #333);
}

.wk-forbidden-time-item-check {
  color: #3370ff;
  color: var(--wk-color-primary, #3370ff);
  font-size: 16px;
  font-weight: bold;
}

.wk-forbidden-time-submit {
  margin-top: 20px;
}

/* ==========================================
   群管理页面 - 专业UI设计
   ========================================== */

.wk-groupmanage {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-y: auto;
    padding: 0 0 24px 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,0.15) transparent;
    scrollbar-color: var(--wk-scrollbar-thumb, rgba(0,0,0,0.15)) transparent;
}

.wk-groupmanage::-webkit-scrollbar {
    width: 4px;
}
.wk-groupmanage::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.15);
    background: var(--wk-scrollbar-thumb, rgba(0,0,0,0.15));
    border-radius: 4px;
}
.wk-groupmanage::-webkit-scrollbar-track {
    background: transparent;
}

/* ==========================================
   管理员/黑名单卡片区域
   ========================================== */
.wk-groupmanage-managers {
    padding: 4px 0;
    background-color: #fff;
    background-color: var(--wk-color-card, #fff);
}

/* ==========================================
   分区标题（带图标）
   ========================================== */
.wk-groupmanage-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 16px 8px;
    margin-top: 4px;
}

.wk-groupmanage-section-icon {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.wk-groupmanage-section-icon svg {
    width: 16px;
    height: 16px;
    color: #767676;
    color: var(--wk-color-text-hint, #767676);
}

.wk-groupmanage-section-title {
    font-size: 12px;
    font-weight: 600;
    color: #767676;
    color: var(--wk-color-text-hint, #767676);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wk-groupmanage-section-count {
    font-size: 12px;
    font-weight: 500;
    color: #ccc;
    color: var(--wk-color-text-disabled, #ccc);
    margin-left: auto;
}

/* ==========================================
   管理员列表项
   ========================================== */
.wk-groupmanage-manager-item {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    position: relative;
    transition: background-color 0.2s ease;
    cursor: default;
}

.wk-groupmanage-manager-item:hover {
    background-color: #f5f7fa;
    background-color: var(--wk-color-item-hover, #f5f7fa);
}

/* 头像 */
.wk-groupmanage-manager-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 12px;
    -o-object-fit: cover;
       object-fit: cover;
    flex-shrink: 0;
    border: 2px solid transparent;
    transition: border-color 0.2s ease;
}

/* 群主头像特殊边框 */
.wk-groupmanage-manager-item-owner .wk-groupmanage-manager-avatar {
    border-color: rgba(51, 112, 255, 0.3);
}

/* 信息区域 */
.wk-groupmanage-manager-info {
    flex: 1 1;
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 8px;
}

/* 名称 */
.wk-groupmanage-manager-name {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
    color: var(--wk-color-text-primary, #1a1a1a);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 角色标签 */
.wk-groupmanage-manager-role {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    white-space: nowrap;
    line-height: 16px;
    flex-shrink: 0;
    letter-spacing: 0.3px;
}

.wk-groupmanage-manager-role-owner {
    color: #2563eb;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(37, 99, 235, 0.15));
    border: 1px solid rgba(37, 99, 235, 0.12);
}

.wk-groupmanage-manager-role-manager {
    color: #7c3aed;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.06), rgba(124, 58, 237, 0.12));
    border: 1px solid rgba(124, 58, 237, 0.1);
}

/* 删除按钮 */
.wk-groupmanage-manager-delete {
    width: 28px;
    height: 28px;
    cursor: pointer;
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #999;
    color: var(--wk-color-text-2, #999);
    border-radius: 6px;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.wk-groupmanage-manager-item:hover .wk-groupmanage-manager-delete {
    opacity: 1;
}

.wk-groupmanage-manager-delete:hover {
    opacity: 1;
    color: #ef4444;
    color: var(--wk-color-error, #ef4444);
    background-color: rgba(239, 68, 68, 0.08);
}

/* ==========================================
   添加按钮
   ========================================== */
.wk-groupmanage-add-btn {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    cursor: pointer;
    color: #0093f5;
    color: var(--wk-color-primary, #0093f5);
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.2s ease;
    gap: 12px;
}

.wk-groupmanage-add-btn:hover {
    background-color: #f5f7fa;
    background-color: var(--wk-color-item-hover, #f5f7fa);
}

.wk-groupmanage-add-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px dashed #0093f5;
    border: 1.5px dashed var(--wk-color-primary, #0093f5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 300;
    flex-shrink: 0;
    transition: all 0.2s ease;
    color: #0093f5;
    color: var(--wk-color-primary, #0093f5);
}

.wk-groupmanage-add-btn:hover .wk-groupmanage-add-icon {
    background-color: rgba(0, 147, 245, 0.06);
    border-style: solid;
}

/* ==========================================
   空状态
   ========================================== */
.wk-groupmanage-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    gap: 12px;
}

.wk-groupmanage-empty-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: #f5f7fa;
    background-color: var(--wk-color-bg, #f5f7fa);
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-groupmanage-empty-icon svg {
    width: 24px;
    height: 24px;
    color: #ccc;
    color: var(--wk-color-text-disabled, #ccc);
}

.wk-groupmanage-empty-text {
    font-size: 14px;
    color: #767676;
    color: var(--wk-color-text-hint, #767676);
}

/* ==========================================
   危险操作区域
   ========================================== */
.wk-groupmanage-danger-zone {
    margin-top: 8px;
}

.wk-groupmanage-danger-label {
    font-size: 12px;
    font-weight: 600;
    color: #ef4444;
    color: var(--wk-color-error, #ef4444);
    padding: 12px 16px 6px;
    letter-spacing: 0.5px;
    opacity: 0.8;
}

/* ==========================================
   设置说明提示文本
   ========================================== */
.wk-groupmanage-setting-tip {
    font-size: 12px;
    color: #767676;
    color: var(--wk-color-text-hint, #767676);
    padding: 4px 16px 10px;
    line-height: 1.5;
}

/* ==========================================
   分隔线
   ========================================== */
.wk-groupmanage-divider {
    height: 1px;
    background-color: #e8e8e8;
    background-color: var(--wk-color-divider, #e8e8e8);
    margin: 0 16px;
}

/* ==========================================
   群管理内的提示文本覆盖
   ========================================== */
.wk-groupmanage .wk-list-item-tip {
    justify-content: flex-start;
    padding: 2px 16px 12px;
    line-height: 1.4;
    font-size: 12px;
    opacity: 0.7;
}

/* ==========================================
   群管理内的 Section 分区间距优化
   ========================================== */
.wk-groupmanage .wk-section {
    margin-top: 8px;
}

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

/* ==========================================
   群管理内列表项箭头指示器
   ========================================== */
.wk-groupmanage .wk-list-item::after {
    display: none;
}

/* 可点击项的右箭头 */
.wk-groupmanage-arrow-item .wk-list-item-title {
    flex: 1 1;
}

.wk-groupmanage-nav-arrow {
    width: 16px;
    height: 16px;
    color: #ccc;
    color: var(--wk-color-text-disabled, #ccc);
    flex-shrink: 0;
    margin-left: 4px;
}


.wk-iconclick {
   padding: 10px;
}

.wk-iconclick img {
    width: 22px;
    height: 22px;
    /* 使用令牌驱动图标 filter，夜间模式自动适配 */
    filter: var(--wk-toolbar-icon-filter);
}


.wk-iconlistitem {
    background-color: #FFFFFF;
    background-color: var(--wk-color-card, #FFFFFF);
    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 img {
    width: 32px;
    height: 32px;
}

.wk-iconlistitem-content-title {
    font-size: 14px;
    font-weight: 500;
    margin-left: 15px;
    color: var(--wk-color-text-primary);
}

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

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

.wk-imagetoolbar-content-icon img {
  width: 20px;
  height: 20px;
  filter: var(--wk-toolbar-icon-filter);
}

.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, 0.3);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.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-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 8px;
  border-radius: 8px;
  background-color: var(--wk-color-secondary);
}

.wk-imagedialog-content-preview-item .wk-imagedialog-content-previewImg {
  width: 120px;
  height: 120px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.wk-imagedialog-content-preview-item-name {
  font-size: 12px;
  color: var(--wk-text-item);
  word-break: break-all;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  max-width: 120px;
  line-height: 1.3;
  margin-top: 4px;
  font-weight: 500;
}

.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: var(--wk-color-bg);
}

.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: var(--wk-dialog-btn-bg);
  border: 1px solid var(--wk-dialog-btn-border);
  color: var(--wk-dialog-btn-text);
  border-radius: 4px;
  height: 32px;
  min-width: 100px;
  padding: 0 16px;
  cursor: pointer;
}

.wk-imagedialog-footer-okbtn {
  margin-left: 16px;
  color: var(--wk-bubble-send-color) !important;
  border: none !important;
}

.wk-imagetoolbar-compress-hint {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  z-index: 200;
  pointer-events: none;
}

/* 视频缩略图容器 */
.wk-imagedialog-content-video-thumb {
  position: relative;
  width: 120px;
  height: 120px;
  border-radius: 6px;
  overflow: hidden;
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wk-imagedialog-content-video-thumb .wk-imagedialog-content-previewImg {
  width: 120px;
  height: 120px;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0;
}

/* 视频无缩略图时的占位图标 */
.wk-imagedialog-content-video-placeholder {
  color: rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 视频时长标签 */
.wk-imagedialog-content-video-duration {
  position: absolute;
  bottom: 4px;
  right: 4px;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 11px;
  padding: 1px 5px;
  border-radius: 3px;
  line-height: 1.4;
}

/* 视频文件大小 */
.wk-imagedialog-content-preview-item-size {
  font-size: 11px;
  color: var(--wk-color-font-tip);
  margin-top: 2px;
}


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

.wk-message-video-content-time {
    align-items: center;
    background-color: rgba(0,0,0,.35);
    border-radius: 12px;
    /* 视频时长文字使用白色令牌（覆盖在半透明黑色背景上） */
    color: var(--wk-bubble-send-color);
    display: flex;
    font-size: 12px;
    height: 1.125rem;
    left: 6px;
    line-height: 1;
    padding: 0 6px;
    position: absolute;
    top: 6px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: 2;
}

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

.flexible-modal {
    position: absolute;
    z-index: 1;
    border: 1px solid var(--wk-color-divider);
    background: var(--wk-color-card);
  }
  .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 var(--wk-color-text-primary);
    border-right: solid 2px var(--wk-color-text-primary);
  }
  .flexible-modal-drag-area{
    background: rgba(22, 22, 333, 0.2);
    height: 50px;
    position:absolute;
    right:0;
    top:0;
    cursor:move;
  }



.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: var(--wk-color-card);
    width: 100%;
    height: 100%;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.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: var(--wk-color-text-hint);
    margin: 15px 0px;
}

.wk-qrcodemy-content-userinfo-name {
    font-size: 15px;
    font-weight: 500;
    color: var(--wk-color-text-primary);
}
.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: var(--wk-menu-bg);
    border-radius: 4px;
    box-shadow: var(--wk-panel-shadow);
    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,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAHoklEQVR4Ae2bf2wURRTHuf6ybUqJ2GABFWiLJBhQKC2lRWkMEmpom0DBGBJI/EMDokZIJAQkVSNGjAlEQzT+CmpEUiFwVksQtWJL+pMqEoOQcmqMbYEotOnvH+dnzpvNdG/38I7u3cntJdv35s2b2fe+++bN7Ox03Dj7ZyNgI2AjYCNgI2AjYCNgI2AjYICAw0AWcaLs7OxkjNo2MjLSn56e/lpVVVV/qIyMCdWNgr1PeXl5jNvtPgg4O+jjpY6OjveC7SuYdrHBNAplm66urlcA6DHlnnOnTp3qbmtr+06RWcZG9BCbP3/+WsD52MB7d2xsbF5TU1ODQd2YiiJ2iC1YsCAXT9+V3jocjnPwLm/ZwZDbC3iWP2DLbyAdDITOmzdvCoA0AsAUb7urCQkJuYODg7OQfa70tbSlpeVrpTzmbMRFUGFhYSJeHpHgANQww2lNfX39hdOnT1dSPiZRiImJKZO8VTTiAOrs7BTDKkc6DCBbyDVfyTK0UvKAuETyVtGIAoihtRWn10pnAef95ubmvbIsKNGkJuY71Dor+IgBiBlrBQ7uUpyszczM3KCUPezQ0JBbkcUpvCVsRAC0cOHC2Xj3CZfHHiLn96SkpJUVFRUDBl7PVWR/KrwlbNgBWrRo0URmJydDa7zwEHB6GEalp06dumTkMfUPSTlt6iVvFQ0rQMxYcf39/RU4mul10M3MtL6xsfEHI4dzc3PvRfcRWYfuEclbRcMKEDPWHhx+UDpHdLzIjPWZLOsp+Wc3Ms/aDd2zxcXFh/Q6Y10O20KRpPw44LwtHcLhw8xYZVA1CcvqcaysS4eHh7WIIXpWoP+FpmARE5YIYjp/AH/eVHz6MS0tbZ0ZOGK7Q7xaSH30vgkFOOJ+IQcoLy9vOg4eInrivQ5fhpYeP36821v2Iehu4prmregnejb6KFkkCClAJOWUgYEBMWOlCX8AapBrFe9Tv5n5V1RUdAt1z8p69N8iT/0iy1ZTw4UWIZ0WFxc3wPtP51gZACgO+v0IOkf2ibMbGSrfy7IRZYNsHW3SvXUjLAEqc3Jy7jHSDURGn0MpKSmt1dXVQ/7a+SRpkmEZ4/1TGolkKYx3YpSTqfeiv4781bEQnMla53WMKpZ6DJM3AOdpWTaj5Kuz1N0wIEb984B6samaug1mUewDEAZV0KBM3yGdCUOdUKfYqIIazjZqO7EIZJ2zE9lGDJE5R6icyMrKWs5KeVjV1/NieLW3t/cgtzoVXMWfJewWnNHb4AMQ0+9RnCnRK6plOmunLPZlnKmpqScI0z61fvXq1Qmtra1P0s/zyG9V62hbn5ycXFRTU/O3KjfjsUesfZ6iL7ENYtkPu04C0BL9DfwCRKNmDJtIoxn6hrKMzjWGy6NEVZWQ5efnT+rt7f0WdrbUERQ98d60o6SkZD8b8SNqXTh4HmKsy+Vaw9pKvAN6fviRxbBvlWVB/YYuTh1gbGaQg+bAb0e/gWvU0ALACdzkOdGZ+AHOSogKTjdty1nn3M0T+iASwBF2iuHNQz0Ae16Uvb+7JCOp4SwmKyWlI5F/xLWLmWgyoKzgWk+5QOgAQKqg4sdTSCHJe3jkP6G3HGAsf+v23DC4P8myGfb64OEjkMpmlBBso+4dcsM1nPcAZKZL/UUiMJLBEaZPkvbzYDskL6nfISaVbla6ePFiMYEkSP8SExPF5DPqF9UAkS9vV9AYWbZs2RWl7GGjGiDypQrQZaMJJKoBYvbVACJB++QfEUJRDRCTiAYQvA2QPr8QNRpAdgTp0aFsR5ABKKrIjiAVDQNejSBmNDsH6TFSI8hoFS30o3oWw38tSfNCbkeQGkG8dE9giGl7THYEqejAA8hMRTSQkZFxSSlrbNQOMfJPtkQB/rzZ9m/UAgQ4GkDwP0uw9DQqASooKBhP/lmlgKEd61NkHjYqAerr69uE92KvXeyG9nAWyfTARNQBxEfHO4meLZ7w+PfPwdra2i6lPIqNKoDEDiJHaI4B0G1eFP6Kj4/fNgoRXSFqABKfo7q7uyvxX/viwuvFZj6vGy4QJU5RARBfi1exvSq+yuRLx8k9+/gAsV+WzWjAXzXMOopEufcc0mZsK1XtA5zdfIraqsrM+JsOIECZxtB5mDyzgUs7SSIAABhxkmM74Ow2A0Qv/98ChPMOvs1N5pjOdPaWZ+HY/cgKoTN4jdD7KcqNAPcEH0FbjCrNZDcCkPZF0qxzntgcnNhjVv8f5eKFMhnnkwQVF/1O5mVzGnwisxLE70+cRHmVqDnsV8ukMiCAxDFcnlYJxpZyZZv0qYnRyaDwjCYYI4Z+r9eTC1COEjEfBhox+o6vB1ACC6ulhKwApYRDUOKp+fyoOyeF6LokHwoKEL3c5wJXM1cd65oapm7Td6tAbfILEM6+zOVzREbeBOPEd/fDnPfZKWUilDmlJs4G3SdlN0jFvyMM0J84vNkDf4X7XiaSL5F/XA0NDX9Qvm5IBWuDX4Do1AccjDnD5cRYJ8Y16Y3zlvcFa1Cg7bhfoE0C0vcBiCcljuVqPwwYpHAS6iR8nXV1db/KSquNk/cJJ/UBiLB9gfBNBCiHOFEK/ZIV57VwGmnf20bARsBGwEbARsBGIBgE/gEZ69NglfPWnQAAAABJRU5ErkJggg==);
    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,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAHT0lEQVR4Ae2aa2xURRSA58w+amnZbquUUrrdNvEVAqLI00dCFAImogbZLW2jQYiEBInBiCBgXH75CghqYgIKiQh9bGNMwAcSIUH+GASCoagodreFbSlLuwuUsq87ntky221p2Lu792J3e+dHz8zcmTNnvj0z98zcEqIljYBGQCOgEdAIaAQ0AhoBjcAQBGCIumFb5akxWwMhtg8I8xt0+prx9V1tahtL1R5ASf2hMFtMGJvEGHkiFA7XM8dsvZL6h9KVUYCojv6ALh/mE2GEPOZuPukYalJK1mUUIEtd9+9AYWM/APZ2y2Lz7P6y8rmM2oP49Blj4Labf0I5h5cB4II+N39y2VcXLvOy0imjPIhPHoEwkmN4mQC5xMsIanyo9+ounlcjZRwgDqHia287gG4Juj9uRZgYWeBeZFoVzSv8J+OWWPz8XYtMW5DQ6pt1AYOOzihr8J2Kb5NuPiM9SEzaCpZ1uORO3CznhCNSvWd56SjxXAmZ0YDA2RzUU0M1QrrGYaA3PRjs7vlECTBCR0YD4pMoa/CeRUCviQnhpr3MbS+wi3K6MqP3oPjJu2wFexBOTbQOwE908HBlvc8V3yaVfMZ7kJh03mjDCiDwb7TMWAFEpL1KHEWyBtCYnd6rVIdnNSAhDgnPa7Pcp09uEgBTlVkDiAMob7hyjLK4owiwdbj0nkoVDu+XNXuQgID7ELjs5gPoQnOjEwTiMerzJ5fWebyiTTJy2AC6XFtk6gmzciZJ4wiDcYSycRIhRXiw6LeR54EE8K3VKUlSJ5eU0k6aM6o9/izWYhtTQliAB4zFUUiE7K9ourIgGTCibf/gouYOSOZw0PPNW6ZKQGcikGkMyHQEcR/GMSnbA0C8yO8MZeQMA9aMkK2MsDfFdBDk69ZGX9IxUsoGiYHlSu76bvvdMxkJV+GgNtxES+X2VahdQA+k1OK80pWMPtVv5Niqe3Pc7Z0YvJnXIKQKblzfCXOQmUCCuH7OYm0H7h8d6Ewd6E+dKCPRlnx54Q5MJHYXobQYdRWj140lwHAZQTmW8wdpHFzMiVCowMrhASgKpqPzVXf7pbUIpIy/dwckIBdxD/keq4/pKPvNIllO8aPDgDYyC9w72+1FlgCJTECKExDaRAT5Eo7Y7wAAbTpp9B+E+GVq7WumyhJrs5mm473obnSV+wdYg3c46CVNeKnjtLK5R8Dp7POOAY3SK/DDarCrZzfuPwuFJvwhjuMd0gJ+TSLq5EpFAbHljxrcXefeISCtR8/QCSNwA/UA0A8oy99hcZ7vFfVKS/72Ahbch3CmCt0I51tjYV5t6XbPdVGXjFQMkKe69J5A6Np+HHxGzAA8E+Enmo3WkuId8Ok/gVi9Cpm26sKHwmFpPy5li1CP99ebrRNWvwUOB0YMqSVFAPV9r5IwOCMPCDPwlztkJPSVUmd3q6hTS7qqCp9hEakBt//RfAycVBjHX2l1+renO2bagDCUr0TDjorXNi6nCAO6pqKheysaOWhnTtfcW/u77KaV+MNsiy1p9Fo8P9kQzsFbWydfg7pSTy1LzGaE810cnBsYkL1Y2ej7WG04PNhssZm2Mol8JuDgmC6q1z2uFBxOJmUP4lcJeFr+ETfEp6OKAHopwPzyRt+R1JHL69lpG5N/nQXq0D2fjevxa25u7nMluy9i7KRcStmD3KdPrOuHQ3AThNo7Aed8bVHZdRL8JR4Ohg5Okl80W2k4HHNKHtRaVTgxIkWO49o3ciWUwFprk/9DnlczuaoKpmAAuE8saT4WpfBeeYNvg1pLOmkP4lFrRJJ2Cjho2OFyp+8jNcFw3a1V5ufRT4/E4EQvxuhSa6N/vVpw+LhJA3JXmRdirDGNd0bDelAsU9NAPo7LZn4Drze+wR8nj5dxvG4MPOdVNvl28bKaKSlA3HvwF3w3ZhBj71c4/S2xssKZ6ItgUcHnjEmbcdyorQjnnIEYZlU0+g4rPNyQ6pIC5LYXvoDeM4lrQkO78kzGbUNqVaiy9fSJDRJhK4Q6jLGOGvV5M8c7vX+JOrVlUoAIk5bGGbSFX5THlRXPMoCJQilQugePLHNSvToVepKV/dcBCXperC4e2xu6MZ83i0bLxPhlgi5pPwa9zkFCEf6V4hAuqS8I8aWtM1kFsgHdCAcXs9j9ChysdF7CSy11k7WuqxlHqFF3lNtrl73EGJGiXwm4OgzM9t5ebfY8lQWI2Ww6vPF8UkwbdPqfRT7bpSxAbfTAFHx7mW7C+Lu83uvJdjBifrIAMQkeER3wEuqoyI8EKQ8QfrMSMEAif4r8SJDyAAGLXb4zSs6NBDBijrIA4XsLbw37Ep42NEACRkwyIjZoYtTRy7H6EZCR5UH4ZSL21VKKhPkJfsQkWYAwgo4BKisp1gAN4R45ok7t71tinOEiZXnQcDH2/7BDA5SAugZIA5SAQILHmgdpgBIQSPBYrgeJf10RMoHa7HksDxCAA89jbkJhU/ZMXZuJRkAjoBHQCGgENAIjnMB/kA1uZ0VoI4QAAAAASUVORK5CYII=);
    background-size: cover;
}

.style_wk-popupmenus-delete__2OsZD {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAFm0lEQVR4Ae2cXWgcVRSAs5tNdtvV5EHWpAmBWFYCCkKSNcmTCUEXgxUhtIigPlWUPrS1gtS+ND4IraIVH4SiNQj+IAElFgxqoKE+xJC/Vqog+PNgzI+JP90sxs1uNn5nu7NImJ07mZ3dUbwXbu7de87cc+43Z+7M7tybqiqdNAFNQBPQBP61BHxeeTYwMBBcX1/fu7W1VfAhm81maE8ODQ1lvfJrp92CczsF5foci8UOAuUl+m81s+Hz+dK0fxoMBp+anJz82Uynkm0VBdTR0XF2e3v7WZsD/D0QCPRPT09fsalfFrWKAQJOP3DGGYXYlEvoQ/JVIqZwOVGv4zJ7kPY7yFV8/oocm52dlajyJAUqaPUUtnInhEEfnJub+8jMNnPQ6ZWVlY+BGSffhY4AE5ieJH8lrDJQARMTW8C5XAyOyMfGxlJ+v/+k1CVx7N03at78rQggJuY9DLQ+P8QV1VAjkcg3hg5AbzPqXpQVAcQc8ieDW8gPsL+rq+sWq8Gurq7m5qC8znUr3XLLcnOCHSN9fX2h2traaju6ZjoM+nnanxEZUTFLPh4Kha6Gw+HCJJ1MJsMbGxs9yM4Rcfvz/TxCRF3M13dd1NfXp0dGRjZ3fWD+AFuAOjs7X+bucpxjKhJxTgdT5LgUwA8z771TRG7ZbGvAnM1D9GJL19KaN8IggO5zatrWbV7OAJCeoKwVQ9QPUAiwX2j7Utq8Tvi0Fx/uFT/w6QeKa1InrXNXfPFGdfd/bV1iO7ttb29P0SawPpmfn39gp9yLzz09Pa2pVOpHsQ2gc1xSJ9zw47962bgxdlt9aEAKTBqQBqQgoBDrCNKAFAQUYh1BGpCCgEJs60la0YepmF8QH0UgXzyH+Da/ZqpEIw+d91A8xs+rr/Lz6tfF9OjvfmSD9HeW/r4vpud2e1kAdXd3121ubl7AWXnaXiK/YOH468ju5Id8+Qlk0ELvLb5O7CPLtHDYQs9VUVnmIL75y49jxve2WxUe5+QM3JYeEdSg6M9VcVkAueqhx51pQIoToAFpQAoCCrGOIA1IQUAh1hGkASkIKMQ6gjQgBQGFWEeQBqQgoBDrCNKAFAQUYh1BGpCCgEKsI0gDUhBQiHUEaUAKAgqxjiAvAPFWI8Hbh9zqeFZ3FX0nJr6hl5NT/mrlK289jH6M0krdNZmjCGIwf4kHlCEzT3ixdx3ZEfIwgN4w0zHaqqurj1J/n/K00WZWIn+S/t6lvzNm8nQ6XfAFmLICzpXk9MWhvAysI+8r5gWQ3kQm2TLxNlX2b0i2TDMzM6MoSDZNwGs0BEBcNuqllo4iCKMLYpgztT8ej4dLdcKN4/GlsPgcWK5to3IK6FJ+UMG1tbW4GwMstQ/mvQP5Pra5HL8otT/jeEeACOFCqHPmjhmdeVWyFuB2osZYCz09NTWl3A9i11dHgJgPruHQ5byRXjarPGTXYDn0mKDPcKKM+fS8mzYcARIHcKiwZYmVGcMsT4m66ZjdvtgmcRRfcqtCOGnfRqPRt+0ea0fP8eaU5eXlhaampghGush7yIMtLS2XFhcXXbuDqAYAnGPAeQU9P3AyXPoPj4+P5xaTq461K3cMSAy0tbV9xur2Xqqt5DqcfbyxsdHf3Nw8s7S0VLZtlDLnNDQ0XMBeYYMNcJ7m0eID/HA1OdqK8E8P2CZ1UyKReA9nZeukkX6jcpGzOsEdZSGTyfxhCJyU9BOgf1k/FKUuWx96+Zw7uXzeIp8AzmtO+lYdUzIgMcA+d//o6OgpHH0Ox2VTSUUS9r4jco5w0/i8XAZdAWQ4x3rDJhw+CaRD5MKTrSF3qwTMHH0NU54ncsp2KYu/rgIyAADHx62/hYWZEe5wN9Muk7jjxENgFvDJmpqaBP9w4KeJiYmSLlnHjugDNQFNQBPQBDQBTUAT+B8R+BsujpQdJf70rAAAAABJRU5ErkJggg==);
    background-size: cover;
}

.style_wk-popupmenus-delete__2OsZD:hover {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAGAklEQVR4Ae2bfYhUVRTA77lvnXVWnZndXDfX3JmV9Z+K8A8D/0pYMoKUQHY2+7D6Y0sRXEUhTAK3PwItUikKtA8Lqm13RCkhkATNiIIwMjSItNlZt11b3Y/Z/JiZnbmnc+fLZZl59/n2zYzSfTC89+4595xzf3PufV/3MqY3TUAT0AQ0gTuWAFQqsj83t1S7RhI1fFLkY6hx3UjWLe28Bl1dolJxTfebD266oFTnkaC3DRl7CxEDBX0AmwRkxw2YtXFxaOTvgjplLCwroHC7dw8T+IqV9gHAGDJobQ6N/2pFv1Q6ZQPUF/S2MsQTlD3UdkZdCI7Q+VnGId+dUDAPAK5BZPdnGgy/BepalsPBM5OlAqCyW6VScEyObKeEk7HH2wKh8aOFbOPmll19Q1e+Zgwfo99DkejFNaR3pJBuOcp4OZzQeAMIbHnaF8DpYnCkHN69EIcq2JGLCwQ+nDuuxL4sgIY2LHJTd/LKBtIA/I+qof76+b/ndKj/NeeOK7EvC6DGg4M3gMFApoHYOvD8onvMGhu5cjU7BqW1oma6pZZZHqTDLwZmu1M3DbsBxeKx11HgdlmfRukzwPjWmnnG2dSkkR+kSTQnEYuvEIj7kOGSrK+n3W73sezxbe8aYvMnIXQ+cdsVsxUsAeoLet4m/a10dSlLxtltTJF6cc6NDn/v2GdF5KbFlhpM9yPBuxSObHw1XQ1XmVIwEVq6zBucdQgBL1Hau6QtSrvVWWDDdPKTif2yiWiMq6Gr5aOZ+OAvum6eSx8D/5cZ/E27gVjqYtONh4OeOEPmohu+bwKhiSemyytxHl7nC7CkCEvf1Kh9gcMT25yIw1IXc8LR3WpDA1L8cxqQBqQgoBDrDNKAFAQUYp1BGpCCgEJs6U5aYaOgONJe+xw9nK5wzarpauwevFpQiQr7232PCIbrwTD2+7tHzxfTo5vTx+ml0lpusD1NPdGLxfScLi8JoJFn6zwTieRHFKwrkbw+RPs3igUuhHif3jQ+wDAlX4GsLaZH75E+pkedhfTII4eFjmJ6TpeXZAyKpZhXPorIYOn5aIFZ0PSmMSs316Pnh4weYoOZPadlJQHkdJCVtKcBKehrQBqQgoBCrDNIA1IQUIh1BmlACgIKsc4gDUhBQCHWGaQBKQgoxDqDNCAFAYVYZ5AGpCCgEOsM0oAUBBRinUEakIKAQqwzqBKA3CmcoK8Q6dnx9JGm6DcxGRtNdkrL6dPPiFmsJE/r0aQtU3tmNuzIbGYQxDLOYHYhp3WhsSh95NsEHA4hVn9QSCdXRjNeO2n6XDdjfFeurNDe4HwDcP55FXPtLiRnYORjIZvxgjo2Cm1+OET5MdBDX70WFvMZOBz9kGTyZ7r5e6MnSEH+TLemnvGvSEH+Cm+YuveWAC7fOp7Zka0MouwYkG5pIueSy+sb5swsBGdqQ1JMmXyOji2jsgWIBo6T2WZVx2JxWnRyR2yrZRQ0puHsqurvnYrIFiDOeT7V6Xv5FqeCsWvn0jP1S6luei40Avzc0D2sXA9i1ZctQE09Y+doPcHptBPElf1P+Z606rAUeqlEYjdd5dLjKQ3QB5z0YQuQDACYkV+yJAQeuhT0tDgZmFVbkXZfJ2VxZlYIsD/8uOpTq3Wt6NkGFAiN/kgLUt6TTmgGR20K4WQ46FtmxalTOpGgbwui2Cvt0diTpBn1GyEUSjllX9qxDUhW9j+4bCt1te/kMf2L9wHiD31tntcGX26skWWl2uSYQ0s8jwoU++lKml6BRPdI25u/HD/ltE8CP7NtOFg/9zqLf0GE5NLJ9EbjwChl1TEG/BQHHKC76fGczM4+hUaVIcQCWjdF3Rhp6QOuzIMBlgLg2/y94+/Ysa2qM2NA0gF2dfHIub07KdFfpUwqafZMbRD9EReoAZv8oei3U8udPHYEUC6g/nXzG4VI7mAo5PKpKXe2OQ1n9gTmF/pbDvlrlx4o9YpoRwHlmk/dC4ZeWLR48maiXhjJeZAEd05mZ89p6Thl5jWObGLuHO+l2k/6ZtRl7cSg62gCmoAmoAloApqAJvB/I/AfApesHm/AJwcAAAAASUVORK5CYII=);
    background-size: cover;
}

.style_wk-popupmenus-mulselect__MhgEq {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAFWElEQVR4Ae2bXWgcVRTH8520QoJpbJJVo5IoCqmaT4mBGl8ii01aCtE++CJ+IAi2lmJFH7L6oNQgSkt9kkTBl5qnBJS8iKkNpPlG7UtLA1bErWQbNEIh3/7Osne5c3eztRFkMnsu3Nx7zj0zmfPbe2dn/jObk6NFCSgBJaAElIASUAJKQAkoASWgBP5vAvnb/Yc9PT35xcXFfaFQaKC6unozGo1e3O6+/Lxd7nYOrqmpaffm5uY56gHZPjc39/fZ2dm7t7Mvv2+T5x5gJBJJ8dkxra2tewDznYEjYwDqt2OC1PfMoMbGxgiJn8jLy+ufnp4+SuKbdrINDQ334Rsh5mHjx/6A2fOusd2WfTYRc6/r95O9QSHnqZmZmah7XB5AAPiNgPhSIamPSPyk2YBltQ8wAieU8G0Q8wYxZ02M2wLnOeLPuX6f2otlZWW1o6Ojf9rH51lOUBwwgyT2Fgm+KnZLS8tT2BeoBs5yfn7+85ngyHbEPyTtDinlS0tLFe6xFtiOrq6u3qGhoX34Dib8Z5lVD6ytrb2JXSw+Zs1fgDzEEhwVO1MpKio6vbKychfb1GSK88HYBscwwgd+1T0WzxKTwcQ31Hk+/eaUYL6t8IXZ0U/uWFDtFECSKEuqan19fQJIyU+eWXAZ+5m5ublrQYWRLi/POcgETE1NXWcZPYu9KD7gXCwoKGjPNjiGx5YtV8tFLLnqW10bbbkDHVACSkAJKAEloASUgBJQAkogSwn8J9G+pKTkVFVV1QDC/YaK9tYMamtr27W8vCyifZe4uZlV0d7wAU45cES0j8NJ+JNKpIkLSuvRg5BYe0n8BMn1I4odY2Z4RHvu7GsYF136EQvAh8gg71i2p9vc3NyAI6kreQZ9Yohoj4SMyjN13T0kDyBbtEcPOoXK/7bZgETrEdFGsM3zL5EpjwHnjIlx250k2jMZbpSWltb9a9EeqCdJ8BVJGnD7gXOBroGzDMAjmeDIdsy0HSPac6x7tiPafwak+8n1ODsokaQhvUQ9xOz6XuxMBYhn2K6S6uvnYuRz26L9DyTV5CbPjqJIr+HJyckf3bGg2imaNDPjJiC6qL86SV/hMc6T2QRH8vecpG0g8iSV89B5fHcCa4J6AHgxOybr++FwuLi9vT2kon3WTwUFoASUgBJQAkpACWQhgS2vpG0W3LDWceNZyZX1Ynd392UuHOXmLitKRkCAeZGb1vchcY9FY4Hbjj5AfZwNoNIC6uzsvCMWi4nmLC9RpS1AGkeFO5xOhUu7wQ51ptzNSx4LCwt9Nhxg/E2dZij+xpnEMN6GiPa59INcUgDJK78k/JpJGjDvIUWWo1G3UCs4F72Ob1XGBSLL8AUTG8TW8xqwJMiseJkmvvQAMQCUiPilYIuILyrjXtpe8VHkXeqv4r00fwD+OPv0vaKIEDg9MTHxh5tCCiACHjNBnGO+NH27RTj7gkc/BlAy3o6RPppSD+9Yf+36/WazEnJWV1djHR0dD2YU7RMHvtskwIY3TN9u8SfPRfh32WNOP/mbDsfvO5OcKm4p2ieO+hfaWulz3SPno0vStwu091v2Navvdk+zLCtx1rgDfrKBc1ui/VHAfJpIYLGwsLANHfqKSSjxkvkYO41DBMAnnKeOm/GgtSnXQfJu9Pz8/AwA6iVZANyk6af+TK3D/xJtOVXGovzqsH58fNxecjIUmJICSDLj5NoICPl1T/J85GYMnDW+8g/yo5Zv3bEg2SnXQZIcTy9mAfAodSxdsvgvUZ8IOhzJPe0MMlDkacbw8HAn9tPUvUBZZFaN1dbWfjM4OLhi4rRVAkpACSgBJaAE/EjgH2HcEZLo1uc8AAAAAElFTkSuQmCC);
    background-size: cover;
}

.style_wk-popupmenus-mulselect__MhgEq:hover {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAF9ElEQVR4Ae2bX2xTVRzHf+fcjjr+tN0YTPeHdmEacUNENIaQQHyREDAQs7sRg0ajEhODDELE6MOqDxpB0UDgyQxMiNBur5i9EFGWCAFN1PEAmqzd5oYy1j9uspX2HH/nbre797R2f15su3Mfes75nd9pzu/T37m9/Z5TAHUpAoqAIqAIKAKKgCKgCCgCioAioAgUDAGu61qo2f1pSHf90dvsOVAwE5/jRMkc/Q33wb1VixMjowEOsEMYCIFBX0e8ej7vle9jqDxB7vdn2Kw+Ay9XL09ERi+acIw+QtutPsVUt2UQLhU/4fwQpkS7NxDZTwhBDtPX4IsebyLButD4qGklQD7ydcbeN9tyGdbdGxghtbI9n9oaB8acjmu+s8ND8rxsgEK6e4BzPrlUKDlSF4wdNgf062VrU5Dq4hyqhA2XFQMCb/uC8ZOmj1yGm93NjPGAbM/HNibDCF9CVtediUat87MvJ0JOpzsZfwc//b2i3a97tiSBXTbhoGkCM6clFxwxjjP+iCgL4cLEKHeMsQp5rg6rwftYa1uo59hatO0Udhx0EiHVJTkT31JOYcPUiYFGdnnPRy8Z7Rwvy5yO4/GJ5Ar8dFblcPv/u3CJEQpdtcHY7/JkbEtMdE5+Q419x4E/leGM31aaQ9tWey7yi9xXrO0MQCLQXn3FgwCJq5hC0588gZvOErq16utouFhhZIvLfg+a8qjruHNbo3S7uHEJE96Qr5SULtu00OBkA2azcX/DotCeiodmejayDVINRUARUAQUAUVAEVAEFAFFQBFQBOZPwBDtdfcRIbL1Nnla5/9O+T0y66/5mabcr9eUJiEeAA7PC18l2luI9euu8hTEL5pwJrssSqTFtxiqtgwKN7naOCGHUEls93XEWjNEe71sVWJSl15jBk8p+dgbjL1ntuUytNuznnKY1pVkhzxoc05QOndcEzKPPB0bIJtoD+STus7Yu+aAvpayRsZwR2NK1BeiPe55tHo74ydMH7ksKNEe4C5fSutnL9oDP4wBviGC7mv2bGYpIdpP7XgI0Z6T3bngiHEFJdoDLJ+7aM/4qVCT28c4O4h7YQ+IoPGOHMelt8sbjH5rtHO8uIh2Ig68knOW1/tiGA/DpdRV2zFb0T4y9j1mywY5dnyTIYdGt9UEoj/LfcXatt2DzCANmXXi/hVJtL8FGt1adz4aMv0WQplVtBdbsA6gOzD1IlMQrjodSzctNDgzJsBv++qdfbsrqpRoPyMq5aAIKAKKgCKgCCgCikDREcj6U0OOEkWyeka0Sk7oiHfNvpvE72eyT7G2cwJCrflVAvxDPG1WkwZA4A6eTzzqbTjw2UIAlRXQ7Zcql4yP3wvgoc3taTBSBQWzHzg4X8imwkmuBd3M+mN1fHz8qB0O+Ruz5jr+eDVOnImIsX8jgYkvCzr6WUw+A5A48ovRv5keS+kHvsb15XhY/GkUySow5d7C89H3Rb+AGG4u25P2LcKK7RiwiC/F2euoHhpLj1By2heM+gEuiS4UE42T96fwRP5K1FPbhI2xlDhLfVbUs129uucJmucn7fGDZqWOkuuV5/76U44hAxDuaqwTqSEujZOv5AFGm8IZPGdvAEJq67L6oDHc5NZRrg2yybf7L7e8sN9LpoZ7X/E8nFu0x6li6iw2Z8wpuWvWraVLo+l7ES60Umuftc4pT/+nw2rPxzrmRMWMor0xcQ4hLFeLOuOpLVj0iLr1Gk3yzWYbb95hsy6XLq4dN0R7wvJ6Xww3QRlQMruT9mHdsx+XxRciWPGt5aAlG2sCw7fM4MUhcwKJbhT1DYiYcZ/7OuMHzf5iKzE++8X1hkVhGPgRATSKHsyQf5BUOz4w/oq3kno0vYZ95ZN9MKQRaKztiFuWnOgpnisDkAgt1OJ+ElJwGZ+g0/cjOWQcmASq7fQFI9/IfcXUzngOEsH5ArGfqAaP49Nyd7Zgcen14D9+nil2OCL2rBlkQhG7GaEbx57DJfYs5XwlLjFcSrTbC9UXSMeNhOmnSkVAEVAEFAFFQBHIRwL/AjGFE+mcjazPAAAAAElFTkSuQmCC);
    background-size: cover;
}

.style_wk-popupmenus-revoke__S8LvT {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAHY0lEQVR4Ae2bbUxVZRzA5UUIYmAvK14Clpg4nRkIXEFZfsjSzMuWudIPrTk33MxVy9ZWq6G9+6Vay9xcNZupjZmaVstkUgkoCHwpFBKHY4C05eWlJe/0e4zn7uGMyz333nMO3nvP2R6el3Pu8/8/v/N//s/bYdYs+7IJ2ARsAjYBm0CwEoiySvGysrLI3t7enSkpKd8SlmzduvVoZWXluFXy/ZUT4e8PffndypUrE/r6+r4eHx93yt9FR0cvr6urq5b5WzWONluxpUuXZmA53yFniZQVERFxA0BXZf5WjiPNVA44jrGxsVpkuOGQ7omKinLW1NR0mCnbqLpNA5SXl7eRLlWJovdKZbGcy8BZRtc6Lctu9dhwQECJyMnJ2TU6OnqQ9G0SAHDOxMbGOi5cuNAsy4IhNtRJFxYWxg0ODu4HzAa18cDZR9hWX18/rJYHQ9owQFhNKhCOAydPafgYZTsaGho+VMqCKmkIIJxxLs5YjFRpsvWA6Y+MjHyGLvWDLAvGOGAfhOWsx2p+U+GQbgNOUbDDES80IEC5ubmvU0c5gOJFZRNXVUJCQgFwfpcFwRz7tdRYs2ZNbGJionDGL9J4tZt+lZycvKGioqIvmKGouquNU8s9pouKiu4ZGBg4BpxC5aFxutRrjFLvK2UhkfQJEM54MWBOEjLU1uOQL1NWqZYZmaZ+F/V1EncQOnkZl2pra/82UoanunQDEt2qu7u7DRDJniqzqhxIo+hxllhY8tHGxsarZsnWDcjhcNw3NDTUbpYigdQLqDMsYV5lCVMXSD1T/Va3k+7o6OhLTU3NpJKcqSqa4bL7mYdtQb8F6enpDejaY5Q+ui1ICMScIxjad5J8Q1WAN9iOXyjl/nW13Mg0dcdQXwohlZBB/lHiRQTtNYQ+zzN736e94U/eJ0BSAM56Ewp+TnAvRrn3J2a+zsrFKC9rHjqsR/ZLBPeugdATSB9lZWXtKC8vHxV5fy+/AAlhKLcM5Y6RVBXrYSNsg9XbGWLHkk25V9DlZcLtBHn9GB8f/3RVVVW/LPA19huQEIQlCVM/QXhQCubNjZDfzsiyV5ZZFefn588dGRk5gbyFUib6nHQ6nSXsiY/JMl9i3U56qkq7urp6s7OzDzC6LeZ+9sQzYvnyRFpa2l0rVqw41dTUZNnGfGdnpyszM/MAe1EPocMDE/rMb25ujrl27VrFRN6nKCBAQlJbW9tQaWnpNy0tLcK0i6R0rMjhcrkKMjIyTjCqDMpys2Mhq7i4+LCQjax5E/KKGeEu8UL/8FV+QF1MK4yV/WZMei9wZiv3mvBL6/BLV5Qy05P4pTn4JbEfLi3pn7i4uKzq6uq/fBEe0GpeKwi/8wVwHgGSugxYiMmfx6kXa583M8+ZWw96lCBDWm8Ca8hJ0xM98g0FJAQC6VcUcxAuSgWAdjfhNJCek2VWxMyFLjI/+1SRVSocuZL3mjQckJDIqr4VQIWEU4oGMUD6Eki7xSmrUm5qkrnZu+hxc/sF+bOx5l2+CAzYSXsShkMcZBQ7hLO8k2eEw5TXchz6Yu4dsWKEw2nfYI8qEeGyiy9gAvlxe3v7kFRoutjUNylmsZj5dsx8G29xRCrCm3yytbV1lcybHSP7iCIjBl+0WslPmzQVkJRMl9sDpMfJuxeR5LvlfbNj5Dcgo0PK4QU5ZdpbbAkgoQRrtJ85OMzhbZaRLSHfKMqtuJA5TvhJygLQWqYBur5L0PWQrDjQ+Ny5c23UsTPQevz5PYDEZp/86R39/f1i66ZVFniKLbMgTwpYVQ6gTlUWsMS2idcrbABBoktDQ+wteb3CCdC/Ghq2BWmAaLNztAVT5cPJgia1H5+ka9EaToCSVEI4aa1PUm+702EDSDtqaUc1NxFNImwAcSw0adRiJj9p2NdwcWfDBhAWs0C2mvRVNvDaZX66OCwAcbgwGwjiHO3mBSDxsZeuKywA0Z0exge5nTR5G5BqHmySbZR5rKcXf/SLzHuLQ96CCgoK5gPhWQkCS/qM7Q/dX9taupqXSloZDw8Pv4M82U5XUlLSB77ID2kL4mt/sUn3lARC93pPnHbIvJ44ZAEBJxtfc1BCEEM731V+IvN6Y0MPDvUKNfs5hnVxzHSWcPM4HDg3kFnM/ni9r7JDzoL4Em4hYM5LOAIIgLb4A0f8NqQAcfTtxCnXAGeuaJy4gLObUcvd1f4v1f83JLoYh5Hi85vdgHlMbToTwrc5HHgTSO7NaPW+nnTQAhIfJ/BvnmtppPhXiBJid28AyABwNgPnkB4I0z0zo4A4J8/ng6dlNMbdOE/KAiGGe2JFnko6HQj5xGKNNemi/AphE93q/KQbfmZmDBDdYjUNFP8JZJQO1wHzFsfKezjR1XWsrIeZnGHqedbQZ2jMKgAFDId6uqhnv5ghi0kgo5Whes4YIBr1PY17gdjXDyjEKWkLFI4TjoquRN5vJ+yNZsBv0JuA6e7jghbhgxzT+SDReGbELuoR/6vRSdzly2JzOvn2PZuATcAmYBOwCdgEbAI2Ac8E/gPDDKeya9rv9gAAAABJRU5ErkJggg==);
    background-size: cover;
}

.style_wk-popupmenus-revoke__S8LvT:hover {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAH0ElEQVR4Ae2baWxUVRTH77nTlrLYdmoFKdCZIi4BxbiCMUZjZBFSMMKjFKJBYuQDEuMWI0ZTcEGJiSYoEgmoGGrb0bCKoiYucQkY5AuKC9CZFsoi7cwUkC4z7/p/xfvmTqDOvM5CO/OatPfc897cc95vzj13e2XM/rEJ2ARsAjYBm4BNIAYBUV3NvbOLlntnF/rxW2PUY3ykT1ymdHhxQrtsyBnWsZEJNkPao5yc2921rT/Kel8tc1LtWLPmLDvDOrcCzvXSFhGddYTJJ+t9uUxpmDfNvXRCBwvvZkJE4DAKELEZozwtR/oyGOmbQwrJLhvmFFQJXd+EyCmSbSNyDuRS7t2jPP6fpa6vl0mPICEEGcmY6axGCJYvAQDO1w4mJozwnPxD6vpDmdQk3aSNHBgWpz4QTGjqwxOjta7iMYvp3T1dqr4/yEkD1Di3pFQPdW0BnJvlgyPX6IL4U+X1gTekrr+VSQHkrSy8EV1qK7rXiAgAOkWcz3XX+3dEdP1PShiQd07hLMDZgMgZJB8f+cbLOa8oq/Pvk7r+WiaUpL1a4XPoRJ5oOOyHAWzgrZkAx/hSezVRFEvGDPAdP7kOw/j8qMjgbINr2NBHaNWBjih9P65Y7mLHHhg2tL397GYM4bfJ50YjGNxpabkn+KrUZUppCVCT5rwuxPTtwFGmAjAmgIzYN6ouqbJgfnwDzZyJI4zzZkf+oN9HbjjSklQbPTQWN6DubnXshBeRc3kPbaVNjelDWDD6ngnaPCCPbSqtCfhSZTxuQIfnF4/s6gg1pcqRRNo1Zumci2fK6tqSvoSJG5DxABjS1wtdPJTIw6Tqs3gQwTjV4e9StyfYkCw7lgAZ6yyf5lwmmP58lANETZgULnIQb43SJ7ECm3kYNYfrOpVigm7kwMmCsXHnmSDWyYkeddUH1553rRcKS4Bk+16tYB7kdepiFPW/8iivIp2L0SatYIxONEsX4nFEzjDpn1Fyzt4sE1OeIo8nrOqtyr0CZBhpqCyeyPTQZtUxLEoDxJmGb+8rq44kcv+5Hcuup4mJJxHlg2VbeLjPBhfkVV62/uQpqbNa9hqQYcjYLewQ+jZ0//HSMBoMCU5LyuuDa6QuXaVvXuFo0SW2IbLHSpvwZ7vr2idmUnW1LnVWyoQAGYb+22+uQSRVqIaRk1a5xKTHEw1xtc145Jb5xQWnOkK1yE/3yvs5pxWI6qWybqVMaC1mGBrq+fu0e9wT96F7va4aRkJd4mNfbDccVvWpli/d2NrmoikVGPo/l7Z0XTzbqBVWyrqVMuEIUo155xQtFEJfg2jKlXpM6n6jXKpw1QQPSV06yoYFRUXstL4btq407AHY6fz8/Csu//D4CSv2E44g1Zi7PrAeQ/09oG4uA4x8gLywq3Gu8w713lTL5e8HAuTInQk73QtnJO8h7e0d0dOTOJxIKiDDXll94DvuoAmInP3SPiCVhMPhrxq0ogVSl47SXdeyH368LW1hLrXISOSyHk+ZdECG0bK64MEC5sBqn74wnRAsjwn9PewhrUznqWrOwEteQf9q6/YDXV+EaLnpUxxCSgAZdos9/qCbJk8j4m+pfiDUn/bte8MjNC1lR06qPWPVz9UoErr298KSS9R7/k9OGSDDqDHEuz2BJchJi/Ebko5gB/J+L9s5SdZTXgr2iWkDkfxPW9dUsx5DSCkgadv9cdtqjCLTjJm21JGDH5dyqkvkxV9g3zzJxRdkviMQy3ZaABlOuDzBL0UO3QCD1RjpZrprA3tjOZes64ADJmyn2R7RdFF9V1zbzXHdZDacoFBeG/CiiWUJNtO7j3PhxelL9w/yoLNp/14XKgdjNZa2CIrlSMqvY8s2ygbx0qh6D5XsAUT8qMrA2FtS6z3JWQNIcPGPCsHYeFPrPclZA+g8ADzyWs551xRF1gIiXY9r0Zo1gByCFSqBgVlsdE6KuqZUsgZQWBdROcfhcESPagoUVcwaQCQoatTCKa0NSI0E7JtfE6mTb0Rta1yHoFkRQeKRm3IFsckSEHHaKuVYZVYAagwcuBMvXJhJGsdDNiA1MoTOqsw6UbCsaMy3Zj2GkPERdLiy5CrknwclBzzwO1bets14QCG962WckXXvWmDbw68PptckrHjKjAbkneOchq2N2QqIFcZph1KPKWYsoCNaydU4o6uJECCfGOxcFanHJ2UkoOaq0pJO1rlFjlzoWmexcT+r/H1ve3xYIndlHCCfVjy2s+vMLmyxXh15TPEwtnz3ROrxSxkFqFErmqGz8E/YgB5tIuC00u1pU7qaeSUuAacx/f+nqco5PhTSV6JLTVGfBm+YvOSq87/QvWmvXrAg91tAxssJdFqfjlPTWZjnzMTxttkbcNzcjqXFwvL6to8ssLjgrRcVUGNlwS0izCZib8Z8uAt6CSW6DY6uxXC8sF5KQowCgFvUt0jk53D2dsiRkzNvVG3LLqlLpLxogBq0gqk4rdqBSVxSfEA3asU7pi+6acRq8vzamQgU9bNpPRdTDYPKpGTAQTtHAecDY4Z8bhJoaR6ounRB+aIBQuB8igPPx5A7LL3EACAIFPYncs8WRo5NLnSlRJLwBakoyqSEt9KeJdFXVTxOhPUJ+JeqnnMQ9ibwgrgff5oH6KJ5uHP0USuLTUsO2TfbBGwCNgGbgE3AJmATsAmYBP4FPRiIVdFLoSsAAAAASUVORK5CYII=);
    background-size: cover;
}

.style_wk-popupmenus-favorites__6MBwY {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAB/lJREFUeF7tnAesrEUVgD96UaoIwYj0ohBpggZQkF4NGFCBBOkIKE2pwUACBJDelWpEBaRjoSMGla5BSigqYlQgaCRKDRDI93LmZt7/7t6/zL27e9+7J9ncfbsz85/5dv45Z845/5uNKRmTwGxTfMYmMEyAPgX8FXhrmH60YQF0NfBV4P/AicD3hgXSMAA6FTiiAmQX4KphgDRoQGsBjwDq8TKwREDxs3WmAMGFwP4B4gRg3wzS3sBlg4Y0yBX0aeBRYM7Ye9ykBfTdgPIg8LlZGdB5wDcDwJnAt4GPA38EFovP9wB+OEhIg1pBq8bqmQd4F1gNeCZAnAQcE+9/D6w/KwI6Gzg4Jv79bB/yo6VjFS0S3+8GXDkoSINYQavE6pk/Jq0l87bK5RTgyPjgPuALsxKgM4DDYsI/Ar4+yuSXC2gLxne7Aj8dBKR+r6AVY/UsEJP9PPDbHhM/DfhOfPdrYONZAZBHiMNjotcCXxlj0isBfwA+FG2+BlzTb0j9XEHeNnrIafPdArijZsKa/0OjzV3AZjMzoJOBo2KCvwC2azDZT8Yqmjfa7ghc36DfuDXp1wrSdLt6kgP4ZeDGhrM4Bzgo2t4ObNmw37g06xcgz1nHhsZ3A5u20F4n0r1oruizA3BTi/5FTfsByOODqyed1LuEMs4HDoyZ/grYpmjWLTr3A9DxwHGhU9ejwxrhHswe43wJ+HmLeXZuOtGANgJuAzxzKXsBl3fU1iPJftH3yXARnuo4VuNuEwnIjVhnT/Ou1Pk9dUqvGU5lOqIIySPJj+s6lnw/HoA+ASxbeXneyiOCbwJpYiX6uiL1qnPRP3oe+Fv89f1fgFdKLpT6NgE0R0zelVAF4b+T6e6lj0ExA/IqPR6imTfS+LGawV7MgAnvz9nrpaaKVAFtm0HIgaSzU9NxbecmqkN4cZtODdsuGdHHnQBjS23l1VhxQvOHS/DurQ6UAG0ffsraLa9ksMtQhfvBc8Cz2V9vq37IooCH4NFeC7VUQP0PAPTVpomAjA17Jkp+ymhjej8LwtcTGYj/tlRgEM2Ndets+lo5A/nhHsoIyXYjgPKNz1UgBD1X//4JaHy/DmL2hdf04Jzg6Yim23Vk6/GNTpiWYeG4mKbz6MILT6burrCfZXBMEpgsGFlBvjkEOCub1blZzHgyTbatrsK5DjBqoLiXaqi0etMB8h9mEswoJLkU2KftFSdRe+H8ElgmdHY70R15Op9D1cwb4tT7TWIc2HjwzCbCcVtZPCbmnisczf10Mpqj+C3AWyyJoQVDDDOLCOcBIPl2DwccPfAZpJcnbQr4B1lr3QBDpJNdhPNYpLudi6BcOX/vNbGxjhq7A1dkHc0+mIWYrCIcN+Ekzkc4/xprQnVnsZ0r+Sjv1bbe9jAArcL5TcCx5GZMqQNkZ8MWVoClkKe7fDKLdeMPw/dVOPcEnH83Ua4JIMcxxCmk5J57zxqIH3apwnEvNb/W+IjUFJAgzEkJycOh4i/w0SEm5Akhz/nfmtVBNla7DSAHtYhASIYblDeyzGfji/ah4XrA77LrGHZxQ1bfVtIWkIN/NiAlD9TPuozTStEWjatRx5sDztstxhhp2nVixoetQk1hgdJ4cxfdR+vjyrZ0b6n40iysK+e9rhfoCsjrWddjGidlLEwlu5QHKXmK6X7AW61ISgB54TzfbnLPY8og5aEsWWDliCu7SEoBfQbwLKOY/9qqSJvyzq9lRqN0btO0KR3E2h2VUgx4f7F8jkUjvJ/1Lp3buADSkqVTcF9z5j0w+qxHcmZNSY0EvrpiL6W8dQSdvL61h6lkrqs+pf0s+NwgBtH790crklJAltOlJ3NK8u5Fk8g651UgPiCTB/86XaMUkOEQwyKKJlXTOkjx+Y5LQoHpgu9dlSoFlJtVUyhmLAcp1gOok6J1XbdUmVJAyay6UacqjlKdSvobRv1fDPB6tmF3HrMEUG7Bhikka+Y3JQCLLVkJoNyCDYMXnVbJTwDL/JRiS1YCKLdgpm19OG4YJNer2JKVAMotmI8JVAubmsDywOtpe8MoKrCP9QGmmu6MusQm4+RtPDTfMl6WrARQsmC694YZagPg2SwsVXHV+UCdBVqjieNeBFib+HgLSo5thca4WLISQMmCTVcuUjMRS2yE4isVS9TN3UCXoHylidf1+WdUoBVbsq6AcgvW5LEC6xNdMVbMWzedxOD5BVGNZtrXMl+DcHvGKwfhOUtI7nUv1BDyiJEiC0WWrCug3IKl50176fyNqBSxsDPJOwFGODPkw6OR+5JQLbPL5T8Byr69apdOj2dg7VdkyboCyi2Fj3W7T1TFogcfu6w+/24BppOrPmXYC7DlKIKqPqNhkaYrShejmsbJjxxFlqwroNyCbQKYjEtiFbz1RtXYkM96CcYTdxcxnyWodFpPY3i7edsJKmUtbJOuU3Qm6wooWTA30BWAfwQQwQgoF/cDwRSHHmJQa5YEtXrlOroHXkdQngtNbs5XeibrCihZMN16N1TBJO816e0vqMIT8ZTg3AFJUMtXQFmgICTDL4aEiyxZV0AptHlD5O5zHd1bBNOP/1biIxmoVAyVdLHQQkdU6TrPzh3zA2FSSGskGF9aqX6KdQL6Vq4ob6tcDLtq6jtJV7KbR7TOGmuXtOlowTQuCuikbX0nS3qFZB2T4Rdvb1M/nfe/roCSqlZPTPgjSfVcJq5FKaCJ02xIRp4CVPNDTAGqAfQB5mVuWFT3ffkAAAAASUVORK5CYII=);
    background-size: cover;
}

.style_wk-popupmenus-favorites__6MBwY:hover {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAC2dJREFUeF7tnA1wXFUVx//n7qalRdCiyOCAkGpt9u222bcN6iAfgiLI1whjCSb7tqWUKqYIyofK4MgMMiIVVEzainy0+9IWrChKLYh8OSBfTfZt2uzbNA22MH7ggANaaRuy7x3nvn2bbrb52H1vm4S2d2Ynk7x77j3nt/fdc++554ZwqIxKgA7xGZ3ApAGUag4r/6l5569nrNqxZzJ9aZMCUEoLP0DgRgJ2MvgHqp69fbJAmnBAhhb6EUA3FANhQU2x1Zl1kwHShALqiIdiAaIOAFKPfwE4Jg+FO1Q9e9JBD8jQwssBvlKCIOZbmGhJARKDF8f07L0TDWnCRtCWRGRuju1OAEEAO4UdVCwaWEJE33OhvKTq5qcPWkCphPJzYix1XijGnbF289qu5rnH2SJnAPiQC+YyVTdXTSSkCRlB6QVKmG3I0TOVGTkLVuSk9q1bJQgjrtwKwo3uXPS8qmc/c9ABMhLhn4L5amfuAVZGddOZh2RJNYVOoADJUTTDGV3gREzP6hMFadxH0OaFc+osy5KjZ7oDiBCLJk0JZLCkEqHbiOnbeUB4Nqabpx00gFJx5Q4ifCtvMCVVPbOg1PjNl82ZmctZBgFH5qtRs5rMrJ0ISOM6goym0CwESI6eI9zX69Sobj43nOFGQlkGxnVuvaejunnmgQ8oHr4dxNe7hq5XdfOSkYxOJ+o+wSxSAA6XdWziS+clsw+ON6RxG0EvN82ZOSVgdbA7+ZIQZ0dXdz8+msGGFroToG+6dZ5QdfOsAxZQSlN+SMB38gbyBlXPXjCWsZ1aJESwUwQcJusKpi/Xt2ceGkuums/HZQS5rlvuuZwFoG3zxfPWZH9bjiFpTfkZA99wPdofY7p5Tjly1aozLoDSWvgWBt+Ud0h4Mpo0P1+uAV1aKGKD5FxUkx98fJHann24XHm/9fY7oBeb5x43VeTk6HF26kJQU32FoYy0FmplUItr7EZVN8/za3i58vsdkJFQbgbj++7c42nrYDQpUQScrYlwIIMurNczj5RrpJ96+xWQEa/7LAnxGDOmuq/X5dGkeZ8XhVNxZSURvurKZtimS2JrMqaXtiqR2W+A0lrkYsBexsBMV6FR1z1jKZ1OKCoz5KLS2aIAyBDhtmjSbB9L1s9z34A6NOWjAnYtQdQSUAtQLYPrABRFBHm3qmcLhnnWV45IkHi6pIEnAN4Oph0M2h4I2tstGngldn/fG547KhIcExDPnx/ITDVr97A1k0jUkuBaAtWCJQznU4jdDK8Po9MKiMaG1d2vVEPhznj4HCH4XjA+Mlp7DPyTJDiQ/OwAuI+AvmAAfZFV5uvl6jIEUDoROR+wa8Fca4NmAi4Md+9UbqPOfAM8wowNart5dyVy5dQ146Fj+0FLQJgPIFyOTEmdt8HYAYE+tvkVCU4CVNt7niltywFkxENfAugmEOZV1BkjJ8VByICxjQX1wsa2o/uP7D1+/Qu7K2rLY+Xuy8NHWe/yLCbMAmMWEzs/wTQLhPdX2GyvEPh6/WrzyYIcubFhuSdyTxSGbfINMBsMGEJQN4BekQtsm7t2y1sVKjDu1eWBpCCO2OCIEDSbJTw4n/cNpwwBvVHdnD0IaMjEx9gmRwTJlSuTEayxN1fyvo679T473Nw0ZwYLKwJwxCZnIeq8rqpuDk495C7CpGf4gDt33BbVze/67Ps9Iy5HGAn+VdFctkrVzcsGR5AzB2mhawD6SdEf74rqphMzPpCLhAPBvyYg5NqZQcA+X13Vs2MIIAdSQrkRjFsHgRDdoyYzVxyogNyR8wcAJ0obGbzZzgUbG9Zt6Sm2eYibN+LKdSAsK6qwVtXN5gMNkgtHTisfdqeVVJCpMdKe6Su1dZ+FYjqhXMWMu4oqPqzq5kUHCiQXzouFuDiATQJWY72+dfsIXm3fPxtxRS7CfjH4hPlxtT179nsdkgunyz3ulie6L9qExgbdfG0k20bcahiashDA/UWCz6m6eep7FZILJ1M0+T53WI3VWHff1n+MZtOoe7FUPPwVIh48j2IgFdPNylbbk4BoKRwAfw7mROOcdd0y5WbUMuZmVYYtGPYDhZAnAT1R3Sy4xbHan/DnpXAYeMrO5Rob1vW+WY5yYwJylgALQufBJgmpsDx/TdXNE8rpYCLr7PNaET2+MycuPbWCLVJZgBxI8dBZIAfSUa7Rb6q6efREAhitb2OhEoWFvWf+jEenTXHmnJ2V6Fw2INloakHoNMqPpGPdTnapuumcfE6mYsQjJ4Psv+zViTdY06Y3NtzduatSPSsCJBvv0pRP2YCE5KxAZSne3FWqQLXrl0YdGfjd62++23juo339XvqqGJDsZFNCUWsY6xgohAV8xZu9KD6cjAyk7SF6iYDj5XMCHqrfE26k9estr314AiQ7czNUn5dZYo4yJC6IJrs3eFWkGnKdceVmQYUjJryg6ubJftv1DMiZk4rO25nQGkuaV/lVyI+8oSkvFx0WXKLq5no/7bmj0HsTW7RIQw72Jrehx6K6+UXvrfmXNDTlf4V0mWrNi75GUJc293AbOamUDBg8o+rZM/yb6b0FQ1O42o7DFyBjYd2JsERhFzyuZ+bDYTQ0Ra5x8ovZgF1bHPjyit0fIC10LkAy6CSTLe+I6aaTMjdRJa0pzzJwijuiz1P17Ea/uvgDlAhdDybnZg4RPJ+7+zWiIG9ooVYUskCIb1CT2eLgn6du/AHSFBkOkWERMNknx5I9L3jSokpCRiK8GMy/dJsbEnz32oVfQHvdamDKDHVV+m2vilRDzmgOnwTBUidZNqm6+Um/7foF5LhVAm2P6plCFodfnTzL9yyafcTugcB/3QbeUXVz2MPBSjrwDGiIB5tEIVlDU+TJb/68vgqezDugYg82CVbReydqZQ2Apmp5Mu+AijwYiFvUZHZ5JUN3f9U1hurl25N5B1TkwYjozGgyU5rYNCaDrngoJk8VCHQ65xMK5A58mw08zJb9p3lre2ReYkWlUwtfIMC/r5Yn8wOo4ME4OFUcO+eesQPgg6+BvLMRFC3M9lICBYYlwHLtSSsstlY2rOnZUi4l9z5Ib7U8mR9AhY1hr1qULjKaIVsWR44Z6OelBJY3DZ1kiTJKvwRFZK2IJnsKho8qZiSUv7sZaL49mSdAQ/dgY18r6Fgyb3pgz64WMMmM+eOKrHuLQW2C+JFgDfXt2TUgAqJmNglexMCiEgo7JSi27OWxtdlXRyNkxJWNIOQjCz49mTdARR6MCHdGk+a1Iymc0pSvAbiaAJnYWSgDALXZjLZ5w5yHy0opre50gpA5OzLNbrAw8G8BWhEMcNtIuUtpTfkxA65O7GtP5g1Qkadg4MqYbq4sBWTElWYQZArNkPvvBNwLQlvpLcORAHcm6s4nFi0EDLmjIZM0QbQimBOtpZluRjy0GET5LYfPPZk3QEUeTIA+V69nnioYmIorFxLhGgBDYkMEepCY2+rbzWfLmHf2qdKlhS+1wXJEubv1wSqvArzcmja9tXBqkdaUU+RVTreGrz2ZV0COByNCP1nBj9ev2fy3dCJ8BoOvAePCEus2AtxWjdCDbNfQwlcgD6p+SD9O+iC3RfsjrZ3BrhmBYFAmJEzzuyfzCqjgwbph0yIIliPGXb3m1ZbfIBO37Y9bgt3zlSm5w6iF86A+VvKFZBhoJfDlADUA8OXJvAJyQpsE+g2DLy5R0GBw23j8W4mXEnUfrOFAC+VBOclQhSITLQiIyd/9xKe9Atq7Idyrk0zGbrOmTW9ruLtzwMs841XGbAqdsDtIS4m5hUDytSouO1TdlDcCPBVPgDqa674gBC0j0FznUgn4AWEF2yY6b1pevpP3yhiQeUwy/PIgwOv9zH+eAA16rOawMh5Xkjx99VUS8gWoSjpM6mYOARrj6zkEaAxA/wesVU+Fw61lkwAAAABJRU5ErkJggg==);
    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,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAABZZJREFUeF7tnF1sFFUUx/9npgjRYJQQEwLGslbtzrZ0t0URo4kkiIDxAeIXtLPUECAhYqLxAeOD8GBoYoyJEhM/0LJT/EwgIZFqNIGoiRC73aXQ2YIFqsEYEyPGB5OmnXvMlN1hO2zd3e6dtix3H3fu/M89v3vuvbvnzhxCgc/R9to5czG3lkZFrQ6uc4D5hdpNx3e6hl9ZiPOowVCsc2Ao6D6Q30DKjGwB+BUAdwRtvGJ9wneCxIst+weSFWtNIDAOUMo0PgLQHpSxwHQZ22Jd9ntB6HuA0qaxh4GdQRiZCk0NuL/Jsk/ItjUGKLmpvkUTWo9PvFNoYu+skVnnl3x86pJsw5PVs9vCC4Z1LcSCXydgeU6HgD8uhW5btGL3sdHJahe6bwxQyjS+AbDSM0a8PprIHJJpKAitZJuxSyO8mgfpjahlvyTTFvWYxjIdOJ4TFYzdLV32LplGgtRKm8ZhBh7P2rgYs+zbZdqjdNzYwYy3cqKOEEuWHhg4JdNIkFqpNmMrCO96A0xOU0viTJ8sm5QyjS4ArVnBoZhlL5YlPhU6p9sidSPEP3u2iLfEEpkPZNmmlBk+CtDDlwX5WMzKrJAlPlU6KdPgoJYIBajIKFYLoNMAIllfn4pZ9heyorcqAI1t9xq2ECNJomZ704G+iwqQLALXwxQLklVVTDEFKEgCaopVRldNsZkSQUmzIaxBLBOM2srGVN7dGmFIQDvRYp3OTKQaaAQdWVM3e8H82W8CvAaYOWAKwBgCqPv3P4dfWNs9OJx/PTBA6Xj4aWZy06A3yxvzwJX+IeKt0UTms5ylQAAlzcijGvirwN0JyIAArW6x+r925aUDOmnes1hAP+/r+08A3oEujk3FUU2p3FLt9bVwNDeTsR3Avfn3aXBCTdaZC9IBpUzjSwBrg0o/lOp8ue386VsAR2KW/ZhUQH0bG0OO7pzLdY7BnzZbmQ3ldna62vea4U8I9EzOvu7od0oF1BsPryQm9wBg7EPAQ1HL/mG6HC7Xbto0HmTge2+AiR+RCsifHyYaXRRNnP2t3I5OV/t0/O6FzDVXUiWMbVIB+edxzLKvOtqeLudLtetP3ypAPnIKUJFQUoAUoFJXm8LtVASpCFIRVBkBFUGV8VNrkIogFUGVEVARVBk/tQapCFIRVBmB8iPoytP1DJxrtuy6yfagKvNBvWZ4M4G8hx4dXQ8v7Tw1MBlIVQkoHTdizOjNASHgw6hlb1aAAPeZ8bGUaNo0jjOwzIPCvCrWlfGS76XCqsoIcp1PtobXaRodzAfBQIdGOFQziwYb9vX/VQqkqgXkOp8yI/sBjhcDwcC+G5g6Grr6B/1tqxpQdqrtZGBPMUhEeD6asN+uUkCfA3jS9c09o7/qWCbd2rCKSewF4a6JQDGJB5oTAz9WI6DeTZENEOIJAgaHxchrBc+tLrTXzrk0clNI0ylELEKjjHneLqfhRHPC7i4ErxqmmN8vqQd7ClCRxUkBUoCK7V//f11F0HUQQSdblywS2uhyJnHR3anVIu0b9Px3YJmwVgHyAboq5VrZqjP+7mpYgxSgcjOKKoLGEwg0gtJtxnNM8P7E6o4+byaVtSgWDH0bG291dMdL7RBjh+RFOrJaI/b+pwlNLA2ydE0xh8u97q9hIpjWSAXU095YrztO/psznTHLfrbcjk5Xe395IDc/LxWQW7nqFudGN+HvFWeia6RQSjoeXsc8Lqv6y9/6v/VSAWUzk24Fq/HFjhi7HBYHZ2JNkJ7W+kadtPUg+Aq60NaY1f++dECXIU1YyWoI4MDrjpU+Rcl9ua/QC37e0hAIoGz69pqsaEVAR9SyX/YShKXTLr9ldlfoyC/eVL7KlN3xrdDETv+uG1gE5bvlFnGqIdzH7J698cIpc7moIToLRlLoIjnRz5H/AN3JkWl3wnZtAAAAAElFTkSuQmCC);
    background-size: cover;
}


/**
 * 搜索框组件基础样式
 * 需求引用：4.1-4.7
 * 
 * 主题适配：所有颜色通过令牌变量引用，无 body[theme-mode] 覆盖块
 */

.wk-search-box {
    display: flex;
    align-items: center;
    min-width: 200px;
    height: 40px;
    /* 需求 4.6: 使用 --wk-color-bg 作为背景色 */
    background-color: var(--wk-color-bg);
    /* 需求 4.1: 使用圆角矩形样式 */
    border-radius: 9999px;
    border-radius: var(--wk-radius-full, 9999px);
    border: 2px solid transparent;
    transition: all 150ms ease-out ease;
    transition: all var(--wk-transition-fast, 150ms ease-out) ease;
}

/* 需求 4.2: 聚焦时显示主题色边框 */
.wk-search-box:focus-within {
    border-color: var(--wk-color-primary);
    box-shadow: 0 0 0 3px rgba(18, 183, 245, 0.15);
    background-color: var(--wk-color-card);
}

/* 需求 4.3: 显示搜索图标在左侧 */
.wk-search-icon {
    display: flex;
    align-items: center;
    margin-left: 12px;
    margin-left: var(--wk-spacing-md, 12px);
    flex-shrink: 0;
}

.wk-search-input {
    flex: 1 1;
    margin-left: 8px;
    margin-left: var(--wk-spacing-sm, 8px);
    margin-right: 8px;
    margin-right: var(--wk-spacing-sm, 8px);
    min-width: 0;
}

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

/* 需求 4.7: 使用 --wk-color-text-hint 作为占位符文字颜色 */
.wk-search-input input::-moz-placeholder {
    color: var(--wk-color-text-hint);
}
.wk-search-input input::placeholder {
    color: var(--wk-color-text-hint);
}

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

.wk-search-input .semi-input-wrapper:hover,
.wk-search-input .semi-input-wrapper-focus {
    background-color: transparent;
    border: none !important;
    box-shadow: none !important;
}

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

/* 需求 4.4: 清除按钮样式 */
.wk-search-input .semi-input-clearbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-right: 4px;
    margin-right: var(--wk-spacing-xs, 4px);
    border-radius: 9999px;
    border-radius: var(--wk-radius-full, 9999px);
    background-color: var(--wk-color-text-hint);
    color: var(--wk-color-card);
    cursor: pointer;
    transition: all 150ms ease-out ease;
    transition: all var(--wk-transition-fast, 150ms ease-out) ease;
    opacity: 0.6;
}

.wk-search-input .semi-input-clearbtn:hover {
    opacity: 1;
    background-color: var(--wk-color-primary);
}

.wk-search-input .semi-input-clearbtn svg {
    width: 10px;
    height: 10px;
}


.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;
}

.jy-voicetoolbar {
    padding: 10px;
}


.jy-voicetoolbar img {
    width: 20px;
    height: 20px;
    z-index: 999;
    filter: var(--wk-toolbar-icon-filter);
}

.jy-voicetoolbar-voicepanel {
    width: 800px;
    height: 672px;
    background-color: transparent;
    position: absolute;
    left: 200px;
    top: calc(702px);
    /*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: center bottom;
    visibility: hidden;
    z-index: 999;
}

.jy-voicetoolbar-voicepanel-show {
    animation: voicePanelAnimationShow 0.25s;
    -webkit-animation: voicePanelAnimationShow 0.25s; /* Safari 与 Chrome */
    visibility: visible;
}

.jy-voicetoolbar-voicepanel-hide {
    animation: voicePanelAnimationHide 0.25s;
    -webkit-animation: voicePanelAnimationHide 0.25s; /* Safari 与 Chrome */
    visibility: visible;
}

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

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

.jy-voicepanel {
    width: 100%;
    height: 100%;
    
}

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

    display: flex;
    overflow-x: auto;
}

.jy-voicepanel-content {
    width: 100%;
    height: calc(100% - 40px);
    overflow: hidden;
    overflow-y: auto;
}

.jy-voicepanel-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;
}

.jy-voicepanel-content ul li {
    cursor: pointer;
    padding: 6px 4px;
}

.jy-voicepanel-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;
}

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

.jy-voicepanel-tab-item-selected {
    background-color: var(--wk-color-card);
}

.jy-voicetoolbar-mask {
    position: fixed;
    width: 100%;
    height: 100%;
    top:0px;
    left: 0px;
    z-index: 998;
    cursor: default;
}
.SettingsMenu_settingsCloseButton__o9wDG {
  position: absolute;
  right: var(--lk-grid-gap);
  bottom: var(--lk-grid-gap);
}

.SettingsMenu_tabs__ywcma {
  position: relative;
  display: flex;
  align-content: space-between;
}

.SettingsMenu_tabs__ywcma > .SettingsMenu_tab__IIyPb {
  padding: 0.5rem;
  border-radius: 0;
  padding-bottom: 0.5rem;
  border-bottom: 3px solid;
  border-color: var(--bg5);
}

.SettingsMenu_tabs__ywcma > .SettingsMenu_tab__IIyPb[aria-pressed='true'] {
  border-color: var(--lk-accent-bg);
}

/* Windows 窗口控制按钮样式 */
.wk-window-controls {
  display: flex;
  align-items: center;
  height: 32px;
  margin-left: 8px;
  -webkit-app-region: no-drag;
  pointer-events: auto;
  position: relative;
  z-index: 9999;
}

.wk-window-control-btn {
  width: 46px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: var(--wk-color-icon-default);
  cursor: pointer;
  transition: background-color 120ms ease-out, color 120ms ease-out;
  outline: none;
  padding: 0;
  margin: 0;
  -webkit-app-region: no-drag;
  pointer-events: auto;
}

.wk-window-control-btn svg {
  width: 10px !important;
  height: 10px !important;
}

.wk-window-control-btn:hover {
  background-color: var(--wk-menu-hover-bg);
}

.wk-window-control-btn:active {
  background-color: var(--wk-menu-hover-bg);
}

/* 关闭按钮特殊样式 */
.wk-window-control-close:hover {
  background-color: #e81123;
  color: white;
}

.wk-window-control-close:active {
  background-color: #bf0f1d;
  color: white;
}


.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;
    background: var(--wk-gradient-chat-bg);
}

/* Windows 窗口控制按钮定位 - 固定在窗口右上角 */
.wk-layout-window-controls {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 999999;
    -webkit-app-region: no-drag !important;
    pointer-events: auto !important;
    height: 32px;
    background: transparent;
}

@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);
    -webkit-app-region: drag;
    position: relative;
}

/* Windows Electron: 用伪元素创建 drag 区域，右上角留空 */
body.wk-electron.wk-platform-windows .wk-navheader {
    -webkit-app-region: no-drag;
}

body.wk-electron.wk-platform-windows .wk-navheader::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 140px;
    bottom: 0;
    -webkit-app-region: drag;
}

.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: 24px;
    font-weight: 500;
    color: var(--wk-color-text-primary);
}

/* 导航栏右侧按钮区域不可拖拽 */
.wk-navheader-content-right {
    -webkit-app-region: no-drag;
} 
.wk-join-oraganization {
  background-color: var(--wk-color-card);
  cursor: pointer;
  border-radius: 8px;
  width: 100%;
}

.wk-join-oraganization-content {
  display: flex;
  padding: 10px;
  align-items: center;
}

.wk-join-oraganization-content-name {
  margin-left: 20px;
  color: var(--wk-text-item);
}

.wk-join-oraganization-bottom {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 10px 5px 10px;
}

.wk-join-oraganization-bottom-flag {
  font-size: 12px;
  /* 辅助文字使用令牌变量 */
  color: var(--wk-color-text-hint);
}

.wk-join-oraganization-bottom-time {
  position: absolute;
  right: 10px;
  top: -5px;
  /* 辅助文字使用令牌变量 */
  color: var(--wk-color-text-hint) !important;
}


.wk-message-live-content {
    display: flex;
    width: 170px !important;
    height: 40px !important;
    background-color: var(--wk-color-card);
    color: var(--wk-color-text-primary);
    flex-direction: row;
    align-items: center;
    border-radius: 8px !important;
}

.wk-message-live-content-long {
    width: 200px !important;
}

/* 发送方通话气泡使用主题色 */
.wk-message-live-content-send {
    background-color: var(--wk-color-theme);
    color: var(--wk-bubble-send-color);
}

/* 接收方通话图标 filter 通过令牌驱动，夜间模式自动反色 */
.wk-message-live-content:not(.wk-message-live-content-send) .wk-message-live-content-image-fix {
    filter: var(--wk-live-icon-recv-filter);
}

.wk-message-live-content-send-second{
    width: 237px !important;
}

.wk-message-live-content-title{
    margin-left: 13px !important;
}

.wk-message-live-content-image-fix{
    width: 24px;
    height: 16px;
    margin-top: 4px;
    margin-left: 5px;
}

.wk-message-text-content1 {
    position: absolute;
    word-break: break-word;
    line-height: 1.3125;
    text-align: right;
    right: 30px;
    top: 4px;
    unicode-bidi: plaintext;
}

.wk-message-video-content-time {
    align-items: center;
    background-color: rgba(0,0,0,.35);
    border-radius: 12px;
    color: var(--wk-bubble-send-color);
    display: flex;
    font-size: 12px;
    height: 1.125rem;
    left: 6px;
    line-height: 1;
    padding: 0 6px;
    position: absolute;
    top: 6px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: 2;
}

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

.flexible-modal {
    position: absolute;
    z-index: 1;
    border: 1px solid var(--wk-line-color);
    background: var(--wk-color-card);
  }
  .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 var(--wk-color-text-primary);
    border-right: solid 2px var(--wk-color-text-primary);
  }
  .flexible-modal-drag-area{
    background: rgba(22, 22, 333, 0.2);
    height: 50px;
    position:absolute;
    right:0;
    top:0;
    cursor:move;
  }


.wk-message-location {
    cursor: pointer;
}

.wk-message-location-content {
    width: 250px;
    background-color: var(--wk-color-card);
    border-radius: 4px;
}

.wk-message-location-content-title {
    color: var(--wk-text-item);
    font-size: 16px;
    padding: 5px 5px 0px 5px;
}

.wk-message-location-content-address {
    /* 辅助文字使用令牌变量 */
    color: var(--wk-color-text-secondary);
    font-size: 12px;
    padding: 0px 5px 5px 5px;
}

.wk-message-location-content-locationimg {
    width: 250px;
    height: 100px;
    overflow: hidden;
    background-size: cover;
}




.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: var(--wk-voice-play-bg-send);
    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-voice-play-bg-recv);
}

/* 发送方图标颜色 */
.wk-message-base-bubble-box.send .icon-play::before,
.wk-message-base-bubble-box.send .icon-pause::before {
    color: var(--wk-voice-icon-send);
}

/* 接收方图标颜色 */
.wk-message-base-bubble-box.recv .icon-play::before,
.wk-message-base-bubble-box.recv .icon-pause::before {
    color: var(--wk-voice-icon-recv);
}

.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;
    stroke: var(--wk-voice-progress-stroke);
}

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

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


.wk-message-voice {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

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

.wk-message-voice-info-status {
    display: flex;
}

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

/* 发送方时间文字 */
.wk-message-base-bubble-box.send .wk-message-voice-info-time {
    color: var(--wk-voice-time-send);
}

/* 接收方时间文字 */
.wk-message-base-bubble-box.recv .wk-message-voice-info-time {
    color: var(--wk-voice-time-recv);
}

.wk-message-voice-info-tail {
    position: absolute;
    right: 10px;
    bottom: 10px;
}

.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%;
}

.Debug_overlay__77Y8O {
  position: absolute;
  top: 0;
  background: rgba(0, 0, 0, 0.6);
  padding: 1rem;
  max-height: min(100%, 100vh);
  overflow-y: auto;
}

.Debug_detailsSection__PjXpR {
  padding-left: 1rem;
}

.Debug_detailsSection__PjXpR > div {
  padding-left: 1rem;
}

.Home_main__Z7rkI {
  position: relative;
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
  justify-content: center;
  place-content: center;
  justify-items: center;
  overflow: auto;
  flex-grow: 1;
}

.Home_tabContainer__Dqg-I {
  width: 100%;
  max-width: 500px;
  padding-inline: 2rem;
}

.Home_tabSelect__\+4q6A {
  display: flex;
  justify-content: stretch;
  gap: 0.125rem;
  padding: 0.125rem;
  margin: 0 auto 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0.5rem;
}

.Home_tabSelect__\+4q6A > * {
  width: 100%;
}

.Home_tabContent__ID3Zc {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0.5rem;
}

/**
 * 无障碍样式 - WCAG 2.1 AA 对比度合规
 * 
 * 本文件确保所有文字与背景的对比度符合 WCAG 2.1 AA 标准。
 * 
 * WCAG 2.1 AA 标准要求：
 * - 普通文字（小于 18px 或小于 14px 粗体）：对比度至少 4.5:1
 * - 大文字（18px 以上或 14px 粗体）：对比度至少 3:1
 * 
 * 需求引用：9.3
 * 
 * ===== 对比度检查结果 =====
 * 
 * 亮色模式（背景色 #FFFFFF）：
 * - 主文字色 #1A1A1A：对比度 16.1:1 ✓ (符合 AA 标准)
 * - 次要文字色 #666666：对比度 5.74:1 ✓ (符合 AA 标准)
 * - 提示文字色 #999999：对比度 2.85:1 ✗ (不符合普通文字标准)
 *   → 调整为 #767676：对比度 4.54:1 ✓
 * - 禁用文字色 #CCCCCC：对比度 1.61:1 ✗ (不符合标准，但禁用状态可接受)
 * 
 * 亮色模式（侧边栏背景 #FAFBFC）：
 * - 主文字色 #1A1A1A：对比度 15.4:1 ✓
 * - 次要文字色 #666666：对比度 5.49:1 ✓
 * - 提示文字色 #767676：对比度 4.35:1 ✓
 * 
 * 亮色模式（悬停背景 #F5F7FA）：
 * - 主文字色 #1A1A1A：对比度 14.5:1 ✓
 * - 次要文字色 #666666：对比度 5.17:1 ✓
 * - 提示文字色 #767676：对比度 4.09:1 ✓
 * 
 * 暗色模式（背景色 #1A1A1A）：
 * - 主文字色 #E8E8E8：对比度 11.3:1 ✓
 * - 次要文字色 #A0A0A0：对比度 5.32:1 ✓
 * - 提示文字色 #707070：对比度 2.63:1 ✗ (不符合普通文字标准)
 *   → 调整为 #8A8A8A：对比度 4.03:1 ✓
 * 
 * 选中项（背景色 #0093f5，文字色 #FFFFFF）：
 * - 对比度 2.67:1 ✗ (不符合普通文字标准)
 *   → 对于选中状态，使用更深的背景色或确保文字足够大
 *   → 调整选中项文字为粗体，符合大文字标准 3:1
 */

:root {
  /* ===== 无障碍优化的提示文字色 ===== */
  /* 原 #999999 对比度不足，调整为 #767676 以符合 WCAG 2.1 AA */
  --wk-color-text-hint-accessible: #767676;
}

/* ===== 暗色模式无障碍优化 ===== */
/* --wk-color-text-hint-accessible 暗色模式值在 theme-dark.css 中定义 */

/* ===== 时间戳文字对比度优化 ===== */
/* 时间戳使用 11px 字号，属于小文字，需要 4.5:1 对比度 */
/* 需求 2.6：时间戳字号设置为 11px，颜色为提示文字色 */
.wk-conversationlist-item-time {
  /* 使用优化后的提示文字色，确保对比度符合标准 */
  color: #767676;
  color: var(--wk-color-text-hint-accessible, #767676);
}

/* 暗色模式时间戳通过 CSS 变量令牌自动切换 */

/* 选中项时间戳保持白色 */
.wk-conversationlist-item-selected .wk-conversationlist-item-time {
  color: #FFFFFF !important;
  color: var(--wk-color-item-selected-text, #FFFFFF) !important;
}

/* ===== 分组计数徽章对比度优化 ===== */
/* 计数徽章使用 10px 字号，需要确保对比度 */
.wk-conversation-group-count {
  /* 默认背景 #F0F0F0，文字使用优化后的颜色 */
  color: #767676;
  color: var(--wk-color-text-hint-accessible, #767676);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* ===== 选中项文字对比度优化 ===== */
/* 选中项背景 #0093f5 与白色文字对比度为 2.67:1 */
/* 通过增加字重来符合大文字标准（14px 粗体需要 3:1） */
.wk-conversationlist-item-selected .wk-conversationlist-item-name h3 {
  font-weight: 600; /* 增加字重以符合大文字对比度标准 */
}

.wk-conversationlist-item-selected .wk-conversationlist-item-lastmsg {
  font-weight: 500; /* 增加字重以提高可读性 */
}

/* ===== 消息时间分隔线对比度优化 ===== */
/* 需求 14.3：时间文字颜色设置为 #999999 */
/* 调整为符合 WCAG 标准的颜色 */
.wk-message-time-separator {
  color: #767676;
  color: var(--wk-color-text-hint-accessible, #767676);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* ===== 搜索结果描述文字对比度优化 ===== */
/* 需求 12.6：搜索结果项描述字号设置为 12px */
.wk-search-result-description {
  color: #767676;
  color: var(--wk-color-text-hint-accessible, #767676);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* ===== 焦点可见性优化 ===== */
/* 需求 9.4：支持键盘导航操作 */
/* 确保焦点状态清晰可见 */

/* 会话项焦点样式 */
.wk-conversationlist-item:focus {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: -2px;
}

.wk-conversationlist-item:focus:not(:focus-visible) {
  outline: none;
}

.wk-conversationlist-item:focus-visible {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: -2px;
}

/* 分组标签焦点样式 */
.wk-conversation-group-item:focus {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: 2px;
}

.wk-conversation-group-item:focus:not(:focus-visible) {
  outline: none;
}

.wk-conversation-group-item:focus-visible {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: 2px;
}

/* 右键菜单项焦点样式 */
.wk-contextmenus li:focus {
  outline: none;
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

.wk-contextmenus li:focus-visible {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: -2px;
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* 聊天头部焦点样式 */
.wk-chat-conversation-header:focus,
header.wk-chat-conversation-header:focus {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: -2px;
}

.wk-chat-conversation-header:focus:not(:focus-visible),
header.wk-chat-conversation-header:focus:not(:focus-visible) {
  outline: none;
}

.wk-chat-conversation-header:focus-visible,
header.wk-chat-conversation-header:focus-visible {
  outline: 2px solid #0093f5;
  outline: 2px solid var(--wk-color-primary, #0093f5);
  outline-offset: -2px;
}

/* ===== 减少动画偏好支持 ===== */
/* 为有前庭障碍的用户提供减少动画选项 */
@media (prefers-reduced-motion: reduce) {
  .wk-conversationlist-item,
  .wk-conversationlist-item-selected,
  .wk-conversation-group-item,
  .wk-contextmenus,
  .wk-chat-conversation-header,
  header.wk-chat-conversation-header {
    transition: none !important;
    animation: none !important;
  }
}

/* ===== 高对比度模式支持 ===== */
/* 为使用高对比度模式的用户提供更好的可见性 */
@media (prefers-contrast: high) {
  :root {
    --wk-color-text-hint-accessible: #595959;
    --wk-color-divider: #000000;
  }
  
  body[theme-mode="dark"] {
    --wk-color-text-hint-accessible: #B0B0B0;
    --wk-color-divider: #FFFFFF;
  }
  
  .wk-conversationlist-item-selected {
    border: 2px solid #000000;
  }
  
  body[theme-mode="dark"] .wk-conversationlist-item-selected {
    border: 2px solid #FFFFFF;
  }
}

/**
 * 颜色令牌系统 - CSS 变量定义
 *
 * 本文件定义了所有语义化颜色令牌的名称和白天模式默认值。
 * 颜色令牌与主题相关，每个主题通过独立的主题定义文件覆盖这些变量。
 *
 * 命名规范：
 * - 通用颜色令牌：--wk-color-{category}-{variant}
 * - 组件级复合令牌：--wk-{component}-{property}
 * - 遗留变量别名：保持旧名称，值引用新令牌
 *
 * 需求引用：1.1, 1.2, 1.3, 1.4, 1.5, 7.4, 12.4
 */

:root {
  /* ===== 主色调 ===== */
  --wk-color-primary: #0093f5;
  --wk-color-primary-hover: #0080d6;
  --wk-color-primary-active: #006db8;
  --wk-color-warning: #FAAD14;
  --wk-color-error: #FA5151;

  /* ===== 背景色 ===== */
  --wk-color-bg: #F5F7FA;
  --wk-color-card: #FFFFFF;
  --wk-color-sidebar: #FAFBFC;
  --wk-color-divider: #E8E8E8;

  /* ===== 文字色 ===== */
  --wk-color-text-primary: #1A1A1A;
  --wk-color-text-secondary: #666666;
  --wk-color-text-hint: #767676;
  --wk-color-text-disabled: #CCCCCC;

  /* ===== 渐变 ===== */
  --wk-gradient-chat-bg: linear-gradient(135deg, #E3F2FD 0%, #F3E5F5 100%);
  --wk-html-bg: linear-gradient(135deg, #E3F2FD 0%, #F3E5F5 100%);

  /* ===== 会话列表 ===== */
  --wk-color-item-selected: #0093f5;
  --wk-color-item-selected-bg: #0093f5;
  --wk-color-item-selected-shadow: none;
  --wk-color-item-selected-text: #FFFFFF;
  --wk-color-item-top: #F0F2F5;
  --wk-color-item-hover: #F5F7FA;
  --wk-color-item-normal: #FFFFFF;
  --wk-color-badge-unread: #FA5151;
  --wk-color-badge-mute: #C8C8C8;

  /* ===== 图标 ===== */
  --wk-color-icon-default: #666666;
  --wk-color-icon-hover: #333333;
  --wk-color-icon-active: #0093f5;

  /* ===== 消息气泡 ===== */
  --wk-bubble-send-bg: var(--wk-color-primary);
  --wk-bubble-send-color: #FFFFFF;
  --wk-bubble-send-tail: var(--wk-color-primary);
  --wk-bubble-recv-bg: #FFFFFF;
  --wk-bubble-recv-color: rgba(9, 30, 66, 0.87);
  --wk-bubble-recv-tail: #FFFFFF;
  --wk-bubble-recv-border: none;
  --wk-bubble-sender-name: rgba(9, 30, 66, 0.74);
  --wk-bubble-send-time: rgba(255, 255, 255, 0.75);
  --wk-bubble-recv-time: rgba(104, 108, 114, 0.75);
  --wk-bubble-link-send: #FFFFFF;
  --wk-bubble-link-send-underline: rgba(255, 255, 255, 0.5);
  --wk-bubble-link-send-underline-hover: rgba(255, 255, 255, 0.9);
  --wk-bubble-link-recv: #1A6DD4;
  --wk-bubble-link-recv-underline: rgba(26, 109, 212, 0.3);
  --wk-bubble-link-recv-hover: #1458B0;
  --wk-bubble-link-recv-underline-hover: rgba(20, 88, 176, 0.6);
  --wk-bubble-box-shadow: 0 1px 2px rgba(114, 114, 114, 0.25098);

  /* ===== 搜索 ===== */
  --wk-color-search-icon: #999999;
  --wk-color-search-highlight: #267ef0;
  --wk-color-search-highlight-bg: rgba(38, 126, 240, 0.1);

  /* ===== 链接 ===== */
  --wk-color-link: #267ef0;
  --wk-color-link-send: #FFFFFF;
  --wk-color-link-recv: #5BB8F5;

  /* ===== 滚动条 ===== */
  --wk-scrollbar-thumb: rgba(0, 0, 0, 0.2);
  --wk-scrollbar-thumb-hover: rgba(0, 0, 0, 0.35);
  --wk-scrollbar-global-thumb: rgba(0, 0, 0, 0.3);
  --wk-scrollbar-global-thumb-hover: rgba(0, 0, 0, 0.45);

  /* ===== 媒体 ===== */
  --wk-media-brightness: 1;
  --wk-media-brightness-hover: 1;

  /* ===== 加载 ===== */
  --wk-loading-overlay-bg: rgba(255, 255, 255, 0.8);

  /* ===== 文件上传遮罩 ===== */
  --wk-upload-mask-bg: rgba(255, 255, 255, 0.8);
  --wk-upload-mask-border: #999999;
  --wk-upload-mask-text: var(--wk-color-text-primary);

  /* ===== 聊天头部 ===== */
  --wk-chat-header-border: rgba(0, 0, 0, 0.06);
  --wk-chat-panel-shadow: 0 0.25rem 0.5rem 0.125rem rgba(114, 114, 114, 0.25098);
  --wk-chat-panel-bg: var(--wk-color-card);

  /* ===== 聊天区域滚动条 ===== */
  --wk-chat-scrollbar-thumb: rgba(0, 0, 0, 0.1);
  --wk-chat-scrollbar-thumb-idle: transparent;

  /* ===== 会话分组 ===== */
  --wk-group-count-bg: #F0F0F0;
  --wk-group-count-color: var(--wk-color-text-secondary);
  --wk-group-drag-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  --wk-group-drag-over-bg: rgba(18, 183, 245, 0.1);

  /* ===== 其他 ===== */
  --wk-color-placeholder-bg: #666666;
  --wk-color-empty-text: #999999;
  --wk-color-pin-indicator: #b5b5ef;
  --wk-color-load-more-hover-bg: #f8f9fa;
  --wk-color-message-card: #FFFFFF;
  --wk-color-float-shadow: 0 1px 2px rgba(114, 114, 114, 0.25);

  /* ===== 分组标题 ===== */
  --wk-section-title-color: var(--wk-color-text-hint);
  --wk-section-title-bg: var(--wk-color-bg);

  /* ===== 输入框 ===== */
  --wk-input-bg: #FFFFFF;
  --wk-input-border: #E8E8E8;
  --wk-input-placeholder: #999999;

  /* ===== 右键菜单 ===== */
  --wk-menu-bg: #FFFFFF;
  --wk-menu-text: #333333;
  --wk-menu-text-secondary: #666666;
  --wk-menu-hover-bg: rgba(0, 0, 0, 0.05);
  --wk-menu-divider: #E8E8E8;

  /* ===== 弹窗/对话框 ===== */
  --wk-dialog-bg: #FFFFFF;
  --wk-dialog-btn-bg: #FFFFFF;
  --wk-dialog-btn-border: #dee0e3;
  --wk-dialog-btn-text: #1f2329;

  /* ===== 登录页 ===== */
  --wk-login-bg: linear-gradient(135deg, #E3F2FD 0%, #F3E5F5 100%);
  --wk-login-card-bg: #FFFFFF;
  --wk-login-text: #333333;
  --wk-login-text-secondary: #999999;
  --wk-login-input-bg: #F7F7F7;
  --wk-login-input-border: #F7F7F7;

  /* ===== 语音消息 ===== */
  --wk-voice-play-bg-send: rgba(255, 255, 255, 0.3);
  --wk-voice-play-bg-recv: var(--wk-color-sidebar);
  --wk-voice-icon-send: #FFFFFF;
  --wk-voice-icon-recv: var(--wk-color-primary);
  --wk-voice-time-send: rgba(255, 255, 255, 0.75);
  --wk-voice-time-recv: var(--wk-color-text-secondary);
  --wk-voice-progress-stroke: #2f70f5;

  /* ===== 时间分隔线 ===== */
  --wk-time-bg: rgba(255, 255, 255, 0.8);
  --wk-time-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);

  /* ===== 通话消息 ===== */
  --wk-live-icon-recv-filter: none;

  /* ===== 系统消息 ===== */
  --wk-system-msg-color: rgba(9, 30, 66, 0.87);

  /* ===== 文字消息回复 ===== */
  --wk-text-reply-recv-color: rgba(0, 0, 0, 0.5);

  /* ===== 全局搜索弹窗 ===== */
  --wk-global-search-modal-bg: linear-gradient(180deg, #a9ccf9 0%, #ffffff 160px);

  /* ===== 面板/弹出层 ===== */
  --wk-panel-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  --wk-toolbar-icon-filter: brightness(0) saturate(100%);

  /* ===== Semi Design 桥接（白天模式默认值）===== */
  --semi-color-primary: #0093f5;
  --semi-color-danger: #FA5151;
  --semi-red-5: 250, 81, 81;

  /* ===== 遗留变量别名（向后兼容）===== */
  --wk-color-theme: var(--wk-color-primary);
  --wk-color-secondary: var(--wk-color-card);
  --wk-color-secondary-2: var(--wk-color-sidebar);
  --wk-color-hover: var(--wk-color-item-hover);
  --wk-color-font-tip: var(--wk-color-text-hint);
  --wk-line: 1px solid var(--wk-color-divider);
  --wk-line-color: var(--wk-color-divider);
  --wk-color-item: var(--wk-color-card);
  --wk-text-item: var(--wk-color-text-primary);
  --wk-message-item: var(--wk-color-message-card);
  --wk-message-color: var(--wk-color-text-primary);
}

/* ===== 全局覆盖 Semi Badge danger 颜色 =====
 * Semi Design 的 base.css 在 body[theme-mode=dark] 下会把 --semi-red-5 改为
 * 252,114,90（偏橙色），导致 --semi-color-danger 变成橙红色。
 * 由于 Semi CSS 加载顺序在后，变量级覆盖无效，必须直接覆盖元素背景色。
 */
body[theme-mode="dark"] .semi-badge-danger.semi-badge-count,
body[theme-mode="dark"] .semi-badge-danger.semi-badge-dot,
body[theme-mode="dark"] .semi-badge-danger.semi-badge-solid {
  background-color: #FA5151 !important;
}

/**
 * 基础设计令牌 - CSS 变量定义
 *
 * 本文件仅定义与主题无关的基础设计令牌，包括间距、字号、圆角、阴影、
 * 图标尺寸、动画过渡、加载尺寸等。
 *
 * 所有颜色相关的令牌已迁移到 color-tokens.css 中统一管理。
 *
 * 需求引用：1.5
 */

:root {
  /* ===== 间距变量 ===== */
  /* 用于控制组件内外的间距，确保视觉一致性 */
  --wk-spacing-xs: 4px;   /* 超小间距 - 用于紧凑元素 */
  --wk-spacing-sm: 8px;   /* 小间距 - 用于相关元素之间 */
  --wk-spacing-md: 12px;  /* 中等间距 - 用于一般元素之间 */
  --wk-spacing-lg: 16px;  /* 大间距 - 用于区块之间 */
  --wk-spacing-xl: 20px;  /* 超大间距 - 用于主要区块之间 */
  --wk-spacing-xxl: 24px; /* 最大间距 - 用于页面级别分隔 */

  /* ===== 字号变量 ===== */
  /* 用于控制文字大小，建立清晰的视觉层次 */
  --wk-font-size-caption: 12px;   /* 说明文字 - 用于辅助信息、时间戳 */
  --wk-font-size-body: 14px;      /* 正文 - 用于主要内容文字 */
  --wk-font-size-subtitle: 16px;  /* 副标题 - 用于次级标题 */
  --wk-font-size-title: 18px;     /* 标题 - 用于主要标题 */
  --wk-font-size-headline: 20px;  /* 大标题 - 用于页面标题 */

  /* ===== 圆角变量 ===== */
  /* 用于控制元素的圆角大小，保持设计风格统一 */
  --wk-radius-sm: 4px;     /* 小圆角 - 用于按钮、输入框 */
  --wk-radius-md: 8px;     /* 中等圆角 - 用于卡片、面板 */
  --wk-radius-lg: 12px;    /* 大圆角 - 用于头像、弹窗 */
  --wk-radius-xl: 16px;    /* 超大圆角 - 用于特殊强调元素 */
  --wk-radius-full: 9999px; /* 完全圆角 - 用于圆形元素、药丸形状 */

  /* ===== 阴影变量 ===== */
  /* 用于创建层次感和深度效果 */
  --wk-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);   /* 小阴影 - 用于轻微悬浮效果 */
  --wk-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);   /* 中等阴影 - 用于卡片、下拉菜单 */
  --wk-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.15);  /* 大阴影 - 用于弹窗、模态框 */

  /* ===== 图标尺寸规范 ===== */
  --wk-icon-size-navigation: 24px;        /* 导航图标尺寸 */
  --wk-icon-size-action: 20px;            /* 操作图标尺寸 */
  --wk-icon-size-small: 16px;             /* 小型图标尺寸 */
  --wk-icon-stroke-width: 1.5px;          /* 图标线条粗细 */

  /* ===== 动画过渡 ===== */
  --wk-transition-fast: 150ms ease-out;   /* 快速过渡 - 用于悬停效果 */
  --wk-transition-normal: 200ms ease-out; /* 正常过渡 - 用于选中效果 */
  --wk-transition-slow: 300ms ease-out;   /* 慢速过渡 - 用于消息动画 */

  /* ===== 加载尺寸变量 ===== */
  --wk-loading-size-sm: 24px;             /* 小尺寸加载动画 */
  --wk-loading-size-md: 32px;             /* 中尺寸加载动画 */
  --wk-loading-size-lg: 48px;             /* 大尺寸加载动画 */
}

* {
  box-sizing: border-box;
}

html {
  color-scheme: dark;
  background-color: #111;
}

html,
body {
  overflow: hidden;
  width: 100%;
  height: 100%;
  margin: 0px;
}

body {
  display: flex;
  flex-direction: column;
}

.header {
  max-width: 500px;
  padding-inline: 2rem;
}

.header > img {
  display: block;
  margin: auto;
  max-width: 100%;
}

.header > h2 {
  font-family: 'TWK Everett', sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 144%;
  text-align: center;
  color: rgba(255, 255, 255, 0.6);
}

footer {
  width: 100%;
  padding: 1.5rem 2rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.6);
  background-color: var(--lk-bg);
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

footer a,
h2 a {
  color: #ff6352;
  text-decoration-color: #a33529;
  text-underline-offset: 0.125em;
}

footer a:hover,
h2 a {
  text-decoration-color: #ff6352;
}

h2 a {
  text-decoration: none;
}

/**
 * 图标系统样式
 * 
 * 本文件定义了图标的尺寸规范和颜色状态样式。
 * 使用 color-tokens.css 中定义的 CSS 变量确保一致性。
 * 图标颜色通过 --wk-color-icon-* 令牌自动适配所有主题，
 * 无需 body[theme-mode] 覆盖块。
 * 
 * 需求引用：6.1-6.14, 7.5, 13.3
 * 
 * 图标尺寸规范：
 * - 导航图标：24px（用于侧边栏导航、主要功能入口）
 * - 操作图标：20px（用于工具栏、头部操作按钮）
 * - 小型图标：16px（用于列表项、辅助功能）
 * - 线条粗细：1.5px（更精致的线条设计）
 * 
 * 图标颜色状态（通过令牌变量自动适配主题）：
 * - 默认色：var(--wk-color-icon-default)
 * - 悬停色：var(--wk-color-icon-hover)
 * - 激活色：var(--wk-color-icon-active)
 */

/* ===== 图标基础样式 ===== */

/* 导航图标 - 24px */
/* 用于侧边栏导航、主要功能入口 */
.wk-icon-nav,
.wk-icon-navigation {
  width: 24px;
  width: var(--wk-icon-size-navigation, 24px);
  height: 24px;
  height: var(--wk-icon-size-navigation, 24px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
}

.wk-icon-nav:hover,
.wk-icon-navigation:hover {
  color: #333333;
  color: var(--wk-color-icon-hover, #333333);
}

.wk-icon-nav.active,
.wk-icon-navigation.active {
  color: #0093f5;
  color: var(--wk-color-icon-active, #0093f5);
}

/* 操作图标 - 20px */
/* 用于工具栏、头部操作按钮、消息输入区域 */
.wk-icon-action {
  width: 20px;
  width: var(--wk-icon-size-action, 20px);
  height: 20px;
  height: var(--wk-icon-size-action, 20px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
}

.wk-icon-action:hover {
  color: #333333;
  color: var(--wk-color-icon-hover, #333333);
}

.wk-icon-action.active {
  color: #0093f5;
  color: var(--wk-color-icon-active, #0093f5);
}

/* 小型图标 - 16px */
/* 用于列表项、辅助功能、右键菜单 */
.wk-icon-small {
  width: 16px;
  width: var(--wk-icon-size-small, 16px);
  height: 16px;
  height: var(--wk-icon-size-small, 16px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
}

.wk-icon-small:hover {
  color: #333333;
  color: var(--wk-color-icon-hover, #333333);
}

.wk-icon-small.active {
  color: #0093f5;
  color: var(--wk-color-icon-active, #0093f5);
}

/* ===== SVG 图标通用样式 ===== */

/* 导航图标 SVG */
.wk-icon-nav svg,
.wk-icon-navigation svg {
  width: 24px;
  width: var(--wk-icon-size-navigation, 24px);
  height: 24px;
  height: var(--wk-icon-size-navigation, 24px);
  stroke-width: 1.5px;
  stroke-width: var(--wk-icon-stroke-width, 1.5px);
}

/* 操作图标 SVG */
.wk-icon-action svg {
  width: 20px;
  width: var(--wk-icon-size-action, 20px);
  height: 20px;
  height: var(--wk-icon-size-action, 20px);
  stroke-width: 1.5px;
  stroke-width: var(--wk-icon-stroke-width, 1.5px);
}

/* 小型图标 SVG */
.wk-icon-small svg {
  width: 16px;
  width: var(--wk-icon-size-small, 16px);
  height: 16px;
  height: var(--wk-icon-size-small, 16px);
  stroke-width: 1.5px;
  stroke-width: var(--wk-icon-stroke-width, 1.5px);
}

/* ===== 图标容器样式 ===== */

/* 图标按钮容器 - 提供点击区域和悬停效果 */
.wk-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  padding: var(--wk-spacing-xs, 4px);
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 4px;
  border-radius: var(--wk-radius-sm, 4px);
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

.wk-icon-btn:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

.wk-icon-btn:active {
  background-color: #E8E8E8;
  background-color: var(--wk-color-divider, #E8E8E8);
}

/* 导航图标按钮 */
.wk-icon-btn-nav {
  padding: 8px;
  padding: var(--wk-spacing-sm, 8px);
}

/* 操作图标按钮 */
.wk-icon-btn-action {
  padding: 4px;
  padding: var(--wk-spacing-xs, 4px);
}

/* ===== 特定场景图标样式 ===== */

/* 消息输入区域工具栏图标 */
.wk-toolbar-icon {
  width: 20px;
  width: var(--wk-icon-size-action, 20px);
  height: 20px;
  height: var(--wk-icon-size-action, 20px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
  cursor: pointer;
}

.wk-toolbar-icon:hover {
  color: #333333;
  color: var(--wk-color-icon-hover, #333333);
}

/* 聊天头部操作图标 */
.wk-header-icon {
  width: 20px;
  width: var(--wk-icon-size-action, 20px);
  height: 20px;
  height: var(--wk-icon-size-action, 20px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
  cursor: pointer;
}

.wk-header-icon:hover {
  color: #333333;
  color: var(--wk-color-icon-hover, #333333);
}

/* 右键菜单图标 */
.wk-menu-icon {
  width: 16px;
  width: var(--wk-icon-size-small, 16px);
  height: 16px;
  height: var(--wk-icon-size-small, 16px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  margin-right: 8px;
  margin-right: var(--wk-spacing-sm, 8px);
  flex-shrink: 0;
}

/* 表情面板标签栏图标 */
.wk-emoji-tab-icon {
  width: 20px;
  width: var(--wk-icon-size-action, 20px);
  height: 20px;
  height: var(--wk-icon-size-action, 20px);
  color: #666666;
  color: var(--wk-color-icon-default, #666666);
  transition: color 150ms ease-out;
  transition: color var(--wk-transition-fast, 150ms ease-out);
}

.wk-emoji-tab-icon:hover,
.wk-emoji-tab-icon.active {
  color: #0093f5;
  color: var(--wk-color-icon-active, #0093f5);
}

/* 搜索图标 */
.wk-search-icon {
  width: 16px;
  width: var(--wk-icon-size-small, 16px);
  height: 16px;
  height: var(--wk-icon-size-small, 16px);
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
}

/**
 * 加载状态样式 - Loading Spinner
 * 
 * 本文件定义了统一的加载动画样式，使用主题色并提供三种尺寸。
 * 
 * 需求引用：15.1, 15.2, 15.3, 15.4, 15.5
 * 
 * 使用方法：
 * - 小尺寸：<div class="wk-loading-spinner wk-loading-spinner--sm"></div>
 * - 中尺寸：<div class="wk-loading-spinner wk-loading-spinner--md"></div>
 * - 大尺寸：<div class="wk-loading-spinner wk-loading-spinner--lg"></div>
 */

/* ===== 加载动画关键帧 ===== */
/* 旋转动画 - 用于 spinner */
@keyframes wk-spinner-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* 脉冲动画 - 用于加载点 */
@keyframes wk-spinner-pulse {
  0%, 80%, 100% {
    transform: scale(0);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

/* 弹跳动画 - 用于加载点 */
@keyframes wk-spinner-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

/* ===== 基础加载动画样式 ===== */
/* 需求 15.1：使用主题色作为加载动画颜色 */
.wk-loading-spinner {
  display: inline-block;
  position: relative;
  border-radius: 50%;
  border: 2px solid transparent;
  border-top-color: #0093f5;
  border-top-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5));
  border-right-color: #0093f5;
  border-right-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5));
  animation: wk-spinner-rotate 0.8s linear infinite;
}

/* ===== 加载动画尺寸 ===== */
/* 需求 15.2：三种尺寸 - 24px（小）、32px（中）、48px（大） */

/* 小尺寸 - 24px */
.wk-loading-spinner--sm {
  width: 24px;
  width: var(--wk-loading-size-sm, 24px);
  height: 24px;
  height: var(--wk-loading-size-sm, 24px);
  border-width: 2px;
}

/* 中尺寸 - 32px（默认） */
.wk-loading-spinner--md {
  width: 32px;
  width: var(--wk-loading-size-md, 32px);
  height: 32px;
  height: var(--wk-loading-size-md, 32px);
  border-width: 2.5px;
}

/* 大尺寸 - 48px */
.wk-loading-spinner--lg {
  width: 48px;
  width: var(--wk-loading-size-lg, 48px);
  height: 48px;
  height: var(--wk-loading-size-lg, 48px);
  border-width: 3px;
}

/* ===== 加载遮罩层 ===== */
/* 需求 15.3：遮罩背景色 rgba(255,255,255,0.8) */
/* 需求 15.5：暗色模式遮罩背景色 rgba(0,0,0,0.8) */
.wk-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.8);
  background-color: var(--wk-loading-overlay-bg, rgba(255, 255, 255, 0.8));
  z-index: 100;
  backdrop-filter: blur(2px);
}

/* 暗色模式遮罩 - 通过 CSS 变量自动切换 */

/* ===== 加载提示文字 ===== */
/* 需求 15.4：加载提示文字字号 14px */
.wk-loading-text {
  margin-top: 12px;
  margin-top: var(--wk-spacing-md, 12px);
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: #666666;
  color: var(--wk-color-text-secondary, #666666);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* ===== 加载容器 ===== */
/* 用于居中显示加载动画 */
.wk-loading-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px;
  padding: var(--wk-spacing-lg, 16px);
}

/* 全屏加载容器 */
.wk-loading-container--fullscreen {
  width: 100%;
  height: 100%;
  min-height: 200px;
}

/* 内联加载容器 */
.wk-loading-container--inline {
  display: inline-flex;
  padding: 8px;
  padding: var(--wk-spacing-sm, 8px);
}

/* ===== 点状加载动画 ===== */
/* 三个点的弹跳动画，类似 BeatLoader */
.wk-loading-dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.wk-loading-dots__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #0093f5;
  background-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5));
  animation: wk-spinner-bounce 0.6s ease-in-out infinite;
}

.wk-loading-dots__dot:nth-child(1) {
  animation-delay: 0s;
}

.wk-loading-dots__dot:nth-child(2) {
  animation-delay: 0.1s;
}

.wk-loading-dots__dot:nth-child(3) {
  animation-delay: 0.2s;
}

/* 点状加载动画尺寸 - 使用设计令牌 */
.wk-loading-dots--sm .wk-loading-dots__dot {
  width: calc(24px / 4);
  width: calc(var(--wk-loading-size-sm, 24px) / 4);
  height: calc(24px / 4);
  height: calc(var(--wk-loading-size-sm, 24px) / 4);
}

.wk-loading-dots--md .wk-loading-dots__dot {
  width: calc(32px / 4);
  width: calc(var(--wk-loading-size-md, 32px) / 4);
  height: calc(32px / 4);
  height: calc(var(--wk-loading-size-md, 32px) / 4);
}

.wk-loading-dots--lg .wk-loading-dots__dot {
  width: calc(48px / 4);
  width: calc(var(--wk-loading-size-lg, 48px) / 4);
  height: calc(48px / 4);
  height: calc(var(--wk-loading-size-lg, 48px) / 4);
}

/* ===== 脉冲加载动画 ===== */
/* 三个点的脉冲动画 */
.wk-loading-pulse {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.wk-loading-pulse__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #0093f5;
  background-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5));
  animation: wk-spinner-pulse 1.2s ease-in-out infinite;
}

.wk-loading-pulse__dot:nth-child(1) {
  animation-delay: 0s;
}

.wk-loading-pulse__dot:nth-child(2) {
  animation-delay: 0.2s;
}

.wk-loading-pulse__dot:nth-child(3) {
  animation-delay: 0.4s;
}

/* 脉冲加载动画尺寸 - 使用设计令牌 */
.wk-loading-pulse--sm .wk-loading-pulse__dot {
  width: calc(24px / 4);
  width: calc(var(--wk-loading-size-sm, 24px) / 4);
  height: calc(24px / 4);
  height: calc(var(--wk-loading-size-sm, 24px) / 4);
}

.wk-loading-pulse--md .wk-loading-pulse__dot {
  width: calc(32px / 3);
  width: calc(var(--wk-loading-size-md, 32px) / 3);
  height: calc(32px / 3);
  height: calc(var(--wk-loading-size-md, 32px) / 3);
}

.wk-loading-pulse--lg .wk-loading-pulse__dot {
  width: calc(48px / 3.5);
  width: calc(var(--wk-loading-size-lg, 48px) / 3.5);
  height: calc(48px / 3.5);
  height: calc(var(--wk-loading-size-lg, 48px) / 3.5);
}

/* ===== 覆盖 Semi UI Spin 组件样式 ===== */
/* 使 Semi UI 的 Spin 组件使用主题色 */
.semi-spin-wrapper .semi-spin {
  color: #0093f5 !important;
  color: var(--wk-loading-color, var(--wk-color-primary, #0093f5)) !important;
}

.semi-spin-wrapper .semi-spin-dot {
  background-color: #0093f5 !important;
  background-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5)) !important;
}

/* Semi UI Spin 组件直接使用时的样式 */
.semi-spin {
  color: #0093f5 !important;
  color: var(--wk-loading-color, var(--wk-color-primary, #0093f5)) !important;
}

.semi-spin .semi-spin-dot {
  background-color: #0093f5 !important;
  background-color: var(--wk-loading-color, var(--wk-color-primary, #0093f5)) !important;
}

/* 覆盖 react-spinners BeatLoader 颜色 */
/* 注意：BeatLoader 的颜色通常通过 props 传递，这里提供 CSS 变量供参考 */
:root {
  --wk-loading-color: var(--wk-color-primary, #0093f5);
}

/* ===== 现有加载样式优化 ===== */
/* 优化 showLoadingContent 样式 */
.showLoadingContent {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.8);
  background-color: var(--wk-loading-overlay-bg, rgba(255, 255, 255, 0.8));
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(2px);
}

.showLoadingContent-loading {
  min-width: 100px;
  min-height: 100px;
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border-radius: var(--wk-radius-lg, 12px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  box-shadow: var(--wk-shadow-lg, 0 8px 24px rgba(0, 0, 0, 0.15));
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  padding: 16px;
  padding: var(--wk-spacing-lg, 16px);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* 优化会话列表加载样式 */
.wk-chat-conversation-list-loading {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 200px;
  justify-content: center;
  align-items: center;
}

/* 优化搜索加载样式 */
.wk-search-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  padding: var(--wk-spacing-xl, 20px);
}

.wk-search-loading-text {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: #666666;
  color: var(--wk-color-text-secondary, #666666);
  margin-left: 8px;
  margin-left: var(--wk-spacing-sm, 8px);
}

/* 暗色模式通过 CSS 变量令牌自动切换 */

/* 优化全局搜索加载样式 */
.wk-global-search-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  padding: var(--wk-spacing-xxl, 24px);
}

/* 优化用户信息加载样式 */
.wk-userinfo-loading {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  padding: var(--wk-spacing-xl, 20px);
}

/* 优化频道设置加载样式 */
.wk-channelsetting-content-loading {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  padding: var(--wk-spacing-xl, 20px);
}

/* 优化二维码加载样式 */
.wk-channelqrcode-qrcode-loading {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 媒体亮度调整 - 通过令牌变量驱动，无需硬编码主题选择器 */
/* 白天模式下 brightness 为 1（无变化），暗色主题下由主题定义文件覆盖为 0.9 */

.wk-message-base-bubble img:not(.wk-avatar) {
  filter: brightness(1);
  filter: brightness(var(--wk-media-brightness, 1));
  transition: filter 200ms ease-out;
}

.wk-message-base-bubble img:not(.wk-avatar):hover {
  filter: brightness(1);
  filter: brightness(var(--wk-media-brightness-hover, 1));
}

/* 头像不受亮度调整影响 */
.senderAvatar img,
.wk-avatar {
  filter: none !important;
}

/**
 * 滚动条基础样式 - QQ 风格细滚动条
 * 
 * 颜色通过 --wk-scrollbar-* 令牌变量控制，
 * 各主题在 themes/theme-dark.css、themes/theme-pink.css 中覆盖令牌值，
 * 此文件不包含任何 body[theme-mode] 选择器。
 */

/* ===== Webkit 浏览器（Chrome、Safari、Edge）滚动条样式 ===== */

/* 滚动条尺寸 */
.wk-scrollbar::-webkit-scrollbar,
.wk-conversationlist::-webkit-scrollbar,
.wk-conversation-messages::-webkit-scrollbar,
.wk-emojipanel-content::-webkit-scrollbar,
.wk-chat-search-popover::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

/* 滚动条轨道 - 透明背景 */
.wk-scrollbar::-webkit-scrollbar-track,
.wk-conversationlist::-webkit-scrollbar-track,
.wk-conversation-messages::-webkit-scrollbar-track,
.wk-emojipanel-content::-webkit-scrollbar-track,
.wk-chat-search-popover::-webkit-scrollbar-track {
  background: transparent;
}

/* 滚动条滑块 - 引用令牌变量 */
.wk-scrollbar::-webkit-scrollbar-thumb,
.wk-conversationlist::-webkit-scrollbar-thumb,
.wk-conversation-messages::-webkit-scrollbar-thumb,
.wk-emojipanel-content::-webkit-scrollbar-thumb,
.wk-chat-search-popover::-webkit-scrollbar-thumb {
  background-color: var(--wk-scrollbar-thumb);
  border-radius: 3px;
  -webkit-transition: background-color 150ms ease-out;
  transition: background-color 150ms ease-out;
  -webkit-transition: background-color var(--wk-transition-fast, 150ms ease-out);
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

/* 悬停时滑块颜色 - 引用令牌变量 */
.wk-scrollbar:hover::-webkit-scrollbar-thumb,
.wk-conversationlist:hover::-webkit-scrollbar-thumb,
.wk-conversation-messages:hover::-webkit-scrollbar-thumb,
.wk-emojipanel-content:hover::-webkit-scrollbar-thumb,
.wk-chat-search-popover:hover::-webkit-scrollbar-thumb {
  background-color: var(--wk-scrollbar-thumb-hover);
}

/* ===== Firefox 滚动条样式 ===== */
/* Firefox 使用 scrollbar-width 和 scrollbar-color 属性 */
.wk-scrollbar,
.wk-conversationlist,
.wk-conversation-messages,
.wk-emojipanel-content,
.wk-chat-search-popover {
  scrollbar-width: thin;
  /* 滑块颜色 轨道颜色 */
  scrollbar-color: var(--wk-scrollbar-thumb) transparent;
}

/* ===== 自动隐藏滚动条效果 ===== */
/* 通过透明度实现不滚动时自动隐藏效果 */
.wk-scrollbar-auto-hide::-webkit-scrollbar-thumb {
  background-color: transparent;
}

.wk-scrollbar-auto-hide:hover::-webkit-scrollbar-thumb {
  background-color: var(--wk-scrollbar-thumb);
}

.wk-scrollbar-auto-hide:hover::-webkit-scrollbar-thumb:hover {
  background-color: var(--wk-scrollbar-thumb-hover);
}

/*
 * 主题切换过渡动画
 *
 * 注意：不再对 body * 全局添加 transition，
 * 因为这会导致所有交互（点击会话、滚动等）都产生不必要的过渡动画，
 * 严重影响性能和流畅度。
 *
 * 主题切换的过渡效果通过 JS 在切换时临时添加 .theme-transitioning 类来实现，
 * 切换完成后移除该类。
 */

/* 主题切换时临时启用过渡（由 JS 控制添加/移除）
 * 只对 body 和关键布局容器做过渡，不用 * 通配符，
 * 避免对数千个 DOM 节点同时计算 transition 导致卡顿。
 */
body.theme-transitioning,
body.theme-transitioning > div,
body.theme-transitioning .wk-main-sider,
body.theme-transitioning .wk-main-sider-content,
body.theme-transitioning .wk-main-tab,
body.theme-transitioning .wk-main-tab-content,
body.theme-transitioning .wk-chat-content-chat,
body.theme-transitioning .wk-chat-empty {
  transition: background-color 250ms ease-out,
              color 250ms ease-out,
              border-color 250ms ease-out !important;
}

/* 尊重用户辅助功能偏好 */
@media (prefers-reduced-motion: reduce) {
  body.theme-transitioning,
  body.theme-transitioning * {
    transition: none !important;
  }
}

/* 排除动画元素，避免性能问题 */
body.theme-transitioning img,
body.theme-transitioning video,
body.theme-transitioning canvas,
body.theme-transitioning svg path,
body.theme-transitioning .semi-spin {
  transition: none !important;
}

/**
 * 主题索引文件
 *
 * 所有主题定义文件在此注册。添加新主题时，只需：
 * 1. 在 themes/ 目录下创建新的 theme-xxx.css 文件
 * 2. 在此文件中添加 @import 语句
 * 3. 在 ThemeMode 枚举中添加对应值
 * 4. 在 THEME_REGISTRY 中注册主题元数据
 *
 * 需求引用：6.1, 6.2
 */

/**
 * 夜间模式完整定义
 *
 * 本文件包含夜间模式下所有颜色令牌的覆盖值，是一个完整的、自包含的主题定义。
 * 包括：颜色令牌覆盖、Semi Design 桥接、滚动条、媒体亮度等所有主题相关设置。
 *
 * 选择器规范：统一使用 body[theme-mode="dark"]（带双引号）
 *
 * 需求引用：2.1, 2.3, 2.4, 3.1
 */

body[theme-mode="dark"] {
  /* ===== 主色调 ===== */
  --wk-color-primary: #0167CC;
  --wk-color-primary-hover: #0158B3;
  --wk-color-primary-active: #014A99;
  --wk-color-warning: #FAAD14;
  --wk-color-error: #FA5151;

  /* ===== 背景色 ===== */
  --wk-color-bg: #1C1D1D;
  --wk-color-card: #2A2B2B;
  --wk-color-sidebar: #1C1D1D;
  --wk-color-divider: rgba(255, 255, 255, 0.08);

  /* ===== 文字色 ===== */
  --wk-color-text-primary: #FFFFFF;
  --wk-color-text-secondary: #B0B0B0;
  --wk-color-text-hint: #8A8A8A;
  --wk-color-text-disabled: #555555;

  /* ===== 渐变 ===== */
  --wk-gradient-chat-bg: radial-gradient(ellipse at 50% 50%, #222323 0%, #1C1D1D 100%);
  --wk-html-bg: #1C1D1D;

  /* ===== 会话列表 ===== */
  --wk-color-item-selected: #2F5DB3;
  --wk-color-item-selected-bg: #2F5DB3;
  --wk-color-item-selected-shadow: none;
  --wk-color-item-selected-text: #FFFFFF;
  --wk-color-item-top: #282828;
  --wk-color-item-hover: #2A2B2B;
  --wk-color-item-normal: #1B1B1B;
  --wk-color-badge-unread: #FA5151;
  --wk-color-badge-mute: #555555;

  /* ===== 图标 ===== */
  --wk-color-icon-default: #B0B0B0;
  --wk-color-icon-hover: #FFFFFF;
  --wk-color-icon-active: #0167CC;

  /* ===== 消息气泡 ===== */
  --wk-bubble-send-bg: var(--wk-color-primary);
  --wk-bubble-send-color: #FFFFFF;
  --wk-bubble-send-tail: var(--wk-color-primary);
  --wk-bubble-recv-bg: var(--wk-color-card);
  --wk-bubble-recv-color: #FFFFFF;
  --wk-bubble-recv-tail: var(--wk-color-card);
  --wk-bubble-recv-border: none;
  --wk-bubble-sender-name: rgba(255, 255, 255, 0.55);
  --wk-bubble-send-time: rgba(255, 255, 255, 0.75);
  --wk-bubble-recv-time: rgba(255, 255, 255, 0.45);
  --wk-bubble-link-send: #FFFFFF;
  --wk-bubble-link-send-underline: rgba(255, 255, 255, 0.5);
  --wk-bubble-link-send-underline-hover: rgba(255, 255, 255, 0.9);
  --wk-bubble-link-recv: #5BB8F5;
  --wk-bubble-link-recv-underline: rgba(91, 184, 245, 0.4);
  --wk-bubble-link-recv-hover: #5BB8F5;
  --wk-bubble-link-recv-underline-hover: rgba(91, 184, 245, 0.6);
  --wk-bubble-box-shadow: none;

  /* ===== 搜索 ===== */
  --wk-color-search-icon: #8A8A8A;
  --wk-color-search-highlight: #5BB8F5;
  --wk-color-search-highlight-bg: rgba(91, 184, 245, 0.15);

  /* ===== 链接 ===== */
  --wk-color-link: #5BB8F5;
  --wk-color-link-send: #FFFFFF;
  --wk-color-link-recv: #5BB8F5;

  /* ===== 滚动条 ===== */
  --wk-scrollbar-thumb: rgba(255, 255, 255, 0.2);
  --wk-scrollbar-thumb-hover: rgba(255, 255, 255, 0.35);
  --wk-scrollbar-global-thumb: rgba(255, 255, 255, 0.12);
  --wk-scrollbar-global-thumb-hover: rgba(255, 255, 255, 0.25);

  /* ===== 媒体亮度 ===== */
  --wk-media-brightness: 0.9;
  --wk-media-brightness-hover: 1;

  /* ===== 加载 ===== */
  --wk-loading-overlay-bg: rgba(0, 0, 0, 0.8);

  /* ===== 文件上传遮罩 ===== */
  --wk-upload-mask-bg: rgba(43, 45, 49, 0.9);
  --wk-upload-mask-border: rgba(255, 255, 255, 0.12);
  --wk-upload-mask-text: var(--wk-color-text-primary);

  /* ===== 聊天头部 ===== */
  --wk-chat-header-border: rgba(255, 255, 255, 0.06);
  --wk-chat-panel-shadow: 0 0.25rem 0.5rem 0.125rem rgba(0, 0, 0, 0.4);
  --wk-chat-panel-bg: var(--wk-color-card);

  /* ===== 聊天区域滚动条 ===== */
  --wk-chat-scrollbar-thumb: rgba(255, 255, 255, 0.08);
  --wk-chat-scrollbar-thumb-idle: transparent;

  /* ===== 会话分组 ===== */
  --wk-group-count-bg: #3A3A3A;
  --wk-group-count-color: #D0D0D0;
  --wk-group-drag-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  --wk-group-drag-over-bg: rgba(18, 183, 245, 0.15);

  /* ===== 其他 ===== */
  --wk-color-placeholder-bg: #B0B0B0;
  --wk-color-empty-text: #8A8A8A;
  --wk-color-pin-indicator: #6B6BAF;
  --wk-color-load-more-hover-bg: #2A2B2B;
  --wk-color-message-card: #2A2B2B;
  --wk-color-float-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);

  /* ===== 分组标题 ===== */
  --wk-section-title-bg: var(--wk-color-sidebar);

  /* ===== 输入框 ===== */
  --wk-input-bg: #222323;
  --wk-input-border: rgba(255, 255, 255, 0.1);
  --wk-input-placeholder: #8A8A8A;

  /* ===== 全局搜索弹窗 ===== */
  --wk-global-search-modal-bg: var(--wk-color-sidebar);

  /* ===== 语音消息 ===== */
  --wk-voice-play-bg-send: rgba(255, 255, 255, 0.2);
  --wk-voice-play-bg-recv: rgba(255, 255, 255, 0.1);
  --wk-voice-icon-send: #FFFFFF;
  --wk-voice-icon-recv: #E8E8E8;
  --wk-voice-time-send: rgba(255, 255, 255, 0.75);
  --wk-voice-time-recv: rgba(255, 255, 255, 0.6);
  --wk-voice-progress-stroke: #5B9BF5;

  /* ===== 时间分隔线 ===== */
  --wk-time-bg: rgba(0, 0, 0, 0.3);
  --wk-time-shadow: none;

  /* ===== 通话消息 ===== */
  --wk-live-icon-recv-filter: brightness(0) invert(1);

  /* ===== 系统消息 ===== */
  --wk-system-msg-color: var(--wk-color-text-hint);

  /* ===== 无障碍 ===== */
  --wk-color-text-hint-accessible: #8A8A8A;

  /* ===== 文字消息回复 ===== */
  --wk-text-reply-recv-color: rgba(255, 255, 255, 0.5);

  /* ===== 面板/弹出层 ===== */
  --wk-panel-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
  --wk-toolbar-icon-filter: brightness(0) saturate(100%) invert(80%) sepia(5%) saturate(200%) hue-rotate(180deg);

  /* ===== 右键菜单 ===== */
  --wk-menu-bg: var(--wk-color-card);
  --wk-menu-text: #FFFFFF;
  --wk-menu-text-secondary: #A0A0A0;
  --wk-menu-hover-bg: rgba(255, 255, 255, 0.06);
  --wk-menu-divider: rgba(255, 255, 255, 0.08);

  /* ===== 弹窗/对话框 ===== */
  --wk-dialog-bg: #2A2B2B;
  --wk-dialog-btn-bg: #222323;
  --wk-dialog-btn-border: rgba(255, 255, 255, 0.1);
  --wk-dialog-btn-text: #FFFFFF;

  /* ===== 登录页 ===== */
  --wk-login-bg: #2B2D31;
  /* 暗色模式下用深色渐变替换浅色背景图，避免深色卡片压在浅色图上突兀 */
  --wk-login-page-bg-image: linear-gradient(180deg, #232428 0%, #17181B 100%);
  --wk-login-card-bg: #2A2B2B;
  --wk-login-text: #FFFFFF;
  --wk-login-text-secondary: #8A8A8A;
  --wk-login-input-bg: #2A2B2B;
  --wk-login-input-border: rgba(255, 255, 255, 0.1);

  /* ===== Semi Design 桥接 ===== */
  --semi-color-primary: #0167CC;
  --semi-color-primary-hover: #0158B3;
  --semi-color-danger: #FA5151;
  --semi-red-5: 250, 81, 81;
  --semi-color-bg-0: #2A2B2B;
  --semi-color-bg-1: #222323;
  --semi-color-bg-2: #1C1D1D;
  --semi-color-bg-3: #2A2B2B;
  --semi-color-fill-0: #222323;
  --semi-color-fill-1: #2A2B2B;
  --semi-color-fill-2: #2A2B2B;
  --semi-color-text-0: #FFFFFF;
  --semi-color-text-2: #B0B0B0;

  /* ===== 遗留变量别名覆盖（向后兼容）===== */
  --wk-color-theme: var(--wk-color-primary);
  --wk-color-secondary: #1C1D1D;
  --wk-color-secondary-2: #2A2B2B;
  --wk-color-hover: #2A2B2B;
  --wk-color-font-tip: var(--wk-color-text-hint);
  --wk-line: 1px solid rgba(255, 255, 255, 0.08);
  --wk-line-color: rgba(255, 255, 255, 0.08);
  --wk-color-item: #2A2B2B;
  --wk-text-item: #FFFFFF;
  --wk-message-item: #2A2B2B;
  --wk-message-color: #FFFFFF;

  /* ===== body 文字色 ===== */
  color: #FFFFFF !important;
}

/* ===== html 背景覆盖 ===== */
html[theme-mode="dark"],
body[theme-mode="dark"] html {
  background: var(--wk-html-bg);
  background-attachment: fixed;
}

/* ===== 覆盖 Semi Badge danger 颜色 =====
 * Semi Design 的 base.css 在 body[theme-mode=dark] 下会把 --semi-red-5 改为
 * 252,114,90（偏橙色），导致 Badge 背景色变成橙红色而非正红 #FA5151。
 * 变量级覆盖会被 Semi CSS 加载顺序覆盖，必须直接覆盖元素背景色。
 */
body[theme-mode="dark"] .semi-badge-danger.semi-badge-count,
body[theme-mode="dark"] .semi-badge-danger.semi-badge-dot,
body[theme-mode="dark"] .semi-badge-danger.semi-badge-solid {
  background-color: #FA5151 !important;
  background-color: var(--wk-color-badge-unread, #FA5151) !important;
}

/**
 * 樱花模式完整定义
 *
 * 本文件包含樱花模式下所有颜色令牌的覆盖值，是一个完整的、自包含的主题定义。
 * 包括：颜色令牌覆盖、Semi Design 桥接、滚动条、媒体亮度等所有主题相关设置。
 *
 * 樱花模式是一个浅色系主题，主题色为 #E8457A（樱花粉）。
 * 整体色调偏暖粉色，背景使用淡粉渐变，文字使用深玫红色系保证可读性。
 *
 * 选择器规范：统一使用 body[theme-mode="pink"]（带双引号）
 *
 * 需求引用：2.1, 2.3, 2.4, 3.1
 */

body[theme-mode="pink"] {
  /* ===== 主色调 ===== */
  --wk-color-primary: #E8457A;
  --wk-color-primary-hover: #D63A6E;
  --wk-color-primary-active: #C43062;
  --wk-color-warning: #FAAD14;
  --wk-color-error: #FA5151;

  /* ===== 背景色 ===== */
  --wk-color-bg: #FFF0F5;
  --wk-color-card: #FFFFFF;
  --wk-color-sidebar: #FFF5F8;
  --wk-color-divider: #F5C6D8;

  /* ===== 文字色 ===== */
  --wk-color-text-primary: #3D1A33;
  --wk-color-text-secondary: #6B4560;
  --wk-color-text-hint: #8C6B7F;
  --wk-color-text-disabled: #D4A8BC;

  /* ===== 渐变 ===== */
  --wk-gradient-chat-bg:
    radial-gradient(ellipse at 80% 10%, rgba(255, 182, 213, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 20% 80%, rgba(230, 190, 255, 0.2) 0%, transparent 50%),
    linear-gradient(155deg, #FFF0F5 0%, #FFF5FA 50%, #F8EEF5 100%);
  --wk-html-bg:
    radial-gradient(ellipse at 80% 10%, rgba(255, 182, 213, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 20% 80%, rgba(230, 190, 255, 0.2) 0%, transparent 50%),
    linear-gradient(155deg, #FFF0F5 0%, #FFF5FA 50%, #F8EEF5 100%);

  /* ===== 会话列表 ===== */
  --wk-color-item-selected: #E8457A;
  --wk-color-item-selected-bg: linear-gradient(135deg, #E8457A, #F06B95);
  --wk-color-item-selected-shadow: 0 2px 8px rgba(232, 69, 122, 0.2);
  --wk-color-item-selected-text: #FFFFFF;
  --wk-color-item-top: #FFE8F0;
  --wk-color-item-hover: #FFE8F0;
  --wk-color-item-normal: #FFFFFF;
  --wk-color-badge-unread: #FA5151;
  --wk-color-badge-mute: #D4A8BC;

  /* ===== 图标 ===== */
  --wk-color-icon-default: #8C6B7F;
  --wk-color-icon-hover: #3D1A33;
  --wk-color-icon-active: #E8457A;

  /* ===== 消息气泡 ===== */
  --wk-bubble-send-bg: linear-gradient(135deg, #E8457A, #F06B95);
  --wk-bubble-send-color: #FFFFFF;
  --wk-bubble-send-tail: #F06B95;
  --wk-bubble-recv-bg: #FFFFFF;
  --wk-bubble-recv-color: #3D1A33;
  --wk-bubble-recv-tail: #FFFFFF;
  --wk-bubble-recv-border: 1px solid #F5C6D8;
  --wk-bubble-sender-name: rgba(61, 26, 51, 0.74);
  --wk-bubble-send-time: rgba(255, 255, 255, 0.75);
  --wk-bubble-recv-time: rgba(107, 69, 96, 0.75);
  --wk-bubble-link-send: #FFFFFF;
  --wk-bubble-link-send-underline: rgba(255, 255, 255, 0.5);
  --wk-bubble-link-send-underline-hover: rgba(255, 255, 255, 0.9);
  --wk-bubble-link-recv: #E8457A;
  --wk-bubble-link-recv-underline: rgba(232, 69, 122, 0.3);
  --wk-bubble-link-recv-hover: #D63A6E;
  --wk-bubble-link-recv-underline-hover: rgba(214, 58, 110, 0.6);
  --wk-bubble-box-shadow: 0 1px 3px rgba(232, 69, 122, 0.12);

  /* ===== 搜索 ===== */
  --wk-color-search-icon: #8C6B7F;
  --wk-color-search-highlight: #E8457A;
  --wk-color-search-highlight-bg: rgba(232, 69, 122, 0.1);

  /* ===== 链接 ===== */
  --wk-color-link: #E8457A;
  --wk-color-link-send: #FFFFFF;
  --wk-color-link-recv: #E8457A;

  /* ===== 滚动条 ===== */
  --wk-scrollbar-thumb: rgba(232, 69, 122, 0.2);
  --wk-scrollbar-thumb-hover: rgba(232, 69, 122, 0.35);
  --wk-scrollbar-global-thumb: rgba(232, 69, 122, 0.25);
  --wk-scrollbar-global-thumb-hover: rgba(232, 69, 122, 0.4);

  /* ===== 媒体亮度 ===== */
  --wk-media-brightness: 1;
  --wk-media-brightness-hover: 1;

  /* ===== 加载 ===== */
  --wk-loading-overlay-bg: rgba(255, 240, 245, 0.85);

  /* ===== 文件上传遮罩 ===== */
  --wk-upload-mask-bg: rgba(255, 240, 245, 0.85);
  --wk-upload-mask-border: #F5C6D8;
  --wk-upload-mask-text: var(--wk-color-text-primary);

  /* ===== 聊天头部 ===== */
  --wk-chat-header-border: #F5C6D8;
  --wk-chat-panel-shadow: 0 0.25rem 0.5rem 0.125rem rgba(232, 69, 122, 0.15);
  --wk-chat-panel-bg: var(--wk-color-card);

  /* ===== 聊天区域滚动条 ===== */
  --wk-chat-scrollbar-thumb: rgba(232, 69, 122, 0.15);
  --wk-chat-scrollbar-thumb-idle: transparent;

  /* ===== 会话分组 ===== */
  --wk-group-count-bg: #FFE8F0;
  --wk-group-count-color: var(--wk-color-text-secondary);
  --wk-group-drag-shadow: 0 2px 8px rgba(232, 69, 122, 0.15);
  --wk-group-drag-over-bg: rgba(232, 69, 122, 0.1);

  /* ===== 其他 ===== */
  --wk-color-placeholder-bg: #8C6B7F;
  --wk-color-empty-text: #8C6B7F;
  --wk-color-pin-indicator: #E8A0C0;
  --wk-color-load-more-hover-bg: #FFF5F8;
  --wk-color-message-card: #FFFFFF;
  --wk-color-float-shadow: 0 1px 3px rgba(232, 69, 122, 0.15);

  /* ===== 分组标题 ===== */
  --wk-section-title-bg: #FFE4EE;

  /* ===== 输入框 ===== */
  --wk-input-bg: #FFFFFF;
  --wk-input-border: #F5C6D8;
  --wk-input-placeholder: #8C6B7F;

  /* ===== 全局搜索弹窗 ===== */
  --wk-global-search-modal-bg: linear-gradient(180deg, rgba(232, 69, 122, 0.15) 0%, #FFFFFF 160px);

  /* ===== 语音消息 ===== */
  --wk-voice-play-bg-send: rgba(255, 255, 255, 0.3);
  --wk-voice-play-bg-recv: #FFF5F8;
  --wk-voice-icon-send: #FFFFFF;
  --wk-voice-icon-recv: #E8457A;
  --wk-voice-time-send: rgba(255, 255, 255, 0.75);
  --wk-voice-time-recv: var(--wk-color-text-secondary);
  --wk-voice-progress-stroke: #E8457A;

  /* ===== 时间分隔线 ===== */
  --wk-time-bg: rgba(255, 255, 255, 0.8);
  --wk-time-shadow: 0 1px 2px rgba(232, 69, 122, 0.08);

  /* ===== 通话消息 ===== */
  --wk-live-icon-recv-filter: none;

  /* ===== 系统消息 ===== */
  --wk-system-msg-color: var(--wk-color-text-hint);

  /* ===== 文字消息回复 ===== */
  --wk-text-reply-recv-color: rgba(61, 26, 51, 0.5);

  /* ===== 面板/弹出层 ===== */
  --wk-panel-shadow: 0 8px 24px rgba(232, 69, 122, 0.12);
  --wk-toolbar-icon-filter: brightness(0) saturate(100%);

  /* ===== 右键菜单 ===== */
  --wk-menu-bg: #FFFFFF;
  --wk-menu-text: #3D1A33;
  --wk-menu-text-secondary: #6B4560;
  --wk-menu-hover-bg: rgba(232, 69, 122, 0.06);
  --wk-menu-divider: #F5C6D8;

  /* ===== 弹窗/对话框 ===== */
  --wk-dialog-bg: #FFFFFF;
  --wk-dialog-btn-bg: #FFFFFF;
  --wk-dialog-btn-border: #F5C6D8;
  --wk-dialog-btn-text: #3D1A33;

  /* ===== 登录页 ===== */
  --wk-login-bg:
    radial-gradient(ellipse at 80% 10%, rgba(255, 182, 213, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 20% 80%, rgba(230, 190, 255, 0.2) 0%, transparent 50%),
    linear-gradient(155deg, #FFF0F5 0%, #FFF5FA 50%, #F8EEF5 100%);
  --wk-login-card-bg: #FFFFFF;
  --wk-login-text: #3D1A33;
  --wk-login-text-secondary: #8C6B7F;
  --wk-login-input-bg: #FFF5F8;
  --wk-login-input-border: #F5C6D8;

  /* ===== Semi Design 桥接 ===== */
  --semi-color-primary: #E8457A;
  --semi-color-primary-hover: #D63A6E;
  --semi-color-bg-0: #FFFFFF;
  --semi-color-bg-1: #FFF5F8;
  --semi-color-bg-2: #FFF0F5;
  --semi-color-bg-3: #FFFFFF;
  --semi-color-fill-0: #FFF5F8;
  --semi-color-fill-1: #FFE8F0;
  --semi-color-fill-2: #FFE8F0;
  --semi-color-text-0: #3D1A33;
  --semi-color-text-2: #6B4560;

  /* ===== 遗留变量别名覆盖（向后兼容）===== */
  --wk-color-theme: #E8457A;
  --wk-color-secondary: #FFE4EE;
  --wk-color-secondary-2: #FFE8F0;
  --wk-color-hover: #FFE8F0;
  --wk-color-font-tip: var(--wk-color-text-hint);
  --wk-line: 1px solid #F5C6D8;
  --wk-line-color: #F5C6D8;
  --wk-color-item: #FFFFFF;
  --wk-text-item: #3D1A33;
  --wk-message-item: #FFFFFF;
  --wk-message-color: #3D1A33;

  /* ===== body 文字色 ===== */
  color: #3D1A33;
}

/* ===== html 背景覆盖 ===== */
html[theme-mode="pink"],
body[theme-mode="pink"] html {
  background:
    radial-gradient(ellipse at 80% 10%, rgba(255, 182, 213, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 20% 80%, rgba(230, 190, 255, 0.2) 0%, transparent 50%),
    linear-gradient(155deg, #FFF0F5 0%, #FFF5FA 50%, #F8EEF5 100%);
  background-attachment: fixed;
}

/**
 * 通讯录专用设计令牌
 *
 * 本文件仅定义通讯录特有的布局/尺寸变量。
 * 颜色相关令牌（如 --wk-section-title-bg）已迁移到
 * color-tokens.css 和主题定义文件（theme-dark.css、theme-pink.css）中统一管理。
 */

:root {
  /* ===== 联系人列表 ===== */
  --wk-contacts-item-height: 64px;
  --wk-contacts-avatar-size: 44px;
  --wk-contacts-avatar-radius: 50%;
  --wk-contacts-item-padding: var(--wk-spacing-md);

  /* ===== 字母索引栏 ===== */
  --wk-index-bar-width: 20px;
  --wk-index-bar-font-size: 11px;
  --wk-index-bar-color: var(--wk-color-text-hint);
  --wk-index-bar-active-color: var(--wk-color-primary);

  /* ===== 筛选标签 ===== */
  --wk-filter-height: 32px;
  --wk-filter-padding: 0 var(--wk-spacing-md);
  --wk-filter-gap: var(--wk-spacing-sm);
  --wk-filter-radius: var(--wk-radius-full);

  /* ===== 功能入口 ===== */
  --wk-entry-height: 56px;
  --wk-entry-icon-size: 24px;
  --wk-entry-gap: var(--wk-spacing-md);

  /* ===== 分组标题 ===== */
  --wk-section-title-height: 28px;
  --wk-section-title-font-size: var(--wk-font-size-caption);
}

/**
 * 黑名单页面样式
 * 
 * 使用设计令牌变量保持与联系人列表一致的视觉风格。
 * 
 * 需求引用：7.1, 7.2, 7.3, 7.4, 7.5
 */

.wk-blacklist {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #F5F7FA;
    background-color: var(--wk-color-bg, #F5F7FA);
}

.wk-blacklist-content {
    flex: 1 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 0;
    padding: var(--wk-spacing-sm, 8px) 0;
}

/* QQ 风格细滚动条 - 需求 7.5 */
.wk-blacklist-content::-webkit-scrollbar {
    width: 6px;
}

.wk-blacklist-content::-webkit-scrollbar-track {
    background: transparent;
}

.wk-blacklist-content::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    background-color: var(--wk-scrollbar-thumb, rgba(0, 0, 0, 0.2));
    border-radius: 9999px;
    border-radius: var(--wk-radius-full, 9999px);
}

.wk-blacklist-content::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.3);
    background-color: var(--wk-scrollbar-thumb-hover, rgba(0, 0, 0, 0.3));
}

/* 黑名单列表容器 */
.wk-blacklist-list {
    display: flex;
    flex-direction: column;
}

/* 空状态样式 */
.wk-blacklist .wk-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    min-height: 200px;
}

.wk-blacklist .wk-empty-state-title {
    font-size: 16px;
    font-size: var(--wk-font-size-subtitle, 16px);
    font-weight: 500;
    color: #666666;
    color: var(--wk-color-text-secondary, #666666);
    margin-bottom: 8px;
    margin-bottom: var(--wk-spacing-sm, 8px);
}

.wk-blacklist .wk-empty-state-description {
    font-size: 14px;
    font-size: var(--wk-font-size-body, 14px);
    color: #767676;
    color: var(--wk-color-text-hint, #767676);
    text-align: center;
    max-width: 240px;
}

/* 暗色模式通过 CSS 变量令牌自动切换，无需额外覆盖 */

/**
 * 联系人列表项样式
 * 
 * 实现联系人列表项的视觉效果，包括：
 * - 头像显示（44px 圆形）
 * - 昵称和备注文字样式
 * - 悬停高亮效果
 * - 选中状态样式
 * 
 * 需求引用：2.1, 2.2, 2.3, 2.4, 2.5, 2.6
 */

/* ===== 列表项容器 ===== */
.wk-contact-item {
  display: flex;
  align-items: center;
  height: 64px;
  height: var(--wk-contacts-item-height, 64px);
  padding: 0 12px;
  padding: 0 var(--wk-contacts-item-padding, 12px);
  cursor: pointer;
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
  margin: 0 8px;
  margin: 0 var(--wk-spacing-sm, 8px);
}

/* ===== 悬停状态 ===== */
/* 需求 2.2：悬停时显示浅色背景高亮效果 */
.wk-contact-item:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

/* ===== 选中状态 ===== */
/* 需求 2.3：选中时显示主题色背景和白色文字 */
.wk-contact-item.selected {
  background-color: #0093f5;
  background-color: var(--wk-color-item-selected, #0093f5);
}

.wk-contact-item.selected .wk-contact-item-name,
.wk-contact-item.selected .wk-contact-item-remark {
  color: #FFFFFF;
  color: var(--wk-color-item-selected-text, #FFFFFF);
}

/* ===== 头像区域 ===== */
/* 需求 2.1：圆形头像，尺寸为 44px */
.wk-contact-item-avatar {
  flex-shrink: 0;
  width: 44px;
  width: var(--wk-contacts-avatar-size, 44px);
  height: 44px;
  height: var(--wk-contacts-avatar-size, 44px);
}

/* 头像图片样式 */
.wk-contact-item-avatar img,
.wk-contact-item-avatar .wk-avatar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border-radius: var(--wk-contacts-avatar-radius, 50%);
  -o-object-fit: cover;
     object-fit: cover;
}

/* ===== 信息区域 ===== */
.wk-contact-item-info {
  flex: 1 1;
  margin-left: 12px;
  margin-left: var(--wk-spacing-md, 12px);
  min-width: 0; /* 允许文字截断 */
}

/* ===== 联系人名称 ===== */
/* 需求 2.5：使用 14px 字号显示联系人名称 */
.wk-contact-item-name {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  font-weight: 500;
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ===== 备注信息 ===== */
/* 需求 2.6：使用 12px 字号显示备注信息 */
.wk-contact-item-remark {
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 暗色模式通过 CSS 变量令牌自动切换，无需额外覆盖 */

/**
 * 添加好友页面样式
 * 
 * 需求引用：6.1, 6.2, 6.3, 6.4, 6.5, 6.6
 * - 6.1: 显示搜索框在页面顶部
 * - 6.2: 显示"我的二维码"入口
 * - 6.3: 显示用户的应用号信息
 * - 6.4: 搜索用户时显示加载动画
 * - 6.5: 用户不存在时显示友好的错误提示
 * - 6.6: 使用与聊天 UI 一致的卡片样式
 */

/* ===== 页面容器 ===== */
.wk-friendadd {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #F5F7FA;
    background-color: var(--wk-color-bg, #F5F7FA);
}

/* ===== 内容区域 ===== */
.wk-friendadd-content {
    flex: 1 1;
    padding: 16px;
    padding: var(--wk-spacing-lg, 16px);
    overflow-y: auto;
}

/* ===== 搜索卡片 - 需求 6.1, 6.6 ===== */
.wk-friendadd-search-card {
    background-color: #FFFFFF;
    background-color: var(--wk-color-card, #FFFFFF);
    border-radius: 12px;
    border-radius: var(--wk-radius-lg, 12px);
    padding: 16px;
    padding: var(--wk-spacing-lg, 16px);
    margin-bottom: 12px;
    margin-bottom: var(--wk-spacing-md, 12px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: var(--wk-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
}

.wk-friendadd-search-wrapper {
    width: 100%;
}

/* 搜索框样式覆盖 */
.wk-friendadd .wk-search-box {
    width: 100%;
    border-radius: 9999px;
    border-radius: var(--wk-radius-full, 9999px);
    background-color: #F5F7FA;
    background-color: var(--wk-color-bg, #F5F7FA);
}

.wk-friendadd .wk-search-input {
    max-width: 100%;
    flex: 1 1;
}

.wk-friendadd .wk-search-input input {
    width: 100%;
}

/* ===== 错误提示 - 需求 6.5 ===== */
.wk-friendadd-error {
    display: flex;
    align-items: center;
    gap: 8px;
    gap: var(--wk-spacing-sm, 8px);
    margin-top: 12px;
    margin-top: var(--wk-spacing-md, 12px);
    padding: 8px 12px;
    padding: var(--wk-spacing-sm, 8px) var(--wk-spacing-md, 12px);
    background-color: rgba(250, 81, 81, 0.1);
    border-radius: 8px;
    border-radius: var(--wk-radius-md, 8px);
    color: #FA5151;
    color: var(--wk-color-error, #FA5151);
}

.wk-friendadd-error-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.wk-friendadd-error-text {
    font-size: 14px;
    font-size: var(--wk-font-size-body, 14px);
    line-height: 1.4;
}

/* ===== 二维码卡片 - 需求 6.2, 6.3 ===== */
.wk-friendadd-qrcode-card {
    background-color: #FFFFFF;
    background-color: var(--wk-color-card, #FFFFFF);
    border-radius: 12px;
    border-radius: var(--wk-radius-lg, 12px);
    padding: 12px 16px;
    padding: var(--wk-spacing-md, 12px) var(--wk-spacing-lg, 16px);
    margin-bottom: 12px;
    margin-bottom: var(--wk-spacing-md, 12px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    box-shadow: var(--wk-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
}

/* 应用号信息 - 需求 6.3 */
.wk-friendadd-qrcode-info {
    display: flex;
    align-items: center;
    padding-bottom: 12px;
    padding-bottom: var(--wk-spacing-md, 12px);
    border-bottom: 1px solid #E8E8E8;
    border-bottom: 1px solid var(--wk-color-divider, #E8E8E8);
    margin-bottom: 12px;
    margin-bottom: var(--wk-spacing-md, 12px);
}

.wk-friendadd-qrcode-label {
    font-size: 14px;
    font-size: var(--wk-font-size-body, 14px);
    color: #666666;
    color: var(--wk-color-text-secondary, #666666);
}

.wk-friendadd-qrcode-value {
    font-size: 14px;
    font-size: var(--wk-font-size-body, 14px);
    font-weight: 500;
    color: #1A1A1A;
    color: var(--wk-color-text-primary, #1A1A1A);
    margin-left: 4px;
    margin-left: var(--wk-spacing-xs, 4px);
}

/* 二维码入口按钮 - 需求 6.2 */
.wk-friendadd-qrcode-btn {
    display: flex;
    align-items: center;
    padding: 8px 0;
    padding: var(--wk-spacing-sm, 8px) 0;
    cursor: pointer;
    transition: all 150ms ease-out ease;
    transition: all var(--wk-transition-fast, 150ms ease-out) ease;
    border-radius: 8px;
    border-radius: var(--wk-radius-md, 8px);
    margin: 0 calc(-1 * 8px);
    margin: 0 calc(-1 * var(--wk-spacing-sm, 8px));
    padding-left: 8px;
    padding-left: var(--wk-spacing-sm, 8px);
    padding-right: 8px;
    padding-right: var(--wk-spacing-sm, 8px);
}

.wk-friendadd-qrcode-btn:hover {
    background-color: #F5F7FA;
    background-color: var(--wk-color-item-hover, #F5F7FA);
}

.wk-friendadd-qrcode-btn:active {
    background-color: #F5F7FA;
    background-color: var(--wk-color-bg, #F5F7FA);
}

.wk-friendadd-qrcode-icon {
    width: 24px;
    width: var(--wk-icon-size-navigation, 24px);
    height: 24px;
    height: var(--wk-icon-size-navigation, 24px);
    color: #0093f5;
    color: var(--wk-color-primary, #0093f5);
    flex-shrink: 0;
}

.wk-friendadd-qrcode-text {
    flex: 1 1;
    margin-left: 12px;
    margin-left: var(--wk-spacing-md, 12px);
    font-size: 14px;
    font-size: var(--wk-font-size-body, 14px);
    font-weight: 500;
    color: #1A1A1A;
    color: var(--wk-color-text-primary, #1A1A1A);
}

.wk-friendadd-arrow {
    width: 16px;
    width: var(--wk-icon-size-small, 16px);
    height: 16px;
    height: var(--wk-icon-size-small, 16px);
    color: #767676;
    color: var(--wk-color-text-hint, #767676);
    flex-shrink: 0;
}

/* ===== 搜索提示 ===== */
.wk-friendadd-tips {
    padding: 12px;
    padding: var(--wk-spacing-md, 12px);
    text-align: center;
}

.wk-friendadd-tips-text {
    font-size: 12px;
    font-size: var(--wk-font-size-caption, 12px);
    color: #767676;
    color: var(--wk-color-text-hint, #767676);
    line-height: 1.5;
    margin: 0;
}

/* ===== 加载状态样式 - 需求 6.4 ===== */
.wk-friendadd .semi-spin-wrapper {
    width: 100%;
}

.wk-friendadd .semi-spin-children {
    width: 100%;
}

/* 暗色模式通过 CSS 变量令牌自动切换，无需额外覆盖 */



.wk-groupsave {
    width: 100%;
    height: 100%;
    border-right: var(--wk-line);
}

.wk-groupsave-content {
    height: calc(100% - var( --wk-height-viewqueueheader));
    width: 100%;
}

.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);
}
/**
 * 新好友页面样式
 * 
 * 使用卡片式布局显示好友申请列表，优化头像和按钮样式。
 * 应用设计令牌变量，支持亮色/暗色主题。
 * 
 * 需求引用：5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7
 */

/* ===== 页面容器 ===== */
.wk-newfriend {
    width: 100%;
    height: 100%;
    border-right: 1px solid var(--wk-color-divider);
    background-color: var(--wk-color-bg);
}

/* ===== 内容区域 ===== */
.wk-newfriend-content {
    height: calc(100% - var(--wk-height-viewqueueheader));
    width: 100%;
    overflow-y: auto;
    padding: var(--wk-spacing-md);
}

/* QQ 风格细滚动条 */
.wk-newfriend-content::-webkit-scrollbar {
    width: 6px;
}

.wk-newfriend-content::-webkit-scrollbar-track {
    background: transparent;
}

.wk-newfriend-content::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    background-color: var(--wk-scrollbar-thumb, rgba(0, 0, 0, 0.2));
    border-radius: var(--wk-radius-full);
}

.wk-newfriend-content::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.35);
    background-color: var(--wk-scrollbar-thumb-hover, rgba(0, 0, 0, 0.35));
}

/* ===== 好友申请列表 ===== */
.wk-newfriend-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ===== 卡片式布局 - 需求 5.1 ===== */
.wk-newfriend-card {
    display: flex;
    align-items: center;
    padding: var(--wk-spacing-md) var(--wk-spacing-lg);
    background-color: var(--wk-color-card);
    border-radius: var(--wk-radius-md);
    margin-bottom: var(--wk-spacing-sm);
    transition: background-color var(--wk-transition-fast);
}

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

.wk-newfriend-card:last-child {
    margin-bottom: 0;
}

/* ===== 头像样式 - 需求 5.2: 44px 圆形 ===== */
.wk-newfriend-avatar {
    flex-shrink: 0;
    width: var(--wk-contacts-avatar-size);
    height: var(--wk-contacts-avatar-size);
}

.wk-newfriend-avatar img {
    width: 100%;
    height: 100%;
    border-radius: var(--wk-contacts-avatar-radius);
    -o-object-fit: cover;
       object-fit: cover;
}

/* ===== 用户信息 - 需求 5.3 ===== */
.wk-newfriend-info {
    flex: 1 1;
    margin-left: var(--wk-spacing-md);
    min-width: 0;
    overflow: hidden;
}

.wk-newfriend-name {
    font-size: var(--wk-font-size-body);
    font-weight: 500;
    color: var(--wk-color-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wk-newfriend-remark {
    font-size: var(--wk-font-size-caption);
    color: var(--wk-color-text-hint);
    margin-top: var(--wk-spacing-xs);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===== 操作区域 - 需求 5.4, 5.5, 5.6 ===== */
.wk-newfriend-action {
    flex-shrink: 0;
    margin-left: var(--wk-spacing-md);
}

/* 确认按钮 - 需求 5.6: 使用主题色背景 */
.wk-newfriend-confirm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    height: 32px;
    padding: 0 var(--wk-spacing-md);
    font-size: var(--wk-font-size-body);
    font-weight: 500;
    color: var(--wk-color-item-selected-text);
    background-color: var(--wk-color-primary);
    border: none;
    border-radius: var(--wk-radius-full);
    cursor: pointer;
    transition: all var(--wk-transition-fast);
}

.wk-newfriend-confirm-btn:hover:not(:disabled) {
    background-color: var(--wk-color-primary-hover);
}

.wk-newfriend-confirm-btn:active:not(:disabled) {
    background-color: var(--wk-color-primary-active);
}

/* 加载状态 - 需求 5.5 */
.wk-newfriend-confirm-btn.loading {
    cursor: not-allowed;
    opacity: 0.8;
}

.wk-newfriend-confirm-btn:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

/* 状态文本 - 需求 5.4 */
.wk-newfriend-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    height: 32px;
    padding: 0 var(--wk-spacing-md);
    font-size: var(--wk-font-size-body);
    color: var(--wk-color-text-hint);
    background-color: var(--wk-color-bg);
    border-radius: var(--wk-radius-full);
}

/* ===== 添加好友按钮 ===== */
.wk-newfriend-add-btn {
    background-color: var(--wk-color-primary) !important;
    border-color: var(--wk-color-primary) !important;
    color: var(--wk-color-item-selected-text) !important;
}

.wk-newfriend-add-btn:hover {
    background-color: var(--wk-color-primary-hover) !important;
    border-color: var(--wk-color-primary-hover) !important;
}


.wk-main-modal-organizational-group-new .semi-modal-body {
  height: 552px;
  display: flex;
}

.wk-main-modal-organizational-group-new .semi-modal-content {
  padding: 0;
  border-radius: 10px;
}

.wk-main-modal-organizational-group-new .semi-modal-header {
  margin: 0;
  padding: 16px;
  background: var(--wk-color-bg);
}

body[theme-mode="dark"]
  .wk-main-modal-organizational-group-new
  .semi-modal-header {
  background: var(--semi-color-bg-2);
}

.wk-main-modal-organizational-group-new .semi-modal-title {
  color: var(--semi-color-text-0);
  font-size: 14px;
  font-weight: 600;
}

.wk-organizational-group-new-left {
  width: 50%;
  height: 100%;
  background-color: var(--wk-color-secondary);
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--semi-color-border);
}

.wk-organizational-group-new-left .group-new-left-main {
  flex: 1 1 auto;
  padding: 0 0 24px 16px;
  overflow: hidden; /* 改为 hidden，让子组件自己处理滚动 */
  display: flex;
  flex-direction: column;
  min-height: 0; /* 重要：允许 flex 子元素收缩 */
}

.group-new-left-main .semi-tree-search-wrapper {
  padding: 12px 16px 16px 0;
  position: sticky;
  top: 0;
  background-color: var(--wk-color-secondary);
  z-index: 10;
}

.group-new-left-main .semi-tree-search-wrapper .semi-input-wrapper {
  height: 36px;
  border-radius: 20px;
  background-color: var(--semi-color-bg-2);
  border: 1px solid var(--semi-color-border);
}

.wk-organizational-group-new-left .group-new-left-search {
  margin: 12px 16px 20px 16px;
}
.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-secondary);
  display: flex;
  flex-direction: column;
}

.wk-organizational-group-new-right .organizational-group-new-right-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
}
.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;
}

.organizational-group-new-right-header {
  margin: 20px 20px 14px 20px;
  color: var(--semi-color-text-0);
  font-size: 14px;
}

.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: var(--semi-color-fill-0);
}

/* 已选择标签样式 */
.wk-organizational-group-new-right
  .organizational-group-new-right-body
  .selected-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--semi-color-fill-1);
  height: 32px;
  border-radius: 6px;
  color: var(--semi-color-text-0);
  font-size: 12px;
  padding: 4px;
  margin: 4px;
  max-width: -moz-fit-content;
  max-width: fit-content;
}

.wk-organizational-group-new-right
  .organizational-group-new-right-body
  .selected-tag
  .tag-avatar {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.wk-organizational-group-new-right
  .organizational-group-new-right-body
  .selected-tag
  .tag-avatar
  img {
  width: 24px;
  height: 24px;
  border-radius: 4px;
}

.wk-organizational-group-new-right
  .organizational-group-new-right-body
  .selected-tag
  .tag-name {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1;
}

.wk-organizational-group-new-right
  .organizational-group-new-right-body
  .selected-tag
  .remove-icon {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.wk-organizational-group-new-right .organizational-group-new-right-footer {
  padding: 16px;
  display: flex;
  justify-content: flex-end;
}

.wk-but-ok:hover {
  background-color: var(--wk-color-theme) !important;
}

/* 暗黑模式适配 */
body[theme-mode="dark"]
  .wk-main-modal-organizational-group-new
  .semi-modal-content {
  background: var(--wk-color-secondary-2);
}


/* 好友列表样式 - 微信模式 */
.friend-list-container {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.friend-list-search {
  padding: 12px 16px 16px 0;
  position: sticky;
  top: 0;
  background-color: var(--wk-color-secondary);
  z-index: 10;
}

.friend-list-search input {
  width: 100%;
  height: 36px;
  border-radius: 20px;
  background-color: var(--semi-color-bg-2);
  border: 1px solid var(--semi-color-border);
  padding: 0 16px;
  font-size: 14px;
  color: var(--semi-color-text-0);
  outline: none;
}

.friend-list-search input:focus {
  border-color: var(--wk-color-theme);
}

.friend-list-search input::-moz-placeholder {
  color: var(--semi-color-text-2);
}

.friend-list-search input::placeholder {
  color: var(--semi-color-text-2);
}

.friend-list-content {
  flex: 1 1;
  overflow-y: auto;
  padding-right: 16px;
}

.friend-list-item {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  cursor: pointer;
  border-radius: 8px;
  transition: background-color 0.2s;
}

.friend-list-item:hover {
  background-color: var(--semi-color-fill-0);
}

.friend-list-item.selected {
  background-color: var(--semi-color-fill-1);
}

.friend-list-item-checkbox {
  margin-right: 12px;
}

.friend-list-item-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--wk-color-theme);
}

.friend-list-item-avatar {
  width: 36px;
  height: 36px;
  margin-right: 12px;
  flex-shrink: 0;
}

.friend-list-item-avatar img {
  width: 36px;
  height: 36px;
  border-radius: 6px;
}

.friend-list-item-name {
  flex: 1 1;
  font-size: 14px;
  color: var(--semi-color-text-0);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.organization-tree-node {
  display: flex;
  align-items: center;
  padding: 6px 8px;
  cursor: pointer;
  border-radius: 4px;
  border-radius: var(--wk-radius-sm, 4px);
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

.organization-tree-node:hover {
  background-color: var(--semi-color-fill-0);
}

/* 字母分组头样式 */
.organization-tree-letter-header {
  display: flex;
  align-items: center;
  padding: 4px 12px;
  pointer-events: none;
}

.organization-tree-letter-header-text {
  font-size: 12px;
  font-weight: 600;
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
  padding: 2px 0;
}

.organization-tree-node-content {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  margin-left: 8px;
  flex: 1 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.organization-tree-node-expand {
  margin-right: 4px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.organization-tree-node-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
}

.organization-tree-node-avatar img {
  width: 44px;
  width: var(--wk-contacts-avatar-size, 44px);
  height: 44px;
  height: var(--wk-contacts-avatar-size, 44px);
}

.organization-tree-node-avatar .wk-avatar {
  width: 44px;
  width: var(--wk-contacts-avatar-size, 44px);
  height: 44px;
  height: var(--wk-contacts-avatar-size, 44px);
  border-radius: 50%;
  border-radius: var(--wk-contacts-avatar-radius, 50%);
  background-color: #F5F7FA;
  background-color: var(--wk-color-bg, #F5F7FA);
}

.organization-tree-node-employee {
  cursor: pointer;
}

.organization-tree-node-employee:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

.organization-tree-node-checkbox {
  margin-right: 16px;
  margin-right: var(--wk-spacing-lg, 16px);
}

.loading-container,
.empty-container,
.organization-tree-loading,
.organization-tree-empty {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 200px;
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
  gap: 12px;
}

/* ===== 暗色模式 ===== */
body[theme-mode="dark"] .organization-tree-node:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

body[theme-mode="dark"] .organization-tree-node-content {
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
}

body[theme-mode="dark"] .organization-tree-node-avatar .wk-avatar {
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
}

body[theme-mode="dark"] .organization-tree-node-employee:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

body[theme-mode="dark"] .organization-tree-letter-header-text {
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
}

body[theme-mode="dark"] .loading-container,
body[theme-mode="dark"] .empty-container {
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
}

/* ===== 搜索相关样式 ===== */
.organization-tree-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0; /* 重要：允许 flex 子元素收缩 */
}

.organization-tree-search-box {
  padding: 8px 12px;
  flex-shrink: 0;
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
  position: sticky;
  top: 0;
  z-index: 10;
}

.organization-tree-search-box .semi-input-wrapper {
  background-color: #F5F5F5;
  background-color: var(--semi-color-fill-0, #F5F5F5);
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
}

.organization-tree-search-results {
  flex: 1 1;
  padding: 0;
}

.organization-tree-search-loading,
.organization-tree-search-empty {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 0;
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
  font-size: 14px;
}

.organization-tree-search-letter {
  font-size: 12px;
  font-weight: 600;
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
  padding: 8px 16px 4px;
  background-color: #FAFAFA;
  background-color: var(--semi-color-bg-0, #FAFAFA);
  position: sticky;
  top: 52px; /* 搜索框高度 */
  z-index: 5;
}

.organization-tree-search-item {
  display: flex;
  align-items: center;
  padding: 10px 16px;
  cursor: pointer;
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
  background-color: #FFFFFF;
  background-color: var(--semi-color-bg-1, #FFFFFF);
}

.organization-tree-search-item:hover {
  background-color: #F5F5F5;
  background-color: var(--semi-color-fill-0, #F5F5F5);
}

.organization-tree-search-item-avatar {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
}

.organization-tree-search-item-avatar .wk-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.organization-tree-search-item-name {
  flex: 1 1;
  margin-left: 12px;
  font-size: 14px;
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.organization-tree-search-item-checkbox {
  flex-shrink: 0;
  margin-left: 8px;
}

/* ===== 暗色模式 - 搜索相关 ===== */
body[theme-mode="dark"] .organization-tree-search-box {
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
}

body[theme-mode="dark"] .organization-tree-search-box .semi-input-wrapper {
  background-color: #2A2A2A;
  background-color: var(--semi-color-fill-0, #2A2A2A);
}

body[theme-mode="dark"] .organization-tree-search-letter {
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
  background-color: #1A1A1A;
  background-color: var(--semi-color-bg-0, #1A1A1A);
}

body[theme-mode="dark"] .organization-tree-search-item {
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
}

body[theme-mode="dark"] .organization-tree-search-item:hover {
  background-color: #2A2A2A;
  background-color: var(--semi-color-fill-0, #2A2A2A);
}

body[theme-mode="dark"] .organization-tree-search-item-name {
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
}

body[theme-mode="dark"] .organization-tree-search-loading,
body[theme-mode="dark"] .organization-tree-search-empty {
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
}


/* ===== 虚拟滚动树样式 ===== */
.virtual-tree-container {
  flex: 1 1;
  overflow: hidden;
  min-height: 0; /* 重要：允许 flex 子元素收缩 */
}

.virtual-tree-node {
  display: flex;
  align-items: center;
  padding: 6px 8px;
  cursor: pointer;
  border-radius: 4px;
  border-radius: var(--wk-radius-sm, 4px);
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
  box-sizing: border-box;
}

.virtual-tree-node:hover {
  background-color: var(--semi-color-fill-0);
}

.virtual-tree-node-expand {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  cursor: pointer;
  flex-shrink: 0;
}

.virtual-tree-node-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.virtual-tree-node-avatar img {
  width: 44px;
  width: var(--wk-contacts-avatar-size, 44px);
  height: 44px;
  height: var(--wk-contacts-avatar-size, 44px);
}

.virtual-tree-node-avatar .wk-avatar {
  width: 44px;
  width: var(--wk-contacts-avatar-size, 44px);
  height: 44px;
  height: var(--wk-contacts-avatar-size, 44px);
  border-radius: 50%;
  border-radius: var(--wk-contacts-avatar-radius, 50%);
  background-color: #F5F7FA;
  background-color: var(--wk-color-bg, #F5F7FA);
}

.virtual-tree-node-content {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  margin-left: 8px;
  flex: 1 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.virtual-tree-node-checkbox {
  margin-right: 16px;
  margin-right: var(--wk-spacing-lg, 16px);
  flex-shrink: 0;
}

.virtual-tree-node-employee:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

.virtual-tree-letter-header {
  display: flex;
  align-items: center;
  padding: 4px 12px;
  pointer-events: none;
  box-sizing: border-box;
}

.virtual-tree-letter-header-text {
  font-size: 12px;
  font-weight: 600;
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
  padding: 2px 0;
}

/* 加载更多指示器 */
.virtual-tree-load-more {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
  font-size: 14px;
}

.virtual-tree-load-more-error {
  color: var(--semi-color-danger);
}

.virtual-tree-load-more-retry {
  margin-left: 8px;
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
  cursor: pointer;
}

/* ===== 搜索虚拟列表样式 ===== */
.search-virtual-list-container {
  flex: 1 1;
  overflow: hidden;
  min-height: 0; /* 重要：允许 flex 子元素收缩 */
}

.search-virtual-list-empty {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
  font-size: 14px;
}

.search-virtual-list-group-header {
  display: flex;
  align-items: center;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 600;
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
  background-color: #FAFAFA;
  background-color: var(--semi-color-bg-0, #FAFAFA);
  position: sticky;
  top: 0;
  z-index: 5;
  box-sizing: border-box;
}

.search-virtual-list-item {
  display: flex;
  align-items: center;
  padding: 0 16px;
  cursor: pointer;
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
  background-color: #FFFFFF;
  background-color: var(--semi-color-bg-1, #FFFFFF);
  box-sizing: border-box;
}

.search-virtual-list-item:hover {
  background-color: #F5F5F5;
  background-color: var(--semi-color-fill-0, #F5F5F5);
}

.search-virtual-list-item-avatar {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
}

.search-virtual-list-item-avatar .wk-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.search-virtual-list-item-name {
  flex: 1 1;
  margin-left: 12px;
  font-size: 14px;
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-virtual-list-item-checkbox {
  flex-shrink: 0;
  margin-left: 8px;
}

/* ===== 暗色模式 - 虚拟滚动 ===== */
body[theme-mode="dark"] .virtual-tree-node:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

body[theme-mode="dark"] .virtual-tree-node-content {
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
}

body[theme-mode="dark"] .virtual-tree-node-avatar .wk-avatar {
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
}

body[theme-mode="dark"] .virtual-tree-node-employee:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

body[theme-mode="dark"] .virtual-tree-letter-header-text {
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
}

body[theme-mode="dark"] .virtual-tree-load-more {
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
}

body[theme-mode="dark"] .search-virtual-list-empty {
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
}

body[theme-mode="dark"] .search-virtual-list-group-header {
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
  background-color: #1A1A1A;
  background-color: var(--semi-color-bg-0, #1A1A1A);
}

body[theme-mode="dark"] .search-virtual-list-item {
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
}

body[theme-mode="dark"] .search-virtual-list-item:hover {
  background-color: #2A2A2A;
  background-color: var(--semi-color-fill-0, #2A2A2A);
}

body[theme-mode="dark"] .search-virtual-list-item-name {
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
}

/**
 * 联系人列表样式
 * 需求引用：2.7, 10.1
 */

.wk-contacts {
  width: 100%;
  height: 100%;
  --wk-height-contacts-content-header: 50px;
  border-right: var(--wk-line);
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
}

.wk-contacts-content-header {
  width: 100%;
  padding: 0px 12px;
  padding: 0px var(--wk-spacing-md, 12px);
  background-color: var(--wk-color-secondary);
  -webkit-app-region: drag;
  position: relative;
}

/* Windows Electron: 用伪元素创建 drag 区域，右上角留空 */
body.wk-electron.wk-platform-windows .wk-contacts-content-header {
  -webkit-app-region: no-drag;
}

body.wk-electron.wk-platform-windows .wk-contacts-content-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 140px;
  bottom: 0;
  -webkit-app-region: drag;
}

.wk-contacts-content {
  flex: 1 1;
  width: 100%;
  padding: 0px 8px 8px 8px;
  padding: 0px var(--wk-spacing-sm, 8px) var(--wk-spacing-sm, 8px) var(--wk-spacing-sm, 8px);
  overflow: auto;
}

/* ===== QQ 风格细滚动条 - 需求 2.7 ===== */
.wk-contacts-content::-webkit-scrollbar {
  width: 6px;
}

.wk-contacts-content::-webkit-scrollbar-track {
  background: transparent;
}

.wk-contacts-content::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  background-color: var(--wk-scrollbar-thumb, rgba(0, 0, 0, 0.2));
  border-radius: 9999px;
  border-radius: var(--wk-radius-full, 9999px);
  -webkit-transition: background-color 150ms ease-out;
  transition: background-color 150ms ease-out;
  -webkit-transition: background-color var(--wk-transition-fast, 150ms ease-out);
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

.wk-contacts-content::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.3);
  background-color: var(--wk-scrollbar-thumb-hover, rgba(0, 0, 0, 0.3));
}

/* 包装容器，用于定位索引栏 */
.wk-contacts-wrapper {
  position: relative;
  width: 100%;
  height: calc(100% - var(--wk-height-navheader));
  display: flex;
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
}

.wk-contacts-content-contacts {
  width: 100%;
}

/* ===== 分组标题样式 - 需求 2.8 ===== */
.wk-contacts-section-header {
  height: 28px;
  height: var(--wk-section-title-height, 28px);
  line-height: 28px;
  line-height: var(--wk-section-title-height, 28px);
  padding: 0 12px;
  padding: 0 var(--wk-spacing-md, 12px);
  font-size: 12px;
  font-size: var(--wk-section-title-font-size, 12px);
  font-weight: 600;
  color: #767676;
  color: var(--wk-section-title-color, #767676);
  background-color: #F5F7FA;
  background-color: var(--wk-section-title-bg, #F5F7FA);
  position: sticky;
  top: 0;
  z-index: 5;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-bottom: 1px solid #E8E8E8;
  border-bottom: 1px solid var(--wk-color-divider, #E8E8E8);
}

.wk-contacts-section-list {
  padding: 0px 4px;
  padding: 0px var(--wk-spacing-xs, 4px);
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
}

.wk-contacts-section-item-index {
  width: 50px;
  text-align: center;
  font-size: 16px;
  font-size: var(--wk-font-size-subtitle, 16px);
  font-weight: 500;
  color: #666666;
  color: var(--wk-color-text-secondary, #666666);
}

/* ===== 联系人列表项样式 - 需求 10.1 ===== */
.wk-contacts-section-item {
  display: flex;
  align-items: center;
  padding: 12px 12px 12px 0px;
  padding: var(--wk-spacing-md, 12px) var(--wk-spacing-md, 12px) var(--wk-spacing-md, 12px) 0px;
  cursor: pointer;
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
  margin: 4px 0;
  margin: var(--wk-spacing-xs, 4px) 0;
  transition: background-color 150ms ease-out ease;
  transition: background-color var(--wk-transition-fast, 150ms ease-out) ease;
}

.wk-contacts-section-item:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

/* ===== 选中状态样式 - 需求 2.3 ===== */
.wk-contacts-section-item-selected {
  background-color: #0093f5;
  background-color: var(--wk-color-item-selected, #0093f5);
  color: #FFFFFF;
  color: var(--wk-color-item-selected-text, #FFFFFF);
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
}

.wk-contacts-section-item-selected:hover {
  background-color: #0093f5;
  background-color: var(--wk-color-item-selected, #0093f5);
}

.wk-contacts-section-item-selected .wk-contacts-section-item-name {
  color: #FFFFFF;
  color: var(--wk-color-item-selected-text, #FFFFFF);
}

/* ===== 头像样式 - 需求 2.1 ===== */
.wk-contacts-section-item-avatar img {
  width: 44px;
  width: var(--wk-contacts-avatar-size, 44px);
  height: 44px;
  height: var(--wk-contacts-avatar-size, 44px);
  border-radius: 50%;
  border-radius: var(--wk-contacts-avatar-radius, 50%);
  -o-object-fit: cover;
     object-fit: cover;
}

/* ===== 联系人名称样式 - 需求 2.5 ===== */
.wk-contacts-section-item-name {
  margin-left: 12px;
  margin-left: var(--wk-spacing-md, 12px);
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  font-weight: 500;
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ===== 功能入口区域 ===== */
.wk-contacts-content-fnc {
  width: 100%;
  margin-bottom: 8px;
  margin-bottom: var(--wk-spacing-sm, 8px);
}

/* ===== 搜索框样式 ===== */
/* 需求 4.1: 圆角矩形样式 (--wk-radius-full) */
/* 需求 4.2: 聚焦时主题色边框 */
/* 需求 4.3: 搜索图标在左侧 (由 Search 组件实现) */
/* 需求 4.4: 输入内容时显示清除按钮 */
/* 需求 4.5: 支持实时搜索 (由组件 onChange 实现) */
/* 需求 4.6: 使用 --wk-color-bg 作为背景色 */
/* 需求 4.7: 使用 --wk-color-text-hint 作为占位符文字颜色 */

.wk-contacts-content-header .wk-search-box {
  background-color: #F5F7FA;
  background-color: var(--wk-color-bg, #F5F7FA);
  width: 100%;
  height: 40px;
  border-radius: 9999px;
  border-radius: var(--wk-radius-full, 9999px);
  border: 2px solid transparent;
  -webkit-app-region: no-drag;
  transition: all 150ms ease-out ease;
  transition: all var(--wk-transition-fast, 150ms ease-out) ease;
}

/* 需求 4.2: 聚焦时显示主题色边框 */
.wk-contacts-content-header .wk-search-box:focus-within {
  border-color: #0093f5;
  border-color: var(--wk-color-primary, #0093f5);
  box-shadow: 0 0 0 3px rgba(18, 183, 245, 0.15);
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
}

/* 搜索图标样式 - 需求 4.3 */
.wk-contacts-content-header .wk-search-icon {
  display: flex;
  align-items: center;
  margin-left: 12px;
  margin-left: var(--wk-spacing-md, 12px);
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
}

.wk-contacts-content-header .wk-search-icon svg {
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
  font-size: 18px;
}

/* 搜索输入框样式 */
.wk-contacts-content-header .wk-search-input {
  flex: 1 1;
  margin-left: 8px;
  margin-left: var(--wk-spacing-sm, 8px);
  margin-right: 8px;
  margin-right: var(--wk-spacing-sm, 8px);
}

.wk-contacts-content-header .wk-search-input .semi-input-wrapper {
  background-color: transparent;
  border: none;
  height: 100%;
}

.wk-contacts-content-header .wk-search-input .semi-input-wrapper:hover,
.wk-contacts-content-header .wk-search-input .semi-input-wrapper-focus {
  background-color: transparent;
  border: none !important;
  box-shadow: none !important;
}

.wk-contacts-content-header .wk-search-input input {
  background-color: transparent;
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
}

/* 需求 4.7: 占位符文字颜色 */
.wk-contacts-content-header .wk-search-input input::-moz-placeholder {
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
}
.wk-contacts-content-header .wk-search-input input::placeholder {
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
}

/* 需求 4.4: 清除按钮样式 */
.wk-contacts-content-header .wk-search-input .semi-input-clearbtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  margin-right: var(--wk-spacing-sm, 8px);
  border-radius: 9999px;
  border-radius: var(--wk-radius-full, 9999px);
  background-color: #767676;
  background-color: var(--wk-color-text-hint, #767676);
  color: #FFFFFF;
  color: var(--wk-color-card, #FFFFFF);
  cursor: pointer;
  transition: all 150ms ease-out ease;
  transition: all var(--wk-transition-fast, 150ms ease-out) ease;
  opacity: 0.6;
}

.wk-contacts-content-header .wk-search-input .semi-input-clearbtn:hover {
  opacity: 1;
  background-color: #0093f5;
  background-color: var(--wk-color-primary, #0093f5);
}

.wk-contacts-content-header .wk-search-input .semi-input-clearbtn svg {
  width: 12px;
  height: 12px;
}

/**
 * 字母索引栏样式
 * 需求引用：2.8, 2.9
 */

.wk-index-bar {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: var(--wk-index-bar-width);
  z-index: 10;
}

.wk-index-bar-item {
  width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  font-size: var(--wk-index-bar-font-size);
  color: var(--wk-index-bar-color);
  cursor: pointer;
  border-radius: var(--wk-radius-full);
  transition: all var(--wk-transition-fast);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.wk-index-bar-item:hover {
  color: var(--wk-index-bar-active-color);
  transform: scale(1.2);
}

.wk-index-bar-item.active {
  color: var(--wk-color-item-selected-text);
  background-color: var(--wk-color-primary);
  transform: scale(1.3);
}

/**
 * 联系人筛选组件样式
 * 需求引用：3.1-3.8
 * 
 * 设计规范：
 * - 3.1: 显示在搜索框下方
 * - 3.5: 使用胶囊形状的标签样式
 * - 3.6: 选中时显示主题色背景
 * - 10.2: 使用 --wk-transition-normal (200ms) 作为选中过渡时间
 */

/* ===== 筛选容器 ===== */
.wk-contacts-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  gap: var(--wk-filter-gap, 8px);
  padding: 8px 12px;
  padding: var(--wk-spacing-sm, 8px) var(--wk-spacing-md, 12px);
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
  border-bottom: 1px solid #E8E8E8;
  border-bottom: 1px solid var(--wk-color-divider, #E8E8E8);
}

/* ===== 筛选项 ===== */
.wk-contacts-filter-item {
  display: flex;
  align-items: center;
  gap: 4px;
  gap: var(--wk-spacing-xs, 4px);
  height: 32px;
  height: var(--wk-filter-height, 32px);
  padding: 0 12px;
  padding: var(--wk-filter-padding, 0 12px);
  border-radius: 16px;
  border-radius: var(--wk-filter-radius, 16px);
  background-color: #F5F7FA;
  background-color: var(--wk-color-bg, #F5F7FA);
  cursor: pointer;
  transition: all 200ms ease-out ease;
  transition: all var(--wk-transition-normal, 200ms ease-out) ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: none;
}

/* 悬停状态 */
.wk-contacts-filter-item:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

/* 聚焦状态（键盘导航） */
.wk-contacts-filter-item:focus-visible {
  box-shadow: 0 0 0 2px #0093f5;
  box-shadow: 0 0 0 2px var(--wk-color-primary, #0093f5);
}

/* 选中状态 - 需求 3.6 */
.wk-contacts-filter-item.active {
  background-color: #0093f5;
  background-color: var(--wk-color-primary, #0093f5);
  color: #FFFFFF;
  color: var(--wk-color-item-selected-text, #FFFFFF);
}

/* 选中状态悬停 */
.wk-contacts-filter-item.active:hover {
  background-color: #0093f5;
  background-color: var(--wk-color-primary, #0093f5);
  opacity: 0.9;
}

/* ===== 筛选标签文字 ===== */
.wk-contacts-filter-label {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  font-weight: 500;
  line-height: 1;
}

/* ===== 数量徽章 - 需求 3.4 ===== */
.wk-contacts-filter-count {
  font-size: 12px;
  font-size: var(--wk-font-size-caption, 12px);
  min-width: 18px;
  height: 18px;
  line-height: 18px;
  text-align: center;
  border-radius: 9999px;
  border-radius: var(--wk-radius-full, 9999px);
  background-color: rgba(0, 0, 0, 0.1);
  padding: 0 4px;
}

/* 选中状态下的数量徽章 */
.wk-contacts-filter-item.active .wk-contacts-filter-count {
  background-color: rgba(255, 255, 255, 0.2);
}

/* ===== 响应式适配 ===== */
@media (max-width: 480px) {
  .wk-contacts-filter {
    padding: 4px 8px;
    padding: var(--wk-spacing-xs, 4px) var(--wk-spacing-sm, 8px);
    gap: 4px;
    gap: var(--wk-spacing-xs, 4px);
  }
  
  .wk-contacts-filter-item {
    height: 28px;
    padding: 0 8px;
  }
  
  .wk-contacts-filter-label {
    font-size: 12px;
    font-size: var(--wk-font-size-caption, 12px);
  }
  
  .wk-contacts-filter-count {
    font-size: 10px;
    min-width: 16px;
    height: 16px;
    line-height: 16px;
  }
}

/**
 * 部门联系人页面样式
 * 
 * 实现部门/组织架构页面的视觉效果，包括：
 * - 可折叠的树形结构
 * - 部门图标和名称显示
 * - 成员数量显示
 * - 与联系人列表一致的成员项样式
 * 
 * 需求引用：8.1, 8.2, 8.3, 8.4, 8.5, 8.6
 */

.wk-contacts {
  width: 100%;
  height: 100%;
  --wk-height-contacts-content-header: 50px;
  border-right: var(--wk-line);
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
}

/* ===== 搜索框样式 ===== */
.wk-contacts .semi-tree-search-wrapper {
  padding: 12px 8px;
  padding: var(--wk-spacing-md, 12px) var(--wk-spacing-sm, 8px);
  position: sticky;
  top: 0;
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
  z-index: 10;
}

.wk-contacts .semi-tree-search-wrapper .semi-input-wrapper {
  height: 36px;
  border-radius: 9999px;
  border-radius: var(--wk-radius-full, 9999px);
  background-color: #F5F7FA;
  background-color: var(--wk-color-bg, #F5F7FA);
  border: 1px solid #E8E8E8;
  border: 1px solid var(--wk-color-divider, #E8E8E8);
  transition: border-color 150ms ease-out;
  transition: border-color var(--wk-transition-fast, 150ms ease-out);
}

.wk-contacts .semi-tree-search-wrapper .semi-input-wrapper:focus-within {
  border-color: #0093f5;
  border-color: var(--wk-color-primary, #0093f5);
}

/* ===== 内容区域 ===== */
.wk-contacts-content-header {
  width: 100%;
  padding: 0px 12px;
  padding: 0px var(--wk-spacing-md, 12px);
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
  -webkit-app-region: drag;
  position: relative;
}

/* Windows Electron: 用伪元素创建 drag 区域，右上角留空 */
body.wk-electron.wk-platform-windows .wk-contacts-content-header {
  -webkit-app-region: no-drag;
}

body.wk-electron.wk-platform-windows .wk-contacts-content-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 140px;
  bottom: 0;
  -webkit-app-region: drag;
}

.wk-contacts-content {
  width: 100%;
  height: calc(100% - var(--wk-height-navheader));
  overflow: auto;
}

/* ===== QQ 风格细滚动条 ===== */
.wk-contacts-content::-webkit-scrollbar {
  width: 6px;
}

.wk-contacts-content::-webkit-scrollbar-track {
  background: transparent;
}

.wk-contacts-content::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  background-color: var(--wk-scrollbar-thumb, rgba(0, 0, 0, 0.2));
  border-radius: 9999px;
  border-radius: var(--wk-radius-full, 9999px);
}

.wk-contacts-content::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.35);
  background-color: var(--wk-scrollbar-thumb-hover, rgba(0, 0, 0, 0.35));
}

.wk-contacts-content-contacts {
  width: 100%;
}

/* ===== 层级连接线 ===== */
.level-icon {
  margin-right: 16px;
  margin-right: var(--wk-spacing-lg, 16px);
  margin-bottom: 5px;
}

.level-icon-hidden {
  visibility: hidden;
}

/* ===== 组织树节点样式 ===== */
.wk-contacts .organization-tree-node-avatar img {
  width: 44px;
  width: var(--wk-contacts-avatar-size, 44px);
  height: 44px;
  height: var(--wk-contacts-avatar-size, 44px);
  border-radius: 50%;
  border-radius: var(--wk-contacts-avatar-radius, 50%);
  background-color: #F5F7FA;
  background-color: var(--wk-color-bg, #F5F7FA);
}

/* ===== 部门树节点样式 ===== */
.wk-dept-tree-node {
  display: flex;
  align-items: center;
  padding: 6px 8px;
  cursor: pointer;
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

.wk-dept-tree-node:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

.wk-dept-tree-node-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wk-dept-tree-node-icon img {
  width: 32px;
  height: 32px;
  -o-object-fit: contain;
     object-fit: contain;
}

.wk-dept-tree-node-content {
  flex: 1 1;
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-left: 8px;
}

.wk-dept-tree-node-expand {
  margin-left: 4px;
  display: flex;
  align-items: center;
}

.wk-dept-tree-level-icon {
  margin-right: 12px;
  margin-right: var(--wk-spacing-md, 12px);
  flex-shrink: 0;
}

/* ===== 部门树成员样式 ===== */
.wk-dept-tree-member {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  padding: var(--wk-spacing-sm, 8px) var(--wk-spacing-md, 12px);
  cursor: pointer;
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

.wk-dept-tree-member:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

.wk-dept-tree-member-selected {
  background-color: #0093f5 !important;
  background-color: var(--wk-color-item-selected, #0093f5) !important;
}

.wk-dept-tree-member-selected .wk-dept-tree-member-name {
  color: #FFFFFF !important;
  color: var(--wk-color-item-selected-text, #FFFFFF) !important;
}

.wk-dept-tree-member-avatar {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  margin-right: 8px;
  margin-right: var(--wk-spacing-sm, 8px);
}

.wk-dept-tree-member-avatar .wk-avatar {
  width: 36px !important;
  height: 36px !important;
}

.wk-dept-tree-member-info {
  flex: 1 1;
  min-width: 0;
}

.wk-dept-tree-member-name {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wk-contacts .organization-tree-node-content {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  margin-left: 12px;
  margin-left: var(--wk-spacing-md, 12px);
  flex: 1 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ===== 联系人分组样式 ===== */
.wk-contacts-section-list {
  padding: 0px 4px;
  padding: 0px var(--wk-spacing-xs, 4px);
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
}

.wk-contacts-section-item-index {
  width: 50px;
  text-align: center;
  font-size: 18px;
  font-size: var(--wk-font-size-title, 18px);
  font-weight: 500;
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
}

.wk-contacts-section-item {
  display: flex;
  align-items: center;
  padding: 16px 16px 16px 0px;
  padding: var(--wk-spacing-lg, 16px) var(--wk-spacing-lg, 16px) var(--wk-spacing-lg, 16px) 0px;
  cursor: pointer;
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

.wk-contacts-section-item:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
}

.wk-contacts-section-item-selected {
  background-color: #0093f5;
  background-color: var(--wk-color-item-selected, #0093f5);
  color: #FFFFFF;
  color: var(--wk-color-item-selected-text, #FFFFFF);
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
}

.wk-contacts-section-item-avatar img {
  width: 44px;
  width: var(--wk-contacts-avatar-size, 44px);
  height: 44px;
  height: var(--wk-contacts-avatar-size, 44px);
  border-radius: 50%;
  border-radius: var(--wk-contacts-avatar-radius, 50%);
}

.wk-contacts-section-item-name {
  margin-left: 16px;
  margin-left: var(--wk-spacing-lg, 16px);
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
}

.wk-contacts-content-fnc {
  width: 100%;
}

.wk-contacts-content-header .wk-search-box {
  width: 100%;
  border-radius: 4px;
  border-radius: var(--wk-radius-sm, 4px);
  -webkit-app-region: no-drag;
}

/* ===== 字母分组头样式 ===== */
.wk-dept-tree-letter-header {
  display: flex;
  align-items: center;
  padding: 4px 12px;
  pointer-events: none;
}

.wk-dept-tree-letter-header-text {
  font-size: 12px;
  font-weight: 600;
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
  padding: 2px 0;
}


/* ===== 内容区域包装器（用于放置索引栏） ===== */
.wk-contacts-content-wrapper {
  display: flex;
  width: 100%;
  height: calc(100% - var(--wk-height-navheader));
  position: relative;
}

.wk-contacts-content-wrapper .wk-contacts-content {
  flex: 1 1;
  height: 100%;
  overflow: auto;
}

/* ===== 字母索引栏 ===== */
.wk-dept-index-bar {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4px 2px;
  background-color: transparent;
  z-index: 100;
}

.wk-dept-index-bar-item {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 500;
  color: #666666;
  color: var(--wk-color-text-secondary, #666666);
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.15s ease-out;
}

.wk-dept-index-bar-item:hover {
  color: #0093f5;
  color: var(--wk-color-primary, #0093f5);
  background-color: rgba(51, 112, 255, 0.1);
}

.wk-dept-index-bar-item.active {
  color: #FFFFFF;
  color: var(--wk-color-item-selected-text, #FFFFFF);
  background-color: #0093f5;
  background-color: var(--wk-color-primary, #0093f5);
}

.wk-dept-index-bar-item.disabled {
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
  cursor: default;
  opacity: 0.4;
}

.wk-dept-index-bar-item.disabled:hover {
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
  background-color: transparent;
}



/**
 * 部门树样式
 * 
 * 实现部门树的视觉效果，使用设计令牌变量。
 * 
 * 需求引用：8.1, 8.2, 8.3, 8.4
 */

.tree-wrap {
  background: #FFFFFF;
  background: var(--wk-color-card, #FFFFFF);
  padding-top: 8px;
  padding-top: var(--wk-spacing-sm, 8px);
  font-family: Arial, Helvetica, sans-serif;
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  overflow: auto;
}

.tree-node {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.tree-node .node-main {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  padding: var(--wk-spacing-sm, 8px) var(--wk-spacing-md, 12px);
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

.tree-node .node-main:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
}

.level-icon {
  margin-right: 16px;
  margin-right: var(--wk-spacing-lg, 16px);
  margin-bottom: 5px;
}

.level-icon-hidden {
  visibility: hidden;
}

.tree-node .node-main.selected {
  background: #0093f5;
  background: var(--wk-color-item-selected, #0093f5);
  border-radius: 8px;
  border-radius: var(--wk-radius-md, 8px);
}

.tree-node .node-main.selected .node-name {
  color: #FFFFFF;
  color: var(--wk-color-item-selected-text, #FFFFFF);
}

.toggle-area {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.caret {
  width: 16px;
  height: 16px;
  transition: transform 200ms ease-out;
  transition: transform var(--wk-transition-normal, 200ms ease-out);
  display: inline-block;
}

.caret.open {
  transform: rotate(180deg);
}

.caret.placeholder {
  opacity: 0.3;
  border-color: transparent;
}

.icon-and-name {
  display: flex;
  align-items: center;
  flex: 1 1;
  min-width: 0;
}

/* 需求 8.2: 部门图标 */
.dept-icon {
  width: 36px;
  height: 36px;
  border-radius: 9999px;
  border-radius: var(--wk-radius-full, 9999px);
  background: #0093f5;
  background: var(--wk-color-primary, #0093f5);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  margin-right: var(--wk-spacing-md, 12px);
  color: #FFFFFF;
  color: var(--wk-color-item-selected-text, #FFFFFF);
  flex-shrink: 0;
}

/* 成员头像 - 与 ContactItem 一致 */
.avatar {
  width: 44px;
  width: var(--wk-contacts-avatar-size, 44px);
  height: 44px;
  height: var(--wk-contacts-avatar-size, 44px);
  border-radius: 50%;
  border-radius: var(--wk-contacts-avatar-radius, 50%);
  overflow: hidden;
  margin-right: 0px;
  background: #F5F7FA;
  background: var(--wk-color-bg, #F5F7FA);
  flex-shrink: 0;
}

.avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.avatar-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
  color: var(--wk-color-item-selected-text, #FFFFFF);
  background: #767676;
  background: var(--wk-color-text-hint, #767676);
}

/* 需求 8.2: 部门/成员名称 */
.node-name {
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
  margin-left: 12px;
  margin-left: var(--wk-spacing-md, 12px);
  flex: 1 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/**
 * 空状态样式
 * 
 * 用于显示列表为空时的友好提示界面。
 * 采用居中布局，包含图标、标题和描述三个部分。
 * 
 * 需求引用：5.7, 7.4
 */

.wk-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--wk-spacing-xxl);
  min-height: 200px;
}

/* 图标区域 */
.wk-empty-state-icon {
  width: 64px;
  height: 64px;
  margin-bottom: var(--wk-spacing-lg);
  opacity: 0.5;
}

.wk-empty-state-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* 标题样式 */
.wk-empty-state-title {
  font-size: var(--wk-font-size-subtitle);
  font-weight: 500;
  color: var(--wk-color-text-secondary);
  margin-bottom: var(--wk-spacing-sm);
}

/* 描述文字样式 */
.wk-empty-state-description {
  font-size: var(--wk-font-size-body);
  color: var(--wk-color-text-hint);
  text-align: center;
  max-width: 240px;
}

/**
 * 功能入口样式
 * 
 * 实现功能入口的视觉效果，包括：
 * - 图标+文字的横向布局（需求 9.1）
 * - 未读数量徽章显示（需求 9.2）
 * - 悬停背景高亮效果（需求 9.3）
 * - 垂直间距 16px（需求 9.4）
 * - 图标尺寸 24px（需求 9.5）
 * - 未读徽章颜色（需求 9.6）
 * 
 * 需求引用：9.1, 9.2, 9.3, 9.4, 9.5, 9.6
 */

/* ===== 功能入口容器 ===== */
/* 需求 9.1：图标+文字的横向布局 */
/* 需求 9.4：使用 --wk-spacing-lg (16px) 作为垂直间距 */
.wk-function-entry {
  display: flex;
  align-items: center;
  height: 56px;
  height: var(--wk-entry-height, 56px);
  padding: 0 16px;
  padding: 0 var(--wk-spacing-lg, 16px);
  background-color: #FFFFFF;
  background-color: var(--wk-color-card, #FFFFFF);
  cursor: pointer;
  transition: background-color 150ms ease-out;
  transition: background-color var(--wk-transition-fast, 150ms ease-out);
}

/* ===== 悬停状态 ===== */
/* 需求 9.3：悬停时显示背景高亮 */
.wk-function-entry:hover {
  background-color: #F5F7FA;
  background-color: var(--wk-color-item-hover, #F5F7FA);
}

/* ===== 图标区域 ===== */
/* 需求 9.5：使用 --wk-icon-size-navigation (24px) 作为图标尺寸 */
.wk-function-entry-icon {
  position: relative;
  width: 24px;
  width: var(--wk-entry-icon-size, 24px);
  height: 24px;
  height: var(--wk-entry-icon-size, 24px);
  flex-shrink: 0;
}

/* 图标图片样式 */
.wk-function-entry-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* ===== 未读徽章 ===== */
/* 需求 9.2：显示未读数量徽章 */
/* 需求 9.6：使用 --wk-color-badge-unread 显示未读徽章 */
.wk-function-entry-badge {
  position: absolute;
  top: -6px;
  right: -8px;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  padding: 0 4px;
  font-size: 10px;
  font-weight: 500;
  color: white;
  background-color: #FA5151;
  background-color: var(--wk-color-badge-unread, #FA5151);
  border-radius: 9999px;
  border-radius: var(--wk-radius-full, 9999px);
  text-align: center;
}

/* ===== 标题区域 ===== */
.wk-function-entry-title {
  flex: 1 1;
  margin-left: 12px;
  margin-left: var(--wk-entry-gap, 12px);
  font-size: 14px;
  font-size: var(--wk-font-size-body, 14px);
  font-weight: 500;
  color: #1A1A1A;
  color: var(--wk-color-text-primary, #1A1A1A);
}

/* ===== 箭头区域 ===== */
.wk-function-entry-arrow {
  color: #767676;
  color: var(--wk-color-text-hint, #767676);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 暗色模式通过 CSS 变量令牌自动切换，无需额外覆盖 */


#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);
  }
}

:root {
  --sider-width: 60px
}

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

.wk-main-content {
    width: calc(100% - 60px
);
    width: calc(100% - var(--sider-width));
    height: 100%;
    background: transparent;
}




.wk-main-sider {
    width: var(--sider-width);
    height: 100%;
    background-color: var(--wk-color-secondary);
    -webkit-app-region: drag;
    position: relative;
}

/* Windows Electron: 用伪元素创建 drag 区域，右上角留空 */
body.wk-electron.wk-platform-windows .wk-main-sider {
    -webkit-app-region: no-drag;
}

body.wk-electron.wk-platform-windows .wk-main-sider::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-app-region: drag;
}


.wk-main-sider-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    position: relative;
}

/* macOS 红绿灯按钮占位区域 */
.wk-main-sider-traffic-light {
    height: 38px;
    width: 100%;
    -webkit-app-region: drag;
    flex-shrink: 0;
}

/* Windows Electron: 隐藏 macOS 红绿灯占位区域 */
body.wk-electron.wk-platform-windows .wk-main-sider-traffic-light {
    display: none;
}

.wk-main-sider-avatar {
    margin-top: 10px;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    -webkit-app-region: no-drag;
    position: relative; /* 为右下角连接状态点提供定位上下文 */
}

.wk-main-sider-avatar img{
    width: 50px;
    height: 50px;
    border-radius: 40%;
}

/* WebSocket 连接状态点：头像右下角小圆点 + 白色描边
   通行做法（Discord / Slack / 微信）：让头像本身承载状态信息，零额外占位 */
.wk-conn-dot {
    position: absolute;
    /* 头像 50×50 的右下角，圆点 10×10，白边 2px——视觉上正好咬住头像边缘 */
    right: 2px;
    bottom: 2px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid #fff;
    border: 2px solid var(--wk-color-secondary, #fff);
    box-sizing: content-box;
    pointer-events: auto;
    z-index: 1;
    transition: background-color 200ms ease;
}

.wk-conn--online    .wk-conn-dot,
.wk-conn-dot.wk-conn--online    { background-color: #22c55e; }
.wk-conn--connecting.wk-conn-dot,
.wk-conn-dot.wk-conn--connecting{ background-color: #f59e0b; animation: wk-conn-pulse 1.2s ease-in-out infinite; }
.wk-conn-dot.wk-conn--offline   { background-color: #9ca3af; }
.wk-conn-dot.wk-conn--fail,
.wk-conn-dot.wk-conn--kicked    { background-color: #ef4444; }

@keyframes wk-conn-pulse {
    0%,100% { opacity: 1;   transform: scale(1);    }
    50%     { opacity: 0.55; transform: scale(0.85); }
}


.wk-main-sider-item {
    width: 32px;
    height: 32px;
    margin-top: 30px;
    cursor: pointer;
    position: relative;
    -webkit-app-region: no-drag;
}

.wk-main-sider-item img{
    width: 24px;
    height: 24px;
}

.wk-main-sider-setting-box {
    position: absolute;
    bottom: 30px;
    -webkit-app-region: no-drag;
}

.wk-main-sider-setting {
    width: 32px;
    height: 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}



.wk-sider-setting-position-re {
    position: relative;
}

/* 侧边栏汉堡菜单图标 */
.wk-icon-bar {
    width: 24px;
    height: 2px;
    margin: 5px 10px 0;
    background-color: var(--wk-color-icon-default);
}

.wk-icon-bar:nth-child(2n-1) {
    transform: rotateZ( 0deg);
    transition: background-color 0.2s, transform 0.2s;
}

.wk-main-sider-setting.collapsed .wk-icon-bar:nth-child(1) {
    top: 7px;
    transform: rotateZ(45deg);
}

.wk-main-sider-setting.collapsed .wk-icon-bar:nth-child(2) {
   background-color: transparent;
}

.wk-main-sider-setting.collapsed .wk-icon-bar:nth-child(3) {
    top: -7px;
    transform: rotateZ(-45deg);
}

/* 侧边栏设置弹出菜单（固定深色样式，不跟随主题变化） */
.wk-sider-setting-list {
    position: absolute;
    left: var(--sider-width);
    bottom: 0;
    z-index: 1;
    width: 140px;
    box-shadow: rgb(0 0 0 / 50%) 2px 5px 8px;
    color: #fdfdfd;
    background-color: #333;
   border-radius: 4px;

   transform: scale(0);
   transition: opacity .2s cubic-bezier(.2,0,.2,1),transform .2s cubic-bezier(.2,0,.2,1)!important;
   transform-origin: left bottom;
}

.wk-sider-setting-list.open {
    transform: scale(1);
}

.wk-sider-setting-list li {
    height: 46px;
    display: flex;
   align-items: center;
   padding-left: 20px;
   cursor: pointer;
}

.wk-main-sider-item-badge {
    position: absolute;
    top: -15px;
    right: -5px;
}


.wk-versioncheckview-updateinfo {
    font-weight: 500;
}

.wk-versioncheckview-updateinfo  li {
    margin-bottom: 10px;
}

.wk-versioncheckview-tip {
    border-top: var(--wk-line);
}

.wk-versioncheckview-tip-title {
    margin-top: 15px;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px;
}

.wk-versioncheckview-tip-content {
    margin-bottom: 40px;
}

.wk-versioncheckview-tip-content li {
    margin-bottom: 10px;
}

.wk-main-sider-setting-badge {
    position: absolute;
    right: 5px;
    top: -10px;
}

/* 未读小红点（无数字） */
.wk-unread-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #FA5151;
    background-color: var(--wk-color-badge-unread, #FA5151);
}


.wk-main-sider-modal .semi-modal-content  {
    border: none !important;
    padding: 0px !important;
  }
  
  .wk-main-sider-modal .semi-modal-close {
      display: none;
  }
  
  .wk-main-sider-modal .semi-modal-body-wrapper {
      margin: 0px;
  }
  
  /* .wk-base-modal-userinfo .semi-modal-body{
    height: 500px;
  } */

  .wk-main-sider-meinfo .semi-modal-body {
    height: 500px;
  }


/* ===== 外观设置弹窗样式 ===== */
.wk-appearance-modal .semi-modal-content {
  border-radius: 16px !important;
}

.wk-appearance-modal .semi-modal-header {
  padding: 24px 28px 8px;
  border-bottom: none;
}

.wk-appearance-modal .semi-modal-header .semi-modal-header-text {
  font-size: 17px;
  font-weight: 600;
}

.wk-appearance-modal .semi-modal-body {
  padding: 12px 28px 28px;
}

.wk-appearance-options {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 16px 20px;
  gap: 16px 20px;
}

.wk-appearance-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  border-radius: 12px;
  transition: transform 150ms ease-out;
}

.wk-appearance-option:hover {
  transform: translateY(-1px);
}

.wk-appearance-option:active {
  transform: scale(0.98);
}

/* 选中高亮使用主题色令牌，自动适配所有主题 */
.wk-appearance-option.selected .wk-appearance-preview {
  border-color: var(--wk-color-theme);
  box-shadow: 0 0 0 2px var(--wk-color-theme);
}

.wk-appearance-preview {
  width: 100%;
  height: 90px;
  border-radius: 10px;
  border: 2.5px solid transparent;
  overflow: hidden;
  display: flex;
  transition: all 180ms ease-out;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.wk-appearance-option:hover .wk-appearance-preview {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* 白天模式预览 */
.wk-appearance-preview-light {
  background: linear-gradient(135deg, #E3F2FD 0%, #F3E5F5 100%);
}

.wk-appearance-preview-light .wk-preview-sidebar {
  width: 30px;
  background-color: #FAFBFC;
  padding: 8px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.wk-appearance-preview-light .wk-preview-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #0093f5;
}

.wk-appearance-preview-light .wk-preview-dot.small {
  width: 8px;
  height: 8px;
}

.wk-appearance-preview-light .wk-preview-line {
  width: 16px;
  height: 4px;
  border-radius: 2px;
  background-color: #E8E8E8;
}

.wk-appearance-preview-light .wk-preview-line.short {
  width: 24px;
}

.wk-appearance-preview-light .wk-preview-content {
  flex: 1 1;
  padding: 8px;
  display: flex;
  flex-direction: column;
}

.wk-appearance-preview-light .wk-preview-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

.wk-appearance-preview-light .wk-preview-messages {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 4px;
}

.wk-appearance-preview-light .wk-preview-msg {
  height: 12px;
  border-radius: 6px;
}

.wk-appearance-preview-light .wk-preview-msg.recv {
  width: 40px;
  background-color: white;
}

.wk-appearance-preview-light .wk-preview-msg.send {
  width: 50px;
  background-color: #0093f5;
  align-self: flex-end;
}

/* 夜间模式预览（QQ 风格 - 偏灰色调） */
.wk-appearance-preview-dark {
  background: 
    radial-gradient(ellipse at 85% 5%, rgba(60, 55, 68, 0.2) 0%, transparent 45%),
    radial-gradient(ellipse at 95% 90%, rgba(45, 58, 52, 0.15) 0%, transparent 45%),
    radial-gradient(ellipse at 10% 10%, rgba(48, 52, 60, 0.15) 0%, transparent 40%),
    linear-gradient(170deg, #2E3035 0%, #2C2E33 35%, #2B2D31 65%, #2A2C30 100%);
}

.wk-appearance-preview-dark .wk-preview-sidebar {
  width: 30px;
  background-color: #2B2D31;
  padding: 8px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.wk-appearance-preview-dark .wk-preview-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #0093f5;
}

.wk-appearance-preview-dark .wk-preview-dot.small {
  width: 8px;
  height: 8px;
  background-color: #8A8A8A;
}

.wk-appearance-preview-dark .wk-preview-line {
  width: 16px;
  height: 4px;
  border-radius: 2px;
  background-color: rgba(255, 255, 255, 0.1);
}

.wk-appearance-preview-dark .wk-preview-line.short {
  width: 24px;
  background-color: #8A8A8A;
}

.wk-appearance-preview-dark .wk-preview-content {
  flex: 1 1;
  padding: 8px;
  display: flex;
  flex-direction: column;
}

.wk-appearance-preview-dark .wk-preview-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

.wk-appearance-preview-dark .wk-preview-messages {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 4px;
}

.wk-appearance-preview-dark .wk-preview-msg {
  height: 12px;
  border-radius: 6px;
}

.wk-appearance-preview-dark .wk-preview-msg.recv {
  width: 40px;
  background-color: #2A2B2B;
}

.wk-appearance-preview-dark .wk-preview-msg.send {
  width: 50px;
  background-color: #0167CC;
  align-self: flex-end;
}

/* 跟随系统预览 - 左右分割（QQ 风格） */
.wk-appearance-preview-system {
  display: flex;
  overflow: hidden;
}

.wk-appearance-preview-system .wk-preview-half-light {
  width: 50%;
  background: linear-gradient(135deg, #E3F2FD 0%, #F3E5F5 100%);
  display: flex;
}

.wk-appearance-preview-system .wk-preview-half-light .wk-preview-sidebar {
  width: 24px;
  background-color: #FAFBFC;
  padding: 8px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.wk-appearance-preview-system .wk-preview-half-light .wk-preview-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #0093f5;
}

.wk-appearance-preview-system .wk-preview-half-light .wk-preview-line {
  width: 12px;
  height: 3px;
  border-radius: 2px;
  background-color: #E8E8E8;
}

.wk-appearance-preview-system .wk-preview-half-light .wk-preview-content {
  flex: 1 1;
  padding: 8px 4px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.wk-appearance-preview-system .wk-preview-half-light .wk-preview-msg.recv {
  width: 28px;
  height: 10px;
  border-radius: 5px;
  background-color: white;
}

.wk-appearance-preview-system .wk-preview-half-dark {
  width: 50%;
  background: 
    radial-gradient(ellipse at 85% 5%, rgba(60, 55, 68, 0.2) 0%, transparent 45%),
    radial-gradient(ellipse at 95% 90%, rgba(45, 58, 52, 0.15) 0%, transparent 45%),
    radial-gradient(ellipse at 10% 10%, rgba(48, 52, 60, 0.15) 0%, transparent 40%),
    linear-gradient(170deg, #2E3035 0%, #2C2E33 35%, #2B2D31 65%, #2A2C30 100%);
  display: flex;
}

.wk-appearance-preview-system .wk-preview-half-dark .wk-preview-content {
  flex: 1 1;
  padding: 8px 4px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
}

.wk-appearance-preview-system .wk-preview-half-dark .wk-preview-msg.send {
  width: 32px;
  height: 10px;
  border-radius: 5px;
  background-color: #0167CC;
}

.wk-appearance-label {
  margin-top: 10px;
  font-size: 13px;
  color: var(--wk-color-text-secondary);
  transition: color 150ms ease-out;
}

.wk-appearance-option.selected .wk-appearance-label {
  color: var(--wk-color-theme);
  font-weight: 600;
}


/* 樱花模式预览 */
.wk-appearance-preview-pink {
  background:
    radial-gradient(ellipse at 80% 10%, rgba(255, 182, 213, 0.3) 0%, transparent 50%),
    linear-gradient(155deg, #FFF0F5 0%, #FFF5FA 50%, #F8EEF5 100%);
}

.wk-appearance-preview-pink .wk-preview-sidebar {
  width: 30px;
  background-color: #FFE4EE;
  padding: 8px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.wk-appearance-preview-pink .wk-preview-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #E8457A;
}

.wk-appearance-preview-pink .wk-preview-dot.small {
  width: 8px;
  height: 8px;
  background-color: #C8A8B8;
}

.wk-appearance-preview-pink .wk-preview-line {
  width: 16px;
  height: 4px;
  border-radius: 2px;
  background-color: #F5C6D8;
}

.wk-appearance-preview-pink .wk-preview-line.short {
  width: 24px;
  background-color: #C8A8B8;
}

.wk-appearance-preview-pink .wk-preview-content {
  flex: 1 1;
  padding: 8px;
  display: flex;
  flex-direction: column;
}

.wk-appearance-preview-pink .wk-preview-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

.wk-appearance-preview-pink .wk-preview-messages {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 4px;
}

.wk-appearance-preview-pink .wk-preview-msg {
  height: 12px;
  border-radius: 6px;
}

.wk-appearance-preview-pink .wk-preview-msg.recv {
  width: 40px;
  background-color: #FFFFFF;
  border: 1px solid #F5C6D8;
}

.wk-appearance-preview-pink .wk-preview-msg.send {
  width: 50px;
  background: linear-gradient(135deg, #E8457A, #F06B95);
  align-self: flex-end;
}

/* 登录页样式 - 使用主题令牌变量，不包含 body[theme-mode] 覆盖 */

.wk-login-page {
    height: 100vh;
    width: 100vw;
    /* 暗色主题通过 --wk-login-page-bg-image 令牌覆盖为深色渐变 */
    background-image: url(../../static/media/bg.10d5a005a12e4e9f23ac.png);
    background-image: var(--wk-login-page-bg-image, url(../../static/media/bg.10d5a005a12e4e9f23ac.png));
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
    position: relative;
    -webkit-app-region: drag;
}

/* Windows Electron: 用伪元素创建 drag 区域，右上角留空 */
body.wk-electron.wk-platform-windows .wk-login-page {
    -webkit-app-region: no-drag;
}

body.wk-electron.wk-platform-windows .wk-login-page::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 140px;
    bottom: 0;
    -webkit-app-region: drag;
    pointer-events: none;
}

/* Windows 窗口控制按钮定位 */
.wk-login-window-controls {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9999;
    -webkit-app-region: no-drag;
    pointer-events: auto;
}

.wk-login-container {
    width: 900px;
    height: 500px;
    display: flex;
    background-color: var(--wk-login-card-bg);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0px 16px 48px 0px rgba(0,0,0,0.12);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    -webkit-app-region: no-drag;
}

.wk-login-left {
    flex: 1 1;
    padding: 68px 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.wk-login-right {
    flex: 1 1;
    padding: 42px 26px 24px 26px;
    transition: background-color 0.3s ease;
}

.wk-login-content {
    width: 320px;
}

.wk-login-content-qrcode-login {
    height: 294px;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.wk-login-content-qrcode-login.wk-login-content-active {
    display: flex;
}

.wk-login-content-phone-login {
    display: none;
}

.wk-login-content-phone-login.wk-login-content-active {
    display: block;
}

.wk-login-content-slogan {
    text-align: center;
    font-weight: 600;
    font-size: 24px;
    color: var(--wk-login-text);
    line-height: 34px;
    margin-bottom: 8px;
    transition: color 0.3s ease;
}

.wk-login-content-subtitle {
    text-align: center;
    font-size: 13px;
    color: var(--wk-login-text-secondary);
    line-height: 20px;
    margin-bottom: 12px;
    transition: color 0.3s ease;
}

.wk-login-content-qrcode {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* 二维码卡片：始终白底，保证暗色模式下识别率与观感 */
.wk-login-qrcode-card {
    padding: 14px;
    background: #FFFFFF;
    border: 1px solid var(--wk-login-input-border);
    box-shadow: 0px 8px 24px 0px rgba(0,0,0,0.08);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wk-login-content-qrcode-tip {
    font-size: 13px;
    color: var(--wk-login-text-secondary);
    line-height: 20px;
    margin-top: 18px;
    transition: color 0.3s ease;
}

.wk-login-button {
    margin: 26px 0;
    width: 100%;
    height: 50px;
    background: var(--wk-color-link);
    border-radius: 10px;
    font-size: 16px;
    color: var(--wk-color-card);
}

.wk-login-bottom {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
}

.wk-login-bottom .semi-typography {
    cursor: pointer;
    font-size: 13px;
    color: var(--wk-color-link);
    transition: opacity 0.2s ease;
}

.wk-login-bottom .semi-typography:hover {
    opacity: 0.75;
    text-decoration: underline;
}

.wk-login-carousel {
    width: 358px;
    height: 434px;
    background-color: var(--wk-login-card-bg);
    border-radius: 12px;
    overflow: hidden;
    transition: background-color 0.3s ease;
}

.wk-login-carousel-slide {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--wk-login-card-bg);
    transition: background-color 0.3s ease;
}

.wk-login-carousel-content {
    height: 100%;
    padding: 54px 58px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.wk-login-carousel-content h3 {
    color: var(--wk-login-text);
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 10px;
    line-height: 28px;
    transition: color 0.3s ease;
}

.wk-login-carousel-content p {
    margin: 0;
    font-size: 14px;
    color: var(--wk-login-text-secondary);
    line-height: 22px;
    transition: color 0.3s ease;
}

.wk-login-carousel .semi-carousel-indicator-item {
    width: 14px;
    height: 2px;
    background: var(--wk-color-divider);
    border-radius: 2px;
    transition: background-color 0.3s ease;
}

.wk-login-carousel .semi-carousel-indicator-item-active {
    background: var(--wk-color-text-secondary) !important;
}

.wk-login-carousel .semi-carousel-indicator-center {
    bottom: 20px;
}

.wk-login-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wk-login-input {
    font-size: 14px;
    height: 52px;
    border: 1px solid var(--wk-login-input-border);
    background: var(--wk-login-input-bg);
    border-radius: 8px;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.wk-login-input input {
    height: 100%;
    padding: 0 24px;
    color: var(--wk-login-text);
}

.wk-login-input input::-moz-placeholder {
    color: var(--wk-login-text-secondary);
}

.wk-login-input input::placeholder {
    color: var(--wk-login-text-secondary);
}

.wk-login-input .semi-input-prefix {
    height: 100%;
    margin-right: 12px;
}

.wk-login-input .semi-input-suffix {
    flex-shrink: 0;
    margin-right: 24px;
}

.wk-login-input .semi-select-selection {
    margin-left: 24px;
}

.wk-login-input .semi-select {
    background-color: transparent;
    border: none;
}

.wk-login-input .semi-select .semi-select-selection-text {
    color: var(--wk-login-text);
}

.wk-login-input .semi-select-arrow {
    margin-left: 0;
}

.wk-login-phone-input {
    width: 100%;
}

.wk-login-phone-input .semi-input-wrapper {
    flex: 1 1;
}

.wk-login-zone-selector {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    background-color: var(--wk-login-input-bg);
    cursor: pointer;
    min-width: 80px;
}

.wk-login-zone-selector:hover {
    border-color: var(--wk-color-link);
}

.wk-login-zone-flag {
    font-size: 16px;
}

.wk-login-zone-code {
    font-size: 14px;
    color: var(--wk-color-text-secondary);
}

.wk-login-zone-arrow {
    color: var(--wk-login-text-secondary);
    transition: transform 0.2s;
}

.wk-login-phone-number {
    flex: 1 1;
    height: 54px;
    border-radius: 8px;
    border: 1px solid var(--wk-color-divider);
    background-color: var(--wk-login-input-bg);
    font-size: 16px;
    text-align: center;
    outline: none;
    padding: 0 16px;
}

.wk-login-phone-number:focus {
    border-color: var(--wk-color-link);
    background-color: var(--wk-login-card-bg);
}

.wk-login-verify-input {
    display: flex;
    gap: 8px;
}

.wk-login-verify-button {
    cursor: pointer;
    color: var(--wk-color-primary);
    transition: color 0.3s ease;
}

.wk-login-switch {
    cursor: pointer;
}

