body .simen-global-chat-dock{
    --simen-global-chat-panel-width:390px;
    position:fixed;
    right:18px;
    bottom:0;
    z-index:9997;
    width:390px;
    color:var(--cs-text, #e8efea);
    transition:width .28s cubic-bezier(.18,.84,.24,1);
}

body .simen-global-chat-dock[data-chat-open="1"]{
    width:var(--simen-global-chat-panel-width);
}
body .simen-global-chat-toggle{
    box-sizing:border-box;
    position:relative;
    z-index:2;
    width:100%;
    height:44px;
    padding:0 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:1px solid var(--cs-glass-border, rgba(255,255,255,.13));
    border-bottom:0;
    border-radius:12px 12px 0 0;
    color:#f2f7f4;
    background:rgba(0, 0, 0, 0.34);
    box-shadow:0 -7px 24px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter:blur(12px) saturate(95%);
    -webkit-backdrop-filter:blur(12px) saturate(95%);
    cursor:pointer;
    font-size:13px;
    font-weight:800;
    letter-spacing:.01em;
    transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
body .simen-global-chat-toggle:hover{
    border-color:var(--cs-glass-border, rgba(255,255,255,.13));
    background:rgba(255,255,255,.055);
}
body .simen-global-chat-dock[data-chat-open="1"] .simen-global-chat-toggle{
    border-radius:0;
    border-top-color:rgba(255,255,255,.09);
    box-shadow:0 -5px 16px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.06);
}
body .simen-global-chat-toggle-left{
    min-width:0;
    display:flex;
    align-items:center;
    gap:8px;
}
body .simen-global-chat-unread{
    min-height:19px;
    padding:2px 7px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(111,214,93,.24);
    border-radius:9px;
    background:rgba(111,214,93,.10);
    color:#8bea7a;
    font-size:9px;
    font-weight:800;
    line-height:13px;
    white-space:nowrap;
}
body .simen-global-chat-unread[hidden]{display:none !important;}
body .simen-global-chat-toggle-state{
    color:rgba(224,232,227,.66);
    font-size:17px;
    line-height:1;
    transition:transform .28s cubic-bezier(.2,.8,.2,1),color .18s ease;
}
body .simen-global-chat-toggle:hover .simen-global-chat-toggle-state{color:rgba(224,232,227,.78);}
body .simen-global-chat-dock[data-chat-open="1"] .simen-global-chat-toggle-state{transform:rotate(180deg);}
body .simen-global-chat-panel{
    box-sizing:border-box;
    position:absolute;
    left:auto;
    right:0;
    bottom:44px;
    width:var(--simen-global-chat-panel-width);
    height:min(590px,calc(100vh - 62px));
    min-height:430px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--cs-glass-border, rgba(255,255,255,.13));
    border-bottom:0;
    border-radius:12px 12px 0 0;
    background:
        radial-gradient(circle at 14% 0%,rgba(111,214,93,.055),transparent 34%),
        linear-gradient(135deg,rgba(0,22,38,.76),rgba(255,255,255,.055),rgba(0,0,0,.52));
    box-shadow:0 -16px 44px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.07);
    backdrop-filter:blur(15px) saturate(92%);
    -webkit-backdrop-filter:blur(15px) saturate(92%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(18px) scale(.985);
    transform-origin:bottom right;
    transition:
        opacity .24s ease,
        transform .32s cubic-bezier(.18,.84,.24,1),
        visibility 0s linear .32s;
}
body .simen-global-chat-dock[data-chat-open="1"] .simen-global-chat-panel{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
    transition:
        opacity .22s ease,
        transform .32s cubic-bezier(.18,.84,.24,1),
        visibility 0s linear 0s;
}
body .simen-global-chat-resize-handle{
    position:absolute;
    z-index:8;
    display:block;
    touch-action:none;
    opacity:.16;
    transition:opacity .16s ease,background .16s ease;
}
body .simen-global-chat-panel:hover .simen-global-chat-resize-handle{opacity:.48;}
body .simen-global-chat-resize-handle.is-left{
    left:0;
    top:22px;
    bottom:18px;
    width:7px;
    cursor:ew-resize;
}
body .simen-global-chat-resize-handle.is-left::before{
    content:"";
    position:absolute;
    left:1px;
    top:10px;
    bottom:10px;
    width:1px;
    background:rgb(224 225 225 / 22%);
}
body .simen-global-chat-resize-handle.is-top{
    left:24px;
    right:18px;
    top:0;
    height:7px;
    cursor:ns-resize;
}
body .simen-global-chat-resize-handle.is-top::before{
    content:"";
    position:absolute;
    left:10px;
    right:10px;
    top:1px;
    height:1px;
    background:rgb(224 225 225 / 22%);
}
body .simen-global-chat-resize-handle.is-corner{
    left:0;
    top:0;
    width:25px;
    height:25px;
    cursor:nwse-resize;
    opacity:.92;
}
body .simen-global-chat-panel:hover .simen-global-chat-resize-handle.is-corner{opacity:1;}
body .simen-global-chat-resize-handle.is-corner::before,
body .simen-global-chat-resize-handle.is-corner::after{
    content:"";
    position:absolute;
    border-left-style:solid;
    border-top-style:solid;
    border-radius:2px 0 0 0;
    pointer-events:none;
}
body .simen-global-chat-resize-handle.is-corner::before{
    left:5px;
    top:5px;
    width:12px;
    height:12px;
    border-left-width:2px;
    border-top-width:2px;
    border-left-color:rgb(224 225 225 / 62%);
    border-top-color:rgb(224 225 225 / 62%);
}
body .simen-global-chat-resize-handle.is-corner::after{
    left:9px;
    top:9px;
    width:7px;
    height:7px;
    border-left-width:1px;
    border-top-width:1px;
    border-left-color:rgb(224 225 225 / 38%);
    border-top-color:rgb(224 225 225 / 38%);
}
body.simen-global-chat-resizing,
body.simen-global-chat-resizing *{
    user-select:none !important;
    -webkit-user-select:none !important;
}
body.simen-global-chat-resizing .simen-global-chat-dock{
    transition:none !important;
}
body .simen-global-chat-tabs{
    flex:0 0 42px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-bottom:1px solid rgba(255,255,255,.10);
    background:rgba(0,0,0,.16);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
body .simen-global-chat-tab{
    position:relative;
    border:0;
    background:transparent;
    color:rgba(224,232,227,.58);
    cursor:pointer;
    font-size:12px;
    font-weight:800;
    transition:color .18s ease,background .18s ease;
}
body .simen-global-chat-tab:hover{color:#dfe9e2;background:rgba(255,255,255,.025);}
body .simen-global-chat-tab::after{
    content:"";
    position:absolute;
    left:22%;
    right:22%;
    bottom:0;
    height:2px;
    border-radius:2px 2px 0 0;
    background:transparent;
}
body .simen-global-chat-tab.is-active{color:#8bea7a;}
body .simen-global-chat-tab.is-active::after{background:#6FD65D;box-shadow:0 0 9px rgba(111,214,93,.34);}
body .simen-global-chat-list-wrap{
    position:relative;
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:rgba(0,0,0,.08);
}
body .simen-global-chat-list{
    flex:1 1 auto;
    min-height:0;
    height:auto;
    overflow-y:auto;
    padding:10px 10px 18px;
    scroll-padding-bottom:18px;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.16) transparent;
    overscroll-behavior:contain;
}
body .simen-global-chat-list::-webkit-scrollbar{width:6px;}
body .simen-global-chat-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:6px;}
body .simen-global-chat-empty,
body .simen-global-chat-error{
    padding:52px 18px;
    text-align:center;
    color:var(--cs-text-light, rgba(224,232,227,.62));
    font-size:11px;
    line-height:1.7;
}
body .simen-global-chat-error{color:#ef9994;}
body .simen-global-chat-loading-mask{
    position:absolute;
    inset:0;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(2,12,18,.16);
    backdrop-filter:blur(1.2px);
    -webkit-backdrop-filter:blur(1.2px);
}
body .simen-global-chat-loading-mask[hidden]{display:none !important;}
body .simen-global-chat-spinner{
    width:22px;
    height:22px;
    border:2px solid rgba(255,255,255,.15);
    border-top-color:#6FD65D;
    border-radius:50%;
    box-shadow:0 0 12px rgba(111,214,93,.12);
    animation:simenGlobalChatSpin .68s linear infinite;
}
@keyframes simenGlobalChatSpin{to{transform:rotate(360deg);}}
body .simen-global-chat-entry{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    column-gap:8px;
    padding:8px;
    margin:0 0 7px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:8px;
    background:var(--cs-inner-bg, rgba(10,18,20,.78));
    box-shadow:0 4px 12px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.035);
    backdrop-filter:blur(8px) saturate(75%);
    -webkit-backdrop-filter:blur(8px) saturate(75%);
    transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
body .simen-global-chat-entry:last-child{margin-bottom:0;}
body .simen-global-chat-entry:hover{
    border-color:rgba(255,255,255,.15);
    background:linear-gradient(135deg,rgba(0,0,0,.34),rgba(255,255,255,.055));
    transform:translateY(-1px);
}

@keyframes simenGlobalChatArrivalPulse{
    0%,100%{
        background:var(--cs-inner-bg, rgba(10,18,20,.78));
    }
    48%{
        background:rgba(255,255,255,.13);
    }
}
body .simen-global-chat-entry.is-live-arrival{
    /* 新消息只让整张卡片做一次白色半透明呼吸，不改变边框颜色。 */
    animation:simenGlobalChatArrivalPulse 1.05s ease-in-out 1;
}
@media (prefers-reduced-motion: reduce){
    body .simen-global-chat-entry.is-live-arrival{animation:none;}
}
body .simen-global-chat-avatar-link{
    width:38px;
    height:38px;
    display:block;
    overflow:hidden;
    border-radius:6px;
    align-self:start;
}
body .simen-global-chat-avatar{
    width:38px;
    height:38px;
    display:block;
    object-fit:cover;
    border-radius:6px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(0,0,0,.32);
}
body .simen-global-chat-entry-main{min-width:0;}
body .simen-global-chat-entry-head{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin:0 0 4px;
}
body .simen-global-chat-entry-who{
    min-width:0;
    display:flex;
    align-items:center;
    gap:5px;
    overflow:hidden;
}
body .simen-global-chat-name{
    min-width:0;
    max-width:160px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#6FD65D;
    font-size:11px;
    font-weight:800;
    line-height:16px;
    text-decoration:none;
    text-shadow:0 1px 4px rgba(0,0,0,.44);
}
body .simen-global-chat-name:hover{color:#8bea7a;}
body .simen-global-chat-entry.is-admin .simen-global-chat-name{
    background:linear-gradient(90deg,#00ffdc,#f723f0);
    background-clip:text;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
}
body .simen-global-chat-origin,
body .simen-global-chat-date{display:none !important;}
body .simen-global-chat-meta{
    flex:0 0 auto;
    margin-left:auto;
    color:rgb(224 225 225 / 58%);
    font-size:10px;
    font-weight:500;
    line-height:16px;
    white-space:nowrap;
    text-align:right;
}
body .simen-global-chat-message{
    width:100%;
    max-width:100%;
    color:rgba(238,244,240,.90);
    font-size:11px;
    line-height:1.48;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    word-break:break-word;
}
body .simen-global-chat-pager{
    flex:0 0 40px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:5px 8px;
    border-top:1px solid rgba(255,255,255,.09);
    background:rgba(0,0,0,.16);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
body .simen-global-chat-pager[hidden]{display:none !important;}
body .simen-global-chat-page-btn{
    min-width:28px;
    height:26px;
    padding:0 7px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:6px;
    background:rgba(255,255,255,.035);
    color:rgba(238,244,240,.76);
    cursor:pointer;
    font-size:15px;
    line-height:24px;
    transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;
}
body .simen-global-chat-page-wide{min-width:42px;font-size:10px;font-weight:700;}
body .simen-global-chat-page-btn:hover:not(:disabled){border-color:rgba(111,214,93,.35);background:rgba(111,214,93,.08);color:#8bea7a;transform:translateY(-1px);}
body .simen-global-chat-page-btn:disabled{opacity:.28;cursor:default;}
body .simen-global-chat-page-jump{
    height:26px;
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:0 6px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:6px;
    background:rgba(255,255,255,.025);
    color:var(--cs-text-light, rgba(224,232,227,.62));
    font-size:9px;
    white-space:nowrap;
}
body .simen-global-chat-page-jump input{
    width:34px;
    height:20px;
    padding:0 3px;
    border:0;
    border-bottom:1px solid rgba(111,214,93,.24);
    outline:0;
    background:transparent;
    color:#eef4ef;
    text-align:center;
    font-size:10px;
    appearance:textfield;
    -moz-appearance:textfield;
}
body .simen-global-chat-page-jump input::-webkit-outer-spin-button,
body .simen-global-chat-page-jump input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
body .simen-global-chat-page-jump input:focus{border-bottom-color:#6FD65D;}
body .simen-global-chat-newer{
    flex:0 0 auto;
    padding:5px 10px 0;
    background:transparent;
    text-align:center;
}
body .simen-global-chat-newer[hidden]{display:none !important;}
body .simen-global-chat-newer button{
    border:1px solid rgba(111,214,93,.24);
    padding:4px 11px;
    border-radius:11px;
    color:#8bea7a;
    background:rgba(111,214,93,.08);
    cursor:pointer;
    font-size:9px;
    font-weight:800;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
body .simen-global-chat-newer button:hover{background:rgba(111,214,93,.14);border-color:rgba(111,214,93,.38);}
body .simen-global-chat-compose[hidden]{display:none !important;}
body .simen-global-chat-dock.is-initial-loading .simen-global-chat-newer,
body .simen-global-chat-dock.is-initial-loading .simen-global-chat-pager{display:none !important;}
body .simen-global-chat-compose{
    box-sizing:border-box;
    flex:0 0 auto;
    margin:0;
    padding:8px 10px 9px;
    border-top:1px solid rgba(255,255,255,.09);
    background:rgba(0,0,0,.17);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
}
body .simen-global-chat-access-note{
    min-height:10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:11px 10px;
    text-align:center;
}
body .simen-global-chat-access-title{
    color:#4CAF50;
    font-size:11px;
    font-weight:700;
    line-height:1.45;
}
body .simen-global-chat-access-copy{
    color:rgb(182 187 187);
    font-size:11px;
    line-height:1.45;
}
body .simen-global-chat-access-note[hidden],
body .simen-global-chat-compose-controls[hidden]{display:none !important;}
body .simen-global-chat-compose-controls{display:block;}
body .simen-global-chat-compose textarea{
    width:100%;
    height:54px;
    min-height:54px;
    max-height:92px;
    resize:vertical;
    display:block;
    padding:8px 9px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:7px;
    outline:none;
    background:rgba(0,0,0,.24);
    color:#eef4ef;
    box-shadow:inset 0 1px 8px rgba(0,0,0,.14);
    font:11px/1.45 inherit;
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
body .simen-global-chat-compose textarea::placeholder{color:rgba(224,232,227,.38);}
body .simen-global-chat-compose textarea:focus{
    border-color:rgba(111,214,93,.42);
    background:rgba(0,0,0,.31);
    box-shadow:0 0 0 3px rgba(111,214,93,.08),inset 0 1px 8px rgba(0,0,0,.14);
}
body .simen-global-chat-compose textarea:disabled{
    opacity:1;
    cursor:default;
    color:rgba(224,232,227,.58);
    background:rgba(0,0,0,.18);
    border-color:rgba(255,255,255,.09);
}
body .simen-global-chat-compose.is-guest .simen-global-chat-byte-count{
    color:rgba(224,232,227,.50);
}
body .simen-global-chat-compose-foot{
    min-height:30px;
    display:flex;
    align-items:center;
    gap:7px;
    padding-top:6px;
}
body .simen-global-chat-byte-count{flex:0 0 auto;color:rgba(224,232,227,.44);font-size:9px;}
body .simen-global-chat-byte-count.is-over{color:#ef9994;}
body .simen-global-chat-status{
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--cs-text-light, rgba(224,232,227,.62));
    font-size:9px;
}
body .simen-global-chat-status.is-ok{color:#8bea7a;}
body .simen-global-chat-status.is-error{color:#ef9994;}
body .simen-global-chat-send{
    flex:0 0 auto;
    height:28px;
    min-width:56px;
    padding:0 12px;
    border:1px solid rgba(111,214,93,.34);
    border-radius:6px;
    background:#4CAF50;
    color:#fff;
    box-shadow:0 6px 15px rgba(76,175,80,.18),inset 0 1px 0 rgba(255,255,255,.12);
    cursor:pointer;
    font-size:10px;
    font-weight:800;
    transition:background .16s ease,box-shadow .16s ease,transform .16s ease;
}
body .simen-global-chat-send:hover{background:#5ac85e;box-shadow:0 8px 18px rgba(76,175,80,.25);transform:translateY(-1px);}
body .simen-global-chat-send:active{transform:translateY(0);}
body .simen-global-chat-send:disabled{opacity:.5;cursor:default;transform:none;}
@media (max-width:720px){
    body .simen-global-chat-dock{--simen-global-chat-panel-width:100%;right:8px;bottom:0;width:calc(100vw - 16px) !important;}
    body .simen-global-chat-toggle{width:100%;}
    body .simen-global-chat-panel{right:0;width:100% !important;height:min(570px,calc(100vh - 52px)) !important;}
    body .simen-global-chat-resize-handle{display:none !important;}
    body .simen-global-chat-name{max-width:130px;}
    body .simen-global-chat-page-wide{min-width:38px;padding:0 5px;}
    body .simen-global-chat-pager{gap:4px;padding-left:5px;padding-right:5px;}
}

