:root{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-card: #1e1e1e;--text-primary: #ffffff;--text-secondary: #a0a0a0;--accent-primary: #0071e3;--accent-hover: #0077ed;--border-color: #2d2d2d;--error-color: #ff3b30;--success-color: #34c759}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--bg-primary) 0%,#1a1a2e 100%);color:var(--text-primary);min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{min-height:100vh;padding:2rem 1rem}.container{max-width:900px;margin:0 auto}.header{text-align:center;margin-bottom:3rem}.logo{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.5rem}.logo-icon{font-size:3rem}.header h1{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:var(--text-secondary);font-size:1.1rem}.generator-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #0000004d}.input-group{display:flex;gap:1rem;margin-bottom:1.5rem}.emoji-input{flex:1;padding:1rem 1.5rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:1rem;transition:all .3s ease}.emoji-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #0071e31a}.emoji-input:disabled{opacity:.5;cursor:not-allowed}.generate-btn{padding:1rem 2rem;background:linear-gradient(135deg,var(--accent-primary) 0%,#0051a8 100%);color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #0071e34d}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{padding:1rem;background:#ff3b301a;border:1px solid var(--error-color);border-radius:.5rem;color:var(--error-color);margin-bottom:1rem}.emoji-display{text-align:center;padding:2rem;background:var(--bg-secondary);border-radius:1rem;margin-top:1.5rem}.emoji-image{width:200px;height:200px;object-fit:contain;margin-bottom:1rem;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.emoji-prompt{color:var(--text-secondary);margin-bottom:1rem;font-style:italic}.download-btn{padding:.75rem 1.5rem;background:var(--success-color);color:#fff;border:none;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.download-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #34c7594d}.examples-section{margin-bottom:2rem}.examples-section h3{text-align:center;margin-bottom:1rem;color:var(--text-secondary);font-size:1.1rem}.examples-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.example-btn{padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .3s ease;font-size:.9rem}.example-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--accent-primary);transform:translateY(-2px)}.example-btn:disabled{opacity:.5;cursor:not-allowed}.gallery-section{margin-top:3rem}.gallery-section h3{text-align:center;margin-bottom:1.5rem;font-size:1.5rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.gallery-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem;cursor:pointer;transition:all .3s ease}.gallery-item:hover{transform:translateY(-4px);border-color:var(--accent-primary);box-shadow:0 8px 16px #0000004d}.gallery-item img{width:100%;height:120px;object-fit:contain;margin-bottom:.5rem}.gallery-item p{font-size:.8rem;color:var(--text-secondary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.header h1{font-size:2rem}.input-group{flex-direction:column}.examples-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}
