/* ONE CLUB V8.9.158 · Chat Gesture Polish
   Replaces the clunky V157 action sheet with swipe-to-reply and a compact message menu.
*/
#room #messages .wa-msg[data-real-message-id],
#room #messages .wa-msg[data-real-message-id] .wa-bubble{
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none!important;
}
#room #messages .wa-msg[data-real-message-id]{
  position:relative;
  touch-action:pan-y;
  will-change:transform;
  transition:transform .12s ease;
}
#room #messages .wa-msg.oc158-swiping{transition:none}
#room #messages .oc158-swipe-reply-icon{
  position:absolute;
  left:-34px;
  top:50%;
  width:28px;
  height:28px;
  margin-top:-14px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#143b78;
  color:#fff;
  font:900 17px/1 Arial,Helvetica,sans-serif;
  box-shadow:0 4px 12px rgba(10,36,82,.22);
  opacity:0;
  transform:scale(.82);
  transition:opacity .1s ease,transform .1s ease;
  pointer-events:none;
}
#room #messages .wa-msg.oc158-swipe-ready .oc158-swipe-reply-icon{
  opacity:1;
  transform:scale(1);
}
#room .oc158-reply-preview{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  margin:0 0 5px;
  padding:6px 8px 6px 10px;
  border:1px solid #d6e0ed;
  border-left:4px solid #1b4c93;
  border-radius:9px;
  background:#f7f9fc;
  color:#102247;
  box-sizing:border-box;
}
#room .oc158-reply-preview[hidden]{display:none!important}
#room .oc158-reply-preview-copy{min-width:0;flex:1}
#room .oc158-reply-preview strong{
  display:block;
  font:900 10px/1.15 Arial,Helvetica,sans-serif;
  color:#1b4c93;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#room .oc158-reply-preview span{
  display:block;
  margin-top:2px;
  font:700 10px/1.2 Arial,Helvetica,sans-serif;
  color:#65758c;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#room .oc158-reply-cancel{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:0;
  border-radius:50%;
  background:#e9eef5;
  color:#17325e;
  font:900 18px/28px Arial,Helvetica,sans-serif;
  padding:0;
}
#room .oc158-reply-quote{
  display:block;
  margin:0 0 5px;
  padding:5px 7px;
  border-left:3px solid #6aa4ff;
  border-radius:6px;
  background:rgba(255,255,255,.12);
  max-width:100%;
  overflow:hidden;
}
#room .wa-msg:not(.me) .oc158-reply-quote{background:rgba(31,66,119,.07)}
#room .oc158-reply-quote strong{
  display:block;
  margin:0 0 2px;
  font:900 9px/1.15 Arial,Helvetica,sans-serif;
  color:#b9d6ff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#room .wa-msg:not(.me) .oc158-reply-quote strong{color:#28568d}
#room .oc158-reply-quote span{
  display:block;
  font:700 10px/1.2 Arial,Helvetica,sans-serif;
  color:#fff;
  opacity:.9;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#room .wa-msg:not(.me) .oc158-reply-quote span{color:#40516a}
#room .wa-msg.oc158-deleted .wa-bubble{opacity:.72}
#room .oc158-deleted-copy{display:inline-block;font-style:italic;font-weight:700;opacity:.75}

#oc158MessageMenu{
  position:fixed;
  z-index:15020;
  min-width:210px;
  max-width:min(300px,calc(100vw - 20px));
  padding:5px;
  border:1px solid #dbe3ef;
  border-radius:13px;
  background:#fff;
  box-shadow:0 12px 32px rgba(5,24,58,.24);
  box-sizing:border-box;
  font-family:Arial,Helvetica,sans-serif;
}
#oc158MessageMenu[hidden]{display:none!important}
#oc158MessageMenu .oc158-menu-title{
  padding:6px 9px 5px;
  color:#60718a;
  font-size:9px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:.08em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#oc158MessageMenu .oc158-menu-row{
  display:flex;
  gap:5px;
}
#oc158MessageMenu button{
  min-height:38px;
  flex:1 1 0;
  border:0;
  border-radius:9px;
  padding:0 10px;
  background:#eef3f9;
  color:#112b58;
  font:900 11px/1 Arial,Helvetica,sans-serif;
  white-space:nowrap;
}
#oc158MessageMenu button:active{transform:scale(.985)}
#oc158MessageMenu button.oc158-danger{background:#fff0f0;color:#a22525}
#oc158MessageMenu .oc158-confirm-copy{
  padding:8px 9px 7px;
  color:#152a50;
  font:900 12px/1.25 Arial,Helvetica,sans-serif;
}
#oc158MessageMenu .oc158-confirm-row{display:flex;gap:6px;padding:0 4px 4px}

#oc158Toast{
  position:fixed;
  left:50%;
  bottom:90px;
  z-index:15040;
  transform:translateX(-50%);
  max-width:min(420px,86vw);
  padding:8px 12px;
  border-radius:999px;
  background:#081a3a;
  color:#fff;
  font:800 11px/1.25 Arial,Helvetica,sans-serif;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  opacity:0;
  pointer-events:none;
  transition:opacity .14s ease;
}
#oc158Toast.show{opacity:1}
body.oc-v8966-keypad-open #oc158Toast{bottom:calc(var(--oc-v8966-keypad-h) + 104px)}
