@import "https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap";:root{--bg-color:#f0f2f5;--text-color:#333;--card-bg:#fff;--primary-color:#007bff;--border-color:#ddd}.App.dark{--bg-color:#121212;--text-color:#e0e0e0;--card-bg:#1e1e1e;--primary-color:#007bff;--border-color:#333}*{box-sizing:border-box;margin:0;font-family:Poppins,sans-serif}.App{background-color:var(--bg-color);min-height:100vh;color:var(--text-color);justify-content:center;align-items:center;transition:background-color .3s,color .3s;display:flex}.dashboard-container{background-color:var(--card-bg);border-radius:16px;width:90%;max-width:450px;padding:32px;transition:background-color .3s,box-shadow .3s;box-shadow:0 10px 30px #0000001a}.App.dark .dashboard-container{box-shadow:0 10px 30px #00000080}.header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.header h1{color:var(--text-color);margin:0;font-size:24px}.theme-switcher{border:1px solid var(--border-color);cursor:pointer;color:var(--text-color);background:0 0;border-radius:20px;padding:8px 16px;font-weight:600;transition:all .3s}.theme-switcher:hover{background-color:var(--border-color)}.search-bar{gap:10px;margin-bottom:32px;display:flex}.search-input{border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);border-radius:8px;outline:none;flex:1;padding:14px 16px;font-size:16px;transition:border-color .3s}.search-input:focus{border-color:var(--primary-color)}.search-button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:14px 16px;font-size:16px;font-weight:600;transition:background-color .2s,transform .1s}.search-button:hover{background-color:#0056b3}.App.dark .search-button:hover{background-color:#3182ce}.search-button:active{transform:scale(.98)}.weather-display{text-align:center;background-color:var(--bg-color);border-radius:12px;padding:24px 16px;transition:background-color .3s}.weather-display.loading,.weather-display.empty{color:#888;padding:48px 16px}.weather-city{color:var(--text-color);margin:0 0 8px;font-size:32px}.weather-description{text-transform:capitalize;color:var(--primary-color);margin-bottom:32px;font-size:16px;font-weight:500}.weather-details p{justify-content:space-between;margin:14px 0;padding-bottom:14px;font-size:16px;display:flex}.weather-details p:last-child{border-bottom:none;padding-bottom:0}
