:root{
  --bg: #0b1220;
  --card: rgba(255,255,255,0.92);
  --panel: rgba(17,24,39,0.05);
  --highlight: rgba(99,102,241,0.10);
  --brand: #4f46e5;
}

.bg-soft{
  background: radial-gradient(1200px 600px at 10% 10%, rgba(79,70,229,0.20), transparent 55%),
              radial-gradient(900px 500px at 90% 20%, rgba(14,165,233,0.18), transparent 55%),
              radial-gradient(900px 500px at 40% 90%, rgba(34,197,94,0.16), transparent 55%),
              #0b1220;
  min-height: 100vh;
}

.card{
  background: var(--card);
}

.brand-mark{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-weight: 800;
  letter-spacing: -0.5px;
  background: linear-gradient(135deg, rgba(79,70,229,1), rgba(14,165,233,1));
  color: #fff;
  box-shadow: 0 10px 30px rgba(79,70,229,0.30);
}

.warn-icon{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 900;
  background: rgba(245, 158, 11, 0.25);
  color: #f59e0b;
  flex-shrink: 0;
  font-size: 18px;
}

.alert-info .warn-icon{
  background: rgba(59, 130, 246, 0.25);
  color: #3b82f6;
}

.info-tile{
  border-radius: 18px;
  padding: 14px 14px;
  background: rgba(17,24,39,0.04);
  border: 1px solid rgba(17,24,39,0.06);
}
.tile-title{ font-weight: 700; }
.tile-sub{ font-size: 0.9rem; color: rgba(17,24,39,0.65); }

.code-sample{
  background: rgba(17,24,39,0.06);
  border: 1px dashed rgba(17,24,39,0.20);
  overflow-x: auto;
}

.bg-panel{
  background: var(--panel);
  border: 1px solid rgba(17,24,39,0.06);
}

.bg-highlight{
  background: var(--highlight);
  border: 1px solid rgba(79,70,229,0.18);
}

.rounded-4{ border-radius: 1.25rem !important; }

/* Ensure site name/branding is clearly visible on dark background */
header h1,
header .h3,
header h1.h3 {
  color: #ffffff !important;
  font-weight: 600;
}

/* Override Bootstrap's text-muted for better visibility on dark background */
/* Only target muted text in header and footer (on dark background) */
header .text-muted {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Footer styling */
footer {
  border-top-color: rgba(255, 255, 255, 0.1) !important;
}

footer.border-top {
  border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
}

/* Footer text on dark background */
.bg-soft footer .text-muted {
  color: rgba(255, 255, 255, 0.85) !important;
}

.bg-soft footer h6,
.bg-soft footer .fw-semibold,
.bg-soft footer strong {
  color: rgba(255, 255, 255, 0.95) !important;
}

.bg-soft footer .text-dark {
  color: rgba(255, 255, 255, 0.95) !important;
}

.bg-soft footer a {
  color: rgba(255, 255, 255, 0.75) !important;
}

.bg-soft footer a:hover {
  color: rgba(255, 255, 255, 1) !important;
}

/* Footer text on light background (cards) */
footer .text-muted {
  color: #6c757d !important;
}

footer a.text-muted {
  color: #6c757d !important;
}

footer a.text-muted:hover {
  color: #495057 !important;
}

/* Reset text color for cards to ensure dark text on light background */
.card {
  color: #212529;
}

/* Muted text inside cards uses Bootstrap's default (dark gray on light background) */
.card .text-muted {
  color: #6c757d !important;
}
