.emoji-picker{position:absolute;bottom:65px;left:5px;background:#151525;border:1px solid #00f3ff;border-radius:12px;padding:12px;display:none;z-index:50;box-shadow:0 5px 25px rgba(0,0,0,.7);width:300px;max-height:300px;overflow-y:auto}
.emoji-picker.show{display:block;animation:slideUp .25s ease-out}
@keyframes slideUp{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.emoji-tabs{display:flex;gap:8px;margin-bottom:10px;border-bottom:1px solid #333;padding-bottom:8px}
.emoji-tab{background:transparent;border:none;color:#888;cursor:pointer;font-size:.95em;padding:5px 10px;border-radius:5px}
.emoji-tab.active{color:#00f3ff;background:rgba(0,243,255,.1)}
.emoji-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.emoji-item{font-size:1.5em;cursor:pointer;text-align:center;padding:4px;border-radius:6px;transition:.15s}
.emoji-item:hover{background:rgba(255,255,255,.15);transform:scale(1.25)}
.sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sticker-item{width:100%;aspect-ratio:1;object-fit:contain;cursor:pointer;border-radius:8px;transition:.2s;background:rgba(255,255,255,.05);padding:4px}
.sticker-item:hover{transform:scale(1.1);background:rgba(255,255,255,.15)}
.msg img.sticker-msg{max-width:100px;max-height:100px;display:block;margin:5px 0;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275)}
@keyframes popIn{from{transform:scale(0) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
.msg .big-emoji{font-size:2.5em;animation:bounce 1s infinite alternate;display:inline-block}
@keyframes bounce{from{transform:translateY(0) scale(1)}to{transform:translateY(-5px) scale(1.05)}}
@media(max-width:768px){.emoji-picker{width:270px;left:2px;bottom:75px}.emoji-item{font-size:1.3em}.emoji-grid{grid-template-columns:repeat(6,1fr)}}
