*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{font-family:Arial,sans-serif}.app{background:linear-gradient(135deg,#3c4864,#657d9d);min-height:100vh;padding:18px 10px}.weather-container{text-align:center;max-width:620px;margin:0 auto}.app-title{color:#fff;margin:0 0 18px;font-size:30px}.loading{color:#fff;margin-top:12px}.error{color:#ff6b6b;margin-top:12px}.search-section{justify-content:center;gap:7px;margin-bottom:18px;display:flex}.search-input{border:none;border-radius:8px;outline:none;width:280px;padding:10px 14px;font-size:14px}.search-button{color:#0f172a;cursor:pointer;background:#38bdf8;border:none;border-radius:8px;padding:10px 17px;font-size:14px;font-weight:600;transition:all .2s}.search-button:hover{background:#7dd3fc;transform:translateY(-2px)}.current-weather{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:18px;max-width:380px;margin:0 auto 15px;padding:18px;box-shadow:0 12px 25px #0003}.city-name{margin:0;font-size:24px;font-weight:600}.weather-icon{width:80px;height:80px;margin:2px 0}.temperature{margin:0;font-size:46px;font-weight:700}.weather-description{text-transform:capitalize;opacity:.85;margin:4px 0 0;font-size:14px}.weather-details{grid-template-columns:repeat(2,1fr);gap:8px;max-width:380px;margin:0 auto 18px;display:grid}.detail-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#ffffff1a;border:1px solid #ffffff26;border-radius:13px;flex-direction:column;gap:4px;padding:12px;display:flex}.detail-label{opacity:.7;font-size:11px}.detail-value{font-size:17px;font-weight:600}.forecast-section{margin-top:8px}.forecast-title{color:#fff;margin:0 0 12px;font-size:20px}.forecast-container{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.forecast-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;text-align:center;background:#ffffff1a;border:1px solid #ffffff26;border-radius:13px;padding:11px 5px;transition:all .2s}.forecast-card:hover{background:#ffffff26;transform:translateY(-3px)}.forecast-date{margin:0;font-size:10px;font-weight:600}.forecast-icon{width:48px;height:48px}.forecast-temperature{margin:2px 0;font-size:16px;font-weight:600}.forecast-description{opacity:.7;text-transform:capitalize;margin:0;font-size:10px}@media (width<=700px){.app{padding:15px 8px}.weather-container{max-width:100%}.app-title{margin-bottom:15px;font-size:28px}.forecast-container{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.forecast-card{min-width:0}}@media (width<=500px){.app{padding:12px 8px}.app-title{margin-bottom:14px;font-size:25px}.search-section{flex-direction:column;gap:6px;margin-bottom:15px}.search-input{box-sizing:border-box;width:100%;padding:10px 12px}.search-button{width:100%;padding:10px}.current-weather{box-sizing:border-box;border-radius:16px;width:100%;margin-bottom:12px;padding:15px}.city-name{font-size:22px}.weather-icon{width:70px;height:70px}.temperature{font-size:40px}.weather-description{font-size:13px}.weather-details{gap:6px;width:100%;max-width:none;margin-bottom:15px}.detail-card{border-radius:11px;padding:10px 6px}.detail-label{font-size:10px}.detail-value{font-size:15px}.forecast-title{margin-bottom:9px;font-size:18px}.forecast-container{grid-template-columns:repeat(2,1fr)}.forecast-card{border-radius:11px;min-width:90px;padding:9px 5px}.forecast-icon{width:45px;height:45px}.forecast-temperature{font-size:15px}.forecast-description{font-size:9px}}@media (width<=350px){.app-title{font-size:23px}.current-weather{padding:13px}.temperature{font-size:36px}.detail-value{font-size:14px}.forecast-container{grid-template-columns:1fr}.forecast-card{min-width:85px}}
