/* BODMU Network UI — shared public and operations surface */
:root {
  --bodmu-ink: #080c14;
  --bodmu-ink-raised: #0d1420;
  --bodmu-surface: rgba(17, 26, 39, .9);
  --bodmu-line: rgba(148, 178, 214, .14);
  --bodmu-line-bright: rgba(107, 190, 255, .31);
  --bodmu-text: #e7eff8;
  --bodmu-muted: #8da0b8;
  --bodmu-signal: #62c5ff;
  --bodmu-amber: #f2b35b;
  --bodmu-radius: 14px;
  --bodmu-mono: "Cascadia Mono", Consolas, monospace;
  --bodmu-display: "Arial Narrow", "Roboto Condensed", "Segoe UI", sans-serif;
}

body.bodmu-ui {
  min-height: 100vh;
  color: var(--bodmu-text) !important;
  font-family: "Segoe UI", system-ui, sans-serif;
  background:
    radial-gradient(circle at 85% -5%, rgba(45, 125, 204, .22), transparent 33rem),
    radial-gradient(circle at 2% 45%, rgba(79, 193, 255, .08), transparent 26rem),
    var(--bodmu-ink) !important;
}

body.bodmu-ui::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: .34;
  background-image:
    linear-gradient(rgba(128, 185, 233, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(128, 185, 233, .035) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.bodmu-ui .theme-switch-wrapper { display: none; }
.bodmu-ui .container-fluid { max-width: 1540px; margin-left: auto; margin-right: auto; }

.bodmu-ui h1, .bodmu-ui h2, .bodmu-ui h3, .bodmu-ui h4, .bodmu-ui h5, .bodmu-ui h6 {
  color: var(--bodmu-text);
  font-family: var(--bodmu-display);
  font-weight: 800;
  letter-spacing: .045em;
}

.bodmu-ui .bg-secondary, .bodmu-ui .stats-card, .bodmu-ui .license-table,
.bodmu-ui .main-container, .bodmu-ui .stat-card {
  background: linear-gradient(145deg, rgba(20, 31, 47, .96), rgba(12, 19, 30, .96)) !important;
  border: 1px solid var(--bodmu-line) !important;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .19);
}

.bodmu-ui .rounded, .bodmu-ui .rounded-top, .bodmu-ui .stats-card,
.bodmu-ui .license-table, .bodmu-ui .main-container { border-radius: var(--bodmu-radius) !important; }
.bodmu-ui .rounded-top { border-bottom-left-radius: var(--bodmu-radius) !important; border-bottom-right-radius: var(--bodmu-radius) !important; }
.bodmu-ui .text-primary, .bodmu-ui .profile-name, .bodmu-ui .stat-card .stat-value { color: var(--bodmu-signal) !important; }
.bodmu-ui .text-muted, .bodmu-ui .profile-meta, .bodmu-ui .stat-card .stat-label, .bodmu-ui .login-note { color: var(--bodmu-muted) !important; }
.bodmu-ui a { color: var(--bodmu-signal); }
.bodmu-ui a:hover { color: #b8e7ff; }

.bodmu-ui .btn {
  border-radius: 8px;
  border-width: 1px;
  font-family: var(--bodmu-display);
  font-weight: 800;
  letter-spacing: .065em;
  text-transform: uppercase;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.bodmu-ui .btn:hover { transform: translateY(-1px); }
.bodmu-ui .btn-primary, .bodmu-ui .btn-danger {
  color: #04101b;
  background: linear-gradient(135deg, #83d8ff, #3f9be8);
  border-color: transparent;
  box-shadow: 0 8px 22px rgba(44, 152, 230, .2);
}
.bodmu-ui .btn-primary:hover, .bodmu-ui .btn-danger:hover, .bodmu-ui .btn-primary:focus, .bodmu-ui .btn-danger:focus {
  color: #02070c;
  background: linear-gradient(135deg, #b4eaff, #55aeef);
  border-color: transparent;
}
.bodmu-ui .btn-warning { color: #2b1900; background: var(--bodmu-amber); border-color: var(--bodmu-amber); }
.bodmu-ui .btn-success { color: #021b18; background: #64d6b6; border-color: #64d6b6; }
.bodmu-ui .btn-outline-light { color: #c9d9eb; background: rgba(142, 192, 234, .04); border-color: rgba(142, 192, 234, .22); }
.bodmu-ui .btn-outline-light:hover { color: #fff; background: rgba(110, 194, 250, .17); border-color: var(--bodmu-signal); }

.bodmu-ui .form-control, .bodmu-ui .form-select {
  color: var(--bodmu-text); background-color: rgba(4, 10, 18, .58);
  border-color: var(--bodmu-line-bright); border-radius: 8px;
}
.bodmu-ui .form-control:focus, .bodmu-ui .form-select:focus {
  color: var(--bodmu-text); background-color: rgba(4, 10, 18, .8);
  border-color: var(--bodmu-signal); box-shadow: 0 0 0 .2rem rgba(98, 197, 255, .13);
}

.bodmu-ui .table {
  --bs-table-bg: transparent; --bs-table-color: var(--bodmu-text);
  --bs-table-hover-color: #fff; --bs-table-hover-bg: rgba(101, 190, 249, .08);
  color: var(--bodmu-text) !important; border-color: var(--bodmu-line); font-size: .875rem;
}
.bodmu-ui .table > :not(caption) > * > * { border-color: var(--bodmu-line); }
.bodmu-ui .table thead th, .bodmu-ui .table-dark th {
  padding-top: .9rem; padding-bottom: .9rem; color: var(--bodmu-muted) !important;
  background: rgba(3, 9, 16, .45) !important; border-bottom: 1px solid var(--bodmu-line-bright) !important;
  font-family: var(--bodmu-mono); font-size: .67rem; font-weight: 700; letter-spacing: .095em;
}
.bodmu-ui .table tbody td { padding-top: .8rem; padding-bottom: .8rem; vertical-align: middle; }
.bodmu-ui .table-hover > tbody > tr:hover { --bs-table-accent-bg: rgba(101, 190, 249, .07); }

.bodmu-ui .stat-card { position: relative; overflow: hidden; min-height: 118px; border-radius: 11px !important; }
.bodmu-ui .stat-card::after, .bodmu-ui .stats-card::after {
  position: absolute; top: 0; right: 0; width: 42px; height: 2px; content: "";
  background: var(--bodmu-signal); box-shadow: 0 0 18px var(--bodmu-signal);
}
.bodmu-ui .stat-card .stat-label, .bodmu-ui .bg-secondary .mb-2 {
  font-family: var(--bodmu-mono); font-size: .67rem; font-weight: 700; letter-spacing: .1em;
}
.bodmu-ui .stat-card .stat-value, .bodmu-ui .bg-secondary h6.mb-01 {
  font-family: var(--bodmu-display); font-size: 1.7rem; font-weight: 800; letter-spacing: .03em;
}

.bodmu-masthead {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  max-width: 1540px; margin: 0 auto; padding: 1.1rem 1.5rem; border-bottom: 1px solid var(--bodmu-line);
}
.bodmu-brand {
  display: inline-flex; align-items: center; gap: .7rem; color: var(--bodmu-text) !important;
  font-family: var(--bodmu-display); font-size: 1rem; font-weight: 900; letter-spacing: .16em; text-decoration: none;
}
.bodmu-brand-mark {
  display: grid; width: 27px; height: 27px; place-items: center; color: #07111c; background: var(--bodmu-signal);
  clip-path: polygon(50% 0, 94% 25%, 94% 75%, 50% 100%, 6% 75%, 6% 25%); font-size: .72rem;
}
.bodmu-nav { display: flex; align-items: center; gap: .35rem; }
.bodmu-nav a {
  padding: .48rem .7rem; color: var(--bodmu-muted); border-radius: 6px; font-family: var(--bodmu-mono);
  font-size: .69rem; font-weight: 700; letter-spacing: .06em; text-decoration: none;
}
.bodmu-nav a:hover, .bodmu-nav a[aria-current="page"] { color: var(--bodmu-text); background: rgba(117, 199, 255, .1); }

.bodmu-home .bodmu-hero {
  display: flex; align-items: end; justify-content: space-between; gap: 1rem;
  margin: 2rem auto 0; padding: 0 1.5rem; max-width: 1540px;
}
.bodmu-eyebrow {
  margin: 0 0 .45rem; color: var(--bodmu-signal); font-family: var(--bodmu-mono); font-size: .68rem;
  font-weight: 700; letter-spacing: .13em; text-transform: uppercase;
}
.bodmu-hero h1 { margin: 0; font-size: clamp(1.8rem, 3.2vw, 3.05rem); letter-spacing: .02em; }
.bodmu-live {
  display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .7rem; color: #b9f6e4;
  background: rgba(56, 184, 145, .09); border: 1px solid rgba(94, 220, 179, .21); border-radius: 999px;
  font-family: var(--bodmu-mono); font-size: .68rem; font-weight: 700; letter-spacing: .06em;
}
.bodmu-live::before { width: 7px; height: 7px; content: ""; background: #72e2bd; border-radius: 50%; box-shadow: 0 0 0 4px rgba(114, 226, 189, .11); }
.bodmu-home .container-fluid.pt-4 { padding-top: 1.1rem !important; }

.bodmu-auth { display: grid !important; place-items: center; padding: 1.5rem; }
.bodmu-auth::before { opacity: .2; background-image: linear-gradient(rgba(128,185,233,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(128,185,233,.06) 1px, transparent 1px); }
.bodmu-auth .login-wrapper { max-width: 460px; }
.bodmu-auth .login-card {
  position: relative; overflow: hidden; padding: 3rem 2.6rem;
  background: linear-gradient(145deg, rgba(19, 31, 47, .97), rgba(8, 14, 24, .98));
  border: 1px solid var(--bodmu-line-bright); border-radius: 16px; box-shadow: 0 30px 80px rgba(0,0,0,.42);
}
.bodmu-auth .login-card::before { position: absolute; top: 0; left: 0; right: 0; height: 3px; content: ""; background: linear-gradient(90deg, transparent, var(--bodmu-signal), transparent); }
.bodmu-auth .login-logo { color: var(--bodmu-text); font-family: var(--bodmu-display); font-size: 2.25rem; letter-spacing: .18em; }
.bodmu-auth .login-sub { color: var(--bodmu-signal); font-family: var(--bodmu-mono); font-size: .68rem; letter-spacing: .14em; }
.bodmu-auth .login-divider { width: 100%; background: var(--bodmu-line); }
.bodmu-auth .discord-btn { background: #5865f2; border-radius: 8px; font-family: var(--bodmu-display); letter-spacing: .04em; }
.bodmu-auth .login-back a { color: var(--bodmu-muted); }

.bodmu-ui .profile-avatar { border-color: var(--bodmu-signal); box-shadow: 0 0 0 6px rgba(98, 197, 255, .08); }
.bodmu-ui .profile-avatar-placeholder { color: var(--bodmu-signal); background: rgba(6, 13, 23, .65); border-color: var(--bodmu-line-bright); }
.bodmu-ui .profile-discord { color: #98a6ff !important; }
.bodmu-ui .profile-badge { border-radius: 999px; }
.bodmu-ui .badge-rank { color: #031019; background: var(--bodmu-signal); }
.bodmu-ui .badge-prestige { color: #241600; background: var(--bodmu-amber); }

.bodmu-ui .main-container { margin-top: 1.5rem; padding: 1.5rem !important; }
.bodmu-ui .stats-card { position: relative; overflow: hidden; border-radius: 11px !important; }
.bodmu-ui .license-table { overflow: hidden; }
.bodmu-ui .card { color: var(--bodmu-text); background: #111b2a; border-color: var(--bodmu-line); }
.bodmu-ui .card-header { color: var(--bodmu-text); background: rgba(4, 10, 18, .44); border-bottom-color: var(--bodmu-line); }
.bodmu-ui .modal-content { color: var(--bodmu-text); background: var(--bodmu-ink-raised); border-color: var(--bodmu-line-bright); }

@media (max-width: 680px) {
  .bodmu-masthead { padding: .9rem 1rem; }
  .bodmu-brand { font-size: .86rem; }
  .bodmu-nav a { padding: .42rem .45rem; font-size: .61rem; }
  .bodmu-home .bodmu-hero { align-items: flex-start; flex-direction: column; margin-top: 1.25rem; padding: 0 1rem; }
  .bodmu-ui .container-fluid { padding-left: 1rem !important; padding-right: 1rem !important; }
  .bodmu-auth .login-card { padding: 2.4rem 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .bodmu-ui *, .bodmu-ui *::before, .bodmu-ui *::after { scroll-behavior: auto !important; transition: none !important; }
}
