.ep-container{margin:1.5rem 0;position:relative}.ep-search-wrap{position:relative;margin-bottom:1rem}.ep-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.ep-search-input{width:100%;padding:.75rem 2.5rem .75rem 2.75rem;border:2px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-sans);font-size:var(--text-base);transition:border-color var(--transition);background:var(--color-bg);color:var(--color-text)}.ep-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2471a326}.ep-search-input::placeholder{color:var(--color-text-tertiary)}.ep-search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:1rem;padding:.25rem;line-height:1}.ep-search-clear:hover{color:var(--color-text)}.ep-search-info{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:1rem}.ep-category-nav{display:flex;gap:.375rem;padding:.75rem 0;overflow-x:auto;position:sticky;top:60px;background:var(--color-bg);z-index:10;border-bottom:1px solid var(--color-border-light);-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:.5rem}.ep-category-nav::-webkit-scrollbar{display:none}.ep-cat-btn{display:flex;align-items:center;gap:.375rem;padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s ease}.ep-cat-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.ep-cat-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ep-cat-btn-icon{font-size:1.1rem;line-height:1}.ep-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:.25rem}.ep-emoji-btn{display:flex;align-items:center;justify-content:center;aspect-ratio:1;font-size:1.75rem;background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .12s ease;padding:0;line-height:1}.ep-emoji-btn:hover{background:#f0f4ff;border-color:var(--color-border);transform:scale(1.2)}.ep-emoji-btn--copied{background:#ecfdf5;border-color:#10b981;animation:ep-pop .2s ease}@keyframes ep-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1.2)}}.ep-category{scroll-margin-top:120px}.ep-section-title{display:flex;align-items:center;gap:.5rem;font-size:var(--text-base);font-weight:650;color:var(--color-text);border-bottom:1px solid var(--color-border-light);padding-bottom:.5rem;margin:1.5rem 0 .75rem}.ep-section-icon{font-size:1.25rem;line-height:1}.ep-section-count{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:400;margin-left:auto}.ep-recent{background:#f8fafc;border:1px solid var(--color-border-light);border-radius:var(--radius);padding:1rem;margin-bottom:.5rem}.ep-recent .ep-section-title{margin-top:0;font-size:var(--text-sm);color:var(--color-text-secondary);border:none;padding:0;margin-bottom:.5rem}.ep-toast{position:absolute;transform:translate(-50%,-100%);background:var(--gray-900, #1a1a2e);color:#fff;padding:.35rem .75rem;border-radius:999px;font-size:var(--text-xs, .75rem);font-weight:600;box-shadow:0 4px 12px #0003;z-index:1000;pointer-events:none;white-space:nowrap;animation:ep-toastIn .2s ease-out}@keyframes ep-toastIn{0%{opacity:0;transform:translate(-50%,-100%) scale(.8)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.ep-no-results{text-align:center;color:var(--color-text-tertiary);padding:2rem 0;font-size:var(--text-base)}.ep-total{text-align:center;font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:1.5rem}.ep-related{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.ep-related .btn{text-decoration:none;padding:.6rem 1.2rem}@media(max-width:600px){.ep-emoji-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr))}.ep-emoji-btn{font-size:1.5rem}.ep-cat-btn-label{display:none}.ep-cat-btn{padding:.4rem .5rem}.ep-related{flex-direction:column}.ep-related .btn{text-align:center}}@media(max-width:400px){.ep-emoji-grid{grid-template-columns:repeat(auto-fill,minmax(38px,1fr))}.ep-emoji-btn{font-size:1.35rem}}
