#chatFab{position:fixed;right:8rem;bottom:5rem;z-index:40;width:48px;height:48px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand, #f97316),var(--brand-dark, #ea580c));color:#fff;font-size:1.05rem;box-shadow:0 6px 16px -4px color-mix(in srgb,var(--brand, #f97316) 55%,transparent);transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease;user-select:none;-webkit-user-select:none}@media(min-width:768px){#chatFab{right:8rem;bottom:1.25rem}}#chatFab:hover{transform:translateY(-2px) scale(1.06)}#chatFab:active{transform:scale(.94)}#chatFabDot{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#f43f5e;color:#fff;font-size:10px;font-weight:800;line-height:18px;text-align:center;border:2px solid #fff;user-select:none;pointer-events:none}#chatFab.has-unread i{animation:chatFabShake 1.2s ease-in-out infinite}@keyframes chatFabShake{0%,88%,to{transform:rotate(0)}90%{transform:rotate(-12deg)}93%{transform:rotate(10deg)}96%{transform:rotate(-6deg)}}#chatWidget{position:fixed;right:1rem;bottom:10.5rem;z-index:60;width:min(370px,calc(100vw - 1.5rem));height:min(560px,calc(100dvh - 9rem));display:flex;flex-direction:column;border-radius:1.25rem;overflow:hidden;background:var(--card-bg, #fff);border:1px solid var(--line, #eef0f4);box-shadow:0 24px 60px -12px #0f172a47;pointer-events:auto;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1) both}@media(min-width:768px){#chatWidget{bottom:9.5rem}#chatWidget .chat-head{cursor:grab;touch-action:none;user-select:none}#chatWidget .chat-head:active{cursor:grabbing}}.chat-resize-handle{display:none;position:absolute;top:0;left:0;z-index:5;width:22px;height:22px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,color-mix(in srgb,var(--muted-2, #aab0b8) 55%,transparent) 50%,color-mix(in srgb,var(--muted-2, #aab0b8) 55%,transparent) 60%,transparent 60%,transparent 70%,color-mix(in srgb,var(--muted-2, #aab0b8) 55%,transparent) 70%,color-mix(in srgb,var(--muted-2, #aab0b8) 55%,transparent) 80%,transparent 80%);border-top-left-radius:1.25rem}@media(min-width:768px)and (hover:hover){.chat-resize-handle{display:block}}@media(max-width:767px){#chatWidget{inset:0;width:100%;height:100dvh;border-radius:0;border:none;padding-bottom:env(safe-area-inset-bottom)}#chatWidget .chat-head{padding-top:calc(.6rem + env(safe-area-inset-top))}}.chat-head{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border-bottom:1px solid var(--line, #eef0f4);background:var(--card-bg, #fff);user-select:none;-webkit-user-select:none}.chat-head-title{font-size:.85rem;font-weight:800;color:var(--ink, #1a1c1e);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-head-btn{width:32px;height:32px;flex:none;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted, #8a9099);transition:background-color .12s ease,color .12s ease}.chat-head-btn:hover{background:var(--line-soft, #f4f5f7);color:var(--ink, #1a1c1e)}.chat-room-list{flex:1;overflow-y:auto;padding:.4rem}.chat-room-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .6rem;border-radius:.8rem;text-align:left;transition:background-color .12s ease;cursor:pointer;user-select:none;-webkit-user-select:none}.chat-room-item:hover{background:var(--line-soft, #f4f5f7)}.chat-room-item.unread{background:var(--theme-soft, #fff5ec)}.chat-room-icon{width:38px;height:38px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--theme-soft, #fff5ec);color:var(--theme-accent-text, #ea580c);font-size:.9rem;font-weight:800}.chat-room-name{font-size:.85rem;font-weight:700;color:var(--ink, #1a1c1e);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-room-preview{font-size:.72rem;color:var(--muted, #8a9099);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-unread-badge{flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#f43f5e;color:#fff;font-size:10px;font-weight:800;line-height:20px;text-align:center}.chat-new-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.4rem;padding:.6rem;border-radius:.8rem;border:2px dashed var(--line, #eef0f4);color:var(--muted, #8a9099);font-size:.8rem;font-weight:700;transition:all .15s ease}.chat-new-btn:hover{border-color:var(--brand, #f97316);color:var(--theme-accent-text, #ea580c);background:var(--theme-soft, #fff5ec)}.chat-msg-list{flex:1;overflow-y:auto;padding:.8rem .7rem;display:flex;flex-direction:column;gap:.55rem}.chat-msg{display:flex;gap:.45rem;max-width:88%}.chat-msg.mine{align-self:flex-end;flex-direction:row-reverse}.chat-msg-avatar{width:28px;height:28px;flex:none;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--theme-soft, #fff5ec);color:var(--theme-accent-text, #ea580c);font-size:.65rem;font-weight:800;user-select:none}.chat-msg-body{min-width:0}.chat-msg-sender{font-size:.64rem;font-weight:700;color:var(--muted, #8a9099);margin:0 .2rem .15rem}.chat-msg.mine .chat-msg-sender{text-align:right}.chat-bubble{padding:.5rem .75rem;border-radius:.35rem 1rem 1rem;background:var(--line-soft, #f4f5f7);color:var(--ink-2, #4b5563);font-size:.84rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.chat-msg.mine .chat-bubble{background:linear-gradient(135deg,var(--brand, #f97316),var(--brand-dark, #ea580c));color:#fff;border-top-left-radius:1rem;border-top-right-radius:.35rem}.chat-msg-meta{display:flex;align-items:center;gap:.35rem;margin-top:.2rem;padding:0 .2rem}.chat-msg.mine .chat-msg-meta{justify-content:flex-end}.chat-msg-time{font-size:.6rem;color:var(--muted-2, #aab0b8)}.chat-read-mark{font-size:.6rem;color:var(--muted-2, #aab0b8);font-weight:700}.chat-read-mark.read{color:#10b981}.chat-attach{display:block;margin-top:.35rem}.chat-attach img{max-width:220px;max-height:180px;border-radius:.7rem;display:block;border:1px solid var(--line, #eef0f4);cursor:zoom-in}.chat-attach-file{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:.7rem;background:var(--card-bg, #fff);border:1px solid var(--line, #eef0f4);font-size:.75rem;font-weight:600;color:var(--theme-accent-text, #ea580c);text-decoration:none;max-width:220px}.chat-attach-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-input-area{border-top:1px solid var(--line, #eef0f4);padding:.5rem .6rem;background:var(--card-bg, #fff)}.chat-input-row{display:flex;align-items:flex-end;gap:.4rem}.chat-input-row textarea{flex:1;min-width:0;resize:none;max-height:96px;border:1px solid var(--line, #eef0f4);border-radius:.9rem;padding:.5rem .75rem;font-size:.84rem;line-height:1.4;background:var(--page-bg, #f9f9fb);color:var(--ink, #1a1c1e);outline:none;transition:border-color .15s ease,box-shadow .15s ease;overflow-y:auto;scrollbar-width:none}.chat-input-row textarea::-webkit-scrollbar{width:0}.chat-input-row textarea:focus{border-color:var(--focus-color, #c2410c);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-color, #c2410c) 14%,transparent)}.chat-tool-btn{width:36px;height:36px;flex:none;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted, #8a9099);transition:all .13s ease}.chat-tool-btn:hover{background:var(--theme-soft, #fff5ec);color:var(--theme-accent-text, #ea580c);transform:scale(1.08)}.chat-tool-btn.active{background:var(--theme-soft, #fff5ec);color:var(--theme-accent-text, #ea580c)}.chat-send-btn{width:38px;height:38px;flex:none;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand, #f97316),var(--brand-dark, #ea580c));color:#fff;box-shadow:0 3px 10px -2px color-mix(in srgb,var(--brand, #f97316) 50%,transparent);transition:transform .14s cubic-bezier(.34,1.56,.64,1),opacity .14s ease}.chat-send-btn:hover{transform:scale(1.08) rotate(-8deg)}.chat-send-btn:active{transform:scale(.92)}.chat-send-btn:disabled{opacity:.45;transform:none}.chat-attach-preview{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;padding:.35rem .55rem;border-radius:.7rem;background:var(--theme-soft, #fff5ec);font-size:.72rem;font-weight:600;color:var(--ink-2, #4b5563)}.chat-attach-preview img{width:34px;height:34px;object-fit:cover;border-radius:.45rem}.chat-attach-preview span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-fx-row{display:flex;gap:.35rem;margin-bottom:.4rem;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:none}.chat-fx-row::-webkit-scrollbar{display:none}.chat-fx-chip{flex:none;display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border-radius:999px;border:1.5px solid var(--line, #eef0f4);font-size:.68rem;font-weight:700;color:var(--muted, #8a9099);transition:all .14s ease;white-space:nowrap}.chat-fx-chip:hover{transform:translateY(-1px);border-color:var(--brand, #f97316);color:var(--theme-accent-text, #ea580c)}.chat-fx-chip.active{border-color:var(--brand, #f97316);background:var(--theme-soft, #fff5ec);color:var(--theme-accent-text, #ea580c)}.chat-fx-preview{position:fixed;inset:0;z-index:85;background:#0f172a8c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;animation:bdIn .18s ease both}.chat-fx-preview-note{color:#fff;font-size:.78rem;font-weight:600;opacity:.85}.chat-user-pick{flex:1;overflow-y:auto;padding:.4rem}.chat-user-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;border-radius:.7rem;text-align:left;transition:background-color .12s ease;cursor:pointer}.chat-user-item:hover{background:var(--line-soft, #f4f5f7)}.chat-user-item.picked{background:var(--theme-soft, #fff5ec)}.chat-user-item .check{margin-left:auto;color:#10b981;opacity:0}.chat-user-item.picked .check{opacity:1}.chat-group-name-input{margin:.4rem;padding:.55rem .75rem;width:calc(100% - .8rem);border:1px solid var(--line, #eef0f4);border-radius:.7rem;font-size:.84rem;background:var(--page-bg, #f9f9fb);color:var(--ink, #1a1c1e);outline:none}.chat-group-name-input:focus{border-color:var(--focus-color, #c2410c)}.chat-create-btn{margin:.2rem .4rem .5rem;padding:.6rem;border-radius:.8rem;background:linear-gradient(135deg,var(--brand, #f97316),var(--brand-dark, #ea580c));color:#fff;font-size:.82rem;font-weight:700;text-align:center;transition:transform .14s ease,opacity .14s ease}.chat-create-btn:hover{transform:translateY(-1px)}.chat-create-btn:disabled{opacity:.45;transform:none}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--muted-2, #aab0b8);font-size:.8rem;padding:2rem 1rem;text-align:center}.chat-empty i{font-size:1.8rem;opacity:.5}.chat-fx-anchor{position:relative;flex:none}.chat-fx-menu{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:65;min-width:168px;padding:.35rem;background:var(--card-bg, #fff);border:1px solid var(--line, #eef0f4);border-radius:.9rem;box-shadow:0 12px 32px -8px #0f172a3d;animation:chatFxMenuIn .18s cubic-bezier(.34,1.56,.64,1) both}@keyframes chatFxMenuIn{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.chat-fx-menu-title{padding:.25rem .55rem .35rem;font-size:.62rem;font-weight:800;letter-spacing:.06em;color:var(--muted, #8a9099)}.chat-fx-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .55rem;border-radius:.55rem;font-size:.76rem;font-weight:600;color:var(--ink-2, #4b5563);text-align:left;transition:background-color .12s ease,color .12s ease}.chat-fx-item i{width:16px;text-align:center;color:var(--muted-2, #aab0b8)}.chat-fx-item:hover{background:var(--line-soft, #f4f5f7)}.chat-fx-item.active{background:var(--theme-soft, #fff5ec);color:var(--theme-accent-text, #ea580c)}.chat-fx-item.active i{color:var(--theme-accent-text, #ea580c)}.chat-fx-menu-foot{border-top:1px solid var(--line, #eef0f4);margin-top:.25rem;padding-top:.3rem}.chat-fx-preview-btn{display:flex;align-items:center;gap:.45rem;width:100%;padding:.45rem .55rem;border-radius:.55rem;font-size:.76rem;font-weight:700;color:var(--theme-accent-text, #ea580c);transition:background-color .12s ease}.chat-fx-preview-btn:hover{background:var(--theme-soft, #fff5ec)}.chat-edit-bar{display:flex;align-items:center;gap:.45rem;margin-bottom:.4rem;padding:.35rem .6rem;border-radius:.7rem;background:var(--theme-soft, #fff5ec);border:1px solid color-mix(in srgb,var(--brand, #f97316) 30%,transparent);font-size:.72rem;font-weight:700;color:var(--theme-accent-text, #ea580c)}.chat-edit-bar>span{flex:1;min-width:0}.chat-edit-bar button{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:700;color:var(--muted, #8a9099);padding:.15rem .4rem;border-radius:999px;transition:background-color .12s ease,color .12s ease}.chat-edit-bar button:hover{background:var(--card-bg, #fff);color:var(--ink, #1a1c1e)}.chat-msg-actions{display:inline-flex;gap:.15rem;opacity:0;transition:opacity .12s ease}.chat-msg:hover .chat-msg-actions,.chat-msg:focus-within .chat-msg-actions{opacity:1}.chat-msg-actions button{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;color:var(--muted-2, #aab0b8);transition:background-color .12s ease,color .12s ease}.chat-msg-actions button:hover{background:var(--line-soft, #f4f5f7);color:var(--ink, #1a1c1e)}.chat-edited-mark{font-size:.6rem;color:var(--muted-2, #aab0b8)}.chat-bubble-deleted{background:transparent;color:var(--muted-2, #aab0b8);border:1px dashed var(--line, #eef0f4);font-size:.76rem;font-style:italic}.chat-msg.mine .chat-bubble-deleted{background:transparent;color:var(--muted-2, #aab0b8)}.chat-fx-layer .fx-img{max-width:min(320px,72vw);max-height:34vh;border-radius:.9rem;object-fit:cover;border:3px solid rgba(255,255,255,.85);box-shadow:0 12px 32px #0f172a59}.chat-fx-normal .fx-img{max-width:100%;max-height:140px;margin-top:.35rem;border-width:1px}.chat-fx-danmaku .fx-img{max-width:64px;max-height:64px;border-width:2px;border-radius:.6rem}.chat-fx-stamp .fx-emoji-img{display:inline-block}.chat-fx-stamp .fx-emoji-img .fx-img{max-width:min(300px,70vw);max-height:38vh;border-radius:1.2rem}.chat-update-overlay{position:fixed;inset:0;z-index:95;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1rem;animation:bdIn .2s ease both}.chat-update-card{width:min(430px,100%);padding:1.6rem 1.5rem 1.3rem;border-radius:1.4rem;text-align:center;background:var(--card-bg, #fff);border:1px solid var(--line, #eef0f4);box-shadow:0 28px 70px -14px #0f172a59;animation:chatUpdateIn .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes chatUpdateIn{0%{opacity:0;transform:translateY(18px) scale(.92)}to{opacity:1;transform:none}}.chat-update-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:999px;background:linear-gradient(135deg,var(--brand, #f97316),var(--brand-dark, #ea580c));color:#fff;font-size:1.4rem;margin-bottom:.7rem;box-shadow:0 8px 20px -6px color-mix(in srgb,var(--brand, #f97316) 55%,transparent)}.chat-update-card h2{font-size:1.1rem;font-weight:800;color:var(--ink, #1a1c1e);margin-bottom:.55rem}.chat-update-card p{font-size:.8rem;line-height:1.75;color:var(--ink-2, #4b5563);text-align:left;margin-top:.45rem}.chat-update-ok{margin-top:1rem;padding:.65rem 2.2rem;border-radius:999px;background:linear-gradient(135deg,var(--brand, #f97316),var(--brand-dark, #ea580c));color:#fff;font-size:.85rem;font-weight:800;box-shadow:0 6px 16px -4px color-mix(in srgb,var(--brand, #f97316) 55%,transparent);transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s ease}.chat-update-ok:hover{transform:translateY(-2px)}.chat-update-ok:active{transform:scale(.96)}html[data-theme=pop] .chat-update-icon{background:linear-gradient(135deg,#ff8fbf,#c084fc);box-shadow:0 3px #d95f97,0 8px 18px -6px #f0629280}html[data-theme=pop] .chat-update-ok{background:linear-gradient(135deg,#ff8fbf,#c084fc)}html[data-theme=pop] #chatWidget{border:2px solid #f9dcea}html[data-theme=pop] #chatFab{background:linear-gradient(135deg,#ff8fbf,#c084fc);box-shadow:0 3px #d95f97,0 8px 18px -6px #f0629280}html[data-theme=pop] .chat-bubble{border-radius:.4rem 1.1rem 1.1rem}html[data-theme=pop] .chat-msg.mine .chat-bubble{background:linear-gradient(135deg,#ff8fbf,#c084fc);border-top-right-radius:.4rem}html[data-theme=pop] .chat-room-icon,html[data-theme=pop] .chat-msg-avatar{border-radius:999px;border:2px solid #fff;box-shadow:0 2px 6px #f472b64d}html[data-theme=pop] .chat-fx-item,html[data-theme=pop] .chat-fx-preview-btn{border-radius:999px}.chat-fx-layer{position:fixed;inset:0;z-index:80;pointer-events:none;overflow:hidden}.chat-fx-normal{position:fixed;right:1rem;top:4rem;z-index:81;max-width:300px;padding:.7rem .9rem;border-radius:.9rem;background:var(--card-bg, #fff);border:1px solid var(--line, #eef0f4);box-shadow:0 12px 30px -8px #0f172a40;animation:chatFxToastIn .4s cubic-bezier(.34,1.56,.64,1) both;pointer-events:none}@keyframes chatFxToastIn{0%{opacity:0;transform:translate(24px) scale(.95)}to{opacity:1;transform:none}}.chat-fx-normal .fx-title{font-size:.72rem;font-weight:800;color:var(--theme-accent-text, #ea580c)}.chat-fx-normal .fx-body{font-size:.8rem;color:var(--ink-2, #4b5563);margin-top:.1rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chat-fx-fullscreen{position:fixed;inset:0;z-index:81;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--brand, #f97316) 24%,transparent),#0f172a8c 75%);backdrop-filter:blur(3px);animation:chatFxFullBg .5s ease both;pointer-events:none;text-align:center;padding:2rem}@keyframes chatFxFullBg{0%{opacity:0}to{opacity:1}}.chat-fx-fullscreen .fx-sender{font-size:.85rem;font-weight:800;color:#fff;opacity:.9;animation:chatFxFullText .55s cubic-bezier(.34,1.56,.64,1) both}.chat-fx-fullscreen .fx-body{font-size:clamp(1.6rem,5vw,3rem);font-weight:900;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.35);animation:chatFxFullText .6s cubic-bezier(.34,1.56,.64,1) .08s both;overflow-wrap:anywhere;max-width:90vw}@keyframes chatFxFullText{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.chat-fx-fullscreen .fx-confetti{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;animation:chatFxConfetti linear forwards}@keyframes chatFxConfetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:.4}}.chat-fx-danmaku{position:fixed;left:0;z-index:81;display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:999px;background:color-mix(in srgb,var(--card-bg, #fff) 82%,transparent);border:1.5px solid var(--brand, #f97316);box-shadow:0 4px 16px #0f172a2e;white-space:nowrap;pointer-events:none;animation:chatFxDanmaku linear forwards}@keyframes chatFxDanmaku{0%{transform:translate(100vw)}to{transform:translate(-110%)}}.chat-fx-danmaku .fx-sender{font-size:.7rem;font-weight:800;color:var(--theme-accent-text, #ea580c)}.chat-fx-danmaku .fx-body{font-size:.88rem;font-weight:700;color:var(--ink, #1a1c1e)}.chat-fx-bounce{position:fixed;left:50%;top:32%;z-index:81;padding:1rem 1.6rem;border-radius:1.4rem;background:var(--card-bg, #fff);border:3px solid var(--brand, #f97316);box-shadow:0 20px 50px -12px #0f172a4d,0 0 0 6px color-mix(in srgb,var(--brand, #f97316) 18%,transparent);text-align:center;pointer-events:none;max-width:min(420px,88vw);animation:chatFxBounce .9s cubic-bezier(.28,2.4,.5,1) both}@keyframes chatFxBounce{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}55%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}72%{transform:translate(-50%,-50%) scale(.94)}86%{transform:translate(-50%,-50%) scale(1.04)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.chat-fx-bounce .fx-sender{font-size:.72rem;font-weight:800;color:var(--theme-accent-text, #ea580c)}.chat-fx-bounce .fx-body{font-size:1.3rem;font-weight:900;color:var(--ink, #1a1c1e);margin-top:.15rem;overflow-wrap:anywhere}.chat-fx-rainbow{position:fixed;left:50%;top:24%;z-index:81;transform:translate(-50%);padding:4px;border-radius:1.2rem;pointer-events:none;max-width:min(440px,88vw);animation:chatFxRainbowIn .5s cubic-bezier(.34,1.56,.64,1) both}.chat-fx-rainbow:before{content:"";position:absolute;inset:0;border-radius:1.2rem;padding:3px;background:linear-gradient(90deg,#f87171,#fb923c,#facc15,#4ade80,#38bdf8,#a78bfa,#f472b6,#f87171);background-size:300% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:chatFxRainbowShift 2.4s linear infinite}@keyframes chatFxRainbowShift{to{background-position:300% 0}}@keyframes chatFxRainbowIn{0%{opacity:0;transform:translate(-50%) translateY(-16px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.chat-fx-rainbow .fx-inner{position:relative;padding:.9rem 1.4rem;border-radius:.95rem;background:var(--card-bg, #fff);text-align:center}.chat-fx-rainbow .fx-sender{font-size:.72rem;font-weight:800;color:var(--muted, #8a9099)}.chat-fx-rainbow .fx-body{font-size:1.15rem;font-weight:900;color:var(--ink, #1a1c1e);margin-top:.15rem;overflow-wrap:anywhere}.chat-fx-stamp{position:fixed;left:50%;top:38%;z-index:81;display:flex;flex-direction:column;align-items:center;gap:.4rem;pointer-events:none;text-align:center}.chat-fx-stamp .fx-emoji{font-size:5.5rem;line-height:1;filter:drop-shadow(0 10px 22px rgba(15,23,42,.3));animation:chatFxStamp .8s cubic-bezier(.28,2.6,.5,1) both}@keyframes chatFxStamp{0%{opacity:0;transform:scale(3) rotate(18deg)}60%{opacity:1;transform:scale(.9) rotate(-6deg)}to{opacity:1;transform:scale(1) rotate(0)}}.chat-fx-stamp .fx-body{font-size:.95rem;font-weight:800;color:var(--ink, #1a1c1e);background:var(--card-bg, #fff);padding:.4rem .9rem;border-radius:999px;border:1px solid var(--line, #eef0f4);box-shadow:0 6px 18px #0f172a2e;animation:chatFxToastIn .4s ease .35s both;max-width:80vw;overflow-wrap:anywhere}.chat-fx-out{transition:opacity .4s ease;opacity:0!important}@media(prefers-reduced-motion:reduce){.chat-fx-normal,.chat-fx-fullscreen,.chat-fx-danmaku,.chat-fx-bounce,.chat-fx-rainbow,.chat-fx-stamp,.chat-fx-stamp .fx-emoji,.chat-fx-stamp .fx-body,.chat-fx-fullscreen .fx-sender,.chat-fx-fullscreen .fx-body,.chat-fx-fullscreen .fx-confetti,#chatFab.has-unread i{animation:none!important}.chat-fx-danmaku{transform:none;right:1rem;left:auto}}
