*{box-sizing:border-box;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.weather-app{max-width:800px;margin:0 auto;padding:20px;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.title{text-align:center;margin-bottom:30px;color:#2c3e50;font-size:2.5rem}.search-box{display:flex;margin-bottom:20px;position:relative}.search-box input{flex:1;padding:12px 15px;font-size:1rem;border:1px solid #ddd;border-radius:4px 0 0 4px;outline:none;transition:border-color .3s}.search-box input:focus{border-color:#3498db}.search-box button{padding:12px 20px;background-color:#3498db;color:#fff;border:none;border-radius:0 4px 4px 0;cursor:pointer;font-size:1rem;transition:background-color .3s}.search-box button:hover{background-color:#2980b9}.search-box button:disabled{background-color:#95a5a6;cursor:not-allowed}.suggestions-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;z-index:10;list-style:none;margin-top:-1px;max-height:200px;overflow-y:auto}.suggestions-list li{padding:10px 15px;cursor:pointer;transition:background-color .2s}.suggestions-list li:hover{background-color:#f5f5f5}.weather-card{background:#fff;border-radius:8px;padding:25px;box-shadow:0 4px 6px #0000001a;text-align:center}.weather-card h2{color:#2c3e50;margin-bottom:15px;font-size:1.8rem}.weather-main{display:flex;align-items:center;justify-content:center;margin-bottom:15px}.weather-main img{width:80px;height:80px;margin-right:15px}.temp{font-size:3rem;font-weight:700;color:#2c3e50}.description{font-size:1.2rem;color:#7f8c8d;margin-bottom:20px;text-transform:capitalize}.weather-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px}.weather-details p{background:#f8f9fa;padding:10px;border-radius:4px;color:#34495e}.loading,.error{text-align:center;padding:15px;margin:20px 0;border-radius:4px}.loading{background-color:#f0f8ff;color:#3498db}.error{background-color:#ffebee;color:#e74c3c}@media (max-width: 768px){.weather-app{padding:15px}.title{font-size:2rem}.weather-main{flex-direction:column}.weather-main img{margin-right:0;margin-bottom:10px}.temp{font-size:2.5rem;margin-bottom:10px}.weather-details{grid-template-columns:1fr}}@media (max-width: 480px){.title{font-size:1.8rem;margin-bottom:20px}.search-box{flex-direction:column}.search-box input{border-radius:4px;margin-bottom:5px}.search-box button{border-radius:4px}.weather-card{padding:15px;margin:0 -15px}.weather-card h2{font-size:1.5rem}.temp{font-size:2rem}}
