* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Roboto, Helvetica, sans-serif; }

body { background-color: #202329; color: white; padding: 20px; padding-bottom: 50px; }

header { text-align: center; margin-bottom: 25px; }
h1 { color: #00b5cc; font-size: 2.2rem; margin-bottom: 20px; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); }

.search-box { 
    display: flex; gap: 8px; margin-bottom: 25px; 
    background: rgba(255, 255, 255, 0.05); padding: 10px; 
    border-radius: 50px; backdrop-filter: blur(5px); 
    border: 1px solid rgba(255,255,255,0.1);
}

input { flex: 1; padding: 14px 20px; border-radius: 50px; border: none; background: rgba(0,0,0,0.2); color: white; font-size: 1rem; }
input:focus { outline: 2px solid #8833ff; }

.voice-btn, .search-btn { padding: 12px 20px; border: none; border-radius: 50px; font-weight: bold; cursor: pointer; font-size: 1rem; transition: transform 0.1s; }
.voice-btn { background: #ffcc00; color: black; font-size: 1.3rem; }
.search-btn { background: #8833ff; color: white; }
.voice-btn:active, .search-btn:active { transform: scale(0.95); }

#results { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px; }

.card { 
    background: linear-gradient(135deg, #3c3e44 0%, #292a2f 100%); 
    border-radius: 15px; overflow: hidden; text-align: center; font-size: 0.95rem;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.05);
}
.card img { width: 100%; display: block; border-bottom: 2px solid rgba(255,255,255,0.1); }
.card p { padding: 15px; font-weight: bold; color: #f5f5f5; }