:root{
  --bg1:#0f2027; --bg2:#203a43; --bg3:#2c5364;
  --card:rgba(255,255,255,.1); --card-border:rgba(255,255,255,.18);
  --text:#fff; --muted:rgba(255,255,255,.72);
  --accent:#ffd166; --accent2:#06d6a0;
}
*{box-sizing:border-box}
body{
  margin:0; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,sans-serif;
  background:linear-gradient(135deg,var(--bg1),var(--bg2) 50%,var(--bg3));
  color:var(--text); min-height:100vh;
}
.wrap{max-width:1080px;margin:0 auto;padding:24px 16px 48px}
header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px}
h1{margin:0;font-size:clamp(1.6rem,3.5vw,2.4rem)}
.sub{color:var(--muted);margin:6px 0 0}
.badge{display:inline-block;background:rgba(255,255,255,.14);border:1px solid var(--card-border);
  padding:6px 12px;border-radius:999px;font-size:.9rem;color:var(--text)}
.grid{display:grid;gap:14px}
.grid.two{grid-template-columns:1fr 1fr}
@media(max-width:760px){.grid.two{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--card-border);border-radius:18px;
  padding:20px;backdrop-filter:blur(8px);box-shadow:0 8px 30px rgba(0,0,0,.25)}
.hero{display:flex;align-items:center;gap:18px}
.hero .icon{font-size:4.2rem;line-height:1}
.hero .temp{font-size:3.6rem;font-weight:800;margin:0}
.hero .desc{font-size:1.15rem;margin:2px 0;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
@media(max-width:520px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px}
.stat small{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.stat strong{font-size:1.15rem}
.stat .muted-inline{color:var(--muted)}
.daily{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:760px){.daily{grid-template-columns:repeat(2,1fr)}}
.day{text-align:center;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 8px}
.day .e{font-size:2rem}
.day .t{font-weight:700}
.day small{color:var(--muted)}
h2{margin:26px 0 10px;font-size:1.3rem}
.fday{text-align:center}
.fday .fecha{color:var(--muted);font-size:.95rem;text-transform:capitalize}
.fday .icon-big{font-size:3.6rem;margin:8px 0;line-height:1}
.fday .tmax{font-size:2rem;font-weight:800;margin:0}
.fday .tmin{color:var(--muted);font-size:1.05rem}
.fday .desc{color:var(--muted);margin:4px 0 14px}
.fday .details{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left}
.fday .detail{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px}
.fday .detail small{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}
.fday .detail strong{font-size:1.05rem}
.nota{color:var(--muted);font-size:.9rem}
footer{margin-top:28px;color:var(--muted);font-size:.85rem;text-align:center}
footer a{color:#fff}
.visitas{display:inline-block;margin-top:8px;background:rgba(255,255,255,.14);border:1px solid var(--card-border);padding:4px 12px;border-radius:999px;font-weight:700;color:var(--text)}
.error{background:#7f1d1d;border:1px solid #fca5a5;color:#fee2e2;padding:14px 16px;border-radius:12px}
.refresh{margin-left:8px}
a.btn{color:#06202a;background:var(--accent);padding:8px 14px;border-radius:999px;text-decoration:none;font-weight:700}
