*{margin:0;padding:0;box-sizing:border-box}body{background:#0f0a1e;color:#fff;font-family:DM Mono,Courier New,monospace;min-height:100vh}.app{max-width:1100px;margin:0 auto;padding:32px 40px}h1{font-size:28px;margin-bottom:24px;letter-spacing:-.02em}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.filter-bar input{padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:14px;width:260px;outline:none;font-family:inherit}.filter-bar input:focus{border-color:#8b5cf680}.filter-bar button{padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#ffffff80;font-size:12px;cursor:pointer;transition:all .15s;font-family:inherit}.filter-bar button:hover{background:#ffffff1a;color:#fff}.filter-bar button.active{background:#8b5cf64d;border-color:#8b5cf699;color:#c4b5fd}.emoji-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.emoji-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px 16px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;transition:all .2s}.emoji-card:hover{background:#ffffff14;transform:translateY(-3px)}.emoji-character{font-size:40px;line-height:1}.emoji-name{font-size:11px;color:#ffffff80;text-align:center;line-height:1.3}.emoji-group{font-size:9px;padding:3px 8px;background:#8b5cf633;color:#a78bfa;border-radius:20px}.favorite-btn{position:absolute;top:10px;right:10px;background:none;border:none;cursor:pointer;font-size:14px;color:#fff;opacity:.3;transition:opacity .2s}.favorite-btn.active{opacity:1;color:#f87171}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:40px;flex-wrap:wrap}.pagination button{width:36px;height:36px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffff80;font-size:13px;cursor:pointer;transition:all .15s;font-family:inherit}.pagination button:hover:not(:disabled){background:#ffffff1a;color:#fff}.pagination button.active{background:#8b5cf64d;border-color:#8b5cf699;color:#c4b5fd}.pagination button:disabled{opacity:.2;cursor:not-allowed}.favorites-toggle{margin-bottom:16px;padding:8px 18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#ffffff80;font-size:13px;cursor:pointer;transition:all .2s;font-family:inherit}.favorites-toggle.active{background:#ef444433;border-color:#ef444466;color:#f87171}
