/* Royal (CEO) theme */
:root{
  --ink:#e9e7ff;
  --ink-strong:#ffffff;
  --ink-dim:rgba(233,231,255,.82);
  --line:rgba(255,255,255,.12);
  --royal-1:#0b1220;
  --royal-2:#11143a;
  --royal-3:#1a1758;
  --royal-4:#2a1c7a;
  --accent:#a78bfa;
}
.body-wrapper, .weather-widget{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.body-wrapper{ background: radial-gradient(1600px 1000px at 70% -10%, var(--royal-4), var(--royal-2) 45%, var(--royal-1) 100%) fixed; }
.weather-widget{
  color:var(--ink);
  background: linear-gradient(160deg, rgba(22,16,58,.65) 0%, rgba(15,12,36,.55) 100%), linear-gradient(120deg, rgba(88,28,135,.35), rgba(67,56,202,.35) 50%, rgba(30,27,75,.38));
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow: 0 30px 80px -30px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.05);
}
#dateTime{ letter-spacing:.08em; text-transform:uppercase; opacity:.85 }
.precipitation{ background: linear-gradient(180deg, rgba(99,102,241,.20), rgba(99,102,241,.10)); border:1px solid rgba(255,255,255,.08) }
.sun-info, .forecast-day{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid var(--line);
  box-shadow: 0 12px 30px -18px rgba(0,0,0,.5);
}
.forecast-day{ transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease }
.forecast-day:hover{ transform: translateY(-2px); border-color: rgba(255,255,255,.25); }

/* Animations */
@keyframes fadeInUp { from { opacity:0; transform: translate3d(0,8px,0);} to { opacity:1; transform: translate3d(0,0,0);} }
@keyframes fadeInScaleUp { from { opacity:0; transform: scale(0.96);} to { opacity:1; transform: scale(1);} }
@keyframes gentleBob { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-2px);} }
.animate-fadeInUp{ animation: fadeInUp .6s ease both; }
.animate-fadeInScaleUp{ animation: fadeInScaleUp .5s ease .05s both; }
.animate-gentleBob{ animation: gentleBob 2.4s ease-in-out infinite; }

/* Minimal modal fallback (works without Tailwind) */
#loc-prompt-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.6)}
#loc-prompt-overlay .nv-panel{width:100%;max-width:520px;border-radius:16px;background:#fff;color:#0f172a;box-shadow:0 24px 60px rgba(0,0,0,.35);overflow:hidden}
#loc-prompt-overlay .nv-head{padding:16px 20px;background:#0b1220;color:#fff}
#loc-prompt-overlay .nv-body{padding:20px}
#loc-prompt-overlay .nv-actions{padding:12px 20px;background:#f8fafc;text-align:right}
#loc-prompt-overlay .nv-btn{display:block;width:100%;margin:8px 0;padding:10px 14px;border-radius:10px;border:1px solid #e2e8f0;background:#0f172a;color:#fff;cursor:pointer}
#loc-prompt-overlay .nv-btn.primary{background:#4f46e5}
#loc-prompt-overlay input[type="text"]{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px}
#loc-prompt-overlay .nv-close{background:none;border:none;color:#334155;cursor:pointer}
/* Title stroke/halo for readability on rich gradients */
/* White outline + purple glow for title */
.nv-title-stroked{
  -webkit-text-stroke: 1px rgba(255,255,255,0.95);
  text-shadow:
    0 0 2px rgba(255,255,255,0.95),
    0 0 10px rgba(167,139,250,0.90),
    0 2px 12px rgba(0,0,0,0.35);
}
