:root{
  --glass: rgba(255,255,255,0.06);
  --muted: #666;
  --accent: #ffd166;
  --rainBlue1: #7fd3ff;
  --rainBlue2: #2b8cff;
  --sun1: #fff1b6;
  --sun2: #ffd166;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:'Poppins',system-ui,Arial,sans-serif;background:linear-gradient(180deg,#89f7fe 0%, #66a6ff 100%);color:#042}

/* LAYOUT */
.sidebar{
  width:220px;padding:18px;background:linear-gradient(180deg,#0f1724,#0b1a2b);color:white;min-height:100vh;position:fixed;left:0;top:0;
  display:flex;flex-direction:column;gap:18px;
}
.brand{display:flex;align-items:center;gap:10px}
.brand-ico{font-size:28px}
.brand-text{font-weight:700;font-size:18px}
.side-nav{display:flex;flex-direction:column;gap:8px}
.nav-btn{background:transparent;border:1px solid rgba(255,255,255,0.06);color:inherit;padding:10px;border-radius:10px;text-align:left;cursor:pointer;font-weight:600}
.nav-btn.active{background:white;color:#0b1220;box-shadow:0 10px 30px rgba(2,6,23,0.3)}
.note{opacity:0.75;font-size:13px;line-height:1.2}

/* MAIN */
.main{margin-left:220px;padding:28px;min-height:100vh}
.page{display:none}
.page.active{display:block}

/* HERO */
.hero{background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));padding:40px;border-radius:14px;max-width:900px}
.hero h1{font-size:34px;margin:0 0 8px}
.big-cta{margin-top:14px;padding:12px 18px;border-radius:10px;border:none;background:var(--accent);cursor:pointer;font-weight:700}

/* WEATHER UI */
.controls{display:flex;flex-direction:column;gap:16px;max-width:900px}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
label{font-weight:600;color:#042;margin-right:6px}
select{padding:10px;border-radius:10px;border:1px solid rgba(0,0,0,0.08)}
.btn-primary{padding:10px 14px;border-radius:10px;border:none;background:#2dd4bf;color:#042;font-weight:700;cursor:pointer}
.quick-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.city-btn{padding:10px 14px;border-radius:10px;border:none;background:linear-gradient(45deg,#ff7a7a,#ffb199);color:white;font-weight:700;cursor:pointer;transition:transform .18s}
.city-btn:hover{transform:translateY(-6px)}

/* CARD */
.weather-card{display:flex;gap:18px;padding:18px;margin-top:18px;border-radius:14px;background:rgba(255,255,255,0.9);backdrop-filter:blur(6px);border:1px solid rgba(2,6,23,0.06);max-width:900px;align-items:center;color:#042}
.placeholder{opacity:0.95}
.wc-left{min-width:140px;text-align:center}
.wc-icon{font-size:64px}
.wc-temp{font-size:28px;font-weight:800;margin-top:6px}
.wc-right{flex:1}
.wc-right h2{margin:0;font-size:22px}
.wc-cond{opacity:.9;margin-top:6px}
.pct-row{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}
.pct{flex:1;min-width:180px}
.pct-label{font-weight:700;margin-bottom:8px}
.bar{height:12px;background:rgba(0,0,0,0.06);border-radius:999px;overflow:hidden;border:1px solid rgba(2,6,23,0.04)}
.fill{height:100%;width:0%;border-radius:999px;transition:width 900ms ease}
.fill.rain{background:linear-gradient(90deg,var(--rainBlue1),var(--rainBlue2))}
.fill.sun{background:linear-gradient(90deg,var(--sun1),var(--sun2))}
.pct-num{margin-top:8px;font-weight:700;opacity:0.95}
.wc-note{margin-top:12px;color:rgba(0,0,0,0.55)}

/* RAINDROPS container */
#raindrops{position:fixed;left:220px;right:0;top:0;bottom:0;pointer-events:none;z-index:40}

/* THEME */
.theme-rain{background:linear-gradient(180deg,#6d83c9 0%, #2b3a67 100%)}
.theme-sun{background:linear-gradient(180deg,#fff1b6 0%, #ffd166 100%)}

/* ABOUT */
.about-card{max-width:800px;padding:18px;border-radius:12px;background:rgba(255,255,255,0.9);color:#042}

/* responsive */
@media (max-width:880px){
  .sidebar{position:relative;width:100%;min-height:auto;flex-direction:row;align-items:center;padding:10px}
  .main{margin-left:0;padding:18px}
  #raindrops{left:0}
  .weather-card{flex-direction:column;align-items:center}
}
