:root{--bg1:#0f172a;--bg2:#0b1220;--card:#0f1721;--accent:#6ee7b7;--muted:#94a3b8} *{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial;background:linear-gradient(180deg,var(--bg1),var(--bg2));color:#e6eef8;min-height:100vh;display:flex;flex-direction:column} header{padding:36px 20px;text-align:center} header h1{margin:0;font-size:clamp(20px,3vw,32px);letter-spacing:-0.5px} header p{margin:8px 0 0;color:var(--muted)} main{width:min(1200px,94%);margin:28px auto 60px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px} .card{background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(2,6,23,0.6);transition:transform .22s,box-shadow .22s} .card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(2,6,23,0.65)} .photo{width:100%;height:160px;object-fit:cover;display:block} .card-body{padding:14px} .city{display:flex;align-items:center;justify-content:space-between} .city h2{margin:0;font-size:18px} .temp{font-weight:700;color:var(--accent)} .meta{display:flex;gap:10px;margin-top:8px;color:var(--muted);font-size:13px} .meta span{display:inline-flex;align-items:center;gap:8px} .badge{background:rgba(255,255,255,0.03);padding:6px 10px;border-radius:999px;font-size:13px} footer{color:var(--muted);text-align:center;padding:20px 12px 36px;font-size:13px} .sunny{border-top:4px solid #ffd700} .partly-cloudy{border-top:4px solid #87ceeb} .light-rain{border-top:4px solid #4682b4} .mostly-cloudy{border-top:4px solid #778899} .overcast{border-top:4px solid #696969} .cloudy{border-top:4px solid #a9a9a9} @media (max-width:420px){.photo{height:140px}.card-body{padding:12px}}