:root {
  --bs-body-bg: #0f1216;
  --bs-body-color: #e6e6e6;
  --bs-body-tertiary-bg: #161a20;
}

body { background:
  radial-gradient(1200px 600px at 100% -10%, rgba(255, 184, 28, 0.08), transparent 60%),
  radial-gradient(900px 500px at -10% 110%, rgba(56, 132, 255, 0.08), transparent 60%),
  var(--bs-body-bg);
  min-height: 100vh;
}

.icon-img { image-rendering: pixelated; border-radius: 4px; background: #11161d; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05); }

.card { border-color: rgba(255,255,255,0.08); background: rgba(22,26,32,0.85); backdrop-filter: blur(6px); }
.card-header { background: rgba(255,255,255,0.03); border-bottom-color: rgba(255,255,255,0.06); font-weight: 600; }

.stat-card { transition: transform .15s ease, border-color .15s ease; }
.stat-card:hover { transform: translateY(-2px); border-color: rgba(255,184,28,.5) !important; }

.stats-grid th { background: rgba(255,255,255,0.03); font-weight: 500; color: #adb5bd; width: 18%; }

.badge.grade-ng { background: #6c757d; }
.badge.grade-d { background: #2d8d4f; color: #fff; }
.badge.grade-c { background: #208cd6; color: #fff; }
.badge.grade-b { background: #6f42c1; color: #fff; }
.badge.grade-a { background: #e0a020; color: #1b1b1b; }
.badge.grade-s, .badge.grade-s80, .badge.grade-s84 { background: linear-gradient(135deg,#ffb81c,#ff7b00); color: #1b1b1b; font-weight: 700; }

.table > :not(caption) > * > * { background: transparent; }
.table-hover > tbody > tr:hover > * { background: rgba(255,184,28,0.06) !important; }

.navbar-brand i { filter: drop-shadow(0 0 6px rgba(255,184,28,.4)); }

a { color: #ffd071; }
a:hover { color: #ffb81c; }
