@media(max-width:759px),(max-height:500px) and (pointer:coarse){
 .conversation-item:active,.directory-action:active,.discover-entry:active{background-color:#e8ebef!important}
 /* Touch list rows use a light fade, without an inset selected rectangle. */
 .menu-row{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:opacity .1s ease}
 .menu-row:hover,.menu-row:active{background-color:transparent!important;transform:none}
 .menu-row:active:not(:disabled){opacity:.68}
 .menu-row:focus:not(:focus-visible){outline:none}
 .group-quick-menu[open],.conversation-actions:not([hidden]),.message-action-menu:not([hidden]){transform-origin:top right;animation:mobile-menu-in .14s cubic-bezier(.2,.75,.25,1)}
 .modal[open]{animation:mobile-dialog-in .18s cubic-bezier(.2,.75,.25,1)}
 .modal[open]::backdrop,.group-quick-menu[open]::backdrop{animation:mobile-mask-in .18s ease-out}
 .emoji-panel:not([hidden]){animation:mobile-panel-in .18s cubic-bezier(.2,.75,.25,1)}
 .new-message{animation:message-arrive .16s ease-out both}
 input.switch,input[role=switch]{transition:background-color .16s}
 input.switch::after,input[role=switch]::after,.official-online-track::after{transition:left .16s,transform .16s}
 .message-bubble:active{filter:brightness(.96)}
 .toast{animation:mobile-dialog-in .16s ease-out}
 .mobile-motion-ghost [data-motion-id=activeChat],.mobile-motion-ghost [data-motion-id=systemChat]{display:flex;flex-direction:column;height:100%;min-height:0}
 .mobile-motion-ghost [data-motion-id=messageScroll]{flex:1;min-height:0;overflow:hidden}
 .mobile-motion-ghost .chat-header{position:relative;top:auto;left:auto;right:auto}
 .notice-image-stage{touch-action:none}
 .notice-image-stage.show-full-image{touch-action:pan-y}
 .notice-image-stage img{will-change:transform;transform-origin:center}
 .image-viewer .notice-image-stage{height:calc(var(--vv-height,100dvh) - 210px);background:#171a20}
}
@keyframes mobile-menu-in{from{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes mobile-dialog-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes mobile-panel-in{from{opacity:.3;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes mobile-mask-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.mobile-motion-ghost{display:none!important}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-width:759px),(max-height:500px) and (pointer:coarse){.chat-panel,.directory-page{touch-action:pan-y}}

@media(max-width:759px),(max-height:500px) and (pointer:coarse){#messageScroll,.directory-page-body{touch-action:pan-y}}

.conversation-refresh{height:0;flex:none;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:#92969d;font-size:12px;line-height:20px;transition:height .18s ease;pointer-events:none}.conversation-refresh[data-state=pull],.conversation-refresh[data-state=ready]{transition:none}.conversation-refresh-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;transition:transform .15s ease}.conversation-refresh[data-state=ready] .conversation-refresh-icon{transform:rotate(180deg)}.conversation-refresh[data-state=loading] .conversation-refresh-icon{font-size:0;border:1.5px solid #d6d8dc;border-top-color:#525861;border-radius:50%;animation:sfl-pull-spin .7s linear infinite}.conversation-refresh[data-state=done] .conversation-refresh-icon{font-size:0}.conversation-refresh[data-state=done] .conversation-refresh-icon:after{content:'✓';font-size:14px}@keyframes sfl-pull-spin{to{transform:rotate(360deg)}}@media(min-width:760px) and (min-height:501px){.conversation-refresh{display:none}}@media(prefers-reduced-motion:reduce){.conversation-refresh,.conversation-refresh-icon{transition:none}.conversation-refresh[data-state=loading] .conversation-refresh-icon{animation:none}}
