/* Message actions share the chat palette; the backdrop remains clear. */
.app.app.app .message-context-backdrop{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:180;padding:0;display:block;touch-action:auto}
.app.app.app .message-context-menu{position:fixed;width:276px;padding:6px!important;margin:0;border:1px solid var(--line);border-radius:22px;overflow:auto;box-shadow:0 9px 30px #0002;background:color-mix(in srgb,var(--panel) var(--window-opacity),transparent);backdrop-filter:blur(14px);overscroll-behavior:contain;touch-action:auto}
.reaction-strip{display:flex;gap:4px;align-items:center;min-width:0}
.reaction-scroll{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain;padding:2px 0 5px;scroll-snap-type:x proximity}
.reaction-scroll::-webkit-scrollbar{display:none}
.app.app.app .reaction-scroll button{touch-action:pan-x}
.app.app.app .message-context-backdrop,.app.app.app .message-context-menu{touch-action:pan-y pinch-zoom!important}
.app.app.app .reaction-grid button{touch-action:pan-y}
.app.app.app .reaction-scroll button,.app.app.app .reaction-grid button{flex:0 0 36px;width:36px;height:38px;padding:0;display:grid;place-items:center;font-size:23px;background:none;border-radius:50%!important;scroll-snap-align:start}
.reaction-scroll button[aria-pressed=true],.reaction-grid button[aria-pressed=true]{background:var(--accent-faint)!important}
.reaction-expand{flex:0 0 36px;width:36px;height:38px;display:grid;place-items:center;border-radius:50%!important;color:var(--accent)}.reaction-expand svg{transition:rotate .25s}.reaction-expand[aria-expanded=true] svg{rotate:180deg}
.reaction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(36px,1fr));max-height:min(260px,38dvh);overflow:auto;border-top:1px solid var(--line);padding:6px 0;touch-action:pan-y}
.message-context-actions{display:grid;border-top:1px solid var(--line);padding-top:4px}
.app.app.app .message-context-actions>button{display:flex;align-items:center;gap:10px;padding:8px 10px;min-height:40px;text-align:left;background:none;border-radius:14px;font-size:13px}.message-context-actions>button:hover{background:var(--accent-faint)!important}.message-context-actions .danger{color:#d77768}
.reaction-flight{position:fixed;z-index:310;pointer-events:none;font-size:27px;width:28px;height:28px;line-height:28px;text-align:center}
.reaction-flight,.app.app.app .reaction-scroll button,.app.app.app .reaction-grid button{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.app.app.app .message-hit-row{width:100%;min-width:0;display:flex;align-items:flex-start;justify-content:flex-start;padding:2px 0;cursor:pointer}
.app.app.app .message-hit-row>.message{margin-left:0;margin-right:auto;flex-shrink:1}
.app.app.app .message-hit-row>.message.mine{margin-left:auto;margin-right:0}
.app.app.app .message-hit-row>.message.post{margin-left:0!important;margin-right:auto!important;align-self:flex-start;width:max-content;min-width:140px;max-width:min(92%,520px);padding:9px 11px;background:color-mix(in srgb,var(--incoming) var(--message-opacity,75%),transparent);border-radius:var(--bubble-radius)}
.app.app.app .message.post .message-author{margin-bottom:4px;font-size:11px;line-height:1.3}.message.post .message-author>span{display:none}
.app.app.app .message.post .message-body:empty{display:none}.app.app.app .message.post .message-foot{margin-top:4px;line-height:1.2;height:17px;font-size:10px}.app.app.app .message.post .message-foot button{width:23px;height:21px;padding:2px}
.app.app.app .message .reactions{display:flex;flex-wrap:wrap;gap:4px;width:100%;max-width:100%;margin:6px 0 0;min-width:0;contain:inline-size}.app.app.app .reactions>button{padding:3px 7px;min-height:25px;height:25px;gap:4px;flex:0 0 auto;line-height:18px;font-size:15px}.app.app.app .reactions>button span{font-size:10px}
.app.app.app .message.post .comment-link:not(.round-comments){margin-top:6px;padding-top:6px;font-size:11px;min-height:27px}
.app.app.app .message.post.post-voice{width:min(290px,88%);padding:7px 9px;min-width:0}.app.app.app .post-voice .message-media{margin-top:0;gap:0}.app.app.app .post-voice .audio-message{border:0;background:none;padding:0;gap:8px;min-width:0;min-height:49px}.app.app.app .post-voice .audio-detail>strong{display:none}.app.app.app .post-voice .voice-wave{height:25px;margin-top:0;gap:2px}.app.app.app .post-voice .voice-wave i{max-height:24px}.app.app.app .post-voice .audio-play{width:36px;height:36px}.app.app.app .post-voice .audio-detail small{margin-top:2px;font-size:10px}.app.app.app .post-voice .media-download{width:24px;height:30px}
.app.app.app .message-hit-row>.message.message-round{min-width:0;width:min(240px,65vw);max-width:min(240px,65vw);padding:0!important;background:transparent!important;margin-bottom:36px;overflow:visible}
.app.app.app .message-round .round-comments{position:absolute;right:0;bottom:-31px;width:auto;min-width:34px;min-height:29px;height:29px;display:flex;gap:5px;align-items:center;justify-content:center;margin:0;padding:4px 9px;border:1px solid var(--line);border-radius:18px!important;background:color-mix(in srgb,var(--panel) 85%,transparent);font-size:11px}
.app.app.app .round-play-toggle{position:absolute;left:calc(50% - 22px);top:calc(50% - 22px);width:44px;height:44px;border-radius:50%!important;display:grid;place-items:center;background:#0004;color:white;padding:0;z-index:1}.round-play-toggle.playing{opacity:0}.round-player:hover .round-play-toggle.playing,.round-play-toggle:focus-visible{opacity:1}
.app.app.app .pending-media.post{margin-left:0!important;margin-right:auto!important}
.app.app.app .post-voice .message-author{display:none}.app.app.app .post-voice .message-foot{position:absolute;right:10px;bottom:37px;margin:0;height:13px}.app.app.app .post-voice .message-foot button{display:none}.app.app.app .post-voice .audio-detail small{padding-right:34px}.app.app.app .post-voice:not(:has(.comment-link)) .message-foot{bottom:9px}
@media(prefers-reduced-motion:reduce){.reaction-flight{display:none}.reaction-expand svg{transition:none}}

.app.app.app .message-context-backdrop::before{display:none!important}
.app.app.app .context-dim-entry{position:fixed;inset:0;background:rgb(0 0 0 / .14);pointer-events:none;z-index:-1;animation:contextDimIn 320ms ease-out both}
.context-dim-exit{position:fixed;inset:0;background:rgb(0 0 0 / .14);pointer-events:none;z-index:179}
@keyframes contextDimIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.app.app.app .context-dim-entry{animation:none}}

/* One glass menu, light reaction tiles, and quiet full-width action rows. */
.app.app.app .message-context-menu{box-sizing:border-box;padding:8px!important;border-radius:var(--ui-radius,20px)!important;box-shadow:0 10px 28px rgb(40 30 15 / .16),inset 0 1px 0 rgb(255 255 255 / .16)!important}
.app.app.app .message-context-menu :is(.reaction-scroll button,.reaction-grid button,.reaction-expand){width:40px;height:40px;min-height:40px;flex-basis:40px;border-radius:min(14px,var(--ui-radius,20px))!important;border:1px solid transparent;background:color-mix(in srgb,var(--panel) 32%,transparent)!important;box-shadow:0 2px 5px rgb(40 30 15 / .07)!important;transition:background-color 140ms ease,box-shadow 140ms ease,scale 100ms ease;scale:1}
.app.app.app .message-context-menu :is(.reaction-scroll button,.reaction-grid button)[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-faint)!important}
.app.app.app .message-context-menu .reaction-scroll{gap:5px;padding:2px 1px 7px;scroll-snap-type:none!important}
.app.app.app .message-context-menu .reaction-strip{gap:5px}
.app.app.app .message-context-menu .reaction-grid{gap:6px;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));padding:8px 0}
.app.app.app .message-context-menu .message-context-actions{gap:2px;padding-top:5px}
.app.app.app .message-context-menu .message-context-actions>button{min-height:42px;padding:9px 10px;gap:10px;font-size:13px;border:0!important;border-radius:min(14px,var(--ui-radius,20px))!important;background:transparent!important;box-shadow:none!important;transition:background-color 140ms ease,scale 100ms ease}
.app.app.app .message-context-menu .message-context-actions>button>svg,.app.app.app .message-context-menu .reaction-expand>svg{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;flex-shrink:0}
.app.app.app .message-context-menu .message-context-actions>button:hover,.app.app.app .message-context-menu .message-context-actions>button:focus-visible{background:var(--accent-faint)!important}
.app.app.app .message-context-menu .message-context-actions>button:active,.app.app.app .message-context-menu :is(.reaction-scroll button,.reaction-grid button,.reaction-expand):active{scale:.955;background:var(--accent-faint)!important;box-shadow:0 1px 2px rgb(40 30 15 / .07)!important}

/* Actions stay readable even when other windows use very transparent glass. */
.app.app.app .message-context-menu{background:color-mix(in srgb,var(--panel) var(--window-opacity,88%),transparent)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;isolation:isolate}
.app.app.app .message-context-menu .reaction-scroll{mask-image:linear-gradient(to right,#fff 0,#fff calc(100% - 9px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#fff 0,#fff calc(100% - 9px),transparent 100%)}

.app.app.app .message-context-actions,.app.app.app .message-context-actions>button{touch-action:pan-y pinch-zoom!important}

.app.app.app .modal-backdrop{touch-action:pan-y pinch-zoom!important}
