﻿.emoji-keyboard-page{min-height:100vh;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);padding-bottom:4rem}.emoji-keyboard-page .hero{text-align:center;padding:4rem 2rem 3rem;color:#fff}.emoji-keyboard-page .hero .eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;opacity:.9;margin-bottom:.5rem}.emoji-keyboard-page .hero h1{font-size:2.5rem;font-weight:800;margin:0 0 1rem;line-height:1.2}@media(max-width: 768px){.emoji-keyboard-page .hero h1{font-size:2rem}}.emoji-keyboard-page .hero .subtitle{font-size:1.125rem;opacity:.95;max-width:600px;margin:0 auto 2rem;line-height:1.6}.emoji-keyboard-page .hero .hero-badges{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.emoji-keyboard-page .hero .hero-badges .badge{background:hsla(0,0%,100%,.2);backdrop-filter:blur(10px);padding:.5rem 1rem;border-radius:2rem;font-size:.875rem;font-weight:500}.emoji-keyboard-page .ek-main{max-width:1400px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start}@media(max-width: 1024px){.emoji-keyboard-page .ek-main{grid-template-columns:1fr;gap:1.5rem}}.emoji-keyboard-page .ek-sidebar{position:sticky;top:2rem;background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px rgba(0,0,0,.07)}@media(max-width: 1024px){.emoji-keyboard-page .ek-sidebar{position:relative;top:0}}.emoji-keyboard-page .ek-search-box{position:relative;margin-bottom:1.5rem}.emoji-keyboard-page .ek-search-box input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e5e7eb;border-radius:.75rem;font-size:.9375rem;transition:all .2s}.emoji-keyboard-page .ek-search-box input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.emoji-keyboard-page .ek-search-box .ek-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.25rem;pointer-events:none}.emoji-keyboard-page .ek-categories{display:flex;flex-direction:column;gap:.5rem}.emoji-keyboard-page .ek-category{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:rgba(0,0,0,0);border-radius:.5rem;cursor:pointer;transition:all .2s;text-align:left;width:100%}.emoji-keyboard-page .ek-category:hover{background:#f3f4f6}.emoji-keyboard-page .ek-category.active{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff}.emoji-keyboard-page .ek-category.active .ek-cat-count{background:hsla(0,0%,100%,.2);color:#fff}.emoji-keyboard-page .ek-category .ek-cat-icon{font-size:1.5rem;flex-shrink:0}.emoji-keyboard-page .ek-category .ek-cat-name{flex:1;font-size:.875rem;font-weight:500;line-height:1.3}.emoji-keyboard-page .ek-category .ek-cat-count{font-size:.75rem;background:#f3f4f6;color:#6b7280;padding:.25rem .5rem;border-radius:.375rem;font-weight:600;min-width:2rem;text-align:center}.emoji-keyboard-page .ek-content{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px rgba(0,0,0,.07);min-height:600px}@media(max-width: 768px){.emoji-keyboard-page .ek-content{padding:1.5rem}}.emoji-keyboard-page .ek-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f3f4f6;gap:1rem;flex-wrap:wrap}.emoji-keyboard-page .ek-header h2{font-size:1.5rem;font-weight:700;margin:0;color:#1f2937}.emoji-keyboard-page .ek-header .ek-header-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.emoji-keyboard-page .ek-header .ek-btn-multi-mode{padding:.625rem 1.125rem;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:.75rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.emoji-keyboard-page .ek-header .ek-btn-multi-mode .ek-mode-icon{font-size:1rem}.emoji-keyboard-page .ek-header .ek-btn-multi-mode:hover{background:#f3f4f6;transform:translateY(-1px)}.emoji-keyboard-page .ek-header .ek-btn-multi-mode.active{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff;border-color:rgba(0,0,0,0)}.emoji-keyboard-page .ek-header .ek-btn-multi-mode:active{transform:translateY(0)}.emoji-keyboard-page .ek-header .ek-size-selector{display:flex;align-items:center;gap:.5rem;background:#fff;padding:.5rem;border-radius:.75rem;border:2px solid #e5e7eb}.emoji-keyboard-page .ek-header .ek-size-selector .ek-size-label{font-size:.75rem;color:#6b7280;font-weight:600;white-space:nowrap}.emoji-keyboard-page .ek-header .ek-size-selector .ek-size-buttons{display:flex;gap:.25rem}.emoji-keyboard-page .ek-header .ek-size-selector .ek-size-btn{width:32px;height:32px;border:2px solid #e5e7eb;background:#fff;color:#6b7280;border-radius:.5rem;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.emoji-keyboard-page .ek-header .ek-size-selector .ek-size-btn:hover{border-color:#667eea;color:#667eea;transform:scale(1.05)}.emoji-keyboard-page .ek-header .ek-size-selector .ek-size-btn.active{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff;border-color:rgba(0,0,0,0)}.emoji-keyboard-page .ek-header .ek-size-selector .ek-size-btn:active{transform:scale(0.95)}.emoji-keyboard-page .ek-header .ek-stats{font-size:.875rem;color:#6b7280;font-weight:500}.emoji-keyboard-page .ek-header .ek-multi-actions{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);border-radius:.75rem;color:#fff;animation:ekSlideIn .3s ease-out}.emoji-keyboard-page .ek-header .ek-multi-actions .ek-selected-count{font-size:.875rem;font-weight:600}.emoji-keyboard-page .ek-header .ek-multi-actions button{padding:.375rem .75rem;border:none;background:hsla(0,0%,100%,.2);color:#fff;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.25rem}.emoji-keyboard-page .ek-header .ek-multi-actions button:hover{background:hsla(0,0%,100%,.3);transform:translateY(-1px)}.emoji-keyboard-page .ek-header .ek-multi-actions button:active{transform:translateY(0)}.emoji-keyboard-page .ek-header .ek-multi-actions button span{font-size:1rem}.emoji-keyboard-page .ek-multi-box{background:linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);border:2px dashed #667eea;border-radius:1rem;padding:1.5rem;margin-bottom:2rem;animation:ekSlideIn .3s ease-out}.emoji-keyboard-page .ek-multi-box .ek-multi-input-wrapper{position:relative;margin-bottom:1rem}.emoji-keyboard-page .ek-multi-box .ek-multi-input{min-height:80px;max-height:200px;overflow-y:auto;padding:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;font-size:2rem;line-height:1.5;word-break:break-all;white-space:pre-wrap;user-select:all}.emoji-keyboard-page .ek-multi-box .ek-multi-input::-webkit-scrollbar{width:8px}.emoji-keyboard-page .ek-multi-box .ek-multi-input::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.emoji-keyboard-page .ek-multi-box .ek-multi-input::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.emoji-keyboard-page .ek-multi-box .ek-multi-input::-webkit-scrollbar-thumb:hover{background:#5568d3}.emoji-keyboard-page .ek-multi-box .ek-multi-placeholder{position:absolute;top:1rem;left:1rem;color:#9ca3af;font-size:.875rem;pointer-events:none}.emoji-keyboard-page .ek-multi-box .ek-multi-actions-box{display:flex;gap:.75rem;justify-content:flex-end}.emoji-keyboard-page .ek-multi-box .ek-multi-actions-box button{padding:.625rem 1.25rem;border:none;border-radius:.75rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.emoji-keyboard-page .ek-multi-box .ek-multi-actions-box button span{font-size:1rem}.emoji-keyboard-page .ek-multi-box .ek-multi-actions-box button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.emoji-keyboard-page .ek-multi-box .ek-multi-actions-box button:active{transform:translateY(0)}.emoji-keyboard-page .ek-multi-box .ek-multi-actions-box .ek-btn-copy-all{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff}.emoji-keyboard-page .ek-multi-box .ek-multi-actions-box .ek-btn-clear-all{background:#f3f4f6;color:#6b7280}.emoji-keyboard-page .ek-multi-box .ek-multi-actions-box .ek-btn-clear-all:hover{background:#e5e7eb}.emoji-keyboard-page .ek-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(60px, 1fr));gap:.5rem}@media(max-width: 768px){.emoji-keyboard-page .ek-grid{grid-template-columns:repeat(auto-fill, minmax(50px, 1fr))}}.emoji-keyboard-page .ek-grid.ek-size-small{gap:.5rem}.emoji-keyboard-page .ek-grid.ek-size-medium{gap:.5rem}.emoji-keyboard-page .ek-grid.ek-size-large{gap:.5rem}.emoji-keyboard-page .ek-grid.ek-size-xlarge{gap:.5rem}.emoji-keyboard-page .ek-emoji-item{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:2rem;background:#f9fafb;border:2px solid rgba(0,0,0,0);border-radius:.75rem;cursor:pointer;transition:all .2s;position:relative;user-select:none}.emoji-keyboard-page .ek-emoji-item:hover{background:#f3f4f6;border-color:#667eea;transform:scale(1.1);z-index:1}.emoji-keyboard-page .ek-emoji-item:active{transform:scale(0.95)}.emoji-keyboard-page .ek-emoji-item.selected{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);border-color:#667eea;transform:scale(1.05)}.emoji-keyboard-page .ek-emoji-item.selected::after{content:"✓";position:absolute;top:2px;right:2px;width:18px;height:18px;background:#fff;color:#667eea;border-radius:50%;font-size:.75rem;display:flex;align-items:center;justify-content:center;font-weight:700}.emoji-keyboard-page .ek-emoji-item.selected:hover{transform:scale(1.1)}.emoji-keyboard-page .ek-size-small .ek-emoji-item{font-size:1.25rem}.emoji-keyboard-page .ek-size-medium .ek-emoji-item{font-size:2rem}.emoji-keyboard-page .ek-size-large .ek-emoji-item{font-size:3rem}.emoji-keyboard-page .ek-size-xlarge .ek-emoji-item{font-size:4rem}.emoji-keyboard-page .ek-loading{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.emoji-keyboard-page .ek-loading .ek-spinner{width:48px;height:48px;border:4px solid #f3f4f6;border-top-color:#667eea;border-radius:50%;animation:ekSpin .8s linear infinite;margin-bottom:1rem}.emoji-keyboard-page .ek-loading p{font-size:.9375rem;font-weight:500}.emoji-keyboard-page .ek-empty{text-align:center;padding:4rem 2rem;color:#6b7280}.emoji-keyboard-page .ek-empty .ek-empty-icon{font-size:4rem;display:block;margin-bottom:1rem}.emoji-keyboard-page .ek-empty p{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:.5rem}.emoji-keyboard-page .ek-empty small{font-size:.875rem}.emoji-keyboard-page .ek-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:1rem}.emoji-keyboard-page .ek-modal.active{display:flex}.emoji-keyboard-page .ek-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px)}.emoji-keyboard-page .ek-modal-content{position:relative;background:#fff;border-radius:1.5rem;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);animation:ekModalIn .3s ease-out}.emoji-keyboard-page .ek-modal-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:none;background:#f3f4f6;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;transition:all .2s;color:#6b7280}.emoji-keyboard-page .ek-modal-close:hover{background:#e5e7eb;transform:rotate(90deg)}.emoji-keyboard-page .ek-modal-emoji{font-size:6rem;text-align:center;margin-bottom:1rem;user-select:none}.emoji-keyboard-page .ek-modal-label{font-size:1.5rem;font-weight:700;text-align:center;margin:0 0 1rem;color:#1f2937}.emoji-keyboard-page .ek-modal-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem;min-height:2rem}.emoji-keyboard-page .ek-modal-tags .ek-tag{background:#f3f4f6;color:#4b5563;padding:.375rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.emoji-keyboard-page .ek-modal-copy{width:100%;padding:1rem;border:none;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff;font-size:1rem;font-weight:600;border-radius:.75rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.emoji-keyboard-page .ek-modal-copy:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.emoji-keyboard-page .ek-modal-copy:active{transform:translateY(0)}.emoji-keyboard-page .ek-modal-copy .ek-copy-icon{font-size:1.25rem}.emoji-keyboard-page .ek-modal-info{background:#f9fafb;border-radius:.75rem;padding:1rem}.emoji-keyboard-page .ek-info-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.emoji-keyboard-page .ek-info-item .ek-info-label{color:#6b7280;font-weight:500}.emoji-keyboard-page .ek-info-item code{background:#fff;padding:.25rem .5rem;border-radius:.375rem;font-family:"Courier New",monospace;font-size:.8125rem;color:#667eea;border:1px solid #e5e7eb}.emoji-keyboard-page .ek-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);background:#1f2937;color:#fff;padding:1rem 1.5rem;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);display:flex;align-items:center;gap:.75rem;font-weight:500;z-index:1001;opacity:0;transition:all .3s}.emoji-keyboard-page .ek-toast.active{opacity:1;transform:translateX(-50%) translateY(0)}.emoji-keyboard-page .ek-toast .ek-toast-icon{font-size:1.25rem}@keyframes ekSpin{to{transform:rotate(360deg)}}@keyframes ekModalIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes ekSlideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
