:root {
  --neon-bg: #080812;
  --neon-panel: #101020;
  --neon-border: rgba(142, 92, 255, 0.22);
  --neon-pink: #ff3fa4;
  --neon-cyan: #26d9ff;
  --neon-purple: #8e5cff;
  --text-soft: #74788d;
}

html { scroll-behavior: smooth; }
body.theme-neon {
  min-height: 100vh;
  background:
    radial-gradient(circle at 10% 0%, rgba(255, 63, 164, 0.10), transparent 35rem),
    radial-gradient(circle at 90% 10%, rgba(38, 217, 255, 0.12), transparent 32rem),
    #f6f7fb;
}

.bg-black-90 { background: rgba(5, 5, 12, 0.94); backdrop-filter: blur(10px); }
.border-neon-subtle { border-color: var(--neon-border) !important; }
.brand-mark { color: var(--neon-pink); text-shadow: 0 0 16px rgba(255, 63, 164, 0.9); }
.site-footer { background: rgba(255,255,255,0.7); }

.hero-panel {
  background:
    linear-gradient(135deg, rgba(16, 16, 32, 0.96), rgba(24, 13, 45, 0.94)),
    var(--neon-panel);
  color: #fff;
  border: 1px solid var(--neon-border);
}
.hero-panel .text-muted { color: rgba(255,255,255,0.72) !important; }
.stats-box { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); }

.badge-pink { color: #fff; background: linear-gradient(135deg, #ff2f92, #a855f7); }
.badge-cyan { color: #00121a; background: linear-gradient(135deg, #26d9ff, #8ff7ff); }
.badge-glow { color: #fff; background: linear-gradient(135deg, #6f42c1, #0d6efd); box-shadow: 0 0 14px rgba(111, 66, 193, .35); }
.badge-soft { color: #27314d; background: rgba(255,255,255,0.88); border: 1px solid rgba(39,49,77,0.12); }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; }

.filter-panel .form-select,
.filter-panel .form-control,
.filter-panel .input-group-text {
  border-color: rgba(39, 49, 77, 0.12);
}
.filter-panel .form-select:focus,
.filter-panel .form-control:focus {
  border-color: rgba(142, 92, 255, 0.55);
  box-shadow: 0 0 0 .2rem rgba(142, 92, 255, 0.10);
}

.model-card {
  border: 1px solid rgba(39, 49, 77, 0.10);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.model-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14) !important;
  border-color: rgba(142, 92, 255, 0.35);
}
.model-thumb { aspect-ratio: 4 / 3; background: #080812; }
.model-gradient {
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,.70) 0%, rgba(0,0,0,.08) 38%, rgba(0,0,0,.10) 62%, rgba(0,0,0,.82) 100%);
}
.stretched-link-safe { position: relative; z-index: 3; }
.grid-fade { transition: opacity .18s ease; }
.grid-fade.is-loading { opacity: .38; pointer-events: none; }

.page-link { color: var(--neon-purple); }
.active > .page-link { background: var(--neon-purple); border-color: var(--neon-purple); }

@media (max-width: 575.98px) {
  .display-6 { font-size: 2rem; }
  .pagination { flex-wrap: wrap; gap: .15rem; }
}
