/* FrozenRealms.org – minimal, fast, Bootstrap-friendly */
/* System fonts = zero extra requests */
:root{
  --fr-bg-top:#e6f2ff;         /* frosty blue */
  --fr-bg-bottom:#ffffff;
  --fr-ink:#111111;
  --fr-muted:#666666;
  --fr-brand:#2a71d0;          /* link / primary */
  --fr-brand-2:#5ba8ff;        /* accent */
  --fr-border:#e5e7eb;         /* light gray */
  --fr-card:#ffffff;
  --fr-success:#1f9d55;
  --fr-warning:#b98500;
  --fr-danger:#b21f2d;
}

@media (prefers-color-scheme: dark){
  :root{
    --fr-bg-top:#0e1a29;
    --fr-bg-bottom:#0b121b;
    --fr-ink:#e5ecf5;
    --fr-muted:#9fb0c5;
    --fr-card:#0f1722;
    --fr-border:#1f2a3a;
    --fr-brand:#5ba8ff;
    --fr-brand-2:#8bc0ff;
  }
  .navbar, .card, .dropdown-menu { background-color: var(--fr-card) !important; }
  .border, .border-top, .border-bottom { border-color: var(--fr-border) !important; }
}

/* Base */
html{scroll-behavior:smooth}
body{
  background: linear-gradient(to bottom, var(--fr-bg-top), var(--fr-bg-bottom));
  color:var(--fr-ink);
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Cantarell,Arial,sans-serif;
}
a{color:var(--fr-brand); text-decoration:underline}
a:hover{text-decoration:none}

/* Navbar */
.navbar-brand{font-weight:800; letter-spacing:.2px}
.nav-link{font-weight:600}
.navbar .btn{border-radius:.65rem}

/* Hero */
.hero{padding:3rem 0}
.hero .lead{color:var(--fr-muted)}

/* Cards */
.card{
  border:1px solid var(--fr-border);
  background:var(--fr-card);
  border-radius:1rem;
}
.card-title{font-size:1.05rem; margin-bottom:.25rem}
.card .muted{color:var(--fr-muted); font-size:.95rem}

/* Buttons – keep Bootstrap but nudge the palette */
.btn-primary{
  background:var(--fr-brand);
  border-color:var(--fr-brand);
}
.btn-primary:hover{
  filter:brightness(.95);
}
.btn-outline-primary{
  color:var(--fr-brand);
  border-color:var(--fr-brand);
}
.btn-outline-primary:hover{
  background:var(--fr-brand);
  color:#fff;
}

/* Utilities */
.muted{color:var(--fr-muted)!important}
.rounded-xl{border-radius:1rem}
.shadow-soft{box-shadow:0 10px 20px rgba(0,0,0,.05)}
.badge-frost{
  background:linear-gradient(180deg,var(--fr-brand-2),var(--fr-brand));
  color:#fff;
}

/* Footer */
.site-footer{font-size:.95rem}
.site-footer a{color:var(--fr-ink); text-decoration:underline}
.site-footer a:hover{text-decoration:none}

/* Social icon buttons */
.social-links a{
  width:40px;height:40px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  border:1px solid var(--fr-border);
  margin-right:.5rem;
  text-decoration:none;
}
.social-links a:hover{background:var(--fr-brand); color:#fff; border-color:transparent}

/* Images: predictable layout (avoid CLS) */
img[loading="lazy"]{content-visibility:auto}

/* Search input */
.fr-search{max-width:560px}

#nav .nav-link,
#nav .nav-link:hover,
#nav .nav-link:active,
#nav .nav-link:focus {
    color: white;
}

