*{margin:0;padding:0;box-sizing:border-box}body{font-family:Microsoft YaHei,PingFang SC,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.container{max-width:1400px;margin:0 auto}header{text-align:center;color:#fff;margin-bottom:30px}h1{font-size:2.5em;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.subtitle{font-size:1.1em;opacity:.9}.search-box{background:#fff;border-radius:50px;padding:15px 30px;margin:20px 0;display:flex;align-items:center;box-shadow:0 4px 15px rgba(0,0,0,.2)}.search-box input{border:none;outline:none;font-size:16px;flex:1 1;padding:10px}.search-box button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 30px;border-radius:25px;cursor:pointer;font-size:16px;transition:transform .2s}.search-box button:hover{transform:scale(1.05)}.climate-tabs{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;justify-content:center}.climate-tab{background:hsla(0,0%,100%,.2);color:#fff;border:2px solid #fff;padding:10px 20px;border-radius:25px;cursor:pointer;transition:all .3s;font-size:14px}.climate-tab.active,.climate-tab:hover{background:#fff;color:#667eea}.weather-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px;margin-bottom:30px}.weather-card{background:#fff;border-radius:15px;padding:20px;box-shadow:0 4px 15px rgba(0,0,0,.2);transition:transform .3s,box-shadow .3s}.weather-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,.3)}.city-name{font-size:1.5em;font-weight:700;color:#333;margin-bottom:5px}.climate-zone{color:#888;font-size:.9em;margin-bottom:15px}.current-weather{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.temperature{font-weight:700;color:#667eea}.temperature,.weather-icon{font-size:3em}.weather-details{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;font-size:.9em}.detail-item{background:#f5f5f5;padding:8px;border-radius:8px}.detail-label{color:#888;font-size:.8em}.detail-value{color:#333;font-weight:700}.forecast{margin-top:15px;border-top:1px solid #eee;padding-top:15px}.forecast-title{font-size:.9em;color:#888;margin-bottom:10px}.forecast-days{display:flex;justify-content:space-between;font-size:.8em}.forecast-day{text-align:center}.forecast-date{color:#888;margin-bottom:3px}.forecast-temp{font-weight:700;color:#667eea}.stats-section{background:#fff;border-radius:15px;padding:20px;margin-top:30px;box-shadow:0 4px 15px rgba(0,0,0,.2)}.stats-title{font-size:1.3em;font-weight:700;color:#333;margin-bottom:15px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:15px;gap:15px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px;border-radius:10px;text-align:center}.stat-value{font-size:2em;font-weight:700}.stat-label{font-size:.9em;opacity:.9}@media (max-width:768px){h1{font-size:1.8em}.weather-grid{grid-template-columns:1fr}.climate-tabs{font-size:12px}.temperature{font-size:2.5em}}.no-results{text-align:center;color:#fff;font-size:1.2em;padding:50px;background:rgba(0,0,0,.2);border-radius:15px}