body{background-color:#283761;margin:0;padding:0;box-sizing:border-box;font-size:16px;overflow-x:hidden}#root{display:flex;justify-content:center;margin-top:0;width:100%;min-height:100vh;overflow-x:hidden}.weather-app{max-width:100%;width:100%;overflow-x:hidden}@media (min-width: 640px){#root{margin-top:2rem;min-height:auto}.app-container{max-width:400px}}.weather-main-card{background:linear-gradient(to bottom,#1e3a8a,#2563eb);color:#fff;padding:1.5rem;border-radius:1rem 1rem 0 0;height:60vh;display:flex;flex-direction:column;position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;box-sizing:border-box;width:100%}.today-label{font-size:1.2rem;font-weight:500;color:#fff;text-align:center;margin-bottom:.5rem;opacity:.9}.weather-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.weather-header h2{margin:0;font-size:1.2rem;font-weight:500}.weather-middle{display:flex;align-items:center;justify-content:space-between}.icon-button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem}.temperature{font-size:5rem;font-weight:700;margin:1rem 0;line-height:1}.location-info{margin-bottom:.5rem;text-align:right}.city{font-size:1.2rem;font-weight:600;margin:0}.current-date{font-size:.9rem;opacity:.8;margin:.25rem 0 0;font-weight:400}.weather-icon-container{margin-left:auto;margin-right:auto;text-align:center}.weather-description{text-transform:capitalize;font-size:1.1rem;margin-top:.5rem;text-align:center}.search-container{display:flex;width:100%}.search-input{flex:1;padding:.5rem;border:none;border-radius:.5rem;background-color:#fff3;color:#fff;font-size:.9rem}.search-input::placeholder{color:#ffffffb3}.location-button{margin-left:.5rem;background-color:#fff3;border:none;border-radius:.5rem;padding:.5rem;color:#fff;cursor:pointer;transition:background-color .2s}.location-button:hover{background-color:#ffffff4d}.location-button:disabled{opacity:.5;cursor:not-allowed}.weather-loading{display:flex;justify-content:center;align-items:center;height:200px;color:#fffc;font-size:1.2rem}.weather-main-card.loading{opacity:.8}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;color:#fff;background:linear-gradient(to bottom,#3498db,#2980b9)}.forecast-loading{text-align:center;padding:2rem;color:#fff;background-color:#0000001a;border-radius:.5rem;margin-top:1rem}.forecast-section{width:100%}@media (max-width: 400px){.weather-main-card{padding:1rem;height:auto;min-height:75vh;width:100%;box-sizing:border-box}.temperature{font-size:3.5rem}.today-label{font-size:1.1rem}.city{font-size:1rem}.weather-description{font-size:.95rem}.weather-header{margin-bottom:1.5rem}.weather-header h2{font-size:1.1rem}.icon-button{padding:.3rem;font-size:1.3rem}.search-input,.location-button{padding:.6rem}}@media (max-width: 320px){.weather-middle{flex-direction:column;align-items:center}.location-info{text-align:center;margin-top:1rem}.temperature{font-size:3.5rem}.search-container{flex-wrap:wrap}.location-button{margin-left:0;margin-top:.5rem;width:100%;padding:.4rem}.search-input{width:100%}}@media (min-width: 641px) and (max-width: 1024px){.weather-main-card{max-width:450px}}@media (min-width: 1025px){.weather-main-card{max-width:500px}}.forecast-container{background:linear-gradient(to bottom,#2563eb,#1e3a8a);color:#fff;padding:1rem 1.5rem;border-radius:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin-top:-1px}.forecast-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:.5rem}.forecast-header h2{margin:0;font-size:1.2rem;font-weight:500;opacity:.9}.forecast-display{padding:.5rem 0}.forecast-cards{display:flex;justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem;gap:.5rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;-webkit-overflow-scrolling:touch;max-width:100%}.forecast-cards::-webkit-scrollbar{height:5px}.forecast-cards::-webkit-scrollbar-track{background:transparent}.forecast-cards::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:10px}.forecast-card{display:flex;flex-direction:column;align-items:center;padding:.75rem;border-radius:.75rem;background-color:#ffffff1a;flex:0 0 auto;min-width:70px;cursor:pointer;transition:background-color .2s}.forecast-card.active{background-color:#fff3}.forecast-card .day{font-size:.85rem;margin-bottom:.25rem}.forecast-card .icon{display:flex;justify-content:center;align-items:center;margin:-.5rem 0}.forecast-card .icon img{width:40px;height:40px}.forecast-card .temp{font-size:1.1rem;font-weight:500}@media (min-width: 640px){.forecast-container{max-width:400px;margin:-1px auto 0;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.weather-main-card{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}}@media (max-width: 400px){.forecast-container{padding:1rem 1.25rem}.forecast-cards{gap:.75rem}.forecast-card{min-width:56px;padding:.4rem}.forecast-card .day{font-size:.7rem}.forecast-card .temp{font-size:.85rem}.forecast-card .icon img{width:32px;height:32px}.forecast-header h2{font-size:1.1rem}}@media (max-width: 320px){.forecast-card{min-width:48px}}@media (min-width: 641px) and (max-width: 1024px){.forecast-container{max-width:450px}}@media (min-width: 1025px){.forecast-container{max-width:500px}.forecast-cards{justify-content:space-between}.forecast-card{min-width:80px}}
