:root {
  --bg: #06080a;
  --panel: #101418;
  --panel-2: #151b20;
  --text: #d7ffe5;
  --muted: #8aa596;
  --green: #35ff8d;
  --green-soft: #1fbf68;
  --border: #26332b;
}

html,
body {
  background: radial-gradient(circle at top, #0d1511 0%, var(--bg) 38%, #030405 100%);
  color: var(--text);
  font-family: "Source Code Pro", monospace;
}

a {
  color: var(--green);
}

a:hover {
  color: #9dffc6;
}

.navbar,
footer {
  background: #050708 !important;
  border-color: var(--border) !important;
}

.card,
.modal-content,
.dropdown-menu,
.list-group-item,
.form-control,
.form-select {
  background-color: var(--panel);
  color: var(--text);
  border-color: var(--border);
}

.form-control:focus,
.form-select:focus {
  background-color: var(--panel-2);
  color: var(--text);
  border-color: var(--green-soft);
  box-shadow: 0 0 0 .2rem rgba(53, 255, 141, .15);
}

.btn-primary {
  background-color: var(--green-soft);
  border-color: var(--green-soft);
  color: #020403;
  font-weight: 700;
}

.btn-primary:hover {
  background-color: var(--green);
  border-color: var(--green);
  color: #020403;
}

.hacker-hero {
  max-width: 760px;
  margin: 2rem auto;
  padding: 2rem;
  background: rgba(16, 20, 24, .82);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 0 30px rgba(53, 255, 141, .08);
}

.hacker-logo {
  display: block;
  max-width: 180px;
  margin: 0 auto 1.5rem;
  opacity: .95;
}

.hacker-kicker {
  color: var(--green);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .85rem;
}

.hacker-muted {
  color: var(--muted);
}

.tab-content > .tab-pane {
  display: none;
}

.tab-content > .active {
  display: block;
}

/* Restore Noggin front-page login/register tabs */

#login-register-tabs {
  max-width: 720px;
  margin: 2rem auto 0;
}

#login-register-tabs ~ .tab-content {
  max-width: 720px;
  margin: 0 auto 2rem;
  padding: 1.5rem;
  background: var(--panel);
  border: 1px solid var(--border);
  border-top: 0;
  border-radius: 0 0 14px 14px;
}

.tab-content > .tab-pane {
  display: none !important;
}

.tab-content > .tab-pane.active,
.tab-content > .tab-pane.show.active {
  display: block !important;
}

.nav-tabs {
  max-width: 720px;
  margin: 2rem auto 0;
  border-bottom: 1px solid var(--border);
}

.nav-tabs .nav-link {
  color: var(--muted);
  background: #050708;
  border-color: var(--border);
}

.nav-tabs .nav-link.active {
  color: var(--green);
  background: var(--panel);
  border-color: var(--border) var(--border) var(--panel);
}

/* Hard restore tab behavior */
.tab-content > .tab-pane {
  display: none !important;
}

.tab-content > .tab-pane.show.active,
.tab-content > .tab-pane.active {
  display: block !important;
}

/* Override Bootstrap light sections */

.border-bottom,
.border-top {
  border-color: var(--border) !important;
}

footer.bg-light {
  background-color: #050708 !important;
  color: var(--muted) !important;
}

footer .text-muted,
.text-muted {
  color: var(--muted) !important;
}

.bg-light {
  background-color: var(--panel) !important;
  color: var(--text) !important;
}

/* Final hard overrides for Noggin / Bootstrap white areas */

body .bg-light,
body div.bg-light,
body footer.bg-light {
  background: var(--bg) !important;
  background-color: var(--bg) !important;
  color: var(--text) !important;
}

body .section,
body .container.section {
  background: transparent !important;
  color: var(--text) !important;
}

body .card,
body .card-header,
body .card-body,
body .tab-content,
body .tab-pane {
  background: var(--panel) !important;
  background-color: var(--panel) !important;
  color: var(--text) !important;
}

body footer,
body footer.bg-light {
  background: #050708 !important;
  background-color: #050708 !important;
}

/* Move login panel downward slightly */

.container.section .row > .col > .card {
  margin-top: 8rem !important;
}
