/* PLATLAS rebuild — red re-theme of the ANL/Bootstrap look, + app-specific bits.
   ANL uses Bootstrap 5 with a blue (#0d6efd) primary; we override the primary to red
   and keep genome-wide-significant highlights a distinct neon red so they don't blend. */

:root,
[data-bs-theme="dark"] {
  --bs-primary: #d62839;
  --bs-primary-rgb: 214, 40, 57;
  --bs-primary-text-emphasis: #ff8a96;
  --bs-primary-bg-subtle: #2a0d10;
  --bs-primary-border-subtle: #5a1a20;
  --bs-link-color: #ff5a6a;
  --bs-link-color-rgb: 255, 90, 106;
  --bs-link-hover-color: #ff8a96;
  --bs-link-hover-color-rgb: 255, 138, 150;
}
[data-bs-theme="dark"] {
  --bs-body-bg: #0d0f12;
  --bs-body-color: #e7edf5;
  --bs-tertiary-bg: #14171d;
  --bs-secondary-bg: #1b2027;
  --bs-border-color: #2a313b;
  --bs-emphasis-color: #ffffff;
}

/* buttons/links where ANL uses "primary" -> red */
.btn-primary {
  --bs-btn-bg: #d62839; --bs-btn-border-color: #d62839;
  --bs-btn-hover-bg: #b81f2f; --bs-btn-hover-border-color: #b81f2f;
  --bs-btn-active-bg: #a01a29; --bs-btn-active-border-color: #a01a29;
  --bs-btn-disabled-bg: #d62839; --bs-btn-disabled-border-color: #d62839;
}
.btn-outline-primary {
  --bs-btn-color: #ff5a6a; --bs-btn-border-color: #d62839;
  --bs-btn-hover-bg: #d62839; --bs-btn-hover-border-color: #d62839; --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #d62839; --bs-btn-active-border-color: #d62839;
}
.text-primary { color: #ff5a6a !important; }
.bg-primary { background-color: #d62839 !important; }
.border-primary { border-color: #d62839 !important; }
.nav-pills { --bs-nav-pills-link-active-bg: #d62839; }
.form-control:focus, .form-select:focus {
  border-color: #d62839; box-shadow: 0 0 0 .2rem rgba(214, 40, 57, .25);
}
.form-check-input:checked { background-color: #d62839; border-color: #d62839; }
a { text-decoration: none; }

/* brand / navbar */
.navbar { background: linear-gradient(180deg, #14161b, #0d0f12); border-bottom: 1px solid #2a313b; }
.brand-logo { height: 40px; width: 40px; object-fit: contain; filter: drop-shadow(0 0 6px rgba(255, 60, 70, .55)); }
.navbar-brand { display: flex; align-items: center; gap: .6rem; font-weight: 800; letter-spacing: .5px; }
.navbar-brand .sub { font-size: .68rem; color: #8b9bb0; font-weight: 500; letter-spacing: .4px; }
.nav-link.active { color: #ff5a6a !important; }

/* hero */
.hero { background: radial-gradient(1100px 380px at 50% -100px, rgba(214, 40, 57, .20), transparent 70%); border-bottom: 1px solid #2a313b; }
.hero-logo { width: 132px; height: 132px; object-fit: contain; filter: drop-shadow(0 0 20px rgba(255, 50, 60, .5)); }
.hero h1 { font-weight: 800; letter-spacing: 1px; }

/* significant highlight — distinct neon red (not the theme primary) */
.sig { color: #ff4d4d; font-weight: 700; }
.badge-sig { background: #ff4d4d; color: #160406; box-shadow: 0 0 8px rgba(255, 77, 77, .6); }

/* stats / tables / misc */
.mono { font-family: "SF Mono", ui-monospace, "Cascadia Code", Consolas, monospace; }
.stat b { display: block; font-size: 1.55rem; line-height: 1; color: #fff; }
.stat span { font-size: .68rem; text-transform: uppercase; letter-spacing: .5px; color: #8b9bb0; }
.table { --bs-table-bg: transparent; font-size: .9rem; }
.table thead th { font-size: .72rem; text-transform: uppercase; letter-spacing: .5px; color: #8b9bb0; }
canvas.manhattan { width: 100%; display: block; border-radius: 8px; background: #0a0c10; border: 1px solid #2a313b; }
.click { cursor: pointer; }
.click:hover > td { background: rgba(214, 40, 57, .08); }
.plbar { height: 6px; background: #232a34; border-radius: 4px; overflow: hidden; }
.plbar > i { display: block; height: 100%; background: linear-gradient(90deg, #d62839, #ff7a52); }
.searchdrop { position: absolute; z-index: 40; left: 0; right: 0; margin-top: 4px; max-height: 320px; overflow: auto; }
.footer { color: #6c7c92; font-size: .8rem; border-top: 1px solid #2a313b; }
