/* Dark theme inspired by League of Legends UI */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&family=Bebas+Neue&display=swap');
:root {
  --bg-primary: #0d1117;
  --bg-secondary: #121722;
  --text-primary: #eef2ff;
  --text-secondary: #a5b4fc;
  --accent: #f3c623; /* gold */
  --accent-alt: #38bdf8; /* sky */
  --border-color: rgba(255,255,255,0.08);
  --space: 1.25rem;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;

  --shadow-sm: 0 6px 16px rgba(0,0,0,.24);
  --shadow-md: 0 10px 26px rgba(0,0,0,.28);
  --shadow-lg: 0 16px 42px rgba(0,0,0,.32);
}

html, body {
  height: 100%;
  font-family: 'Inter', sans-serif;
  margin: 0;
  background: var(--bg-primary);
  color: var(--text-primary);
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: var(--bg-primary);
  color: var(--text-primary);
  transition: background-color .15s ease, color .15s ease;
}
.uk-container-expand {
  flex: 1 0 auto;
}

/* Ensure navbar takes dark background */
.uk-navbar-container {
  background: rgba(22,27,34,0.8) !important;
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--border-color);
  position: sticky;
  top: 0;
  z-index: 1000;
}

/* --- Navbar Enhancements --- */
.uk-navbar-nav>li>a {
  color: var(--text-primary) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0.5px;
  padding: 8px 18px !important; /* more breathing room */
  transition: color 0.2s ease;
}
.uk-navbar-nav>li>a:hover,
.uk-navbar-nav>li>a:focus,
.uk-navbar-nav>li.uk-active>a {
  color: var(--accent-alt) !important;
  text-shadow: 0 0 4px rgba(30,108,255,0.6);
}

/* underline slider */
.uk-navbar-nav>li>a::after {
  content: "";
  display: block;
  height: 2px;
  width: 0;
  background: var(--accent);
  transition: width .2s ease;
  margin: auto;
}
.uk-navbar-nav>li.uk-active>a::after,
.uk-navbar-nav>li>a:hover::after {
  width: 100%;
}

/* Default page padding */
.uk-container,
.uk-container-expand {
  padding-left: 16px !important;
  padding-right: 16px !important;
  padding-top: 16px !important;
}

.container {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Card/section headings */
h1, h2, h3, h4, h5, h6 {
  color: var(--text-primary);
}

/* Headings display font */
h1, h2 {
  font-family: 'Bebas Neue', sans-serif;
  letter-spacing: 0.5px;
}

/* Forms */
form {
  padding: 16px 0;
}

/* white bg cards become dark secondary if needed */
.uk-card-default {
  background: var(--bg-secondary);
  color: var(--text-primary);
}

/* Buttons default */
.uk-button-default {
  background: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}
.uk-button-default:hover {
  background: var(--bg-primary);
}

/* UIkit overrides */
.uk-card,
.uk-navbar,
.uk-modal-dialog,
.uk-dropdown {
  background: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--border-color);
}

a {
  color: var(--accent-alt);
}
a:hover {
  color: var(--accent);
}

.uk-button-primary {
  background: linear-gradient(90deg,var(--accent) 0%,#ffd74f 100%);
  color: #000;
  border: none;
}
.uk-button-primary:hover {
  background-color: #d9a600;
  color: #000;
}

/* tables */
.uk-table th {
  color: var(--text-primary);
}
.uk-table tbody tr:nth-child(odd) {
  background: rgba(255,255,255,0.02);
}

.uk-table thead th { position: sticky; top: 0; background: var(--bg-secondary); z-index: 2; }
.num { text-align: right; font-variant-numeric: tabular-nums; }

/* Report utilities */
.report-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 1024px) { .report-grid { grid-template-columns: 1fr; } }
.report-title { font-weight: 700; letter-spacing: .2px; text-transform: none; }
.divider { height: 1px; background: rgba(255,255,255,.08); margin: 8px 0 16px; }

* {
  transition: background-color .15s ease, color .15s ease;
}

/* Hover highlight soften */
.uk-table-hover tbody tr:hover {
  background: rgba(255, 255, 255, 0.05) !important; /* subtle light */
}

/* input overrides */
.uk-input,
.uk-select,
.uk-textarea {
  background: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--border-color);
}

/* highlight code block for tournament code */
#tcode {
  background: var(--bg-secondary);
  font-family: monospace;
  text-align: center;
}

.uk-card {
  background: var(--bg-secondary);
  color: var(--text-primary);
  padding: 20px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: none;
}
.uk-card:hover { border-color: rgba(255,255,255,0.16); }
.uk-card-small.uk-card-body {
  padding: 24px;
}
.uk-card.uk-card-small {
  padding: 24px !important;
} 

/* Force dark card styling + spacing */
.uk-card-small,
.uk-card-small .uk-card-body,
.uk-card-small.uk-card-body,
.uk-card-default,
.uk-card-default .uk-card-body,
.uk-card-default.uk-card-body {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  padding: 24px !important;
  border-radius: 6px !important;
}

/* Gap between cards inside grid */
.uk-grid > .uk-card,
.uk-card + .uk-card {
  margin-bottom: 24px !important;
} 

/* Adjust grid so first column isn't flush left */
.uk-grid {
  margin-left: -16px !important; /* align grid items to container edge */
} 

/* Member list tweaks */
.uk-list-striped>li {
  padding: 8px 12px !important;
}
.uk-list-striped>li:nth-of-type(even) {
  background: rgba(255,255,255,0.02) !important;
}
.uk-list-striped>li:nth-of-type(odd) {
  background: rgba(255,255,255,0.04) !important;
}
.member-box {
  max-width: 640px;
} 

/* Footer */
.uk-section-secondary {
  background: var(--bg-secondary) !important;
  border-top: 1px solid var(--border-color);
}
.uk-icon-link {
  color: inherit !important;
  transition: color 0.2s ease, transform 0.1s ease;
}
.uk-icon-link:hover {
  transform: scale(1.15);
} 

/* ---------- “About” page specific styles ---------- */
.about-content{
  max-width:1200px;
  margin:0 auto;
  padding:2rem 0;
}
.about-content h1{
  font-size:2.5rem;
  font-weight:700;
  font-family:'Bebas Neue', sans-serif;
  color:#ffbf00!important;
  margin-bottom:1rem;
  text-align:center;
}
.about-content h2{
  font-size:1.75rem;
  font-weight:600;
  font-family:'Bebas Neue', sans-serif;
  color:#ffffff!important;
  margin-top:2.5rem;
  margin-bottom:1rem;
  padding-bottom:.5rem;
  border-bottom:2px solid #ffbf00;
  display:inline-block;
}
.about-content p{
  font-size:1.1rem;
  line-height:1.7;
  color:#e1e1e1!important;
  margin-bottom:1.5rem;
}
.about-content strong{color:#ffbf00!important;font-weight:600;}
.about-content a{
  color:#ffbf00!important;
  text-decoration:none;
  border-bottom:1px solid #ffbf00;
  transition:all .2s ease;
}
.about-content a:hover{
  color:#ffd74f!important;
  border-bottom-color:#ffd74f;
}
.about-content em{color:#ffbf00!important;font-style:italic;}
.welcome-message{
  background:linear-gradient(135deg,rgba(255,191,0,.1) 0%,rgba(255,215,79,.05) 100%)!important;
  border-left:4px solid #ffbf00;
  padding:1.5rem;
  margin:2rem 0;
  border-radius:0 8px 8px 0;
}
.section-highlight{
  background:rgba(255,255,255,.02)!important;
  border-radius:8px;
  padding:1.5rem;
  margin:1.5rem 0;
  border:1px solid rgba(255,255,255,.1);
}

/* ---------- Navbar Dropdown Positioning Fix ---------- */
.uk-navbar-dropdown {
  margin-top: 0 !important;
  top: 100% !important;
  position: absolute !important;
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
  min-width: 200px !important;
}

.uk-navbar-dropdown-nav > li > a {
  color: var(--text-primary) !important;
  padding: 8px 16px !important;
  display: block !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease !important;
}

.uk-navbar-dropdown-nav > li > a:hover {
  background: rgba(255,191,0,0.1) !important;
  color: var(--accent) !important;
}

.hero-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 32px;
  margin-bottom: 24px;
}

.hero-logo img {
  max-width: min(95vw, 800px);
  height: auto;
  animation: fadeUp 0.4s ease-out;
}

/* Optional entrance effect */
@keyframes fadeUp {
from { opacity: 0; transform: translateY(6px); }
to   { opacity: 1; transform: translateY(0); }
}

/* ------------------ GAMER EDGE ENHANCEMENTS ------------------ */

/* Neon text glow on links and navbar items */


/* Card hover scale & glow */
.uk-card-hover:hover, .uk-card.uk-card-hover:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 0 8px rgba(255,191,0,0.2), 0 8px 24px rgba(0,0,0,0.4);
}

/* Animated gradient underline sweep for navbar links */
.uk-navbar-nav>li>a::after {
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-alt) 100%);
}

/* Primary button ripple effect */
.uk-button-primary {
  position: relative;
  overflow: hidden;
}

.uk-button-primary::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255,255,255,0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width .4s ease-out, height .4s ease-out;
}

.uk-button-primary:hover::after {
  width: 250%;
  height: 250%;
  opacity: 0;
}

/* Fade-in up animation utility */
@keyframes fadeInUp {
  from { opacity:0; transform: translateY(12px); }
  to   { opacity:1; transform: translateY(0); }
}

/* Apply to any element: <div data-animate style="--delay:1"> */
[data-animate] {
  opacity: 0;
  animation: fadeInUp 0.6s ease-out forwards;
  animation-delay: calc(var(--delay,0) * 0.1s);
}

/* --------------- HERO SECTION ---------------- */
.hero-section {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at top left, rgba(0,89,112,0.85) 0%, rgba(13,17,23,1) 75%);
  padding: calc(var(--space) * 3) 0;
  border-bottom: 1px solid var(--border-color);
}

/* --------------- Profile: Champion bubble list ---------------- */
.champ-bubble-img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border-color);
}

.champ-bubble-row {
  display: flex;
  align-items: center;
}

.champ-bubble-list {
  display: flex;
  flex-wrap: wrap;
}

/* --------------- Admin: compact row actions dropdown ----------- */
.admin-actions .uk-dropdown {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 6px !important;
  min-width: 160px;
  padding: 6px 0 !important;
}

.admin-actions .uk-dropdown-nav > li > a,
.admin-actions .dropdown-link {
  color: var(--text-primary) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  padding: 6px 10px !important;
  display: block !important;
}

.admin-actions .dropdown-link { text-decoration: none !important; }

.admin-actions .uk-dropdown-nav > li > a:hover,
.admin-actions .dropdown-link:hover {
  background: rgba(255,255,255,0.06) !important;
  color: var(--accent) !important;
}

/* fade-out at bottom of hero so gradient blends */
.hero-section::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 120px;
  background: linear-gradient(to bottom, rgba(13,17,23,0) 0%, var(--bg-primary) 100%);
  pointer-events: none;
}

.hero-section h1 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(2.5rem, 6vw, 4rem);
  margin: 0 0 var(--space) 0;
  line-height: 1.1;
  letter-spacing: 0.5px;
}

.hero-section p {
  font-size: 1.125rem;
  color: var(--text-secondary);
  max-width: 38ch;
}

@media (max-width: 640px) {
  .hero-section { text-align: center; }
}