:root {
  --brand:#6f42c1;
  --bg:#0f1020;
  --muted:#aeb3bb;
  --bg-2:#1b1d36;
  --surface:#141529;
  --surface-2:#0b0c1a;
  --border:#3a3c5a;
  --border-soft:#22233f;
  --text:#e9eaee;
  --text-muted:#b7bcc6;
  --link:#c9a5ff;
  --link-hover:#e6d7ff;

  /* Bootstrap variable overrides for dark theme */
  --bs-body-color: var(--text);
  --bs-body-bg: var(--bg);
  --bs-heading-color: var(--text);
  --bs-border-color: var(--border);
  --bs-card-bg: var(--surface);
  --bs-card-color: var(--text);
  --bs-link-color: var(--link);
  --bs-link-hover-color: var(--link-hover);
}
html,body{ height:100%; }
body{ background:linear-gradient(180deg,var(--bg),var(--bg-2)); color:var(--text); }
.navbar{ backdrop-filter:saturate(180%) blur(6px); background-color:rgba(18,19,35,.88)!important; }
.nav-link, .navbar-brand{ color:#fff!important; }
.nav-link:hover{ color:#fff!important; opacity:.9; }
.btn-brand{ background:var(--brand); color:#fff; border:none; }
.btn-brand:hover{ filter:brightness(.95); }
.btn-outline-light{ color:var(--text); border-color:rgba(255,255,255,.6); }
.btn-outline-light:hover{ color:#fff; border-color:rgba(255,255,255,.85); background-color:rgba(255,255,255,.12); }

.card{ background:var(--surface); border:1px solid var(--border); }
.card h5, .card strong{ color:var(--text); }
.card p{ color:var(--text); }
footer{ color:var(--muted); }
pre.code{ background:var(--surface-2); border:1px solid var(--border); padding:1rem; border-radius:.75rem; color:#dfe1f5; }
.logo{ height:36px; }
.hero-title{ font-weight:800; letter-spacing:.5px; }
.hero-sub{ color:#cfd2da; }
.badge-soft{ background:rgba(111,66,193,.15); color:#d3b6ff; border:1px solid rgba(111,66,193,.25); }

/* Links and muted text */
a{ color:var(--link); }
a:hover{ color:var(--link-hover); text-decoration:underline; }
.text-muted{ color:var(--text-muted)!important; }

/* Lists and borders on dark background */
.list-group-item{ border-color:var(--border-soft); }
.border-secondary{ border-color:var(--border)!important; }
.badge.bg-secondary{ background-color:#2a2d4a!important; color:var(--text)!important; border:1px solid var(--border-soft); }

/* Forms on dark background */
.form-control, .form-select, textarea{
  background-color:var(--surface-2);
  color:var(--text);
  border:1px solid var(--border);
}
.form-control::placeholder, textarea::placeholder{ color:#9fa5b0; }
.form-control:focus, .form-select:focus, textarea:focus{
  color:var(--text);
  background-color:var(--surface-2);
  border-color:var(--brand);
  box-shadow:0 0 0 .25rem rgba(111,66,193,.25);
}