.pager-context-v1 { position: fixed; inset: 0; z-index: 15000; padding-top: env(safe-area-inset-top,0px); padding-bottom: env(safe-area-inset-bottom,0px); color: var(--pt-text); font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; overscroll-behavior: contain; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.composer-keyboard-visible .pager-context-v1 { padding-bottom: 0; }
.pager-context-dim-v1 { position: absolute; inset: 0; background: rgba(0,0,0,.34); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); touch-action: none; }
.pager-context-lift-v1 { position: absolute; border-radius: 18px; pointer-events: none; }
.pager-context-surface-v1 { position: absolute; inset: 0; border-radius: inherit; background: var(--pt-bg); box-shadow: 0 8px 30px #0002; }
.pager-context-lift-v1 > :last-child { position: relative; max-height: inherit; overflow: hidden; border-radius: inherit; }
.pager-context-lift-v1 > * { margin: 0 !important; transform: none !important; }
.pager-context-lift-v1 .main-chat-row-v2 > * { scale: 1; }
.pager-context-menu-v1 { position: absolute; width: min(268px,calc(100vw - 24px)); overflow: auto; border-radius: 18px; background: var(--pt-surface); box-shadow: 0 16px 48px #0004,0 0 0 1px var(--pt-line); overscroll-behavior: contain; }
.pager-context-menu-v1 button { width: 100%; min-height: 48px; display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: none; border: 0; border-radius: 0; color: inherit; font: 400 15px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; text-align: left; cursor: pointer; }
.pager-context-menu-v1 > button + button { border-top: 1px solid var(--pt-line); }
.pager-context-menu-v1 button:is(:active,:focus-visible) { background: var(--pt-surface-alt); outline: none; }
.pager-context-menu-v1 button.is-danger { color: var(--pt-danger); }
.pager-context-menu-v1 svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pager-context-reactions-v1 { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); padding: 5px 2px; border-bottom: 1px solid var(--pt-line); }
.pager-context-reactions-v1 button { justify-content: center; min-width: 0; min-height: 44px; padding: 4px 0; border-radius: 12px; font-size: 24px; line-height: 1; }
.pager-context-reactions-v1 button[aria-checked="true"] { background: var(--pt-accent-soft, var(--pt-surface-alt)); box-shadow: inset 0 0 0 1px var(--pt-muted); }
.pager-context-confirm-v1 { margin: 0; padding: 16px; font-size: 14px; line-height: 1.45; }
.pager-context-actions-v1 { display: flex; border-top: 1px solid var(--pt-line); }
.pager-context-actions-v1 button { justify-content: center; }
.pager-context-actions-v1 button + button { border-left: 1px solid var(--pt-line); }
.main-chat-row-v2 { -webkit-touch-callout: none; user-select: none; -webkit-user-select: none; }
.main-chat-pinned-v1 { width: 14px; height: 14px; flex: none; align-self: center; fill: none; stroke: var(--pt-muted); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.main-chat-row-v2.is-muted .main-chat-unread-v2 { background: var(--pt-muted); box-shadow: none; }
.pager-context-v1.is-message .pager-context-surface-v1 { display: none; }
.pager-context-lift-v1 > .conversation-message-v2 { max-width: none; }
.conversation-message-v2 { -webkit-touch-callout: none; }
.conversation-message-v2:not(.conversation-call-event-v2) { user-select: none; -webkit-user-select: none; }
#app .conversation-message-v2:not(.conversation-call-event-v2) .conversation-copy-v2 { user-select: none; -webkit-user-select: none; }
.conversation-message-v2:focus:not(:focus-visible) { outline: none; }
.conversation-message-v2:focus-visible { outline: 2px solid var(--pt-accent); outline-offset: 3px; border-radius: 18px; }

/* Only the left reply gesture is handled by JS; scroll and pinch stay native. */
#app.main-conversation-v2-mode .histlist,
#app .conversation-message-v2[data-reply-swipe="true"] { touch-action: pan-y pinch-zoom; }
#app .conversation-message-v2.is-reply-swiping-v1 {
  position: relative;
  translate: var(--reply-swipe-x, 0px) 0;
}
#app .conversation-message-v2.is-reply-swiping-v1::before,
#app .conversation-message-v2.is-reply-swiping-v1::after {
  content: '';
  display: var(--reply-swipe-indicator-display, none);
  position: absolute;
  right: -44px;
  top: var(--reply-swipe-y, 50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  translate: 0 -50%;
  pointer-events: none;
}
#app .conversation-message-v2.is-reply-swiping-v1::before { background: var(--pt-surface-alt); }
#app .conversation-message-v2.is-reply-swiping-v1::after {
  background: var(--pt-muted);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 10 4 15l5 5M4 15h10a6 6 0 0 0 0-12h-2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 10 4 15l5 5M4 15h10a6 6 0 0 0 0-12h-2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}
#app .conversation-message-v2.is-reply-ready-v1::before { background: var(--pt-accent-soft, var(--pt-surface-alt)); }
#app .conversation-message-v2.is-reply-ready-v1::after { background: var(--pt-text); }

/* A hold builds gradually; releasing it leaves native scrolling untouched. */
.main-chat-item-v1 .main-chat-row-v2.is-pressed-v6:not(:disabled) > * {
  scale: .97;
  transition: scale 330ms cubic-bezier(.3,0,.5,1) 110ms;
}
.conversation-message-v2:not(.conversation-call-event-v2) > .conversation-bubble-v2 {
  scale: 1;
  transform-origin: left center;
  transition: scale 200ms cubic-bezier(.2,.8,.2,1);
}
.conversation-message-v2.out > .conversation-bubble-v2 { transform-origin: right center; }
.conversation-message-v2.is-pressed-v6:not(.conversation-call-event-v2) > .conversation-bubble-v2 {
  scale: .96;
  transition: scale 330ms cubic-bezier(.3,0,.5,1) 110ms;
}
@media (prefers-reduced-motion: reduce) {
  .main-chat-item-v1 .main-chat-row-v2.is-pressed-v6:not(:disabled) > *,
  .conversation-message-v2.is-pressed-v6:not(.conversation-call-event-v2) > .conversation-bubble-v2,
  .conversation-message-v2:not(.conversation-call-event-v2) > .conversation-bubble-v2 {
    scale: 1;
    transition: none;
  }
}
