/* ===== 사진 · 답장 · 고정 · 검색 ===== */
.bub.imgbub{padding:4px;overflow:hidden}
.bub.imgbub img{display:block;max-width:min(260px,60vw);max-height:280px;border-radius:12px;cursor:zoom-in}
.bub.imgbub .ph{width:180px;height:120px;display:grid;place-items:center;color:var(--muted);font-size:12px;background:var(--paper);border-radius:12px}
.reply{border-left:3px solid var(--muted);padding:2px 0 2px 7px;margin-bottom:5px;font-size:12px;color:var(--muted);cursor:pointer;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grp.me .reply{border-left-color:var(--postit-ink);color:color-mix(in srgb,var(--postit-ink) 70%,transparent)}
.replybar{display:flex;align-items:center;gap:8px;padding:6px 18px 0;font-size:12px;color:var(--muted)}
.replybar[hidden]{display:none}
.replybar .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.replybar button{border:0;background:none;color:var(--muted);font-size:14px;padding:0 4px}
.msg.flash .bub{animation:flash 1.6s ease-out}
@keyframes flash{0%,40%{box-shadow:0 0 0 3px var(--accent,#F0B93A)}100%{box-shadow:none}}
.pinbar{display:flex;align-items:center;gap:8px;padding:6px 18px;background:color-mix(in srgb,var(--postit) 35%,var(--paper));border-bottom:1px solid var(--line);font-size:12px}
.pinbar[hidden]{display:none}
.pinbar .pt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.pinbar button{border:1px solid var(--line);background:var(--memo);border-radius:8px;padding:2px 8px;font-size:12px;color:var(--ink)}
.srch-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;width:min(520px,100%);max-height:100%;overflow-y:auto}
.srch-res{margin-top:10px;display:flex;flex-direction:column;gap:2px;max-height:52vh;overflow-y:auto}
.srch-row{text-align:left;border:0;border-bottom:1px dashed var(--line);background:none;color:var(--ink);padding:8px 4px;font-size:13px;cursor:pointer}
.srch-row:hover{background:var(--memo)}
.srch-row .meta{font-size:11.5px;color:var(--muted);display:block;margin-bottom:2px}
.srch-row mark{background:var(--postit);color:var(--postit-ink)}
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.8);display:grid;place-items:center;padding:20px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:100%;max-height:100%;border-radius:8px}
.actor.jump .ac{animation:jump .5s ease-out 2}
@keyframes jump{0%,100%{transform:translateY(0)}30%{transform:translateY(-16px)}60%{transform:translateY(0)}}
.actor .bang{position:absolute;bottom:74px;left:50%;transform:translateX(-50%);font-family:"Jua",sans-serif;color:var(--red);font-size:24px}
.actor .bang[hidden]{display:none}
